}
}
},
+ "CloudSpec": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/CloudSpecResults"
+ }
+ }
+ },
"ControllerConfig": {
"type": "object",
"properties": {
}
}
},
+ "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": {
"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": {
"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": {
},
"constraints": {
"$ref": "#/definitions/Value"
+ },
+ "series": {
+ "type": "string"
}
},
"additionalProperties": false,
"application",
"charm",
"config",
- "constraints"
+ "constraints",
+ "series"
]
},
"ApplicationMetricCredential": {
"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": "Bundle",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "GetChanges": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/BundleChangesParams"
+ },
+ "Result": {
+ "$ref": "#/definitions/BundleChangesResults"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "BundleChange": {
+ "type": "object",
+ "properties": {
+ "args": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "id": {
+ "type": "string"
+ },
+ "method": {
+ "type": "string"
+ },
+ "requires": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "method",
+ "args",
+ "requires"
+ ]
+ },
+ "BundleChangesParams": {
+ "type": "object",
+ "properties": {
+ "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
+ }
+ }
+ }
+ },
{
"Name": "CharmRevisionUpdater",
"Version": 2,
"$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"
}
}
},
"Arch"
]
},
- "BundleChangesChange": {
+ "BundleChange": {
"type": "object",
"properties": {
"args": {
"requires"
]
},
- "ConfigValue": {
+ "BundleChangesParams": {
"type": "object",
"properties": {
- "source": {
+ "yaml": {
"type": "string"
- },
- "value": {
- "type": "object",
- "additionalProperties": true
}
},
"additionalProperties": false,
"required": [
- "value",
- "source"
+ "yaml"
]
},
- "Constraints": {
+ "BundleChangesResults": {
"type": "object",
"properties": {
- "Count": {
- "type": "integer"
- },
+ "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"
},
"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": {
"agent-status": {
"$ref": "#/definitions/DetailedStatus"
},
+ "constraints": {
+ "type": "string"
+ },
"containers": {
"type": "object",
"patternProperties": {
"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",
"containers",
+ "constraints",
"hardware",
"jobs",
"has-vote",
"ModelInfo": {
"type": "object",
"properties": {
- "cloud": {
+ "cloud-credential-tag": {
"type": "string"
},
- "cloud-credential": {
+ "cloud-region": {
"type": "string"
},
- "cloud-region": {
+ "cloud-tag": {
"type": "string"
},
"controller-uuid": {
"life": {
"type": "string"
},
+ "machines": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelMachineInfo"
+ }
+ },
+ "migration": {
+ "$ref": "#/definitions/ModelMigrationStatus"
+ },
"name": {
"type": "string"
},
"controller-uuid",
"provider-type",
"default-series",
- "cloud",
+ "cloud-tag",
"owner-tag",
"life",
"status",
- "users"
+ "users",
+ "machines"
+ ]
+ },
+ "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"
+ ]
+ },
+ "ModelMigrationStatus": {
+ "type": "object",
+ "properties": {
+ "end": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "start": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "status": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "status",
+ "start"
]
},
"ModelSet": {
"available-version": {
"type": "string"
},
- "cloud": {
+ "cloud-tag": {
+ "type": "string"
+ },
+ "migration": {
"type": "string"
},
"name": {
"additionalProperties": false,
"required": [
"name",
- "cloud",
+ "cloud-tag",
"version",
"available-version"
]
"endpoints"
]
},
+ "RemoteApplicationStatus": {
+ "type": "object",
+ "properties": {
+ "application-name": {
+ "type": "string"
+ },
+ "application-url": {
+ "type": "string"
+ },
+ "endpoints": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RemoteEndpoint"
+ }
+ },
+ "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"
+ },
+ "limit": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ },
+ "role": {
+ "type": "string"
+ },
+ "scope": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "name",
+ "role",
+ "interface",
+ "limit",
+ "scope"
+ ]
+ },
"ResolveCharmResult": {
"type": "object",
"properties": {
"charm": {
"type": "string"
},
+ "leader": {
+ "type": "boolean"
+ },
"machine": {
"type": "string"
},
"container": {
"type": "string"
},
- "cpu-cores": {
+ "cores": {
"type": "integer"
},
"cpu-power": {
}
}
},
- "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": {
+ "InstanceTypes": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/UserClouds"
+ "$ref": "#/definitions/CloudInstanceTypesConstraints"
},
"Result": {
- "$ref": "#/definitions/CloudCredentialsResults"
+ "$ref": "#/definitions/InstanceTypesResults"
}
}
},
- "UpdateCredentials": {
+ "RevokeCredentials": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/UsersCloudCredentials"
+ "$ref": "#/definitions/Entities"
},
"Result": {
"$ref": "#/definitions/ErrorResults"
}
}
- }
+ },
+ "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": {
"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"
+ },
+ "redacted": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
},
"additionalProperties": false,
"auth-type"
]
},
- "CloudCredentialsResult": {
+ "CloudCredentialResult": {
"type": "object",
"properties": {
- "credentials": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "$ref": "#/definitions/CloudCredential"
- }
- }
- },
"error": {
"$ref": "#/definitions/Error"
+ },
+ "result": {
+ "$ref": "#/definitions/CloudCredential"
}
},
"additionalProperties": false
},
- "CloudCredentialsResults": {
+ "CloudCredentialResults": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
- "$ref": "#/definitions/CloudCredentialsResult"
+ "$ref": "#/definitions/CloudCredentialResult"
}
}
},
"additionalProperties": false
},
- "CloudDefaults": {
+ "CloudInstanceTypesConstraint": {
"type": "object",
"properties": {
"cloud-tag": {
"type": "string"
},
- "credential": {
- "type": "string"
+ "constraints": {
+ "$ref": "#/definitions/Value"
},
"region": {
"type": "string"
},
"additionalProperties": false,
"required": [
- "cloud-tag"
- ]
- },
- "CloudDefaultsResult": {
- "type": "object",
- "properties": {
- "error": {
- "$ref": "#/definitions/Error"
- },
- "result": {
- "$ref": "#/definitions/CloudDefaults"
- }
- },
- "additionalProperties": false,
- "required": [
- "error"
+ "cloud-tag",
+ "region"
]
},
- "CloudDefaultsResults": {
+ "CloudInstanceTypesConstraints": {
"type": "object",
"properties": {
- "results": {
+ "constraints": {
"type": "array",
"items": {
- "$ref": "#/definitions/CloudDefaultsResult"
+ "$ref": "#/definitions/CloudInstanceTypesConstraint"
}
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "constraints"
+ ]
},
"CloudRegion": {
"type": "object",
"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": {
"results"
]
},
- "Macaroon": {
+ "InstanceType": {
"type": "object",
- "additionalProperties": false
+ "properties": {
+ "arches": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cost": {
+ "type": "integer"
+ },
+ "cpu-cores": {
+ "type": "integer"
+ },
+ "deprecated": {
+ "type": "boolean"
+ },
+ "memory": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ },
+ "root-disk": {
+ "type": "integer"
+ },
+ "virt-type": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "arches",
+ "cpu-cores",
+ "memory"
+ ]
},
- "UserCloud": {
+ "InstanceTypesResult": {
"type": "object",
"properties": {
- "cloud-tag": {
+ "cost-currency": {
"type": "string"
},
- "user-tag": {
+ "cost-divisor": {
+ "type": "integer"
+ },
+ "cost-unit": {
"type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "instance-types": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceType"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "InstanceTypesResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceTypesResult"
+ }
}
},
"additionalProperties": false,
"required": [
- "user-tag",
- "cloud-tag"
+ "results"
]
},
- "UserCloudCredentials": {
+ "Macaroon": {
+ "type": "object",
+ "additionalProperties": false
+ },
+ "StringResult": {
"type": "object",
"properties": {
- "cloud-tag": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "result": {
"type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "result"
+ ]
+ },
+ "StringsResult": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "result": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "StringsResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StringsResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
+ "UpdateCloudCredential": {
+ "type": "object",
+ "properties": {
+ "credential": {
+ "$ref": "#/definitions/CloudCredential"
},
+ "tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "tag",
+ "credential"
+ ]
+ },
+ "UpdateCloudCredentials": {
+ "type": "object",
+ "properties": {
"credentials": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "$ref": "#/definitions/CloudCredential"
- }
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UpdateCloudCredential"
}
+ }
+ },
+ "additionalProperties": false
+ },
+ "UserCloud": {
+ "type": "object",
+ "properties": {
+ "cloud-tag": {
+ "type": "string"
},
"user-tag": {
"type": "string"
"additionalProperties": false,
"required": [
"user-tag",
- "cloud-tag",
- "credentials"
+ "cloud-tag"
]
},
"UserClouds": {
},
"additionalProperties": false
},
- "UsersCloudCredentials": {
+ "Value": {
"type": "object",
"properties": {
- "users": {
+ "arch": {
+ "type": "string"
+ },
+ "container": {
+ "type": "string"
+ },
+ "cores": {
+ "type": "integer"
+ },
+ "cpu-power": {
+ "type": "integer"
+ },
+ "instance-type": {
+ "type": "string"
+ },
+ "mem": {
+ "type": "integer"
+ },
+ "root-disk": {
+ "type": "integer"
+ },
+ "spaces": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "tags": {
"type": "array",
"items": {
- "$ref": "#/definitions/UserCloudCredentials"
+ "type": "string"
}
+ },
+ "virt-type": {
+ "type": "string"
}
},
- "additionalProperties": false,
- "required": [
- "users"
- ]
+ "additionalProperties": false
}
}
}
}
}
},
- "ControllerConfig": {
+ "CloudSpec": {
"type": "object",
"properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
"Result": {
- "$ref": "#/definitions/ControllerConfigResult"
+ "$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/InitiateModelMigrationArgs"
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/UserAccessResults"
+ }
+ }
+ },
+ "HostedModelConfigs": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/HostedModelConfigsResults"
+ }
+ }
+ },
+ "InitiateMigration": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/InitiateMigrationArgs"
},
"Result": {
- "$ref": "#/definitions/InitiateModelMigrationResults"
+ "$ref": "#/definitions/InitiateMigrationResults"
}
}
},
}
}
},
+ "ModifyControllerAccess": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ModifyControllerAccessRequest"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
"RemoveBlocks": {
"type": "object",
"properties": {
"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": {
},
"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"
}
}
},
"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"
+ },
+ "skip-initial-prechecks": {
+ "type": "boolean"
+ },
+ "target-info": {
+ "$ref": "#/definitions/MigrationTargetInfo"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "model-tag",
+ "target-info",
+ "external-control",
+ "skip-initial-prechecks"
+ ]
+ },
+ "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": {
+ "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"
]
},
+ "UserAccess": {
+ "type": "object",
+ "properties": {
+ "access": {
+ "type": "string"
+ },
+ "user-tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "user-tag",
+ "access"
+ ]
+ },
+ "UserAccessResult": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "result": {
+ "$ref": "#/definitions/UserAccess"
+ }
+ },
+ "additionalProperties": false
+ },
+ "UserAccessResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserAccessResult"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
"UserModel": {
"type": "object",
"properties": {
}
}
},
+ "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": {
"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": {
"results"
]
},
- "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"
- }
- },
- "additionalProperties": false,
- "required": [
- "tag"
- ]
- },
- "Error": {
- "type": "object",
- "properties": {
- "code": {
+ },
+ "identity-endpoint": {
"type": "string"
},
- "info": {
- "$ref": "#/definitions/ErrorInfo"
+ "name": {
+ "type": "string"
},
- "message": {
+ "region": {
+ "type": "string"
+ },
+ "storage-endpoint": {
+ "type": "string"
+ },
+ "type": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "message",
- "code"
+ "type",
+ "name"
]
},
- "ErrorInfo": {
+ "CloudSpecResult": {
"type": "object",
"properties": {
- "macaroon": {
- "$ref": "#/definitions/Macaroon"
+ "error": {
+ "$ref": "#/definitions/Error"
},
- "macaroon-path": {
- "type": "string"
+ "result": {
+ "$ref": "#/definitions/CloudSpec"
}
},
"additionalProperties": false
},
- "LifeResult": {
+ "CloudSpecResults": {
"type": "object",
"properties": {
- "error": {
- "$ref": "#/definitions/Error"
- },
- "life": {
- "type": "string"
- }
- },
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudSpecResult"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "Entities": {
+ "type": "object",
+ "properties": {
+ "entities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "entities"
+ ]
+ },
+ "Entity": {
+ "type": "object",
+ "properties": {
+ "tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "tag"
+ ]
+ },
+ "Error": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "info": {
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "message": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "message",
+ "code"
+ ]
+ },
+ "ErrorInfo": {
+ "type": "object",
+ "properties": {
+ "macaroon": {
+ "$ref": "#/definitions/Macaroon"
+ },
+ "macaroon-path": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "LifeResult": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "life": {
+ "type": "string"
+ }
+ },
"additionalProperties": false,
"required": [
"life"
"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"
- ]
}
}
}
},
"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": {
"$ref": "#/definitions/AddMachinesResults"
}
}
+ },
+ "InstanceTypes": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ModelInstanceTypesConstraints"
+ },
+ "Result": {
+ "$ref": "#/definitions/InstanceTypesResults"
+ }
+ }
}
},
"definitions": {
},
"additionalProperties": false
},
+ "InstanceType": {
+ "type": "object",
+ "properties": {
+ "arches": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cost": {
+ "type": "integer"
+ },
+ "cpu-cores": {
+ "type": "integer"
+ },
+ "deprecated": {
+ "type": "boolean"
+ },
+ "memory": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ },
+ "root-disk": {
+ "type": "integer"
+ },
+ "virt-type": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "arches",
+ "cpu-cores",
+ "memory"
+ ]
+ },
+ "InstanceTypesResult": {
+ "type": "object",
+ "properties": {
+ "cost-currency": {
+ "type": "string"
+ },
+ "cost-divisor": {
+ "type": "integer"
+ },
+ "cost-unit": {
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "instance-types": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceType"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "InstanceTypesResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceTypesResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
"Macaroon": {
"type": "object",
"additionalProperties": false
},
+ "ModelInstanceTypesConstraint": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "$ref": "#/definitions/Value"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ModelInstanceTypesConstraints": {
+ "type": "object",
+ "properties": {
+ "constraints": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelInstanceTypesConstraint"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "constraints"
+ ]
+ },
"Placement": {
"type": "object",
"properties": {
"container": {
"type": "string"
},
- "cpu-cores": {
+ "cores": {
"type": "integer"
},
"cpu-power": {
}
},
{
- "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": {
+ "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": {
"provider-vlan-id": {
"type": "string"
},
+ "routes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkRoute"
+ }
+ },
"vlan-tag": {
"type": "integer"
}
"disabled"
]
},
- "NotifyWatchResult": {
+ "NetworkRoute": {
"type": "object",
"properties": {
- "NotifyWatcherId": {
+ "destination-cidr": {
"type": "string"
},
- "error": {
- "$ref": "#/definitions/Error"
+ "gateway-ip": {
+ "type": "string"
+ },
+ "metric": {
+ "type": "integer"
}
},
"additionalProperties": false,
"required": [
- "NotifyWatcherId"
+ "destination-cidr",
+ "gateway-ip",
+ "metric"
]
},
- "NotifyWatchResults": {
+ "NotifyWatchResult": {
"type": "object",
"properties": {
- "results": {
+ "NotifyWatcherId": {
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "NotifyWatcherId"
+ ]
+ },
+ "NotifyWatchResults": {
+ "type": "object",
+ "properties": {
+ "results": {
"type": "array",
"items": {
"$ref": "#/definitions/NotifyWatchResult"
"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/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": {
},
"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"
+ },
+ "controller-agent-version": {
+ "$ref": "#/definitions/Number"
+ },
+ "name": {
+ "type": "string"
+ },
+ "owner-tag": {
+ "type": "string"
+ },
+ "uuid": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "uuid",
+ "name",
+ "owner-tag",
+ "agent-version",
+ "controller-agent-version"
+ ]
},
- "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": {
"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"
+ }
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SerializedModelResource"
+ }
+ },
+ "tools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SerializedModelTools"
+ }
}
},
"additionalProperties": false,
"required": [
- "bytes"
+ "bytes",
+ "charms",
+ "tools",
+ "resources"
]
},
- "SetMigrationPhaseArgs": {
+ "SerializedModelResource": {
"type": "object",
"properties": {
- "phase": {
+ "application": {
+ "type": "string"
+ },
+ "application-revision": {
+ "$ref": "#/definitions/SerializedModelResourceRevision"
+ },
+ "charmstore-revision": {
+ "$ref": "#/definitions/SerializedModelResourceRevision"
+ },
+ "name": {
"type": "string"
+ },
+ "unit-revisions": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/SerializedModelResourceRevision"
+ }
+ }
}
},
"additionalProperties": false,
"required": [
- "phase"
+ "application",
+ "name",
+ "application-revision",
+ "charmstore-revision",
+ "unit-revisions"
]
- }
- }
- }
- },
- {
- "Name": "MigrationMinion",
- "Version": 1,
- "Schema": {
- "type": "object",
- "properties": {
- "Watch": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/NotifyWatchResult"
- }
- }
- }
- },
- "definitions": {
- "Error": {
+ },
+ "SerializedModelResourceRevision": {
"type": "object",
"properties": {
- "code": {
+ "description": {
"type": "string"
},
- "info": {
- "$ref": "#/definitions/ErrorInfo"
+ "fingerprint": {
+ "type": "string"
},
- "message": {
+ "origin": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ },
+ "revision": {
+ "type": "integer"
+ },
+ "size": {
+ "type": "integer"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "type": {
+ "type": "string"
+ },
+ "username": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "message",
- "code"
+ "revision",
+ "type",
+ "path",
+ "description",
+ "origin",
+ "fingerprint",
+ "size",
+ "timestamp"
]
},
- "ErrorInfo": {
+ "SerializedModelTools": {
"type": "object",
"properties": {
- "macaroon": {
- "$ref": "#/definitions/Macaroon"
+ "uri": {
+ "type": "string"
},
- "macaroon-path": {
+ "version": {
"type": "string"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "version",
+ "uri"
+ ]
},
- "Macaroon": {
+ "SetMigrationPhaseArgs": {
"type": "object",
- "additionalProperties": false
+ "properties": {
+ "phase": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "phase"
+ ]
+ },
+ "SetMigrationStatusMessageArgs": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "message"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "Name": "MigrationMinion",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "Report": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/MinionReport"
+ }
+ }
+ },
+ "Watch": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResult"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Error": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "info": {
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "message": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "message",
+ "code"
+ ]
+ },
+ "ErrorInfo": {
+ "type": "object",
+ "properties": {
+ "macaroon": {
+ "$ref": "#/definitions/Macaroon"
+ },
+ "macaroon-path": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "Macaroon": {
+ "type": "object",
+ "additionalProperties": false
+ },
+ "MinionReport": {
+ "type": "object",
+ "properties": {
+ "migration-id": {
+ "type": "string"
+ },
+ "phase": {
+ "type": "string"
+ },
+ "success": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "migration-id",
+ "phase",
+ "success"
+ ]
},
"NotifyWatchResult": {
"type": "object",
"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",
}
}
},
- "Import": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/SerializedModel"
- }
- }
- }
- },
- "definitions": {
- "ModelArgs": {
- "type": "object",
- "properties": {
- "model-tag": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "model-tag"
- ]
- },
- "SerializedModel": {
- "type": "object",
- "properties": {
- "bytes": {
- "type": "array",
- "items": {
- "type": "integer"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "bytes"
- ]
- }
- }
- }
- },
- {
- "Name": "ModelManager",
- "Version": 2,
- "Schema": {
- "type": "object",
- "properties": {
- "CreateModel": {
+ "AdoptResources": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/ModelCreateArgs"
- },
- "Result": {
- "$ref": "#/definitions/ModelInfo"
+ "$ref": "#/definitions/AdoptResourcesArgs"
}
}
},
- "DestroyModel": {
- "type": "object"
- },
- "ListModels": {
+ "Import": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/Entity"
- },
- "Result": {
- "$ref": "#/definitions/UserModelList"
+ "$ref": "#/definitions/SerializedModel"
}
}
},
- "ModelInfo": {
+ "LatestLogTime": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/Entities"
+ "$ref": "#/definitions/ModelArgs"
},
"Result": {
- "$ref": "#/definitions/ModelInfoResults"
+ "type": "string",
+ "format": "date-time"
}
}
},
- "ModifyModelAccess": {
+ "Prechecks": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/ModifyModelAccessRequest"
- },
- "Result": {
- "$ref": "#/definitions/ErrorResults"
+ "$ref": "#/definitions/MigrationModelInfo"
}
}
}
},
"definitions": {
- "Entities": {
+ "AdoptResourcesArgs": {
"type": "object",
"properties": {
- "entities": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Entity"
- }
+ "model-tag": {
+ "type": "string"
+ },
+ "source-controller-version": {
+ "$ref": "#/definitions/Number"
}
},
"additionalProperties": false,
"required": [
- "entities"
+ "model-tag",
+ "source-controller-version"
]
},
- "Entity": {
+ "MigrationModelInfo": {
"type": "object",
"properties": {
- "tag": {
+ "agent-version": {
+ "$ref": "#/definitions/Number"
+ },
+ "controller-agent-version": {
+ "$ref": "#/definitions/Number"
+ },
+ "name": {
+ "type": "string"
+ },
+ "owner-tag": {
+ "type": "string"
+ },
+ "uuid": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "tag"
+ "uuid",
+ "name",
+ "owner-tag",
+ "agent-version",
+ "controller-agent-version"
]
},
- "EntityStatus": {
+ "ModelArgs": {
"type": "object",
"properties": {
- "data": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
- },
- "info": {
- "type": "string"
- },
- "since": {
- "type": "string",
- "format": "date-time"
- },
- "status": {
+ "model-tag": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "status",
- "info",
- "since"
+ "model-tag"
]
},
- "Error": {
+ "Number": {
"type": "object",
"properties": {
- "code": {
- "type": "string"
+ "Build": {
+ "type": "integer"
},
- "info": {
- "$ref": "#/definitions/ErrorInfo"
+ "Major": {
+ "type": "integer"
},
- "message": {
+ "Minor": {
+ "type": "integer"
+ },
+ "Patch": {
+ "type": "integer"
+ },
+ "Tag": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "message",
- "code"
+ "Major",
+ "Minor",
+ "Tag",
+ "Patch",
+ "Build"
]
},
- "ErrorInfo": {
+ "SerializedModel": {
"type": "object",
"properties": {
- "macaroon": {
- "$ref": "#/definitions/Macaroon"
+ "bytes": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
},
- "macaroon-path": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "ErrorResult": {
- "type": "object",
- "properties": {
- "error": {
- "$ref": "#/definitions/Error"
- }
- },
- "additionalProperties": false
- },
- "ErrorResults": {
- "type": "object",
- "properties": {
- "results": {
+ "charms": {
"type": "array",
"items": {
- "$ref": "#/definitions/ErrorResult"
+ "type": "string"
+ }
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SerializedModelResource"
+ }
+ },
+ "tools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SerializedModelTools"
}
}
},
"additionalProperties": false,
"required": [
- "results"
+ "bytes",
+ "charms",
+ "tools",
+ "resources"
]
},
- "Macaroon": {
- "type": "object",
- "additionalProperties": false
- },
- "Model": {
+ "SerializedModelResource": {
"type": "object",
"properties": {
- "name": {
+ "application": {
"type": "string"
},
- "owner-tag": {
- "type": "string"
+ "application-revision": {
+ "$ref": "#/definitions/SerializedModelResourceRevision"
},
- "uuid": {
+ "charmstore-revision": {
+ "$ref": "#/definitions/SerializedModelResourceRevision"
+ },
+ "name": {
"type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "name",
- "uuid",
- "owner-tag"
- ]
- },
- "ModelCreateArgs": {
- "type": "object",
- "properties": {
- "config": {
+ },
+ "unit-revisions": {
"type": "object",
"patternProperties": {
".*": {
- "type": "object",
- "additionalProperties": true
+ "$ref": "#/definitions/SerializedModelResourceRevision"
}
}
- },
- "credential": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "owner-tag": {
- "type": "string"
- },
- "region": {
- "type": "string"
}
},
"additionalProperties": false,
"required": [
+ "application",
"name",
- "owner-tag"
+ "application-revision",
+ "charmstore-revision",
+ "unit-revisions"
]
},
- "ModelInfo": {
+ "SerializedModelResourceRevision": {
"type": "object",
"properties": {
- "cloud": {
- "type": "string"
- },
- "cloud-credential": {
+ "description": {
"type": "string"
},
- "cloud-region": {
+ "fingerprint": {
"type": "string"
},
- "controller-uuid": {
+ "origin": {
"type": "string"
},
- "default-series": {
+ "path": {
"type": "string"
},
- "life": {
- "type": "string"
+ "revision": {
+ "type": "integer"
},
- "name": {
- "type": "string"
+ "size": {
+ "type": "integer"
},
- "owner-tag": {
- "type": "string"
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
},
- "provider-type": {
+ "type": {
"type": "string"
},
- "status": {
- "$ref": "#/definitions/EntityStatus"
- },
- "users": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ModelUserInfo"
- }
- },
- "uuid": {
+ "username": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "name",
- "uuid",
- "controller-uuid",
- "provider-type",
- "default-series",
- "cloud",
- "owner-tag",
- "life",
- "status",
- "users"
+ "revision",
+ "type",
+ "path",
+ "description",
+ "origin",
+ "fingerprint",
+ "size",
+ "timestamp"
]
},
- "ModelInfoResult": {
+ "SerializedModelTools": {
"type": "object",
"properties": {
- "error": {
- "$ref": "#/definitions/Error"
+ "uri": {
+ "type": "string"
},
- "result": {
- "$ref": "#/definitions/ModelInfo"
- }
- },
- "additionalProperties": false
- },
- "ModelInfoResults": {
- "type": "object",
- "properties": {
- "results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ModelInfoResult"
- }
+ "version": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "results"
+ "version",
+ "uri"
]
+ }
+ }
+ }
+ },
+ {
+ "Name": "ModelConfig",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "ModelGet": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/ModelConfigResults"
+ }
+ }
},
- "ModelUserInfo": {
+ "ModelSet": {
"type": "object",
"properties": {
- "access": {
- "type": "string"
- },
- "display-name": {
- "type": "string"
- },
- "last-connection": {
- "type": "string",
- "format": "date-time"
- },
- "user": {
- "type": "string"
+ "Params": {
+ "$ref": "#/definitions/ModelSet"
}
- },
- "additionalProperties": false,
- "required": [
- "user",
- "display-name",
- "last-connection",
- "access"
- ]
+ }
},
- "ModifyModelAccess": {
+ "ModelUnset": {
"type": "object",
"properties": {
- "access": {
- "type": "string"
- },
- "action": {
- "type": "string"
- },
- "model-tag": {
+ "Params": {
+ "$ref": "#/definitions/ModelUnset"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ConfigValue": {
+ "type": "object",
+ "properties": {
+ "source": {
"type": "string"
},
- "user-tag": {
- "type": "string"
+ "value": {
+ "type": "object",
+ "additionalProperties": true
}
},
"additionalProperties": false,
"required": [
- "user-tag",
- "action",
- "access",
- "model-tag"
+ "value",
+ "source"
]
},
- "ModifyModelAccessRequest": {
+ "ModelConfigResults": {
"type": "object",
"properties": {
- "changes": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ModifyModelAccess"
+ "config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/ConfigValue"
+ }
}
}
},
"additionalProperties": false,
"required": [
- "changes"
+ "config"
]
},
- "UserModel": {
+ "ModelSet": {
"type": "object",
"properties": {
- "last-connection": {
- "type": "string",
- "format": "date-time"
- },
- "model": {
- "$ref": "#/definitions/Model"
+ "config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
}
},
"additionalProperties": false,
"required": [
- "model",
- "last-connection"
+ "config"
]
},
- "UserModelList": {
+ "ModelUnset": {
"type": "object",
"properties": {
- "user-models": {
+ "keys": {
"type": "array",
"items": {
- "$ref": "#/definitions/UserModel"
+ "type": "string"
}
}
},
"additionalProperties": false,
"required": [
- "user-models"
+ "keys"
]
}
}
}
},
{
- "Name": "NotifyWatcher",
- "Version": 1,
- "Schema": {
- "type": "object",
- "properties": {
- "Next": {
- "type": "object"
- },
- "Stop": {
- "type": "object"
- }
- }
- }
- },
- {
- "Name": "Pinger",
- "Version": 1,
- "Schema": {
- "type": "object",
- "properties": {
- "Ping": {
- "type": "object"
- },
- "Stop": {
- "type": "object"
- }
- }
- }
- },
- {
- "Name": "Provisioner",
- "Version": 3,
+ "Name": "ModelManager",
+ "Version": 2,
"Schema": {
"type": "object",
"properties": {
- "APIAddresses": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/StringsResult"
- }
- }
- },
- "APIHostPorts": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/APIHostPortsResult"
- }
- }
- },
- "CACert": {
+ "CreateModel": {
"type": "object",
"properties": {
+ "Params": {
+ "$ref": "#/definitions/ModelCreateArgs"
+ },
"Result": {
- "$ref": "#/definitions/BytesResult"
+ "$ref": "#/definitions/ModelInfo"
}
}
},
- "Constraints": {
+ "DestroyModels": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/ConstraintsResults"
- }
- }
- },
- "ContainerConfig": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/ContainerConfig"
+ "$ref": "#/definitions/ErrorResults"
}
}
},
- "ContainerManagerConfig": {
+ "DumpModels": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/ContainerManagerConfigParams"
+ "$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/ContainerManagerConfig"
- }
- }
- },
- "ControllerConfig": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/ControllerConfigResult"
+ "$ref": "#/definitions/MapResults"
}
}
},
- "DistributionGroup": {
+ "DumpModelsDB": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/DistributionGroupResults"
+ "$ref": "#/definitions/MapResults"
}
}
},
- "EnsureDead": {
+ "ListModels": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/Entities"
+ "$ref": "#/definitions/Entity"
},
"Result": {
- "$ref": "#/definitions/ErrorResults"
+ "$ref": "#/definitions/UserModelList"
}
}
},
- "FindTools": {
+ "ModelDefaults": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/FindToolsParams"
- },
"Result": {
- "$ref": "#/definitions/FindToolsResult"
+ "$ref": "#/definitions/ModelDefaultsResult"
}
}
},
- "GetContainerInterfaceInfo": {
+ "ModelInfo": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/MachineNetworkConfigResults"
+ "$ref": "#/definitions/ModelInfoResults"
}
}
},
- "InstanceId": {
+ "ModelStatus": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/StringResults"
+ "$ref": "#/definitions/ModelStatusResults"
}
}
},
- "InstanceStatus": {
+ "ModifyModelAccess": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/Entities"
+ "$ref": "#/definitions/ModifyModelAccessRequest"
},
"Result": {
- "$ref": "#/definitions/StatusResults"
+ "$ref": "#/definitions/ErrorResults"
}
}
},
- "Life": {
+ "SetModelDefaults": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/Entities"
+ "$ref": "#/definitions/SetModelDefaults"
},
"Result": {
- "$ref": "#/definitions/LifeResults"
+ "$ref": "#/definitions/ErrorResults"
}
}
},
- "MachinesWithTransientErrors": {
+ "UnsetModelDefaults": {
"type": "object",
"properties": {
+ "Params": {
+ "$ref": "#/definitions/UnsetModelDefaults"
+ },
"Result": {
- "$ref": "#/definitions/StatusResults"
+ "$ref": "#/definitions/ErrorResults"
}
}
- },
- "ModelConfig": {
+ }
+ },
+ "definitions": {
+ "Entities": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/ModelConfigResult"
+ "entities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "entities"
+ ]
},
- "ModelUUID": {
+ "Entity": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/StringResult"
+ "tag": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "tag"
+ ]
},
- "PrepareContainerInterfaceInfo": {
+ "EntityStatus": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "data": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
},
- "Result": {
- "$ref": "#/definitions/MachineNetworkConfigResults"
+ "info": {
+ "type": "string"
+ },
+ "since": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "status": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "status",
+ "info",
+ "since"
+ ]
},
- "ProvisioningInfo": {
+ "Error": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "code": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/ProvisioningInfoResults"
+ "info": {
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "message": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "message",
+ "code"
+ ]
},
- "ReleaseContainerAddresses": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "macaroon": {
+ "$ref": "#/definitions/Macaroon"
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
+ "macaroon-path": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false
},
- "Remove": {
+ "ErrorResult": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/ErrorResults"
+ "error": {
+ "$ref": "#/definitions/Error"
}
- }
+ },
+ "additionalProperties": false
},
- "Series": {
+ "ErrorResults": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/StringResults"
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorResult"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
},
- "SetInstanceInfo": {
+ "Macaroon": {
"type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/InstancesInfo"
- },
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
+ "additionalProperties": false
},
- "SetInstanceStatus": {
+ "MachineHardware": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/SetStatus"
+ "arch": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
- },
- "SetPasswords": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/EntityPasswords"
+ "availability-zone": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
- },
- "SetStatus": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/SetStatus"
+ "cores": {
+ "type": "integer"
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
- },
- "SetSupportedContainers": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/MachineContainersParams"
+ "cpu-power": {
+ "type": "integer"
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
- },
- "StateAddresses": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/StringsResult"
- }
- }
- },
- "Status": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "mem": {
+ "type": "integer"
},
- "Result": {
- "$ref": "#/definitions/StatusResults"
- }
- }
- },
- "Tools": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "root-disk": {
+ "type": "integer"
},
- "Result": {
- "$ref": "#/definitions/ToolsResults"
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
- }
+ },
+ "additionalProperties": false
},
- "UpdateStatus": {
+ "MapResult": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/SetStatus"
+ "error": {
+ "$ref": "#/definitions/Error"
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
+ "result": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "result"
+ ]
},
- "WatchAPIHostPorts": {
+ "MapResults": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/NotifyWatchResult"
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MapResult"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
},
- "WatchAllContainers": {
+ "Model": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/WatchContainers"
+ "name": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/StringsWatchResults"
- }
- }
- },
- "WatchContainers": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/WatchContainers"
+ "owner-tag": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/StringsWatchResults"
- }
- }
- },
- "WatchForModelConfigChanges": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/NotifyWatchResult"
- }
- }
- },
- "WatchMachineErrorRetry": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/NotifyWatchResult"
- }
- }
- },
- "WatchModelMachines": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/StringsWatchResult"
- }
- }
- }
- },
- "definitions": {
- "APIHostPortsResult": {
- "type": "object",
- "properties": {
- "servers": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/HostPort"
- }
- }
+ "uuid": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "servers"
+ "name",
+ "uuid",
+ "owner-tag"
]
},
- "Address": {
+ "ModelCreateArgs": {
"type": "object",
"properties": {
- "scope": {
+ "cloud-tag": {
"type": "string"
},
- "space-name": {
+ "config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ },
+ "credential": {
"type": "string"
},
- "type": {
+ "name": {
"type": "string"
},
- "value": {
+ "owner-tag": {
+ "type": "string"
+ },
+ "region": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "value",
- "type",
- "scope"
+ "name",
+ "owner-tag"
]
},
- "Binary": {
+ "ModelDefaultValues": {
"type": "object",
"properties": {
- "Arch": {
+ "cloud-region": {
"type": "string"
},
- "Number": {
- "$ref": "#/definitions/Number"
- },
- "Series": {
+ "cloud-tag": {
"type": "string"
+ },
+ "config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
}
},
"additionalProperties": false,
"required": [
- "Number",
- "Series",
- "Arch"
+ "config"
]
},
- "BytesResult": {
+ "ModelDefaults": {
"type": "object",
"properties": {
- "result": {
+ "controller": {
+ "type": "object",
+ "additionalProperties": true
+ },
+ "default": {
+ "type": "object",
+ "additionalProperties": true
+ },
+ "regions": {
"type": "array",
"items": {
- "type": "integer"
+ "$ref": "#/definitions/RegionDefaults"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "ModelDefaultsResult": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/ModelDefaults"
+ }
}
}
},
"additionalProperties": false,
"required": [
- "result"
+ "config"
]
},
- "CloudImageMetadata": {
+ "ModelInfo": {
"type": "object",
"properties": {
- "arch": {
+ "cloud-credential-tag": {
"type": "string"
},
- "image-id": {
+ "cloud-region": {
"type": "string"
},
- "priority": {
- "type": "integer"
- },
- "region": {
+ "cloud-tag": {
"type": "string"
},
- "root-storage-size": {
- "type": "integer"
+ "controller-uuid": {
+ "type": "string"
},
- "root-storage-type": {
+ "default-series": {
"type": "string"
},
- "series": {
+ "life": {
"type": "string"
},
- "source": {
+ "machines": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelMachineInfo"
+ }
+ },
+ "migration": {
+ "$ref": "#/definitions/ModelMigrationStatus"
+ },
+ "name": {
"type": "string"
},
- "stream": {
+ "owner-tag": {
"type": "string"
},
- "version": {
+ "provider-type": {
"type": "string"
},
- "virt-type": {
+ "status": {
+ "$ref": "#/definitions/EntityStatus"
+ },
+ "users": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelUserInfo"
+ }
+ },
+ "uuid": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "image-id",
- "region",
- "version",
- "series",
- "arch",
- "source",
- "priority"
+ "name",
+ "uuid",
+ "controller-uuid",
+ "provider-type",
+ "default-series",
+ "cloud-tag",
+ "owner-tag",
+ "life",
+ "status",
+ "users",
+ "machines"
]
},
- "ConstraintsResult": {
+ "ModelInfoResult": {
"type": "object",
"properties": {
- "constraints": {
- "$ref": "#/definitions/Value"
- },
"error": {
"$ref": "#/definitions/Error"
+ },
+ "result": {
+ "$ref": "#/definitions/ModelInfo"
}
},
- "additionalProperties": false,
- "required": [
- "constraints"
- ]
+ "additionalProperties": false
},
- "ConstraintsResults": {
+ "ModelInfoResults": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
- "$ref": "#/definitions/ConstraintsResult"
+ "$ref": "#/definitions/ModelInfoResult"
}
}
},
"results"
]
},
- "ContainerConfig": {
+ "ModelMachineInfo": {
"type": "object",
"properties": {
- "UpdateBehavior": {
- "$ref": "#/definitions/UpdateBehavior"
- },
- "apt-mirror": {
- "type": "string"
+ "hardware": {
+ "$ref": "#/definitions/MachineHardware"
},
- "apt-proxy": {
- "$ref": "#/definitions/Settings"
+ "has-vote": {
+ "type": "boolean"
},
- "authorized-keys": {
+ "id": {
"type": "string"
},
- "provider-type": {
+ "instance-id": {
"type": "string"
},
- "proxy": {
- "$ref": "#/definitions/Settings"
+ "status": {
+ "type": "string"
},
- "ssl-hostname-verification": {
+ "wants-vote": {
"type": "boolean"
}
},
"additionalProperties": false,
"required": [
- "provider-type",
- "authorized-keys",
- "ssl-hostname-verification",
- "proxy",
- "apt-proxy",
- "apt-mirror",
- "UpdateBehavior"
+ "id"
]
},
- "ContainerManagerConfig": {
+ "ModelMigrationStatus": {
"type": "object",
"properties": {
- "config": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "string"
- }
- }
+ "end": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "start": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "status": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "config"
+ "status",
+ "start"
]
},
- "ContainerManagerConfigParams": {
+ "ModelStatus": {
"type": "object",
"properties": {
- "type": {
+ "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": [
- "type"
+ "model-tag",
+ "life",
+ "hosted-machine-count",
+ "application-count",
+ "owner-tag"
]
},
- "ControllerConfigResult": {
+ "ModelStatusResults": {
"type": "object",
"properties": {
- "config": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
+ "models": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelStatus"
}
}
},
"additionalProperties": false,
"required": [
- "config"
+ "models"
]
},
- "DistributionGroupResult": {
+ "ModelUnsetKeys": {
"type": "object",
"properties": {
- "error": {
- "$ref": "#/definitions/Error"
+ "cloud-region": {
+ "type": "string"
},
- "result": {
+ "cloud-tag": {
+ "type": "string"
+ },
+ "keys": {
"type": "array",
"items": {
"type": "string"
},
"additionalProperties": false,
"required": [
- "result"
+ "keys"
]
},
- "DistributionGroupResults": {
+ "ModelUserInfo": {
"type": "object",
"properties": {
- "results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/DistributionGroupResult"
- }
+ "access": {
+ "type": "string"
+ },
+ "display-name": {
+ "type": "string"
+ },
+ "last-connection": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "user": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "results"
+ "user",
+ "display-name",
+ "last-connection",
+ "access"
]
},
- "Entities": {
+ "ModifyModelAccess": {
"type": "object",
"properties": {
- "entities": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Entity"
- }
+ "access": {
+ "type": "string"
+ },
+ "action": {
+ "type": "string"
+ },
+ "model-tag": {
+ "type": "string"
+ },
+ "user-tag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "entities"
+ "user-tag",
+ "action",
+ "access",
+ "model-tag"
]
},
- "Entity": {
+ "ModifyModelAccessRequest": {
"type": "object",
"properties": {
- "tag": {
- "type": "string"
+ "changes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModifyModelAccess"
+ }
}
},
"additionalProperties": false,
"required": [
- "tag"
+ "changes"
]
},
- "EntityPassword": {
+ "RegionDefaults": {
"type": "object",
"properties": {
- "password": {
+ "region-name": {
"type": "string"
},
- "tag": {
- "type": "string"
+ "value": {
+ "type": "object",
+ "additionalProperties": true
}
},
"additionalProperties": false,
"required": [
- "tag",
- "password"
+ "region-name",
+ "value"
]
},
- "EntityPasswords": {
+ "SetModelDefaults": {
"type": "object",
"properties": {
- "changes": {
+ "config": {
"type": "array",
"items": {
- "$ref": "#/definitions/EntityPassword"
+ "$ref": "#/definitions/ModelDefaultValues"
}
}
},
"additionalProperties": false,
"required": [
- "changes"
+ "config"
]
},
- "EntityStatusArgs": {
+ "UnsetModelDefaults": {
"type": "object",
"properties": {
- "data": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
- },
- "info": {
- "type": "string"
- },
- "status": {
- "type": "string"
- },
- "tag": {
- "type": "string"
+ "keys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelUnsetKeys"
+ }
}
},
"additionalProperties": false,
"required": [
- "tag",
- "status",
- "info",
- "data"
+ "keys"
]
},
- "Error": {
+ "UserModel": {
"type": "object",
"properties": {
- "code": {
- "type": "string"
- },
- "info": {
- "$ref": "#/definitions/ErrorInfo"
+ "last-connection": {
+ "type": "string",
+ "format": "date-time"
},
- "message": {
- "type": "string"
+ "model": {
+ "$ref": "#/definitions/Model"
}
},
"additionalProperties": false,
"required": [
- "message",
- "code"
+ "model",
+ "last-connection"
]
},
- "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": {
+ "UserModelList": {
"type": "object",
"properties": {
- "results": {
+ "user-models": {
"type": "array",
"items": {
- "$ref": "#/definitions/ErrorResult"
+ "$ref": "#/definitions/UserModel"
}
}
},
"additionalProperties": false,
"required": [
- "results"
+ "user-models"
]
+ }
+ }
+ }
+ },
+ {
+ "Name": "NotifyWatcher",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "Next": {
+ "type": "object"
},
- "FindToolsParams": {
+ "Stop": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ {
+ "Name": "Payloads",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "List": {
"type": "object",
"properties": {
- "arch": {
- "type": "string"
- },
- "major": {
- "type": "integer"
- },
- "minor": {
- "type": "integer"
- },
- "number": {
- "$ref": "#/definitions/Number"
+ "Params": {
+ "$ref": "#/definitions/EnvListArgs"
},
- "series": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/EnvListResults"
}
- },
- "additionalProperties": false,
- "required": [
- "number",
- "major",
- "minor",
- "arch",
- "series"
- ]
- },
- "FindToolsResult": {
+ }
+ }
+ },
+ "definitions": {
+ "EnvListArgs": {
"type": "object",
"properties": {
- "error": {
- "$ref": "#/definitions/Error"
- },
- "list": {
+ "patterns": {
"type": "array",
"items": {
- "$ref": "#/definitions/Tools"
+ "type": "string"
}
}
},
"additionalProperties": false,
"required": [
- "list"
+ "patterns"
]
},
- "HardwareCharacteristics": {
+ "EnvListResults": {
"type": "object",
"properties": {
- "arch": {
- "type": "string"
- },
- "availability-zone": {
- "type": "string"
- },
- "cpu-cores": {
- "type": "integer"
- },
- "cpu-power": {
- "type": "integer"
- },
- "mem": {
- "type": "integer"
- },
- "root-disk": {
- "type": "integer"
- },
- "tags": {
+ "results": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/Payload"
}
}
},
- "additionalProperties": false
- },
- "HostPort": {
- "type": "object",
- "properties": {
- "Address": {
- "$ref": "#/definitions/Address"
- },
- "port": {
- "type": "integer"
- }
- },
"additionalProperties": false,
"required": [
- "Address",
- "port"
+ "results"
]
},
- "InstanceInfo": {
+ "Payload": {
"type": "object",
"properties": {
- "characteristics": {
- "$ref": "#/definitions/HardwareCharacteristics"
+ "class": {
+ "type": "string"
},
- "instance-id": {
+ "id": {
"type": "string"
},
- "network-config": {
+ "labels": {
"type": "array",
"items": {
- "$ref": "#/definitions/NetworkConfig"
+ "type": "string"
}
},
- "nonce": {
+ "machine": {
"type": "string"
},
- "tag": {
+ "status": {
"type": "string"
},
- "volume-attachments": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "$ref": "#/definitions/VolumeAttachmentInfo"
- }
- }
+ "type": {
+ "type": "string"
},
- "volumes": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Volume"
- }
+ "unit": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "tag",
- "instance-id",
- "nonce",
- "characteristics",
- "volumes",
- "volume-attachments",
- "network-config"
+ "class",
+ "type",
+ "id",
+ "status",
+ "labels",
+ "unit",
+ "machine"
]
+ }
+ }
+ }
+ },
+ {
+ "Name": "PayloadsHookContext",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "List": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/PayloadResults"
+ }
+ }
},
- "InstancesInfo": {
+ "LookUp": {
"type": "object",
"properties": {
- "machines": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/InstanceInfo"
- }
+ "Params": {
+ "$ref": "#/definitions/LookUpArgs"
+ },
+ "Result": {
+ "$ref": "#/definitions/PayloadResults"
}
- },
- "additionalProperties": false,
- "required": [
- "machines"
- ]
+ }
},
- "LifeResult": {
+ "SetStatus": {
"type": "object",
"properties": {
- "error": {
- "$ref": "#/definitions/Error"
+ "Params": {
+ "$ref": "#/definitions/SetStatusArgs"
},
- "life": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/PayloadResults"
}
- },
- "additionalProperties": false,
- "required": [
- "life"
- ]
+ }
},
- "LifeResults": {
+ "Track": {
"type": "object",
"properties": {
- "results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/LifeResult"
- }
+ "Params": {
+ "$ref": "#/definitions/TrackArgs"
+ },
+ "Result": {
+ "$ref": "#/definitions/PayloadResults"
}
- },
- "additionalProperties": false,
- "required": [
- "results"
- ]
+ }
},
- "Macaroon": {
+ "Untrack": {
"type": "object",
- "additionalProperties": false
- },
- "MachineContainers": {
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/PayloadResults"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Entities": {
"type": "object",
"properties": {
- "container-types": {
+ "entities": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/Entity"
}
- },
- "machine-tag": {
- "type": "string"
}
},
"additionalProperties": false,
"required": [
- "machine-tag",
- "container-types"
+ "entities"
]
},
- "MachineContainersParams": {
+ "Entity": {
"type": "object",
"properties": {
- "params": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/MachineContainers"
- }
+ "tag": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "params"
+ "tag"
]
},
- "MachineNetworkConfigResult": {
+ "Error": {
"type": "object",
"properties": {
- "error": {
- "$ref": "#/definitions/Error"
+ "code": {
+ "type": "string"
},
"info": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/NetworkConfig"
- }
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "message": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "info"
+ "message",
+ "code"
]
},
- "MachineNetworkConfigResults": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/MachineNetworkConfigResult"
- }
+ "macaroon": {
+ "$ref": "#/definitions/Macaroon"
+ },
+ "macaroon-path": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "LookUpArg": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "results"
+ "name",
+ "id"
]
},
- "ModelConfigResult": {
+ "LookUpArgs": {
"type": "object",
"properties": {
- "config": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
+ "args": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LookUpArg"
}
}
},
"additionalProperties": false,
"required": [
- "config"
+ "args"
]
},
- "NetworkConfig": {
+ "Macaroon": {
+ "type": "object",
+ "additionalProperties": false
+ },
+ "Payload": {
"type": "object",
"properties": {
- "address": {
- "type": "string"
- },
- "cidr": {
+ "class": {
"type": "string"
},
- "config-type": {
+ "id": {
"type": "string"
},
- "device-index": {
- "type": "integer"
- },
- "disabled": {
- "type": "boolean"
- },
- "dns-search-domains": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "dns-servers": {
+ "labels": {
"type": "array",
"items": {
"type": "string"
}
},
- "gateway-address": {
+ "machine": {
"type": "string"
},
- "interface-name": {
+ "status": {
"type": "string"
},
- "interface-type": {
+ "type": {
"type": "string"
},
- "mac-address": {
+ "unit": {
"type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "class",
+ "type",
+ "id",
+ "status",
+ "labels",
+ "unit",
+ "machine"
+ ]
+ },
+ "PayloadResult": {
+ "type": "object",
+ "properties": {
+ "Entity": {
+ "$ref": "#/definitions/Entity"
},
- "mtu": {
- "type": "integer"
+ "error": {
+ "$ref": "#/definitions/Error"
},
- "no-auto-start": {
+ "not-found": {
"type": "boolean"
},
- "parent-interface-name": {
- "type": "string"
- },
- "provider-address-id": {
- "type": "string"
- },
- "provider-id": {
- "type": "string"
- },
- "provider-space-id": {
- "type": "string"
- },
- "provider-subnet-id": {
- "type": "string"
- },
- "provider-vlan-id": {
- "type": "string"
- },
- "vlan-tag": {
- "type": "integer"
+ "payload": {
+ "$ref": "#/definitions/Payload"
}
},
"additionalProperties": false,
"required": [
- "device-index",
- "mac-address",
- "cidr",
- "mtu",
- "provider-id",
- "provider-subnet-id",
- "provider-space-id",
- "provider-address-id",
- "provider-vlan-id",
- "vlan-tag",
- "interface-name",
- "parent-interface-name",
- "interface-type",
- "disabled"
+ "Entity",
+ "payload",
+ "not-found"
]
},
- "NotifyWatchResult": {
+ "PayloadResults": {
"type": "object",
"properties": {
- "NotifyWatcherId": {
- "type": "string"
- },
- "error": {
- "$ref": "#/definitions/Error"
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PayloadResult"
+ }
}
},
"additionalProperties": false,
"required": [
- "NotifyWatcherId"
+ "results"
]
},
- "Number": {
+ "SetStatusArg": {
"type": "object",
"properties": {
- "Build": {
- "type": "integer"
- },
- "Major": {
- "type": "integer"
- },
- "Minor": {
- "type": "integer"
- },
- "Patch": {
- "type": "integer"
+ "Entity": {
+ "$ref": "#/definitions/Entity"
},
- "Tag": {
+ "status": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Major",
- "Minor",
- "Tag",
- "Patch",
- "Build"
+ "Entity",
+ "status"
]
},
- "ProvisioningInfo": {
+ "SetStatusArgs": {
"type": "object",
"properties": {
- "constraints": {
- "$ref": "#/definitions/Value"
- },
- "controller-config": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
- },
- "endpoint-bindings": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "string"
- }
- }
- },
- "image-metadata": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/CloudImageMetadata"
- }
- },
- "jobs": {
+ "args": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/SetStatusArg"
}
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "args"
+ ]
+ },
+ "TrackArgs": {
+ "type": "object",
+ "properties": {
+ "payloads": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Payload"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "payloads"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "Name": "Pinger",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "Ping": {
+ "type": "object"
+ },
+ "Stop": {
+ "type": "object"
+ }
+ }
+ }
+ },
+ {
+ "Name": "Provisioner",
+ "Version": 3,
+ "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"
+ }
+ }
+ },
+ "Constraints": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ConstraintsResults"
+ }
+ }
+ },
+ "ContainerConfig": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/ContainerConfig"
+ }
+ }
+ },
+ "ContainerManagerConfig": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ContainerManagerConfigParams"
+ },
+ "Result": {
+ "$ref": "#/definitions/ContainerManagerConfig"
+ }
+ }
+ },
+ "ControllerConfig": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/ControllerConfigResult"
+ }
+ }
+ },
+ "DistributionGroup": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/DistributionGroupResults"
+ }
+ }
+ },
+ "EnsureDead": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "FindTools": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/FindToolsParams"
+ },
+ "Result": {
+ "$ref": "#/definitions/FindToolsResult"
+ }
+ }
+ },
+ "GetContainerInterfaceInfo": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/MachineNetworkConfigResults"
+ }
+ }
+ },
+ "HostChangesForContainers": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/HostNetworkChangeResults"
+ }
+ }
+ },
+ "InstanceId": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/StringResults"
+ }
+ }
+ },
+ "InstanceStatus": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/StatusResults"
+ }
+ }
+ },
+ "Life": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/LifeResults"
+ }
+ }
+ },
+ "MachinesWithTransientErrors": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/StatusResults"
+ }
+ }
+ },
+ "MarkMachinesForRemoval": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "ModelConfig": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/ModelConfigResult"
+ }
+ }
+ },
+ "ModelUUID": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/StringResult"
+ }
+ }
+ },
+ "PrepareContainerInterfaceInfo": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/MachineNetworkConfigResults"
+ }
+ }
+ },
+ "ProvisioningInfo": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ProvisioningInfoResults"
+ }
+ }
+ },
+ "ReleaseContainerAddresses": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "Remove": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "Series": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/StringResults"
+ }
+ }
+ },
+ "SetHostMachineNetworkConfig": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/SetMachineNetworkConfig"
+ }
+ }
+ },
+ "SetInstanceInfo": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/InstancesInfo"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "SetInstanceStatus": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/SetStatus"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "SetObservedNetworkConfig": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/SetMachineNetworkConfig"
+ }
+ }
+ },
+ "SetPasswords": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/EntityPasswords"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "SetStatus": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/SetStatus"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "SetSupportedContainers": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/MachineContainersParams"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "StateAddresses": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/StringsResult"
+ }
+ }
+ },
+ "Status": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/StatusResults"
+ }
+ }
+ },
+ "Tools": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ToolsResults"
+ }
+ }
+ },
+ "UpdateStatus": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/SetStatus"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "WatchAPIHostPorts": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResult"
+ }
+ }
+ },
+ "WatchAllContainers": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/WatchContainers"
+ },
+ "Result": {
+ "$ref": "#/definitions/StringsWatchResults"
+ }
+ }
+ },
+ "WatchContainers": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/WatchContainers"
+ },
+ "Result": {
+ "$ref": "#/definitions/StringsWatchResults"
+ }
+ }
+ },
+ "WatchForModelConfigChanges": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResult"
+ }
+ }
+ },
+ "WatchMachineErrorRetry": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResult"
+ }
+ }
+ },
+ "WatchModelMachines": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/StringsWatchResult"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "APIHostPortsResult": {
+ "type": "object",
+ "properties": {
+ "servers": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HostPort"
+ }
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "servers"
+ ]
+ },
+ "Address": {
+ "type": "object",
+ "properties": {
+ "scope": {
+ "type": "string"
+ },
+ "space-name": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "value",
+ "type",
+ "scope"
+ ]
+ },
+ "Binary": {
+ "type": "object",
+ "properties": {
+ "Arch": {
+ "type": "string"
+ },
+ "Number": {
+ "$ref": "#/definitions/Number"
+ },
+ "Series": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Number",
+ "Series",
+ "Arch"
+ ]
+ },
+ "BytesResult": {
+ "type": "object",
+ "properties": {
+ "result": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "result"
+ ]
+ },
+ "CloudImageMetadata": {
+ "type": "object",
+ "properties": {
+ "arch": {
+ "type": "string"
+ },
+ "image-id": {
+ "type": "string"
+ },
+ "priority": {
+ "type": "integer"
+ },
+ "region": {
+ "type": "string"
+ },
+ "root-storage-size": {
+ "type": "integer"
+ },
+ "root-storage-type": {
+ "type": "string"
+ },
+ "series": {
+ "type": "string"
+ },
+ "source": {
+ "type": "string"
+ },
+ "stream": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ },
+ "virt-type": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "image-id",
+ "region",
+ "version",
+ "series",
+ "arch",
+ "source",
+ "priority"
+ ]
+ },
+ "ConstraintsResult": {
+ "type": "object",
+ "properties": {
+ "constraints": {
+ "$ref": "#/definitions/Value"
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "constraints"
+ ]
+ },
+ "ConstraintsResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConstraintsResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
+ "ContainerConfig": {
+ "type": "object",
+ "properties": {
+ "UpdateBehavior": {
+ "$ref": "#/definitions/UpdateBehavior"
+ },
+ "apt-mirror": {
+ "type": "string"
+ },
+ "apt-proxy": {
+ "$ref": "#/definitions/Settings"
+ },
+ "authorized-keys": {
+ "type": "string"
+ },
+ "provider-type": {
+ "type": "string"
+ },
+ "proxy": {
+ "$ref": "#/definitions/Settings"
+ },
+ "ssl-hostname-verification": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "provider-type",
+ "authorized-keys",
+ "ssl-hostname-verification",
+ "proxy",
+ "apt-proxy",
+ "apt-mirror",
+ "UpdateBehavior"
+ ]
+ },
+ "ContainerManagerConfig": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "config"
+ ]
+ },
+ "ContainerManagerConfigParams": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "type"
+ ]
+ },
+ "ControllerConfigResult": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "config"
+ ]
+ },
+ "DeviceBridgeInfo": {
+ "type": "object",
+ "properties": {
+ "bridge-name": {
+ "type": "string"
+ },
+ "host-device-name": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "host-device-name",
+ "bridge-name"
+ ]
+ },
+ "DistributionGroupResult": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "result": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "result"
+ ]
+ },
+ "DistributionGroupResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DistributionGroupResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
+ "Entities": {
+ "type": "object",
+ "properties": {
+ "entities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "entities"
+ ]
+ },
+ "Entity": {
+ "type": "object",
+ "properties": {
+ "tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "tag"
+ ]
+ },
+ "EntityPassword": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string"
+ },
+ "tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "tag",
+ "password"
+ ]
+ },
+ "EntityPasswords": {
+ "type": "object",
+ "properties": {
+ "changes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityPassword"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "changes"
+ ]
+ },
+ "EntityStatusArgs": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ },
+ "info": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "tag",
+ "status",
+ "info",
+ "data"
+ ]
+ },
+ "Error": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "info": {
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "message": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "message",
+ "code"
+ ]
+ },
+ "ErrorInfo": {
+ "type": "object",
+ "properties": {
+ "macaroon": {
+ "$ref": "#/definitions/Macaroon"
+ },
+ "macaroon-path": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ErrorResult": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ErrorResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
+ "FindToolsParams": {
+ "type": "object",
+ "properties": {
+ "arch": {
+ "type": "string"
+ },
+ "major": {
+ "type": "integer"
+ },
+ "minor": {
+ "type": "integer"
+ },
+ "number": {
+ "$ref": "#/definitions/Number"
+ },
+ "series": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "number",
+ "major",
+ "minor",
+ "arch",
+ "series"
+ ]
+ },
+ "FindToolsResult": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "list": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Tools"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "list"
+ ]
+ },
+ "HardwareCharacteristics": {
+ "type": "object",
+ "properties": {
+ "arch": {
+ "type": "string"
+ },
+ "availability-zone": {
+ "type": "string"
+ },
+ "cpu-cores": {
+ "type": "integer"
+ },
+ "cpu-power": {
+ "type": "integer"
+ },
+ "mem": {
+ "type": "integer"
+ },
+ "root-disk": {
+ "type": "integer"
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "HostNetworkChange": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "new-bridges": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeviceBridgeInfo"
+ }
+ },
+ "reconfigure-delay": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "new-bridges",
+ "reconfigure-delay"
+ ]
+ },
+ "HostNetworkChangeResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HostNetworkChange"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
+ "HostPort": {
+ "type": "object",
+ "properties": {
+ "Address": {
+ "$ref": "#/definitions/Address"
+ },
+ "port": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Address",
+ "port"
+ ]
+ },
+ "InstanceInfo": {
+ "type": "object",
+ "properties": {
+ "characteristics": {
+ "$ref": "#/definitions/HardwareCharacteristics"
+ },
+ "instance-id": {
+ "type": "string"
+ },
+ "network-config": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkConfig"
+ }
+ },
+ "nonce": {
+ "type": "string"
+ },
+ "tag": {
+ "type": "string"
+ },
+ "volume-attachments": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/VolumeAttachmentInfo"
+ }
+ }
+ },
+ "volumes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Volume"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "tag",
+ "instance-id",
+ "nonce",
+ "characteristics",
+ "volumes",
+ "volume-attachments",
+ "network-config"
+ ]
+ },
+ "InstancesInfo": {
+ "type": "object",
+ "properties": {
+ "machines": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceInfo"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "machines"
+ ]
+ },
+ "LifeResult": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "life": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "life"
+ ]
+ },
+ "LifeResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LifeResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
+ "Macaroon": {
+ "type": "object",
+ "additionalProperties": false
+ },
+ "MachineContainers": {
+ "type": "object",
+ "properties": {
+ "container-types": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "machine-tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "machine-tag",
+ "container-types"
+ ]
+ },
+ "MachineContainersParams": {
+ "type": "object",
+ "properties": {
+ "params": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MachineContainers"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "params"
+ ]
+ },
+ "MachineNetworkConfigResult": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "info": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkConfig"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "info"
+ ]
+ },
+ "MachineNetworkConfigResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MachineNetworkConfigResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
+ "ModelConfigResult": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "config"
+ ]
+ },
+ "NetworkConfig": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "type": "string"
+ },
+ "cidr": {
+ "type": "string"
+ },
+ "config-type": {
+ "type": "string"
+ },
+ "device-index": {
+ "type": "integer"
+ },
+ "disabled": {
+ "type": "boolean"
+ },
+ "dns-search-domains": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "dns-servers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "gateway-address": {
+ "type": "string"
+ },
+ "interface-name": {
+ "type": "string"
+ },
+ "interface-type": {
+ "type": "string"
+ },
+ "mac-address": {
+ "type": "string"
+ },
+ "mtu": {
+ "type": "integer"
+ },
+ "no-auto-start": {
+ "type": "boolean"
+ },
+ "parent-interface-name": {
+ "type": "string"
+ },
+ "provider-address-id": {
+ "type": "string"
+ },
+ "provider-id": {
+ "type": "string"
+ },
+ "provider-space-id": {
+ "type": "string"
+ },
+ "provider-subnet-id": {
+ "type": "string"
+ },
+ "provider-vlan-id": {
+ "type": "string"
+ },
+ "routes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkRoute"
+ }
+ },
+ "vlan-tag": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "device-index",
+ "mac-address",
+ "cidr",
+ "mtu",
+ "provider-id",
+ "provider-subnet-id",
+ "provider-space-id",
+ "provider-address-id",
+ "provider-vlan-id",
+ "vlan-tag",
+ "interface-name",
+ "parent-interface-name",
+ "interface-type",
+ "disabled"
+ ]
+ },
+ "NetworkRoute": {
+ "type": "object",
+ "properties": {
+ "destination-cidr": {
+ "type": "string"
+ },
+ "gateway-ip": {
+ "type": "string"
+ },
+ "metric": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "destination-cidr",
+ "gateway-ip",
+ "metric"
+ ]
+ },
+ "NotifyWatchResult": {
+ "type": "object",
+ "properties": {
+ "NotifyWatcherId": {
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "NotifyWatcherId"
+ ]
+ },
+ "Number": {
+ "type": "object",
+ "properties": {
+ "Build": {
+ "type": "integer"
+ },
+ "Major": {
+ "type": "integer"
+ },
+ "Minor": {
+ "type": "integer"
+ },
+ "Patch": {
+ "type": "integer"
+ },
+ "Tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Major",
+ "Minor",
+ "Tag",
+ "Patch",
+ "Build"
+ ]
+ },
+ "ProvisioningInfo": {
+ "type": "object",
+ "properties": {
+ "constraints": {
+ "$ref": "#/definitions/Value"
+ },
+ "controller-config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ },
+ "endpoint-bindings": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ }
+ },
+ "image-metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudImageMetadata"
+ }
+ },
+ "jobs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "placement": {
+ "type": "string"
+ },
+ "series": {
+ "type": "string"
+ },
+ "subnets-to-zones": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "tags": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ }
+ },
+ "volumes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VolumeParams"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "constraints",
+ "series",
+ "placement",
+ "jobs"
+ ]
+ },
+ "ProvisioningInfoResult": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "result": {
+ "$ref": "#/definitions/ProvisioningInfo"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "result"
+ ]
+ },
+ "ProvisioningInfoResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProvisioningInfoResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
+ "SetMachineNetworkConfig": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkConfig"
+ }
+ },
+ "tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "tag",
+ "config"
+ ]
+ },
+ "SetStatus": {
+ "type": "object",
+ "properties": {
+ "entities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityStatusArgs"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "entities"
+ ]
+ },
+ "Settings": {
+ "type": "object",
+ "properties": {
+ "Ftp": {
+ "type": "string"
+ },
+ "Http": {
+ "type": "string"
+ },
+ "Https": {
+ "type": "string"
+ },
+ "NoProxy": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Http",
+ "Https",
+ "Ftp",
+ "NoProxy"
+ ]
+ },
+ "StatusResult": {
+ "type": "object",
+ "properties": {
+ "data": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "id": {
+ "type": "string"
+ },
+ "info": {
+ "type": "string"
+ },
+ "life": {
+ "type": "string"
+ },
+ "since": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "status": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "life",
+ "status",
+ "info",
+ "data",
+ "since"
+ ]
+ },
+ "StatusResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StatusResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
+ "StringResult": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "result": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "result"
+ ]
+ },
+ "StringResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StringResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
+ "StringsResult": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
},
- "placement": {
- "type": "string"
- },
- "series": {
+ "result": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "StringsWatchResult": {
+ "type": "object",
+ "properties": {
+ "changes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "watcher-id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "watcher-id"
+ ]
+ },
+ "StringsWatchResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StringsWatchResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
+ "Tools": {
+ "type": "object",
+ "properties": {
+ "sha256": {
"type": "string"
},
- "subnets-to-zones": {
+ "size": {
+ "type": "integer"
+ },
+ "url": {
+ "type": "string"
+ },
+ "version": {
+ "$ref": "#/definitions/Binary"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "version",
+ "url",
+ "size"
+ ]
+ },
+ "ToolsResult": {
+ "type": "object",
+ "properties": {
+ "disable-ssl-hostname-verification": {
+ "type": "boolean"
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "tools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Tools"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "tools",
+ "disable-ssl-hostname-verification"
+ ]
+ },
+ "ToolsResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ToolsResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
+ "UpdateBehavior": {
+ "type": "object",
+ "properties": {
+ "enable-os-refresh-update": {
+ "type": "boolean"
+ },
+ "enable-os-upgrade": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "enable-os-refresh-update",
+ "enable-os-upgrade"
+ ]
+ },
+ "Value": {
+ "type": "object",
+ "properties": {
+ "arch": {
+ "type": "string"
+ },
+ "container": {
+ "type": "string"
+ },
+ "cores": {
+ "type": "integer"
+ },
+ "cpu-power": {
+ "type": "integer"
+ },
+ "instance-type": {
+ "type": "string"
+ },
+ "mem": {
+ "type": "integer"
+ },
+ "root-disk": {
+ "type": "integer"
+ },
+ "spaces": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "virt-type": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "Volume": {
+ "type": "object",
+ "properties": {
+ "info": {
+ "$ref": "#/definitions/VolumeInfo"
+ },
+ "volume-tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "volume-tag",
+ "info"
+ ]
+ },
+ "VolumeAttachmentInfo": {
+ "type": "object",
+ "properties": {
+ "bus-address": {
+ "type": "string"
+ },
+ "device-link": {
+ "type": "string"
+ },
+ "device-name": {
+ "type": "string"
+ },
+ "read-only": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false
+ },
+ "VolumeAttachmentParams": {
+ "type": "object",
+ "properties": {
+ "instance-id": {
+ "type": "string"
+ },
+ "machine-tag": {
+ "type": "string"
+ },
+ "provider": {
+ "type": "string"
+ },
+ "read-only": {
+ "type": "boolean"
+ },
+ "volume-id": {
+ "type": "string"
+ },
+ "volume-tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "volume-tag",
+ "machine-tag",
+ "provider"
+ ]
+ },
+ "VolumeInfo": {
+ "type": "object",
+ "properties": {
+ "hardware-id": {
+ "type": "string"
+ },
+ "persistent": {
+ "type": "boolean"
+ },
+ "size": {
+ "type": "integer"
+ },
+ "volume-id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "volume-id",
+ "size",
+ "persistent"
+ ]
+ },
+ "VolumeParams": {
+ "type": "object",
+ "properties": {
+ "attachment": {
+ "$ref": "#/definitions/VolumeAttachmentParams"
+ },
+ "attributes": {
"type": "object",
"patternProperties": {
".*": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "type": "object",
+ "additionalProperties": true
}
}
},
+ "provider": {
+ "type": "string"
+ },
+ "size": {
+ "type": "integer"
+ },
"tags": {
"type": "object",
"patternProperties": {
}
}
},
- "volumes": {
+ "volume-tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "volume-tag",
+ "size",
+ "provider"
+ ]
+ },
+ "WatchContainer": {
+ "type": "object",
+ "properties": {
+ "container-type": {
+ "type": "string"
+ },
+ "machine-tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "machine-tag",
+ "container-type"
+ ]
+ },
+ "WatchContainers": {
+ "type": "object",
+ "properties": {
+ "params": {
"type": "array",
"items": {
- "$ref": "#/definitions/VolumeParams"
+ "$ref": "#/definitions/WatchContainer"
}
}
},
"additionalProperties": false,
"required": [
- "constraints",
- "series",
- "placement",
- "jobs"
+ "params"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "Name": "ProxyUpdater",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "ProxyConfig": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ProxyConfigResults"
+ }
+ }
+ },
+ "WatchForProxyConfigAndAPIHostPortChanges": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResults"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Entities": {
+ "type": "object",
+ "properties": {
+ "entities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "entities"
]
},
- "ProvisioningInfoResult": {
+ "Entity": {
+ "type": "object",
+ "properties": {
+ "tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "tag"
+ ]
+ },
+ "Error": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "info": {
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "message": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "message",
+ "code"
+ ]
+ },
+ "ErrorInfo": {
+ "type": "object",
+ "properties": {
+ "macaroon": {
+ "$ref": "#/definitions/Macaroon"
+ },
+ "macaroon-path": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "Macaroon": {
+ "type": "object",
+ "additionalProperties": false
+ },
+ "NotifyWatchResult": {
+ "type": "object",
+ "properties": {
+ "NotifyWatcherId": {
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "NotifyWatcherId"
+ ]
+ },
+ "NotifyWatchResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NotifyWatchResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
+ "ProxyConfig": {
+ "type": "object",
+ "properties": {
+ "ftp": {
+ "type": "string"
+ },
+ "http": {
+ "type": "string"
+ },
+ "https": {
+ "type": "string"
+ },
+ "no-proxy": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "http",
+ "https",
+ "ftp",
+ "no-proxy"
+ ]
+ },
+ "ProxyConfigResult": {
+ "type": "object",
+ "properties": {
+ "apt-proxy-settings": {
+ "$ref": "#/definitions/ProxyConfig"
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "proxy-settings": {
+ "$ref": "#/definitions/ProxyConfig"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "proxy-settings",
+ "apt-proxy-settings"
+ ]
+ },
+ "ProxyConfigResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProxyConfigResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "Name": "Reboot",
+ "Version": 2,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "ClearReboot": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "GetRebootAction": {
"type": "object",
"properties": {
- "error": {
- "$ref": "#/definitions/Error"
+ "Params": {
+ "$ref": "#/definitions/Entities"
},
- "result": {
- "$ref": "#/definitions/ProvisioningInfo"
+ "Result": {
+ "$ref": "#/definitions/RebootActionResults"
}
- },
- "additionalProperties": false,
- "required": [
- "result"
- ]
+ }
},
- "ProvisioningInfoResults": {
+ "RequestReboot": {
"type": "object",
"properties": {
- "results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ProvisioningInfoResult"
- }
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
}
- },
- "additionalProperties": false,
- "required": [
- "results"
- ]
+ }
},
- "SetStatus": {
+ "WatchForRebootEvent": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResult"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Entities": {
"type": "object",
"properties": {
"entities": {
"type": "array",
"items": {
- "$ref": "#/definitions/EntityStatusArgs"
+ "$ref": "#/definitions/Entity"
}
}
},
"entities"
]
},
- "Settings": {
+ "Entity": {
"type": "object",
"properties": {
- "Ftp": {
- "type": "string"
- },
- "Http": {
- "type": "string"
- },
- "Https": {
- "type": "string"
- },
- "NoProxy": {
+ "tag": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "Http",
- "Https",
- "Ftp",
- "NoProxy"
+ "tag"
]
},
- "StatusResult": {
+ "Error": {
"type": "object",
"properties": {
- "data": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
- },
- "error": {
- "$ref": "#/definitions/Error"
- },
- "id": {
+ "code": {
"type": "string"
},
"info": {
- "type": "string"
- },
- "life": {
- "type": "string"
- },
- "since": {
- "type": "string",
- "format": "date-time"
+ "$ref": "#/definitions/ErrorInfo"
},
- "status": {
+ "message": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "id",
- "life",
- "status",
- "info",
- "data",
- "since"
+ "message",
+ "code"
]
},
- "StatusResults": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/StatusResult"
- }
+ "macaroon": {
+ "$ref": "#/definitions/Macaroon"
+ },
+ "macaroon-path": {
+ "type": "string"
}
},
- "additionalProperties": false,
- "required": [
- "results"
- ]
+ "additionalProperties": false
},
- "StringResult": {
+ "ErrorResult": {
"type": "object",
"properties": {
"error": {
"$ref": "#/definitions/Error"
- },
- "result": {
- "type": "string"
}
},
- "additionalProperties": false,
- "required": [
- "result"
- ]
+ "additionalProperties": false
},
- "StringResults": {
+ "ErrorResults": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
- "$ref": "#/definitions/StringResult"
+ "$ref": "#/definitions/ErrorResult"
}
}
},
"results"
]
},
- "StringsResult": {
+ "Macaroon": {
+ "type": "object",
+ "additionalProperties": false
+ },
+ "NotifyWatchResult": {
"type": "object",
"properties": {
+ "NotifyWatcherId": {
+ "type": "string"
+ },
"error": {
"$ref": "#/definitions/Error"
- },
- "result": {
- "type": "array",
- "items": {
- "type": "string"
- }
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "NotifyWatcherId"
+ ]
},
- "StringsWatchResult": {
+ "RebootActionResult": {
"type": "object",
"properties": {
- "changes": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
"error": {
"$ref": "#/definitions/Error"
},
- "watcher-id": {
+ "result": {
"type": "string"
}
},
- "additionalProperties": false,
- "required": [
- "watcher-id"
- ]
+ "additionalProperties": false
},
- "StringsWatchResults": {
+ "RebootActionResults": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
- "$ref": "#/definitions/StringsWatchResult"
+ "$ref": "#/definitions/RebootActionResult"
}
}
},
- "additionalProperties": false,
- "required": [
- "results"
- ]
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ {
+ "Name": "RelationUnitsWatcher",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "Next": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/RelationUnitsWatchResult"
+ }
+ }
},
- "Tools": {
+ "Stop": {
+ "type": "object"
+ }
+ },
+ "definitions": {
+ "Error": {
"type": "object",
"properties": {
- "sha256": {
+ "code": {
"type": "string"
},
- "size": {
- "type": "integer"
+ "info": {
+ "$ref": "#/definitions/ErrorInfo"
},
- "url": {
+ "message": {
"type": "string"
- },
- "version": {
- "$ref": "#/definitions/Binary"
}
},
"additionalProperties": false,
"required": [
- "version",
- "url",
- "size"
+ "message",
+ "code"
]
},
- "ToolsResult": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "disable-ssl-hostname-verification": {
- "type": "boolean"
- },
- "error": {
- "$ref": "#/definitions/Error"
+ "macaroon": {
+ "$ref": "#/definitions/Macaroon"
},
- "tools": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Tools"
- }
+ "macaroon-path": {
+ "type": "string"
}
},
- "additionalProperties": false,
- "required": [
- "tools",
- "disable-ssl-hostname-verification"
- ]
+ "additionalProperties": false
},
- "ToolsResults": {
+ "Macaroon": {
+ "type": "object",
+ "additionalProperties": false
+ },
+ "RelationUnitsChange": {
"type": "object",
"properties": {
- "results": {
+ "changed": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/UnitSettings"
+ }
+ }
+ },
+ "departed": {
"type": "array",
"items": {
- "$ref": "#/definitions/ToolsResult"
+ "type": "string"
}
}
},
"additionalProperties": false,
"required": [
- "results"
+ "changed"
]
},
- "UpdateBehavior": {
+ "RelationUnitsWatchResult": {
"type": "object",
"properties": {
- "enable-os-refresh-update": {
- "type": "boolean"
+ "changes": {
+ "$ref": "#/definitions/RelationUnitsChange"
},
- "enable-os-upgrade": {
- "type": "boolean"
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "watcher-id": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "enable-os-refresh-update",
- "enable-os-upgrade"
+ "watcher-id",
+ "changes"
]
},
- "Value": {
+ "UnitSettings": {
"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": {
+ "version": {
"type": "integer"
- },
- "spaces": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "tags": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "virt-type": {
- "type": "string"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "version"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "Name": "RemoteApplicationWatcher",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "Next": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/RemoteApplicationWatchResult"
+ }
+ }
},
- "Volume": {
+ "Stop": {
+ "type": "object"
+ }
+ },
+ "definitions": {
+ "Error": {
"type": "object",
"properties": {
+ "code": {
+ "type": "string"
+ },
"info": {
- "$ref": "#/definitions/VolumeInfo"
+ "$ref": "#/definitions/ErrorInfo"
},
- "volume-tag": {
+ "message": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "volume-tag",
- "info"
+ "message",
+ "code"
]
},
- "VolumeAttachmentInfo": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "bus-address": {
- "type": "string"
- },
- "device-link": {
- "type": "string"
+ "macaroon": {
+ "$ref": "#/definitions/Macaroon"
},
- "device-name": {
+ "macaroon-path": {
"type": "string"
- },
- "read-only": {
- "type": "boolean"
}
},
"additionalProperties": false
},
- "VolumeAttachmentParams": {
+ "Macaroon": {
+ "type": "object",
+ "additionalProperties": false
+ },
+ "RemoteApplicationChange": {
"type": "object",
"properties": {
- "instance-id": {
- "type": "string"
- },
- "machine-tag": {
+ "application-tag": {
"type": "string"
},
- "provider": {
+ "life": {
"type": "string"
},
- "read-only": {
- "type": "boolean"
+ "relations": {
+ "$ref": "#/definitions/RemoteRelationsChange"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "application-tag",
+ "life",
+ "relations"
+ ]
+ },
+ "RemoteApplicationWatchResult": {
+ "type": "object",
+ "properties": {
+ "change": {
+ "$ref": "#/definitions/RemoteApplicationChange"
},
- "volume-id": {
- "type": "string"
+ "error": {
+ "$ref": "#/definitions/Error"
},
- "volume-tag": {
+ "id": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "volume-tag",
- "machine-tag",
- "provider"
+ "id"
]
},
- "VolumeInfo": {
+ "RemoteEntityId": {
"type": "object",
"properties": {
- "hardware-id": {
+ "model-uuid": {
"type": "string"
},
- "persistent": {
- "type": "boolean"
- },
- "size": {
- "type": "integer"
- },
- "volume-id": {
+ "token": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "volume-id",
- "size",
- "persistent"
+ "model-uuid",
+ "token"
]
},
- "VolumeParams": {
+ "RemoteRelationChange": {
"type": "object",
"properties": {
- "attachment": {
- "$ref": "#/definitions/VolumeAttachmentParams"
- },
- "attributes": {
+ "changed-units": {
"type": "object",
"patternProperties": {
".*": {
- "type": "object",
- "additionalProperties": true
+ "$ref": "#/definitions/RemoteRelationUnitChange"
}
}
},
- "provider": {
- "type": "string"
+ "departed-units": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
- "size": {
+ "id": {
"type": "integer"
},
- "tags": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "string"
- }
- }
- },
- "volume-tag": {
+ "life": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "volume-tag",
- "size",
- "provider"
+ "id",
+ "life"
]
},
- "WatchContainer": {
+ "RemoteRelationUnitChange": {
"type": "object",
"properties": {
- "container-type": {
- "type": "string"
+ "settings": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
},
- "machine-tag": {
- "type": "string"
+ "unit-id": {
+ "$ref": "#/definitions/RemoteEntityId"
}
},
"additionalProperties": false,
"required": [
- "machine-tag",
- "container-type"
+ "unit-id"
]
},
- "WatchContainers": {
+ "RemoteRelationsChange": {
"type": "object",
"properties": {
- "params": {
+ "changed": {
"type": "array",
"items": {
- "$ref": "#/definitions/WatchContainer"
+ "$ref": "#/definitions/RemoteRelationChange"
+ }
+ },
+ "initial": {
+ "type": "boolean"
+ },
+ "removed": {
+ "type": "array",
+ "items": {
+ "type": "integer"
}
}
},
"additionalProperties": false,
"required": [
- "params"
+ "initial"
]
}
}
}
},
{
- "Name": "ProxyUpdater",
+ "Name": "RemoteRelationsWatcher",
"Version": 1,
"Schema": {
"type": "object",
"properties": {
- "ProxyConfig": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/ProxyConfigResults"
- }
- }
- },
- "WatchForProxyConfigAndAPIHostPortChanges": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/NotifyWatchResults"
- }
- }
- }
- },
- "definitions": {
- "Entities": {
- "type": "object",
- "properties": {
- "entities": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Entity"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "entities"
- ]
- },
- "Entity": {
+ "Next": {
"type": "object",
"properties": {
- "tag": {
- "type": "string"
+ "Result": {
+ "$ref": "#/definitions/RemoteRelationsWatchResult"
}
- },
- "additionalProperties": false,
- "required": [
- "tag"
- ]
+ }
},
+ "Stop": {
+ "type": "object"
+ }
+ },
+ "definitions": {
"Error": {
"type": "object",
"properties": {
"type": "object",
"additionalProperties": false
},
- "NotifyWatchResult": {
+ "RemoteEntityId": {
"type": "object",
"properties": {
- "NotifyWatcherId": {
+ "model-uuid": {
"type": "string"
},
- "error": {
- "$ref": "#/definitions/Error"
+ "token": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "NotifyWatcherId"
+ "model-uuid",
+ "token"
]
},
- "NotifyWatchResults": {
+ "RemoteRelationChange": {
"type": "object",
"properties": {
- "results": {
+ "changed-units": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/RemoteRelationUnitChange"
+ }
+ }
+ },
+ "departed-units": {
"type": "array",
"items": {
- "$ref": "#/definitions/NotifyWatchResult"
+ "type": "string"
}
+ },
+ "id": {
+ "type": "integer"
+ },
+ "life": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "results"
+ "id",
+ "life"
]
},
- "ProxyConfig": {
+ "RemoteRelationUnitChange": {
"type": "object",
"properties": {
- "ftp": {
- "type": "string"
- },
- "http": {
- "type": "string"
- },
- "https": {
- "type": "string"
+ "settings": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
},
- "no-proxy": {
- "type": "string"
+ "unit-id": {
+ "$ref": "#/definitions/RemoteEntityId"
}
},
"additionalProperties": false,
"required": [
- "http",
- "https",
- "ftp",
- "no-proxy"
+ "unit-id"
]
},
- "ProxyConfigResult": {
+ "RemoteRelationsChange": {
"type": "object",
"properties": {
- "apt-proxy-settings": {
- "$ref": "#/definitions/ProxyConfig"
+ "changed": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RemoteRelationChange"
+ }
},
- "error": {
- "$ref": "#/definitions/Error"
+ "initial": {
+ "type": "boolean"
},
- "proxy-settings": {
- "$ref": "#/definitions/ProxyConfig"
+ "removed": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
}
},
"additionalProperties": false,
"required": [
- "proxy-settings",
- "apt-proxy-settings"
+ "initial"
]
},
- "ProxyConfigResults": {
+ "RemoteRelationsWatchResult": {
"type": "object",
"properties": {
- "results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ProxyConfigResult"
- }
+ "RemoteRelationsWatcherId": {
+ "type": "string"
+ },
+ "change": {
+ "$ref": "#/definitions/RemoteRelationsChange"
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
}
},
"additionalProperties": false,
"required": [
- "results"
+ "RemoteRelationsWatcherId"
]
}
}
}
},
{
- "Name": "Reboot",
- "Version": 2,
+ "Name": "Resources",
+ "Version": 1,
"Schema": {
"type": "object",
"properties": {
- "ClearReboot": {
+ "AddPendingResources": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/Entities"
+ "$ref": "#/definitions/AddPendingResourcesArgs"
},
"Result": {
- "$ref": "#/definitions/ErrorResults"
+ "$ref": "#/definitions/AddPendingResourcesResult"
}
}
},
- "GetRebootAction": {
+ "ListResources": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/Entities"
+ "$ref": "#/definitions/ListResourcesArgs"
},
"Result": {
- "$ref": "#/definitions/RebootActionResults"
+ "$ref": "#/definitions/ResourcesResults"
}
}
+ }
+ },
+ "definitions": {
+ "AddCharmWithAuthorization": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "type": "string"
+ },
+ "macaroon": {
+ "$ref": "#/definitions/Macaroon"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "url",
+ "channel",
+ "macaroon"
+ ]
},
- "RequestReboot": {
+ "AddPendingResourcesArgs": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "AddCharmWithAuthorization": {
+ "$ref": "#/definitions/AddCharmWithAuthorization"
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
+ "Entity": {
+ "$ref": "#/definitions/Entity"
+ },
+ "Resources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CharmResource"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Entity",
+ "AddCharmWithAuthorization",
+ "Resources"
+ ]
},
- "WatchForRebootEvent": {
+ "AddPendingResourcesResult": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/NotifyWatchResult"
+ "ErrorResult": {
+ "$ref": "#/definitions/ErrorResult"
+ },
+ "pending-ids": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
- }
- }
- },
- "definitions": {
- "Entities": {
+ },
+ "additionalProperties": false,
+ "required": [
+ "ErrorResult",
+ "pending-ids"
+ ]
+ },
+ "CharmResource": {
"type": "object",
"properties": {
- "entities": {
+ "description": {
+ "type": "string"
+ },
+ "fingerprint": {
"type": "array",
"items": {
- "$ref": "#/definitions/Entity"
+ "type": "integer"
}
+ },
+ "name": {
+ "type": "string"
+ },
+ "origin": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ },
+ "revision": {
+ "type": "integer"
+ },
+ "size": {
+ "type": "integer"
+ },
+ "type": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "entities"
+ "name",
+ "type",
+ "path",
+ "origin",
+ "revision",
+ "fingerprint",
+ "size"
]
},
"Entity": {
},
"additionalProperties": false
},
- "ErrorResults": {
+ "ListResourcesArgs": {
"type": "object",
"properties": {
- "results": {
+ "entities": {
"type": "array",
"items": {
- "$ref": "#/definitions/ErrorResult"
+ "$ref": "#/definitions/Entity"
}
}
},
"additionalProperties": false,
"required": [
- "results"
+ "entities"
]
},
"Macaroon": {
"type": "object",
"additionalProperties": false
},
- "NotifyWatchResult": {
+ "Resource": {
"type": "object",
"properties": {
- "NotifyWatcherId": {
+ "CharmResource": {
+ "$ref": "#/definitions/CharmResource"
+ },
+ "application": {
"type": "string"
},
- "error": {
- "$ref": "#/definitions/Error"
+ "id": {
+ "type": "string"
+ },
+ "pending-id": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "username": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "NotifyWatcherId"
+ "CharmResource",
+ "id",
+ "pending-id",
+ "application",
+ "username",
+ "timestamp"
]
},
- "RebootActionResult": {
+ "ResourcesResult": {
"type": "object",
"properties": {
- "error": {
- "$ref": "#/definitions/Error"
+ "ErrorResult": {
+ "$ref": "#/definitions/ErrorResult"
},
- "result": {
- "type": "string"
+ "charm-store-resources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CharmResource"
+ }
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Resource"
+ }
+ },
+ "unit-resources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UnitResources"
+ }
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "ErrorResult",
+ "resources",
+ "charm-store-resources",
+ "unit-resources"
+ ]
},
- "RebootActionResults": {
+ "ResourcesResults": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
- "$ref": "#/definitions/RebootActionResult"
+ "$ref": "#/definitions/ResourcesResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
+ "UnitResources": {
+ "type": "object",
+ "properties": {
+ "Entity": {
+ "$ref": "#/definitions/Entity"
+ },
+ "download-progress": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "integer"
+ }
+ }
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Resource"
}
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "Entity",
+ "resources",
+ "download-progress"
+ ]
}
}
}
},
{
- "Name": "RelationUnitsWatcher",
+ "Name": "ResourcesHookContext",
"Version": 1,
"Schema": {
"type": "object",
"properties": {
- "Next": {
+ "GetResourceInfo": {
"type": "object",
"properties": {
+ "Params": {
+ "$ref": "#/definitions/ListResourcesArgs"
+ },
"Result": {
- "$ref": "#/definitions/RelationUnitsWatchResult"
+ "$ref": "#/definitions/ResourcesResult"
}
}
- },
- "Stop": {
- "type": "object"
}
},
"definitions": {
+ "CharmResource": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "fingerprint": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ },
+ "name": {
+ "type": "string"
+ },
+ "origin": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ },
+ "revision": {
+ "type": "integer"
+ },
+ "size": {
+ "type": "integer"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "name",
+ "type",
+ "path",
+ "origin",
+ "revision",
+ "fingerprint",
+ "size"
+ ]
+ },
"Error": {
"type": "object",
"properties": {
},
"additionalProperties": false
},
- "Macaroon": {
+ "ErrorResult": {
"type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
"additionalProperties": false
},
- "RelationUnitsChange": {
+ "ListResourcesArgs": {
"type": "object",
"properties": {
- "changed": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "$ref": "#/definitions/UnitSettings"
- }
- }
- },
- "departed": {
+ "resource-names": {
"type": "array",
"items": {
"type": "string"
},
"additionalProperties": false,
"required": [
- "changed"
+ "resource-names"
]
},
- "RelationUnitsWatchResult": {
+ "Macaroon": {
+ "type": "object",
+ "additionalProperties": false
+ },
+ "Resource": {
"type": "object",
"properties": {
- "changes": {
- "$ref": "#/definitions/RelationUnitsChange"
+ "CharmResource": {
+ "$ref": "#/definitions/CharmResource"
},
- "error": {
- "$ref": "#/definitions/Error"
+ "application": {
+ "type": "string"
},
- "watcher-id": {
+ "id": {
+ "type": "string"
+ },
+ "pending-id": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "username": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "watcher-id",
- "changes"
+ "CharmResource",
+ "id",
+ "pending-id",
+ "application",
+ "username",
+ "timestamp"
]
},
- "UnitSettings": {
+ "ResourceResult": {
"type": "object",
"properties": {
- "version": {
- "type": "integer"
+ "ErrorResult": {
+ "$ref": "#/definitions/ErrorResult"
+ },
+ "resource": {
+ "$ref": "#/definitions/Resource"
}
},
"additionalProperties": false,
"required": [
- "version"
+ "ErrorResult",
+ "resource"
+ ]
+ },
+ "ResourcesResult": {
+ "type": "object",
+ "properties": {
+ "ErrorResult": {
+ "$ref": "#/definitions/ErrorResult"
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "ErrorResult",
+ "resources"
]
}
}
},
{
"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": {
},
{
"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": {
"provider-vlan-id": {
"type": "string"
},
+ "routes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkRoute"
+ }
+ },
"vlan-tag": {
"type": "integer"
}
"disabled"
]
},
+ "NetworkRoute": {
+ "type": "object",
+ "properties": {
+ "destination-cidr": {
+ "type": "string"
+ },
+ "gateway-ip": {
+ "type": "string"
+ },
+ "metric": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "destination-cidr",
+ "gateway-ip",
+ "metric"
+ ]
+ },
"NotifyWatchResult": {
"type": "object",
"properties": {
}
}
},
- "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": {
"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": {
+ "access": {
+ "type": "string"
+ },
"created-by": {
"type": "string"
},
"required": [
"username",
"display-name",
+ "access",
"created-by",
"date-created",
"disabled"