2014-05-08 15:34:26 +04:00
|
|
|
# encoding: UTF-8
|
|
|
|
|
require "json"
|
|
|
|
|
require "providers/provider_factory"
|
|
|
|
|
|
2014-12-15 14:26:54 +03:00
|
|
|
module Devops
|
|
|
|
|
module Version2_0
|
|
|
|
|
module Core
|
|
|
|
|
module GroupRoutes
|
2014-05-08 15:34:26 +04:00
|
|
|
|
2014-12-15 14:26:54 +03:00
|
|
|
def self.registered(app)
|
|
|
|
|
# Get security groups for :provider
|
|
|
|
|
#
|
|
|
|
|
# * *Request*
|
|
|
|
|
# - method : GET
|
|
|
|
|
# - headers :
|
|
|
|
|
# - Accept: application/json
|
|
|
|
|
#
|
|
|
|
|
# * *Returns* :
|
|
|
|
|
# - ec2:
|
|
|
|
|
# {
|
|
|
|
|
# "default": {
|
|
|
|
|
# "description": "default group",
|
|
|
|
|
# "id": "sg-565cf93f",
|
|
|
|
|
# "rules": [
|
|
|
|
|
# {
|
|
|
|
|
# "protocol": "tcp",
|
|
|
|
|
# "from": 22,
|
|
|
|
|
# "to": 22,
|
|
|
|
|
# "cidr": "0.0.0.0/0"
|
|
|
|
|
# }
|
|
|
|
|
# ]
|
|
|
|
|
# }
|
|
|
|
|
# }
|
|
|
|
|
# - openstack:
|
|
|
|
|
# {
|
|
|
|
|
# "default": {
|
|
|
|
|
# "description": "default",
|
|
|
|
|
# "rules": [
|
|
|
|
|
# {
|
|
|
|
|
# "protocol": null,
|
|
|
|
|
# "from": null,
|
|
|
|
|
# "to": null,
|
|
|
|
|
# "cidr": null
|
|
|
|
|
# }
|
|
|
|
|
# ]
|
|
|
|
|
# }
|
|
|
|
|
# }
|
|
|
|
|
# TODO: vpc support for ec2
|
|
|
|
|
app.get "/groups/:provider" do
|
|
|
|
|
check_headers :accept
|
|
|
|
|
check_privileges("group", "r")
|
|
|
|
|
check_provider(params[:provider])
|
|
|
|
|
p = ::Provider::ProviderFactory.get params[:provider]
|
|
|
|
|
json p.groups(params)
|
|
|
|
|
end
|
2014-05-08 15:34:26 +04:00
|
|
|
|
2014-12-15 14:26:54 +03:00
|
|
|
puts "Group routes initialized"
|
|
|
|
|
end
|
2014-05-08 15:34:26 +04:00
|
|
|
|
2014-12-15 14:26:54 +03:00
|
|
|
end
|
|
|
|
|
end
|
2014-05-08 15:34:26 +04:00
|
|
|
end
|
|
|
|
|
end
|