891 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			891 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
|   | require 'swagger/blocks' | ||
|  | 
 | ||
|  | require_relative 'devops_error' | ||
|  | require_relative 'devops_response' | ||
|  | 
 | ||
|  | module Devops | ||
|  |   module API3 | ||
|  |     module Docs | ||
|  |       class ServerRoutes | ||
|  | 
 | ||
|  |         include Swagger::Blocks | ||
|  | 
 | ||
|  |         swagger_schema :ServerIdObject do | ||
|  |           property :id do | ||
|  |             key :type, :string | ||
|  |           end | ||
|  |         end | ||
|  | 
 | ||
|  |         swagger_schema :DevopsServerResponse do | ||
|  |           allOf do | ||
|  |             schema do | ||
|  |               key :'$ref', :DevopsResponse | ||
|  |             end | ||
|  |             schema do | ||
|  |               property :id do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |           end | ||
|  |         end | ||
|  | 
 | ||
|  |         swagger_path "/servers" do | ||
|  |           operation :get do | ||
|  |             key :description, 'Get servers list' | ||
|  |             key :operationId, 'getServers' | ||
|  |             key :tags, [ | ||
|  |               'server' | ||
|  |             ] | ||
|  |             response 200 do | ||
|  |               key :description, 'Servers list' | ||
|  |               schema do | ||
|  |                 key :type, :array | ||
|  |                 items do | ||
|  |                   key :'$ref', :ServerObject | ||
|  |                 end | ||
|  |               end | ||
|  |             end | ||
|  |             response :default do | ||
|  |               key :description, 'error' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |           end | ||
|  |         end | ||
|  | 
 | ||
|  |         swagger_path "/servers/provider/{provider}/{account}" do | ||
|  |           operation :get do | ||
|  |             key :description, 'Get servers list by provider and provider account' | ||
|  |             key :operationId, 'getServersByProviderAccount' | ||
|  |             key :tags, [ | ||
|  |               'server' | ||
|  |             ] | ||
|  |             parameter do | ||
|  |               key :name, :provider | ||
|  |               key :in, :path | ||
|  |               key :description, 'Provider name' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :account | ||
|  |               key :in, :path | ||
|  |               key :description, 'Provider account id' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             response 200 do | ||
|  |               key :description, 'Servers list' | ||
|  |               schema do | ||
|  |                 key :type, :array | ||
|  |                 items do | ||
|  |                   key :'$ref', :ServerObject | ||
|  |                 end | ||
|  |               end | ||
|  |             end | ||
|  |             response :default do | ||
|  |               key :description, 'error' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |           end | ||
|  |         end | ||
|  | 
 | ||
|  |         swagger_path "/server/id/{name}" do | ||
|  |           operation :get do | ||
|  |             key :description, 'Get server id by name' | ||
|  |             key :operationId, 'getServerIdByName' | ||
|  |             key :tags, [ | ||
|  |               'server' | ||
|  |             ] | ||
|  |             parameter do | ||
|  |               key :name, :name | ||
|  |               key :in, :path | ||
|  |               key :description, 'Server name' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             response 200 do | ||
|  |               key :description, 'Server id' | ||
|  |               schema do | ||
|  |                 key :'$ref', :ServerIdObject | ||
|  |               end | ||
|  |             end | ||
|  |             response :default do | ||
|  |               key :description, 'error' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |           end | ||
|  |         end | ||
|  | 
 | ||
|  |         swagger_path "/server/{id}" do | ||
|  |           operation :get do | ||
|  |             key :description, 'Get server by id' | ||
|  |             key :operationId, 'getServerById' | ||
|  |             key :tags, [ | ||
|  |               'server' | ||
|  |             ] | ||
|  |             parameter do | ||
|  |               key :name, :id | ||
|  |               key :in, :path | ||
|  |               key :description, 'Server id' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             response 200 do | ||
|  |               key :description, 'Server' | ||
|  |               schema do | ||
|  |                 key :'$ref', :ServerObject | ||
|  |               end | ||
|  |             end | ||
|  |             response :default do | ||
|  |               key :description, 'error' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |           end | ||
|  |         end | ||
|  | 
 | ||
