}
}
},
+ "GetCloudSpec": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ModelTag"
+ },
+ "Result": {
+ "$ref": "#/definitions/CloudSpecResult"
+ }
+ }
+ },
"GetEntities": {
"type": "object",
"properties": {
}
}
},
+ "WatchCredentials": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/NotifyWatchResults"
+ }
+ }
+ },
"WatchForModelConfigChanges": {
"type": "object",
"properties": {
"config"
]
},
+ "ModelTag": {
+ "type": "object",
+ "additionalProperties": false
+ },
"NotifyWatchResult": {
"type": "object",
"properties": {
"NotifyWatcherId"
]
},
+ "NotifyWatchResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NotifyWatchResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
"StateServingInfo": {
"type": "object",
"properties": {
},
{
"Name": "Application",
- "Version": 1,
+ "Version": 3,
"Schema": {
"type": "object",
"properties": {
"charm-url": {
"type": "string"
},
+ "config-settings": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ }
+ },
+ "config-settings-yaml": {
+ "type": "string"
+ },
"force-series": {
"type": "boolean"
},
"type": "string"
}
}
+ },
+ "storage-constraints": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/StorageConstraints"
+ }
+ }
}
},
"additionalProperties": false,
"constraints"
]
},
+ "StorageConstraints": {
+ "type": "object",
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "pool": {
+ "type": "string"
+ },
+ "size": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false
+ },
"StringResult": {
"type": "object",
"properties": {
"container": {
"type": "string"
},
- "cpu-cores": {
+ "cores": {
"type": "integer"
},
"cpu-power": {
}
}
},
+ {
+ "Name": "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,
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/GetBundleChangesParams"
+ "$ref": "#/definitions/BundleChangesParams"
},
"Result": {
- "$ref": "#/definitions/GetBundleChangesResults"
+ "$ref": "#/definitions/BundleChangesResults"
}
}
},
}
}
},
- "ModelDefaults": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/ModelDefaultsResult"
- }
- }
- },
"ModelGet": {
"type": "object",
"properties": {
}
}
},
- "SetModelDefaults": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/SetModelDefaults"
- },
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
- },
"StatusHistory": {
"type": "object",
"properties": {
}
}
},
- "UnsetModelDefaults": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/UnsetModelDefaults"
- },
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
- },
"WatchAll": {
"type": "object",
"properties": {
"Arch"
]
},
- "BundleChangesChange": {
+ "BundleChange": {
"type": "object",
"properties": {
"args": {
"requires"
]
},
+ "BundleChangesParams": {
+ "type": "object",
+ "properties": {
+ "yaml": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "yaml"
+ ]
+ },
+ "BundleChangesResults": {
+ "type": "object",
+ "properties": {
+ "changes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BundleChange"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
"ConfigValue": {
"type": "object",
"properties": {
"items": {
"$ref": "#/definitions/RelationStatus"
}
+ },
+ "remote-applications": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/RemoteApplicationStatus"
+ }
+ }
}
},
"additionalProperties": false,
"model",
"machines",
"applications",
+ "remote-applications",
"relations"
]
},
- "GetBundleChangesParams": {
- "type": "object",
- "properties": {
- "yaml": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "yaml"
- ]
- },
- "GetBundleChangesResults": {
- "type": "object",
- "properties": {
- "changes": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/BundleChangesChange"
- }
- },
- "errors": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "additionalProperties": false
- },
"GetConstraintsResults": {
"type": "object",
"properties": {
"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",
"config"
]
},
- "ModelDefaultValues": {
+ "ModelInfo": {
"type": "object",
"properties": {
+ "cloud-credential-tag": {
+ "type": "string"
+ },
"cloud-region": {
"type": "string"
},
"cloud-tag": {
"type": "string"
},
- "config": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "config"
- ]
- },
- "ModelDefaults": {
- "type": "object",
- "properties": {
- "controller": {
- "type": "object",
- "additionalProperties": true
- },
- "default": {
- "type": "object",
- "additionalProperties": true
- },
- "regions": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/RegionDefaults"
- }
- }
- },
- "additionalProperties": false
- },
- "ModelDefaultsResult": {
- "type": "object",
- "properties": {
- "config": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "$ref": "#/definitions/ModelDefaults"
- }
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "config"
- ]
- },
- "ModelInfo": {
- "type": "object",
- "properties": {
- "cloud": {
- "type": "string"
- },
- "cloud-credential-tag": {
- "type": "string"
- },
- "cloud-region": {
- "type": "string"
- },
"controller-uuid": {
"type": "string"
},
"$ref": "#/definitions/ModelMachineInfo"
}
},
+ "migration": {
+ "$ref": "#/definitions/ModelMigrationStatus"
+ },
"name": {
"type": "string"
},
"controller-uuid",
"provider-type",
"default-series",
- "cloud",
+ "cloud-tag",
"owner-tag",
"life",
"status",
"hardware": {
"$ref": "#/definitions/MachineHardware"
},
+ "has-vote": {
+ "type": "boolean"
+ },
"id": {
"type": "string"
+ },
+ "instance-id": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "wants-vote": {
+ "type": "boolean"
}
},
"additionalProperties": false,
"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": {
"type": "object",
"properties": {
"available-version": {
"type": "string"
},
- "cloud": {
+ "cloud-tag": {
"type": "string"
},
"migration": {
"additionalProperties": false,
"required": [
"name",
- "cloud",
+ "cloud-tag",
"version",
"available-version"
]
"keys"
]
},
- "ModelUnsetKeys": {
- "type": "object",
- "properties": {
- "cloud-region": {
- "type": "string"
- },
- "cloud-tag": {
- "type": "string"
- },
- "keys": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "keys"
- ]
- },
"ModelUserInfo": {
"type": "object",
"properties": {
"public-address"
]
},
- "RegionDefaults": {
+ "RelationStatus": {
"type": "object",
"properties": {
- "region-name": {
+ "endpoints": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointStatus"
+ }
+ },
+ "id": {
+ "type": "integer"
+ },
+ "interface": {
"type": "string"
},
- "value": {
- "type": "object",
- "additionalProperties": true
+ "key": {
+ "type": "string"
+ },
+ "scope": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "region-name",
- "value"
+ "id",
+ "key",
+ "interface",
+ "scope",
+ "endpoints"
]
},
- "RelationStatus": {
+ "RemoteApplicationStatus": {
"type": "object",
"properties": {
+ "application-name": {
+ "type": "string"
+ },
+ "application-url": {
+ "type": "string"
+ },
"endpoints": {
"type": "array",
"items": {
- "$ref": "#/definitions/EndpointStatus"
+ "$ref": "#/definitions/RemoteEndpoint"
}
},
- "id": {
- "type": "integer"
+ "err": {
+ "type": "object",
+ "additionalProperties": true
+ },
+ "life": {
+ "type": "string"
+ },
+ "relations": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
},
+ "status": {
+ "$ref": "#/definitions/DetailedStatus"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "application-url",
+ "application-name",
+ "endpoints",
+ "life",
+ "relations",
+ "status"
+ ]
+ },
+ "RemoteEndpoint": {
+ "type": "object",
+ "properties": {
"interface": {
"type": "string"
},
- "key": {
+ "limit": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ },
+ "role": {
"type": "string"
},
"scope": {
},
"additionalProperties": false,
"required": [
- "id",
- "key",
+ "name",
+ "role",
"interface",
- "scope",
- "endpoints"
+ "limit",
+ "scope"
]
},
"ResolveCharmResult": {
"version"
]
},
- "SetModelDefaults": {
- "type": "object",
- "properties": {
- "config": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ModelDefaultValues"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "config"
- ]
- },
"StatusHistoryFilter": {
"type": "object",
"properties": {
"charm": {
"type": "string"
},
+ "leader": {
+ "type": "boolean"
+ },
"machine": {
"type": "string"
},
"subordinates"
]
},
- "UnsetModelDefaults": {
- "type": "object",
- "properties": {
- "keys": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ModelUnsetKeys"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "keys"
- ]
- },
"Value": {
"type": "object",
"properties": {
"container": {
"type": "string"
},
- "cpu-cores": {
+ "cores": {
"type": "integer"
},
"cpu-power": {
}
}
},
+ "InstanceTypes": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/CloudInstanceTypesConstraints"
+ },
+ "Result": {
+ "$ref": "#/definitions/InstanceTypesResults"
+ }
+ }
+ },
"RevokeCredentials": {
"type": "object",
"properties": {
},
"additionalProperties": false
},
- "CloudRegion": {
+ "CloudInstanceTypesConstraint": {
"type": "object",
"properties": {
- "endpoint": {
- "type": "string"
- },
- "identity-endpoint": {
+ "cloud-tag": {
"type": "string"
},
- "name": {
- "type": "string"
+ "constraints": {
+ "$ref": "#/definitions/Value"
},
- "storage-endpoint": {
+ "region": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "name"
+ "cloud-tag",
+ "region"
]
},
- "CloudResult": {
+ "CloudInstanceTypesConstraints": {
"type": "object",
"properties": {
- "cloud": {
- "$ref": "#/definitions/Cloud"
- },
- "error": {
- "$ref": "#/definitions/Error"
+ "constraints": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudInstanceTypesConstraint"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "constraints"
+ ]
+ },
+ "CloudRegion": {
+ "type": "object",
+ "properties": {
+ "endpoint": {
+ "type": "string"
+ },
+ "identity-endpoint": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "storage-endpoint": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "name"
+ ]
+ },
+ "CloudResult": {
+ "type": "object",
+ "properties": {
+ "cloud": {
+ "$ref": "#/definitions/Cloud"
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
}
},
"additionalProperties": false
"results"
]
},
+ "InstanceType": {
+ "type": "object",
+ "properties": {
+ "arches": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cost": {
+ "type": "integer"
+ },
+ "cpu-cores": {
+ "type": "integer"
+ },
+ "deprecated": {
+ "type": "boolean"
+ },
+ "memory": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ },
+ "root-disk": {
+ "type": "integer"
+ },
+ "virt-type": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "arches",
+ "cpu-cores",
+ "memory"
+ ]
+ },
+ "InstanceTypesResult": {
+ "type": "object",
+ "properties": {
+ "cost-currency": {
+ "type": "string"
+ },
+ "cost-divisor": {
+ "type": "integer"
+ },
+ "cost-unit": {
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "instance-types": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceType"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "InstanceTypesResults": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceTypesResult"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
+ },
"Macaroon": {
"type": "object",
"additionalProperties": false
}
},
"additionalProperties": false
+ },
+ "Value": {
+ "type": "object",
+ "properties": {
+ "arch": {
+ "type": "string"
+ },
+ "container": {
+ "type": "string"
+ },
+ "cores": {
+ "type": "integer"
+ },
+ "cpu-power": {
+ "type": "integer"
+ },
+ "instance-type": {
+ "type": "string"
+ },
+ "mem": {
+ "type": "integer"
+ },
+ "root-disk": {
+ "type": "integer"
+ },
+ "spaces": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "virt-type": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
}
}
}
}
}
},
+ "GetCloudSpec": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ModelTag"
+ },
+ "Result": {
+ "$ref": "#/definitions/CloudSpecResult"
+ }
+ }
+ },
"GetControllerAccess": {
"type": "object",
"properties": {
}
}
},
+ "HostedModelConfigs": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/HostedModelConfigsResults"
+ }
+ }
+ },
"InitiateMigration": {
"type": "object",
"properties": {
"results"
]
},
+ "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": {
"model-tag": {
"type": "string"
},
+ "skip-initial-prechecks": {
+ "type": "boolean"
+ },
"target-info": {
"$ref": "#/definitions/MigrationTargetInfo"
}
"required": [
"model-tag",
"target-info",
- "external-control"
+ "external-control",
+ "skip-initial-prechecks"
]
},
"MigrationTargetInfo": {
"hardware": {
"$ref": "#/definitions/MachineHardware"
},
+ "has-vote": {
+ "type": "boolean"
+ },
"id": {
"type": "string"
+ },
+ "instance-id": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "wants-vote": {
+ "type": "boolean"
}
},
"additionalProperties": false,
"models"
]
},
+ "ModelTag": {
+ "type": "object",
+ "additionalProperties": false
+ },
"ModifyControllerAccess": {
"type": "object",
"properties": {
}
}
},
+ "SetStatus": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/SetStatus"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
"StateAddresses": {
"type": "object",
"properties": {
}
}
},
+ "UpdateStatus": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/SetStatus"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
"WatchAPIHostPorts": {
"type": "object",
"properties": {
"changes"
]
},
- "Error": {
+ "EntityStatusArgs": {
"type": "object",
"properties": {
- "code": {
- "type": "string"
+ "data": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
},
"info": {
- "$ref": "#/definitions/ErrorInfo"
+ "type": "string"
},
- "message": {
+ "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"
}
},
"NotifyWatcherId"
]
},
+ "SetStatus": {
+ "type": "object",
+ "properties": {
+ "entities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityStatusArgs"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "entities"
+ ]
+ },
"StringResult": {
"type": "object",
"properties": {
}
}
},
+ "GetCloudSpec": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ModelTag"
+ },
+ "Result": {
+ "$ref": "#/definitions/CloudSpecResult"
+ }
+ }
+ },
"GetExposed": {
"type": "object",
"properties": {
"config"
]
},
+ "ModelTag": {
+ "type": "object",
+ "additionalProperties": false
+ },
"NotifyWatchResult": {
"type": "object",
"properties": {
"constraints": {
"$ref": "#/definitions/Value"
},
- "model-tag": {
- "type": "string"
- },
"num-controllers": {
"type": "integer"
},
},
"additionalProperties": false,
"required": [
- "model-tag",
"num-controllers"
]
},
"container": {
"type": "string"
},
- "cpu-cores": {
+ "cores": {
"type": "integer"
},
"cpu-power": {
"$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": {
"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": {
"agent-version": {
"$ref": "#/definitions/Number"
},
+ "controller-agent-version": {
+ "$ref": "#/definitions/Number"
+ },
"name": {
"type": "string"
},
"uuid",
"name",
"owner-tag",
- "agent-version"
+ "agent-version",
+ "controller-agent-version"
]
},
"MigrationSpec": {
"model-tag": {
"type": "string"
},
+ "skip-initial-prechecks": {
+ "type": "boolean"
+ },
"target-info": {
"$ref": "#/definitions/MigrationTargetInfo"
}
"required": [
"model-tag",
"target-info",
- "external-control"
+ "external-control",
+ "skip-initial-prechecks"
]
},
"MigrationTargetInfo": {
"type": "string"
}
},
+ "resources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SerializedModelResource"
+ }
+ },
"tools": {
"type": "array",
"items": {
"required": [
"bytes",
"charms",
- "tools"
+ "tools",
+ "resources"
+ ]
+ },
+ "SerializedModelResource": {
+ "type": "object",
+ "properties": {
+ "application": {
+ "type": "string"
+ },
+ "application-revision": {
+ "$ref": "#/definitions/SerializedModelResourceRevision"
+ },
+ "charmstore-revision": {
+ "$ref": "#/definitions/SerializedModelResourceRevision"
+ },
+ "name": {
+ "type": "string"
+ },
+ "unit-revisions": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/SerializedModelResourceRevision"
+ }
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "application",
+ "name",
+ "application-revision",
+ "charmstore-revision",
+ "unit-revisions"
+ ]
+ },
+ "SerializedModelResourceRevision": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "fingerprint": {
+ "type": "string"
+ },
+ "origin": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ },
+ "revision": {
+ "type": "integer"
+ },
+ "size": {
+ "type": "integer"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "type": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "revision",
+ "type",
+ "path",
+ "description",
+ "origin",
+ "fingerprint",
+ "size",
+ "timestamp"
]
},
"SerializedModelTools": {
"attempt": {
"type": "integer"
},
+ "external-control": {
+ "type": "boolean"
+ },
"migration-id": {
"type": "string"
},
"migration-id",
"attempt",
"phase",
+ "external-control",
"source-api-addrs",
"source-ca-cert",
"target-api-addrs",
}
}
},
+ "AdoptResources": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/AdoptResourcesArgs"
+ }
+ }
+ },
"Import": {
"type": "object",
"properties": {
}
}
},
+ "LatestLogTime": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/ModelArgs"
+ },
+ "Result": {
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ },
"Prechecks": {
"type": "object",
"properties": {
}
},
"definitions": {
- "MigrationModelInfo": {
+ "AdoptResourcesArgs": {
"type": "object",
"properties": {
- "agent-version": {
+ "model-tag": {
+ "type": "string"
+ },
+ "source-controller-version": {
+ "$ref": "#/definitions/Number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "model-tag",
+ "source-controller-version"
+ ]
+ },
+ "MigrationModelInfo": {
+ "type": "object",
+ "properties": {
+ "agent-version": {
+ "$ref": "#/definitions/Number"
+ },
+ "controller-agent-version": {
"$ref": "#/definitions/Number"
},
"name": {
"uuid",
"name",
"owner-tag",
- "agent-version"
+ "agent-version",
+ "controller-agent-version"
]
},
"ModelArgs": {
"type": "string"
}
},
+ "resources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SerializedModelResource"
+ }
+ },
"tools": {
"type": "array",
"items": {
"required": [
"bytes",
"charms",
- "tools"
+ "tools",
+ "resources"
+ ]
+ },
+ "SerializedModelResource": {
+ "type": "object",
+ "properties": {
+ "application": {
+ "type": "string"
+ },
+ "application-revision": {
+ "$ref": "#/definitions/SerializedModelResourceRevision"
+ },
+ "charmstore-revision": {
+ "$ref": "#/definitions/SerializedModelResourceRevision"
+ },
+ "name": {
+ "type": "string"
+ },
+ "unit-revisions": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/SerializedModelResourceRevision"
+ }
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "application",
+ "name",
+ "application-revision",
+ "charmstore-revision",
+ "unit-revisions"
+ ]
+ },
+ "SerializedModelResourceRevision": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "fingerprint": {
+ "type": "string"
+ },
+ "origin": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ },
+ "revision": {
+ "type": "integer"
+ },
+ "size": {
+ "type": "integer"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "type": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "revision",
+ "type",
+ "path",
+ "description",
+ "origin",
+ "fingerprint",
+ "size",
+ "timestamp"
]
},
"SerializedModelTools": {
"Schema": {
"type": "object",
"properties": {
- "ModelDefaults": {
- "type": "object",
- "properties": {
- "Result": {
- "$ref": "#/definitions/ModelDefaultsResult"
- }
- }
- },
"ModelGet": {
"type": "object",
"properties": {
"$ref": "#/definitions/ModelUnset"
}
}
- },
- "SetModelDefaults": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/SetModelDefaults"
- },
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
- },
- "UnsetModelDefaults": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/UnsetModelDefaults"
- },
- "Result": {
- "$ref": "#/definitions/ErrorResults"
- }
- }
}
},
"definitions": {
"source"
]
},
- "Error": {
- "type": "object",
- "properties": {
- "code": {
- "type": "string"
- },
- "info": {
- "$ref": "#/definitions/ErrorInfo"
- },
- "message": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "message",
- "code"
- ]
- },
- "ErrorInfo": {
- "type": "object",
- "properties": {
- "macaroon": {
- "$ref": "#/definitions/Macaroon"
- },
- "macaroon-path": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "ErrorResult": {
- "type": "object",
- "properties": {
- "error": {
- "$ref": "#/definitions/Error"
- }
- },
- "additionalProperties": false
- },
- "ErrorResults": {
- "type": "object",
- "properties": {
- "results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ErrorResult"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "results"
- ]
- },
- "Macaroon": {
- "type": "object",
- "additionalProperties": false
- },
"ModelConfigResults": {
"type": "object",
"properties": {
"config"
]
},
- "ModelDefaultValues": {
- "type": "object",
- "properties": {
- "cloud-region": {
- "type": "string"
- },
- "cloud-tag": {
- "type": "string"
- },
- "config": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "config"
- ]
- },
- "ModelDefaults": {
- "type": "object",
- "properties": {
- "controller": {
- "type": "object",
- "additionalProperties": true
- },
- "default": {
- "type": "object",
- "additionalProperties": true
- },
- "regions": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/RegionDefaults"
- }
- }
- },
- "additionalProperties": false
- },
- "ModelDefaultsResult": {
- "type": "object",
- "properties": {
- "config": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "$ref": "#/definitions/ModelDefaults"
- }
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "config"
- ]
- },
"ModelSet": {
"type": "object",
"properties": {
"required": [
"keys"
]
- },
- "ModelUnsetKeys": {
+ }
+ }
+ }
+ },
+ {
+ "Name": "ModelManager",
+ "Version": 2,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "CreateModel": {
"type": "object",
"properties": {
- "cloud-region": {
- "type": "string"
- },
- "cloud-tag": {
- "type": "string"
- },
- "keys": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "keys"
- ]
- },
- "RegionDefaults": {
- "type": "object",
- "properties": {
- "region-name": {
- "type": "string"
- },
- "value": {
- "type": "object",
- "additionalProperties": true
- }
- },
- "additionalProperties": false,
- "required": [
- "region-name",
- "value"
- ]
- },
- "SetModelDefaults": {
- "type": "object",
- "properties": {
- "config": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ModelDefaultValues"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "config"
- ]
- },
- "UnsetModelDefaults": {
- "type": "object",
- "properties": {
- "keys": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ModelUnsetKeys"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "keys"
- ]
- }
- }
- }
- },
- {
- "Name": "ModelManager",
- "Version": 2,
- "Schema": {
- "type": "object",
- "properties": {
- "CreateModel": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/ModelCreateArgs"
+ "Params": {
+ "$ref": "#/definitions/ModelCreateArgs"
},
"Result": {
"$ref": "#/definitions/ModelInfo"
}
}
},
- "DestroyModel": {
- "type": "object"
- },
"DestroyModels": {
"type": "object",
"properties": {
}
}
},
+ "ModelDefaults": {
+ "type": "object",
+ "properties": {
+ "Result": {
+ "$ref": "#/definitions/ModelDefaultsResult"
+ }
+ }
+ },
"ModelInfo": {
"type": "object",
"properties": {
}
}
},
+ "ModelStatus": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/Entities"
+ },
+ "Result": {
+ "$ref": "#/definitions/ModelStatusResults"
+ }
+ }
+ },
"ModifyModelAccess": {
"type": "object",
"properties": {
"$ref": "#/definitions/ErrorResults"
}
}
+ },
+ "SetModelDefaults": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/SetModelDefaults"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
+ },
+ "UnsetModelDefaults": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/UnsetModelDefaults"
+ },
+ "Result": {
+ "$ref": "#/definitions/ErrorResults"
+ }
+ }
}
},
"definitions": {
"owner-tag"
]
},
- "ModelInfo": {
+ "ModelDefaultValues": {
"type": "object",
"properties": {
- "cloud": {
+ "cloud-region": {
+ "type": "string"
+ },
+ "cloud-tag": {
"type": "string"
},
+ "config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "config"
+ ]
+ },
+ "ModelDefaults": {
+ "type": "object",
+ "properties": {
+ "controller": {
+ "type": "object",
+ "additionalProperties": true
+ },
+ "default": {
+ "type": "object",
+ "additionalProperties": true
+ },
+ "regions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegionDefaults"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "ModelDefaultsResult": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/ModelDefaults"
+ }
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "config"
+ ]
+ },
+ "ModelInfo": {
+ "type": "object",
+ "properties": {
"cloud-credential-tag": {
"type": "string"
},
"cloud-region": {
"type": "string"
},
+ "cloud-tag": {
+ "type": "string"
+ },
"controller-uuid": {
"type": "string"
},
"$ref": "#/definitions/ModelMachineInfo"
}
},
+ "migration": {
+ "$ref": "#/definitions/ModelMigrationStatus"
+ },
"name": {
"type": "string"
},
"controller-uuid",
"provider-type",
"default-series",
- "cloud",
+ "cloud-tag",
"owner-tag",
"life",
"status",
"hardware": {
"$ref": "#/definitions/MachineHardware"
},
+ "has-vote": {
+ "type": "boolean"
+ },
"id": {
"type": "string"
+ },
+ "instance-id": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "wants-vote": {
+ "type": "boolean"
}
},
"additionalProperties": false,
"id"
]
},
- "ModelUserInfo": {
+ "ModelMigrationStatus": {
"type": "object",
"properties": {
- "access": {
- "type": "string"
- },
- "display-name": {
- "type": "string"
+ "end": {
+ "type": "string",
+ "format": "date-time"
},
- "last-connection": {
+ "start": {
"type": "string",
"format": "date-time"
},
- "user": {
+ "status": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "user",
- "display-name",
- "last-connection",
- "access"
+ "status",
+ "start"
]
},
- "ModifyModelAccess": {
+ "ModelStatus": {
"type": "object",
"properties": {
- "access": {
- "type": "string"
+ "application-count": {
+ "type": "integer"
},
- "action": {
+ "hosted-machine-count": {
+ "type": "integer"
+ },
+ "life": {
"type": "string"
},
+ "machines": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelMachineInfo"
+ }
+ },
"model-tag": {
"type": "string"
},
- "user-tag": {
+ "owner-tag": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "user-tag",
- "action",
- "access",
- "model-tag"
+ "model-tag",
+ "life",
+ "hosted-machine-count",
+ "application-count",
+ "owner-tag"
]
},
- "ModifyModelAccessRequest": {
+ "ModelStatusResults": {
"type": "object",
"properties": {
- "changes": {
+ "models": {
"type": "array",
"items": {
- "$ref": "#/definitions/ModifyModelAccess"
+ "$ref": "#/definitions/ModelStatus"
}
}
},
"additionalProperties": false,
"required": [
- "changes"
+ "models"
]
},
- "UserModel": {
+ "ModelUnsetKeys": {
"type": "object",
"properties": {
- "last-connection": {
- "type": "string",
- "format": "date-time"
+ "cloud-region": {
+ "type": "string"
},
- "model": {
- "$ref": "#/definitions/Model"
- }
+ "cloud-tag": {
+ "type": "string"
+ },
+ "keys": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "keys"
+ ]
+ },
+ "ModelUserInfo": {
+ "type": "object",
+ "properties": {
+ "access": {
+ "type": "string"
+ },
+ "display-name": {
+ "type": "string"
+ },
+ "last-connection": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "user": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "user",
+ "display-name",
+ "last-connection",
+ "access"
+ ]
+ },
+ "ModifyModelAccess": {
+ "type": "object",
+ "properties": {
+ "access": {
+ "type": "string"
+ },
+ "action": {
+ "type": "string"
+ },
+ "model-tag": {
+ "type": "string"
+ },
+ "user-tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "user-tag",
+ "action",
+ "access",
+ "model-tag"
+ ]
+ },
+ "ModifyModelAccessRequest": {
+ "type": "object",
+ "properties": {
+ "changes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModifyModelAccess"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "changes"
+ ]
+ },
+ "RegionDefaults": {
+ "type": "object",
+ "properties": {
+ "region-name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "region-name",
+ "value"
+ ]
+ },
+ "SetModelDefaults": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelDefaultValues"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "config"
+ ]
+ },
+ "UnsetModelDefaults": {
+ "type": "object",
+ "properties": {
+ "keys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelUnsetKeys"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "keys"
+ ]
+ },
+ "UserModel": {
+ "type": "object",
+ "properties": {
+ "last-connection": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "model": {
+ "$ref": "#/definitions/Model"
+ }
},
"additionalProperties": false,
"required": [
}
},
{
- "Name": "Pinger",
+ "Name": "Payloads",
"Version": 1,
"Schema": {
"type": "object",
"properties": {
- "Ping": {
- "type": "object"
- },
- "Stop": {
- "type": "object"
- }
- }
- }
- },
- {
- "Name": "Provisioner",
- "Version": 3,
- "Schema": {
- "type": "object",
- "properties": {
- "APIAddresses": {
+ "List": {
"type": "object",
"properties": {
+ "Params": {
+ "$ref": "#/definitions/EnvListArgs"
+ },
"Result": {
- "$ref": "#/definitions/StringsResult"
+ "$ref": "#/definitions/EnvListResults"
}
}
- },
- "APIHostPorts": {
+ }
+ },
+ "definitions": {
+ "EnvListArgs": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/APIHostPortsResult"
+ "patterns": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "patterns"
+ ]
},
- "CACert": {
+ "EnvListResults": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/BytesResult"
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Payload"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
},
- "Constraints": {
+ "Payload": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "class": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/ConstraintsResults"
+ "id": {
+ "type": "string"
+ },
+ "labels": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "machine": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "unit": {
+ "type": "string"
}
- }
- },
- "ContainerConfig": {
+ },
+ "additionalProperties": false,
+ "required": [
+ "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/ContainerConfig"
+ "$ref": "#/definitions/PayloadResults"
}
}
},
- "ContainerManagerConfig": {
+ "LookUp": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/ContainerManagerConfigParams"
+ "$ref": "#/definitions/LookUpArgs"
},
"Result": {
- "$ref": "#/definitions/ContainerManagerConfig"
+ "$ref": "#/definitions/PayloadResults"
}
}
},
- "ControllerConfig": {
+ "SetStatus": {
"type": "object",
"properties": {
+ "Params": {
+ "$ref": "#/definitions/SetStatusArgs"
+ },
"Result": {
- "$ref": "#/definitions/ControllerConfigResult"
+ "$ref": "#/definitions/PayloadResults"
}
}
},
- "DistributionGroup": {
+ "Track": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/Entities"
+ "$ref": "#/definitions/TrackArgs"
},
"Result": {
- "$ref": "#/definitions/DistributionGroupResults"
+ "$ref": "#/definitions/PayloadResults"
}
}
},
- "EnsureDead": {
+ "Untrack": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/ErrorResults"
+ "$ref": "#/definitions/PayloadResults"
}
}
- },
- "FindTools": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/FindToolsParams"
+ }
+ },
+ "definitions": {
+ "Entities": {
+ "type": "object",
+ "properties": {
+ "entities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "entities"
+ ]
+ },
+ "Entity": {
+ "type": "object",
+ "properties": {
+ "tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "tag"
+ ]
+ },
+ "Error": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/FindToolsResult"
+ "info": {
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "message": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "message",
+ "code"
+ ]
},
- "GetContainerInterfaceInfo": {
+ "ErrorInfo": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "macaroon": {
+ "$ref": "#/definitions/Macaroon"
},
- "Result": {
- "$ref": "#/definitions/MachineNetworkConfigResults"
+ "macaroon-path": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false
},
- "InstanceId": {
+ "LookUpArg": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "id": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/StringResults"
+ "name": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "name",
+ "id"
+ ]
},
- "InstanceStatus": {
+ "LookUpArgs": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "args": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LookUpArg"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "args"
+ ]
+ },
+ "Macaroon": {
+ "type": "object",
+ "additionalProperties": false
+ },
+ "Payload": {
+ "type": "object",
+ "properties": {
+ "class": {
+ "type": "string"
},
- "Result": {
- "$ref": "#/definitions/StatusResults"
+ "id": {
+ "type": "string"
+ },
+ "labels": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "machine": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "unit": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "class",
+ "type",
+ "id",
+ "status",
+ "labels",
+ "unit",
+ "machine"
+ ]
},
- "Life": {
+ "PayloadResult": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "Entity": {
+ "$ref": "#/definitions/Entity"
},
- "Result": {
- "$ref": "#/definitions/LifeResults"
+ "error": {
+ "$ref": "#/definitions/Error"
+ },
+ "not-found": {
+ "type": "boolean"
+ },
+ "payload": {
+ "$ref": "#/definitions/Payload"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Entity",
+ "payload",
+ "not-found"
+ ]
},
- "MachinesWithTransientErrors": {
+ "PayloadResults": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/StatusResults"
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PayloadResult"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "results"
+ ]
},
- "MarkMachinesForRemoval": {
+ "SetStatusArg": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
+ "Entity": {
+ "$ref": "#/definitions/Entity"
},
- "Result": {
- "$ref": "#/definitions/ErrorResults"
+ "status": {
+ "type": "string"
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "Entity",
+ "status"
+ ]
},
- "ModelConfig": {
+ "SetStatusArgs": {
"type": "object",
"properties": {
- "Result": {
- "$ref": "#/definitions/ModelConfigResult"
+ "args": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SetStatusArg"
+ }
}
- }
+ },
+ "additionalProperties": false,
+ "required": [
+ "args"
+ ]
},
- "ModelUUID": {
+ "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/StringResult"
+ "$ref": "#/definitions/StringsResult"
}
}
},
- "PrepareContainerInterfaceInfo": {
+ "APIHostPorts": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
"Result": {
- "$ref": "#/definitions/MachineNetworkConfigResults"
+ "$ref": "#/definitions/APIHostPortsResult"
}
}
},
- "ProvisioningInfo": {
+ "CACert": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
"Result": {
- "$ref": "#/definitions/ProvisioningInfoResults"
+ "$ref": "#/definitions/BytesResult"
}
}
},
- "ReleaseContainerAddresses": {
+ "Constraints": {
"type": "object",
"properties": {
"Params": {
"$ref": "#/definitions/Entities"
},
"Result": {
- "$ref": "#/definitions/ErrorResults"
+ "$ref": "#/definitions/ConstraintsResults"
}
}
},
- "Remove": {
+ "ContainerConfig": {
"type": "object",
"properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
"Result": {
- "$ref": "#/definitions/ErrorResults"
+ "$ref": "#/definitions/ContainerConfig"
}
}
},
- "Series": {
+ "ContainerManagerConfig": {
"type": "object",
"properties": {
"Params": {
- "$ref": "#/definitions/Entities"
+ "$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": {
}
}
},
+ "SetObservedNetworkConfig": {
+ "type": "object",
+ "properties": {
+ "Params": {
+ "$ref": "#/definitions/SetMachineNetworkConfig"
+ }
+ }
+ },
"SetPasswords": {
"type": "object",
"properties": {
"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": {
},
"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": {
"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": {
"jobs"
]
},
- "ProvisioningInfoResult": {
+ "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"
+ },
+ "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"
+ },
+ "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": "object",
+ "additionalProperties": true
+ }
+ }
+ },
+ "provider": {
+ "type": "string"
+ },
+ "size": {
+ "type": "integer"
+ },
+ "tags": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ }
+ },
+ "volume-tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "volume-tag",
+ "size",
+ "provider"
+ ]
+ },
+ "WatchContainer": {
+ "type": "object",
+ "properties": {
+ "container-type": {
+ "type": "string"
+ },
+ "machine-tag": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "machine-tag",
+ "container-type"
+ ]
+ },
+ "WatchContainers": {
+ "type": "object",
+ "properties": {
+ "params": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WatchContainer"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "params"
+ ]
+ }
+ }
+ }
+ },
+ {
+ "Name": "ProxyUpdater",
+ "Version": 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": {
+ "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": {
- "type": "string"
- },
- "provider": {
+ "application-tag": {
"type": "string"
},
- "read-only": {
- "type": "boolean"
- },
- "volume-id": {
+ "life": {
"type": "string"
},
- "volume-tag": {
- "type": "string"
+ "relations": {
+ "$ref": "#/definitions/RemoteRelationsChange"
}
},
"additionalProperties": false,
"required": [
- "volume-tag",
- "machine-tag",
- "provider"
+ "application-tag",
+ "life",
+ "relations"
]
},
- "VolumeInfo": {
+ "RemoteApplicationWatchResult": {
"type": "object",
"properties": {
- "hardware-id": {
- "type": "string"
+ "change": {
+ "$ref": "#/definitions/RemoteApplicationChange"
},
- "persistent": {
- "type": "boolean"
- },
- "size": {
- "type": "integer"
+ "error": {
+ "$ref": "#/definitions/Error"
},
- "volume-id": {
+ "id": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "volume-id",
- "size",
- "persistent"
+ "id"
]
},
- "VolumeParams": {
+ "RemoteEntityId": {
"type": "object",
"properties": {
- "attachment": {
- "$ref": "#/definitions/VolumeAttachmentParams"
- },
- "attributes": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "object",
- "additionalProperties": true
- }
- }
- },
- "provider": {
+ "model-uuid": {
"type": "string"
},
- "size": {
- "type": "integer"
- },
- "tags": {
- "type": "object",
- "patternProperties": {
- ".*": {
- "type": "string"
- }
- }
- },
- "volume-tag": {
+ "token": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "volume-tag",
- "size",
- "provider"
+ "model-uuid",
+ "token"
]
},
- "WatchContainer": {
+ "RemoteRelationChange": {
"type": "object",
"properties": {
- "container-type": {
- "type": "string"
+ "changed-units": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "$ref": "#/definitions/RemoteRelationUnitChange"
+ }
+ }
},
- "machine-tag": {
+ "departed-units": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "id": {
+ "type": "integer"
+ },
+ "life": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "machine-tag",
- "container-type"
+ "id",
+ "life"
]
},
- "WatchContainers": {
+ "RemoteRelationUnitChange": {
"type": "object",
"properties": {
- "params": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/WatchContainer"
+ "settings": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "additionalProperties": true
+ }
}
+ },
+ "unit-id": {
+ "$ref": "#/definitions/RemoteEntityId"
}
},
"additionalProperties": false,
"required": [
- "params"
+ "unit-id"
]
- }
- }
- }
- },
- {
- "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": {
+ "RemoteRelationsChange": {
"type": "object",
"properties": {
- "entities": {
+ "changed": {
"type": "array",
"items": {
- "$ref": "#/definitions/Entity"
+ "$ref": "#/definitions/RemoteRelationChange"
+ }
+ },
+ "initial": {
+ "type": "boolean"
+ },
+ "removed": {
+ "type": "array",
+ "items": {
+ "type": "integer"
}
}
},
"additionalProperties": false,
"required": [
- "entities"
+ "initial"
]
- },
- "Entity": {
+ }
+ }
+ }
+ },
+ {
+ "Name": "RemoteRelationsWatcher",
+ "Version": 1,
+ "Schema": {
+ "type": "object",
+ "properties": {
+ "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": {
+ "entities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "entities"
+ ]
+ },
+ "Macaroon": {
+ "type": "object",
+ "additionalProperties": false
+ },
+ "Resource": {
+ "type": "object",
+ "properties": {
+ "CharmResource": {
+ "$ref": "#/definitions/CharmResource"
+ },
+ "application": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "pending-id": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "username": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "CharmResource",
+ "id",
+ "pending-id",
+ "application",
+ "username",
+ "timestamp"
+ ]
+ },
+ "ResourcesResult": {
"type": "object",
"properties": {
- "results": {
+ "ErrorResult": {
+ "$ref": "#/definitions/ErrorResult"
+ },
+ "charm-store-resources": {
"type": "array",
"items": {
- "$ref": "#/definitions/ErrorResult"
+ "$ref": "#/definitions/CharmResource"
+ }
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Resource"
+ }
+ },
+ "unit-resources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UnitResources"
}
}
},
"additionalProperties": false,
"required": [
- "results"
+ "ErrorResult",
+ "resources",
+ "charm-store-resources",
+ "unit-resources"
]
},
- "Macaroon": {
- "type": "object",
- "additionalProperties": false
- },
- "NotifyWatchResult": {
+ "ResourcesResults": {
"type": "object",
"properties": {
- "NotifyWatcherId": {
- "type": "string"
- },
- "error": {
- "$ref": "#/definitions/Error"
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourcesResult"
+ }
}
},
"additionalProperties": false,
"required": [
- "NotifyWatcherId"
+ "results"
]
},
- "RebootActionResult": {
+ "UnitResources": {
"type": "object",
"properties": {
- "error": {
- "$ref": "#/definitions/Error"
+ "Entity": {
+ "$ref": "#/definitions/Entity"
},
- "result": {
- "type": "string"
- }
- },
- "additionalProperties": false
- },
- "RebootActionResults": {
- "type": "object",
- "properties": {
- "results": {
+ "download-progress": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "integer"
+ }
+ }
+ },
+ "resources": {
"type": "array",
"items": {
- "$ref": "#/definitions/RebootActionResult"
+ "$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": {
"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": {
- "type": "object",
- "properties": {
- "Params": {
- "$ref": "#/definitions/Entities"
- },
- "Result": {
- "$ref": "#/definitions/MacaroonResults"
- }
- }
- },
"DisableUser": {
"type": "object",
"properties": {
"type": "object",
"additionalProperties": false
},
- "MacaroonResult": {
- "type": "object",
- "properties": {
- "error": {
- "$ref": "#/definitions/Error"
- },
- "result": {
- "$ref": "#/definitions/Macaroon"
- }
- },
- "additionalProperties": false
- },
- "MacaroonResults": {
- "type": "object",
- "properties": {
- "results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/MacaroonResult"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "results"
- ]
- },
"UserInfo": {
"type": "object",
"properties": {