Regen client against juju-2.0.2
[osm/N2VC.git] / juju / client / schemas.json
index 0c19648..1191024 100644 (file)
         "ActionSpec": {
           "type": "object",
           "properties": {
-            "Description": {
+            "description": {
               "type": "string"
             },
-            "Params": {
+            "params": {
               "type": "object",
               "patternProperties": {
                 ".*": {
           },
           "additionalProperties": false,
           "required": [
-            "Description",
-            "Params"
+            "description",
+            "params"
           ]
         },
         "Actions": {
           "type": "object",
           "properties": {
-            "ActionSpecs": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/ActionSpec"
-                }
+            "actions": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/Action"
               }
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "ActionSpecs"
-          ]
+          "additionalProperties": false
         },
         "ActionsByName": {
           "type": "object",
         "ApplicationCharmActionsResult": {
           "type": "object",
           "properties": {
-            "ApplicationTag": {
-              "type": "string"
-            },
             "actions": {
-              "$ref": "#/definitions/Actions"
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "$ref": "#/definitions/ActionSpec"
+                }
+              }
+            },
+            "application-tag": {
+              "type": "string"
             },
             "error": {
               "$ref": "#/definitions/Error"
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "RunParams": {
           "type": "object",
           "properties": {
-            "Applications": {
+            "applications": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "Commands": {
+            "commands": {
               "type": "string"
             },
-            "Machines": {
+            "machines": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "Timeout": {
+            "timeout": {
               "type": "integer"
             },
-            "Units": {
+            "units": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "Commands",
-            "Timeout",
-            "Machines",
-            "Applications",
-            "Units"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "commands",
+            "timeout"
           ]
         }
       }
     }
   },
   {
-    "Name": "Addresser",
+    "Name": "Agent",
     "Version": 2,
     "Schema": {
       "type": "object",
       "properties": {
-        "CanDeallocateAddresses": {
+        "ClearReboot": {
           "type": "object",
           "properties": {
+            "Params": {
+              "$ref": "#/definitions/Entities"
+            },
             "Result": {
-              "$ref": "#/definitions/BoolResult"
+              "$ref": "#/definitions/ErrorResults"
             }
           }
         },
-        "CleanupIPAddresses": {
+        "CloudSpec": {
           "type": "object",
           "properties": {
+            "Params": {
+              "$ref": "#/definitions/Entities"
+            },
             "Result": {
-              "$ref": "#/definitions/ErrorResult"
+              "$ref": "#/definitions/CloudSpecResults"
             }
           }
         },
-        "WatchIPAddresses": {
+        "ControllerConfig": {
           "type": "object",
           "properties": {
             "Result": {
-              "$ref": "#/definitions/EntitiesWatchResult"
+              "$ref": "#/definitions/ControllerConfigResult"
             }
           }
-        }
-      },
-      "definitions": {
-        "BoolResult": {
-          "type": "object",
-          "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
-            "Result": {
-              "type": "boolean"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Error",
-            "Result"
-          ]
-        },
-        "EntitiesWatchResult": {
-          "type": "object",
-          "properties": {
-            "Changes": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "EntityWatcherId": {
-              "type": "string"
-            },
-            "Error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "EntityWatcherId",
-            "Changes",
-            "Error"
-          ]
-        },
-        "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"
-            },
-            "MacaroonPath": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ErrorResult": {
-          "type": "object",
-          "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
         },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
-          ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Agent",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "ClearReboot": {
+        "GetCloudSpec": {
           "type": "object",
           "properties": {
             "Params": {
-              "$ref": "#/definitions/Entities"
+              "$ref": "#/definitions/ModelTag"
             },
             "Result": {
-              "$ref": "#/definitions/ErrorResults"
+              "$ref": "#/definitions/CloudSpecResult"
             }
           }
         },
             }
           }
         },
+        "WatchCredentials": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/Entities"
+            },
+            "Result": {
+              "$ref": "#/definitions/NotifyWatchResults"
+            }
+          }
+        },
         "WatchForModelConfigChanges": {
           "type": "object",
           "properties": {
         "AgentGetEntitiesResult": {
           "type": "object",
           "properties": {
-            "ContainerType": {
+            "container-type": {
               "type": "string"
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Jobs": {
+            "jobs": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "Life": {
+            "life": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Life",
-            "Jobs",
-            "ContainerType",
-            "Error"
+            "life",
+            "jobs",
+            "container-type"
           ]
         },
         "AgentGetEntitiesResults": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/AgentGetEntitiesResult"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
-        "Entities": {
+        "CloudCredential": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "attrs": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "type": "string"
+                }
+              }
+            },
+            "auth-type": {
+              "type": "string"
+            },
+            "redacted": {
               "type": "array",
               "items": {
-                "$ref": "#/definitions/Entity"
+                "type": "string"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "auth-type"
           ]
         },
-        "Entity": {
+        "CloudSpec": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "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
+        },
+        "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"
+            "tag"
           ]
         },
         "EntityPassword": {
           "type": "object",
           "properties": {
-            "Password": {
+            "password": {
               "type": "string"
             },
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag",
-            "Password"
+            "tag",
+            "password"
           ]
         },
         "EntityPasswords": {
           "type": "object",
           "properties": {
-            "Changes": {
+            "changes": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/EntityPassword"
           },
           "additionalProperties": false,
           "required": [
-            "Changes"
+            "changes"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "IsMasterResult": {
           "type": "object",
           "properties": {
-            "Master": {
+            "master": {
               "type": "boolean"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Master"
+            "master"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "ModelConfigResult": {
           "type": "object",
           "properties": {
-            "Config": {
+            "config": {
               "type": "object",
               "patternProperties": {
                 ".*": {
           },
           "additionalProperties": false,
           "required": [
-            "Config"
+            "config"
           ]
         },
+        "ModelTag": {
+          "type": "object",
+          "additionalProperties": false
+        },
         "NotifyWatchResult": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
             "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": [
-            "NotifyWatcherId",
-            "Error"
+            "results"
           ]
         },
         "StateServingInfo": {
           "type": "object",
           "properties": {
-            "APIPort": {
+            "api-port": {
               "type": "integer"
             },
-            "CAPrivateKey": {
+            "ca-private-key": {
               "type": "string"
             },
-            "Cert": {
+            "cert": {
               "type": "string"
             },
-            "PrivateKey": {
+            "private-key": {
               "type": "string"
             },
-            "SharedSecret": {
+            "shared-secret": {
               "type": "string"
             },
-            "StatePort": {
+            "state-port": {
               "type": "integer"
             },
-            "SystemIdentity": {
+            "system-identity": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "APIPort",
-            "StatePort",
-            "Cert",
-            "PrivateKey",
-            "CAPrivateKey",
-            "SharedSecret",
-            "SystemIdentity"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "api-port",
+            "state-port",
+            "cert",
+            "private-key",
+            "ca-private-key",
+            "shared-secret",
+            "system-identity"
           ]
         }
       }
         "AllWatcherNextResults": {
           "type": "object",
           "properties": {
-            "Deltas": {
+            "deltas": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Delta"
           },
           "additionalProperties": false,
           "required": [
-            "Deltas"
+            "deltas"
           ]
         },
         "Delta": {
           "type": "object",
           "properties": {
-            "Entity": {
+            "entity": {
               "type": "object",
               "additionalProperties": true
             },
-            "Removed": {
+            "removed": {
               "type": "boolean"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Removed",
-            "Entity"
+            "removed",
+            "entity"
           ]
         }
       }
         "AllWatcherNextResults": {
           "type": "object",
           "properties": {
-            "Deltas": {
+            "deltas": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Delta"
           },
           "additionalProperties": false,
           "required": [
-            "Deltas"
+            "deltas"
           ]
         },
         "Delta": {
           "type": "object",
           "properties": {
-            "Entity": {
+            "entity": {
               "type": "object",
               "additionalProperties": true
             },
-            "Removed": {
+            "removed": {
               "type": "boolean"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Removed",
-            "Entity"
+            "removed",
+            "entity"
           ]
         }
       }
         "AnnotationsGetResult": {
           "type": "object",
           "properties": {
-            "Annotations": {
+            "annotations": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "EntityTag": {
+            "entity": {
               "type": "string"
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/ErrorResult"
             }
           },
           "additionalProperties": false,
           "required": [
-            "EntityTag",
-            "Annotations",
-            "Error"
+            "entity",
+            "annotations"
           ]
         },
         "AnnotationsGetResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/AnnotationsGetResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "AnnotationsSet": {
           "type": "object",
           "properties": {
-            "Annotations": {
+            "annotations": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/EntityAnnotations"
           },
           "additionalProperties": false,
           "required": [
-            "Annotations"
+            "annotations"
           ]
         },
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "EntityAnnotations": {
           "type": "object",
           "properties": {
-            "Annotations": {
+            "annotations": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "EntityTag": {
+            "entity": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "EntityTag",
-            "Annotations"
+            "entity",
+            "annotations"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
-          ]
+          "additionalProperties": false
         }
       }
     }
   },
   {
     "Name": "Application",
-    "Version": 1,
+    "Version": 3,
     "Schema": {
       "type": "object",
       "properties": {
         "AddApplicationUnits": {
           "type": "object",
           "properties": {
-            "ApplicationName": {
+            "application": {
               "type": "string"
             },
-            "NumUnits": {
+            "num-units": {
               "type": "integer"
             },
-            "Placement": {
+            "placement": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Placement"
           },
           "additionalProperties": false,
           "required": [
-            "ApplicationName",
-            "NumUnits",
-            "Placement"
+            "application",
+            "num-units",
+            "placement"
           ]
         },
         "AddApplicationUnitsResults": {
           "type": "object",
           "properties": {
-            "Units": {
+            "units": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "Units"
+            "units"
           ]
         },
         "AddRelation": {
           "type": "object",
           "properties": {
-            "Endpoints": {
+            "endpoints": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "Endpoints"
+            "endpoints"
           ]
         },
         "AddRelationResults": {
           "type": "object",
           "properties": {
-            "Endpoints": {
+            "endpoints": {
               "type": "object",
               "patternProperties": {
                 ".*": {
-                  "$ref": "#/definitions/Relation"
+                  "$ref": "#/definitions/CharmRelation"
                 }
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "Endpoints"
+            "endpoints"
           ]
         },
         "ApplicationCharmRelations": {
           "type": "object",
           "properties": {
-            "ApplicationName": {
+            "application": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "ApplicationName"
+            "application"
           ]
         },
         "ApplicationCharmRelationsResults": {
           "type": "object",
           "properties": {
-            "CharmRelations": {
+            "charm-relations": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "CharmRelations"
+            "charm-relations"
           ]
         },
         "ApplicationDeploy": {
           "type": "object",
           "properties": {
-            "ApplicationName": {
+            "application": {
               "type": "string"
             },
-            "Channel": {
+            "channel": {
               "type": "string"
             },
-            "CharmUrl": {
+            "charm-url": {
               "type": "string"
             },
-            "Config": {
+            "config": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "ConfigYAML": {
+            "config-yaml": {
               "type": "string"
             },
-            "Constraints": {
+            "constraints": {
               "$ref": "#/definitions/Value"
             },
-            "EndpointBindings": {
+            "endpoint-bindings": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "NumUnits": {
+            "num-units": {
               "type": "integer"
             },
-            "Placement": {
+            "placement": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Placement"
               }
             },
-            "Resources": {
+            "resources": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "Series": {
+            "series": {
               "type": "string"
             },
-            "Storage": {
+            "storage": {
               "type": "object",
               "patternProperties": {
                 ".*": {
           },
           "additionalProperties": false,
           "required": [
-            "ApplicationName",
-            "Series",
-            "CharmUrl",
-            "Channel",
-            "NumUnits",
-            "Config",
-            "ConfigYAML",
-            "Constraints",
-            "Placement",
-            "Storage",
-            "EndpointBindings",
-            "Resources"
+            "application",
+            "series",
+            "charm-url",
+            "channel",
+            "num-units",
+            "config-yaml",
+            "constraints"
           ]
         },
         "ApplicationDestroy": {
           "type": "object",
           "properties": {
-            "ApplicationName": {
+            "application": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "ApplicationName"
+            "application"
           ]
         },
         "ApplicationExpose": {
           "type": "object",
           "properties": {
-            "ApplicationName": {
+            "application": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "ApplicationName"
+            "application"
           ]
         },
         "ApplicationGet": {
           "type": "object",
           "properties": {
-            "ApplicationName": {
+            "application": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "ApplicationName"
+            "application"
           ]
         },
         "ApplicationGetResults": {
           "type": "object",
           "properties": {
-            "Application": {
+            "application": {
               "type": "string"
             },
-            "Charm": {
+            "charm": {
               "type": "string"
             },
-            "Config": {
+            "config": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "Constraints": {
+            "constraints": {
               "$ref": "#/definitions/Value"
+            },
+            "series": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Application",
-            "Charm",
-            "Config",
-            "Constraints"
+            "application",
+            "charm",
+            "config",
+            "constraints",
+            "series"
           ]
         },
         "ApplicationMetricCredential": {
           "type": "object",
           "properties": {
-            "ApplicationName": {
+            "application": {
               "type": "string"
             },
-            "MetricCredentials": {
+            "metrics-credentials": {
               "type": "array",
               "items": {
                 "type": "integer"
           },
           "additionalProperties": false,
           "required": [
-            "ApplicationName",
-            "MetricCredentials"
+            "application",
+            "metrics-credentials"
           ]
         },
         "ApplicationMetricCredentials": {
           "type": "object",
           "properties": {
-            "Creds": {
+            "creds": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ApplicationMetricCredential"
           },
           "additionalProperties": false,
           "required": [
-            "Creds"
+            "creds"
           ]
         },
         "ApplicationSet": {
           "type": "object",
           "properties": {
-            "ApplicationName": {
+            "application": {
               "type": "string"
             },
-            "Options": {
+            "options": {
               "type": "object",
               "patternProperties": {
                 ".*": {
           },
           "additionalProperties": false,
           "required": [
-            "ApplicationName",
-            "Options"
+            "application",
+            "options"
           ]
         },
         "ApplicationSetCharm": {
           "type": "object",
           "properties": {
-            "applicationname": {
+            "application": {
               "type": "string"
             },
-            "charmurl": {
+            "channel": {
               "type": "string"
             },
-            "cs-channel": {
+            "charm-url": {
               "type": "string"
             },
-            "forceseries": {
+            "config-settings": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "type": "string"
+                }
+              }
+            },
+            "config-settings-yaml": {
+              "type": "string"
+            },
+            "force-series": {
               "type": "boolean"
             },
-            "forceunits": {
+            "force-units": {
               "type": "boolean"
             },
-            "resourceids": {
+            "resource-ids": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                   "type": "string"
                 }
               }
+            },
+            "storage-constraints": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "$ref": "#/definitions/StorageConstraints"
+                }
+              }
             }
           },
           "additionalProperties": false,
           "required": [
-            "applicationname",
-            "charmurl",
-            "cs-channel",
-            "forceunits",
-            "forceseries",
-            "resourceids"
+            "application",
+            "charm-url",
+            "channel",
+            "force-units",
+            "force-series"
           ]
         },
         "ApplicationUnexpose": {
           "type": "object",
           "properties": {
-            "ApplicationName": {
+            "application": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "ApplicationName"
+            "application"
           ]
         },
         "ApplicationUnset": {
           "type": "object",
           "properties": {
-            "ApplicationName": {
+            "application": {
               "type": "string"
             },
-            "Options": {
+            "options": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "ApplicationName",
-            "Options"
+            "application",
+            "options"
           ]
         },
         "ApplicationUpdate": {
           "type": "object",
           "properties": {
-            "ApplicationName": {
+            "application": {
               "type": "string"
             },
-            "CharmUrl": {
+            "charm-url": {
               "type": "string"
             },
-            "Constraints": {
+            "constraints": {
               "$ref": "#/definitions/Value"
             },
-            "ForceCharmUrl": {
+            "force-charm-url": {
               "type": "boolean"
             },
-            "ForceSeries": {
+            "force-series": {
               "type": "boolean"
             },
-            "MinUnits": {
+            "min-units": {
               "type": "integer"
             },
-            "SettingsStrings": {
+            "settings": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "SettingsYAML": {
+            "settings-yaml": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "ApplicationName",
-            "CharmUrl",
-            "ForceCharmUrl",
-            "ForceSeries",
-            "MinUnits",
-            "SettingsStrings",
-            "SettingsYAML",
-            "Constraints"
+            "application",
+            "charm-url",
+            "force-charm-url",
+            "force-series",
+            "settings-yaml"
           ]
         },
         "ApplicationsDeploy": {
           "type": "object",
           "properties": {
-            "Applications": {
+            "applications": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ApplicationDeploy"
           },
           "additionalProperties": false,
           "required": [
-            "Applications"
+            "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"
           ]
         },
         "Constraints": {
         "DestroyApplicationUnits": {
           "type": "object",
           "properties": {
-            "UnitNames": {
+            "unit-names": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "UnitNames"
+            "unit-names"
           ]
         },
         "DestroyRelation": {
           "type": "object",
           "properties": {
-            "Endpoints": {
+            "endpoints": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "Endpoints"
+            "endpoints"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "GetApplicationConstraints": {
           "type": "object",
           "properties": {
-            "ApplicationName": {
+            "application": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "ApplicationName"
+            "application"
           ]
         },
         "GetConstraintsResults": {
           "type": "object",
           "properties": {
-            "Constraints": {
+            "constraints": {
               "$ref": "#/definitions/Value"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Constraints"
+            "constraints"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "Placement": {
           "type": "object",
           "properties": {
-            "Directive": {
+            "directive": {
               "type": "string"
             },
-            "Scope": {
+            "scope": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Scope",
-            "Directive"
+            "scope",
+            "directive"
           ]
         },
-        "Relation": {
+        "SetConstraints": {
           "type": "object",
           "properties": {
-            "Interface": {
+            "application": {
               "type": "string"
             },
-            "Limit": {
-              "type": "integer"
-            },
-            "Name": {
-              "type": "string"
-            },
-            "Optional": {
-              "type": "boolean"
-            },
-            "Role": {
-              "type": "string"
-            },
-            "Scope": {
-              "type": "string"
+            "constraints": {
+              "$ref": "#/definitions/Value"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Name",
-            "Role",
-            "Interface",
-            "Optional",
-            "Limit",
-            "Scope"
+            "application",
+            "constraints"
           ]
         },
-        "SetConstraints": {
+        "StorageConstraints": {
           "type": "object",
           "properties": {
-            "ApplicationName": {
+            "count": {
+              "type": "integer"
+            },
+            "pool": {
               "type": "string"
             },
-            "Constraints": {
-              "$ref": "#/definitions/Value"
+            "size": {
+              "type": "integer"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "ApplicationName",
-            "Constraints"
-          ]
+          "additionalProperties": false
         },
         "StringResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Result"
+            "result"
           ]
         },
         "Value": {
             "container": {
               "type": "string"
             },
-            "cpu-cores": {
+            "cores": {
               "type": "integer"
             },
             "cpu-power": {
             }
           },
           "additionalProperties": false
+        }
+      }
+    }
+  },
+  {
+    "Name": "ApplicationRelationsWatcher",
+    "Version": 1,
+    "Schema": {
+      "type": "object",
+      "properties": {
+        "Next": {
+          "type": "object",
+          "properties": {
+            "Result": {
+              "$ref": "#/definitions/ApplicationRelationsWatchResult"
+            }
+          }
+        },
+        "Stop": {
+          "type": "object"
+        }
+      },
+      "definitions": {
+        "ApplicationRelationsChange": {
+          "type": "object",
+          "properties": {
+            "changed": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/RelationChange"
+              }
+            },
+            "removed": {
+              "type": "array",
+              "items": {
+                "type": "integer"
+              }
+            }
+          },
+          "additionalProperties": false
         },
-        "caveat": {
+        "ApplicationRelationsWatchResult": {
           "type": "object",
           "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
+            "ApplicationRelationsWatcherId": {
+              "type": "string"
             },
-            "location": {
-              "$ref": "#/definitions/packet"
+            "changes": {
+              "$ref": "#/definitions/ApplicationRelationsChange"
             },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "location",
-            "caveatId",
-            "verificationId"
+            "ApplicationRelationsWatcherId"
           ]
         },
-        "packet": {
+        "Error": {
           "type": "object",
           "properties": {
-            "headerLen": {
-              "type": "integer"
+            "code": {
+              "type": "string"
             },
-            "start": {
-              "type": "integer"
+            "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
+        },
+        "RelationChange": {
+          "type": "object",
+          "properties": {
+            "changedunits": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "$ref": "#/definitions/RelationUnitChange"
+                }
+              }
+            },
+            "departedunits": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
             },
-            "totalLen": {
+            "id": {
               "type": "integer"
+            },
+            "life": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "id",
+            "life"
           ]
+        },
+        "RelationUnitChange": {
+          "type": "object",
+          "properties": {
+            "settings": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "type": "object",
+                  "additionalProperties": true
+                }
+              }
+            }
+          },
+          "additionalProperties": false
         }
       }
     }
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "StringsWatchResult": {
           "type": "object",
           "properties": {
-            "Changes": {
+            "changes": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "StringsWatcherId": {
+            "watcher-id": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "StringsWatcherId",
-            "Changes",
-            "Error"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "watcher-id"
           ]
         }
       }
         "BackupsCreateArgs": {
           "type": "object",
           "properties": {
-            "Notes": {
+            "notes": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Notes"
+            "notes"
           ]
         },
         "BackupsInfoArgs": {
           "type": "object",
           "properties": {
-            "ID": {
+            "id": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "ID"
+            "id"
           ]
         },
         "BackupsListArgs": {
         "BackupsListResult": {
           "type": "object",
           "properties": {
-            "List": {
+            "list": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/BackupsMetadataResult"
           },
           "additionalProperties": false,
           "required": [
-            "List"
+            "list"
           ]
         },
         "BackupsMetadataResult": {
           "type": "object",
           "properties": {
-            "CACert": {
+            "ca-cert": {
               "type": "string"
             },
-            "CAPrivateKey": {
+            "ca-private-key": {
               "type": "string"
             },
-            "Checksum": {
+            "checksum": {
               "type": "string"
             },
-            "ChecksumFormat": {
+            "checksum-format": {
               "type": "string"
             },
-            "Finished": {
+            "finished": {
               "type": "string",
               "format": "date-time"
             },
-            "Hostname": {
+            "hostname": {
               "type": "string"
             },
-            "ID": {
+            "id": {
               "type": "string"
             },
-            "Machine": {
+            "machine": {
               "type": "string"
             },
-            "Model": {
+            "model": {
               "type": "string"
             },
-            "Notes": {
+            "notes": {
               "type": "string"
             },
-            "Series": {
+            "series": {
               "type": "string"
             },
-            "Size": {
+            "size": {
               "type": "integer"
             },
-            "Started": {
+            "started": {
               "type": "string",
               "format": "date-time"
             },
-            "Stored": {
+            "stored": {
               "type": "string",
               "format": "date-time"
             },
-            "Version": {
+            "version": {
               "$ref": "#/definitions/Number"
             }
           },
           "additionalProperties": false,
           "required": [
-            "ID",
-            "Checksum",
-            "ChecksumFormat",
-            "Size",
-            "Stored",
-            "Started",
-            "Finished",
-            "Notes",
-            "Model",
-            "Machine",
-            "Hostname",
-            "Version",
-            "Series",
-            "CACert",
-            "CAPrivateKey"
+            "id",
+            "checksum",
+            "checksum-format",
+            "size",
+            "stored",
+            "started",
+            "finished",
+            "notes",
+            "model",
+            "machine",
+            "hostname",
+            "version",
+            "series",
+            "ca-cert",
+            "ca-private-key"
           ]
         },
         "BackupsRemoveArgs": {
           "type": "object",
           "properties": {
-            "ID": {
+            "id": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "ID"
+            "id"
           ]
         },
         "Number": {
         "RestoreArgs": {
           "type": "object",
           "properties": {
-            "BackupId": {
+            "backup-id": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "BackupId"
+            "backup-id"
           ]
         }
       }
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "Macaroon": {
+          "type": "object",
+          "additionalProperties": false
+        }
+      }
+    }
+  },
+  {
+    "Name": "Bundle",
+    "Version": 1,
+    "Schema": {
+      "type": "object",
+      "properties": {
+        "GetChanges": {
           "type": "object",
           "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
+            "Params": {
+              "$ref": "#/definitions/BundleChangesParams"
             },
-            "data": {
+            "Result": {
+              "$ref": "#/definitions/BundleChangesResults"
+            }
+          }
+        }
+      },
+      "definitions": {
+        "BundleChange": {
+          "type": "object",
+          "properties": {
+            "args": {
               "type": "array",
               "items": {
-                "type": "integer"
+                "type": "object",
+                "additionalProperties": true
               }
             },
             "id": {
-              "$ref": "#/definitions/packet"
+              "type": "string"
             },
-            "location": {
-              "$ref": "#/definitions/packet"
+            "method": {
+              "type": "string"
             },
-            "sig": {
+            "requires": {
               "type": "array",
               "items": {
-                "type": "integer"
+                "type": "string"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "data",
-            "location",
             "id",
-            "caveats",
-            "sig"
+            "method",
+            "args",
+            "requires"
           ]
         },
-        "caveat": {
+        "BundleChangesParams": {
           "type": "object",
           "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
+            "yaml": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "location",
-            "caveatId",
-            "verificationId"
+            "yaml"
           ]
         },
-        "packet": {
+        "BundleChangesResults": {
           "type": "object",
           "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
+            "changes": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/BundleChange"
+              }
             },
-            "totalLen": {
-              "type": "integer"
+            "errors": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
-          ]
+          "additionalProperties": false
         }
       }
     }
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
-          ]
+          "additionalProperties": false
         }
       }
     }
           "type": "object",
           "properties": {
             "Params": {
-              "$ref": "#/definitions/CharmInfo"
+              "$ref": "#/definitions/CharmURL"
             },
             "Result": {
               "$ref": "#/definitions/CharmInfo"
           "type": "object",
           "properties": {
             "Params": {
-              "$ref": "#/definitions/CharmInfo"
+              "$ref": "#/definitions/CharmURL"
             },
             "Result": {
               "$ref": "#/definitions/IsMeteredResult"
         }
       },
       "definitions": {
-        "CharmInfo": {
+        "CharmActionSpec": {
           "type": "object",
           "properties": {
-            "CharmURL": {
+            "description": {
               "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "CharmURL"
-          ]
-        },
-        "CharmsList": {
-          "type": "object",
-          "properties": {
-            "Names": {
-              "type": "array",
-              "items": {
-                "type": "string"
+            },
+            "params": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "type": "object",
+                  "additionalProperties": true
+                }
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "Names"
+            "description",
+            "params"
           ]
         },
-        "CharmsListResult": {
+        "CharmActions": {
           "type": "object",
           "properties": {
-            "CharmURLs": {
-              "type": "array",
-              "items": {
-                "type": "string"
+            "specs": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "$ref": "#/definitions/CharmActionSpec"
+                }
               }
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "CharmURLs"
-          ]
+          "additionalProperties": false
         },
-        "IsMeteredResult": {
+        "CharmInfo": {
           "type": "object",
           "properties": {
-            "Metered": {
-              "type": "boolean"
+            "actions": {
+              "$ref": "#/definitions/CharmActions"
+            },
+            "config": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "$ref": "#/definitions/CharmOption"
+                }
+              }
+            },
+            "meta": {
+              "$ref": "#/definitions/CharmMeta"
+            },
+            "metrics": {
+              "$ref": "#/definitions/CharmMetrics"
+            },
+            "revision": {
+              "type": "integer"
+            },
+            "url": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Metered"
+            "revision",
+            "url",
+            "config"
           ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Cleaner",
-    "Version": 2,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "Cleanup": {
-          "type": "object"
         },
-        "WatchCleanups": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        }
-      },
-      "definitions": {
-        "Error": {
+        "CharmMeta": {
           "type": "object",
           "properties": {
-            "Code": {
-              "type": "string"
-            },
-            "Info": {
-              "$ref": "#/definitions/ErrorInfo"
-            },
-            "Message": {
+            "categories": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
+            },
+            "description": {
               "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Message",
-            "Code"
-          ]
-        },
-        "ErrorInfo": {
-          "type": "object",
-          "properties": {
-            "Macaroon": {
-              "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "extra-bindings": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "type": "string"
+                }
+              }
+            },
+            "min-juju-version": {
               "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
+            },
+            "name": {
+              "type": "string"
+            },
+            "payload-classes": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "$ref": "#/definitions/CharmPayloadClass"
+                }
               }
             },
-            "data": {
+            "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": "integer"
+                "type": "string"
               }
             },
-            "id": {
-              "$ref": "#/definitions/packet"
+            "storage": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "$ref": "#/definitions/CharmStorage"
+                }
+              }
             },
-            "location": {
-              "$ref": "#/definitions/packet"
+            "subordinate": {
+              "type": "boolean"
+            },
+            "summary": {
+              "type": "string"
+            },
+            "tags": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
             },
-            "sig": {
+            "terms": {
               "type": "array",
               "items": {
-                "type": "integer"
+                "type": "string"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
+            "name",
+            "summary",
+            "description",
+            "subordinate"
           ]
         },
-        "NotifyWatchResult": {
+        "CharmMetric": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
+            "description": {
+              "type": "string"
             },
-            "NotifyWatcherId": {
+            "type": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "NotifyWatcherId",
-            "Error"
+            "type",
+            "description"
           ]
         },
-        "caveat": {
+        "CharmMetrics": {
           "type": "object",
           "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
+            "metrics": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "$ref": "#/definitions/CharmMetric"
+                }
+              }
             },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
+            "plan": {
+              "$ref": "#/definitions/CharmPlan"
             }
           },
           "additionalProperties": false,
           "required": [
-            "location",
-            "caveatId",
-            "verificationId"
+            "metrics",
+            "plan"
           ]
         },
-        "packet": {
+        "CharmOption": {
           "type": "object",
           "properties": {
-            "headerLen": {
-              "type": "integer"
+            "default": {
+              "type": "object",
+              "additionalProperties": true
             },
-            "start": {
-              "type": "integer"
+            "description": {
+              "type": "string"
             },
-            "totalLen": {
-              "type": "integer"
+            "type": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "type"
           ]
-        }
-      }
-    }
-  },
-  {
-    "Name": "Client",
-    "Version": 1,
-    "Schema": {
-      "type": "object",
-      "properties": {
-        "APIHostPorts": {
+        },
+        "CharmPayloadClass": {
           "type": "object",
           "properties": {
-            "Result": {
-              "$ref": "#/definitions/APIHostPortsResult"
+            "name": {
+              "type": "string"
+            },
+            "type": {
+              "type": "string"
             }
-          }
-        },
-        "AbortCurrentUpgrade": {
-          "type": "object"
+          },
+          "additionalProperties": false,
+          "required": [
+            "name",
+            "type"
+          ]
         },
-        "AddCharm": {
+        "CharmPlan": {
           "type": "object",
           "properties": {
-            "Params": {
-              "$ref": "#/definitions/AddCharm"
+            "required": {
+              "type": "boolean"
             }
-          }
+          },
+          "additionalProperties": false,
+          "required": [
+            "required"
+          ]
         },
-        "AddCharmWithAuthorization": {
+        "CharmRelation": {
           "type": "object",
           "properties": {
-            "Params": {
-              "$ref": "#/definitions/AddCharmWithAuthorization"
+            "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"
+          ]
         },
-        "AddMachines": {
+        "CharmResourceMeta": {
           "type": "object",
           "properties": {
-            "Params": {
-              "$ref": "#/definitions/AddMachines"
+            "description": {
+              "type": "string"
             },
-            "Result": {
-              "$ref": "#/definitions/AddMachinesResults"
+            "name": {
+              "type": "string"
+            },
+            "path": {
+              "type": "string"
+            },
+            "type": {
+              "type": "string"
             }
-          }
+          },
+          "additionalProperties": false,
+          "required": [
+            "name",
+            "type",
+            "path",
+            "description"
+          ]
         },
-        "AddMachinesV2": {
+        "CharmStorage": {
           "type": "object",
           "properties": {
-            "Params": {
-              "$ref": "#/definitions/AddMachines"
+            "count-max": {
+              "type": "integer"
             },
-            "Result": {
-              "$ref": "#/definitions/AddMachinesResults"
+            "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"
+          ]
         },
-        "AgentVersion": {
+        "CharmURL": {
           "type": "object",
           "properties": {
-            "Result": {
-              "$ref": "#/definitions/AgentVersionResult"
+            "url": {
+              "type": "string"
             }
-          }
+          },
+          "additionalProperties": false,
+          "required": [
+            "url"
+          ]
         },
-        "CharmInfo": {
+        "CharmsList": {
           "type": "object",
           "properties": {
-            "Params": {
-              "$ref": "#/definitions/CharmInfo"
-            },
-            "Result": {
-              "$ref": "#/definitions/CharmInfo"
+            "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": 1,
+    "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"
+            }
+          }
         },
         "DestroyMachines": {
           "type": "object",
             }
           }
         },
-        "DestroyModel": {
-          "type": "object"
-        },
         "FindTools": {
           "type": "object",
           "properties": {
           "type": "object",
           "properties": {
             "Params": {
-              "$ref": "#/definitions/GetBundleChangesParams"
+              "$ref": "#/definitions/BundleChangesParams"
             },
             "Result": {
-              "$ref": "#/definitions/GetBundleChangesResults"
+              "$ref": "#/definitions/BundleChangesResults"
             }
           }
         },
             }
           }
         },
-        "SetModelAgentVersion": {
+        "SetModelAgentVersion": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/SetModelAgentVersion"
+            }
+          }
+        },
+        "SetModelConstraints": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/SetConstraints"
+            }
+          }
+        },
+        "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"
+            },
+            "url": {
+              "type": "string"
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "url",
+            "channel"
+          ]
+        },
+        "AddCharmWithAuthorization": {
+          "type": "object",
+          "properties": {
+            "channel": {
+              "type": "string"
+            },
+            "macaroon": {
+              "$ref": "#/definitions/Macaroon"
+            },
+            "url": {
+              "type": "string"
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "url",
+            "channel",
+            "macaroon"
+          ]
+        },
+        "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"
+          ]
+        },
+        "ApplicationStatus": {
+          "type": "object",
+          "properties": {
+            "can-upgrade-to": {
+              "type": "string"
+            },
+            "charm": {
+              "type": "string"
+            },
+            "err": {
+              "type": "object",
+              "additionalProperties": true
+            },
+            "exposed": {
+              "type": "boolean"
+            },
+            "life": {
+              "type": "string"
+            },
+            "meter-statuses": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "$ref": "#/definitions/MeterStatus"
+                }
+              }
+            },
+            "relations": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "type": "array",
+                  "items": {
+                    "type": "string"
+                  }
+                }
+              }
+            },
+            "series": {
+              "type": "string"
+            },
+            "status": {
+              "$ref": "#/definitions/DetailedStatus"
+            },
+            "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"
+          ]
+        },
+        "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": {
+            "yaml": {
+              "type": "string"
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "yaml"
+          ]
+        },
+        "BundleChangesResults": {
+          "type": "object",
+          "properties": {
+            "changes": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/BundleChange"
+              }
+            },
+            "errors": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
+            }
+          },
+          "additionalProperties": false
+        },
+        "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": {
-            "Params": {
-              "$ref": "#/definitions/SetModelAgentVersion"
+            "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"
+          ]
         },
-        "SetModelConstraints": {
+        "Error": {
           "type": "object",
           "properties": {
-            "Params": {
-              "$ref": "#/definitions/SetConstraints"
+            "code": {
+              "type": "string"
+            },
+            "info": {
+              "$ref": "#/definitions/ErrorInfo"
+            },
+            "message": {
+              "type": "string"
             }
-          }
+          },
+          "additionalProperties": false,
+          "required": [
+            "message",
+            "code"
+          ]
         },
-        "StatusHistory": {
+        "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Params": {
-              "$ref": "#/definitions/StatusHistoryRequests"
+            "macaroon": {
+              "$ref": "#/definitions/Macaroon"
             },
-            "Result": {
-              "$ref": "#/definitions/StatusHistoryResults"
+            "macaroon-path": {
+              "type": "string"
             }
-          }
+          },
+          "additionalProperties": false
         },
-        "WatchAll": {
+        "ErrorResult": {
           "type": "object",
           "properties": {
-            "Result": {
-              "$ref": "#/definitions/AllWatcherId"
+            "error": {
+              "$ref": "#/definitions/Error"
             }
-          }
-        }
-      },
-      "definitions": {
-        "APIHostPortsResult": {
+          },
+          "additionalProperties": false
+        },
+        "ErrorResults": {
           "type": "object",
           "properties": {
-            "Servers": {
+            "results": {
               "type": "array",
               "items": {
-                "type": "array",
-                "items": {
-                  "$ref": "#/definitions/HostPort"
-                }
+                "$ref": "#/definitions/ErrorResult"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "Servers"
+            "results"
           ]
         },
-        "AddCharm": {
+        "FindToolsParams": {
           "type": "object",
           "properties": {
-            "Channel": {
+            "arch": {
               "type": "string"
             },
-            "URL": {
+            "major": {
+              "type": "integer"
+            },
+            "minor": {
+              "type": "integer"
+            },
+            "number": {
+              "$ref": "#/definitions/Number"
+            },
+            "series": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "URL",
-            "Channel"
+            "number",
+            "major",
+            "minor",
+            "arch",
+            "series"
           ]
         },
-        "AddCharmWithAuthorization": {
+        "FindToolsResult": {
           "type": "object",
           "properties": {
-            "Channel": {
-              "type": "string"
-            },
-            "CharmStoreMacaroon": {
-              "$ref": "#/definitions/Macaroon"
+            "error": {
+              "$ref": "#/definitions/Error"
             },
-            "URL": {
-              "type": "string"
+            "list": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/Tools"
+              }
             }
           },
           "additionalProperties": false,
           "required": [
-            "URL",
-            "Channel",
-            "CharmStoreMacaroon"
+            "list"
           ]
         },
-        "AddMachineParams": {
+        "FullStatus": {
           "type": "object",
           "properties": {
-            "Addrs": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/Address"
+            "applications": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "$ref": "#/definitions/ApplicationStatus"
+                }
               }
             },
-            "Constraints": {
-              "$ref": "#/definitions/Value"
+            "machines": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "$ref": "#/definitions/MachineStatus"
+                }
+              }
             },
-            "ContainerType": {
-              "type": "string"
+            "model": {
+              "$ref": "#/definitions/ModelStatusInfo"
             },
-            "Disks": {
+            "relations": {
               "type": "array",
               "items": {
-                "$ref": "#/definitions/Constraints"
+                "$ref": "#/definitions/RelationStatus"
               }
             },
-            "HardwareCharacteristics": {
-              "$ref": "#/definitions/HardwareCharacteristics"
+            "remote-applications": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "$ref": "#/definitions/RemoteApplicationStatus"
+                }
+              }
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "model",
+            "machines",
+            "applications",
+            "remote-applications",
+            "relations"
+          ]
+        },
+        "GetConstraintsResults": {
+          "type": "object",
+          "properties": {
+            "constraints": {
+              "$ref": "#/definitions/Value"
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "constraints"
+          ]
+        },
+        "HardwareCharacteristics": {
+          "type": "object",
+          "properties": {
+            "arch": {
+              "type": "string"
             },
-            "InstanceId": {
+            "availability-zone": {
               "type": "string"
             },
-            "Jobs": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
+            "cpu-cores": {
+              "type": "integer"
             },
-            "Nonce": {
-              "type": "string"
+            "cpu-power": {
+              "type": "integer"
             },
-            "ParentId": {
-              "type": "string"
+            "mem": {
+              "type": "integer"
             },
-            "Placement": {
-              "$ref": "#/definitions/Placement"
+            "root-disk": {
+              "type": "integer"
             },
-            "Series": {
-              "type": "string"
+            "tags": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Series",
-            "Constraints",
-            "Jobs",
-            "Disks",
-            "Placement",
-            "ParentId",
-            "ContainerType",
-            "InstanceId",
-            "Nonce",
-            "HardwareCharacteristics",
-            "Addrs"
-          ]
+          "additionalProperties": false
         },
-        "AddMachines": {
+        "History": {
           "type": "object",
           "properties": {
-            "MachineParams": {
+            "error": {
+              "$ref": "#/definitions/Error"
+            },
+            "statuses": {
               "type": "array",
               "items": {
-                "$ref": "#/definitions/AddMachineParams"
+                "$ref": "#/definitions/DetailedStatus"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "MachineParams"
+            "statuses"
           ]
         },
-        "AddMachinesResult": {
+        "HostPort": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
+            "Address": {
+              "$ref": "#/definitions/Address"
             },
-            "Machine": {
-              "type": "string"
+            "port": {
+              "type": "integer"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Machine",
-            "Error"
+            "Address",
+            "port"
           ]
         },
-        "AddMachinesResults": {
+        "Macaroon": {
+          "type": "object",
+          "additionalProperties": false
+        },
+        "MachineHardware": {
           "type": "object",
           "properties": {
-            "Machines": {
+            "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": {
-                "$ref": "#/definitions/AddMachinesResult"
+                "type": "string"
               }
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Machines"
-          ]
+          "additionalProperties": false
         },
-        "Address": {
+        "MachineStatus": {
           "type": "object",
           "properties": {
-            "Scope": {
+            "agent-status": {
+              "$ref": "#/definitions/DetailedStatus"
+            },
+            "containers": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "$ref": "#/definitions/MachineStatus"
+                }
+              }
+            },
+            "dns-name": {
               "type": "string"
             },
-            "SpaceName": {
+            "hardware": {
               "type": "string"
             },
-            "Type": {
+            "has-vote": {
+              "type": "boolean"
+            },
+            "id": {
               "type": "string"
             },
-            "Value": {
+            "instance-id": {
+              "type": "string"
+            },
+            "instance-status": {
+              "$ref": "#/definitions/DetailedStatus"
+            },
+            "ip-addresses": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
+            },
+            "jobs": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
+            },
+            "series": {
               "type": "string"
+            },
+            "wants-vote": {
+              "type": "boolean"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Value",
-            "Type",
-            "Scope"
+            "agent-status",
+            "instance-status",
+            "dns-name",
+            "ip-addresses",
+            "instance-id",
+            "series",
+            "id",
+            "containers",
+            "hardware",
+            "jobs",
+            "has-vote",
+            "wants-vote"
           ]
         },
-        "AgentVersionResult": {
+        "MeterStatus": {
           "type": "object",
           "properties": {
-            "Version": {
-              "$ref": "#/definitions/Number"
+            "color": {
+              "type": "string"
+            },
+            "message": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Version"
+            "color",
+            "message"
           ]
         },
-        "AllWatcherId": {
+        "ModelConfigResults": {
           "type": "object",
           "properties": {
-            "AllWatcherId": {
-              "type": "string"
+            "config": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "$ref": "#/definitions/ConfigValue"
+                }
+              }
             }
           },
           "additionalProperties": false,
           "required": [
-            "AllWatcherId"
+            "config"
           ]
         },
-        "ApplicationStatus": {
+        "ModelInfo": {
           "type": "object",
           "properties": {
-            "CanUpgradeTo": {
+            "cloud-credential-tag": {
               "type": "string"
             },
-            "Charm": {
+            "cloud-region": {
               "type": "string"
             },
-            "Err": {
-              "type": "object",
-              "additionalProperties": true
+            "cloud-tag": {
+              "type": "string"
             },
-            "Exposed": {
-              "type": "boolean"
+            "controller-uuid": {
+              "type": "string"
             },
-            "Life": {
+            "default-series": {
               "type": "string"
             },
-            "MeterStatuses": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/MeterStatus"
-                }
-              }
+            "life": {
+              "type": "string"
             },
-            "Relations": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "array",
-                  "items": {
-                    "type": "string"
-                  }
-                }
+            "machines": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/ModelMachineInfo"
               }
             },
-            "Status": {
-              "$ref": "#/definitions/DetailedStatus"
+            "name": {
+              "type": "string"
+            },
+            "owner-tag": {
+              "type": "string"
+            },
+            "provider-type": {
+              "type": "string"
+            },
+            "status": {
+              "$ref": "#/definitions/EntityStatus"
             },
-            "SubordinateTo": {
+            "users": {
               "type": "array",
               "items": {
-                "type": "string"
+                "$ref": "#/definitions/ModelUserInfo"
               }
             },
-            "Units": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/UnitStatus"
-                }
-              }
+            "uuid": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Err",
-            "Charm",
-            "Exposed",
-            "Life",
-            "Relations",
-            "CanUpgradeTo",
-            "SubordinateTo",
-            "Units",
-            "MeterStatuses",
-            "Status"
+            "name",
+            "uuid",
+            "controller-uuid",
+            "provider-type",
+            "default-series",
+            "cloud-tag",
+            "owner-tag",
+            "life",
+            "status",
+            "users",
+            "machines"
           ]
         },
-        "Binary": {
+        "ModelMachineInfo": {
           "type": "object",
           "properties": {
-            "Arch": {
-              "type": "string"
+            "hardware": {
+              "$ref": "#/definitions/MachineHardware"
             },
-            "Number": {
-              "$ref": "#/definitions/Number"
+            "has-vote": {
+              "type": "boolean"
             },
-            "Series": {
+            "id": {
               "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Number",
-            "Series",
-            "Arch"
-          ]
-        },
-        "BundleChangesChange": {
-          "type": "object",
-          "properties": {
-            "args": {
-              "type": "array",
-              "items": {
-                "type": "object",
-                "additionalProperties": true
-              }
             },
-            "id": {
+            "instance-id": {
               "type": "string"
             },
-            "method": {
+            "status": {
               "type": "string"
             },
-            "requires": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
+            "wants-vote": {
+              "type": "boolean"
             }
           },
           "additionalProperties": false,
           "required": [
-            "id",
-            "method",
-            "args",
-            "requires"
+            "id"
           ]
         },
-        "CharmInfo": {
+        "ModelSet": {
           "type": "object",
           "properties": {
-            "CharmURL": {
-              "type": "string"
+            "config": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "type": "object",
+                  "additionalProperties": true
+                }
+              }
             }
           },
           "additionalProperties": false,
           "required": [
-            "CharmURL"
+            "config"
           ]
         },
-        "Constraints": {
+        "ModelStatusInfo": {
           "type": "object",
           "properties": {
-            "Count": {
-              "type": "integer"
+            "available-version": {
+              "type": "string"
             },
-            "Pool": {
+            "cloud-tag": {
               "type": "string"
             },
-            "Size": {
-              "type": "integer"
+            "migration": {
+              "type": "string"
+            },
+            "name": {
+              "type": "string"
+            },
+            "region": {
+              "type": "string"
+            },
+            "version": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Pool",
-            "Size",
-            "Count"
+            "name",
+            "cloud-tag",
+            "version",
+            "available-version"
           ]
         },
-        "DestroyMachines": {
+        "ModelUnset": {
           "type": "object",
           "properties": {
-            "Force": {
-              "type": "boolean"
-            },
-            "MachineNames": {
+            "keys": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "MachineNames",
-            "Force"
+            "keys"
           ]
         },
-        "DetailedStatus": {
+        "ModelUserInfo": {
           "type": "object",
           "properties": {
-            "Data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "Err": {
-              "type": "object",
-              "additionalProperties": true
-            },
-            "Info": {
-              "type": "string"
-            },
-            "Kind": {
+            "access": {
               "type": "string"
             },
-            "Life": {
+            "display-name": {
               "type": "string"
             },
-            "Since": {
+            "last-connection": {
               "type": "string",
               "format": "date-time"
             },
-            "Status": {
-              "type": "string"
-            },
-            "Version": {
+            "user": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Status",
-            "Info",
-            "Data",
-            "Since",
-            "Kind",
-            "Version",
-            "Life",
-            "Err"
+            "user",
+            "display-name",
+            "last-connection",
+            "access"
           ]
         },
-        "EndpointStatus": {
+        "ModelUserInfoResult": {
           "type": "object",
           "properties": {
-            "ApplicationName": {
-              "type": "string"
-            },
-            "Name": {
-              "type": "string"
-            },
-            "Role": {
-              "type": "string"
+            "error": {
+              "$ref": "#/definitions/Error"
             },
-            "Subordinate": {
-              "type": "boolean"
+            "result": {
+              "$ref": "#/definitions/ModelUserInfo"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "ApplicationName",
-            "Name",
-            "Role",
-            "Subordinate"
-          ]
+          "additionalProperties": false
         },
-        "Entities": {
+        "ModelUserInfoResults": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "results": {
               "type": "array",
               "items": {
-                "$ref": "#/definitions/Entity"
+                "$ref": "#/definitions/ModelUserInfoResult"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "results"
           ]
         },
-        "Entity": {
+        "Number": {
           "type": "object",
           "properties": {
+            "Build": {
+              "type": "integer"
+            },
+            "Major": {
+              "type": "integer"
+            },
+            "Minor": {
+              "type": "integer"
+            },
+            "Patch": {
+              "type": "integer"
+            },
             "Tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "Major",
+            "Minor",
+            "Tag",
+            "Patch",
+            "Build"
           ]
         },
-        "EntityStatus": {
+        "Placement": {
           "type": "object",
           "properties": {
-            "Data": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            },
-            "Info": {
+            "directive": {
               "type": "string"
             },
-            "Since": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "Status": {
+            "scope": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Status",
-            "Info",
-            "Data",
-            "Since"
+            "scope",
+            "directive"
           ]
         },
-        "Error": {
+        "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": {
-            "Code": {
+            "data-dir": {
               "type": "string"
             },
-            "Info": {
-              "$ref": "#/definitions/ErrorInfo"
+            "disable-package-commands": {
+              "type": "boolean"
+            },
+            "machine-id": {
+              "type": "string"
             },
-            "Message": {
+            "nonce": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "machine-id",
+            "nonce",
+            "data-dir",
+            "disable-package-commands"
           ]
         },
-        "ErrorInfo": {
+        "ProvisioningScriptResult": {
           "type": "object",
           "properties": {
-            "Macaroon": {
-              "$ref": "#/definitions/Macaroon"
-            },
-            "MacaroonPath": {
+            "script": {
               "type": "string"
             }
           },
-          "additionalProperties": false
+          "additionalProperties": false,
+          "required": [
+            "script"
+          ]
         },
-        "ErrorResult": {
+        "PublicAddress": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
+            "target": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error"
+            "target"
           ]
         },
-        "ErrorResults": {
+        "PublicAddressResults": {
           "type": "object",
           "properties": {
-            "Results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
+            "public-address": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "public-address"
           ]
         },
-        "FindToolsParams": {
+        "RelationStatus": {
           "type": "object",
           "properties": {
-            "Arch": {
-              "type": "string"
+            "endpoints": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/EndpointStatus"
+              }
             },
-            "MajorVersion": {
+            "id": {
               "type": "integer"
             },
-            "MinorVersion": {
-              "type": "integer"
+            "interface": {
+              "type": "string"
             },
-            "Number": {
-              "$ref": "#/definitions/Number"
+            "key": {
+              "type": "string"
             },
-            "Series": {
+            "scope": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Number",
-            "MajorVersion",
-            "MinorVersion",
-            "Arch",
-            "Series"
+            "id",
+            "key",
+            "interface",
+            "scope",
+            "endpoints"
           ]
         },
-        "FindToolsResult": {
+        "RemoteApplicationStatus": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
+            "application-name": {
+              "type": "string"
+            },
+            "application-url": {
+              "type": "string"
             },
-            "List": {
+            "endpoints": {
               "type": "array",
               "items": {
-                "$ref": "#/definitions/Tools"
+                "$ref": "#/definitions/RemoteEndpoint"
               }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "List",
-            "Error"
-          ]
-        },
-        "FullStatus": {
-          "type": "object",
-          "properties": {
-            "Applications": {
+            },
+            "err": {
               "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/ApplicationStatus"
-                }
-              }
+              "additionalProperties": true
             },
-            "AvailableVersion": {
+            "life": {
               "type": "string"
             },
-            "Machines": {
+            "relations": {
               "type": "object",
               "patternProperties": {
                 ".*": {
-                  "$ref": "#/definitions/MachineStatus"
+                  "type": "array",
+                  "items": {
+                    "type": "string"
+                  }
                 }
               }
             },
-            "ModelName": {
-              "type": "string"
-            },
-            "Relations": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/RelationStatus"
-              }
+            "status": {
+              "$ref": "#/definitions/DetailedStatus"
             }
           },
           "additionalProperties": false,
           "required": [
-            "ModelName",
-            "AvailableVersion",
-            "Machines",
-            "Applications",
-            "Relations"
+            "application-url",
+            "application-name",
+            "endpoints",
+            "life",
+            "relations",
+            "status"
           ]
         },
-        "GetBundleChangesParams": {
+        "RemoteEndpoint": {
           "type": "object",
           "properties": {
-            "yaml": {
+            "interface": {
               "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "yaml"
-          ]
-        },
-        "GetBundleChangesResults": {
-          "type": "object",
-          "properties": {
-            "changes": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/BundleChangesChange"
-              }
             },
-            "errors": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false
-        },
-        "GetConstraintsResults": {
-          "type": "object",
-          "properties": {
-            "Constraints": {
-              "$ref": "#/definitions/Value"
+            "limit": {
+              "type": "integer"
+            },
+            "name": {
+              "type": "string"
+            },
+            "role": {
+              "type": "string"
+            },
+            "scope": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Constraints"
+            "name",
+            "role",
+            "interface",
+            "limit",
+            "scope"
           ]
         },
-        "HardwareCharacteristics": {
+        "ResolveCharmResult": {
           "type": "object",
           "properties": {
-            "Arch": {
+            "error": {
               "type": "string"
             },
-            "AvailabilityZone": {
+            "url": {
               "type": "string"
-            },
-            "CpuCores": {
-              "type": "integer"
-            },
-            "CpuPower": {
-              "type": "integer"
-            },
-            "Mem": {
-              "type": "integer"
-            },
-            "RootDisk": {
-              "type": "integer"
-            },
-            "Tags": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
             }
           },
           "additionalProperties": false
         },
-        "History": {
+        "ResolveCharmResults": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
-            "Statuses": {
+            "urls": {
               "type": "array",
               "items": {
-                "$ref": "#/definitions/DetailedStatus"
+                "$ref": "#/definitions/ResolveCharmResult"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "Statuses"
+            "urls"
           ]
         },
-        "HostPort": {
+        "ResolveCharms": {
           "type": "object",
           "properties": {
-            "Address": {
-              "$ref": "#/definitions/Address"
-            },
-            "Port": {
-              "type": "integer"
+            "references": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
             }
           },
           "additionalProperties": false,
           "required": [
-            "Address",
-            "Port"
+            "references"
           ]
         },
-        "Macaroon": {
+        "Resolved": {
           "type": "object",
           "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
+            "retry": {
+              "type": "boolean"
             },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
+            "unit-name": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
+            "unit-name",
+            "retry"
           ]
         },
-        "MachineStatus": {
+        "SetConstraints": {
           "type": "object",
           "properties": {
-            "AgentStatus": {
-              "$ref": "#/definitions/DetailedStatus"
-            },
-            "Containers": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/MachineStatus"
-                }
-              }
-            },
-            "DNSName": {
-              "type": "string"
-            },
-            "Hardware": {
-              "type": "string"
-            },
-            "HasVote": {
-              "type": "boolean"
-            },
-            "Id": {
-              "type": "string"
-            },
-            "InstanceId": {
-              "type": "string"
-            },
-            "InstanceStatus": {
-              "$ref": "#/definitions/DetailedStatus"
-            },
-            "Jobs": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "Series": {
+            "application": {
               "type": "string"
             },
-            "WantsVote": {
-              "type": "boolean"
+            "constraints": {
+              "$ref": "#/definitions/Value"
             }
           },
           "additionalProperties": false,
           "required": [
-            "AgentStatus",
-            "InstanceStatus",
-            "DNSName",
-            "InstanceId",
-            "Series",
-            "Id",
-            "Containers",
-            "Hardware",
-            "Jobs",
-            "HasVote",
-            "WantsVote"
+            "application",
+            "constraints"
           ]
         },
-        "MeterStatus": {
+        "SetModelAgentVersion": {
           "type": "object",
           "properties": {
-            "Color": {
-              "type": "string"
-            },
-            "Message": {
-              "type": "string"
+            "version": {
+              "$ref": "#/definitions/Number"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Color",
-            "Message"
+            "version"
           ]
         },
-        "ModelConfigResults": {
+        "StatusHistoryFilter": {
           "type": "object",
           "properties": {
-            "Config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
+            "date": {
+              "type": "string",
+              "format": "date-time"
+            },
+            "delta": {
+              "type": "integer"
+            },
+            "size": {
+              "type": "integer"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Config"
+            "size",
+            "date",
+            "delta"
           ]
         },
-        "ModelInfo": {
+        "StatusHistoryRequest": {
           "type": "object",
           "properties": {
-            "Cloud": {
-              "type": "string"
-            },
-            "DefaultSeries": {
-              "type": "string"
-            },
-            "Life": {
-              "type": "string"
-            },
-            "Name": {
-              "type": "string"
-            },
-            "OwnerTag": {
-              "type": "string"
-            },
-            "ProviderType": {
-              "type": "string"
+            "filter": {
+              "$ref": "#/definitions/StatusHistoryFilter"
             },
-            "ServerUUID": {
+            "historyKind": {
               "type": "string"
             },
-            "Status": {
-              "$ref": "#/definitions/EntityStatus"
+            "size": {
+              "type": "integer"
             },
-            "UUID": {
+            "tag": {
               "type": "string"
-            },
-            "Users": {
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "historyKind",
+            "size",
+            "filter",
+            "tag"
+          ]
+        },
+        "StatusHistoryRequests": {
+          "type": "object",
+          "properties": {
+            "requests": {
               "type": "array",
               "items": {
-                "$ref": "#/definitions/ModelUserInfo"
+                "$ref": "#/definitions/StatusHistoryRequest"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "Name",
-            "UUID",
-            "ServerUUID",
-            "ProviderType",
-            "DefaultSeries",
-            "Cloud",
-            "OwnerTag",
-            "Life",
-            "Status",
-            "Users"
+            "requests"
           ]
         },
-        "ModelSet": {
+        "StatusHistoryResult": {
           "type": "object",
           "properties": {
-            "Config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
+            "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": [
-            "Config"
+            "results"
           ]
         },
-        "ModelUnset": {
+        "StatusParams": {
           "type": "object",
           "properties": {
-            "Keys": {
+            "patterns": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "Keys"
+            "patterns"
           ]
         },
-        "ModelUserInfo": {
+        "Tools": {
           "type": "object",
           "properties": {
-            "access": {
-              "type": "string"
-            },
-            "displayname": {
+            "sha256": {
               "type": "string"
             },
-            "lastconnection": {
-              "type": "string",
-              "format": "date-time"
+            "size": {
+              "type": "integer"
             },
-            "user": {
+            "url": {
               "type": "string"
+            },
+            "version": {
+              "$ref": "#/definitions/Binary"
             }
           },
           "additionalProperties": false,
           "required": [
-            "user",
-            "displayname",
-            "lastconnection",
-            "access"
+            "version",
+            "url",
+            "size"
           ]
         },
-        "ModelUserInfoResult": {
+        "UnitStatus": {
           "type": "object",
           "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
+            "agent-status": {
+              "$ref": "#/definitions/DetailedStatus"
             },
-            "result": {
-              "$ref": "#/definitions/ModelUserInfo"
-            }
-          },
-          "additionalProperties": false
-        },
-        "ModelUserInfoResults": {
-          "type": "object",
-          "properties": {
-            "results": {
+            "charm": {
+              "type": "string"
+            },
+            "leader": {
+              "type": "boolean"
+            },
+            "machine": {
+              "type": "string"
+            },
+            "opened-ports": {
               "type": "array",
               "items": {
-                "$ref": "#/definitions/ModelUserInfoResult"
+                "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": [
-            "results"
+            "agent-status",
+            "workload-status",
+            "workload-version",
+            "machine",
+            "opened-ports",
+            "public-address",
+            "charm",
+            "subordinates"
           ]
         },
-        "Number": {
+        "Value": {
           "type": "object",
           "properties": {
-            "Build": {
+            "arch": {
+              "type": "string"
+            },
+            "container": {
+              "type": "string"
+            },
+            "cores": {
               "type": "integer"
             },
-            "Major": {
+            "cpu-power": {
               "type": "integer"
             },
-            "Minor": {
+            "instance-type": {
+              "type": "string"
+            },
+            "mem": {
               "type": "integer"
             },
-            "Patch": {
+            "root-disk": {
               "type": "integer"
             },
-            "Tag": {
+            "spaces": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
+            },
+            "tags": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
+            },
+            "virt-type": {
               "type": "string"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Major",
-            "Minor",
-            "Tag",
-            "Patch",
-            "Build"
-          ]
+          "additionalProperties": false
+        }
+      }
+    }
+  },
+  {
+    "Name": "Cloud",
+    "Version": 1,
+    "Schema": {
+      "type": "object",
+      "properties": {
+        "Cloud": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/Entities"
+            },
+            "Result": {
+              "$ref": "#/definitions/CloudResults"
+            }
+          }
         },
-        "Placement": {
+        "Clouds": {
           "type": "object",
           "properties": {
-            "Directive": {
-              "type": "string"
+            "Result": {
+              "$ref": "#/definitions/CloudsResult"
+            }
+          }
+        },
+        "Credential": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/Entities"
             },
-            "Scope": {
-              "type": "string"
+            "Result": {
+              "$ref": "#/definitions/CloudCredentialResults"
             }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Scope",
-            "Directive"
-          ]
+          }
         },
-        "PrivateAddress": {
+        "DefaultCloud": {
           "type": "object",
           "properties": {
-            "Target": {
-              "type": "string"
+            "Result": {
+              "$ref": "#/definitions/StringResult"
             }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Target"
-          ]
+          }
         },
-        "PrivateAddressResults": {
+        "RevokeCredentials": {
           "type": "object",
           "properties": {
-            "PrivateAddress": {
-              "type": "string"
+            "Params": {
+              "$ref": "#/definitions/Entities"
+            },
+            "Result": {
+              "$ref": "#/definitions/ErrorResults"
             }
-          },
-          "additionalProperties": false,
-          "required": [
-            "PrivateAddress"
-          ]
+          }
         },
-        "ProvisioningScriptParams": {
+        "UpdateCredentials": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/UpdateCloudCredentials"
+            },
+            "Result": {
+              "$ref": "#/definitions/ErrorResults"
+            }
+          }
+        },
+        "UserCredentials": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/UserClouds"
+            },
+            "Result": {
+              "$ref": "#/definitions/StringsResults"
+            }
+          }
+        }
+      },
+      "definitions": {
+        "Cloud": {
           "type": "object",
           "properties": {
-            "DataDir": {
+            "auth-types": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
+            },
+            "endpoint": {
               "type": "string"
             },
-            "DisablePackageCommands": {
-              "type": "boolean"
+            "identity-endpoint": {
+              "type": "string"
+            },
+            "regions": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/CloudRegion"
+              }
             },
-            "MachineId": {
+            "storage-endpoint": {
               "type": "string"
             },
-            "Nonce": {
+            "type": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "MachineId",
-            "Nonce",
-            "DataDir",
-            "DisablePackageCommands"
+            "type"
           ]
         },
-        "ProvisioningScriptResult": {
+        "CloudCredential": {
           "type": "object",
           "properties": {
-            "Script": {
+            "attrs": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "type": "string"
+                }
+              }
+            },
+            "auth-type": {
               "type": "string"
+            },
+            "redacted": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
             }
           },
           "additionalProperties": false,
           "required": [
-            "Script"
+            "auth-type"
           ]
         },
-        "PublicAddress": {
+        "CloudCredentialResult": {
           "type": "object",
           "properties": {
-            "Target": {
-              "type": "string"
+            "error": {
+              "$ref": "#/definitions/Error"
+            },
+            "result": {
+              "$ref": "#/definitions/CloudCredential"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Target"
-          ]
+          "additionalProperties": false
         },
-        "PublicAddressResults": {
+        "CloudCredentialResults": {
           "type": "object",
           "properties": {
-            "PublicAddress": {
-              "type": "string"
+            "results": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/CloudCredentialResult"
+              }
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "PublicAddress"
-          ]
+          "additionalProperties": false
         },
-        "RelationStatus": {
+        "CloudRegion": {
           "type": "object",
           "properties": {
-            "Endpoints": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/EndpointStatus"
-              }
-            },
-            "Id": {
-              "type": "integer"
+            "endpoint": {
+              "type": "string"
             },
-            "Interface": {
+            "identity-endpoint": {
               "type": "string"
             },
-            "Key": {
+            "name": {
               "type": "string"
             },
-            "Scope": {
+            "storage-endpoint": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Id",
-            "Key",
-            "Interface",
-            "Scope",
-            "Endpoints"
+            "name"
           ]
         },
-        "ResolveCharmResult": {
+        "CloudResult": {
           "type": "object",
           "properties": {
-            "Error": {
-              "type": "string"
+            "cloud": {
+              "$ref": "#/definitions/Cloud"
             },
-            "URL": {
-              "$ref": "#/definitions/URL"
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false
         },
-        "ResolveCharmResults": {
+        "CloudResults": {
           "type": "object",
           "properties": {
-            "URLs": {
+            "results": {
               "type": "array",
               "items": {
-                "$ref": "#/definitions/ResolveCharmResult"
+                "$ref": "#/definitions/CloudResult"
               }
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "URLs"
-          ]
+          "additionalProperties": false
         },
-        "ResolveCharms": {
+        "CloudsResult": {
           "type": "object",
           "properties": {
-            "References": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/URL"
+            "clouds": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "$ref": "#/definitions/Cloud"
+                }
               }
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "References"
-          ]
+          "additionalProperties": false
         },
-        "Resolved": {
+        "Entities": {
           "type": "object",
           "properties": {
-            "Retry": {
-              "type": "boolean"
-            },
-            "UnitName": {
-              "type": "string"
+            "entities": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/Entity"
+              }
             }
           },
           "additionalProperties": false,
           "required": [
-            "UnitName",
-            "Retry"
+            "entities"
           ]
         },
-        "SetConstraints": {
+        "Entity": {
           "type": "object",
           "properties": {
-            "ApplicationName": {
+            "tag": {
               "type": "string"
-            },
-            "Constraints": {
-              "$ref": "#/definitions/Value"
             }
           },
           "additionalProperties": false,
           "required": [
-            "ApplicationName",
-            "Constraints"
+            "tag"
           ]
         },
-        "SetModelAgentVersion": {
+        "Error": {
           "type": "object",
           "properties": {
-            "Version": {
-              "$ref": "#/definitions/Number"
+            "code": {
+              "type": "string"
+            },
+            "info": {
+              "$ref": "#/definitions/ErrorInfo"
+            },
+            "message": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Version"
+            "message",
+            "code"
           ]
         },
-        "StatusHistoryFilter": {
+        "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Date": {
-              "type": "string",
-              "format": "date-time"
-            },
-            "Delta": {
-              "type": "integer"
+            "macaroon": {
+              "$ref": "#/definitions/Macaroon"
             },
-            "Size": {
-              "type": "integer"
+            "macaroon-path": {
+              "type": "string"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Size",
-            "Date",
-            "Delta"
-          ]
+          "additionalProperties": false
         },
-        "StatusHistoryRequest": {
+        "ErrorResult": {
           "type": "object",
           "properties": {
-            "Filter": {
-              "$ref": "#/definitions/StatusHistoryFilter"
-            },
-            "HistoryKind": {
-              "type": "string"
-            },
-            "Size": {
-              "type": "integer"
-            },
-            "Tag": {
-              "type": "string"
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "HistoryKind",
-            "Size",
-            "Filter",
-            "Tag"
-          ]
+          "additionalProperties": false
         },
-        "StatusHistoryRequests": {
+        "ErrorResults": {
           "type": "object",
           "properties": {
-            "Requests": {
+            "results": {
               "type": "array",
               "items": {
-                "$ref": "#/definitions/StatusHistoryRequest"
+                "$ref": "#/definitions/ErrorResult"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "Requests"
+            "results"
           ]
         },
-        "StatusHistoryResult": {
+        "Macaroon": {
+          "type": "object",
+          "additionalProperties": false
+        },
+        "StringResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "History": {
-              "$ref": "#/definitions/History"
+            "result": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "History"
+            "result"
           ]
         },
-        "StatusHistoryResults": {
+        "StringsResult": {
           "type": "object",
           "properties": {
-            "Results": {
+            "error": {
+              "$ref": "#/definitions/Error"
+            },
+            "result": {
               "type": "array",
               "items": {
-                "$ref": "#/definitions/StatusHistoryResult"
+                "type": "string"
               }
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Results"
-          ]
+          "additionalProperties": false
         },
-        "StatusParams": {
+        "StringsResults": {
           "type": "object",
           "properties": {
-            "Patterns": {
+            "results": {
               "type": "array",
               "items": {
-                "type": "string"
+                "$ref": "#/definitions/StringsResult"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "Patterns"
+            "results"
           ]
         },
-        "Tools": {
+        "UpdateCloudCredential": {
           "type": "object",
           "properties": {
-            "sha256": {
-              "type": "string"
-            },
-            "size": {
-              "type": "integer"
+            "credential": {
+              "$ref": "#/definitions/CloudCredential"
             },
-            "url": {
+            "tag": {
               "type": "string"
-            },
-            "version": {
-              "$ref": "#/definitions/Binary"
             }
           },
           "additionalProperties": false,
           "required": [
-            "version",
-            "url",
-            "size"
+            "tag",
+            "credential"
           ]
         },
-        "URL": {
+        "UpdateCloudCredentials": {
           "type": "object",
           "properties": {
-            "Channel": {
-              "type": "string"
-            },
-            "Name": {
-              "type": "string"
-            },
-            "Revision": {
-              "type": "integer"
-            },
-            "Schema": {
-              "type": "string"
-            },
-            "Series": {
-              "type": "string"
-            },
-            "User": {
-              "type": "string"
+            "credentials": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/UpdateCloudCredential"
+              }
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Schema",
-            "User",
-            "Name",
-            "Revision",
-            "Series",
-            "Channel"
-          ]
+          "additionalProperties": false
         },
-        "UnitStatus": {
+        "UserCloud": {
           "type": "object",
           "properties": {
-            "AgentStatus": {
-              "$ref": "#/definitions/DetailedStatus"
-            },
-            "Charm": {
-              "type": "string"
-            },
-            "Machine": {
+            "cloud-tag": {
               "type": "string"
             },
-            "OpenedPorts": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
-            "PublicAddress": {
+            "user-tag": {
               "type": "string"
-            },
-            "Subordinates": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "$ref": "#/definitions/UnitStatus"
-                }
-              }
-            },
-            "WorkloadStatus": {
-              "$ref": "#/definitions/DetailedStatus"
             }
           },
           "additionalProperties": false,
           "required": [
-            "AgentStatus",
-            "WorkloadStatus",
-            "Machine",
-            "OpenedPorts",
-            "PublicAddress",
-            "Charm",
-            "Subordinates"
+            "user-tag",
+            "cloud-tag"
           ]
         },
-        "Value": {
+        "UserClouds": {
           "type": "object",
           "properties": {
-            "arch": {
-              "type": "string"
-            },
-            "container": {
-              "type": "string"
-            },
-            "cpu-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": {
+            "user-clouds": {
               "type": "array",
               "items": {
-                "type": "string"
+                "$ref": "#/definitions/UserCloud"
               }
-            },
-            "virt-type": {
-              "type": "string"
             }
           },
           "additionalProperties": false
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
-          ]
         }
       }
     }
           "type": "object",
           "properties": {
             "Result": {
-              "$ref": "#/definitions/UserModelList"
+              "$ref": "#/definitions/UserModelList"
+            }
+          }
+        },
+        "CloudSpec": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/Entities"
+            },
+            "Result": {
+              "$ref": "#/definitions/CloudSpecResults"
+            }
+          }
+        },
+        "ControllerConfig": {
+          "type": "object",
+          "properties": {
+            "Result": {
+              "$ref": "#/definitions/ControllerConfigResult"
             }
           }
         },
             }
           }
         },
-        "InitiateModelMigration": {
+        "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/InitiateModelMigrationArgs"
+              "$ref": "#/definitions/InitiateMigrationArgs"
             },
             "Result": {
-              "$ref": "#/definitions/InitiateModelMigrationResults"
+              "$ref": "#/definitions/InitiateMigrationResults"
             }
           }
         },
             }
           }
         },
+        "ModifyControllerAccess": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/ModifyControllerAccessRequest"
+            },
+            "Result": {
+              "$ref": "#/definitions/ErrorResults"
+            }
+          }
+        },
         "RemoveBlocks": {
           "type": "object",
           "properties": {
         "AllWatcherId": {
           "type": "object",
           "properties": {
-            "AllWatcherId": {
+            "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": {
+            "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"
+          ]
+        },
+        "ControllerConfigResult": {
+          "type": "object",
+          "properties": {
+            "config": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "type": "object",
+                  "additionalProperties": true
+                }
+              }
             }
           },
           "additionalProperties": false,
           "required": [
-            "AllWatcherId"
+            "config"
           ]
         },
         "DestroyControllerArgs": {
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
           "additionalProperties": false
         },
-        "InitiateModelMigrationArgs": {
+        "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/ModelMigrationSpec"
+                "$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,
-          "required": [
-            "specs"
-          ]
+          "additionalProperties": false
         },
-        "InitiateModelMigrationResult": {
+        "MigrationSpec": {
           "type": "object",
           "properties": {
-            "error": {
-              "$ref": "#/definitions/Error"
-            },
-            "id": {
-              "type": "string"
+            "external-control": {
+              "type": "boolean"
             },
             "model-tag": {
               "type": "string"
+            },
+            "skip-initial-prechecks": {
+              "type": "boolean"
+            },
+            "target-info": {
+              "$ref": "#/definitions/MigrationTargetInfo"
             }
           },
           "additionalProperties": false,
           "required": [
             "model-tag",
-            "error",
-            "id"
-          ]
-        },
-        "InitiateModelMigrationResults": {
-          "type": "object",
-          "properties": {
-            "results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/InitiateModelMigrationResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "results"
+            "target-info",
+            "external-control",
+            "skip-initial-prechecks"
           ]
         },
-        "Macaroon": {
+        "MigrationTargetInfo": {
           "type": "object",
           "properties": {
-            "caveats": {
+            "addrs": {
               "type": "array",
               "items": {
-                "$ref": "#/definitions/caveat"
+                "type": "string"
               }
             },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
+            "auth-tag": {
+              "type": "string"
             },
-            "id": {
-              "$ref": "#/definitions/packet"
+            "ca-cert": {
+              "type": "string"
             },
-            "location": {
-              "$ref": "#/definitions/packet"
+            "controller-tag": {
+              "type": "string"
             },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
+            "macaroons": {
+              "type": "string"
+            },
+            "password": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
+            "controller-tag",
+            "addrs",
+            "ca-cert",
+            "auth-tag"
           ]
         },
         "Model": {
           "type": "object",
           "properties": {
-            "Name": {
+            "name": {
               "type": "string"
             },
-            "OwnerTag": {
+            "owner-tag": {
               "type": "string"
             },
-            "UUID": {
+            "uuid": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Name",
-            "UUID",
-            "OwnerTag"
+            "name",
+            "uuid",
+            "owner-tag"
           ]
         },
         "ModelBlockInfo": {
         "ModelConfigResults": {
           "type": "object",
           "properties": {
-            "Config": {
+            "config": {
               "type": "object",
               "patternProperties": {
                 ".*": {
-                  "type": "object",
-                  "additionalProperties": true
+                  "$ref": "#/definitions/ConfigValue"
                 }
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "Config"
+            "config"
           ]
         },
-        "ModelMigrationSpec": {
+        "ModelMachineInfo": {
           "type": "object",
           "properties": {
-            "model-tag": {
-              "type": "string"
+            "hardware": {
+              "$ref": "#/definitions/MachineHardware"
             },
-            "target-info": {
-              "$ref": "#/definitions/ModelMigrationTargetInfo"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "model-tag",
-            "target-info"
-          ]
-        },
-        "ModelMigrationTargetInfo": {
-          "type": "object",
-          "properties": {
-            "addrs": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
+            "has-vote": {
+              "type": "boolean"
             },
-            "auth-tag": {
+            "id": {
               "type": "string"
             },
-            "ca-cert": {
+            "instance-id": {
               "type": "string"
             },
-            "controller-tag": {
+            "status": {
               "type": "string"
             },
-            "password": {
-              "type": "string"
+            "wants-vote": {
+              "type": "boolean"
             }
           },
           "additionalProperties": false,
           "required": [
-            "controller-tag",
-            "addrs",
-            "ca-cert",
-            "auth-tag",
-            "password"
+            "id"
           ]
         },
         "ModelStatus": {
             "life": {
               "type": "string"
             },
+            "machines": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/ModelMachineInfo"
+              }
+            },
             "model-tag": {
               "type": "string"
             },
             "models"
           ]
         },
+        "ModelTag": {
+          "type": "object",
+          "additionalProperties": false
+        },
+        "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"
           ]
         },
-        "UserModel": {
+        "UserAccess": {
           "type": "object",
           "properties": {
-            "LastConnection": {
-              "type": "string",
-              "format": "date-time"
+            "access": {
+              "type": "string"
             },
-            "Model": {
-              "$ref": "#/definitions/Model"
+            "user-tag": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Model",
-            "LastConnection"
+            "user-tag",
+            "access"
           ]
         },
-        "UserModelList": {
+        "UserAccessResult": {
+          "type": "object",
+          "properties": {
+            "error": {
+              "$ref": "#/definitions/Error"
+            },
+            "result": {
+              "$ref": "#/definitions/UserAccess"
+            }
+          },
+          "additionalProperties": false
+        },
+        "UserAccessResults": {
           "type": "object",
           "properties": {
-            "UserModels": {
+            "results": {
               "type": "array",
               "items": {
-                "$ref": "#/definitions/UserModel"
+                "$ref": "#/definitions/UserAccessResult"
               }
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "UserModels"
-          ]
+          "additionalProperties": false
         },
-        "caveat": {
+        "UserModel": {
           "type": "object",
           "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
+            "last-connection": {
+              "type": "string",
+              "format": "date-time"
             },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
+            "model": {
+              "$ref": "#/definitions/Model"
             }
           },
           "additionalProperties": false,
           "required": [
-            "location",
-            "caveatId",
-            "verificationId"
+            "model",
+            "last-connection"
           ]
         },
-        "packet": {
+        "UserModelList": {
           "type": "object",
           "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
+            "user-models": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/UserModel"
+              }
             }
           },
           "additionalProperties": false,
           "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "user-models"
           ]
         }
       }
             }
           }
         },
+        "SetStatus": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/SetStatus"
+            },
+            "Result": {
+              "$ref": "#/definitions/ErrorResults"
+            }
+          }
+        },
         "StateAddresses": {
           "type": "object",
           "properties": {
             }
           }
         },
+        "UpdateStatus": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/SetStatus"
+            },
+            "Result": {
+              "$ref": "#/definitions/ErrorResults"
+            }
+          }
+        },
         "WatchAPIHostPorts": {
           "type": "object",
           "properties": {
         "APIHostPortsResult": {
           "type": "object",
           "properties": {
-            "Servers": {
+            "servers": {
               "type": "array",
               "items": {
                 "type": "array",
           },
           "additionalProperties": false,
           "required": [
-            "Servers"
+            "servers"
           ]
         },
         "Address": {
           "type": "object",
           "properties": {
-            "Scope": {
+            "scope": {
               "type": "string"
             },
-            "SpaceName": {
+            "space-name": {
               "type": "string"
             },
-            "Type": {
+            "type": {
               "type": "string"
             },
-            "Value": {
+            "value": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Value",
-            "Type",
-            "Scope"
+            "value",
+            "type",
+            "scope"
           ]
         },
         "BytesResult": {
           "type": "object",
           "properties": {
-            "Result": {
+            "result": {
               "type": "array",
               "items": {
                 "type": "integer"
           },
           "additionalProperties": false,
           "required": [
-            "Result"
+            "result"
           ]
         },
         "DeployerConnectionValues": {
           "type": "object",
           "properties": {
-            "APIAddresses": {
+            "api-addresses": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "StateAddresses": {
+            "state-addresses": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "StateAddresses",
-            "APIAddresses"
+            "state-addresses",
+            "api-addresses"
           ]
         },
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "EntityPassword": {
           "type": "object",
           "properties": {
-            "Password": {
+            "password": {
               "type": "string"
             },
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag",
-            "Password"
+            "tag",
+            "password"
           ]
         },
         "EntityPasswords": {
           "type": "object",
           "properties": {
-            "Changes": {
+            "changes": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/EntityPassword"
           },
           "additionalProperties": false,
           "required": [
-            "Changes"
+            "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": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "HostPort": {
             "Address": {
               "$ref": "#/definitions/Address"
             },
-            "Port": {
+            "port": {
               "type": "integer"
             }
           },
           "additionalProperties": false,
           "required": [
             "Address",
-            "Port"
+            "port"
           ]
         },
         "LifeResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Life": {
+            "life": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Life",
-            "Error"
+            "life"
           ]
         },
         "LifeResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/LifeResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
+          "type": "object",
+          "additionalProperties": false
+        },
+        "NotifyWatchResult": {
           "type": "object",
           "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
+            "NotifyWatcherId": {
+              "type": "string"
             },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
+            "NotifyWatcherId"
           ]
         },
-        "NotifyWatchResult": {
+        "SetStatus": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
-            "NotifyWatcherId": {
-              "type": "string"
+            "entities": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/EntityStatusArgs"
+              }
             }
           },
           "additionalProperties": false,
           "required": [
-            "NotifyWatcherId",
-            "Error"
+            "entities"
           ]
         },
         "StringResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Result"
+            "result"
           ]
         },
         "StringsResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error",
-            "Result"
-          ]
+          "additionalProperties": false
         },
         "StringsWatchResult": {
           "type": "object",
           "properties": {
-            "Changes": {
+            "changes": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "StringsWatcherId": {
+            "watcher-id": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "StringsWatcherId",
-            "Changes",
-            "Error"
+            "watcher-id"
           ]
         },
         "StringsWatchResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StringsWatchResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "results"
           ]
         }
       }
         "AddSubnetParams": {
           "type": "object",
           "properties": {
-            "SpaceTag": {
+            "space-tag": {
               "type": "string"
             },
-            "SubnetProviderId": {
+            "subnet-provider-id": {
               "type": "string"
             },
-            "SubnetTag": {
+            "subnet-tag": {
               "type": "string"
             },
-            "Zones": {
+            "zones": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "SpaceTag"
+            "space-tag"
           ]
         },
         "AddSubnetsParams": {
           "type": "object",
           "properties": {
-            "Subnets": {
+            "subnets": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/AddSubnetParams"
           },
           "additionalProperties": false,
           "required": [
-            "Subnets"
+            "subnets"
           ]
         },
         "CreateSpaceParams": {
           "type": "object",
           "properties": {
-            "ProviderId": {
+            "provider-id": {
               "type": "string"
             },
-            "Public": {
+            "public": {
               "type": "boolean"
             },
-            "SpaceTag": {
+            "space-tag": {
               "type": "string"
             },
-            "SubnetTags": {
+            "subnet-tags": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "SubnetTags",
-            "SpaceTag",
-            "Public"
+            "subnet-tags",
+            "space-tag",
+            "public"
           ]
         },
         "CreateSpacesParams": {
           "type": "object",
           "properties": {
-            "Spaces": {
+            "spaces": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/CreateSpaceParams"
           },
           "additionalProperties": false,
           "required": [
-            "Spaces"
+            "spaces"
           ]
         },
         "DiscoverSpacesResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ProviderSpace"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "ListSubnetsResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Subnet"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "ModelConfigResult": {
           "type": "object",
           "properties": {
-            "Config": {
+            "config": {
               "type": "object",
               "patternProperties": {
                 ".*": {
           },
           "additionalProperties": false,
           "required": [
-            "Config"
+            "config"
           ]
         },
         "ProviderSpace": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Name": {
+            "name": {
               "type": "string"
             },
-            "ProviderId": {
+            "provider-id": {
               "type": "string"
             },
-            "Subnets": {
+            "subnets": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Subnet"
           },
           "additionalProperties": false,
           "required": [
-            "Name",
-            "ProviderId",
-            "Subnets"
+            "name",
+            "provider-id",
+            "subnets"
           ]
         },
         "Subnet": {
           "type": "object",
           "properties": {
-            "CIDR": {
+            "cidr": {
               "type": "string"
             },
-            "Life": {
+            "life": {
               "type": "string"
             },
-            "ProviderId": {
+            "provider-id": {
               "type": "string"
             },
-            "SpaceTag": {
+            "space-tag": {
               "type": "string"
             },
-            "StaticRangeHighIP": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "StaticRangeLowIP": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "Status": {
+            "status": {
               "type": "string"
             },
-            "VLANTag": {
+            "vlan-tag": {
               "type": "integer"
             },
-            "Zones": {
+            "zones": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "CIDR",
-            "VLANTag",
-            "Life",
-            "SpaceTag",
-            "Zones"
+            "cidr",
+            "vlan-tag",
+            "life",
+            "space-tag",
+            "zones"
           ]
         },
         "SubnetsFilters": {
           "type": "object",
           "properties": {
-            "SpaceTag": {
+            "space-tag": {
               "type": "string"
             },
-            "Zone": {
+            "zone": {
               "type": "string"
             }
           },
           "additionalProperties": false
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
-          ]
         }
       }
     }
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "MachineBlockDevices": {
           "type": "object",
           "properties": {
-            "blockdevices": {
+            "block-devices": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/BlockDevice"
         },
         "SetMachineBlockDevices": {
           "type": "object",
-          "properties": {
-            "machineblockdevices": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/MachineBlockDevices"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "machineblockdevices"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
+          "properties": {
+            "machine-block-devices": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/MachineBlockDevices"
+              }
             }
           },
           "additionalProperties": false,
           "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "machine-block-devices"
           ]
         }
       }
         "EntitiesWatchResult": {
           "type": "object",
           "properties": {
-            "Changes": {
+            "changes": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "EntityWatcherId": {
-              "type": "string"
-            },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
+            },
+            "watcher-id": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "EntityWatcherId",
-            "Changes",
-            "Error"
+            "watcher-id"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
-          ]
+          "additionalProperties": false
         }
       }
     }
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "MachineStorageId": {
           "type": "object",
           "properties": {
-            "attachmenttag": {
+            "attachment-tag": {
               "type": "string"
             },
-            "machinetag": {
+            "machine-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "machinetag",
-            "attachmenttag"
+            "machine-tag",
+            "attachment-tag"
           ]
         },
         "MachineStorageIdsWatchResult": {
           "type": "object",
           "properties": {
-            "Changes": {
+            "changes": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/MachineStorageId"
               }
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "MachineStorageIdsWatcherId": {
+            "watcher-id": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "MachineStorageIdsWatcherId",
-            "Changes",
-            "Error"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "watcher-id",
+            "changes"
           ]
         }
       }
     "Schema": {
       "type": "object",
       "properties": {
+        "CloudSpec": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/Entities"
+            },
+            "Result": {
+              "$ref": "#/definitions/CloudSpecResults"
+            }
+          }
+        },
         "GetAssignedMachine": {
           "type": "object",
           "properties": {
             }
           }
         },
+        "GetCloudSpec": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/ModelTag"
+            },
+            "Result": {
+              "$ref": "#/definitions/CloudSpecResult"
+            }
+          }
+        },
         "GetExposed": {
           "type": "object",
           "properties": {
         "BoolResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "boolean"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Result"
+            "result"
           ]
         },
         "BoolResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/BoolResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "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": {
+            "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": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "LifeResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Life": {
+            "life": {
               "type": "string"
             }
           },
           "additionalProperties": false,
-          "required": [
-            "Life",
-            "Error"
-          ]
-        },
-        "LifeResults": {
-          "type": "object",
-          "properties": {
-            "Results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/LifeResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
+          "required": [
+            "life"
+          ]
+        },
+        "LifeResults": {
+          "type": "object",
+          "properties": {
+            "results": {
               "type": "array",
               "items": {
-                "type": "integer"
+                "$ref": "#/definitions/LifeResult"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
+            "results"
           ]
         },
+        "Macaroon": {
+          "type": "object",
+          "additionalProperties": false
+        },
         "MachinePortRange": {
           "type": "object",
           "properties": {
-            "PortRange": {
+            "port-range": {
               "$ref": "#/definitions/PortRange"
             },
-            "RelationTag": {
+            "relation-tag": {
               "type": "string"
             },
-            "UnitTag": {
+            "unit-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "UnitTag",
-            "RelationTag",
-            "PortRange"
+            "unit-tag",
+            "relation-tag",
+            "port-range"
           ]
         },
         "MachinePorts": {
           "type": "object",
           "properties": {
-            "MachineTag": {
+            "machine-tag": {
               "type": "string"
             },
-            "SubnetTag": {
+            "subnet-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "MachineTag",
-            "SubnetTag"
+            "machine-tag",
+            "subnet-tag"
           ]
         },
         "MachinePortsParams": {
           "type": "object",
           "properties": {
-            "Params": {
+            "params": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/MachinePorts"
           },
           "additionalProperties": false,
           "required": [
-            "Params"
+            "params"
           ]
         },
         "MachinePortsResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Ports": {
+            "ports": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/MachinePortRange"
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Ports"
+            "ports"
           ]
         },
         "MachinePortsResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/MachinePortsResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "ModelConfigResult": {
           "type": "object",
           "properties": {
-            "Config": {
+            "config": {
               "type": "object",
               "patternProperties": {
                 ".*": {
           },
           "additionalProperties": false,
           "required": [
-            "Config"
+            "config"
           ]
         },
+        "ModelTag": {
+          "type": "object",
+          "additionalProperties": false
+        },
         "NotifyWatchResult": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
             "NotifyWatcherId": {
               "type": "string"
+            },
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "NotifyWatcherId",
-            "Error"
+            "NotifyWatcherId"
           ]
         },
         "NotifyWatchResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/NotifyWatchResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "PortRange": {
           "type": "object",
           "properties": {
-            "FromPort": {
+            "from-port": {
               "type": "integer"
             },
-            "Protocol": {
+            "protocol": {
               "type": "string"
             },
-            "ToPort": {
+            "to-port": {
               "type": "integer"
             }
           },
           "additionalProperties": false,
           "required": [
-            "FromPort",
-            "ToPort",
-            "Protocol"
+            "from-port",
+            "to-port",
+            "protocol"
           ]
         },
         "StringResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Result"
+            "result"
           ]
         },
         "StringResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StringResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "StringsResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error",
-            "Result"
-          ]
+          "additionalProperties": false
         },
         "StringsResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StringsResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "StringsWatchResult": {
           "type": "object",
           "properties": {
-            "Changes": {
+            "changes": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "StringsWatcherId": {
+            "watcher-id": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "StringsWatcherId",
-            "Changes",
-            "Error"
+            "watcher-id"
           ]
         },
         "StringsWatchResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StringsWatchResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "results"
           ]
         }
       }
         "ControllersChangeResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "$ref": "#/definitions/ControllersChanges"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Result",
-            "Error"
+            "result"
           ]
         },
         "ControllersChangeResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ControllersChangeResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "ControllersChanges": {
         "ControllersSpec": {
           "type": "object",
           "properties": {
-            "ModelTag": {
-              "type": "string"
-            },
             "constraints": {
               "$ref": "#/definitions/Value"
             },
           },
           "additionalProperties": false,
           "required": [
-            "ModelTag",
             "num-controllers"
           ]
         },
         "ControllersSpecs": {
           "type": "object",
           "properties": {
-            "Specs": {
+            "specs": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ControllersSpec"
           },
           "additionalProperties": false,
           "required": [
-            "Specs"
+            "specs"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "HAMember": {
           "type": "object",
           "properties": {
-            "PublicAddress": {
+            "public-address": {
               "$ref": "#/definitions/Address"
             },
-            "Series": {
+            "series": {
               "type": "string"
             },
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag",
-            "PublicAddress",
-            "Series"
+            "tag",
+            "public-address",
+            "series"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "Member": {
           "type": "object",
         "MongoUpgradeResults": {
           "type": "object",
           "properties": {
-            "Master": {
-              "$ref": "#/definitions/HAMember"
-            },
-            "Members": {
+            "ha-members": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/HAMember"
               }
             },
-            "RsMembers": {
+            "master": {
+              "$ref": "#/definitions/HAMember"
+            },
+            "rs-members": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Member"
           },
           "additionalProperties": false,
           "required": [
-            "RsMembers",
-            "Master",
-            "Members"
+            "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": {
+            "members": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Member"
           },
           "additionalProperties": false,
           "required": [
-            "Members"
+            "members"
           ]
         },
         "UpgradeMongoParams": {
           "type": "object",
           "properties": {
-            "Target": {
-              "$ref": "#/definitions/Version"
+            "target": {
+              "$ref": "#/definitions/MongoVersion"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Target"
+            "target"
           ]
         },
         "Value": {
             "container": {
               "type": "string"
             },
-            "cpu-cores": {
+            "cores": {
               "type": "integer"
             },
             "cpu-power": {
             }
           },
           "additionalProperties": false
-        },
-        "Version": {
-          "type": "object",
-          "properties": {
-            "Major": {
-              "type": "integer"
-            },
-            "Minor": {
-              "type": "integer"
-            },
-            "Patch": {
-              "type": "string"
-            },
-            "StorageEngine": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Major",
-            "Minor",
-            "Patch",
-            "StorageEngine"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
-          ]
         }
       }
     }
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "SSHHostKeySet": {
           "type": "object",
             "tag",
             "public-keys"
           ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
-          ]
         }
       }
     }
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "ImageFilterParams": {
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
-          ]
+          "additionalProperties": false
         }
       }
     }
             "arch": {
               "type": "string"
             },
-            "image_id": {
+            "image-id": {
               "type": "string"
             },
             "priority": {
             "region": {
               "type": "string"
             },
-            "root_storage_size": {
+            "root-storage-size": {
               "type": "integer"
             },
-            "root_storage_type": {
+            "root-storage-type": {
               "type": "string"
             },
             "series": {
             "version": {
               "type": "string"
             },
-            "virt_type": {
+            "virt-type": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "image_id",
+            "image-id",
             "region",
             "version",
             "series",
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "ImageMetadataFilter": {
             "stream": {
               "type": "string"
             },
-            "virt_type": {
+            "virt-type": {
               "type": "string"
             }
           },
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "MetadataImageIds": {
           "type": "object",
           "properties": {
-            "image_ids": {
+            "image-ids": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "image_ids"
+            "image-ids"
           ]
         },
         "MetadataSaveParams": {
             }
           },
           "additionalProperties": false
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
-          ]
         }
       }
     }
         "Address": {
           "type": "object",
           "properties": {
-            "Scope": {
+            "scope": {
               "type": "string"
             },
-            "SpaceName": {
+            "space-name": {
               "type": "string"
             },
-            "Type": {
+            "type": {
               "type": "string"
             },
-            "Value": {
+            "value": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Value",
-            "Type",
-            "Scope"
+            "value",
+            "type",
+            "scope"
           ]
         },
         "BoolResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "boolean"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Result"
+            "result"
           ]
         },
         "BoolResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/BoolResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "EntityStatusArgs": {
           "type": "object",
           "properties": {
-            "Data": {
+            "data": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "Info": {
+            "info": {
               "type": "string"
             },
-            "Status": {
+            "status": {
               "type": "string"
             },
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag",
-            "Status",
-            "Info",
-            "Data"
+            "tag",
+            "status",
+            "info",
+            "data"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "LifeResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Life": {
+            "life": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Life",
-            "Error"
+            "life"
           ]
         },
         "LifeResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/LifeResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "MachineAddresses": {
           "type": "object",
           "properties": {
-            "Addresses": {
+            "addresses": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Address"
               }
             },
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag",
-            "Addresses"
+            "tag",
+            "addresses"
           ]
         },
         "MachineAddressesResult": {
           "type": "object",
           "properties": {
-            "Addresses": {
+            "addresses": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Address"
               }
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Addresses"
+            "addresses"
           ]
         },
         "MachineAddressesResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/MachineAddressesResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "ModelConfigResult": {
           "type": "object",
           "properties": {
-            "Config": {
+            "config": {
               "type": "object",
               "patternProperties": {
                 ".*": {
           },
           "additionalProperties": false,
           "required": [
-            "Config"
+            "config"
           ]
         },
         "NotifyWatchResult": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
             "NotifyWatcherId": {
               "type": "string"
+            },
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "NotifyWatcherId",
-            "Error"
+            "NotifyWatcherId"
           ]
         },
         "SetMachinesAddresses": {
           "type": "object",
           "properties": {
-            "MachineAddresses": {
+            "machine-addresses": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/MachineAddresses"
           },
           "additionalProperties": false,
           "required": [
-            "MachineAddresses"
+            "machine-addresses"
           ]
         },
         "SetStatus": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/EntityStatusArgs"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "StatusResult": {
           "type": "object",
           "properties": {
-            "Data": {
+            "data": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Id": {
+            "id": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "type": "string"
             },
-            "Life": {
+            "life": {
               "type": "string"
             },
-            "Since": {
+            "since": {
               "type": "string",
               "format": "date-time"
             },
-            "Status": {
+            "status": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Id",
-            "Life",
-            "Status",
-            "Info",
-            "Data",
-            "Since"
+            "id",
+            "life",
+            "status",
+            "info",
+            "data",
+            "since"
           ]
         },
         "StatusResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StatusResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "StringResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Result"
+            "result"
           ]
         },
         "StringResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StringResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "StringsWatchResult": {
           "type": "object",
           "properties": {
-            "Changes": {
+            "changes": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "StringsWatcherId": {
+            "watcher-id": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "StringsWatcherId",
-            "Changes",
-            "Error"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "watcher-id"
           ]
         }
       }
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "ListSSHKeys": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "$ref": "#/definitions/Entities"
             },
-            "Mode": {
+            "mode": {
               "type": "boolean"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Entities",
-            "Mode"
+            "entities",
+            "mode"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "ModifyUserSSHKeys": {
           "type": "object",
           "properties": {
-            "Keys": {
+            "ssh-keys": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "User": {
+            "user": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "User",
-            "Keys"
+            "user",
+            "ssh-keys"
           ]
         },
         "StringsResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error",
-            "Result"
-          ]
+          "additionalProperties": false
         },
         "StringsResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StringsResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "results"
           ]
         }
       }
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "NotifyWatchResult": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
             "NotifyWatcherId": {
               "type": "string"
+            },
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "NotifyWatcherId",
-            "Error"
+            "NotifyWatcherId"
           ]
         },
         "NotifyWatchResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/NotifyWatchResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "StringsResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error",
-            "Result"
-          ]
+          "additionalProperties": false
         },
         "StringsResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StringsResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "results"
           ]
         }
       }
         "ClaimLeadershipBulkParams": {
           "type": "object",
           "properties": {
-            "Params": {
+            "params": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ClaimLeadershipParams"
           },
           "additionalProperties": false,
           "required": [
-            "Params"
+            "params"
           ]
         },
         "ClaimLeadershipBulkResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "ClaimLeadershipParams": {
           "type": "object",
           "properties": {
-            "ApplicationTag": {
+            "application-tag": {
               "type": "string"
             },
-            "DurationSeconds": {
+            "duration": {
               "type": "number"
             },
-            "UnitTag": {
+            "unit-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "ApplicationTag",
-            "UnitTag",
-            "DurationSeconds"
+            "application-tag",
+            "unit-tag",
+            "duration"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "Macaroon": {
+          "type": "object",
+          "additionalProperties": false
+        }
+      }
+    }
+  },
+  {
+    "Name": "LifeFlag",
+    "Version": 1,
+    "Schema": {
+      "type": "object",
+      "properties": {
+        "Life": {
           "type": "object",
           "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
+            "Params": {
+              "$ref": "#/definitions/Entities"
             },
-            "data": {
+            "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": {
-                "type": "integer"
+                "$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"
             },
-            "id": {
-              "$ref": "#/definitions/packet"
+            "info": {
+              "$ref": "#/definitions/ErrorInfo"
             },
-            "location": {
-              "$ref": "#/definitions/packet"
+            "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"
             },
-            "sig": {
+            "life": {
+              "type": "string"
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "life"
+          ]
+        },
+        "LifeResults": {
+          "type": "object",
+          "properties": {
+            "results": {
               "type": "array",
               "items": {
-                "type": "integer"
+                "$ref": "#/definitions/LifeResult"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
+            "results"
           ]
         },
-        "caveat": {
+        "Macaroon": {
+          "type": "object",
+          "additionalProperties": false
+        },
+        "NotifyWatchResult": {
           "type": "object",
           "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
+            "NotifyWatcherId": {
+              "type": "string"
             },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "location",
-            "caveatId",
-            "verificationId"
+            "NotifyWatcherId"
           ]
         },
-        "packet": {
+        "NotifyWatchResults": {
           "type": "object",
           "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
+            "results": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/NotifyWatchResult"
+              }
             }
           },
           "additionalProperties": false,
           "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "results"
           ]
         }
       }
     }
   },
   {
-    "Name": "LifeFlag",
+    "Name": "LogForwarding",
     "Version": 1,
     "Schema": {
       "type": "object",
       "properties": {
-        "Life": {
+        "GetLastSent": {
           "type": "object",
           "properties": {
             "Params": {
-              "$ref": "#/definitions/Entities"
+              "$ref": "#/definitions/LogForwardingGetLastSentParams"
             },
             "Result": {
-              "$ref": "#/definitions/LifeResults"
+              "$ref": "#/definitions/LogForwardingGetLastSentResults"
             }
           }
         },
-        "Watch": {
+        "SetLastSent": {
           "type": "object",
           "properties": {
             "Params": {
-              "$ref": "#/definitions/Entities"
+              "$ref": "#/definitions/LogForwardingSetLastSentParams"
             },
             "Result": {
-              "$ref": "#/definitions/NotifyWatchResults"
+              "$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": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
           "additionalProperties": false
         },
-        "LifeResult": {
+        "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
-            },
-            "Life": {
-              "type": "string"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Life",
-            "Error"
-          ]
+          "additionalProperties": false
         },
-        "LifeResults": {
+        "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
-                "$ref": "#/definitions/LifeResult"
+                "$ref": "#/definitions/ErrorResult"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
-        "Macaroon": {
+        "LogForwardingGetLastSentParams": {
           "type": "object",
           "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
+            "ids": {
               "type": "array",
               "items": {
-                "type": "integer"
+                "$ref": "#/definitions/LogForwardingID"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
+            "ids"
           ]
         },
-        "NotifyWatchResult": {
+        "LogForwardingGetLastSentResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "err": {
               "$ref": "#/definitions/Error"
             },
-            "NotifyWatcherId": {
-              "type": "string"
+            "record-id": {
+              "type": "integer"
+            },
+            "record-timestamp": {
+              "type": "integer"
             }
           },
           "additionalProperties": false,
           "required": [
-            "NotifyWatcherId",
-            "Error"
+            "record-id",
+            "record-timestamp",
+            "err"
           ]
         },
-        "NotifyWatchResults": {
+        "LogForwardingGetLastSentResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
+                "$ref": "#/definitions/LogForwardingGetLastSentResult"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
-        "caveat": {
+        "LogForwardingID": {
           "type": "object",
           "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
+            "model": {
+              "type": "string"
             },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
+            "sink": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "location",
-            "caveatId",
-            "verificationId"
+            "model",
+            "sink"
           ]
         },
-        "packet": {
+        "LogForwardingSetLastSentParam": {
           "type": "object",
           "properties": {
-            "headerLen": {
-              "type": "integer"
+            "LogForwardingID": {
+              "$ref": "#/definitions/LogForwardingID"
             },
-            "start": {
+            "record-id": {
               "type": "integer"
             },
-            "totalLen": {
+            "record-timestamp": {
               "type": "integer"
             }
           },
           "additionalProperties": false,
           "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "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
         }
       }
     }
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "NotifyWatchResult": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
             "NotifyWatcherId": {
               "type": "string"
+            },
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "NotifyWatcherId",
-            "Error"
+            "NotifyWatcherId"
           ]
         },
         "NotifyWatchResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/NotifyWatchResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "StringResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Result"
+            "result"
           ]
         },
         "StringResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StringResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "results"
           ]
         }
       }
         "ActionExecutionResult": {
           "type": "object",
           "properties": {
-            "actiontag": {
+            "action-tag": {
               "type": "string"
             },
             "message": {
           },
           "additionalProperties": false,
           "required": [
-            "actiontag",
+            "action-tag",
             "status"
           ]
         },
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Results"
-          ]
-        },
-        "Macaroon": {
-          "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
+            "results": {
               "type": "array",
               "items": {
-                "type": "integer"
+                "$ref": "#/definitions/ErrorResult"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
+            "results"
           ]
         },
+        "Macaroon": {
+          "type": "object",
+          "additionalProperties": false
+        },
         "StringsWatchResult": {
           "type": "object",
           "properties": {
-            "Changes": {
+            "changes": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "StringsWatcherId": {
+            "watcher-id": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "StringsWatcherId",
-            "Changes",
-            "Error"
+            "watcher-id"
           ]
         },
         "StringsWatchResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StringsWatchResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "results"
           ]
         }
       }
         "AddMachineParams": {
           "type": "object",
           "properties": {
-            "Addrs": {
+            "addresses": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Address"
               }
             },
-            "Constraints": {
+            "constraints": {
               "$ref": "#/definitions/Value"
             },
-            "ContainerType": {
+            "container-type": {
               "type": "string"
             },
-            "Disks": {
+            "disks": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Constraints"
               }
             },
-            "HardwareCharacteristics": {
+            "hardware-characteristics": {
               "$ref": "#/definitions/HardwareCharacteristics"
             },
-            "InstanceId": {
+            "instance-id": {
               "type": "string"
             },
-            "Jobs": {
+            "jobs": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "Nonce": {
+            "nonce": {
               "type": "string"
             },
-            "ParentId": {
+            "parent-id": {
               "type": "string"
             },
-            "Placement": {
+            "placement": {
               "$ref": "#/definitions/Placement"
             },
-            "Series": {
+            "series": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Series",
-            "Constraints",
-            "Jobs",
-            "Disks",
-            "Placement",
-            "ParentId",
-            "ContainerType",
-            "InstanceId",
-            "Nonce",
-            "HardwareCharacteristics",
-            "Addrs"
+            "series",
+            "constraints",
+            "jobs",
+            "parent-id",
+            "container-type",
+            "instance-id",
+            "nonce",
+            "hardware-characteristics",
+            "addresses"
           ]
         },
         "AddMachines": {
           "type": "object",
           "properties": {
-            "MachineParams": {
+            "params": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/AddMachineParams"
           },
           "additionalProperties": false,
           "required": [
-            "MachineParams"
+            "params"
           ]
         },
         "AddMachinesResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Machine": {
+            "machine": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Machine",
-            "Error"
+            "machine"
           ]
         },
         "AddMachinesResults": {
           "type": "object",
           "properties": {
-            "Machines": {
+            "machines": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/AddMachinesResult"
           },
           "additionalProperties": false,
           "required": [
-            "Machines"
+            "machines"
           ]
         },
         "Address": {
           "type": "object",
           "properties": {
-            "Scope": {
+            "scope": {
               "type": "string"
             },
-            "SpaceName": {
+            "space-name": {
               "type": "string"
             },
-            "Type": {
+            "type": {
               "type": "string"
             },
-            "Value": {
+            "value": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Value",
-            "Type",
-            "Scope"
+            "value",
+            "type",
+            "scope"
           ]
         },
         "Constraints": {
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "HardwareCharacteristics": {
           "type": "object",
           "properties": {
-            "Arch": {
+            "arch": {
               "type": "string"
             },
-            "AvailabilityZone": {
+            "availability-zone": {
               "type": "string"
             },
-            "CpuCores": {
+            "cpu-cores": {
               "type": "integer"
             },
-            "CpuPower": {
+            "cpu-power": {
               "type": "integer"
             },
-            "Mem": {
+            "mem": {
               "type": "integer"
             },
-            "RootDisk": {
+            "root-disk": {
               "type": "integer"
             },
-            "Tags": {
+            "tags": {
               "type": "array",
               "items": {
                 "type": "string"
           "additionalProperties": false
         },
         "Macaroon": {
+          "type": "object",
+          "additionalProperties": false
+        },
+        "Placement": {
+          "type": "object",
+          "properties": {
+            "directive": {
+              "type": "string"
+            },
+            "scope": {
+              "type": "string"
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "scope",
+            "directive"
+          ]
+        },
+        "Value": {
           "type": "object",
           "properties": {
-            "caveats": {
+            "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": {
-                "$ref": "#/definitions/caveat"
+                "type": "string"
               }
             },
-            "data": {
+            "tags": {
               "type": "array",
               "items": {
-                "type": "integer"
+                "type": "string"
               }
             },
-            "id": {
-              "$ref": "#/definitions/packet"
+            "virt-type": {
+              "type": "string"
+            }
+          },
+          "additionalProperties": false
+        }
+      }
+    }
+  },
+  {
+    "Name": "MachineUndertaker",
+    "Version": 1,
+    "Schema": {
+      "type": "object",
+      "properties": {
+        "AllMachineRemovals": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/Entities"
             },
-            "location": {
-              "$ref": "#/definitions/packet"
+            "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"
             },
-            "sig": {
+            "Result": {
+              "$ref": "#/definitions/NotifyWatchResults"
+            }
+          }
+        }
+      },
+      "definitions": {
+        "Entities": {
+          "type": "object",
+          "properties": {
+            "entities": {
               "type": "array",
               "items": {
-                "type": "integer"
+                "$ref": "#/definitions/Entity"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
+            "entities"
           ]
         },
-        "Placement": {
+        "EntitiesResult": {
           "type": "object",
           "properties": {
-            "Directive": {
-              "type": "string"
+            "entities": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/Entity"
+              }
             },
-            "Scope": {
-              "type": "string"
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Scope",
-            "Directive"
+            "entities"
           ]
         },
-        "Value": {
+        "EntitiesResults": {
           "type": "object",
           "properties": {
-            "arch": {
+            "results": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/EntitiesResult"
+              }
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "results"
+          ]
+        },
+        "Entity": {
+          "type": "object",
+          "properties": {
+            "tag": {
               "type": "string"
-            },
-            "container": {
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "tag"
+          ]
+        },
+        "Error": {
+          "type": "object",
+          "properties": {
+            "code": {
               "type": "string"
             },
-            "cpu-cores": {
-              "type": "integer"
-            },
-            "cpu-power": {
-              "type": "integer"
+            "info": {
+              "$ref": "#/definitions/ErrorInfo"
             },
-            "instance-type": {
+            "message": {
               "type": "string"
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "message",
+            "code"
+          ]
+        },
+        "ErrorInfo": {
+          "type": "object",
+          "properties": {
+            "macaroon": {
+              "$ref": "#/definitions/Macaroon"
             },
-            "mem": {
-              "type": "integer"
-            },
-            "root-disk": {
-              "type": "integer"
+            "macaroon-path": {
+              "type": "string"
+            }
+          },
+          "additionalProperties": false
+        },
+        "Macaroon": {
+          "type": "object",
+          "additionalProperties": false
+        },
+        "NotifyWatchResult": {
+          "type": "object",
+          "properties": {
+            "NotifyWatcherId": {
+              "type": "string"
             },
-            "spaces": {
+            "error": {
+              "$ref": "#/definitions/Error"
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "NotifyWatcherId"
+          ]
+        },
+        "NotifyWatchResults": {
+          "type": "object",
+          "properties": {
+            "results": {
               "type": "array",
               "items": {
-                "type": "string"
+                "$ref": "#/definitions/NotifyWatchResult"
               }
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "results"
+          ]
+        },
+        "ProviderInterfaceInfo": {
+          "type": "object",
+          "properties": {
+            "interface-name": {
+              "type": "string"
             },
-            "tags": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
+            "mac-address": {
+              "type": "string"
             },
-            "virt-type": {
+            "provider-id": {
               "type": "string"
             }
           },
-          "additionalProperties": false
+          "additionalProperties": false,
+          "required": [
+            "interface-name",
+            "mac-address",
+            "provider-id"
+          ]
         },
-        "caveat": {
+        "ProviderInterfaceInfoResult": {
           "type": "object",
           "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
+            "error": {
+              "$ref": "#/definitions/Error"
             },
-            "location": {
-              "$ref": "#/definitions/packet"
+            "interfaces": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/ProviderInterfaceInfo"
+              }
             },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
+            "machine-tag": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "location",
-            "caveatId",
-            "verificationId"
+            "machine-tag",
+            "interfaces"
           ]
         },
-        "packet": {
+        "ProviderInterfaceInfoResults": {
           "type": "object",
           "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
+            "results": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/ProviderInterfaceInfoResult"
+              }
             }
           },
           "additionalProperties": false,
           "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "results"
           ]
         }
       }
         "APIHostPortsResult": {
           "type": "object",
           "properties": {
-            "Servers": {
+            "servers": {
               "type": "array",
               "items": {
                 "type": "array",
           },
           "additionalProperties": false,
           "required": [
-            "Servers"
+            "servers"
           ]
         },
         "Address": {
           "type": "object",
           "properties": {
-            "Scope": {
+            "scope": {
               "type": "string"
             },
-            "SpaceName": {
+            "space-name": {
               "type": "string"
             },
-            "Type": {
+            "type": {
               "type": "string"
             },
-            "Value": {
+            "value": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Value",
-            "Type",
-            "Scope"
+            "value",
+            "type",
+            "scope"
           ]
         },
         "BytesResult": {
           "type": "object",
           "properties": {
-            "Result": {
+            "result": {
               "type": "array",
               "items": {
                 "type": "integer"
           },
           "additionalProperties": false,
           "required": [
-            "Result"
+            "result"
           ]
         },
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "EntityStatusArgs": {
           "type": "object",
           "properties": {
-            "Data": {
+            "data": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "Info": {
+            "info": {
               "type": "string"
             },
-            "Status": {
+            "status": {
               "type": "string"
             },
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag",
-            "Status",
-            "Info",
-            "Data"
+            "tag",
+            "status",
+            "info",
+            "data"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "HostPort": {
             "Address": {
               "$ref": "#/definitions/Address"
             },
-            "Port": {
+            "port": {
               "type": "integer"
             }
           },
           "additionalProperties": false,
           "required": [
             "Address",
-            "Port"
+            "port"
           ]
         },
         "JobsResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Jobs": {
+            "jobs": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "Jobs",
-            "Error"
+            "jobs"
           ]
         },
         "JobsResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/JobsResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "LifeResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Life": {
+            "life": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Life",
-            "Error"
+            "life"
           ]
         },
         "LifeResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/LifeResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "MachineAddresses": {
           "type": "object",
           "properties": {
-            "Addresses": {
+            "addresses": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Address"
               }
             },
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag",
-            "Addresses"
+            "tag",
+            "addresses"
           ]
         },
         "NetworkConfig": {
           "type": "object",
           "properties": {
-            "Address": {
+            "address": {
               "type": "string"
             },
-            "CIDR": {
+            "cidr": {
               "type": "string"
             },
-            "ConfigType": {
+            "config-type": {
               "type": "string"
             },
-            "DNSSearchDomains": {
+            "device-index": {
+              "type": "integer"
+            },
+            "disabled": {
+              "type": "boolean"
+            },
+            "dns-search-domains": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "DNSServers": {
+            "dns-servers": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "DeviceIndex": {
-              "type": "integer"
-            },
-            "Disabled": {
-              "type": "boolean"
-            },
-            "GatewayAddress": {
+            "gateway-address": {
               "type": "string"
             },
-            "InterfaceName": {
+            "interface-name": {
               "type": "string"
             },
-            "InterfaceType": {
+            "interface-type": {
               "type": "string"
             },
-            "MACAddress": {
+            "mac-address": {
               "type": "string"
             },
-            "MTU": {
+            "mtu": {
               "type": "integer"
             },
-            "NoAutoStart": {
+            "no-auto-start": {
               "type": "boolean"
             },
-            "ParentInterfaceName": {
+            "parent-interface-name": {
               "type": "string"
             },
-            "ProviderAddressId": {
+            "provider-address-id": {
               "type": "string"
             },
-            "ProviderId": {
+            "provider-id": {
               "type": "string"
             },
-            "ProviderSpaceId": {
+            "provider-space-id": {
               "type": "string"
             },
-            "ProviderSubnetId": {
+            "provider-subnet-id": {
               "type": "string"
             },
-            "ProviderVLANId": {
+            "provider-vlan-id": {
               "type": "string"
             },
-            "VLANTag": {
+            "vlan-tag": {
               "type": "integer"
             }
           },
           "additionalProperties": false,
           "required": [
-            "DeviceIndex",
-            "MACAddress",
-            "CIDR",
-            "MTU",
-            "ProviderId",
-            "ProviderSubnetId",
-            "ProviderSpaceId",
-            "ProviderAddressId",
-            "ProviderVLANId",
-            "VLANTag",
-            "InterfaceName",
-            "ParentInterfaceName",
-            "InterfaceType",
-            "Disabled"
+            "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"
           ]
         },
         "NotifyWatchResult": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
             "NotifyWatcherId": {
               "type": "string"
+            },
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "NotifyWatcherId",
-            "Error"
+            "NotifyWatcherId"
           ]
         },
         "NotifyWatchResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/NotifyWatchResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "SetMachineNetworkConfig": {
           "type": "object",
           "properties": {
-            "Config": {
+            "config": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/NetworkConfig"
               }
             },
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag",
-            "Config"
+            "tag",
+            "config"
           ]
         },
         "SetMachinesAddresses": {
           "type": "object",
           "properties": {
-            "MachineAddresses": {
+            "machine-addresses": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/MachineAddresses"
           },
           "additionalProperties": false,
           "required": [
-            "MachineAddresses"
+            "machine-addresses"
           ]
         },
         "SetStatus": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/EntityStatusArgs"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "StringResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Result"
+            "result"
           ]
         },
         "StringsResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error",
-            "Result"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
-          ]
+          "additionalProperties": false
         }
       }
     }
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "MeterStatusResult": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Info": {
+            "info": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Code",
-            "Info",
-            "Error"
+            "code",
+            "info"
           ]
         },
         "MeterStatusResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/MeterStatusResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "NotifyWatchResult": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
             "NotifyWatcherId": {
               "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId",
-            "Error"
-          ]
-        },
-        "NotifyWatchResults": {
-          "type": "object",
-          "properties": {
-            "Results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/NotifyWatchResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Results"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
             },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "location",
-            "caveatId",
-            "verificationId"
+            "NotifyWatcherId"
           ]
         },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
+        "NotifyWatchResults": {
+          "type": "object",
+          "properties": {
+            "results": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/NotifyWatchResult"
+              }
             }
           },
           "additionalProperties": false,
           "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "results"
           ]
         }
       }
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "Metric": {
           "type": "object",
           "properties": {
-            "Key": {
+            "key": {
               "type": "string"
             },
-            "Time": {
+            "time": {
               "type": "string",
               "format": "date-time"
             },
-            "Value": {
+            "value": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Key",
-            "Value",
-            "Time"
+            "key",
+            "value",
+            "time"
           ]
         },
         "MetricBatch": {
           "type": "object",
           "properties": {
-            "CharmURL": {
+            "charm-url": {
               "type": "string"
             },
-            "Created": {
+            "created": {
               "type": "string",
               "format": "date-time"
             },
-            "Metrics": {
+            "metrics": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Metric"
               }
             },
-            "UUID": {
+            "uuid": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "UUID",
-            "CharmURL",
-            "Created",
-            "Metrics"
+            "uuid",
+            "charm-url",
+            "created",
+            "metrics"
           ]
         },
         "MetricBatchParam": {
           "type": "object",
           "properties": {
-            "Batch": {
+            "batch": {
               "$ref": "#/definitions/MetricBatch"
             },
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag",
-            "Batch"
+            "tag",
+            "batch"
           ]
         },
         "MetricBatchParams": {
           "type": "object",
           "properties": {
-            "Batches": {
+            "batches": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/MetricBatchParam"
           },
           "additionalProperties": false,
           "required": [
-            "Batches"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "batches"
           ]
         }
       }
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "EntityMetrics": {
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "MeterStatusParam": {
           "type": "object",
               "type": "string",
               "format": "date-time"
             },
+            "unit": {
+              "type": "string"
+            },
             "value": {
               "type": "string"
             }
           "required": [
             "time",
             "key",
-            "value"
+            "value",
+            "unit"
           ]
         },
         "MetricResults": {
           "required": [
             "results"
           ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
-          ]
         }
       }
     }
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
-          ]
+          "additionalProperties": false
         }
       }
     }
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
           "additionalProperties": false
         },
-        "Macaroon": {
-          "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+        "Macaroon": {
+          "type": "object",
+          "additionalProperties": false
         },
         "NotifyWatchResult": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
             "NotifyWatcherId": {
               "type": "string"
+            },
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "NotifyWatcherId",
-            "Error"
+            "NotifyWatcherId"
           ]
         },
         "NotifyWatchResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/NotifyWatchResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "PhaseResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
             "phase": {
               "type": "string"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "phase",
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "PhaseResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/PhaseResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "results"
           ]
         }
       }
             }
           }
         },
-        "GetMigrationStatus": {
+        "MigrationStatus": {
+          "type": "object",
+          "properties": {
+            "Result": {
+              "$ref": "#/definitions/MasterMigrationStatus"
+            }
+          }
+        },
+        "MinionReports": {
+          "type": "object",
+          "properties": {
+            "Result": {
+              "$ref": "#/definitions/MinionReports"
+            }
+          }
+        },
+        "ModelInfo": {
           "type": "object",
           "properties": {
             "Result": {
-              "$ref": "#/definitions/FullMigrationStatus"
+              "$ref": "#/definitions/MigrationModelInfo"
             }
           }
         },
+        "Prechecks": {
+          "type": "object"
+        },
+        "Reap": {
+          "type": "object"
+        },
         "SetPhase": {
           "type": "object",
           "properties": {
             }
           }
         },
+        "SetStatusMessage": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/SetMigrationStatusMessageArgs"
+            }
+          }
+        },
         "Watch": {
           "type": "object",
           "properties": {
               "$ref": "#/definitions/NotifyWatchResult"
             }
           }
+        },
+        "WatchMinionReports": {
+          "type": "object",
+          "properties": {
+            "Result": {
+              "$ref": "#/definitions/NotifyWatchResult"
+            }
+          }
         }
       },
       "definitions": {
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
           "additionalProperties": false
         },
-        "FullMigrationStatus": {
+        "Macaroon": {
+          "type": "object",
+          "additionalProperties": false
+        },
+        "MasterMigrationStatus": {
           "type": "object",
           "properties": {
-            "attempt": {
-              "type": "integer"
+            "migration-id": {
+              "type": "string"
             },
             "phase": {
               "type": "string"
             },
+            "phase-changed-time": {
+              "type": "string",
+              "format": "date-time"
+            },
             "spec": {
-              "$ref": "#/definitions/ModelMigrationSpec"
+              "$ref": "#/definitions/MigrationSpec"
             }
           },
           "additionalProperties": false,
           "required": [
             "spec",
-            "attempt",
-            "phase"
+            "migration-id",
+            "phase",
+            "phase-changed-time"
           ]
         },
-        "Macaroon": {
+        "MigrationModelInfo": {
           "type": "object",
           "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
+            "agent-version": {
+              "$ref": "#/definitions/Number"
             },
-            "id": {
-              "$ref": "#/definitions/packet"
+            "name": {
+              "type": "string"
             },
-            "location": {
-              "$ref": "#/definitions/packet"
+            "owner-tag": {
+              "type": "string"
             },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
+            "uuid": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
+            "uuid",
+            "name",
+            "owner-tag",
+            "agent-version"
           ]
         },
-        "ModelMigrationSpec": {
+        "MigrationSpec": {
           "type": "object",
           "properties": {
+            "external-control": {
+              "type": "boolean"
+            },
             "model-tag": {
               "type": "string"
             },
+            "skip-initial-prechecks": {
+              "type": "boolean"
+            },
             "target-info": {
-              "$ref": "#/definitions/ModelMigrationTargetInfo"
+              "$ref": "#/definitions/MigrationTargetInfo"
             }
           },
           "additionalProperties": false,
           "required": [
             "model-tag",
-            "target-info"
+            "target-info",
+            "external-control",
+            "skip-initial-prechecks"
           ]
         },
-        "ModelMigrationTargetInfo": {
+        "MigrationTargetInfo": {
           "type": "object",
           "properties": {
             "addrs": {
             "controller-tag": {
               "type": "string"
             },
+            "macaroons": {
+              "type": "string"
+            },
             "password": {
               "type": "string"
             }
             "controller-tag",
             "addrs",
             "ca-cert",
-            "auth-tag",
-            "password"
+            "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": {
-            "Error": {
+            "NotifyWatcherId": {
+              "type": "string"
+            },
+            "error": {
               "$ref": "#/definitions/Error"
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "NotifyWatcherId"
+          ]
+        },
+        "Number": {
+          "type": "object",
+          "properties": {
+            "Build": {
+              "type": "integer"
             },
-            "NotifyWatcherId": {
+            "Major": {
+              "type": "integer"
+            },
+            "Minor": {
+              "type": "integer"
+            },
+            "Patch": {
+              "type": "integer"
+            },
+            "Tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "NotifyWatcherId",
-            "Error"
+            "Major",
+            "Minor",
+            "Tag",
+            "Patch",
+            "Build"
           ]
         },
         "SerializedModel": {
               "items": {
                 "type": "integer"
               }
+            },
+            "charms": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
+            },
+            "tools": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/SerializedModelTools"
+              }
             }
           },
           "additionalProperties": false,
           "required": [
-            "bytes"
+            "bytes",
+            "charms",
+            "tools"
           ]
         },
-        "SetMigrationPhaseArgs": {
+        "SerializedModelTools": {
           "type": "object",
           "properties": {
-            "phase": {
+            "uri": {
+              "type": "string"
+            },
+            "version": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "phase"
+            "version",
+            "uri"
           ]
         },
-        "caveat": {
+        "SetMigrationPhaseArgs": {
           "type": "object",
           "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
+            "phase": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "location",
-            "caveatId",
-            "verificationId"
+            "phase"
           ]
         },
-        "packet": {
+        "SetMigrationStatusMessageArgs": {
           "type": "object",
           "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
+            "message": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "message"
           ]
         }
       }
     "Schema": {
       "type": "object",
       "properties": {
+        "Report": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/MinionReport"
+            }
+          }
+        },
         "Watch": {
           "type": "object",
           "properties": {
         "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"
-            },
-            "MacaroonPath": {
+            "code": {
               "type": "string"
-            }
-          },
-          "additionalProperties": false
-        },
-        "Macaroon": {
-          "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
             },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
+            "info": {
+              "$ref": "#/definitions/ErrorInfo"
             },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
+            "message": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
+            "message",
+            "code"
           ]
         },
-        "NotifyWatchResult": {
+        "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
+            "macaroon": {
+              "$ref": "#/definitions/Macaroon"
             },
-            "NotifyWatcherId": {
+            "macaroon-path": {
               "type": "string"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "NotifyWatcherId",
-            "Error"
-          ]
+          "additionalProperties": false
+        },
+        "Macaroon": {
+          "type": "object",
+          "additionalProperties": false
         },
-        "caveat": {
+        "MinionReport": {
           "type": "object",
           "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
+            "migration-id": {
+              "type": "string"
             },
-            "location": {
-              "$ref": "#/definitions/packet"
+            "phase": {
+              "type": "string"
             },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
+            "success": {
+              "type": "boolean"
             }
           },
           "additionalProperties": false,
           "required": [
-            "location",
-            "caveatId",
-            "verificationId"
+            "migration-id",
+            "phase",
+            "success"
           ]
         },
-        "packet": {
+        "NotifyWatchResult": {
           "type": "object",
           "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
+            "NotifyWatcherId": {
+              "type": "string"
             },
-            "totalLen": {
-              "type": "integer"
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "NotifyWatcherId"
           ]
         }
       }
             "attempt": {
               "type": "integer"
             },
+            "external-control": {
+              "type": "boolean"
+            },
+            "migration-id": {
+              "type": "string"
+            },
             "phase": {
               "type": "string"
             },
           },
           "additionalProperties": false,
           "required": [
+            "migration-id",
             "attempt",
             "phase",
+            "external-control",
             "source-api-addrs",
             "source-ca-cert",
             "target-api-addrs",
               "$ref": "#/definitions/SerializedModel"
             }
           }
+        },
+        "Prechecks": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/MigrationModelInfo"
+            }
+          }
         }
       },
       "definitions": {
+        "MigrationModelInfo": {
+          "type": "object",
+          "properties": {
+            "agent-version": {
+              "$ref": "#/definitions/Number"
+            },
+            "name": {
+              "type": "string"
+            },
+            "owner-tag": {
+              "type": "string"
+            },
+            "uuid": {
+              "type": "string"
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "uuid",
+            "name",
+            "owner-tag",
+            "agent-version"
+          ]
+        },
         "ModelArgs": {
           "type": "object",
           "properties": {
             "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": {
               "items": {
                 "type": "integer"
               }
+            },
+            "charms": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
+            },
+            "tools": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/SerializedModelTools"
+              }
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "bytes",
+            "charms",
+            "tools"
+          ]
+        },
+        "SerializedModelTools": {
+          "type": "object",
+          "properties": {
+            "uri": {
+              "type": "string"
+            },
+            "version": {
+              "type": "string"
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "version",
+            "uri"
+          ]
+        }
+      }
+    }
+  },
+  {
+    "Name": "ModelConfig",
+    "Version": 1,
+    "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"
+            }
+          }
+        }
+      },
+      "definitions": {
+        "ConfigValue": {
+          "type": "object",
+          "properties": {
+            "source": {
+              "type": "string"
+            },
+            "value": {
+              "type": "object",
+              "additionalProperties": true
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "value",
+            "source"
+          ]
+        },
+        "ModelConfigResults": {
+          "type": "object",
+          "properties": {
+            "config": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "$ref": "#/definitions/ConfigValue"
+                }
+              }
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "config"
+          ]
+        },
+        "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": [
-            "bytes"
+            "keys"
           ]
         }
       }
     "Schema": {
       "type": "object",
       "properties": {
-        "ConfigSkeleton": {
+        "CreateModel": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/ModelCreateArgs"
+            },
+            "Result": {
+              "$ref": "#/definitions/ModelInfo"
+            }
+          }
+        },
+        "DestroyModels": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/Entities"
+            },
+            "Result": {
+              "$ref": "#/definitions/ErrorResults"
+            }
+          }
+        },
+        "DumpModels": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/Entities"
+            },
+            "Result": {
+              "$ref": "#/definitions/MapResults"
+            }
+          }
+        },
+        "DumpModelsDB": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/Entities"
+            },
+            "Result": {
+              "$ref": "#/definitions/MapResults"
+            }
+          }
+        },
+        "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/ModelSkeletonConfigArgs"
+              "$ref": "#/definitions/Entities"
             },
             "Result": {
-              "$ref": "#/definitions/ModelConfigResult"
+              "$ref": "#/definitions/ModelInfoResults"
             }
           }
         },
-        "CreateModel": {
+        "ModelStatus": {
           "type": "object",
           "properties": {
             "Params": {
-              "$ref": "#/definitions/ModelCreateArgs"
+              "$ref": "#/definitions/Entities"
             },
             "Result": {
-              "$ref": "#/definitions/Model"
+              "$ref": "#/definitions/ModelStatusResults"
             }
           }
         },
-        "ListModels": {
+        "ModifyModelAccess": {
           "type": "object",
           "properties": {
             "Params": {
-              "$ref": "#/definitions/Entity"
+              "$ref": "#/definitions/ModifyModelAccessRequest"
             },
             "Result": {
-              "$ref": "#/definitions/UserModelList"
+              "$ref": "#/definitions/ErrorResults"
             }
           }
         },
-        "ModelInfo": {
+        "SetModelDefaults": {
           "type": "object",
           "properties": {
             "Params": {
-              "$ref": "#/definitions/Entities"
+              "$ref": "#/definitions/SetModelDefaults"
             },
             "Result": {
-              "$ref": "#/definitions/ModelInfoResults"
+              "$ref": "#/definitions/ErrorResults"
             }
           }
         },
-        "ModifyModelAccess": {
+        "UnsetModelDefaults": {
           "type": "object",
           "properties": {
             "Params": {
-              "$ref": "#/definitions/ModifyModelAccessRequest"
+              "$ref": "#/definitions/UnsetModelDefaults"
             },
             "Result": {
               "$ref": "#/definitions/ErrorResults"
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "EntityStatus": {
           "type": "object",
           "properties": {
-            "Data": {
+            "data": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "Info": {
+            "info": {
               "type": "string"
             },
-            "Since": {
+            "since": {
               "type": "string",
               "format": "date-time"
             },
-            "Status": {
+            "status": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Status",
-            "Info",
-            "Data",
-            "Since"
+            "status",
+            "info",
+            "since"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
+          "type": "object",
+          "additionalProperties": false
+        },
+        "MachineHardware": {
           "type": "object",
           "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
+            "arch": {
+              "type": "string"
             },
-            "data": {
+            "availability-zone": {
+              "type": "string"
+            },
+            "cores": {
+              "type": "integer"
+            },
+            "cpu-power": {
+              "type": "integer"
+            },
+            "mem": {
+              "type": "integer"
+            },
+            "root-disk": {
+              "type": "integer"
+            },
+            "tags": {
               "type": "array",
               "items": {
-                "type": "integer"
+                "type": "string"
               }
+            }
+          },
+          "additionalProperties": false
+        },
+        "MapResult": {
+          "type": "object",
+          "properties": {
+            "error": {
+              "$ref": "#/definitions/Error"
             },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
+            "result": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "type": "object",
+                  "additionalProperties": true
+                }
+              }
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "result"
+          ]
+        },
+        "MapResults": {
+          "type": "object",
+          "properties": {
+            "results": {
               "type": "array",
               "items": {
-                "type": "integer"
+                "$ref": "#/definitions/MapResult"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
+            "results"
           ]
         },
         "Model": {
           "type": "object",
           "properties": {
-            "Name": {
+            "name": {
               "type": "string"
             },
-            "OwnerTag": {
+            "owner-tag": {
               "type": "string"
             },
-            "UUID": {
+            "uuid": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Name",
-            "UUID",
-            "OwnerTag"
+            "name",
+            "uuid",
+            "owner-tag"
           ]
         },
-        "ModelConfigResult": {
+        "ModelCreateArgs": {
           "type": "object",
           "properties": {
-            "Config": {
+            "cloud-tag": {
+              "type": "string"
+            },
+            "config": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                   "additionalProperties": true
                 }
               }
+            },
+            "credential": {
+              "type": "string"
+            },
+            "name": {
+              "type": "string"
+            },
+            "owner-tag": {
+              "type": "string"
+            },
+            "region": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Config"
+            "name",
+            "owner-tag"
           ]
         },
-        "ModelCreateArgs": {
+        "ModelDefaultValues": {
           "type": "object",
           "properties": {
-            "Account": {
+            "cloud-region": {
+              "type": "string"
+            },
+            "cloud-tag": {
+              "type": "string"
+            },
+            "config": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                   "additionalProperties": true
                 }
               }
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "config"
+          ]
+        },
+        "ModelDefaults": {
+          "type": "object",
+          "properties": {
+            "controller": {
+              "type": "object",
+              "additionalProperties": true
             },
-            "Config": {
+            "default": {
+              "type": "object",
+              "additionalProperties": true
+            },
+            "regions": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/RegionDefaults"
+              }
+            }
+          },
+          "additionalProperties": false
+        },
+        "ModelDefaultsResult": {
+          "type": "object",
+          "properties": {
+            "config": {
               "type": "object",
               "patternProperties": {
                 ".*": {
-                  "type": "object",
-                  "additionalProperties": true
+                  "$ref": "#/definitions/ModelDefaults"
                 }
               }
-            },
-            "OwnerTag": {
-              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "OwnerTag",
-            "Account",
-            "Config"
+            "config"
           ]
         },
         "ModelInfo": {
           "type": "object",
           "properties": {
-            "Cloud": {
+            "cloud-credential-tag": {
               "type": "string"
             },
-            "DefaultSeries": {
+            "cloud-region": {
               "type": "string"
             },
-            "Life": {
+            "cloud-tag": {
               "type": "string"
             },
-            "Name": {
+            "controller-uuid": {
               "type": "string"
             },
-            "OwnerTag": {
+            "default-series": {
               "type": "string"
             },
-            "ProviderType": {
+            "life": {
               "type": "string"
             },
-            "ServerUUID": {
+            "machines": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/ModelMachineInfo"
+              }
+            },
+            "name": {
               "type": "string"
             },
-            "Status": {
-              "$ref": "#/definitions/EntityStatus"
+            "owner-tag": {
+              "type": "string"
             },
-            "UUID": {
+            "provider-type": {
               "type": "string"
             },
-            "Users": {
+            "status": {
+              "$ref": "#/definitions/EntityStatus"
+            },
+            "users": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ModelUserInfo"
               }
+            },
+            "uuid": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Name",
-            "UUID",
-            "ServerUUID",
-            "ProviderType",
-            "DefaultSeries",
-            "Cloud",
-            "OwnerTag",
-            "Life",
-            "Status",
-            "Users"
+            "name",
+            "uuid",
+            "controller-uuid",
+            "provider-type",
+            "default-series",
+            "cloud-tag",
+            "owner-tag",
+            "life",
+            "status",
+            "users",
+            "machines"
           ]
         },
         "ModelInfoResult": {
           },
           "additionalProperties": false
         },
-        "ModelInfoResults": {
+        "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"
+            },
+            "status": {
+              "type": "string"
+            },
+            "wants-vote": {
+              "type": "boolean"
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "id"
+          ]
+        },
+        "ModelStatus": {
+          "type": "object",
+          "properties": {
+            "application-count": {
+              "type": "integer"
+            },
+            "hosted-machine-count": {
+              "type": "integer"
+            },
+            "life": {
+              "type": "string"
+            },
+            "machines": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/ModelMachineInfo"
+              }
+            },
+            "model-tag": {
+              "type": "string"
+            },
+            "owner-tag": {
+              "type": "string"
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "model-tag",
+            "life",
+            "hosted-machine-count",
+            "application-count",
+            "owner-tag"
+          ]
+        },
+        "ModelStatusResults": {
           "type": "object",
           "properties": {
-            "results": {
+            "models": {
               "type": "array",
               "items": {
-                "$ref": "#/definitions/ModelInfoResult"
+                "$ref": "#/definitions/ModelStatus"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "results"
+            "models"
           ]
         },
-        "ModelSkeletonConfigArgs": {
+        "ModelUnsetKeys": {
           "type": "object",
           "properties": {
-            "Provider": {
+            "cloud-region": {
               "type": "string"
             },
-            "Region": {
+            "cloud-tag": {
               "type": "string"
+            },
+            "keys": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
             }
           },
           "additionalProperties": false,
           "required": [
-            "Provider",
-            "Region"
+            "keys"
           ]
         },
         "ModelUserInfo": {
             "access": {
               "type": "string"
             },
-            "displayname": {
+            "display-name": {
               "type": "string"
             },
-            "lastconnection": {
+            "last-connection": {
               "type": "string",
               "format": "date-time"
             },
           "additionalProperties": false,
           "required": [
             "user",
-            "displayname",
-            "lastconnection",
+            "display-name",
+            "last-connection",
             "access"
           ]
         },
             "changes"
           ]
         },
-        "UserModel": {
+        "RegionDefaults": {
           "type": "object",
           "properties": {
-            "LastConnection": {
-              "type": "string",
-              "format": "date-time"
+            "region-name": {
+              "type": "string"
             },
-            "Model": {
-              "$ref": "#/definitions/Model"
+            "value": {
+              "type": "object",
+              "additionalProperties": true
             }
           },
           "additionalProperties": false,
           "required": [
-            "Model",
-            "LastConnection"
+            "region-name",
+            "value"
           ]
         },
-        "UserModelList": {
+        "SetModelDefaults": {
           "type": "object",
           "properties": {
-            "UserModels": {
+            "config": {
               "type": "array",
               "items": {
-                "$ref": "#/definitions/UserModel"
+                "$ref": "#/definitions/ModelDefaultValues"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "UserModels"
+            "config"
           ]
         },
-        "caveat": {
+        "UnsetModelDefaults": {
           "type": "object",
           "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
+            "keys": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/ModelUnsetKeys"
+              }
             }
           },
           "additionalProperties": false,
           "required": [
-            "location",
-            "caveatId",
-            "verificationId"
+            "keys"
           ]
         },
-        "packet": {
+        "UserModel": {
           "type": "object",
           "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
+            "last-connection": {
+              "type": "string",
+              "format": "date-time"
             },
-            "totalLen": {
-              "type": "integer"
+            "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": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "user-models"
           ]
         }
       }
             }
           }
         },
+        "ControllerConfig": {
+          "type": "object",
+          "properties": {
+            "Result": {
+              "$ref": "#/definitions/ControllerConfigResult"
+            }
+          }
+        },
         "DistributionGroup": {
           "type": "object",
           "properties": {
             }
           }
         },
+        "MarkMachinesForRemoval": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/Entities"
+            },
+            "Result": {
+              "$ref": "#/definitions/ErrorResults"
+            }
+          }
+        },
         "ModelConfig": {
           "type": "object",
           "properties": {
         "APIHostPortsResult": {
           "type": "object",
           "properties": {
-            "Servers": {
+            "servers": {
               "type": "array",
               "items": {
                 "type": "array",
           },
           "additionalProperties": false,
           "required": [
-            "Servers"
+            "servers"
           ]
         },
         "Address": {
           "type": "object",
           "properties": {
-            "Scope": {
+            "scope": {
               "type": "string"
             },
-            "SpaceName": {
+            "space-name": {
               "type": "string"
             },
-            "Type": {
+            "type": {
               "type": "string"
             },
-            "Value": {
+            "value": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Value",
-            "Type",
-            "Scope"
+            "value",
+            "type",
+            "scope"
           ]
         },
         "Binary": {
         "BytesResult": {
           "type": "object",
           "properties": {
-            "Result": {
+            "result": {
               "type": "array",
               "items": {
                 "type": "integer"
           },
           "additionalProperties": false,
           "required": [
-            "Result"
+            "result"
           ]
         },
         "CloudImageMetadata": {
             "arch": {
               "type": "string"
             },
-            "image_id": {
+            "image-id": {
               "type": "string"
             },
             "priority": {
             "region": {
               "type": "string"
             },
-            "root_storage_size": {
+            "root-storage-size": {
               "type": "integer"
             },
-            "root_storage_type": {
+            "root-storage-type": {
               "type": "string"
             },
             "series": {
             "version": {
               "type": "string"
             },
-            "virt_type": {
+            "virt-type": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "image_id",
+            "image-id",
             "region",
             "version",
             "series",
         "ConstraintsResult": {
           "type": "object",
           "properties": {
-            "Constraints": {
+            "constraints": {
               "$ref": "#/definitions/Value"
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Constraints"
+            "constraints"
           ]
         },
         "ConstraintsResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ConstraintsResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "ContainerConfig": {
           "type": "object",
           "properties": {
-            "AllowLXCLoopMounts": {
-              "type": "boolean"
+            "UpdateBehavior": {
+              "$ref": "#/definitions/UpdateBehavior"
             },
-            "AptMirror": {
+            "apt-mirror": {
               "type": "string"
             },
-            "AptProxy": {
+            "apt-proxy": {
               "$ref": "#/definitions/Settings"
             },
-            "AuthorizedKeys": {
+            "authorized-keys": {
               "type": "string"
             },
-            "ProviderType": {
+            "provider-type": {
               "type": "string"
             },
-            "Proxy": {
+            "proxy": {
               "$ref": "#/definitions/Settings"
             },
-            "SSLHostnameVerification": {
+            "ssl-hostname-verification": {
               "type": "boolean"
-            },
-            "UpdateBehavior": {
-              "$ref": "#/definitions/UpdateBehavior"
             }
           },
           "additionalProperties": false,
           "required": [
-            "ProviderType",
-            "AuthorizedKeys",
-            "SSLHostnameVerification",
-            "Proxy",
-            "AptProxy",
-            "AptMirror",
-            "AllowLXCLoopMounts",
+            "provider-type",
+            "authorized-keys",
+            "ssl-hostname-verification",
+            "proxy",
+            "apt-proxy",
+            "apt-mirror",
             "UpdateBehavior"
           ]
         },
         "ContainerManagerConfig": {
           "type": "object",
           "properties": {
-            "ManagerConfig": {
+            "config": {
               "type": "object",
               "patternProperties": {
                 ".*": {
           },
           "additionalProperties": false,
           "required": [
-            "ManagerConfig"
+            "config"
           ]
         },
         "ContainerManagerConfigParams": {
           "type": "object",
           "properties": {
-            "Type": {
+            "type": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Type"
+            "type"
+          ]
+        },
+        "ControllerConfigResult": {
+          "type": "object",
+          "properties": {
+            "config": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "type": "object",
+                  "additionalProperties": true
+                }
+              }
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "config"
           ]
         },
         "DistributionGroupResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Result"
+            "result"
           ]
         },
         "DistributionGroupResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/DistributionGroupResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "EntityPassword": {
           "type": "object",
           "properties": {
-            "Password": {
+            "password": {
               "type": "string"
             },
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag",
-            "Password"
+            "tag",
+            "password"
           ]
         },
         "EntityPasswords": {
           "type": "object",
           "properties": {
-            "Changes": {
+            "changes": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/EntityPassword"
           },
           "additionalProperties": false,
           "required": [
-            "Changes"
+            "changes"
           ]
         },
         "EntityStatusArgs": {
           "type": "object",
           "properties": {
-            "Data": {
+            "data": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "Info": {
+            "info": {
               "type": "string"
             },
-            "Status": {
+            "status": {
               "type": "string"
             },
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag",
-            "Status",
-            "Info",
-            "Data"
+            "tag",
+            "status",
+            "info",
+            "data"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "FindToolsParams": {
           "type": "object",
           "properties": {
-            "Arch": {
+            "arch": {
               "type": "string"
             },
-            "MajorVersion": {
+            "major": {
               "type": "integer"
             },
-            "MinorVersion": {
+            "minor": {
               "type": "integer"
             },
-            "Number": {
+            "number": {
               "$ref": "#/definitions/Number"
             },
-            "Series": {
+            "series": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Number",
-            "MajorVersion",
-            "MinorVersion",
-            "Arch",
-            "Series"
+            "number",
+            "major",
+            "minor",
+            "arch",
+            "series"
           ]
         },
         "FindToolsResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "List": {
+            "list": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Tools"
           },
           "additionalProperties": false,
           "required": [
-            "List",
-            "Error"
+            "list"
           ]
         },
         "HardwareCharacteristics": {
           "type": "object",
           "properties": {
-            "Arch": {
+            "arch": {
               "type": "string"
             },
-            "AvailabilityZone": {
+            "availability-zone": {
               "type": "string"
             },
-            "CpuCores": {
+            "cpu-cores": {
               "type": "integer"
             },
-            "CpuPower": {
+            "cpu-power": {
               "type": "integer"
             },
-            "Mem": {
+            "mem": {
               "type": "integer"
             },
-            "RootDisk": {
+            "root-disk": {
               "type": "integer"
             },
-            "Tags": {
+            "tags": {
               "type": "array",
               "items": {
                 "type": "string"
             "Address": {
               "$ref": "#/definitions/Address"
             },
-            "Port": {
+            "port": {
               "type": "integer"
             }
           },
           "additionalProperties": false,
           "required": [
             "Address",
-            "Port"
+            "port"
           ]
         },
         "InstanceInfo": {
           "type": "object",
           "properties": {
-            "Characteristics": {
+            "characteristics": {
               "$ref": "#/definitions/HardwareCharacteristics"
             },
-            "InstanceId": {
+            "instance-id": {
               "type": "string"
             },
-            "NetworkConfig": {
+            "network-config": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/NetworkConfig"
               }
             },
-            "Nonce": {
+            "nonce": {
               "type": "string"
             },
-            "Tag": {
+            "tag": {
               "type": "string"
             },
-            "VolumeAttachments": {
+            "volume-attachments": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "Volumes": {
+            "volumes": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Volume"
           },
           "additionalProperties": false,
           "required": [
-            "Tag",
-            "InstanceId",
-            "Nonce",
-            "Characteristics",
-            "Volumes",
-            "VolumeAttachments",
-            "NetworkConfig"
+            "tag",
+            "instance-id",
+            "nonce",
+            "characteristics",
+            "volumes",
+            "volume-attachments",
+            "network-config"
           ]
         },
         "InstancesInfo": {
           "type": "object",
           "properties": {
-            "Machines": {
+            "machines": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/InstanceInfo"
           },
           "additionalProperties": false,
           "required": [
-            "Machines"
+            "machines"
           ]
         },
         "LifeResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Life": {
+            "life": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Life",
-            "Error"
+            "life"
           ]
         },
         "LifeResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/LifeResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "MachineContainers": {
           "type": "object",
           "properties": {
-            "ContainerTypes": {
+            "container-types": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "MachineTag": {
+            "machine-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "MachineTag",
-            "ContainerTypes"
+            "machine-tag",
+            "container-types"
           ]
         },
         "MachineContainersParams": {
           "type": "object",
           "properties": {
-            "Params": {
+            "params": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/MachineContainers"
           },
           "additionalProperties": false,
           "required": [
-            "Params"
+            "params"
           ]
         },
         "MachineNetworkConfigResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Info": {
+            "info": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/NetworkConfig"
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Info"
+            "info"
           ]
         },
         "MachineNetworkConfigResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/MachineNetworkConfigResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "ModelConfigResult": {
           "type": "object",
           "properties": {
-            "Config": {
+            "config": {
               "type": "object",
               "patternProperties": {
                 ".*": {
           },
           "additionalProperties": false,
           "required": [
-            "Config"
+            "config"
           ]
         },
         "NetworkConfig": {
           "type": "object",
           "properties": {
-            "Address": {
+            "address": {
               "type": "string"
             },
-            "CIDR": {
+            "cidr": {
               "type": "string"
             },
-            "ConfigType": {
+            "config-type": {
               "type": "string"
             },
-            "DNSSearchDomains": {
+            "device-index": {
+              "type": "integer"
+            },
+            "disabled": {
+              "type": "boolean"
+            },
+            "dns-search-domains": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "DNSServers": {
+            "dns-servers": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "DeviceIndex": {
-              "type": "integer"
-            },
-            "Disabled": {
-              "type": "boolean"
-            },
-            "GatewayAddress": {
+            "gateway-address": {
               "type": "string"
             },
-            "InterfaceName": {
+            "interface-name": {
               "type": "string"
             },
-            "InterfaceType": {
+            "interface-type": {
               "type": "string"
             },
-            "MACAddress": {
+            "mac-address": {
               "type": "string"
             },
-            "MTU": {
+            "mtu": {
               "type": "integer"
             },
-            "NoAutoStart": {
+            "no-auto-start": {
               "type": "boolean"
             },
-            "ParentInterfaceName": {
+            "parent-interface-name": {
               "type": "string"
             },
-            "ProviderAddressId": {
+            "provider-address-id": {
               "type": "string"
             },
-            "ProviderId": {
+            "provider-id": {
               "type": "string"
             },
-            "ProviderSpaceId": {
+            "provider-space-id": {
               "type": "string"
             },
-            "ProviderSubnetId": {
+            "provider-subnet-id": {
               "type": "string"
             },
-            "ProviderVLANId": {
+            "provider-vlan-id": {
               "type": "string"
             },
-            "VLANTag": {
+            "vlan-tag": {
               "type": "integer"
             }
           },
           "additionalProperties": false,
           "required": [
-            "DeviceIndex",
-            "MACAddress",
-            "CIDR",
-            "MTU",
-            "ProviderId",
-            "ProviderSubnetId",
-            "ProviderSpaceId",
-            "ProviderAddressId",
-            "ProviderVLANId",
-            "VLANTag",
-            "InterfaceName",
-            "ParentInterfaceName",
-            "InterfaceType",
-            "Disabled"
+            "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"
           ]
         },
         "NotifyWatchResult": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
             "NotifyWatcherId": {
               "type": "string"
+            },
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "NotifyWatcherId",
-            "Error"
+            "NotifyWatcherId"
           ]
         },
         "Number": {
         "ProvisioningInfo": {
           "type": "object",
           "properties": {
-            "Constraints": {
+            "constraints": {
               "$ref": "#/definitions/Value"
             },
-            "EndpointBindings": {
+            "controller-config": {
+              "type": "object",
+              "patternProperties": {
+                ".*": {
+                  "type": "object",
+                  "additionalProperties": true
+                }
+              }
+            },
+            "endpoint-bindings": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "ImageMetadata": {
+            "image-metadata": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/CloudImageMetadata"
               }
             },
-            "Jobs": {
+            "jobs": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "Placement": {
+            "placement": {
               "type": "string"
             },
-            "Series": {
+            "series": {
               "type": "string"
             },
-            "SubnetsToZones": {
+            "subnets-to-zones": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "Tags": {
+            "tags": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "Volumes": {
+            "volumes": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/VolumeParams"
           },
           "additionalProperties": false,
           "required": [
-            "Constraints",
-            "Series",
-            "Placement",
-            "Jobs",
-            "Volumes",
-            "Tags",
-            "SubnetsToZones",
-            "ImageMetadata",
-            "EndpointBindings"
+            "constraints",
+            "series",
+            "placement",
+            "jobs"
           ]
         },
         "ProvisioningInfoResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "$ref": "#/definitions/ProvisioningInfo"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Result"
+            "result"
           ]
         },
         "ProvisioningInfoResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ProvisioningInfoResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "SetStatus": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/EntityStatusArgs"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Settings": {
         "StatusResult": {
           "type": "object",
           "properties": {
-            "Data": {
+            "data": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Id": {
+            "id": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "type": "string"
             },
-            "Life": {
+            "life": {
               "type": "string"
             },
-            "Since": {
+            "since": {
               "type": "string",
               "format": "date-time"
             },
-            "Status": {
+            "status": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Id",
-            "Life",
-            "Status",
-            "Info",
-            "Data",
-            "Since"
+            "id",
+            "life",
+            "status",
+            "info",
+            "data",
+            "since"
           ]
         },
         "StatusResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StatusResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "StringResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Result"
+            "result"
           ]
         },
         "StringResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StringResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "StringsResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error",
-            "Result"
-          ]
+          "additionalProperties": false
         },
         "StringsWatchResult": {
           "type": "object",
           "properties": {
-            "Changes": {
+            "changes": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "StringsWatcherId": {
+            "watcher-id": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "StringsWatcherId",
-            "Changes",
-            "Error"
+            "watcher-id"
           ]
         },
         "StringsWatchResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StringsWatchResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Tools": {
         "ToolsResult": {
           "type": "object",
           "properties": {
-            "DisableSSLHostnameVerification": {
+            "disable-ssl-hostname-verification": {
               "type": "boolean"
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "ToolsList": {
+            "tools": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Tools"
           },
           "additionalProperties": false,
           "required": [
-            "ToolsList",
-            "DisableSSLHostnameVerification",
-            "Error"
+            "tools",
+            "disable-ssl-hostname-verification"
           ]
         },
         "ToolsResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ToolsResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "UpdateBehavior": {
           "type": "object",
           "properties": {
-            "EnableOSRefreshUpdate": {
+            "enable-os-refresh-update": {
               "type": "boolean"
             },
-            "EnableOSUpgrade": {
+            "enable-os-upgrade": {
               "type": "boolean"
             }
           },
           "additionalProperties": false,
           "required": [
-            "EnableOSRefreshUpdate",
-            "EnableOSUpgrade"
+            "enable-os-refresh-update",
+            "enable-os-upgrade"
           ]
         },
         "Value": {
             "container": {
               "type": "string"
             },
-            "cpu-cores": {
+            "cores": {
               "type": "integer"
             },
             "cpu-power": {
             "info": {
               "$ref": "#/definitions/VolumeInfo"
             },
-            "volumetag": {
+            "volume-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "volumetag",
+            "volume-tag",
             "info"
           ]
         },
         "VolumeAttachmentInfo": {
           "type": "object",
           "properties": {
-            "busaddress": {
+            "bus-address": {
               "type": "string"
             },
-            "devicelink": {
+            "device-link": {
               "type": "string"
             },
-            "devicename": {
+            "device-name": {
               "type": "string"
             },
             "read-only": {
         "VolumeAttachmentParams": {
           "type": "object",
           "properties": {
-            "instanceid": {
+            "instance-id": {
               "type": "string"
             },
-            "machinetag": {
+            "machine-tag": {
               "type": "string"
             },
             "provider": {
             "read-only": {
               "type": "boolean"
             },
-            "volumeid": {
+            "volume-id": {
               "type": "string"
             },
-            "volumetag": {
+            "volume-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "volumetag",
-            "machinetag",
+            "volume-tag",
+            "machine-tag",
             "provider"
           ]
         },
         "VolumeInfo": {
           "type": "object",
           "properties": {
-            "hardwareid": {
+            "hardware-id": {
               "type": "string"
             },
             "persistent": {
             "size": {
               "type": "integer"
             },
-            "volumeid": {
+            "volume-id": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "volumeid",
+            "volume-id",
             "size",
             "persistent"
           ]
                 }
               }
             },
-            "volumetag": {
+            "volume-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "volumetag",
+            "volume-tag",
             "size",
             "provider"
           ]
         "WatchContainer": {
           "type": "object",
           "properties": {
-            "ContainerType": {
+            "container-type": {
               "type": "string"
             },
-            "MachineTag": {
+            "machine-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "MachineTag",
-            "ContainerType"
+            "machine-tag",
+            "container-type"
           ]
         },
         "WatchContainers": {
           "type": "object",
           "properties": {
-            "Params": {
+            "params": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/WatchContainer"
           },
           "additionalProperties": false,
           "required": [
-            "Params"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "params"
           ]
         }
       }
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "NotifyWatchResult": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
             "NotifyWatcherId": {
               "type": "string"
+            },
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "NotifyWatcherId",
-            "Error"
+            "NotifyWatcherId"
           ]
         },
         "NotifyWatchResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/NotifyWatchResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "ProxyConfig": {
           "type": "object",
           "properties": {
-            "FTP": {
+            "ftp": {
               "type": "string"
             },
-            "HTTP": {
+            "http": {
               "type": "string"
             },
-            "HTTPS": {
+            "https": {
               "type": "string"
             },
-            "NoProxy": {
+            "no-proxy": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "HTTP",
-            "HTTPS",
-            "FTP",
-            "NoProxy"
+            "http",
+            "https",
+            "ftp",
+            "no-proxy"
           ]
         },
         "ProxyConfigResult": {
           "type": "object",
           "properties": {
-            "APTProxySettings": {
+            "apt-proxy-settings": {
               "$ref": "#/definitions/ProxyConfig"
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "ProxySettings": {
+            "proxy-settings": {
               "$ref": "#/definitions/ProxyConfig"
             }
           },
           "additionalProperties": false,
           "required": [
-            "ProxySettings",
-            "APTProxySettings"
+            "proxy-settings",
+            "apt-proxy-settings"
           ]
         },
         "ProxyConfigResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ProxyConfigResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "results"
           ]
         }
       }
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "NotifyWatchResult": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
             "NotifyWatcherId": {
               "type": "string"
+            },
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "NotifyWatcherId",
-            "Error"
+            "NotifyWatcherId"
           ]
         },
         "RebootActionResult": {
             }
           },
           "additionalProperties": false
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
-          ]
         }
       }
     }
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "RelationUnitsChange": {
           "type": "object",
           "properties": {
-            "Changed": {
+            "changed": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "Departed": {
+            "departed": {
               "type": "array",
               "items": {
                 "type": "string"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Changed",
-            "Departed"
-          ]
-        },
-        "RelationUnitsWatchResult": {
-          "type": "object",
-          "properties": {
-            "Changes": {
-              "$ref": "#/definitions/RelationUnitsChange"
-            },
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
-            "RelationUnitsWatcherId": {
-              "type": "string"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "RelationUnitsWatcherId",
-            "Changes",
-            "Error"
-          ]
-        },
-        "UnitSettings": {
-          "type": "object",
-          "properties": {
-            "Version": {
-              "type": "integer"
+              }
             }
           },
           "additionalProperties": false,
           "required": [
-            "Version"
+            "changed"
           ]
         },
-        "caveat": {
+        "RelationUnitsWatchResult": {
           "type": "object",
           "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
+            "changes": {
+              "$ref": "#/definitions/RelationUnitsChange"
             },
-            "location": {
-              "$ref": "#/definitions/packet"
+            "error": {
+              "$ref": "#/definitions/Error"
             },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
+            "watcher-id": {
+              "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "location",
-            "caveatId",
-            "verificationId"
+            "watcher-id",
+            "changes"
           ]
         },
-        "packet": {
+        "UnitSettings": {
           "type": "object",
           "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
+            "version": {
               "type": "integer"
             }
           },
           "additionalProperties": false,
           "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "version"
           ]
         }
       }
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "NotifyWatchResult": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
             "NotifyWatcherId": {
               "type": "string"
+            },
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "NotifyWatcherId",
-            "Error"
+            "NotifyWatcherId"
           ]
         },
         "NotifyWatchResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/NotifyWatchResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "RetryStrategy": {
           "type": "object",
           "properties": {
-            "JitterRetryTime": {
+            "jitter-retry-time": {
               "type": "boolean"
             },
-            "MaxRetryTime": {
+            "max-retry-time": {
               "type": "integer"
             },
-            "MinRetryTime": {
+            "min-retry-time": {
               "type": "integer"
             },
-            "RetryTimeFactor": {
+            "retry-time-factor": {
               "type": "integer"
             },
-            "ShouldRetry": {
+            "should-retry": {
               "type": "boolean"
             }
           },
           "additionalProperties": false,
           "required": [
-            "ShouldRetry",
-            "MinRetryTime",
-            "MaxRetryTime",
-            "JitterRetryTime",
-            "RetryTimeFactor"
+            "should-retry",
+            "min-retry-time",
+            "max-retry-time",
+            "jitter-retry-time",
+            "retry-time-factor"
           ]
         },
         "RetryStrategyResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "$ref": "#/definitions/RetryStrategy"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error",
-            "Result"
-          ]
+          "additionalProperties": false
         },
         "RetryStrategyResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/RetryStrategyResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "results"
           ]
         }
       }
   },
   {
     "Name": "SSHClient",
-    "Version": 1,
+    "Version": 2,
     "Schema": {
       "type": "object",
       "properties": {
+        "AllAddresses": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/Entities"
+            },
+            "Result": {
+              "$ref": "#/definitions/SSHAddressesResults"
+            }
+          }
+        },
         "PrivateAddress": {
           "type": "object",
           "properties": {
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
           "additionalProperties": false
         },
         "Macaroon": {
+          "type": "object",
+          "additionalProperties": false
+        },
+        "SSHAddressResult": {
           "type": "object",
           "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
+            "address": {
+              "type": "string"
             },
-            "sig": {
+            "error": {
+              "$ref": "#/definitions/Error"
+            }
+          },
+          "additionalProperties": false
+        },
+        "SSHAddressResults": {
+          "type": "object",
+          "properties": {
+            "results": {
               "type": "array",
               "items": {
-                "type": "integer"
+                "$ref": "#/definitions/SSHAddressResult"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
+            "results"
           ]
         },
-        "SSHAddressResult": {
+        "SSHAddressesResult": {
           "type": "object",
           "properties": {
-            "address": {
-              "type": "string"
+            "addresses": {
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
             },
             "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false
+          "additionalProperties": false,
+          "required": [
+            "addresses"
+          ]
         },
-        "SSHAddressResults": {
+        "SSHAddressesResults": {
           "type": "object",
           "properties": {
             "results": {
               "type": "array",
               "items": {
-                "$ref": "#/definitions/SSHAddressResult"
+                "$ref": "#/definitions/SSHAddressesResult"
               }
             }
           },
           "required": [
             "results"
           ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
-          ]
         }
       }
     }
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "SingularClaim": {
           "type": "object",
           "properties": {
-            "ControllerTag": {
+            "controller-tag": {
               "type": "string"
             },
-            "Duration": {
+            "duration": {
               "type": "integer"
             },
-            "ModelTag": {
+            "model-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "ModelTag",
-            "ControllerTag",
-            "Duration"
+            "model-tag",
+            "controller-tag",
+            "duration"
           ]
         },
         "SingularClaims": {
           "type": "object",
-          "properties": {
-            "Claims": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/SingularClaim"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Claims"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
+          "properties": {
+            "claims": {
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/SingularClaim"
+              }
             }
           },
           "additionalProperties": false,
           "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "claims"
           ]
         }
       }
         "CreateSpaceParams": {
           "type": "object",
           "properties": {
-            "ProviderId": {
+            "provider-id": {
               "type": "string"
             },
-            "Public": {
+            "public": {
               "type": "boolean"
             },
-            "SpaceTag": {
+            "space-tag": {
               "type": "string"
             },
-            "SubnetTags": {
+            "subnet-tags": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "SubnetTags",
-            "SpaceTag",
-            "Public"
+            "subnet-tags",
+            "space-tag",
+            "public"
           ]
         },
         "CreateSpacesParams": {
           "type": "object",
           "properties": {
-            "Spaces": {
+            "spaces": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/CreateSpaceParams"
           },
           "additionalProperties": false,
           "required": [
-            "Spaces"
+            "spaces"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "ListSpacesResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Space"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "Space": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Name": {
+            "name": {
               "type": "string"
             },
-            "Subnets": {
+            "subnets": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Subnet"
           },
           "additionalProperties": false,
           "required": [
-            "Name",
-            "Subnets"
+            "name",
+            "subnets"
           ]
         },
         "Subnet": {
           "type": "object",
           "properties": {
-            "CIDR": {
+            "cidr": {
               "type": "string"
             },
-            "Life": {
+            "life": {
               "type": "string"
             },
-            "ProviderId": {
+            "provider-id": {
               "type": "string"
             },
-            "SpaceTag": {
+            "space-tag": {
               "type": "string"
             },
-            "StaticRangeHighIP": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "StaticRangeLowIP": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "Status": {
+            "status": {
               "type": "string"
             },
-            "VLANTag": {
+            "vlan-tag": {
               "type": "integer"
             },
-            "Zones": {
+            "zones": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "CIDR",
-            "VLANTag",
-            "Life",
-            "SpaceTag",
-            "Zones"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "cidr",
+            "vlan-tag",
+            "life",
+            "space-tag",
+            "zones"
           ]
         }
       }
         "StatusHistoryPruneArgs": {
           "type": "object",
           "properties": {
-            "MaxHistoryMB": {
+            "max-history-mb": {
               "type": "integer"
             },
-            "MaxHistoryTime": {
+            "max-history-time": {
               "type": "integer"
             }
           },
           "additionalProperties": false,
           "required": [
-            "MaxHistoryTime",
-            "MaxHistoryMB"
+            "max-history-time",
+            "max-history-mb"
           ]
         }
       }
   },
   {
     "Name": "Storage",
-    "Version": 2,
+    "Version": 3,
     "Schema": {
       "type": "object",
       "properties": {
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "EntityStatus": {
           "type": "object",
           "properties": {
-            "Data": {
+            "data": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "Info": {
+            "info": {
               "type": "string"
             },
-            "Since": {
+            "since": {
               "type": "string",
               "format": "date-time"
             },
-            "Status": {
+            "status": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Status",
-            "Info",
-            "Data",
-            "Since"
+            "status",
+            "info",
+            "since"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "FilesystemAttachmentInfo": {
           "type": "object",
           "properties": {
-            "mountpoint": {
+            "mount-point": {
               "type": "string"
             },
             "read-only": {
         "FilesystemDetails": {
           "type": "object",
           "properties": {
-            "filesystemtag": {
+            "filesystem-tag": {
               "type": "string"
             },
             "info": {
               "$ref": "#/definitions/FilesystemInfo"
             },
-            "machineattachments": {
+            "machine-attachments": {
               "type": "object",
               "patternProperties": {
                 ".*": {
             "storage": {
               "$ref": "#/definitions/StorageDetails"
             },
-            "volumetag": {
+            "volume-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "filesystemtag",
+            "filesystem-tag",
             "info",
             "status"
           ]
         "FilesystemInfo": {
           "type": "object",
           "properties": {
-            "filesystemid": {
+            "filesystem-id": {
               "type": "string"
             },
             "size": {
           },
           "additionalProperties": false,
           "required": [
-            "filesystemid",
+            "filesystem-id",
             "size"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "StorageAddParams": {
           "type": "object",
           "properties": {
-            "StorageName": {
+            "name": {
               "type": "string"
             },
             "storage": {
           "additionalProperties": false,
           "required": [
             "unit",
-            "StorageName",
+            "name",
             "storage"
           ]
         },
             "location": {
               "type": "string"
             },
-            "machinetag": {
+            "machine-tag": {
               "type": "string"
             },
-            "storagetag": {
+            "storage-tag": {
               "type": "string"
             },
-            "unittag": {
+            "unit-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "storagetag",
-            "unittag",
-            "machinetag"
+            "storage-tag",
+            "unit-tag",
+            "machine-tag"
           ]
         },
         "StorageConstraints": {
           "type": "object",
           "properties": {
-            "Count": {
+            "count": {
               "type": "integer"
             },
-            "Pool": {
+            "pool": {
               "type": "string"
             },
-            "Size": {
+            "size": {
               "type": "integer"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Pool",
-            "Size",
-            "Count"
-          ]
+          "additionalProperties": false
         },
         "StorageDetails": {
           "type": "object",
           "properties": {
-            "Persistent": {
-              "type": "boolean"
-            },
             "attachments": {
               "type": "object",
               "patternProperties": {
             "kind": {
               "type": "integer"
             },
-            "ownertag": {
+            "owner-tag": {
               "type": "string"
             },
+            "persistent": {
+              "type": "boolean"
+            },
             "status": {
               "$ref": "#/definitions/EntityStatus"
             },
-            "storagetag": {
+            "storage-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "storagetag",
-            "ownertag",
+            "storage-tag",
+            "owner-tag",
             "kind",
             "status",
-            "Persistent"
+            "persistent"
           ]
         },
         "StorageDetailsListResult": {
             "error": {
               "$ref": "#/definitions/Error"
             },
-            "storagepools": {
+            "storage-pools": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StoragePool"
         "VolumeAttachmentInfo": {
           "type": "object",
           "properties": {
-            "busaddress": {
+            "bus-address": {
               "type": "string"
             },
-            "devicelink": {
+            "device-link": {
               "type": "string"
             },
-            "devicename": {
+            "device-name": {
               "type": "string"
             },
             "read-only": {
             "info": {
               "$ref": "#/definitions/VolumeInfo"
             },
-            "machineattachments": {
+            "machine-attachments": {
               "type": "object",
               "patternProperties": {
                 ".*": {
             "storage": {
               "$ref": "#/definitions/StorageDetails"
             },
-            "volumetag": {
+            "volume-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "volumetag",
+            "volume-tag",
             "info",
             "status"
           ]
         "VolumeInfo": {
           "type": "object",
           "properties": {
-            "hardwareid": {
+            "hardware-id": {
               "type": "string"
             },
             "persistent": {
             "size": {
               "type": "integer"
             },
-            "volumeid": {
+            "volume-id": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "volumeid",
+            "volume-id",
             "size",
             "persistent"
           ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
-          ]
         }
       }
     }
   },
   {
     "Name": "StorageProvisioner",
-    "Version": 2,
+    "Version": 3,
     "Schema": {
       "type": "object",
       "properties": {
             }
           }
         },
-        "ModelConfig": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/ModelConfigResult"
-            }
-          }
-        },
         "Remove": {
           "type": "object",
           "properties": {
             }
           }
         },
-        "WatchForModelConfigChanges": {
-          "type": "object",
-          "properties": {
-            "Result": {
-              "$ref": "#/definitions/NotifyWatchResult"
-            }
-          }
-        },
         "WatchMachines": {
           "type": "object",
           "properties": {
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "EntityStatusArgs": {
           "type": "object",
           "properties": {
-            "Data": {
+            "data": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "Info": {
+            "info": {
               "type": "string"
             },
-            "Status": {
+            "status": {
               "type": "string"
             },
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag",
-            "Status",
-            "Info",
-            "Data"
+            "tag",
+            "status",
+            "info",
+            "data"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Filesystem": {
           "type": "object",
           "properties": {
-            "filesystemtag": {
+            "filesystem-tag": {
               "type": "string"
             },
             "info": {
               "$ref": "#/definitions/FilesystemInfo"
             },
-            "volumetag": {
+            "volume-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "filesystemtag",
+            "filesystem-tag",
             "info"
           ]
         },
         "FilesystemAttachment": {
           "type": "object",
           "properties": {
-            "filesystemtag": {
+            "filesystem-tag": {
               "type": "string"
             },
             "info": {
               "$ref": "#/definitions/FilesystemAttachmentInfo"
             },
-            "machinetag": {
+            "machine-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "filesystemtag",
-            "machinetag",
+            "filesystem-tag",
+            "machine-tag",
             "info"
           ]
         },
         "FilesystemAttachmentInfo": {
           "type": "object",
           "properties": {
-            "mountpoint": {
+            "mount-point": {
               "type": "string"
             },
             "read-only": {
         "FilesystemAttachmentParams": {
           "type": "object",
           "properties": {
-            "filesystemid": {
+            "filesystem-id": {
               "type": "string"
             },
-            "filesystemtag": {
+            "filesystem-tag": {
               "type": "string"
             },
-            "instanceid": {
+            "instance-id": {
               "type": "string"
             },
-            "machinetag": {
+            "machine-tag": {
               "type": "string"
             },
-            "mountpoint": {
+            "mount-point": {
               "type": "string"
             },
             "provider": {
           },
           "additionalProperties": false,
           "required": [
-            "filesystemtag",
-            "machinetag",
+            "filesystem-tag",
+            "machine-tag",
             "provider"
           ]
         },
         "FilesystemAttachments": {
           "type": "object",
           "properties": {
-            "filesystemattachments": {
+            "filesystem-attachments": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/FilesystemAttachment"
           },
           "additionalProperties": false,
           "required": [
-            "filesystemattachments"
+            "filesystem-attachments"
           ]
         },
         "FilesystemInfo": {
           "type": "object",
           "properties": {
-            "filesystemid": {
+            "filesystem-id": {
               "type": "string"
             },
             "size": {
           },
           "additionalProperties": false,
           "required": [
-            "filesystemid",
+            "filesystem-id",
             "size"
           ]
         },
                 }
               }
             },
-            "filesystemtag": {
+            "filesystem-tag": {
               "type": "string"
             },
             "provider": {
                 }
               }
             },
-            "volumetag": {
+            "volume-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "filesystemtag",
+            "filesystem-tag",
             "size",
             "provider"
           ]
         "LifeResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Life": {
+            "life": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Life",
-            "Error"
+            "life"
           ]
         },
         "LifeResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/LifeResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "MachineStorageId": {
           "type": "object",
           "properties": {
-            "attachmenttag": {
+            "attachment-tag": {
               "type": "string"
             },
-            "machinetag": {
+            "machine-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "machinetag",
-            "attachmenttag"
+            "machine-tag",
+            "attachment-tag"
           ]
         },
         "MachineStorageIds": {
         "MachineStorageIdsWatchResult": {
           "type": "object",
           "properties": {
-            "Changes": {
+            "changes": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/MachineStorageId"
               }
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "MachineStorageIdsWatcherId": {
+            "watcher-id": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "MachineStorageIdsWatcherId",
-            "Changes",
-            "Error"
+            "watcher-id",
+            "changes"
           ]
         },
         "MachineStorageIdsWatchResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/MachineStorageIdsWatchResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
-          ]
-        },
-        "ModelConfigResult": {
-          "type": "object",
-          "properties": {
-            "Config": {
-              "type": "object",
-              "patternProperties": {
-                ".*": {
-                  "type": "object",
-                  "additionalProperties": true
-                }
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Config"
+            "results"
           ]
         },
         "NotifyWatchResult": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
             "NotifyWatcherId": {
               "type": "string"
+            },
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "NotifyWatcherId",
-            "Error"
+            "NotifyWatcherId"
           ]
         },
         "NotifyWatchResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/NotifyWatchResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "SetStatus": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/EntityStatusArgs"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "StringResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Result"
+            "result"
           ]
         },
         "StringResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StringResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "StringsWatchResult": {
           "type": "object",
           "properties": {
-            "Changes": {
+            "changes": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "StringsWatcherId": {
+            "watcher-id": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "StringsWatcherId",
-            "Changes",
-            "Error"
+            "watcher-id"
           ]
         },
         "StringsWatchResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StringsWatchResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Volume": {
             "info": {
               "$ref": "#/definitions/VolumeInfo"
             },
-            "volumetag": {
+            "volume-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "volumetag",
+            "volume-tag",
             "info"
           ]
         },
             "info": {
               "$ref": "#/definitions/VolumeAttachmentInfo"
             },
-            "machinetag": {
+            "machine-tag": {
               "type": "string"
             },
-            "volumetag": {
+            "volume-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "volumetag",
-            "machinetag",
+            "volume-tag",
+            "machine-tag",
             "info"
           ]
         },
         "VolumeAttachmentInfo": {
           "type": "object",
           "properties": {
-            "busaddress": {
+            "bus-address": {
               "type": "string"
             },
-            "devicelink": {
+            "device-link": {
               "type": "string"
             },
-            "devicename": {
+            "device-name": {
               "type": "string"
             },
             "read-only": {
         "VolumeAttachmentParams": {
           "type": "object",
           "properties": {
-            "instanceid": {
+            "instance-id": {
               "type": "string"
             },
-            "machinetag": {
+            "machine-tag": {
               "type": "string"
             },
             "provider": {
             "read-only": {
               "type": "boolean"
             },
-            "volumeid": {
+            "volume-id": {
               "type": "string"
             },
-            "volumetag": {
+            "volume-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "volumetag",
-            "machinetag",
+            "volume-tag",
+            "machine-tag",
             "provider"
           ]
         },
         "VolumeAttachments": {
           "type": "object",
           "properties": {
-            "volumeattachments": {
+            "volume-attachments": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/VolumeAttachment"
           },
           "additionalProperties": false,
           "required": [
-            "volumeattachments"
+            "volume-attachments"
           ]
         },
         "VolumeInfo": {
           "type": "object",
           "properties": {
-            "hardwareid": {
+            "hardware-id": {
               "type": "string"
             },
             "persistent": {
             "size": {
               "type": "integer"
             },
-            "volumeid": {
+            "volume-id": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "volumeid",
+            "volume-id",
             "size",
             "persistent"
           ]
                 }
               }
             },
-            "volumetag": {
+            "volume-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "volumetag",
+            "volume-tag",
             "size",
             "provider"
           ]
           "required": [
             "volumes"
           ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
-          ]
         }
       }
     }
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "StringsWatchResult": {
           "type": "object",
           "properties": {
-            "Changes": {
+            "changes": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "StringsWatcherId": {
+            "watcher-id": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "StringsWatcherId",
-            "Changes",
-            "Error"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "watcher-id"
           ]
         }
       }
         "AddSubnetParams": {
           "type": "object",
           "properties": {
-            "SpaceTag": {
+            "space-tag": {
               "type": "string"
             },
-            "SubnetProviderId": {
+            "subnet-provider-id": {
               "type": "string"
             },
-            "SubnetTag": {
+            "subnet-tag": {
               "type": "string"
             },
-            "Zones": {
+            "zones": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "SpaceTag"
+            "space-tag"
           ]
         },
         "AddSubnetsParams": {
           "type": "object",
           "properties": {
-            "Subnets": {
+            "subnets": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/AddSubnetParams"
           },
           "additionalProperties": false,
           "required": [
-            "Subnets"
+            "subnets"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "ListSubnetsResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Subnet"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "SpaceResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Tag"
+            "tag"
           ]
         },
         "SpaceResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/SpaceResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Subnet": {
           "type": "object",
           "properties": {
-            "CIDR": {
+            "cidr": {
               "type": "string"
             },
-            "Life": {
+            "life": {
               "type": "string"
             },
-            "ProviderId": {
+            "provider-id": {
               "type": "string"
             },
-            "SpaceTag": {
+            "space-tag": {
               "type": "string"
             },
-            "StaticRangeHighIP": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "StaticRangeLowIP": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "Status": {
+            "status": {
               "type": "string"
             },
-            "VLANTag": {
+            "vlan-tag": {
               "type": "integer"
             },
-            "Zones": {
+            "zones": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "CIDR",
-            "VLANTag",
-            "Life",
-            "SpaceTag",
-            "Zones"
+            "cidr",
+            "vlan-tag",
+            "life",
+            "space-tag",
+            "zones"
           ]
         },
         "SubnetsFilters": {
           "type": "object",
           "properties": {
-            "SpaceTag": {
+            "space-tag": {
               "type": "string"
             },
-            "Zone": {
+            "zone": {
               "type": "string"
             }
           },
         "ZoneResult": {
           "type": "object",
           "properties": {
-            "Available": {
+            "available": {
               "type": "boolean"
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Name": {
+            "name": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Name",
-            "Available"
+            "name",
+            "available"
           ]
         },
         "ZoneResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ZoneResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "results"
           ]
         }
       }
         "EntityStatusArgs": {
           "type": "object",
           "properties": {
-            "Data": {
+            "data": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "Info": {
+            "info": {
               "type": "string"
             },
-            "Status": {
+            "status": {
               "type": "string"
             },
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag",
-            "Status",
-            "Info",
-            "Data"
+            "tag",
+            "status",
+            "info",
+            "data"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
-        },
-        "ErrorResults": {
-          "type": "object",
-          "properties": {
-            "Results": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/ErrorResult"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "Results"
-          ]
+          "additionalProperties": false
         },
-        "Macaroon": {
-          "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
+        "ErrorResults": {
+          "type": "object",
+          "properties": {
+            "results": {
               "type": "array",
               "items": {
-                "type": "integer"
+                "$ref": "#/definitions/ErrorResult"
               }
             }
           },
           "additionalProperties": false,
           "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
+            "results"
           ]
         },
+        "Macaroon": {
+          "type": "object",
+          "additionalProperties": false
+        },
         "ModelConfigResult": {
           "type": "object",
           "properties": {
-            "Config": {
+            "config": {
               "type": "object",
               "patternProperties": {
                 ".*": {
           },
           "additionalProperties": false,
           "required": [
-            "Config"
+            "config"
           ]
         },
         "NotifyWatchResult": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
             "NotifyWatcherId": {
               "type": "string"
+            },
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "NotifyWatcherId",
-            "Error"
+            "NotifyWatcherId"
           ]
         },
         "NotifyWatchResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/NotifyWatchResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "SetStatus": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/EntityStatusArgs"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "UndertakerModelInfo": {
           "type": "object",
           "properties": {
-            "GlobalName": {
+            "global-name": {
               "type": "string"
             },
-            "IsSystem": {
+            "is-system": {
               "type": "boolean"
             },
-            "Life": {
+            "life": {
               "type": "string"
             },
-            "Name": {
+            "name": {
               "type": "string"
             },
-            "UUID": {
+            "uuid": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "UUID",
-            "Name",
-            "GlobalName",
-            "IsSystem",
-            "Life"
+            "uuid",
+            "name",
+            "global-name",
+            "is-system",
+            "life"
           ]
         },
         "UndertakerModelInfoResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "$ref": "#/definitions/UndertakerModelInfo"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Result"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "result"
           ]
         }
       }
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "EntityStatusArgs": {
           "type": "object",
           "properties": {
-            "Data": {
+            "data": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "Info": {
+            "info": {
               "type": "string"
             },
-            "Status": {
+            "status": {
               "type": "string"
             },
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag",
-            "Status",
-            "Info",
-            "Data"
+            "tag",
+            "status",
+            "info",
+            "data"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "SetStatus": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/EntityStatusArgs"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "StringsWatchResult": {
           "type": "object",
           "properties": {
-            "Changes": {
+            "changes": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "StringsWatcherId": {
+            "watcher-id": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "StringsWatcherId",
-            "Changes",
-            "Error"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "watcher-id"
           ]
         }
       }
             }
           }
         },
-        "ApplicationOwner": {
-          "type": "object",
-          "properties": {
-            "Params": {
-              "$ref": "#/definitions/Entities"
-            },
-            "Result": {
-              "$ref": "#/definitions/StringResults"
-            }
-          }
-        },
         "ApplicationStatus": {
           "type": "object",
           "properties": {
             }
           }
         },
+        "SetWorkloadVersion": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/EntityWorkloadVersions"
+            },
+            "Result": {
+              "$ref": "#/definitions/ErrorResults"
+            }
+          }
+        },
         "StorageAttachmentLife": {
           "type": "object",
           "properties": {
               "$ref": "#/definitions/StringsWatchResults"
             }
           }
+        },
+        "WorkloadVersion": {
+          "type": "object",
+          "properties": {
+            "Params": {
+              "$ref": "#/definitions/Entities"
+            },
+            "Result": {
+              "$ref": "#/definitions/StringResults"
+            }
+          }
         }
       },
       "definitions": {
         "APIHostPortsResult": {
           "type": "object",
           "properties": {
-            "Servers": {
+            "servers": {
               "type": "array",
               "items": {
                 "type": "array",
           },
           "additionalProperties": false,
           "required": [
-            "Servers"
+            "servers"
           ]
         },
         "Action": {
         "ActionExecutionResult": {
           "type": "object",
           "properties": {
-            "actiontag": {
+            "action-tag": {
               "type": "string"
             },
             "message": {
           },
           "additionalProperties": false,
           "required": [
-            "actiontag",
+            "action-tag",
             "status"
           ]
         },
         "Address": {
           "type": "object",
           "properties": {
-            "Scope": {
+            "scope": {
               "type": "string"
             },
-            "SpaceName": {
+            "space-name": {
               "type": "string"
             },
-            "Type": {
+            "type": {
               "type": "string"
             },
-            "Value": {
+            "value": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Value",
-            "Type",
-            "Scope"
+            "value",
+            "type",
+            "scope"
           ]
         },
         "ApplicationStatusResult": {
           "type": "object",
           "properties": {
-            "Application": {
+            "application": {
               "$ref": "#/definitions/StatusResult"
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Units": {
+            "units": {
               "type": "object",
               "patternProperties": {
                 ".*": {
           },
           "additionalProperties": false,
           "required": [
-            "Application",
-            "Units",
-            "Error"
+            "application",
+            "units"
           ]
         },
         "ApplicationStatusResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ApplicationStatusResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "BoolResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "boolean"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Result"
+            "result"
           ]
         },
         "BoolResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/BoolResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "BytesResult": {
           "type": "object",
           "properties": {
-            "Result": {
+            "result": {
               "type": "array",
               "items": {
                 "type": "integer"
           },
           "additionalProperties": false,
           "required": [
-            "Result"
+            "result"
+          ]
+        },
+        "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": {
+            "url": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "URL"
+            "url"
           ]
         },
         "CharmURLs": {
           "type": "object",
           "properties": {
-            "URLs": {
+            "urls": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/CharmURL"
           },
           "additionalProperties": false,
           "required": [
-            "URLs"
+            "urls"
           ]
         },
         "ConfigSettingsResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Settings": {
+            "settings": {
               "type": "object",
               "patternProperties": {
                 ".*": {
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Settings"
+            "settings"
           ]
         },
         "ConfigSettingsResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ConfigSettingsResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Endpoint": {
           "type": "object",
           "properties": {
-            "ApplicationName": {
+            "application-name": {
               "type": "string"
             },
-            "Relation": {
-              "$ref": "#/definitions/Relation"
+            "relation": {
+              "$ref": "#/definitions/CharmRelation"
             }
           },
           "additionalProperties": false,
           "required": [
-            "ApplicationName",
-            "Relation"
+            "application-name",
+            "relation"
           ]
         },
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "EntitiesCharmURL": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/EntityCharmURL"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "EntitiesPortRanges": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/EntityPortRange"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "EntityCharmURL": {
           "type": "object",
           "properties": {
-            "CharmURL": {
+            "charm-url": {
               "type": "string"
             },
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag",
-            "CharmURL"
+            "tag",
+            "charm-url"
           ]
         },
         "EntityPortRange": {
           "type": "object",
           "properties": {
-            "FromPort": {
+            "from-port": {
               "type": "integer"
             },
-            "Protocol": {
+            "protocol": {
               "type": "string"
             },
-            "Tag": {
+            "tag": {
               "type": "string"
             },
-            "ToPort": {
+            "to-port": {
               "type": "integer"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag",
-            "Protocol",
-            "FromPort",
-            "ToPort"
+            "tag",
+            "protocol",
+            "from-port",
+            "to-port"
           ]
         },
         "EntityStatusArgs": {
           "type": "object",
           "properties": {
-            "Data": {
+            "data": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                   "additionalProperties": true
                 }
               }
-            },
-            "Info": {
-              "type": "string"
-            },
-            "Status": {
-              "type": "string"
-            },
-            "Tag": {
-              "type": "string"
+            },
+            "info": {
+              "type": "string"
+            },
+            "status": {
+              "type": "string"
+            },
+            "tag": {
+              "type": "string"
+            }
+          },
+          "additionalProperties": false,
+          "required": [
+            "tag",
+            "status",
+            "info",
+            "data"
+          ]
+        },
+        "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": [
-            "Tag",
-            "Status",
-            "Info",
-            "Data"
+            "entities"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "GetLeadershipSettingsBulkResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/GetLeadershipSettingsResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "GetLeadershipSettingsResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Settings": {
+            "settings": {
               "type": "object",
               "patternProperties": {
                 ".*": {
           },
           "additionalProperties": false,
           "required": [
-            "Settings",
-            "Error"
+            "settings"
           ]
         },
         "HostPort": {
             "Address": {
               "$ref": "#/definitions/Address"
             },
-            "Port": {
+            "port": {
               "type": "integer"
             }
           },
           "additionalProperties": false,
           "required": [
             "Address",
-            "Port"
+            "port"
           ]
         },
         "IntResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "integer"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Result"
+            "result"
           ]
         },
         "IntResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/IntResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "LifeResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Life": {
+            "life": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Life",
-            "Error"
+            "life"
           ]
         },
         "LifeResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/LifeResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "MachinePortRange": {
           "type": "object",
           "properties": {
-            "PortRange": {
+            "port-range": {
               "$ref": "#/definitions/PortRange"
             },
-            "RelationTag": {
+            "relation-tag": {
               "type": "string"
             },
-            "UnitTag": {
+            "unit-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "UnitTag",
-            "RelationTag",
-            "PortRange"
+            "unit-tag",
+            "relation-tag",
+            "port-range"
           ]
         },
         "MachinePortsResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Ports": {
+            "ports": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/MachinePortRange"
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Ports"
+            "ports"
           ]
         },
         "MachinePortsResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/MachinePortsResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "MergeLeadershipSettingsBulkParams": {
           "type": "object",
           "properties": {
-            "Params": {
+            "params": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/MergeLeadershipSettingsParam"
           },
           "additionalProperties": false,
           "required": [
-            "Params"
+            "params"
           ]
         },
         "MergeLeadershipSettingsParam": {
           "type": "object",
           "properties": {
-            "ApplicationTag": {
+            "application-tag": {
               "type": "string"
             },
-            "Settings": {
+            "settings": {
               "type": "object",
               "patternProperties": {
                 ".*": {
           },
           "additionalProperties": false,
           "required": [
-            "ApplicationTag",
-            "Settings"
+            "application-tag",
+            "settings"
           ]
         },
         "MeterStatusResult": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Info": {
+            "info": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Code",
-            "Info",
-            "Error"
+            "code",
+            "info"
           ]
         },
         "MeterStatusResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/MeterStatusResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Metric": {
           "type": "object",
           "properties": {
-            "Key": {
+            "key": {
               "type": "string"
             },
-            "Time": {
+            "time": {
               "type": "string",
               "format": "date-time"
             },
-            "Value": {
+            "value": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Key",
-            "Value",
-            "Time"
+            "key",
+            "value",
+            "time"
           ]
         },
         "MetricBatch": {
           "type": "object",
           "properties": {
-            "CharmURL": {
+            "charm-url": {
               "type": "string"
             },
-            "Created": {
+            "created": {
               "type": "string",
               "format": "date-time"
             },
-            "Metrics": {
+            "metrics": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Metric"
               }
             },
-            "UUID": {
+            "uuid": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "UUID",
-            "CharmURL",
-            "Created",
-            "Metrics"
+            "uuid",
+            "charm-url",
+            "created",
+            "metrics"
           ]
         },
         "MetricBatchParam": {
           "type": "object",
           "properties": {
-            "Batch": {
+            "batch": {
               "$ref": "#/definitions/MetricBatch"
             },
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag",
-            "Batch"
+            "tag",
+            "batch"
           ]
         },
         "MetricBatchParams": {
           "type": "object",
           "properties": {
-            "Batches": {
+            "batches": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/MetricBatchParam"
           },
           "additionalProperties": false,
           "required": [
-            "Batches"
+            "batches"
           ]
         },
         "ModelConfigResult": {
           "type": "object",
           "properties": {
-            "Config": {
+            "config": {
               "type": "object",
               "patternProperties": {
                 ".*": {
           },
           "additionalProperties": false,
           "required": [
-            "Config"
+            "config"
           ]
         },
         "ModelResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Name": {
+            "name": {
               "type": "string"
             },
-            "UUID": {
+            "uuid": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Name",
-            "UUID"
+            "name",
+            "uuid"
           ]
         },
         "NetworkConfig": {
           "type": "object",
           "properties": {
-            "Address": {
+            "address": {
               "type": "string"
             },
-            "CIDR": {
+            "cidr": {
               "type": "string"
             },
-            "ConfigType": {
+            "config-type": {
               "type": "string"
             },
-            "DNSSearchDomains": {
+            "device-index": {
+              "type": "integer"
+            },
+            "disabled": {
+              "type": "boolean"
+            },
+            "dns-search-domains": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "DNSServers": {
+            "dns-servers": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "DeviceIndex": {
-              "type": "integer"
-            },
-            "Disabled": {
-              "type": "boolean"
-            },
-            "GatewayAddress": {
+            "gateway-address": {
               "type": "string"
             },
-            "InterfaceName": {
+            "interface-name": {
               "type": "string"
             },
-            "InterfaceType": {
+            "interface-type": {
               "type": "string"
             },
-            "MACAddress": {
+            "mac-address": {
               "type": "string"
             },
-            "MTU": {
+            "mtu": {
               "type": "integer"
             },
-            "NoAutoStart": {
+            "no-auto-start": {
               "type": "boolean"
             },
-            "ParentInterfaceName": {
+            "parent-interface-name": {
               "type": "string"
             },
-            "ProviderAddressId": {
+            "provider-address-id": {
               "type": "string"
             },
-            "ProviderId": {
+            "provider-id": {
               "type": "string"
             },
-            "ProviderSpaceId": {
+            "provider-space-id": {
               "type": "string"
             },
-            "ProviderSubnetId": {
+            "provider-subnet-id": {
               "type": "string"
             },
-            "ProviderVLANId": {
+            "provider-vlan-id": {
               "type": "string"
             },
-            "VLANTag": {
+            "vlan-tag": {
               "type": "integer"
             }
           },
           "additionalProperties": false,
           "required": [
-            "DeviceIndex",
-            "MACAddress",
-            "CIDR",
-            "MTU",
-            "ProviderId",
-            "ProviderSubnetId",
-            "ProviderSpaceId",
-            "ProviderAddressId",
-            "ProviderVLANId",
-            "VLANTag",
-            "InterfaceName",
-            "ParentInterfaceName",
-            "InterfaceType",
-            "Disabled"
+            "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"
           ]
         },
         "NotifyWatchResult": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
             "NotifyWatcherId": {
               "type": "string"
+            },
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "NotifyWatcherId",
-            "Error"
+            "NotifyWatcherId"
           ]
         },
         "NotifyWatchResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/NotifyWatchResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "PortRange": {
           "type": "object",
           "properties": {
-            "FromPort": {
+            "from-port": {
               "type": "integer"
             },
-            "Protocol": {
+            "protocol": {
               "type": "string"
             },
-            "ToPort": {
+            "to-port": {
               "type": "integer"
             }
           },
           "additionalProperties": false,
           "required": [
-            "FromPort",
-            "ToPort",
-            "Protocol"
-          ]
-        },
-        "Relation": {
-          "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"
+            "from-port",
+            "to-port",
+            "protocol"
           ]
         },
         "RelationIds": {
           "type": "object",
           "properties": {
-            "RelationIds": {
+            "relation-ids": {
               "type": "array",
               "items": {
                 "type": "integer"
           },
           "additionalProperties": false,
           "required": [
-            "RelationIds"
+            "relation-ids"
           ]
         },
         "RelationResult": {
           "type": "object",
           "properties": {
-            "Endpoint": {
+            "endpoint": {
               "$ref": "#/definitions/Endpoint"
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Id": {
+            "id": {
               "type": "integer"
             },
-            "Key": {
+            "key": {
               "type": "string"
             },
-            "Life": {
+            "life": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Life",
-            "Id",
-            "Key",
-            "Endpoint"
+            "life",
+            "id",
+            "key",
+            "endpoint"
           ]
         },
         "RelationResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/RelationResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "RelationUnit": {
           "type": "object",
           "properties": {
-            "Relation": {
+            "relation": {
               "type": "string"
             },
-            "Unit": {
+            "unit": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Relation",
-            "Unit"
+            "relation",
+            "unit"
           ]
         },
         "RelationUnitPair": {
           "type": "object",
           "properties": {
-            "LocalUnit": {
+            "local-unit": {
               "type": "string"
             },
-            "Relation": {
+            "relation": {
               "type": "string"
             },
-            "RemoteUnit": {
+            "remote-unit": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Relation",
-            "LocalUnit",
-            "RemoteUnit"
+            "relation",
+            "local-unit",
+            "remote-unit"
           ]
         },
         "RelationUnitPairs": {
           "type": "object",
           "properties": {
-            "RelationUnitPairs": {
+            "relation-unit-pairs": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/RelationUnitPair"
           },
           "additionalProperties": false,
           "required": [
-            "RelationUnitPairs"
+            "relation-unit-pairs"
           ]
         },
         "RelationUnitSettings": {
           "type": "object",
           "properties": {
-            "Relation": {
+            "relation": {
               "type": "string"
             },
-            "Settings": {
+            "settings": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "Unit": {
+            "unit": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Relation",
-            "Unit",
-            "Settings"
+            "relation",
+            "unit",
+            "settings"
           ]
         },
         "RelationUnits": {
           "type": "object",
           "properties": {
-            "RelationUnits": {
+            "relation-units": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/RelationUnit"
           },
           "additionalProperties": false,
           "required": [
-            "RelationUnits"
+            "relation-units"
           ]
         },
         "RelationUnitsChange": {
           "type": "object",
           "properties": {
-            "Changed": {
+            "changed": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "Departed": {
+            "departed": {
               "type": "array",
               "items": {
                 "type": "string"
           },
           "additionalProperties": false,
           "required": [
-            "Changed",
-            "Departed"
+            "changed"
           ]
         },
         "RelationUnitsSettings": {
           "type": "object",
           "properties": {
-            "RelationUnits": {
+            "relation-units": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/RelationUnitSettings"
           },
           "additionalProperties": false,
           "required": [
-            "RelationUnits"
+            "relation-units"
           ]
         },
         "RelationUnitsWatchResult": {
           "type": "object",
           "properties": {
-            "Changes": {
+            "changes": {
               "$ref": "#/definitions/RelationUnitsChange"
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "RelationUnitsWatcherId": {
+            "watcher-id": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "RelationUnitsWatcherId",
-            "Changes",
-            "Error"
+            "watcher-id",
+            "changes"
           ]
         },
         "RelationUnitsWatchResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/RelationUnitsWatchResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "ResolvedModeResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Mode": {
+            "mode": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Mode"
+            "mode"
           ]
         },
         "ResolvedModeResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ResolvedModeResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "SetStatus": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/EntityStatusArgs"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "SettingsResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Settings": {
+            "settings": {
               "type": "object",
               "patternProperties": {
                 ".*": {
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Settings"
+            "settings"
           ]
         },
         "SettingsResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/SettingsResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "StatusResult": {
           "type": "object",
           "properties": {
-            "Data": {
+            "data": {
               "type": "object",
               "patternProperties": {
                 ".*": {
                 }
               }
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Id": {
+            "id": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "type": "string"
             },
-            "Life": {
+            "life": {
               "type": "string"
             },
-            "Since": {
+            "since": {
               "type": "string",
               "format": "date-time"
             },
-            "Status": {
+            "status": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Id",
-            "Life",
-            "Status",
-            "Info",
-            "Data",
-            "Since"
+            "id",
+            "life",
+            "status",
+            "info",
+            "data",
+            "since"
           ]
         },
         "StatusResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StatusResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "StorageAddParams": {
           "type": "object",
           "properties": {
-            "StorageName": {
+            "name": {
               "type": "string"
             },
             "storage": {
           "additionalProperties": false,
           "required": [
             "unit",
-            "StorageName",
+            "name",
             "storage"
           ]
         },
         "StorageAttachment": {
           "type": "object",
           "properties": {
-            "Kind": {
+            "kind": {
               "type": "integer"
             },
-            "Life": {
+            "life": {
               "type": "string"
             },
-            "Location": {
+            "location": {
               "type": "string"
             },
-            "OwnerTag": {
+            "owner-tag": {
               "type": "string"
             },
-            "StorageTag": {
+            "storage-tag": {
               "type": "string"
             },
-            "UnitTag": {
+            "unit-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "StorageTag",
-            "OwnerTag",
-            "UnitTag",
-            "Kind",
-            "Location",
-            "Life"
+            "storage-tag",
+            "owner-tag",
+            "unit-tag",
+            "kind",
+            "location",
+            "life"
           ]
         },
         "StorageAttachmentId": {
           "type": "object",
           "properties": {
-            "storagetag": {
+            "storage-tag": {
               "type": "string"
             },
-            "unittag": {
+            "unit-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "storagetag",
-            "unittag"
+            "storage-tag",
+            "unit-tag"
           ]
         },
         "StorageAttachmentIds": {
         "StorageConstraints": {
           "type": "object",
           "properties": {
-            "Count": {
+            "count": {
               "type": "integer"
             },
-            "Pool": {
+            "pool": {
               "type": "string"
             },
-            "Size": {
+            "size": {
               "type": "integer"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Pool",
-            "Size",
-            "Count"
-          ]
+          "additionalProperties": false
         },
         "StoragesAddParams": {
           "type": "object",
         "StringBoolResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Ok": {
+            "ok": {
               "type": "boolean"
             },
-            "Result": {
+            "result": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Result",
-            "Ok"
+            "result",
+            "ok"
           ]
         },
         "StringBoolResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StringBoolResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "StringResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Result"
+            "result"
           ]
         },
         "StringResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StringResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "StringsResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Result": {
+            "result": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error",
-            "Result"
-          ]
+          "additionalProperties": false
         },
         "StringsResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StringsResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "StringsWatchResult": {
           "type": "object",
           "properties": {
-            "Changes": {
+            "changes": {
               "type": "array",
               "items": {
                 "type": "string"
               }
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "StringsWatcherId": {
+            "watcher-id": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "StringsWatcherId",
-            "Changes",
-            "Error"
+            "watcher-id"
           ]
         },
         "StringsWatchResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/StringsWatchResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "UnitNetworkConfig": {
           "type": "object",
           "properties": {
-            "BindingName": {
+            "binding-name": {
               "type": "string"
             },
-            "UnitTag": {
+            "unit-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "UnitTag",
-            "BindingName"
+            "unit-tag",
+            "binding-name"
           ]
         },
         "UnitNetworkConfigResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Info": {
+            "info": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/NetworkConfig"
           },
           "additionalProperties": false,
           "required": [
-            "Error",
-            "Info"
+            "info"
           ]
         },
         "UnitNetworkConfigResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/UnitNetworkConfigResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "UnitSettings": {
           "type": "object",
           "properties": {
-            "Version": {
+            "version": {
               "type": "integer"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Version"
+            "version"
           ]
         },
         "UnitsNetworkConfig": {
           "type": "object",
           "properties": {
-            "Args": {
+            "args": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/UnitNetworkConfig"
           },
           "additionalProperties": false,
           "required": [
-            "Args"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "args"
           ]
         }
       }
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "EntitiesVersion": {
           "type": "object",
           "properties": {
-            "AgentTools": {
+            "agent-tools": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/EntityVersion"
           },
           "additionalProperties": false,
           "required": [
-            "AgentTools"
+            "agent-tools"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "EntityVersion": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             },
-            "Tools": {
+            "tools": {
               "$ref": "#/definitions/Version"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag",
-            "Tools"
+            "tag",
+            "tools"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "NotifyWatchResult": {
           "type": "object",
           "properties": {
-            "Error": {
-              "$ref": "#/definitions/Error"
-            },
             "NotifyWatcherId": {
               "type": "string"
+            },
+            "error": {
+              "$ref": "#/definitions/Error"
             }
           },
           "additionalProperties": false,
           "required": [
-            "NotifyWatcherId",
-            "Error"
+            "NotifyWatcherId"
           ]
         },
         "NotifyWatchResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/NotifyWatchResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Number": {
         "ToolsResult": {
           "type": "object",
           "properties": {
-            "DisableSSLHostnameVerification": {
+            "disable-ssl-hostname-verification": {
               "type": "boolean"
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "ToolsList": {
+            "tools": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Tools"
           },
           "additionalProperties": false,
           "required": [
-            "ToolsList",
-            "DisableSSLHostnameVerification",
-            "Error"
+            "tools",
+            "disable-ssl-hostname-verification"
           ]
         },
         "ToolsResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ToolsResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Version": {
           "type": "object",
           "properties": {
-            "Version": {
+            "version": {
               "$ref": "#/definitions/Binary"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Version"
+            "version"
           ]
         },
         "VersionResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "Version": {
+            "version": {
               "$ref": "#/definitions/Number"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Version",
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "VersionResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/VersionResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "results"
           ]
         }
       }
             }
           }
         },
-        "CreateLocalLoginMacaroon": {
+        "DisableUser": {
           "type": "object",
           "properties": {
             "Params": {
               "$ref": "#/definitions/Entities"
             },
             "Result": {
-              "$ref": "#/definitions/MacaroonResults"
+              "$ref": "#/definitions/ErrorResults"
             }
           }
         },
-        "DisableUser": {
+        "EnableUser": {
           "type": "object",
           "properties": {
             "Params": {
             }
           }
         },
-        "EnableUser": {
+        "RemoveUser": {
           "type": "object",
           "properties": {
             "Params": {
             "display-name": {
               "type": "string"
             },
-            "model-access-permission": {
-              "type": "string"
-            },
             "password": {
               "type": "string"
             },
-            "shared-model-tags": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
-            },
             "username": {
               "type": "string"
             }
           "additionalProperties": false,
           "required": [
             "username",
-            "display-name",
-            "shared-model-tags"
+            "display-name"
           ]
         },
         "AddUserResult": {
         "Entities": {
           "type": "object",
           "properties": {
-            "Entities": {
+            "entities": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/Entity"
           },
           "additionalProperties": false,
           "required": [
-            "Entities"
+            "entities"
           ]
         },
         "Entity": {
           "type": "object",
           "properties": {
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag"
+            "tag"
           ]
         },
         "EntityPassword": {
           "type": "object",
           "properties": {
-            "Password": {
+            "password": {
               "type": "string"
             },
-            "Tag": {
+            "tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Tag",
-            "Password"
+            "tag",
+            "password"
           ]
         },
         "EntityPasswords": {
           "type": "object",
           "properties": {
-            "Changes": {
+            "changes": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/EntityPassword"
           },
           "additionalProperties": false,
           "required": [
-            "Changes"
+            "changes"
           ]
         },
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         "ErrorResult": {
           "type": "object",
           "properties": {
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             }
           },
-          "additionalProperties": false,
-          "required": [
-            "Error"
-          ]
+          "additionalProperties": false
         },
         "ErrorResults": {
           "type": "object",
           "properties": {
-            "Results": {
+            "results": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/ErrorResult"
           },
           "additionalProperties": false,
           "required": [
-            "Results"
+            "results"
           ]
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
-        },
-        "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"
-          ]
-        },
         "UserInfo": {
           "type": "object",
           "properties": {
+            "access": {
+              "type": "string"
+            },
             "created-by": {
               "type": "string"
             },
           "required": [
             "username",
             "display-name",
+            "access",
             "created-by",
             "date-created",
             "disabled"
           "required": [
             "results"
           ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
-          ]
         }
       }
     }
         "Error": {
           "type": "object",
           "properties": {
-            "Code": {
+            "code": {
               "type": "string"
             },
-            "Info": {
+            "info": {
               "$ref": "#/definitions/ErrorInfo"
             },
-            "Message": {
+            "message": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "Message",
-            "Code"
+            "message",
+            "code"
           ]
         },
         "ErrorInfo": {
           "type": "object",
           "properties": {
-            "Macaroon": {
+            "macaroon": {
               "$ref": "#/definitions/Macaroon"
             },
-            "MacaroonPath": {
+            "macaroon-path": {
               "type": "string"
             }
           },
         },
         "Macaroon": {
           "type": "object",
-          "properties": {
-            "caveats": {
-              "type": "array",
-              "items": {
-                "$ref": "#/definitions/caveat"
-              }
-            },
-            "data": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            },
-            "id": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "sig": {
-              "type": "array",
-              "items": {
-                "type": "integer"
-              }
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "data",
-            "location",
-            "id",
-            "caveats",
-            "sig"
-          ]
+          "additionalProperties": false
         },
         "MachineStorageId": {
           "type": "object",
           "properties": {
-            "attachmenttag": {
+            "attachment-tag": {
               "type": "string"
             },
-            "machinetag": {
+            "machine-tag": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "machinetag",
-            "attachmenttag"
+            "machine-tag",
+            "attachment-tag"
           ]
         },
         "MachineStorageIdsWatchResult": {
           "type": "object",
           "properties": {
-            "Changes": {
+            "changes": {
               "type": "array",
               "items": {
                 "$ref": "#/definitions/MachineStorageId"
               }
             },
-            "Error": {
+            "error": {
               "$ref": "#/definitions/Error"
             },
-            "MachineStorageIdsWatcherId": {
+            "watcher-id": {
               "type": "string"
             }
           },
           "additionalProperties": false,
           "required": [
-            "MachineStorageIdsWatcherId",
-            "Changes",
-            "Error"
-          ]
-        },
-        "caveat": {
-          "type": "object",
-          "properties": {
-            "caveatId": {
-              "$ref": "#/definitions/packet"
-            },
-            "location": {
-              "$ref": "#/definitions/packet"
-            },
-            "verificationId": {
-              "$ref": "#/definitions/packet"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "location",
-            "caveatId",
-            "verificationId"
-          ]
-        },
-        "packet": {
-          "type": "object",
-          "properties": {
-            "headerLen": {
-              "type": "integer"
-            },
-            "start": {
-              "type": "integer"
-            },
-            "totalLen": {
-              "type": "integer"
-            }
-          },
-          "additionalProperties": false,
-          "required": [
-            "start",
-            "totalLen",
-            "headerLen"
+            "watcher-id",
+            "changes"
           ]
         }
       }
     }
   }
 ]
-