class Akashi::Vpc::SecurityGroup::Base
Public Class Methods
all()
click to toggle source
Calls superclass method
Akashi::Base::all
# File lib/akashi/vpc/security_group/base.rb, line 8 def all super.select { |security_group| security_group.name.end_with?("-#{role}") } end
create(vpc:)
click to toggle source
# File lib/akashi/vpc/security_group/base.rb, line 12 def create(vpc:) response = Akashi::Aws.ec2.client.create_security_group( vpc_id: vpc.id, group_name: name, description: name, ) new(response[:group_id]).tap do |instance| ingress_ip_permissions.each do |ip_permission| instance.authorize_ingress( ip_permission[:protocol], ip_permission[:port], *ip_permission[:sources], ) end instance.name = name puts "Created a SecurityGroup (#{instance.id}) whose role is \"#{role}\"." end end
name()
click to toggle source
# File lib/akashi/vpc/security_group/base.rb, line 32 def name "#{Akashi.name}-#{role}" end
object_class()
click to toggle source
# File lib/akashi/vpc/security_group/base.rb, line 40 def object_class @object_class ||= "SecurityGroup" end
role()
click to toggle source
# File lib/akashi/vpc/security_group/base.rb, line 36 def role self.to_s.demodulize.underscore.dasherize end