}
}
},
+ "GetCloudSpec": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ModelTag"
+ },
+ "Result": {
+ "$ref": "#/definitions/CloudSpecResult"
+ }
+ }
+ },
"GetEntities": {
"type": "object",
"properties": {
}
}
},
+ "WatchCredentials": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResults"
+ }
+ }
+ },
"WatchForModelConfigChanges": {
"type": "object",
"properties": {
"config"
]
},
+ "ModelTag": {
+ "type": "object",
+ "additionalProperties": false
+ },
"NotifyWatchResult": {
"type": "object",
"properties": {
"NotifyWatcherId"
]
},
+ "NotifyWatchResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NotifyWatchResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
"StateServingInfo": {
"type": "object",
"properties": {
},
{
"Name": "Application",
- "Version": 1,
+ "Version": 3,
"Schema": {
"type": "object",
"properties": {
"charm-url": {
"type": "string"
},
+ "config-settings": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ }
+ },
+ "config-settings-yaml": {
+ "type": "string"
+ },
"force-series": {
"type": "boolean"
},
"type": "string"
}
}
+ },
+ "storage-constraints": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/StorageConstraints"
+ }
+ }
}
},
"additionalProperties": false,
"constraints"
]
},
+ "StorageConstraints": {
+ "type": "object",
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "pool": {
+ "type": "string"
+ },
+ "size": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false
+ },
"StringResult": {
"type": "object",
"properties": {
"container": {
"type": "string"
},
- "cpu-cores": {
+ "cores": {
"type": "integer"
},
"cpu-power": {
}
}
},
+ {
+ "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
+ },
+ "ApplicationRelationsWatchResult": {
+ "type": "object",
+ "properties": {
+ "ApplicationRelationsWatcherId": {
+ "type": "string"
+ },
+ "changes": {
+ "$ref": "#/definitions/ApplicationRelationsChange"
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "ApplicationRelationsWatcherId"
+ ]
+ },
+ "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
+ },
+ "RelationChange": {
+ "type": "object",
+ "properties": {
+ "changedunits": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/RelationUnitChange"
+ }
+ }
+ },
+ "departedunits": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "id": {
+ "type": "integer"
+ },
+ "life": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "life"
+ ]
+ },
+ "RelationUnitChange": {
+ "type": "object",
+ "properties": {
+ "settings": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+ }
+ },
{
"Name": "ApplicationScaler",
"Version": 1,
}
},
{
- "Name": "CharmRevisionUpdater",
- "Version": 2,
+ "Name": "Bundle",
+ "Version": 1,
"Schema": {
"type": "object",
"properties": {
- "UpdateLatestRevisions": {
+ "GetChanges": {
"type": "object",
"properties": {
+ "Params": {
+ "$ref": "#/definitions/BundleChangesParams"
+ },
"Result": {
- "$ref": "#/definitions/ErrorResult"
+ "$ref": "#/definitions/BundleChangesResults"
}
}
}
},
"definitions": {
- "Error": {
+ "BundleChange": {
"type": "object",
"properties": {
- "code": {
- "type": "string"
+ "args": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "additionalProperties": true
+ }
},
- "info": {
- "$ref": "#/definitions/ErrorInfo"
+ "id": {
+ "type": "string"
},
- "message": {
+ "method": {
"type": "string"
+ },
+ "requires": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
},
"additionalProperties": false,
"required": [
- "message",
- "code"
+ "id",
+ "method",
+ "args",
+ "requires"
]
},
- "ErrorInfo": {
+ "BundleChangesParams": {
"type": "object",
"properties": {
- "macaroon": {
- "$ref": "#/definitions/Macaroon"
- },
- "macaroon-path": {
+ "yaml": {
"type": "string"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "yaml"
+ ]
},
- "ErrorResult": {
+ "BundleChangesResults": {
"type": "object",
"properties": {
- "error": {
- "$ref": "#/definitions/Error"
+ "changes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BundleChange"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
},
"additionalProperties": false
- },
- "Macaroon": {
- "type": "object",
- "additionalProperties": false
+ }
+ }
+ }
+ },
+ {
+ "Name": "CharmRevisionUpdater",
+ "Version": 2,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "UpdateLatestRevisions": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/ErrorResult"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Error": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "info": {
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "message": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "message",
+ "code"
+ ]
+ },
+ "ErrorInfo": {
+ "type": "object",
+ "properties": {
+ "macaroon": {
+ "$ref": "#/definitions/Macaroon"
+ },
+ "macaroon-path": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ErrorResult": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "additionalProperties": false
+ },
+ "Macaroon": {
+ "type": "object",
+ "additionalProperties": false
}
}
}
"$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": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/GetBundleChangesParams"
+ "$ref": "#/definitions/BundleChangesParams"
},
"Result": {
- "$ref": "#/definitions/GetBundleChangesResults"
+ "$ref": "#/definitions/BundleChangesResults"
}
}
},
}
}
},
- "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": {
"Arch"
]
},
- "BundleChangesChange": {
+ "BundleChange": {
"type": "object",
"properties": {
"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": {
"items": {
"$ref": "#/definitions/RelationStatus"
}
+ },
+ "remote-applications": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/RemoteApplicationStatus"
+ }
+ }
}
},
"additionalProperties": false,
"model",
"machines",
"applications",
+ "remote-applications",
"relations"
]
},
- "GetBundleChangesParams": {
- "type": "object",
- "properties": {
- "yaml": {
- "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": {
"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": {
"instance-status": {
"$ref": "#/definitions/DetailedStatus"
},
+ "ip-addresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
"jobs": {
"type": "array",
"items": {
"agent-status",
"instance-status",
"dns-name",
+ "ip-addresses",
"instance-id",
"series",
"id",
"config"
]
},
- "ModelDefaultValues": {
+ "ModelInfo": {
"type": "object",
"properties": {
+ "cloud-credential-tag": {
+ "type": "string"
+ },
"cloud-region": {
"type": "string"
},
"cloud-tag": {
"type": "string"
},
- "config": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
+ "controller-uuid": {
+ "type": "string"
+ },
+ "default-series": {
+ "type": "string"
+ },
+ "life": {
+ "type": "string"
+ },
+ "machines": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelMachineInfo"
+ }
+ },
+ "name": {
+ "type": "string"
+ },
+ "owner-tag": {
+ "type": "string"
+ },
+ "provider-type": {
+ "type": "string"
+ },
+ "status": {
+ "$ref": "#/definitions/EntityStatus"
+ },
+ "users": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelUserInfo"
}
+ },
+ "uuid": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "config"
+ "name",
+ "uuid",
+ "controller-uuid",
+ "provider-type",
+ "default-series",
+ "cloud-tag",
+ "owner-tag",
+ "life",
+ "status",
+ "users",
+ "machines"
]
},
- "ModelDefaults": {
+ "ModelMachineInfo": {
"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-tag": {
- "type": "string"
- },
- "cloud-region": {
- "type": "string"
- },
- "controller-uuid": {
- "type": "string"
- },
- "default-series": {
- "type": "string"
- },
- "life": {
- "type": "string"
+ "hardware": {
+ "$ref": "#/definitions/MachineHardware"
},
- "name": {
- "type": "string"
+ "has-vote": {
+ "type": "boolean"
},
- "owner-tag": {
+ "id": {
"type": "string"
},
- "provider-type": {
+ "instance-id": {
"type": "string"
},
"status": {
- "$ref": "#/definitions/EntityStatus"
- },
- "users": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ModelUserInfo"
- }
- },
- "uuid": {
"type": "string"
+ },
+ "wants-vote": {
+ "type": "boolean"
}
},
"additionalProperties": false,
"required": [
- "name",
- "uuid",
- "controller-uuid",
- "provider-type",
- "default-series",
- "cloud",
- "owner-tag",
- "life",
- "status",
- "users"
+ "id"
]
},
"ModelSet": {
"available-version": {
"type": "string"
},
- "cloud": {
+ "cloud-tag": {
"type": "string"
},
"migration": {
"additionalProperties": false,
"required": [
"name",
- "cloud",
+ "cloud-tag",
"version",
"available-version"
]
"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"
]
},
- "RegionDefaults": {
+ "RelationStatus": {
"type": "object",
"properties": {
- "region-name": {
+ "endpoints": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointStatus"
+ }
+ },
+ "id": {
+ "type": "integer"
+ },
+ "interface": {
"type": "string"
},
- "value": {
- "type": "object",
- "additionalProperties": true
+ "key": {
+ "type": "string"
+ },
+ "scope": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "region-name",
- "value"
+ "id",
+ "key",
+ "interface",
+ "scope",
+ "endpoints"
]
},
- "RelationStatus": {
+ "RemoteApplicationStatus": {
"type": "object",
"properties": {
+ "application-name": {
+ "type": "string"
+ },
+ "application-url": {
+ "type": "string"
+ },
"endpoints": {
"type": "array",
"items": {
- "$ref": "#/definitions/EndpointStatus"
+ "$ref": "#/definitions/RemoteEndpoint"
}
},
- "id": {
- "type": "integer"
+ "err": {
+ "type": "object",
+ "additionalProperties": true
+ },
+ "life": {
+ "type": "string"
+ },
+ "relations": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
},
+ "status": {
+ "$ref": "#/definitions/DetailedStatus"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "application-url",
+ "application-name",
+ "endpoints",
+ "life",
+ "relations",
+ "status"
+ ]
+ },
+ "RemoteEndpoint": {
+ "type": "object",
+ "properties": {
"interface": {
"type": "string"
},
- "key": {
+ "limit": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ },
+ "role": {
"type": "string"
},
"scope": {
},
"additionalProperties": false,
"required": [
- "id",
- "key",
+ "name",
+ "role",
"interface",
- "scope",
- "endpoints"
+ "limit",
+ "scope"
]
},
"ResolveCharmResult": {
"version"
]
},
- "SetModelDefaults": {
- "type": "object",
- "properties": {
- "config": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ModelDefaultValues"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "config"
- ]
- },
"StatusHistoryFilter": {
"type": "object",
"properties": {
"charm": {
"type": "string"
},
+ "leader": {
+ "type": "boolean"
+ },
"machine": {
"type": "string"
},
"subordinates"
]
},
- "UnsetModelDefaults": {
- "type": "object",
- "properties": {
- "keys": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ModelUnsetKeys"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "keys"
- ]
- },
"Value": {
"type": "object",
"properties": {
"container": {
"type": "string"
},
- "cpu-cores": {
+ "cores": {
"type": "integer"
},
"cpu-power": {
}
}
},
+ "GetCloudSpec": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ModelTag"
+ },
+ "Result": {
+ "$ref": "#/definitions/CloudSpecResult"
+ }
+ }
+ },
"GetControllerAccess": {
"type": "object",
"properties": {
}
}
},
+ "HostedModelConfigs": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/HostedModelConfigsResults"
+ }
+ }
+ },
"InitiateMigration": {
"type": "object",
"properties": {
"results"
]
},
- "InitiateMigrationArgs": {
- "type": "object",
- "properties": {
- "specs": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/MigrationSpec"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "specs"
- ]
- },
- "InitiateMigrationResult": {
+ "HostedModelConfig": {
"type": "object",
"properties": {
- "error": {
- "$ref": "#/definitions/Error"
+ "cloud-spec": {
+ "$ref": "#/definitions/CloudSpec"
},
- "migration-id": {
+ "config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "name": {
+ "type": "string"
+ },
+ "owner": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "name",
+ "owner"
+ ]
+ },
+ "HostedModelConfigsResults": {
+ "type": "object",
+ "properties": {
+ "models": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HostedModelConfig"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "models"
+ ]
+ },
+ "InitiateMigrationArgs": {
+ "type": "object",
+ "properties": {
+ "specs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrationSpec"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "specs"
+ ]
+ },
+ "InitiateMigrationResult": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "migration-id": {
"type": "string"
},
"model-tag": {
"type": "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"
},
+ "skip-initial-prechecks": {
+ "type": "boolean"
+ },
"target-info": {
"$ref": "#/definitions/MigrationTargetInfo"
}
"additionalProperties": false,
"required": [
"model-tag",
- "target-info"
+ "target-info",
+ "external-control",
+ "skip-initial-prechecks"
]
},
"MigrationTargetInfo": {
"controller-tag": {
"type": "string"
},
- "macaroon": {
+ "macaroons": {
"type": "string"
},
"password": {
"config"
]
},
+ "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": {
"life": {
"type": "string"
},
+ "machines": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelMachineInfo"
+ }
+ },
"model-tag": {
"type": "string"
},
"models"
]
},
+ "ModelTag": {
+ "type": "object",
+ "additionalProperties": false
+ },
"ModifyControllerAccess": {
"type": "object",
"properties": {
}
}
},
+ "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": {
"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": {
"NotifyWatcherId"
]
},
+ "SetStatus": {
+ "type": "object",
+ "properties": {
+ "entities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityStatusArgs"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "entities"
+ ]
+ },
"StringResult": {
"type": "object",
"properties": {
}
}
},
+ "GetCloudSpec": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ModelTag"
+ },
+ "Result": {
+ "$ref": "#/definitions/CloudSpecResult"
+ }
+ }
+ },
"GetExposed": {
"type": "object",
"properties": {
"config"
]
},
+ "ModelTag": {
+ "type": "object",
+ "additionalProperties": false
+ },
"NotifyWatchResult": {
"type": "object",
"properties": {
"constraints": {
"$ref": "#/definitions/Value"
},
- "model-tag": {
- "type": "string"
- },
"num-controllers": {
"type": "integer"
},
},
"additionalProperties": false,
"required": [
- "model-tag",
"num-controllers"
]
},
"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,
"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"
- ]
}
}
}
"container": {
"type": "string"
},
- "cpu-cores": {
+ "cores": {
"type": "integer"
},
"cpu-power": {
"type": "string",
"format": "date-time"
},
+ "unit": {
+ "type": "string"
+ },
"value": {
"type": "string"
}
"required": [
"time",
"key",
- "value"
+ "value",
+ "unit"
]
},
"MetricResults": {
"name": {
"type": "string"
},
+ "owner-tag": {
+ "type": "string"
+ },
"uuid": {
"type": "string"
}
"required": [
"uuid",
"name",
+ "owner-tag",
"agent-version"
]
},
"MigrationSpec": {
"type": "object",
"properties": {
+ "external-control": {
+ "type": "boolean"
+ },
"model-tag": {
"type": "string"
},
+ "skip-initial-prechecks": {
+ "type": "boolean"
+ },
"target-info": {
"$ref": "#/definitions/MigrationTargetInfo"
}
"additionalProperties": false,
"required": [
"model-tag",
- "target-info"
+ "target-info",
+ "external-control",
+ "skip-initial-prechecks"
]
},
"MigrationTargetInfo": {
"controller-tag": {
"type": "string"
},
- "macaroon": {
+ "macaroons": {
"type": "string"
},
"password": {
"attempt": {
"type": "integer"
},
+ "external-control": {
+ "type": "boolean"
+ },
"migration-id": {
"type": "string"
},
"migration-id",
"attempt",
"phase",
+ "external-control",
"source-api-addrs",
"source-ca-cert",
"target-api-addrs",
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/TargetPrechecksArgs"
+ "$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": {
"version",
"uri"
]
- },
- "TargetPrechecksArgs": {
- "type": "object",
- "properties": {
- "agent-version": {
- "$ref": "#/definitions/Number"
- }
- },
- "additionalProperties": false,
- "required": [
- "agent-version"
- ]
}
}
}
"Schema": {
"type": "object",
"properties": {
- "ModelDefaults": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/ModelDefaultsResult"
- }
- }
- },
"ModelGet": {
"type": "object",
"properties": {
"$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": {
"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"
]
},
- "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": {
"required": [
"keys"
]
- },
- "ModelUnsetKeys": {
- "type": "object",
- "properties": {
- "cloud-region": {
- "type": "string"
- },
- "cloud-tag": {
- "type": "string"
- },
- "keys": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "keys"
- ]
- },
- "RegionDefaults": {
- "type": "object",
- "properties": {
- "region-name": {
- "type": "string"
- },
- "value": {
- "type": "object",
- "additionalProperties": true
- }
- },
- "additionalProperties": false,
- "required": [
- "region-name",
- "value"
- ]
- },
- "SetModelDefaults": {
- "type": "object",
- "properties": {
- "config": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ModelDefaultValues"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "config"
- ]
- },
- "UnsetModelDefaults": {
- "type": "object",
- "properties": {
- "keys": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ModelUnsetKeys"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "keys"
- ]
}
}
}
}
}
},
- "DestroyModel": {
- "type": "object"
- },
"DestroyModels": {
"type": "object",
"properties": {
}
}
},
+ "ModelDefaults": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/ModelDefaultsResult"
+ }
+ }
+ },
"ModelInfo": {
"type": "object",
"properties": {
}
}
},
+ "ModelStatus": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ModelStatusResults"
+ }
+ }
+ },
"ModifyModelAccess": {
"type": "object",
"properties": {
"$ref": "#/definitions/ErrorResults"
}
}
+ },
+ "SetModelDefaults": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/SetModelDefaults"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "UnsetModelDefaults": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/UnsetModelDefaults"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
}
},
"definitions": {
"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": {
"owner-tag"
]
},
- "ModelCreateArgs": {
+ "ModelCreateArgs": {
+ "type": "object",
+ "properties": {
+ "cloud-tag": {
+ "type": "string"
+ },
+ "config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ },
+ "credential": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "owner-tag": {
+ "type": "string"
+ },
+ "region": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "name",
+ "owner-tag"
+ ]
+ },
+ "ModelDefaultValues": {
+ "type": "object",
+ "properties": {
+ "cloud-region": {
+ "type": "string"
+ },
+ "cloud-tag": {
+ "type": "string"
+ },
+ "config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "config"
+ ]
+ },
+ "ModelDefaults": {
+ "type": "object",
+ "properties": {
+ "controller": {
+ "type": "object",
+ "additionalProperties": true
+ },
+ "default": {
+ "type": "object",
+ "additionalProperties": true
+ },
+ "regions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegionDefaults"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "ModelDefaultsResult": {
"type": "object",
"properties": {
- "cloud-tag": {
- "type": "string"
- },
"config": {
"type": "object",
"patternProperties": {
".*": {
- "type": "object",
- "additionalProperties": true
+ "$ref": "#/definitions/ModelDefaults"
}
}
- },
- "credential": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "owner-tag": {
- "type": "string"
- },
- "region": {
- "type": "string"
}
},
"additionalProperties": false,
"required": [
- "name",
- "owner-tag"
+ "config"
]
},
"ModelInfo": {
"type": "object",
"properties": {
- "cloud": {
- "type": "string"
- },
"cloud-credential-tag": {
"type": "string"
},
"cloud-region": {
"type": "string"
},
+ "cloud-tag": {
+ "type": "string"
+ },
"controller-uuid": {
"type": "string"
},
"life": {
"type": "string"
},
+ "machines": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelMachineInfo"
+ }
+ },
"name": {
"type": "string"
},
"controller-uuid",
"provider-type",
"default-series",
- "cloud",
+ "cloud-tag",
"owner-tag",
"life",
"status",
- "users"
+ "users",
+ "machines"
]
},
"ModelInfoResult": {
"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": {
+ "models": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelStatus"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "models"
+ ]
+ },
+ "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": {
"changes"
]
},
+ "RegionDefaults": {
+ "type": "object",
+ "properties": {
+ "region-name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "region-name",
+ "value"
+ ]
+ },
+ "SetModelDefaults": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelDefaultValues"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "config"
+ ]
+ },
+ "UnsetModelDefaults": {
+ "type": "object",
+ "properties": {
+ "keys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelUnsetKeys"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "keys"
+ ]
+ },
"UserModel": {
"type": "object",
"properties": {
"container": {
"type": "string"
},
- "cpu-cores": {
+ "cores": {
"type": "integer"
},
"cpu-power": {
},
{
"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": {
"results"
]
},
+ "SSHAddressesResult": {
+ "type": "object",
+ "properties": {
+ "addresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "addresses"
+ ]
+ },
+ "SSHAddressesResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SSHAddressesResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
"SSHProxyResult": {
"type": "object",
"properties": {
}
}
},
- "CreateLocalLoginMacaroon": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/MacaroonResults"
- }
- }
- },
"DisableUser": {
"type": "object",
"properties": {
"type": "object",
"additionalProperties": false
},
- "MacaroonResult": {
- "type": "object",
- "properties": {
- "error": {
- "$ref": "#/definitions/Error"
- },
- "result": {
- "$ref": "#/definitions/Macaroon"
- }
- },
- "additionalProperties": false
- },
- "MacaroonResults": {
- "type": "object",
- "properties": {
- "results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/MacaroonResult"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "results"
- ]
- },
"UserInfo": {
"type": "object",
"properties": {