---
server/lib/deltacloud/base_driver/features.rb | 8 ++++++++
server/lib/deltacloud/drivers/ec2/ec2_driver.rb | 4 +++-
2 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/server/lib/deltacloud/base_driver/features.rb
b/server/lib/deltacloud/base_driver/features.rb
index 3b19ca2..fd4f92d 100644
--- a/server/lib/deltacloud/base_driver/features.rb
+++ b/server/lib/deltacloud/base_driver/features.rb
@@ -143,6 +143,14 @@ module Deltacloud
end
end
+ declare_feature :instances, :security_group do
+ description "Put instance in one or more security groups on launch"
+ operation :create do
+ param :security_group, :array, :optional, nil,
+ "Array of security group names"
+ end
+ end
+
declare_feature :instances, :authentication_key do
operation :create do
param :keyname, :string, :optional, nil
diff --git a/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
b/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
index 9b37069..d843df8 100644
--- a/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
+++ b/server/lib/deltacloud/drivers/ec2/ec2_driver.rb
@@ -43,6 +43,7 @@ class EC2Driver < Deltacloud::BaseDriver
feature :instances, :user_data
feature :instances, :authentication_key
+ feature :instances, :security_group
feature :images, :owner_id
feature :buckets, :bucket_location
@@ -192,7 +193,8 @@ class EC2Driver < Deltacloud::BaseDriver
:monitoring_enabled => true,
:instance_type => hwp.name,
:disable_api_termination => false,
- :instance_initiated_shutdown_behavior => 'terminate'
+ :instance_initiated_shutdown_behavior => 'terminate',
+ :security_group => opts[:security_group]
)
return convert_instance( ec2_instances.instancesSet.item.first,
'pending' )
end
--
1.7.2.3