|  |         swagger_path "/server/{id}" do | ||
|  |           operation :delete do | ||
|  |             key :description, 'Delete server by id' | ||
|  |             key :operationId, 'deleteServerById' | ||
|  |             key :tags, [ | ||
|  |               'server' | ||
|  |             ] | ||
|  |             parameter do | ||
|  |               key :name, :id | ||
|  |               key :in, :path | ||
|  |               key :description, 'Server id' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             response 200 do | ||
|  |               key :description, 'List of jobs ids' | ||
|  |               schema do | ||
|  |                 key :type, :array | ||
|  |                 items do | ||
|  |                   key :type, :string | ||
|  |                 end | ||
|  |               end | ||
|  |             end | ||
|  |             response :default do | ||
|  |               key :description, 'error' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |           end | ||
|  |         end | ||
|  | 
 | ||
|  |         swagger_path "/servers/delete" do | ||
|  |           operation :post do | ||
|  |             key :description, 'Delete servers' | ||
|  |             key :operationId, 'deleteServers' | ||
|  |             key :tags, [ | ||
|  |               'server' | ||
|  |             ] | ||
|  |             parameter do | ||
|  |               key :name, :server_ids | ||
|  |               key :in, :body | ||
|  |               key :description, 'Array of servers ids' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :array | ||
|  |                 items do | ||
|  |                   key :type, :string | ||
|  |                 end | ||
|  |               end | ||
|  |             end | ||
|  |             response 200 do | ||
|  |               key :description, 'List of jobs ids' | ||
|  |               schema do | ||
|  |                 key :type, :array | ||
|  |                 items do | ||
|  |                   key :type, :string | ||
|  |                 end | ||
|  |               end | ||
|  |             end | ||
|  |             response :default do | ||
|  |               key :description, 'error' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |           end | ||
|  |         end | ||
|  | 
 | ||
|  |         swagger_path "/servers/{id}/deploy" do | ||
|  |           operation :post do | ||
|  |             key :description, 'Deploy server' | ||
|  |             key :operationId, 'deployServer' | ||
|  |             key :tags, [ | ||
|  |               'server' | ||
|  |             ] | ||
|  |             parameter do | ||
|  |               key :name, :id | ||
|  |               key :in, :path | ||
|  |               key :description, 'Server id' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :tags | ||
|  |               key :in, :body | ||
|  |               key :description, 'Chef tags to deploy with' | ||
|  |               key :required, false | ||
|  |               schema do | ||
|  |                 key :type, :array | ||
|  |                 items do | ||
|  |                   key :type, :string | ||
|  |                 end | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :run_list | ||
|  |               key :in, :body | ||
|  |               key :description, 'Chef run_list to deploy with' | ||
|  |               key :required, false | ||
|  |               schema do | ||
|  |                 key :type, :array | ||
|  |                 items do | ||
|  |                   key :type, :string | ||
|  |                 end | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :build_number | ||
|  |               key :in, :body | ||
|  |               key :description, 'Build number to deploy' | ||
|  |               key :required, false | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             response 200 do | ||
|  |               key :description, 'List of jobs ids' | ||
|  |               schema do | ||
|  |                 key :type, :array | ||
|  |                 items do | ||
|  |                   key :type, :string | ||
|  |                 end | ||
|  |               end | ||
|  |             end | ||
|  |             response :default do | ||
|  |               key :description, 'error' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |           end | ||
|  |         end | ||
|  | 
 | ||
