From 41dd2c3404f43fb03ed3b0dbbabe26084b6da6ce Mon Sep 17 00:00:00 2001 From: Jake Skelcy Date: Wed, 14 Mar 2018 18:24:27 -0400 Subject: [PATCH] add bulk update endpoint to swagger spec --- public/r2/v1/swagger/swagger.json | 129 ++++++++++++++++++++++++++++-- 1 file changed, 122 insertions(+), 7 deletions(-) diff --git a/public/r2/v1/swagger/swagger.json b/public/r2/v1/swagger/swagger.json index eccf996..a24d103 100644 --- a/public/r2/v1/swagger/swagger.json +++ b/public/r2/v1/swagger/swagger.json @@ -189,11 +189,66 @@ "tags":[ "namespaces" ], - "summary": "Bulk update endpoint for namespace changes", - "operationId": "bulkUpdateRuleSet", - "consumes": [ - "application/json" - ] + "summary": "Bulk update endpoint for namespace changes", + "operationId": "bulkUpdateRuleSet", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "namespaceID", + "description": "The name of the namespace", + "type": "string", + "required": true + }, + { + "in": "body", + "name": "ruleset-change", + "description": "The updates to the ruleset", + "required": true, + "schema": { + "$ref": "#/definitions/RuleSetChange" + } + }, + { + "in": "body", + "name": "rule-set-version", + "description": "The ruleset version to update, for check and set operations", + "required": false, + "type": "integer" + }, + { + "in": "body", + "name": "atomic", + "description": "flag to apply the changes atomically", + "required": true, + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "The ruleset updates have been applied", + "schema": { + "$ref": "#/definitions/ApiResponse" + } + }, + "404": { + "description": "No such namespace", + "schema": { + "$ref": "#/definitions/ApiResponse" + } + }, + "500": { + "description": "Something went horribly wrong", + "schema": { + "$ref": "#/definitions/ApiResponse" + } + } + } } }, "/namespaces/{namespaceID}/ruleset/validate": { @@ -875,13 +930,13 @@ "type": "integer", "format": "unixMillis" }, - "mappingRules": { + "mappingRulesChanges": { "type": "array", "items": { "$ref": "#/definitions/MappingRule" } }, - "rollupRules": { + "rollupRulesChanges": { "type": "array", "items": { "$ref": "#/definitions/RollupRule" @@ -889,6 +944,66 @@ } } }, + "RuleSetChange": { + "type": "object", + "properties": { + "operation": { + "type": "string", + "enum": ["add", "remove", "change"], + "description": "type of operation on rule set" + }, + "MappingRuleChanges": { + "type": "array", + "items": { + "$ref": "#/definitions/MappingRuleChange" + }, + "description": "list of mapping rule diffs" + }, + "RollupRuleChanges": { + "type": "array", + "items": { + "$ref": "#/definitions/RollupRuleChange" + }, + "description": "list of rollup rule diffs" + } + } + }, + "MappingRuleChange": { + "type": "object", + "properties": { + "operation": { + "type": "string", + "enum": ["add", "remove", "change"], + "description": "type of operation on rule" + }, + "from": { + "type": "#/difinitions/MappingRule", + "description": "old version of rule" + }, + "to": { + "type": "#/difinitions/MappingRule", + "description": "new version of rule" + } + } + }, + "RollupRuleChange": { + "type": "object", + "properties": { + "operation": { + "type": "string", + "enum": ["add", "remove", "change"], + "description": "type of operation on rule" + }, + "from": { + "type": "#/difinitions/RollupRule", + "description": "old version of rule" + }, + "to": { + "type": "#/difinitions/RollupRule", + "description": "new version of rule" + } + } + }, "Policies": { "type": "array", "items": {