1324 lines
		
	
	
		
			36 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			1324 lines
		
	
	
		
			36 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require 'swagger/blocks'
 | |
| 
 | |
| require_relative 'devops_error'
 | |
| require_relative 'devops_response'
 | |
| require_relative 'server_model'
 | |
| 
 | |
| module Devops
 | |
|   module API3
 | |
|     module Docs
 | |
|       class ProjectRoutes
 | |
| 
 | |
|         include Swagger::Blocks
 | |
| 
 | |
|         swagger_schema :ProjectResponse do
 | |
|           allOf do
 | |
|             schema do
 | |
|               key :'$ref', :DevopsResponse
 | |
|             end
 | |
|             schema do
 | |
|               property :id do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_schema :CreateCategoryResponse do
 | |
|           allOf do
 | |
|             schema do
 | |
|               key :'$ref', :DevopsResponse
 | |
|             end
 | |
|             schema do
 | |
|               property :category do
 | |
|                 key :'$ref', :CategoryObject
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_schema :CreateEnvironmentResponse do
 | |
|           allOf do
 | |
|             schema do
 | |
|               key :'$ref', :DevopsResponse
 | |
|             end
 | |
|             schema do
 | |
|               property :environment do
 | |
|                 key :'$ref', :CreateEnvironmentObject
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_schema :ProjectCreate do
 | |
|           property :id do
 | |
|             key :type, :string
 | |
|             key :maxLength, 100
 | |
|           end
 | |
|           property :description do
 | |
|             key :type, :string
 | |
|             key :maxLength, 500
 | |
|           end
 | |
|           property :run_list do
 | |
|             key :type, :array
 | |
|             items do
 | |
|               key :type, :string
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_schema :CreateEnvironmentObject do
 | |
|           property :id do
 | |
|             key :type, :string
 | |
|             key :maxLength, 100
 | |
|           end
 | |
|           property :expires do
 | |
|             key :type, :string
 | |
|           end
 | |
|           property :run_list do
 | |
|             key :type, :array
 | |
|             items do
 | |
|               key :type, :string
 | |
|             end
 | |
|           end
 | |
|           property :users do
 | |
|             key :type, :array
 | |
|             items do
 | |
|               key :type, :string
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_schema :ServerLastOperationObject do
 | |
|           property :type do
 | |
|             key :type, :string
 | |
|           end
 | |
|           property :date do
 | |
|             key :type, :int64
 | |
|           end
 | |
|           property :user do
 | |
|             key :type, :string
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_schema :EnvUsersResponse do
 | |
|           allOf do
 | |
|             schema do
 | |
|               key :'$ref', :ProjectResponse
 | |
|             end
 | |
|             schema do
 | |
|               property :users do
 | |
|                 key :type, :array
 | |
|                 items do
 | |
|                   key :type, :string
 | |
|                 end
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_schema :ProjectUsersResponse do
 | |
|           allOf do
 | |
|             schema do
 | |
|               key :'$ref', :ProjectResponse
 | |
|             end
 | |
|             schema do
 | |
|               property :project_users do
 | |
|                 key :type, :array
 | |
|                 items do
 | |
|                   key :type, :string
 | |
|                 end
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_schema :ProjectRunListResponse do
 | |
|           allOf do
 | |
|             schema do
 | |
|               key :'$ref', :ProjectResponse
 | |
|             end
 | |
|             schema do
 | |
|               property :run_list do
 | |
|                 key :type, :array
 | |
|                 items do
 | |
|                   key :type, :string
 | |
|                 end
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_schema :CategoryProviderObject do
 | |
|           property :name do
 | |
|             key :type, :string
 | |
|           end
 | |
|           property :account do
 | |
|             key :type, :string
 | |
|           end
 | |
|           property :flavor do
 | |
|             key :type, :string
 | |
|           end
 | |
|           property :image do
 | |
|             key :type, :string
 | |
|           end
 | |
|           property :subnet do
 | |
|             key :type, :string
 | |
|           end
 | |
|           property :vpc_id do
 | |
|             key :type, :string
 | |
|           end
 | |
|           property :security_group do
 | |
|             key :type, :array
 | |
|             items do
 | |
|               key :type, :string
 | |
|             end
 | |
|           end
 | |
|           property :stack_template do
 | |
|             key :type, :string
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_schema :CategoryCmToolObject do
 | |
|           property :name do
 | |
|             key :type, :string
 | |
|           end
 | |
|           property :bootstrap_template do
 | |
|             key :type, :string
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_schema :CategoryObject do
 | |
|           property :id do
 | |
|             key :type, :string
 | |
|             key :maxLength, 100
 | |
|           end
 | |
|           property :provider do
 | |
|             key :'$ref', :CategoryProviderObject
 | |