|  |         swagger_path "/server" do | ||
|  |           operation :post do | ||
|  |             key :description, 'Create server' | ||
|  |             key :operationId, 'createServer' | ||
|  |             key :tags, [ | ||
|  |               'server' | ||
|  |             ] | ||
|  |             parameter do | ||
|  |               key :name, :project | ||
|  |               key :in, :body | ||
|  |               key :description, 'Project id' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :environment | ||
|  |               key :in, :body | ||
|  |               key :description, 'Environment id' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :category | ||
|  |               key :in, :body | ||
|  |               key :description, 'Category id' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :name | ||
|  |               key :in, :body | ||
|  |               key :description, 'Server name' | ||
|  |               key :required, false | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :cm_name | ||
|  |               key :in, :body | ||
|  |               key :description, 'Server name in configuration manager system' | ||
|  |               key :required, false | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :without_bootstrap | ||
|  |               key :in, :body | ||
|  |               key :description, 'Skip bootstrap phase' | ||
|  |               key :required, false | ||
|  |               schema do | ||
|  |                 key :type, :bool | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :skip_rollback | ||
|  |               key :in, :body | ||
|  |               key :description, 'Skip rollback on error' | ||
|  |               key :required, false | ||
|  |               schema do | ||
|  |                 key :type, :bool | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :run_list | ||
|  |               key :in, :body | ||
|  |               key :description, 'Chef run_list to deploy with' | ||
|  |               key :required, false | ||
|  |               schema do | ||
|  |                 key :type, :array | ||
|  |                 items do | ||
|  |                   key :type, :string | ||
|  |                 end | ||
|  |               end | ||
|  |             end | ||
|  |             response 200 do | ||
|  |               key :description, 'List of jobs ids' | ||
|  |               schema do | ||
|  |                 key :type, :array | ||
|  |                 items do | ||
|  |                   key :type, :string | ||
|  |                 end | ||
|  |               end | ||
|  |             end | ||
|  |             response :default do | ||
|  |               key :description, 'error' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |           end | ||
|  |         end | ||
|  | 
 | ||
|  |         swagger_path "/server/{id}/pause" do | ||
|  |           operation :post do | ||
|  |             key :description, 'Pause server' | ||
|  |             key :operationId, 'pauseServer' | ||
|  |             key :tags, [ | ||
|  |               'server' | ||
|  |             ] | ||
|  |             parameter do | ||
|  |               key :name, :id | ||
|  |               key :in, :path | ||
|  |               key :description, 'Server id' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             response 200 do | ||
|  |               key :description, 'Server response' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsServerResponse | ||
|  |               end | ||
|  |             end | ||
|  |             response 409 do | ||
|  |               key :description, 'Conflict error, server in invalid state, operation can not be done' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |             response :default do | ||
|  |               key :description, 'error' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |           end | ||
|  |         end | ||
|  | 
 | ||
|  |         swagger_path "/server/{id}/unpause" do | ||
|  |           operation :post do | ||
|  |             key :description, 'Unpause server' | ||
|  |             key :operationId, 'unpauseServer' | ||
|  |             key :tags, [ | ||
|  |               'server' | ||
|  |             ] | ||
|  |             parameter do | ||
|  |               key :name, :id | ||
|  |               key :in, :path | ||
|  |               key :description, 'Server id' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             response 200 do | ||
|  |               key :description, 'Server response' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsServerResponse | ||
|  |               end | ||
|  |             end | ||
|  |             response 409 do | ||
|  |               key :description, 'Conflict error, server in invalid state, operation can not be done' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |             response :default do | ||
|  |               key :description, 'error' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |           end | ||
|  |         end | ||
|  | 
 | ||
|  |         swagger_path "/server/{id}/reserve" do | ||
|  |           operation :post do | ||
|  |             key :description, 'Reserve server' | ||
|  |             key :operationId, 'reserveServer' | ||
|  |             key :tags, [ | ||
|  |               'server' | ||
|  |             ] | ||
|  |             parameter do | ||
|  |               key :name, :id | ||
|  |               key :in, :path | ||
|  |               key :description, 'Server id' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             response 200 do | ||
|  |               key :description, 'Server response' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsServerResponse | ||
|  |               end | ||
|  |             end | ||
|  |             response 409 do | ||
|  |               key :description, 'Conflict error, server in invalid state, operation can not be done' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |             response :default do | ||
|  |               key :description, 'error' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |           end | ||
|  |         end | ||
|  | 
 | ||
