From dde87c424bd6d9cce02eae56093ea908dc76c849 Mon Sep 17 00:00:00 2001 From: Wesley Beary Date: Tue, 14 Jul 2009 15:02:56 -0700 Subject: [PATCH] first pass at security group editing stuff --- .../ec2/authorize_security_group_ingress.rb | 32 +++++++++++++++++++ .../ec2/revoke_security_group_ingress.rb | 32 +++++++++++++++++++ .../authorize_security_group_ingress_spec.rb | 7 ++++ .../ec2/revoke_security_group_ingress_spec.rb | 7 ++++ 4 files changed, 78 insertions(+) create mode 100644 lib/fog/aws/requests/ec2/authorize_security_group_ingress.rb create mode 100644 lib/fog/aws/requests/ec2/revoke_security_group_ingress.rb create mode 100644 spec/aws/ec2/authorize_security_group_ingress_spec.rb create mode 100644 spec/aws/ec2/revoke_security_group_ingress_spec.rb diff --git a/lib/fog/aws/requests/ec2/authorize_security_group_ingress.rb b/lib/fog/aws/requests/ec2/authorize_security_group_ingress.rb new file mode 100644 index 000000000..d4455c5f3 --- /dev/null +++ b/lib/fog/aws/requests/ec2/authorize_security_group_ingress.rb @@ -0,0 +1,32 @@ +module Fog + module AWS + class EC2 + + # Add permissions to a security group + # + # ==== Parameters + # * cidr_ip - CIDR range + # * from_port - Start of port range (or -1 for ICMP wildcard) + # * group_name - Name of group to modify + # * ip_protocol - Ip protocol, must be in ['tcp', 'udp', 'icmp'] + # * to_port - End of port range (or -1 for ICMP wildcard) + # * user_id - AWS Access Key ID + # + # === Returns + # FIXME: docs + def authorize_security_group_ingress(cidr_ip, from_port, group_name, + ip_protocol, to_port, user_id) + request({ + 'Action' => 'AuthorizeSecurityGroupIngress', + 'CidrIp' => cidr_ip, + 'FromPort' => from_port, + 'GroupName' => group_name, + 'IpProtocol' => ip_protocol, + 'ToPort' => to_port, + 'UserId' => user_id + }, Fog::Parsers::AWS::EC2::Basic.new) + end + + end + end +end diff --git a/lib/fog/aws/requests/ec2/revoke_security_group_ingress.rb b/lib/fog/aws/requests/ec2/revoke_security_group_ingress.rb new file mode 100644 index 000000000..718073b14 --- /dev/null +++ b/lib/fog/aws/requests/ec2/revoke_security_group_ingress.rb @@ -0,0 +1,32 @@ +module Fog + module AWS + class EC2 + + # Remove permissions from a security group + # + # ==== Parameters + # * cidr_ip - CIDR range + # * from_port - Start of port range (or -1 for ICMP wildcard) + # * group_name - Name of group to modify + # * ip_protocol - Ip protocol, must be in ['tcp', 'udp', 'icmp'] + # * to_port - End of port range (or -1 for ICMP wildcard) + # * user_id - AWS Access Key ID + # + # === Returns + # FIXME: docs + def revoke_security_group_ingress(cidr_ip, from_port, group_name, + ip_protocol, to_port, user_id) + request({ + 'Action' => 'RevokeSecurityGroupIngress', + 'CidrIp' => cidr_ip, + 'FromPort' => from_port, + 'GroupName' => group_name, + 'IpProtocol' => ip_protocol, + 'ToPort' => to_port, + 'UserId' => user_id + }, Fog::Parsers::AWS::EC2::Basic.new) + end + + end + end +end diff --git a/spec/aws/ec2/authorize_security_group_ingress_spec.rb b/spec/aws/ec2/authorize_security_group_ingress_spec.rb new file mode 100644 index 000000000..cb8a13485 --- /dev/null +++ b/spec/aws/ec2/authorize_security_group_ingress_spec.rb @@ -0,0 +1,7 @@ +require File.dirname(__FILE__) + '/../../spec_helper' + +describe 'EC2.authorize_security_group_ingress' do + + it "should return proper attributes" + +end diff --git a/spec/aws/ec2/revoke_security_group_ingress_spec.rb b/spec/aws/ec2/revoke_security_group_ingress_spec.rb new file mode 100644 index 000000000..21138cd86 --- /dev/null +++ b/spec/aws/ec2/revoke_security_group_ingress_spec.rb @@ -0,0 +1,7 @@ +require File.dirname(__FILE__) + '/../../spec_helper' + +describe 'EC2.revoke_security_group_ingress' do + + it "should return proper attributes" + +end