class GeoEngineer::Resources::AwsSecurityGroup
AwsSecurityGroup
is the aws_security_group
terrform resource,
{www.terraform.io/docs/providers/aws/r/security_group.html Terraform Docs}
Public Class Methods
_fetch_remote_resources(provider)
click to toggle source
# File lib/geoengineer/resources/aws_security_group.rb, line 45 def self._fetch_remote_resources(provider) AwsClients.ec2(provider).describe_security_groups['security_groups'].map(&:to_h).map do |sg| sg.merge( { name: sg[:group_name], _terraform_id: sg[:group_id], _geo_id: sg[:tags]&.find { |tag| tag[:key] == "Name" }&.dig(:value) } ) end end
Public Instance Methods
flatten_cidr_and_sg_blocks()
click to toggle source
# File lib/geoengineer/resources/aws_security_group.rb, line 22 def flatten_cidr_and_sg_blocks (self.all_ingress + self.all_egress).each do |in_eg| in_eg.cidr_blocks = in_eg.cidr_blocks.flatten if in_eg.cidr_blocks in_eg.security_groups = in_eg.security_groups.flatten if in_eg.security_groups end end
short_type()
click to toggle source
# File lib/geoengineer/resources/aws_security_group.rb, line 41 def short_type "sg" end
validate_correct_cidr_blocks()
click to toggle source
# File lib/geoengineer/resources/aws_security_group.rb, line 29 def validate_correct_cidr_blocks errors = [] (self.all_ingress + self.all_egress).each do |in_eg| next unless in_eg.cidr_blocks in_eg.cidr_blocks.each do |cidr| error = validate_cidr_block(cidr) errors << error unless error.nil? end end errors end