|  |         swagger_path "/server/{id}/unreserve" do | ||
|  |           operation :post do | ||
|  |             key :description, 'Unreserve server' | ||
|  |             key :operationId, 'unreserveServer' | ||
|  |             key :tags, [ | ||
|  |               'server' | ||
|  |             ] | ||
|  |             parameter do | ||
|  |               key :name, :id | ||
|  |               key :in, :path | ||
|  |               key :description, 'Server id' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             response 200 do | ||
|  |               key :description, 'Server response' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsServerResponse | ||
|  |               end | ||
|  |             end | ||
|  |             response 409 do | ||
|  |               key :description, 'Conflict error, server in invalid state, operation can not be done' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |             response :default do | ||
|  |               key :description, 'error' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |           end | ||
|  |         end | ||
|  | 
 | ||
|  |         swagger_path "/server/{id}/bootstrap" do | ||
|  |           operation :post do | ||
|  |             key :description, 'Bootstrap server' | ||
|  |             key :operationId, 'bootstrapServer' | ||
|  |             key :tags, [ | ||
|  |               'server' | ||
|  |             ] | ||
|  |             parameter do | ||
|  |               key :name, :id | ||
|  |               key :in, :path | ||
|  |               key :description, 'Server id' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :run_list | ||
|  |               key :in, :body | ||
|  |               key :description, 'Chef run_list to deploy with' | ||
|  |               key :required, false | ||
|  |               schema do | ||
|  |                 key :type, :array | ||
|  |                 items do | ||
|  |                   key :type, :string | ||
|  |                 end | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :bootstrap_template | ||
|  |               key :in, :body | ||
|  |               key :description, 'Owerride bootstrap_template parameter' | ||
|  |               key :required, false | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :cm_name | ||
|  |               key :in, :body | ||
|  |               key :description, 'Server name in configuration manager system' | ||
|  |               key :required, false | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             response 200 do | ||
|  |               key :description, 'Server response' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsServerResponse | ||
|  |               end | ||
|  |             end | ||
|  |             response 409 do | ||
|  |               key :description, 'Conflict error, server in invalid state, operation can not be done' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |             response :default do | ||
|  |               key :description, 'error' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |           end | ||
|  |         end | ||
|  | 
 | ||
|  |         swagger_path "/server/{id}/unbootstrap" do | ||
|  |           operation :post do | ||
|  |             key :description, 'Unbootstrap server' | ||
|  |             key :operationId, 'unbootstrapServer' | ||
|  |             key :tags, [ | ||
|  |               'server' | ||
|  |             ] | ||
|  |             parameter do | ||
|  |               key :name, :id | ||
|  |               key :in, :path | ||
|  |               key :description, 'Server id' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             response 200 do | ||
|  |               key :description, 'Server response' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsServerResponse | ||
|  |               end | ||
|  |             end | ||
|  |             response 409 do | ||
|  |               key :description, 'Conflict error, server in invalid state, operation can not be done' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |             response :default do | ||
|  |               key :description, 'error' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |           end | ||
|  |         end | ||
|  | 
 | ||
|  |         swagger_path "/server/add" do | ||
|  |           operation :post do | ||
|  |             key :description, 'Add static server' | ||
|  |             key :operationId, 'addServer' | ||
|  |             key :tags, [ | ||
|  |               'server' | ||
|  |             ] | ||
|  |             parameter do | ||
|  |               key :name, :project | ||
|  |               key :in, :body | ||
|  |               key :description, 'Project id' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :environment | ||
|  |               key :in, :body | ||
|  |               key :description, 'Environment id' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :category | ||
|  |               key :in, :body | ||
|  |               key :description, 'Category id' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :private_ip | ||
|  |               key :in, :body | ||
|  |               key :description, 'Server private ip to connect to' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :key | ||
|  |               key :in, :body | ||
|  |               key :description, 'Key id' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :remote_user | ||
|  |               key :in, :body | ||
|  |               key :description, 'Remote user for server to connect to' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :name | ||
|  |               key :in, :body | ||
|  |               key :description, 'Server name' | ||
|  |               key :required, false | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :run_list | ||
|  |               key :in, :body | ||
|  |               key :description, 'Chef run_list to deploy with' | ||
|  |               key :required, false | ||
|  |               schema do | ||
|  |                 key :type, :array | ||
|  |                 items do | ||
|  |                   key :type, :string | ||
|  |                 end | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :public_ip | ||
|  |               key :in, :body | ||
|  |               key :description, 'Server public ip to connect to' | ||
|  |               key :required, false | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             response 200 do | ||
|  |               key :description, 'Server response' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsServerResponse | ||
|  |               end | ||
|  |             end | ||
|  |             response 409 do | ||
|  |               key :description, 'Conflict error, server in invalid state, operation can not be done' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |             response :default do | ||
|  |               key :description, 'error' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |           end | ||
|  |         end | ||
|  | 
 | ||
