Signed-off-by: Francesco Vollero <[email protected]>
---
server/lib/deltacloud/drivers/ec2/ec2_driver.rb | 75 +++++++++++++++++--------
1 file changed, 51 insertions(+), 24 deletions(-)
diff --git a/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
b/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
index 7f9d588..e66b1b2 100644
--- a/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
+++ b/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
@@ -834,8 +834,9 @@ module Deltacloud
ec2.manage_security_group_ingress(firewall, from_port, to_port,
protocol, "revoke", addresses, groups)
end
end
-
- #Deltacloud Networks == Amazon VPC
+#--
+#Deltacloud Networks == Amazon VPC
+#--
def networks(credentials, opts={})
ec2 = new_client(credentials)
networks=[]
@@ -863,19 +864,45 @@ module Deltacloud
end
def subnets(credentials, opts={})
-
+ # Get the list of subnets
+ #
+ # as the gem describe the info
+ # we can get the informations of all the subnets defined
+ # calling describe_subnets without arguments
+ #ec2 = new_client(credentials)
+ #safely do
+ # ec2.describe_subnets
+ #end
end
def create_subnet(credentials, opts={})
+ # this method should create the subnet
+ # what he needs is the id of the vpc
+ # and the cidr block you want to allocate
+ # and optionally the availability zone
+ #ec2 = new_client(credentials)
+ #safely do
+ # ec2.create_subnet(opts[:vpc_id], opts[:cidr])
+ #end
end
def destroy_subnet(credentials, opts={})
+ # this method need to be called
+ # with the subnet_id as parameter
+ # in order to work
+ # ec2 = new_client(credentials)
+ # safely do
+ # ec2.delete_subnet(opts[:id])
+ # end
end
def ports(credentials, opts={})
-
+ # this method has no direct mapping
+ # on the aws library so my guess is
+ # that we should derive it from something
+ # else that fits. Need to be investigated more.
end
def providers(credentials, opts={})
@@ -1097,15 +1124,15 @@ module Deltacloud
def firewall_rule_id(user_id, protocol, from_port, to_port, sources)
sources_string = ""
sources.each do |source|
- if source[:type].to_s == "group"
- sources_string <<
"@#{source[:type]},#{source[:owner]},#{source[:name]},"
- else
- sources_string <<
"@#{source[:type]},#{source[:family]},#{source[:address]},#{source[:prefix]},"
+ if source[:type].to_s == "group"
+ sources_string <<
"@#{source[:type]},#{source[:owner]},#{source[:name]},"
+ else
+ sources_string <<
"@#{source[:type]},#{source[:family]},#{source[:address]},#{source[:prefix]},"
+ end
end
- end
- #sources_string is @group,297467797945,test@address,ipv4,10.1.1.1,24
etc
-
"#{user_id}~#{protocol}~#{from_port}~#{to_port}~#{sources_string.chomp!(",")}"
-#sources_string.slice(0,sources_string.length-1)}"
+ #sources_string is @group,297467797945,test@address,ipv4,10.1.1.1,24
etc
+
"#{user_id}~#{protocol}~#{from_port}~#{to_port}~#{sources_string.chomp!(",")}"
+ #sources_string.slice(0,sources_string.length-1)}"
end
#extract params from uid
@@ -1119,26 +1146,26 @@ module Deltacloud
sources.shift #first match is ""
addresses = []
groups = []
-
#@group,297467797945,test@address,ipv4,10.1.1.1,24@address,ipv4,192.168.1.1,24
+ #
@group,297467797945,test@address,ipv4,10.1.1.1,24@address,ipv4,192.168.1.1,24
sources.each do |source|
current = source.split(",")
type = current[0]
case type
- when 'group'
- #group,297467797945,test
- owner = current[1]
- name = current[2]
- groups << {'group_name' => name, 'owner' => owner}
- when 'address'
- #address,ipv4,10.1.1.1,24
- address = current[2]
- address<<"/#{current[3]}"
- addresses << address
+ when 'group'
+ #group,297467797945,test
+ owner = current[1]
+ name = current[2]
+ groups << {'group_name' => name, 'owner' => owner}
+ when 'address'
+ #address,ipv4,10.1.1.1,24
+ address = current[2]
+ address<<"/#{current[3]}"
+ addresses<<address
end
end
return protocol, from_port, to_port, addresses, groups
end
-
+
#Convert ec2 security group to server/lib/deltacloud/models/firewall
def convert_security_group(security_group)
rules = []
--
1.8.1.2