|           end
 | |
|           property :cm_tool do
 | |
|             key :'$ref', :CategoryCmToolObject
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_schema :EnvironmentObject do
 | |
|           property :id do
 | |
|             key :type, :string
 | |
|             key :maxLength, 100
 | |
|           end
 | |
|           property :expires do
 | |
|             key :type, :string
 | |
|           end
 | |
|           property :run_list do
 | |
|             key :type, :array
 | |
|             items do
 | |
|               key :type, :string
 | |
|             end
 | |
|           end
 | |
|           property :users do
 | |
|             key :type, :array
 | |
|             items do
 | |
|               key :type, :string
 | |
|             end
 | |
|           end
 | |
|           property :categories do
 | |
|             key :type, :array
 | |
|             items do
 | |
|               key :'$ref', :CategoryObject
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_schema :ProjectShowObject do
 | |
|           allOf do
 | |
|             schema do
 | |
|               key :'$ref', :ProjectListObject
 | |
|             end
 | |
|             schema do
 | |
|               property :archived do
 | |
|                 key :type, :boolean
 | |
|               end
 | |
|               property :environments do
 | |
|                 key :type, :array
 | |
|                 items do
 | |
|                   key :'$ref', :EnvironmentObject
 | |
|                 end
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_schema :ProjectUpdateObject do
 | |
|           property :description do
 | |
|             key :type, :string
 | |
|             key :maxLength, 500
 | |
|           end
 | |
|           property :run_list do
 | |
|             key :type, :array
 | |
|             items do
 | |
|               key :type, :string
 | |
|             end
 | |
|           end
 | |
|           property :project_users do
 | |
|             key :type, :array
 | |
|             items do
 | |
|               key :type, :string
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_schema :ProjectListObject do
 | |
|           allOf do
 | |
|             schema do
 | |
|               key :'$ref', :ProjectUpdateObject
 | |
|             end
 | |
|             schema do
 | |
|               property :id do
 | |
|                 key :type, :string
 | |
|                 key :maxLength, 100
 | |
|               end
 | |
|               property :owner do
 | |
|                 key :type, :string
 | |
|               end
 | |
|               property :created_at do
 | |
|                 key :type, :integer
 | |
|                 key :format, :int64
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_schema :ProjectObjectInput do
 | |
|           key :required, [:image_id, :name, :provider, :provider_account, :remote_user]
 | |
|           property :image_id do
 | |
|             key :type, :string
 | |
|             key :pattern, "^[a-z0-9_-]{0,99}$"
 | |
|             key :maxLength, 100
 | |
|           end
 | |
|           property :name do
 | |
|             key :type, :string
 | |
|             key :maxLength, 255
 | |
|           end
 | |
|           property :remote_user do
 | |
|             key :type, :string
 | |
|             key :pattern, "^[a-z_][a-z0-9_-]{0,30}$"
 | |
|             key :maxLength, 31
 | |
|           end
 | |
|           property :provider do
 | |
|             key :type, :string
 | |
|           end
 | |
|           property :provider_account do
 | |
|             key :type, :string
 | |
|             key :pattern, "^[a-z_][a-z0-9_-]{0,99}$"
 | |
|             key :maxLength, 100
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/projects" do
 | |
|           operation :get do
 | |
|             key :description, 'Get projects list'
 | |
|             key :operationId, 'getProjects'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             response 200 do
 | |
|               key :description, 'Projects list'
 | |
|               schema do
 | |
|                 key :type, :array
 | |
|                 items do
 | |
|                   key :'$ref', :ProjectListObject
 | |
|                 end
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{id}" do
 | |
|           operation :get do
 | |
|             key :description, 'Get project by id'
 | |
|             key :operationId, 'getProjectById'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :id
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Project object'
 | |
|               schema do
 | |
|                 key :'$ref', :ProjectShowObject
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{id}" do
 | |
|           operation :put do
 | |
|             key :description, 'Update project by id'
 | |
|             key :operationId, 'updateProjectById'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :id
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :project
 | |
|               key :in, :body
 | |
|               key :description, 'Project parameters to rewrite'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :'$ref', :ProjectUpdateObject
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Project response'
 | |
|               schema do
 | |
|                 key :'$ref', :ProjectResponse
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{id}" do
 | |
|           operation :delete do
 | |
|             key :description, 'Delete project by id'
 | |
|             key :operationId, 'deleteProjectById'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :id
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Project response'
 | |
|               schema do
 | |
|                 key :'$ref', :ProjectResponse
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project" do
 | |
|           operation :post do
 | |
|             key :description, 'Create project'
 | |
|             key :operationId, 'createProject'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :project
 | |
|               key :in, :body
 | |
