}
}
},
+ "CloudSpec": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/CloudSpecResults"
+ }
+ }
+ },
"ControllerConfig": {
"type": "object",
"properties": {
"entities"
]
},
+ "CloudCredential": {
+ "type": "object",
+ "properties": {
+ "attrs": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ }
+ },
+ "auth-type": {
+ "type": "string"
+ },
+ "redacted": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "auth-type"
+ ]
+ },
+ "CloudSpec": {
+ "type": "object",
+ "properties": {
+ "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": {
},
"constraints": {
"$ref": "#/definitions/Value"
+ },
+ "series": {
+ "type": "string"
}
},
"additionalProperties": false,
"application",
"charm",
"config",
- "constraints"
+ "constraints",
+ "series"
]
},
"ApplicationMetricCredential": {
"$ref": "#/definitions/CharmMetric"
}
}
+ },
+ "plan": {
+ "$ref": "#/definitions/CharmPlan"
}
},
"additionalProperties": false,
"required": [
- "metrics"
+ "metrics",
+ "plan"
]
},
"CharmOption": {
"type"
]
},
+ "CharmPlan": {
+ "type": "object",
+ "properties": {
+ "required": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "required"
+ ]
+ },
"CharmRelation": {
"type": "object",
"properties": {
}
}
},
+ "ModelDefaults": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/ModelDefaultsResult"
+ }
+ }
+ },
"ModelGet": {
"type": "object",
"properties": {
}
}
},
+ "SetModelDefaults": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/SetModelDefaults"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
"StatusHistory": {
"type": "object",
"properties": {
}
}
},
+ "UnsetModelDefaults": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/UnsetModelDefaults"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
"WatchAll": {
"type": "object",
"properties": {
"type": "object",
"additionalProperties": false
},
+ "MachineHardware": {
+ "type": "object",
+ "properties": {
+ "arch": {
+ "type": "string"
+ },
+ "availability-zone": {
+ "type": "string"
+ },
+ "cores": {
+ "type": "integer"
+ },
+ "cpu-power": {
+ "type": "integer"
+ },
+ "mem": {
+ "type": "integer"
+ },
+ "root-disk": {
+ "type": "integer"
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
"MachineStatus": {
"type": "object",
"properties": {
"config"
]
},
+ "ModelDefaultValues": {
+ "type": "object",
+ "properties": {
+ "cloud-region": {
+ "type": "string"
+ },
+ "cloud-tag": {
+ "type": "string"
+ },
+ "config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "config"
+ ]
+ },
+ "ModelDefaults": {
+ "type": "object",
+ "properties": {
+ "controller": {
+ "type": "object",
+ "additionalProperties": true
+ },
+ "default": {
+ "type": "object",
+ "additionalProperties": true
+ },
+ "regions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegionDefaults"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "ModelDefaultsResult": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/ModelDefaults"
+ }
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "config"
+ ]
+ },
"ModelInfo": {
"type": "object",
"properties": {
"cloud": {
"type": "string"
},
- "cloud-credential": {
+ "cloud-credential-tag": {
"type": "string"
},
"cloud-region": {
"life": {
"type": "string"
},
+ "machines": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelMachineInfo"
+ }
+ },
"name": {
"type": "string"
},
"owner-tag",
"life",
"status",
- "users"
+ "users",
+ "machines"
+ ]
+ },
+ "ModelMachineInfo": {
+ "type": "object",
+ "properties": {
+ "hardware": {
+ "$ref": "#/definitions/MachineHardware"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id"
]
},
"ModelSet": {
"cloud": {
"type": "string"
},
+ "migration": {
+ "type": "string"
+ },
"name": {
"type": "string"
},
"keys"
]
},
+ "ModelUnsetKeys": {
+ "type": "object",
+ "properties": {
+ "cloud-region": {
+ "type": "string"
+ },
+ "cloud-tag": {
+ "type": "string"
+ },
+ "keys": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "keys"
+ ]
+ },
"ModelUserInfo": {
"type": "object",
"properties": {
"public-address"
]
},
- "RelationStatus": {
+ "RegionDefaults": {
"type": "object",
"properties": {
- "endpoints": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/EndpointStatus"
- }
+ "region-name": {
+ "type": "string"
},
- "id": {
- "type": "integer"
+ "value": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "region-name",
+ "value"
+ ]
+ },
+ "RelationStatus": {
+ "type": "object",
+ "properties": {
+ "endpoints": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointStatus"
+ }
+ },
+ "id": {
+ "type": "integer"
},
"interface": {
"type": "string"
"version"
]
},
+ "SetModelDefaults": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelDefaultValues"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "config"
+ ]
+ },
"StatusHistoryFilter": {
"type": "object",
"properties": {
"subordinates"
]
},
+ "UnsetModelDefaults": {
+ "type": "object",
+ "properties": {
+ "keys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelUnsetKeys"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "keys"
+ ]
+ },
"Value": {
"type": "object",
"properties": {
}
}
},
- "CloudDefaults": {
+ "Clouds": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/CloudsResult"
+ }
+ }
+ },
+ "Credential": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/CloudDefaultsResults"
+ "$ref": "#/definitions/CloudCredentialResults"
+ }
+ }
+ },
+ "DefaultCloud": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/StringResult"
}
}
},
- "Credentials": {
+ "RevokeCredentials": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/UserClouds"
+ "$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/CloudCredentialsResults"
+ "$ref": "#/definitions/ErrorResults"
}
}
},
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/UsersCloudCredentials"
+ "$ref": "#/definitions/UpdateCloudCredentials"
},
"Result": {
"$ref": "#/definitions/ErrorResults"
}
}
+ },
+ "UserCredentials": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/UserClouds"
+ },
+ "Result": {
+ "$ref": "#/definitions/StringsResults"
+ }
+ }
}
},
"definitions": {
"endpoint": {
"type": "string"
},
+ "identity-endpoint": {
+ "type": "string"
+ },
"regions": {
"type": "array",
"items": {
"$ref": "#/definitions/CloudRegion"
}
},
+ "storage-endpoint": {
+ "type": "string"
+ },
"type": {
"type": "string"
}
},
"auth-type": {
"type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "auth-type"
- ]
- },
- "CloudCredentialsResult": {
- "type": "object",
- "properties": {
- "credentials": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "$ref": "#/definitions/CloudCredential"
- }
- }
},
- "error": {
- "$ref": "#/definitions/Error"
- }
- },
- "additionalProperties": false
- },
- "CloudCredentialsResults": {
- "type": "object",
- "properties": {
- "results": {
+ "redacted": {
"type": "array",
"items": {
- "$ref": "#/definitions/CloudCredentialsResult"
+ "type": "string"
}
}
},
- "additionalProperties": false
- },
- "CloudDefaults": {
- "type": "object",
- "properties": {
- "cloud-tag": {
- "type": "string"
- },
- "credential": {
- "type": "string"
- },
- "region": {
- "type": "string"
- }
- },
"additionalProperties": false,
"required": [
- "cloud-tag"
+ "auth-type"
]
},
- "CloudDefaultsResult": {
+ "CloudCredentialResult": {
"type": "object",
"properties": {
"error": {
"$ref": "#/definitions/Error"
},
"result": {
- "$ref": "#/definitions/CloudDefaults"
+ "$ref": "#/definitions/CloudCredential"
}
},
- "additionalProperties": false,
- "required": [
- "error"
- ]
+ "additionalProperties": false
},
- "CloudDefaultsResults": {
+ "CloudCredentialResults": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
- "$ref": "#/definitions/CloudDefaultsResult"
+ "$ref": "#/definitions/CloudCredentialResult"
}
}
},
"endpoint": {
"type": "string"
},
+ "identity-endpoint": {
+ "type": "string"
+ },
"name": {
"type": "string"
+ },
+ "storage-endpoint": {
+ "type": "string"
}
},
"additionalProperties": false,
},
"additionalProperties": false
},
+ "CloudsResult": {
+ "type": "object",
+ "properties": {
+ "clouds": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/Cloud"
+ }
+ }
+ }
+ },
+ "additionalProperties": false
+ },
"Entities": {
"type": "object",
"properties": {
"type": "object",
"additionalProperties": false
},
- "UserCloud": {
+ "StringResult": {
"type": "object",
"properties": {
- "cloud-tag": {
- "type": "string"
+ "error": {
+ "$ref": "#/definitions/Error"
},
- "user-tag": {
+ "result": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "user-tag",
- "cloud-tag"
+ "result"
]
},
- "UserCloudCredentials": {
+ "StringsResult": {
"type": "object",
"properties": {
- "cloud-tag": {
- "type": "string"
+ "error": {
+ "$ref": "#/definitions/Error"
},
- "credentials": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "$ref": "#/definitions/CloudCredential"
- }
+ "result": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "StringsResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StringsResult"
}
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
+ "UpdateCloudCredential": {
+ "type": "object",
+ "properties": {
+ "credential": {
+ "$ref": "#/definitions/CloudCredential"
},
- "user-tag": {
+ "tag": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "user-tag",
- "cloud-tag",
- "credentials"
+ "tag",
+ "credential"
]
},
- "UserClouds": {
+ "UpdateCloudCredentials": {
"type": "object",
"properties": {
- "user-clouds": {
+ "credentials": {
"type": "array",
"items": {
- "$ref": "#/definitions/UserCloud"
+ "$ref": "#/definitions/UpdateCloudCredential"
}
}
},
"additionalProperties": false
},
- "UsersCloudCredentials": {
+ "UserCloud": {
"type": "object",
"properties": {
- "users": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/UserCloudCredentials"
- }
+ "cloud-tag": {
+ "type": "string"
+ },
+ "user-tag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "users"
+ "user-tag",
+ "cloud-tag"
]
+ },
+ "UserClouds": {
+ "type": "object",
+ "properties": {
+ "user-clouds": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserCloud"
+ }
+ }
+ },
+ "additionalProperties": false
}
}
}
}
}
},
+ "CloudSpec": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/CloudSpecResults"
+ }
+ }
+ },
"ControllerConfig": {
"type": "object",
"properties": {
}
}
},
- "InitiateModelMigration": {
+ "GetControllerAccess": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/UserAccessResults"
+ }
+ }
+ },
+ "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": {
"watcher-id"
]
},
- "ConfigValue": {
+ "CloudCredential": {
"type": "object",
"properties": {
- "source": {
+ "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": {
},
"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"
+ ]
+ },
+ "InitiateMigrationArgs": {
"type": "object",
"properties": {
"specs": {
"type": "array",
"items": {
- "$ref": "#/definitions/ModelMigrationSpec"
+ "$ref": "#/definitions/MigrationSpec"
}
}
},
"specs"
]
},
- "InitiateModelMigrationResult": {
+ "InitiateMigrationResult": {
"type": "object",
"properties": {
"error": {
"$ref": "#/definitions/Error"
},
- "id": {
+ "migration-id": {
"type": "string"
},
"model-tag": {
"additionalProperties": false,
"required": [
"model-tag",
- "id"
+ "migration-id"
]
},
- "InitiateModelMigrationResults": {
+ "InitiateMigrationResults": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
- "$ref": "#/definitions/InitiateModelMigrationResult"
+ "$ref": "#/definitions/InitiateMigrationResult"
}
}
},
"type": "object",
"additionalProperties": false
},
+ "MachineHardware": {
+ "type": "object",
+ "properties": {
+ "arch": {
+ "type": "string"
+ },
+ "availability-zone": {
+ "type": "string"
+ },
+ "cores": {
+ "type": "integer"
+ },
+ "cpu-power": {
+ "type": "integer"
+ },
+ "mem": {
+ "type": "integer"
+ },
+ "root-disk": {
+ "type": "integer"
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "MigrationSpec": {
+ "type": "object",
+ "properties": {
+ "external-control": {
+ "type": "boolean"
+ },
+ "model-tag": {
+ "type": "string"
+ },
+ "target-info": {
+ "$ref": "#/definitions/MigrationTargetInfo"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "model-tag",
+ "target-info",
+ "external-control"
+ ]
+ },
+ "MigrationTargetInfo": {
+ "type": "object",
+ "properties": {
+ "addrs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "auth-tag": {
+ "type": "string"
+ },
+ "ca-cert": {
+ "type": "string"
+ },
+ "controller-tag": {
+ "type": "string"
+ },
+ "macaroons": {
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "controller-tag",
+ "addrs",
+ "ca-cert",
+ "auth-tag"
+ ]
+ },
"Model": {
"type": "object",
"properties": {
"config"
]
},
- "ModelMigrationSpec": {
- "type": "object",
- "properties": {
- "model-tag": {
- "type": "string"
- },
- "target-info": {
- "$ref": "#/definitions/ModelMigrationTargetInfo"
- }
- },
- "additionalProperties": false,
- "required": [
- "model-tag",
- "target-info"
- ]
- },
- "ModelMigrationTargetInfo": {
+ "ModelMachineInfo": {
"type": "object",
"properties": {
- "addrs": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "auth-tag": {
- "type": "string"
- },
- "ca-cert": {
- "type": "string"
- },
- "controller-tag": {
- "type": "string"
+ "hardware": {
+ "$ref": "#/definitions/MachineHardware"
},
- "password": {
+ "id": {
"type": "string"
}
},
"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"
]
},
- "RemoveBlocksArgs": {
+ "ModifyControllerAccess": {
"type": "object",
"properties": {
- "all": {
- "type": "boolean"
+ "access": {
+ "type": "string"
+ },
+ "action": {
+ "type": "string"
+ },
+ "user-tag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "all"
+ "user-tag",
+ "action",
+ "access"
]
},
- "UserModel": {
+ "ModifyControllerAccessRequest": {
"type": "object",
"properties": {
- "last-connection": {
- "type": "string",
- "format": "date-time"
- },
- "model": {
- "$ref": "#/definitions/Model"
+ "changes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModifyControllerAccess"
+ }
}
},
"additionalProperties": false,
"required": [
- "model",
- "last-connection"
+ "changes"
]
},
- "UserModelList": {
+ "RemoveBlocksArgs": {
"type": "object",
"properties": {
- "user-models": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/UserModel"
- }
+ "all": {
+ "type": "boolean"
}
},
"additionalProperties": false,
"required": [
- "user-models"
+ "all"
]
- }
- }
- }
- },
- {
- "Name": "Deployer",
- "Version": 1,
- "Schema": {
- "type": "object",
- "properties": {
- "APIAddresses": {
+ },
+ "UserAccess": {
"type": "object",
"properties": {
- "Result": {
+ "access": {
+ "type": "string"
+ },
+ "user-tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "user-tag",
+ "access"
+ ]
+ },
+ "UserAccessResult": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "result": {
+ "$ref": "#/definitions/UserAccess"
+ }
+ },
+ "additionalProperties": false
+ },
+ "UserAccessResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserAccessResult"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "UserModel": {
+ "type": "object",
+ "properties": {
+ "last-connection": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "model": {
+ "$ref": "#/definitions/Model"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "model",
+ "last-connection"
+ ]
+ },
+ "UserModelList": {
+ "type": "object",
+ "properties": {
+ "user-models": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserModel"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "user-models"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "Name": "Deployer",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "APIAddresses": {
+ "type": "object",
+ "properties": {
+ "Result": {
"$ref": "#/definitions/StringsResult"
}
}
"Schema": {
"type": "object",
"properties": {
+ "CloudSpec": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/CloudSpecResults"
+ }
+ }
+ },
"GetAssignedMachine": {
"type": "object",
"properties": {
"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": {
"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": {
"type": "object",
"properties": {
"target": {
- "$ref": "#/definitions/Version"
+ "$ref": "#/definitions/MongoVersion"
}
},
"additionalProperties": false,
}
},
"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"
- ]
}
}
}
},
"record-id": {
"type": "integer"
+ },
+ "record-timestamp": {
+ "type": "integer"
}
},
"additionalProperties": false,
"required": [
"record-id",
+ "record-timestamp",
"err"
]
},
},
"record-id": {
"type": "integer"
+ },
+ "record-timestamp": {
+ "type": "integer"
}
},
"additionalProperties": false,
"required": [
"LogForwardingID",
- "record-id"
+ "record-id",
+ "record-timestamp"
]
},
"LogForwardingSetLastSentParams": {
}
},
{
- "Name": "Machiner",
+ "Name": "MachineUndertaker",
"Version": 1,
"Schema": {
"type": "object",
"properties": {
- "APIAddresses": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/StringsResult"
- }
- }
- },
- "APIHostPorts": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/APIHostPortsResult"
- }
- }
- },
- "CACert": {
+ "AllMachineRemovals": {
"type": "object",
"properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
"Result": {
- "$ref": "#/definitions/BytesResult"
+ "$ref": "#/definitions/EntitiesResults"
}
}
},
- "EnsureDead": {
+ "CompleteMachineRemovals": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/ErrorResults"
}
}
},
- "Jobs": {
+ "GetMachineProviderInterfaceInfo": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/JobsResults"
+ "$ref": "#/definitions/ProviderInterfaceInfoResults"
}
}
},
- "Life": {
+ "WatchMachineRemovals": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/LifeResults"
+ "$ref": "#/definitions/NotifyWatchResults"
}
}
- },
- "ModelUUID": {
+ }
+ },
+ "definitions": {
+ "Entities": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/StringResult"
+ "entities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "entities"
+ ]
+ },
+ "EntitiesResult": {
+ "type": "object",
+ "properties": {
+ "entities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "entities"
+ ]
+ },
+ "EntitiesResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntitiesResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
+ "Entity": {
+ "type": "object",
+ "properties": {
+ "tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "tag"
+ ]
+ },
+ "Error": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "info": {
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "message": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "message",
+ "code"
+ ]
+ },
+ "ErrorInfo": {
+ "type": "object",
+ "properties": {
+ "macaroon": {
+ "$ref": "#/definitions/Macaroon"
+ },
+ "macaroon-path": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "Macaroon": {
+ "type": "object",
+ "additionalProperties": false
+ },
+ "NotifyWatchResult": {
+ "type": "object",
+ "properties": {
+ "NotifyWatcherId": {
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "NotifyWatcherId"
+ ]
+ },
+ "NotifyWatchResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NotifyWatchResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
+ "ProviderInterfaceInfo": {
+ "type": "object",
+ "properties": {
+ "interface-name": {
+ "type": "string"
+ },
+ "mac-address": {
+ "type": "string"
+ },
+ "provider-id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "interface-name",
+ "mac-address",
+ "provider-id"
+ ]
+ },
+ "ProviderInterfaceInfoResult": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "interfaces": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProviderInterfaceInfo"
+ }
+ },
+ "machine-tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "machine-tag",
+ "interfaces"
+ ]
+ },
+ "ProviderInterfaceInfoResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProviderInterfaceInfoResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "Name": "Machiner",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "APIAddresses": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/StringsResult"
+ }
+ }
+ },
+ "APIHostPorts": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/APIHostPortsResult"
+ }
+ }
+ },
+ "CACert": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/BytesResult"
+ }
+ }
+ },
+ "EnsureDead": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "Jobs": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/JobsResults"
+ }
+ }
+ },
+ "Life": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/LifeResults"
+ }
+ }
+ },
+ "ModelUUID": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/StringResult"
+ }
+ }
},
"SetMachineAddresses": {
"type": "object",
"type": "string",
"format": "date-time"
},
+ "unit": {
+ "type": "string"
+ },
"value": {
"type": "string"
}
"required": [
"time",
"key",
- "value"
+ "value",
+ "unit"
]
},
"MetricResults": {
"type": "string"
}
},
- "additionalProperties": false,
- "required": [
- "phase"
- ]
+ "additionalProperties": false
},
"PhaseResults": {
"type": "object",
}
}
},
- "GetMigrationStatus": {
+ "MigrationStatus": {
"type": "object",
"properties": {
"Result": {
- "$ref": "#/definitions/FullMigrationStatus"
+ "$ref": "#/definitions/MasterMigrationStatus"
}
}
},
- "SetPhase": {
+ "MinionReports": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/SetMigrationPhaseArgs"
+ "Result": {
+ "$ref": "#/definitions/MinionReports"
}
}
},
- "Watch": {
+ "ModelInfo": {
"type": "object",
"properties": {
"Result": {
- "$ref": "#/definitions/NotifyWatchResult"
+ "$ref": "#/definitions/MigrationModelInfo"
}
}
- }
- },
- "definitions": {
- "Error": {
- "type": "object",
- "properties": {
- "code": {
+ },
+ "Prechecks": {
+ "type": "object"
+ },
+ "Reap": {
+ "type": "object"
+ },
+ "SetPhase": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/SetMigrationPhaseArgs"
+ }
+ }
+ },
+ "SetStatusMessage": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/SetMigrationStatusMessageArgs"
+ }
+ }
+ },
+ "Watch": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResult"
+ }
+ }
+ },
+ "WatchMinionReports": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResult"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Error": {
+ "type": "object",
+ "properties": {
+ "code": {
"type": "string"
},
"info": {
},
"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",
- "additionalProperties": false
+ "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"
+ ]
},
- "ModelMigrationSpec": {
+ "MigrationSpec": {
"type": "object",
"properties": {
+ "external-control": {
+ "type": "boolean"
+ },
"model-tag": {
"type": "string"
},
"target-info": {
- "$ref": "#/definitions/ModelMigrationTargetInfo"
+ "$ref": "#/definitions/MigrationTargetInfo"
}
},
"additionalProperties": false,
"required": [
"model-tag",
- "target-info"
+ "target-info",
+ "external-control"
]
},
- "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": {
"NotifyWatcherId"
]
},
+ "Number": {
+ "type": "object",
+ "properties": {
+ "Build": {
+ "type": "integer"
+ },
+ "Major": {
+ "type": "integer"
+ },
+ "Minor": {
+ "type": "integer"
+ },
+ "Patch": {
+ "type": "integer"
+ },
+ "Tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Major",
+ "Minor",
+ "Tag",
+ "Patch",
+ "Build"
+ ]
+ },
"SerializedModel": {
"type": "object",
"properties": {
"items": {
"type": "integer"
}
+ },
+ "charms": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "tools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SerializedModelTools"
+ }
}
},
"additionalProperties": false,
"required": [
- "bytes"
+ "bytes",
+ "charms",
+ "tools"
+ ]
+ },
+ "SerializedModelTools": {
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "version",
+ "uri"
]
},
"SetMigrationPhaseArgs": {
"required": [
"phase"
]
+ },
+ "SetMigrationStatusMessageArgs": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "message"
+ ]
}
}
}
"Schema": {
"type": "object",
"properties": {
+ "Report": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/MinionReport"
+ }
+ }
+ },
"Watch": {
"type": "object",
"properties": {
"type": "object",
"additionalProperties": false
},
+ "MinionReport": {
+ "type": "object",
+ "properties": {
+ "migration-id": {
+ "type": "string"
+ },
+ "phase": {
+ "type": "string"
+ },
+ "success": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "migration-id",
+ "phase",
+ "success"
+ ]
+ },
"NotifyWatchResult": {
"type": "object",
"properties": {
"attempt": {
"type": "integer"
},
+ "migration-id": {
+ "type": "string"
+ },
"phase": {
"type": "string"
},
"type": "string"
}
},
- "source-ca-cert": {
+ "source-ca-cert": {
+ "type": "string"
+ },
+ "target-api-addrs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "target-ca-cert": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "migration-id",
+ "attempt",
+ "phase",
+ "source-api-addrs",
+ "source-ca-cert",
+ "target-api-addrs",
+ "target-ca-cert"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "Name": "MigrationTarget",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "Abort": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ModelArgs"
+ }
+ }
+ },
+ "Activate": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ModelArgs"
+ }
+ }
+ },
+ "Import": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$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": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "model-tag"
+ ]
+ },
+ "Number": {
+ "type": "object",
+ "properties": {
+ "Build": {
+ "type": "integer"
+ },
+ "Major": {
+ "type": "integer"
+ },
+ "Minor": {
+ "type": "integer"
+ },
+ "Patch": {
+ "type": "integer"
+ },
+ "Tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Major",
+ "Minor",
+ "Tag",
+ "Patch",
+ "Build"
+ ]
+ },
+ "SerializedModel": {
+ "type": "object",
+ "properties": {
+ "bytes": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "charms": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "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": {
+ "ModelDefaults": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/ModelDefaultsResult"
+ }
+ }
+ },
+ "ModelGet": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/ModelConfigResults"
+ }
+ }
+ },
+ "ModelSet": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ModelSet"
+ }
+ }
+ },
+ "ModelUnset": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ModelUnset"
+ }
+ }
+ },
+ "SetModelDefaults": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/SetModelDefaults"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "UnsetModelDefaults": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/UnsetModelDefaults"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ConfigValue": {
+ "type": "object",
+ "properties": {
+ "source": {
+ "type": "string"
+ },
+ "value": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "value",
+ "source"
+ ]
+ },
+ "Error": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "info": {
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "message": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "message",
+ "code"
+ ]
+ },
+ "ErrorInfo": {
+ "type": "object",
+ "properties": {
+ "macaroon": {
+ "$ref": "#/definitions/Macaroon"
+ },
+ "macaroon-path": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ErrorResult": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ErrorResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
+ "Macaroon": {
+ "type": "object",
+ "additionalProperties": false
+ },
+ "ModelConfigResults": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/ConfigValue"
+ }
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "config"
+ ]
+ },
+ "ModelDefaultValues": {
+ "type": "object",
+ "properties": {
+ "cloud-region": {
+ "type": "string"
+ },
+ "cloud-tag": {
+ "type": "string"
+ },
+ "config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "config"
+ ]
+ },
+ "ModelDefaults": {
+ "type": "object",
+ "properties": {
+ "controller": {
+ "type": "object",
+ "additionalProperties": true
+ },
+ "default": {
+ "type": "object",
+ "additionalProperties": true
+ },
+ "regions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegionDefaults"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "ModelDefaultsResult": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/ModelDefaults"
+ }
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "config"
+ ]
+ },
+ "ModelSet": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "config"
+ ]
+ },
+ "ModelUnset": {
+ "type": "object",
+ "properties": {
+ "keys": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "keys"
+ ]
+ },
+ "ModelUnsetKeys": {
+ "type": "object",
+ "properties": {
+ "cloud-region": {
+ "type": "string"
+ },
+ "cloud-tag": {
"type": "string"
},
- "target-api-addrs": {
+ "keys": {
"type": "array",
"items": {
"type": "string"
}
- },
- "target-ca-cert": {
- "type": "string"
}
},
"additionalProperties": false,
"required": [
- "attempt",
- "phase",
- "source-api-addrs",
- "source-ca-cert",
- "target-api-addrs",
- "target-ca-cert"
+ "keys"
]
- }
- }
- }
- },
- {
- "Name": "MigrationTarget",
- "Version": 1,
- "Schema": {
- "type": "object",
- "properties": {
- "Abort": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/ModelArgs"
- }
- }
},
- "Activate": {
+ "RegionDefaults": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/ModelArgs"
+ "region-name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "object",
+ "additionalProperties": true
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "region-name",
+ "value"
+ ]
},
- "Import": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/SerializedModel"
- }
- }
- }
- },
- "definitions": {
- "ModelArgs": {
+ "SetModelDefaults": {
"type": "object",
"properties": {
- "model-tag": {
- "type": "string"
+ "config": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelDefaultValues"
+ }
}
},
"additionalProperties": false,
"required": [
- "model-tag"
+ "config"
]
},
- "SerializedModel": {
+ "UnsetModelDefaults": {
"type": "object",
"properties": {
- "bytes": {
+ "keys": {
"type": "array",
"items": {
- "type": "integer"
+ "$ref": "#/definitions/ModelUnsetKeys"
}
}
},
"additionalProperties": false,
"required": [
- "bytes"
+ "keys"
]
}
}
"DestroyModel": {
"type": "object"
},
+ "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": {
"type": "object",
"additionalProperties": false
},
+ "MachineHardware": {
+ "type": "object",
+ "properties": {
+ "arch": {
+ "type": "string"
+ },
+ "availability-zone": {
+ "type": "string"
+ },
+ "cores": {
+ "type": "integer"
+ },
+ "cpu-power": {
+ "type": "integer"
+ },
+ "mem": {
+ "type": "integer"
+ },
+ "root-disk": {
+ "type": "integer"
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "MapResult": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "result": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "result"
+ ]
+ },
+ "MapResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MapResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
"Model": {
"type": "object",
"properties": {
"ModelCreateArgs": {
"type": "object",
"properties": {
+ "cloud-tag": {
+ "type": "string"
+ },
"config": {
"type": "object",
"patternProperties": {
"cloud": {
"type": "string"
},
- "cloud-credential": {
+ "cloud-credential-tag": {
"type": "string"
},
"cloud-region": {
"life": {
"type": "string"
},
+ "machines": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelMachineInfo"
+ }
+ },
"name": {
"type": "string"
},
"owner-tag",
"life",
"status",
- "users"
+ "users",
+ "machines"
]
},
"ModelInfoResult": {
"results"
]
},
+ "ModelMachineInfo": {
+ "type": "object",
+ "properties": {
+ "hardware": {
+ "$ref": "#/definitions/MachineHardware"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id"
+ ]
+ },
"ModelUserInfo": {
"type": "object",
"properties": {
}
}
},
+ "MarkMachinesForRemoval": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
"ModelConfig": {
"type": "object",
"properties": {
},
{
"Name": "Storage",
- "Version": 2,
+ "Version": 3,
"Schema": {
"type": "object",
"properties": {
},
{
"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": {
"results"
]
},
- "ModelConfigResult": {
- "type": "object",
- "properties": {
- "config": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "config"
- ]
- },
"NotifyWatchResult": {
"type": "object",
"properties": {
}
}
},
+ "RemoveUser": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
"SetPassword": {
"type": "object",
"properties": {
"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": {
"UserInfo": {
"type": "object",
"properties": {
+ "access": {
+ "type": "string"
+ },
"created-by": {
"type": "string"
},
"required": [
"username",
"display-name",
+ "access",
"created-by",
"date-created",
"disabled"