Class: Terrafying::Components::SecurityGroup

Inherits:
Terrafying::Context
  • Object
show all
Includes:
Usable
Defined in:
lib/terrafying/components/security_group.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Usable

#egress_security_group, #ingress_security_group, #path_mtu_setup!, #pingable_by, #pingable_by_cidr, #security_group, #used_by, #used_by_cidr

Class Method Details

.create_in(vpc, name, ports:) ⇒ Object



8
9
10
# File 'lib/terrafying/components/security_group.rb', line 8

def self.create_in(vpc, name, ports:)
    new.create_in(vpc, name, ports: ports)
end

Instance Method Details

#create_in(vpc, name, ports:) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/terrafying/components/security_group.rb', line 12

def create_in(vpc, name, ports:)
    @name = name
    @ports = ports
    @security_group_ref = resource :aws_security_group, tf_safe("#{vpc.id}-#{name}"),{
        vpc_id: vpc.id,
        name: name,
        tags: {
            'Name' => name
          }
    }
    @security_group = @security_group_ref[:id]
    self
end