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
 | 
