Sha256: e90659ab73bff22204b37e324c617875f60200854a4703b5c778c5fabac134b9

Contents?: true

Size: 1.53 KB

Versions: 29

Compression:

Stored size: 1.53 KB

Contents

namespace :rubber do

  desc <<-DESC
    Sets up the network security groups
    All defined groups will be created, and any not defined will be removed.
    Likewise, rules within a group will get created, and those not will be removed
  DESC
  required_task :setup_security_groups do
    servers = find_servers_for_task(current_task)

    servers.collect(&:host).each{ |host| cloud.setup_security_groups(host) }
  end

  desc <<-DESC
    Describes the network security groups
  DESC
  required_task :describe_security_groups do
    groups = cloud.describe_security_groups()
    groups.each do |group|
      puts "#{group[:name]}, #{group[:description]}"
      group[:permissions].each do |perm|
        puts "  protocol: #{perm[:protocol]}"
        puts "  from_port: #{perm[:from_port]}"
        puts "  to_port: #{perm[:to_port]}"
        puts "  source_groups: #{perm[:source_groups].collect {|g| g[:name]}.join(", ") }" if perm[:source_groups]
        puts "  source_ips: #{perm[:source_ips].join(", ") }" if perm[:source_ips]
        puts "\n"
      end if group[:permissions]
      puts "\n"
    end
  end


  def get_assigned_security_groups(host=nil, roles=[])
    env = rubber_cfg.environment.bind(roles, host)
    security_groups = env.assigned_security_groups
    if env.auto_security_groups
      security_groups << host
      security_groups += roles
    end
    security_groups = security_groups.uniq.compact.reject {|x| x.empty? }
    security_groups = security_groups.collect {|x| cloud.isolate_group_name(x) }
    return security_groups
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
rubber-3.2.2 lib/rubber/recipes/rubber/security_groups.rb
rubber-3.2.1 lib/rubber/recipes/rubber/security_groups.rb
rubber-3.2.0 lib/rubber/recipes/rubber/security_groups.rb
rubber-3.1.0 lib/rubber/recipes/rubber/security_groups.rb
rubber-3.0.1 lib/rubber/recipes/rubber/security_groups.rb
rubber-3.0.0 lib/rubber/recipes/rubber/security_groups.rb
rubber-2.16.0 lib/rubber/recipes/rubber/security_groups.rb
rubber-2.15.2 lib/rubber/recipes/rubber/security_groups.rb
rubber-2.15.1 lib/rubber/recipes/rubber/security_groups.rb
rubber-2.15.0 lib/rubber/recipes/rubber/security_groups.rb
rubber-2.14.0 lib/rubber/recipes/rubber/security_groups.rb
rubber-2.13.1 lib/rubber/recipes/rubber/security_groups.rb
rubber-2.13.0 lib/rubber/recipes/rubber/security_groups.rb
rubber-2.12.2 lib/rubber/recipes/rubber/security_groups.rb
rubber-2.12.1 lib/rubber/recipes/rubber/security_groups.rb
rubber-2.12.0 lib/rubber/recipes/rubber/security_groups.rb
rubber-2.11.0 lib/rubber/recipes/rubber/security_groups.rb
rubber-2.10.2 lib/rubber/recipes/rubber/security_groups.rb
rubber-2.10.1 lib/rubber/recipes/rubber/security_groups.rb
rubber-2.10.0 lib/rubber/recipes/rubber/security_groups.rb