|               key :description, 'New project body'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :'$ref', :ProjectCreate
 | |
|               end
 | |
|             end
 | |
|             response 201 do
 | |
|               key :description, 'Create project response'
 | |
|               schema do
 | |
|                 key :'$ref', :ProjectResponse
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{id}/users/add" do
 | |
|           operation :post do
 | |
|             key :description, 'Add users to project'
 | |
|             key :operationId, 'addUsersToProject'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :id
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :users
 | |
|               key :in, :body
 | |
|               key :description, 'Add users to project list'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :array
 | |
|                 items do
 | |
|                   key :type, :string
 | |
|                 end
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Project users response'
 | |
|               schema do
 | |
|                 key :'$ref', :ProjectUsersResponse
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{id}/users/delete" do
 | |
|           operation :post do
 | |
|             key :description, 'Delete users from project'
 | |
|             key :operationId, 'deleteUsersFromProject'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :id
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :users
 | |
|               key :in, :body
 | |
|               key :description, 'Delete users from project list'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :array
 | |
|                 items do
 | |
|                   key :type, :string
 | |
|                 end
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Project response'
 | |
|               schema do
 | |
|                 key :'$ref', :ProjectUsersResponse
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{id}/run_list" do
 | |
|           operation :put do
 | |
|             key :description, 'Set new run_list elements to project'
 | |
|             key :operationId, 'setRunListToProject'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :id
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :run_list
 | |
|               key :in, :body
 | |
|               key :description, 'run_list elements to set to project list'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :array
 | |
|                 items do
 | |
|                   key :type, :string
 | |
|                 end
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Project response'
 | |
|               schema do
 | |
|                 key :'$ref', :ProjectRunListResponse
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{id}/run_list/add" do
 | |
|           operation :post do
 | |
|             key :description, 'Add new run_list elements to project'
 | |
|             key :operationId, 'addRunListToProject'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :id
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :run_list
 | |
|               key :in, :body
 | |
|               key :description, 'run_list elements to add to project list'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :array
 | |
|                 items do
 | |
|                   key :type, :string
 | |
|                 end
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Project response'
 | |
|               schema do
 | |
|                 key :'$ref', :ProjectRunListResponse
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{id}/run_list/delete" do
 | |
|           operation :post do
 | |
|             key :description, 'Delete run_list elements from project'
 | |
|             key :operationId, 'deleteRunListFromProject'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :id
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :users
 | |
|               key :in, :body
 | |
|               key :description, 'run_list elements to delete from project list'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :array
 | |
|                 items do
 | |
|                   key :type, :string
 | |
|                 end
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Project response'
 | |
|               schema do
 | |
|                 key :'$ref', :ProjectRunListResponse
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{project}/archive" do
 | |
|           operation :post do
 | |
|             key :description, 'Archive project'
 | |
|             key :operationId, 'archiveProject'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :project
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Project response'
 | |
|               schema do
 | |
|                 key :'$ref', :ProjectResponse
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{project}/unarchive" do
 | |
|           operation :post do
 | |
|             key :description, 'Unarchive project'
 | |
|             key :operationId, 'unarchiveProject'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :project
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Project response'
 | |
|               schema do
 | |
|                 key :'$ref', :ProjectResponse
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{project}/environment/{env}/users/add" do
 | |
|           operation :post do
 | |
|             key :description, 'Add users to environment'
 | |
|             key :operationId, 'addUsersToEnvironment'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :project
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :env
 | |
|               key :in, :path
 | |
|               key :description, 'Environment id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :users
 | |
|               key :in, :body
 | |
|               key :description, 'Users list to add to environment list'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :array
 | |
|                 items do
 | |
|                   key :type, :string
 | |
|                 end
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Environment users response'
 | |
|               schema do
 | |
|                 key :'$ref', :EnvUsersResponse
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{project}/environment/{env}/users/delete" do
 | |
|           operation :post do
 | |
|             key :description, 'Delete users from environment'
 | |
|             key :operationId, 'deleteUsersFromEnvironment'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :project
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :env
 | |
|               key :in, :path
 | |
|               key :description, 'Environment id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :users
 | |
|               key :in, :body
 | |
|               key :description, 'Users list to delete from environment list'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :array
 | |
|                 items do
 | |
|                   key :type, :string
 | |
|                 end
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Environment users response'
 | |
|               schema do
 | |
|                 key :'$ref', :EnvUsersResponse
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{project}/servers" do
 | |
|           operation :get do
 | |
|             key :description, 'Show project servers'
 | |
|             key :operationId, 'showProjectServers'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :project
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Project servers response'
 | |
|               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 "/project/{project}/environment/{env}/servers" do
 | |
|           operation :get do
 | |
|             key :description, 'Show environment servers'
 | |
