class EC2::SecurityGroup

Attributes

security_group_id[RW]

Public Class Methods

new(ec2) click to toggle source
# File lib/etude_for_aws/ec2/security_group.rb, line 5
def initialize(ec2)
  @config = ec2.config
  @gateway = ec2.gateway
  group_name = @config.security_group_name
  description = @config.security_group_description
  vpc_id = @config.vpc_id
  @security_group = {
      group_name: group_name,
      description: description,
      vpc_id: vpc_id,
  }
  @authorize_egress = {
      ip_permissions: [
          {
              ip_protocol: "tcp",
              from_port: 22,
              to_port: 22,
              ip_ranges: [
                  {
                      cidr_ip: "0.0.0.0/0",
                  },
              ],
          },
      ],
  }
  @authorize_ingress = {
      ip_permissions: [
          {
              ip_protocol: "tcp",
              from_port: 22,
              to_port: 22,
              ip_ranges: [
                  {
                      cidr_ip: "0.0.0.0/0",
                  },
              ],
          },
          {
              ip_protocol: "icmp",
              from_port: -1,
              to_port: -1,
              ip_ranges: [
                  {
                      cidr_ip: "0.0.0.0/0",
                  },
              ],
          },
      ],
  }
  @security_group_id = get_group_id
end

Public Instance Methods

create() click to toggle source
# File lib/etude_for_aws/ec2/security_group.rb, line 57
def create
  if @security_group_id.nil?
    id = @gateway.create_security_group(@security_group)
    @gateway.authorize_egress(id,@authorize_egress)
    @gateway.authorize_ingress(id,@authorize_ingress)
    @security_group_id = id
  end
end
delete() click to toggle source
# File lib/etude_for_aws/ec2/security_group.rb, line 66
def delete
  @gateway.delete_security_group(@security_group_id) unless @security_group_id.nil?
end

Private Instance Methods

get_group_id() click to toggle source
# File lib/etude_for_aws/ec2/security_group.rb, line 71
def get_group_id
  @gateway.get_group_id(@security_group)
end