fluke/devops-service/app/api3/docs/chef.rb
Tim Lianov 03dc3d8d99 v3
2018-04-04 22:44:39 +03:00

191 lines
5.0 KiB
Ruby

require 'swagger/blocks'
require_relative 'devops_error'
require_relative 'devops_response'
module Devops
module API3
module Docs
class ChefRoutes
include Swagger::Blocks
swagger_path "/chef/bootstrap_templates" do
operation :get do
key :description, 'Get list of available bootstrap templates'
key :operationId, 'getBootstrapTemplates'
key :tags, [
'chef'
]
response 200 do
key :description, 'List of available bootstrap templates'
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 "/chef/nodes" do
operation :get do
key :description, 'Get chef nodeslist'
key :operationId, 'getChefNodes'
key :tags, [
'chef'
]
response 200 do
key :description, 'Chef nodes list'
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 "/chef/tags/{cm_name}" do
operation :get do
key :description, 'Get node tags'
key :operationId, 'getNodeTags'
key :tags, [
'chef'
]
parameter do
key :name, :cm_name
key :in, :path
key :description, 'Chef node name'
key :required, true
key :type, :string
end
response 200 do
key :description, 'Node tags list'
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 "/chef/tags/{cm_name}/set" do
operation :post do
key :description, 'Set node tags'
key :operationId, 'setNodeTags'
key :tags, [
'chef'
]
parameter do
key :name, :cm_name
key :in, :path
key :description, 'Chef node name'
key :required, true
key :type, :string
end
parameter do
key :name, :tags
key :in, :body
key :description, 'Tags to set to node'
key :required, true
schema do
key :'$ref', :PetInput
end
end
response 200 do
key :description, 'Node tags list'
schema do
key :'$ref', :TagsResponse
end
end
response :default do
key :description, 'error'
schema do
key :'$ref', :DevopsError
end
end
end
end
swagger_path "/chef/tags/{cm_name}/unset" do
operation :post do
key :description, 'Unset node tags'
key :operationId, 'unsetNodeTags'
key :tags, [
'chef'
]
parameter do
key :name, :cm_name
key :in, :path
key :description, 'Chef node name'
key :required, true
key :type, :string
end
parameter do
key :name, :tags
key :in, :body
key :description, 'Tags to unset from node'
key :required, true
schema do
key :'$ref', :PetInput
end
end
response 200 do
key :description, 'Node tags list'
schema do
key :'$ref', :TagsResponse
end
end
response :default do
key :description, 'error'
schema do
key :'$ref', :DevopsError
end
end
end
end
swagger_schema :TagsResponse do
allOf do
schema do
key :'$ref', :DevopsResponse
end
schema do
property :tags do
key :type, :array
items do
key :type, :string
end
end
end
end
end
end
end
end
end