|             key :operationId, 'showEnvironmentServers'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :project
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :env
 | |
|               key :in, :path
 | |
|               key :description, 'Environment id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Environment servers response'
 | |
|               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 "/project/{project}/environment/{env}/stacks" do
 | |
|           operation :get do
 | |
|             key :description, 'Show environment stacks'
 | |
|             key :operationId, 'showEnvironmentStacks'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :project
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :env
 | |
|               key :in, :path
 | |
|               key :description, 'Environment id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Environment stacks response'
 | |
|               schema do
 | |
|                 key :type, :array
 | |
|                 items do
 | |
|                   key :'$ref', :StackObject
 | |
|                 end
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{project}/environments" do
 | |
|           operation :get do
 | |
|             key :description, 'Get project environments'
 | |
|             key :operationId, 'getProjectEnvironments'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :project
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Environments list'
 | |
|               schema do
 | |
|                 key :type, :array
 | |
|                 items do
 | |
|                   key :'$ref', :EnvironmentObject
 | |
|                 end
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{project}/environment" do
 | |
|           operation :post do
 | |
|             key :description, 'Create project environment'
 | |
|             key :operationId, 'createProjectEnvironment'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :project
 | |
|               key :in, :path
 | |
|               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 object'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :'$ref', :CreateEnvironmentObject
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Create environment response'
 | |
|               schema do
 | |
|                 key :'$ref', :CreateEnvironmentResponse
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{project}/environment/{env}" do
 | |
|           operation :get do
 | |
|             key :description, 'Show project environment'
 | |
|             key :operationId, 'showProjectEnvironment'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :project
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :env
 | |
|               key :in, :path
 | |
|               key :description, 'Environment id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Environment object'
 | |
|               schema do
 | |
|                 key :'$ref', :EnvironmentObject
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{project}/environment/{env}" do
 | |
|           operation :delete do
 | |
|             key :description, 'Delete project environment'
 | |
|             key :operationId, 'deleteProjectEnvironment'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :project
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :env
 | |
|               key :in, :path
 | |
|               key :description, 'Environment id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Delete environment response'
 | |
|               schema do
 | |
|                 key :'$ref', :CreateEnvironmentResponse
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{project}/environment/{env}/categories" do
 | |
|           operation :get do
 | |
|             key :description, 'Get environment categories'
 | |
|             key :operationId, 'getEnvironmentCategories'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :project
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :env
 | |
|               key :in, :path
 | |
|               key :description, 'Environment id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Categories list'
 | |
|               schema do
 | |
|                 key :type, :array
 | |
|                 items do
 | |
|                   key :'$ref', :CategoryObject
 | |
|                 end
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{project}/environment/{env}/category/{category}" do
 | |
|           operation :get do
 | |
|             key :description, 'Get category by id'
 | |
|             key :operationId, 'getCategoryById'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :project
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :env
 | |
|               key :in, :path
 | |
|               key :description, 'Environment id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :category
 | |
|               key :in, :path
 | |
|               key :description, 'Category id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Category'
 | |
|               schema do
 | |
|                 key :'$ref', :CategoryObject
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{project}/environment/{env}/category" do
 | |
|           operation :post do
 | |
|             key :description, 'Create new category'
 | |
|             key :operationId, 'createCategory'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :project
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :env
 | |
|               key :in, :path
 | |
|               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 object'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :'$ref', :CategoryObject
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Create category response'
 | |
|               schema do
 | |
|                 key :'$ref', :CreateCategoryResponse
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         swagger_path "/project/{project}/environment/{env}/category/{category}" do
 | |
|           operation :delete do
 | |
|             key :description, 'Delete category by id'
 | |
|             key :operationId, 'deleteCategoryById'
 | |
|             key :tags, [
 | |
|               'project'
 | |
|             ]
 | |
|             parameter do
 | |
|               key :name, :project
 | |
|               key :in, :path
 | |
|               key :description, 'Project id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :env
 | |
|               key :in, :path
 | |
|               key :description, 'Environment id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             parameter do
 | |
|               key :name, :category
 | |
|               key :in, :path
 | |
|               key :description, 'Category id'
 | |
|               key :required, true
 | |
|               schema do
 | |
|                 key :type, :string
 | |
|               end
 | |
|             end
 | |
|             response 200 do
 | |
|               key :description, 'Delete category response'
 | |
|               schema do
 | |
|                 key :'$ref', :CreateCategoryResponse
 | |
|               end
 | |
|             end
 | |
|             response :default do
 | |
|               key :description, 'error'
 | |
|               schema do
 | |
|                 key :'$ref', :DevopsError
 | |
|               end
 | |
|             end
 | |
|           end
 | |
|         end
 | |
| 
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 | 
