191 lines
5.0 KiB
Ruby
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
|