X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=juju%2Fclient%2Fschemas.json;h=474b204cb0f2b1d04f235bb98e95a86fb5b13ea8;hb=ed0017cc2049050002f23d1b9e1ef95ff8448e5c;hp=cdbe0e275ca82cdfb5a3b204342372435fea5e91;hpb=173b900fcd95b2436af55df2618302146f4a2f40;p=osm%2FN2VC.git diff --git a/juju/client/schemas.json b/juju/client/schemas.json index cdbe0e2..474b204 100644 --- a/juju/client/schemas.json +++ b/juju/client/schemas.json @@ -508,6 +508,17 @@ } } }, + "CloudSpec": { + "type": "object", + "properties": { + "Params": { + "$ref": "#/definitions/Entities" + }, + "Result": { + "$ref": "#/definitions/CloudSpecResults" + } + } + }, "ControllerConfig": { "type": "object", "properties": { @@ -516,6 +527,17 @@ } } }, + "GetCloudSpec": { + "type": "object", + "properties": { + "Params": { + "$ref": "#/definitions/ModelTag" + }, + "Result": { + "$ref": "#/definitions/CloudSpecResult" + } + } + }, "GetEntities": { "type": "object", "properties": { @@ -562,6 +584,17 @@ } } }, + "WatchCredentials": { + "type": "object", + "properties": { + "Params": { + "$ref": "#/definitions/Entities" + }, + "Result": { + "$ref": "#/definitions/NotifyWatchResults" + } + } + }, "WatchForModelConfigChanges": { "type": "object", "properties": { @@ -613,6 +646,87 @@ "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": { @@ -778,6 +892,10 @@ "config" ] }, + "ModelTag": { + "type": "object", + "additionalProperties": false + }, "NotifyWatchResult": { "type": "object", "properties": { @@ -793,6 +911,21 @@ "NotifyWatcherId" ] }, + "NotifyWatchResults": { + "type": "object", + "properties": { + "results": { + "type": "array", + "items": { + "$ref": "#/definitions/NotifyWatchResult" + } + } + }, + "additionalProperties": false, + "required": [ + "results" + ] + }, "StateServingInfo": { "type": "object", "properties": { @@ -1148,7 +1281,7 @@ }, { "Name": "Application", - "Version": 1, + "Version": 3, "Schema": { "type": "object", "properties": { @@ -1549,6 +1682,9 @@ }, "constraints": { "$ref": "#/definitions/Value" + }, + "series": { + "type": "string" } }, "additionalProperties": false, @@ -1556,7 +1692,8 @@ "application", "charm", "config", - "constraints" + "constraints", + "series" ] }, "ApplicationMetricCredential": { @@ -1626,6 +1763,17 @@ "charm-url": { "type": "string" }, + "config-settings": { + "type": "object", + "patternProperties": { + ".*": { + "type": "string" + } + } + }, + "config-settings-yaml": { + "type": "string" + }, "force-series": { "type": "boolean" }, @@ -1639,6 +1787,14 @@ "type": "string" } } + }, + "storage-constraints": { + "type": "object", + "patternProperties": { + ".*": { + "$ref": "#/definitions/StorageConstraints" + } + } } }, "additionalProperties": false, @@ -1935,6 +2091,21 @@ "constraints" ] }, + "StorageConstraints": { + "type": "object", + "properties": { + "count": { + "type": "integer" + }, + "pool": { + "type": "string" + }, + "size": { + "type": "integer" + } + }, + "additionalProperties": false + }, "StringResult": { "type": "object", "properties": { @@ -1959,7 +2130,7 @@ "container": { "type": "string" }, - "cpu-cores": { + "cores": { "type": "integer" }, "cpu-power": { @@ -2514,6 +2685,89 @@ } } }, + { + "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, @@ -2821,11 +3075,15 @@ "$ref": "#/definitions/CharmMetric" } } + }, + "plan": { + "$ref": "#/definitions/CharmPlan" } }, "additionalProperties": false, "required": [ - "metrics" + "metrics", + "plan" ] }, "CharmOption": { @@ -2863,6 +3121,18 @@ "type" ] }, + "CharmPlan": { + "type": "object", + "properties": { + "required": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "required" + ] + }, "CharmRelation": { "type": "object", "properties": { @@ -3194,10 +3464,10 @@ "type": "object", "properties": { "Params": { - "$ref": "#/definitions/GetBundleChangesParams" + "$ref": "#/definitions/BundleChangesParams" }, "Result": { - "$ref": "#/definitions/GetBundleChangesResults" + "$ref": "#/definitions/BundleChangesResults" } } }, @@ -3662,7 +3932,7 @@ "Arch" ] }, - "BundleChangesChange": { + "BundleChange": { "type": "object", "properties": { "args": { @@ -3693,29 +3963,59 @@ "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" }, @@ -4005,6 +4305,14 @@ "items": { "$ref": "#/definitions/RelationStatus" } + }, + "remote-applications": { + "type": "object", + "patternProperties": { + ".*": { + "$ref": "#/definitions/RemoteApplicationStatus" + } + } } }, "additionalProperties": false, @@ -4012,39 +4320,10 @@ "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": { @@ -4125,12 +4404,45 @@ "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": { @@ -4157,6 +4469,12 @@ "instance-status": { "$ref": "#/definitions/DetailedStatus" }, + "ip-addresses": { + "type": "array", + "items": { + "type": "string" + } + }, "jobs": { "type": "array", "items": { @@ -4175,10 +4493,12 @@ "agent-status", "instance-status", "dns-name", + "ip-addresses", "instance-id", "series", "id", "containers", + "constraints", "hardware", "jobs", "has-vote", @@ -4221,13 +4541,13 @@ "ModelInfo": { "type": "object", "properties": { - "cloud": { + "cloud-credential-tag": { "type": "string" }, - "cloud-credential": { + "cloud-region": { "type": "string" }, - "cloud-region": { + "cloud-tag": { "type": "string" }, "controller-uuid": { @@ -4239,6 +4559,15 @@ "life": { "type": "string" }, + "machines": { + "type": "array", + "items": { + "$ref": "#/definitions/ModelMachineInfo" + } + }, + "migration": { + "$ref": "#/definitions/ModelMigrationStatus" + }, "name": { "type": "string" }, @@ -4268,11 +4597,60 @@ "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": { @@ -4299,7 +4677,10 @@ "available-version": { "type": "string" }, - "cloud": { + "cloud-tag": { + "type": "string" + }, + "migration": { "type": "string" }, "name": { @@ -4315,7 +4696,7 @@ "additionalProperties": false, "required": [ "name", - "cloud", + "cloud-tag", "version", "available-version" ] @@ -4546,6 +4927,81 @@ "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": { @@ -4769,6 +5225,9 @@ "charm": { "type": "string" }, + "leader": { + "type": "boolean" + }, "machine": { "type": "string" }, @@ -4817,7 +5276,7 @@ "container": { "type": "string" }, - "cpu-cores": { + "cores": { "type": "integer" }, "cpu-power": { @@ -4870,39 +5329,77 @@ } } }, - "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": { @@ -4917,12 +5414,18 @@ "endpoint": { "type": "string" }, + "identity-endpoint": { + "type": "string" + }, "regions": { "type": "array", "items": { "$ref": "#/definitions/CloudRegion" } }, + "storage-endpoint": { + "type": "string" + }, "type": { "type": "string" } @@ -4945,6 +5448,12 @@ }, "auth-type": { "type": "string" + }, + "redacted": { + "type": "array", + "items": { + "type": "string" + } } }, "additionalProperties": false, @@ -4952,43 +5461,38 @@ "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" @@ -4996,35 +5500,24 @@ }, "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", @@ -5032,8 +5525,14 @@ "endpoint": { "type": "string" }, + "identity-endpoint": { + "type": "string" + }, "name": { "type": "string" + }, + "storage-endpoint": { + "type": "string" } }, "additionalProperties": false, @@ -5065,6 +5564,20 @@ }, "additionalProperties": false }, + "CloudsResult": { + "type": "object", + "properties": { + "clouds": { + "type": "object", + "patternProperties": { + ".*": { + "$ref": "#/definitions/Cloud" + } + } + } + }, + "additionalProperties": false + }, "Entities": { "type": "object", "properties": { @@ -5147,39 +5660,165 @@ "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" @@ -5188,8 +5827,7 @@ "additionalProperties": false, "required": [ "user-tag", - "cloud-tag", - "credentials" + "cloud-tag" ] }, "UserClouds": { @@ -5204,20 +5842,47 @@ }, "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 } } } @@ -5236,11 +5901,22 @@ } } }, - "ControllerConfig": { + "CloudSpec": { "type": "object", "properties": { + "Params": { + "$ref": "#/definitions/Entities" + }, "Result": { - "$ref": "#/definitions/ControllerConfigResult" + "$ref": "#/definitions/CloudSpecResults" + } + } + }, + "ControllerConfig": { + "type": "object", + "properties": { + "Result": { + "$ref": "#/definitions/ControllerConfigResult" } } }, @@ -5252,14 +5928,44 @@ } } }, - "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" } } }, @@ -5290,6 +5996,17 @@ } } }, + "ModifyControllerAccess": { + "type": "object", + "properties": { + "Params": { + "$ref": "#/definitions/ModifyControllerAccessRequest" + }, + "Result": { + "$ref": "#/definitions/ErrorResults" + } + } + }, "RemoveBlocks": { "type": "object", "properties": { @@ -5320,6 +6037,87 @@ "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": { @@ -5425,13 +6223,83 @@ }, "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" } } }, @@ -5440,13 +6308,13 @@ "specs" ] }, - "InitiateModelMigrationResult": { + "InitiateMigrationResult": { "type": "object", "properties": { "error": { "$ref": "#/definitions/Error" }, - "id": { + "migration-id": { "type": "string" }, "model-tag": { @@ -5456,16 +6324,16 @@ "additionalProperties": false, "required": [ "model-tag", - "id" + "migration-id" ] }, - "InitiateModelMigrationResults": { + "InitiateMigrationResults": { "type": "object", "properties": { "results": { "type": "array", "items": { - "$ref": "#/definitions/InitiateModelMigrationResult" + "$ref": "#/definitions/InitiateMigrationResult" } } }, @@ -5478,6 +6346,93 @@ "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": { @@ -5554,51 +6509,31 @@ "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": { @@ -5613,6 +6548,12 @@ "life": { "type": "string" }, + "machines": { + "type": "array", + "items": { + "$ref": "#/definitions/ModelMachineInfo" + } + }, "model-tag": { "type": "string" }, @@ -5644,6 +6585,45 @@ "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": { @@ -5656,6 +6636,46 @@ "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": { @@ -5770,6 +6790,17 @@ } } }, + "SetStatus": { + "type": "object", + "properties": { + "Params": { + "$ref": "#/definitions/SetStatus" + }, + "Result": { + "$ref": "#/definitions/ErrorResults" + } + } + }, "StateAddresses": { "type": "object", "properties": { @@ -5778,6 +6809,17 @@ } } }, + "UpdateStatus": { + "type": "object", + "properties": { + "Params": { + "$ref": "#/definitions/SetStatus" + }, + "Result": { + "$ref": "#/definitions/ErrorResults" + } + } + }, "WatchAPIHostPorts": { "type": "object", "properties": { @@ -5935,6 +6977,36 @@ "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": { @@ -6055,6 +7127,21 @@ "NotifyWatcherId" ] }, + "SetStatus": { + "type": "object", + "properties": { + "entities": { + "type": "array", + "items": { + "$ref": "#/definitions/EntityStatusArgs" + } + } + }, + "additionalProperties": false, + "required": [ + "entities" + ] + }, "StringResult": { "type": "object", "properties": { @@ -6790,6 +7877,17 @@ "Schema": { "type": "object", "properties": { + "CloudSpec": { + "type": "object", + "properties": { + "Params": { + "$ref": "#/definitions/Entities" + }, + "Result": { + "$ref": "#/definitions/CloudSpecResults" + } + } + }, "GetAssignedMachine": { "type": "object", "properties": { @@ -6801,6 +7899,17 @@ } } }, + "GetCloudSpec": { + "type": "object", + "properties": { + "Params": { + "$ref": "#/definitions/ModelTag" + }, + "Result": { + "$ref": "#/definitions/CloudSpecResult" + } + } + }, "GetExposed": { "type": "object", "properties": { @@ -6945,74 +8054,155 @@ "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" @@ -7139,6 +8329,10 @@ "config" ] }, + "ModelTag": { + "type": "object", + "additionalProperties": false + }, "NotifyWatchResult": { "type": "object", "properties": { @@ -7432,9 +8626,6 @@ "constraints": { "$ref": "#/definitions/Value" }, - "model-tag": { - "type": "string" - }, "num-controllers": { "type": "integer" }, @@ -7450,7 +8641,6 @@ }, "additionalProperties": false, "required": [ - "model-tag", "num-controllers" ] }, @@ -7599,6 +8789,30 @@ "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": { @@ -7618,7 +8832,7 @@ "type": "object", "properties": { "target": { - "$ref": "#/definitions/Version" + "$ref": "#/definitions/MongoVersion" } }, "additionalProperties": false, @@ -7635,7 +8849,7 @@ "container": { "type": "string" }, - "cpu-cores": { + "cores": { "type": "integer" }, "cpu-power": { @@ -7667,30 +8881,6 @@ } }, "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" - ] } } } @@ -9527,11 +10717,15 @@ }, "record-id": { "type": "integer" + }, + "record-timestamp": { + "type": "integer" } }, "additionalProperties": false, "required": [ "record-id", + "record-timestamp", "err" ] }, @@ -9574,12 +10768,16 @@ }, "record-id": { "type": "integer" + }, + "record-timestamp": { + "type": "integer" } }, "additionalProperties": false, "required": [ "LogForwardingID", - "record-id" + "record-id", + "record-timestamp" ] }, "LogForwardingSetLastSentParams": { @@ -10113,6 +11311,17 @@ "$ref": "#/definitions/AddMachinesResults" } } + }, + "InstanceTypes": { + "type": "object", + "properties": { + "Params": { + "$ref": "#/definitions/ModelInstanceTypesConstraints" + }, + "Result": { + "$ref": "#/definitions/InstanceTypesResults" + } + } } }, "definitions": { @@ -10324,10 +11533,111 @@ }, "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": { @@ -10353,7 +11663,7 @@ "container": { "type": "string" }, - "cpu-cores": { + "cores": { "type": "integer" }, "cpu-power": { @@ -10390,69 +11700,303 @@ } }, { - "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": { @@ -10869,6 +12413,12 @@ "provider-vlan-id": { "type": "string" }, + "routes": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkRoute" + } + }, "vlan-tag": { "type": "integer" } @@ -10891,25 +12441,45 @@ "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" @@ -11499,6 +13069,9 @@ "type": "string", "format": "date-time" }, + "unit": { + "type": "string" + }, "value": { "type": "string" } @@ -11507,7 +13080,8 @@ "required": [ "time", "key", - "value" + "value", + "unit" ] }, "MetricResults": { @@ -11779,10 +13353,7 @@ "type": "string" } }, - "additionalProperties": false, - "required": [ - "phase" - ] + "additionalProperties": false }, "PhaseResults": { "type": "object", @@ -11816,14 +13387,36 @@ } } }, - "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": { @@ -11832,6 +13425,14 @@ } } }, + "SetStatusMessage": { + "type": "object", + "properties": { + "Params": { + "$ref": "#/definitions/SetMigrationStatusMessageArgs" + } + } + }, "Watch": { "type": "object", "properties": { @@ -11839,6 +13440,14 @@ "$ref": "#/definitions/NotifyWatchResult" } } + }, + "WatchMinionReports": { + "type": "object", + "properties": { + "Result": { + "$ref": "#/definitions/NotifyWatchResult" + } + } } }, "definitions": { @@ -11873,47 +13482,88 @@ }, "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": { @@ -11931,6 +13581,9 @@ "controller-tag": { "type": "string" }, + "macaroons": { + "type": "string" + }, "password": { "type": "string" } @@ -11940,8 +13593,45 @@ "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": { @@ -11959,6 +13649,34 @@ "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": { @@ -11967,78 +13685,232 @@ "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", @@ -12083,6 +13955,12 @@ "attempt": { "type": "integer" }, + "external-control": { + "type": "boolean" + }, + "migration-id": { + "type": "string" + }, "phase": { "type": "string" }, @@ -12107,8 +13985,10 @@ }, "additionalProperties": false, "required": [ + "migration-id", "attempt", "phase", + "external-control", "source-api-addrs", "source-ca-cert", "target-api-addrs", @@ -12140,1003 +14020,871 @@ } } }, - "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" } } }, @@ -13145,96 +14893,113 @@ "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" @@ -13243,623 +15008,2394 @@ }, "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": { @@ -13868,58 +17404,290 @@ } } }, - "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" } } }, @@ -13928,109 +17696,65 @@ "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" } } }, @@ -14039,392 +17763,368 @@ "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": { @@ -14460,159 +18160,250 @@ "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": { @@ -14667,86 +18458,198 @@ }, "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": { @@ -14778,22 +18681,19 @@ }, "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" @@ -14802,38 +18702,79 @@ }, "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" ] } } @@ -15033,10 +18974,21 @@ }, { "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": { @@ -15169,6 +19121,39 @@ "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": { @@ -15609,7 +19594,7 @@ }, { "Name": "Storage", - "Version": 2, + "Version": 3, "Schema": { "type": "object", "properties": { @@ -16305,7 +20290,7 @@ }, { "Name": "StorageProvisioner", - "Version": 2, + "Version": 3, "Schema": { "type": "object", "properties": { @@ -16397,14 +20382,6 @@ } } }, - "ModelConfig": { - "type": "object", - "properties": { - "Result": { - "$ref": "#/definitions/ModelConfigResult" - } - } - }, "Remove": { "type": "object", "properties": { @@ -16581,14 +20558,6 @@ } } }, - "WatchForModelConfigChanges": { - "type": "object", - "properties": { - "Result": { - "$ref": "#/definitions/NotifyWatchResult" - } - } - }, "WatchMachines": { "type": "object", "properties": { @@ -17196,24 +21165,6 @@ "results" ] }, - "ModelConfigResult": { - "type": "object", - "properties": { - "config": { - "type": "object", - "patternProperties": { - ".*": { - "type": "object", - "additionalProperties": true - } - } - } - }, - "additionalProperties": false, - "required": [ - "config" - ] - }, "NotifyWatchResult": { "type": "object", "properties": { @@ -20157,6 +24108,12 @@ "provider-vlan-id": { "type": "string" }, + "routes": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkRoute" + } + }, "vlan-tag": { "type": "integer" } @@ -20179,6 +24136,26 @@ "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": { @@ -21328,18 +25305,18 @@ } } }, - "CreateLocalLoginMacaroon": { + "DisableUser": { "type": "object", "properties": { "Params": { "$ref": "#/definitions/Entities" }, "Result": { - "$ref": "#/definitions/MacaroonResults" + "$ref": "#/definitions/ErrorResults" } } }, - "DisableUser": { + "EnableUser": { "type": "object", "properties": { "Params": { @@ -21350,7 +25327,7 @@ } } }, - "EnableUser": { + "RemoveUser": { "type": "object", "properties": { "Params": { @@ -21391,18 +25368,9 @@ "display-name": { "type": "string" }, - "model-access-permission": { - "type": "string" - }, "password": { "type": "string" }, - "shared-model-tags": { - "type": "array", - "items": { - "type": "string" - } - }, "username": { "type": "string" } @@ -21410,8 +25378,7 @@ "additionalProperties": false, "required": [ "username", - "display-name", - "shared-model-tags" + "display-name" ] }, "AddUserResult": { @@ -21579,36 +25546,12 @@ "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" }, @@ -21634,6 +25577,7 @@ "required": [ "username", "display-name", + "access", "created-by", "date-created", "disabled"