module Rudy::Routines::Handlers::Group
Public Instance Methods
create(name=nil)
click to toggle source
# File lib/rudy/routines/handlers/group.rb, line 25 def create(name=nil) name ||= current_group_name return if exists? name li "Creating group: #{name}" Rudy::AWS::EC2::Groups.create name end
destroy(name=nil)
click to toggle source
# File lib/rudy/routines/handlers/group.rb, line 45 def destroy(name=nil) name ||= current_group_name return unless exists? name li "Destroying group: #{name}" Rudy::AWS::EC2::Groups.destroy name end
execute(type, routine, rset, lbox, argv=nil)
click to toggle source
# File lib/rudy/routines/handlers/group.rb, line 14 def execute(type, routine, rset, lbox, argv=nil) routine.each_pair do |action, definition| unless respond_to?(action.to_sym) Rudy::Huxtable.le %Q(GroupHandler: unknown action "#{action}") next end Rudy::Huxtable.ld %Q(GroupHandler: "#{action}") Rudy::Routines::Handlers::Group.send(action, definition) end end
exists?(name=nil)
click to toggle source
# File lib/rudy/routines/handlers/group.rb, line 40 def exists?(name=nil) name ||= current_group_name Rudy::AWS::EC2::Groups.exists? name end
get(name=nil)
click to toggle source
# File lib/rudy/routines/handlers/group.rb, line 52 def get(name=nil) name ||= current_group_name Rudy::AWS::EC2::Groups.get name end
list()
click to toggle source
# File lib/rudy/routines/handlers/group.rb, line 57 def list Rudy::AWS::EC2::Groups.list end
raise_early_exceptions(type, batch, rset, lbox, argv=nil)
click to toggle source
# File lib/rudy/routines/handlers/group.rb, line 10 def raise_early_exceptions(type, batch, rset, lbox, argv=nil) end
revoke(ports=nil, addresses=nil, name=nil)
click to toggle source
# File lib/rudy/routines/handlers/group.rb, line 36 def revoke(ports=nil, addresses=nil, name=nil) modify(:revoke, ports, addresses, name) end
Private Instance Methods
modify(action, ports=nil, addresses=nil, name=nil)
click to toggle source
# File lib/rudy/routines/handlers/group.rb, line 62 def modify(action, ports=nil, addresses=nil, name=nil) name ||= current_group_name addresses ||= [Rudy::Utils::external_ip_address] if ports.nil? ports = current_machine_os.to_s == 'windows' ? [3389,22] : [22] else ports = [ports].flatten.compact end ports.each do |port| li "#{action} port #{port} access for: #{addresses.join(', ')}" Rudy::AWS::EC2::Groups.send(action, name, addresses, [[port, port]]) rescue nil end end