|  |         swagger_path "/server/{id}/tags/add" do | ||
|  |           operation :post do | ||
|  |             key :description, 'Add tags to provider server' | ||
|  |             key :operationId, 'addServerTags' | ||
|  |             key :tags, [ | ||
|  |               'server' | ||
|  |             ] | ||
|  |             parameter do | ||
|  |               key :name, :id | ||
|  |               key :in, :path | ||
|  |               key :description, 'Server id' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :tags | ||
|  |               key :in, :body | ||
|  |               key :description, 'Key-value object with tags' | ||
|  |               key :required, false | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             response 200 do | ||
|  |               key :description, 'Server response' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsServerResponse | ||
|  |               end | ||
|  |             end | ||
|  |             response :default do | ||
|  |               key :description, 'error' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |           end | ||
|  |         end | ||
|  | 
 | ||
|  |         swagger_path "/server/{id}/tags/delete" do | ||
|  |           operation :post do | ||
|  |             key :description, 'Delete tags from provider server' | ||
|  |             key :operationId, 'deleteServerTags' | ||
|  |             key :tags, [ | ||
|  |               'server' | ||
|  |             ] | ||
|  |             parameter do | ||
|  |               key :name, :id | ||
|  |               key :in, :path | ||
|  |               key :description, 'Server id' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :tags | ||
|  |               key :in, :body | ||
|  |               key :description, 'Key-value object with tags' | ||
|  |               key :required, false | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             response 200 do | ||
|  |               key :description, 'Server response' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsServerResponse | ||
|  |               end | ||
|  |             end | ||
|  |             response :default do | ||
|  |               key :description, 'error' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |           end | ||
|  |         end | ||
|  | 
 | ||
|  |         swagger_path "/server/{id}/run_list" do | ||
|  |           operation :post do | ||
|  |             key :description, 'Set server run_list' | ||
|  |             key :operationId, 'setServerRunList' | ||
|  |             key :tags, [ | ||
|  |               'server' | ||
|  |             ] | ||
|  |             parameter do | ||
|  |               key :name, :id | ||
|  |               key :in, :path | ||
|  |               key :description, 'Server id' | ||
|  |               key :required, true | ||
|  |               schema do | ||
|  |                 key :type, :string | ||
|  |               end | ||
|  |             end | ||
|  |             parameter do | ||
|  |               key :name, :run_list | ||
|  |               key :in, :body | ||
|  |               key :description, 'New server run_list' | ||
|  |               key :required, false | ||
|  |               schema do | ||
|  |                 key :type, :array | ||
|  |                 items do | ||
|  |                   key :type, :string | ||
|  |                 end | ||
|  |               end | ||
|  |             end | ||
|  |             response 200 do | ||
|  |               key :description, 'Server response' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsServerResponse | ||
|  |               end | ||
|  |             end | ||
|  |             response :default do | ||
|  |               key :description, 'error' | ||
|  |               schema do | ||
|  |                 key :'$ref', :DevopsError | ||
|  |               end | ||
|  |             end | ||
|  |           end | ||
|  |         end | ||
|  | 
 | ||
|  |       end | ||
|  |     end | ||
|  |   end | ||
|  | end |