Chris Mague 7 роки тому
батько
коміт
e80696b5f2
1 змінених файлів з 35 додано та 35 видалено
  1. 35 35
      lib/neoinfra/aws.rb

+ 35 - 35
lib/neoinfra/aws.rb

@@ -132,50 +132,50 @@ module NeoInfra
           region_conf = { region: region }
           conn = Fog::Compute.new(region_conf.merge(base_conf))
           conn.security_groups.all.each do |grp|
-          ####
+            if SecurityGroup.where(sg_id: grp.group_id).empty?
+              g = SecurityGroup.new(
+                sg_id: grp.group_id,
+                name: grp.name,
+                description: grp.description,
+              )
+              g.save
+              SecurityGroupOwner.create(from_node: g, to_node:  AwsAccount.where(account_id: grp.owner_id).first)
+              SecurityGroupVpc.create(from_node: g, to_node:  Vpc.where(vpc_id: grp.vpc_id).first)
+            end
             grp.ip_permissions.each do |iprule|
-              if iprule['ipProtocol'] != "-1"
-                iprule['ipRanges'].each do |r|
-                  if iprule['toPort'] == -1
-                    to_port = 65535
-                  else
-                    to_port = iprule['toPort']
-                  end
-                  if iprule['fromPort'] == -1
-                    from_port = 0
-                  else
-                    from_port = iprule['fromPort']
-                  end
-                  if IpRules.where(
-                    cidr_block: r['cidrIp'],
-                    direction: 'ingress',
-                    proto: iprule['ipProtocol'],
-                    to_port: to_port,
-                    from_port: from_port,
-                  ).empty?
-                    rl = IpRules.new(
+                  if iprule['ipProtocol'] != "-1"
+                  iprule['ipRanges'].each do |r|
+                    if iprule['toPort'] == -1
+                      to_port = 65535
+                    else
+                      to_port = iprule['toPort']
+                    end
+                    if iprule['fromPort'] == -1
+                      from_port = 0
+                    else
+                      from_port = iprule['fromPort']
+                    end
+                    if IpRules.where(
                       cidr_block: r['cidrIp'],
                       direction: 'ingress',
                       proto: iprule['ipProtocol'],
                       to_port: to_port,
                       from_port: from_port,
-                      private: RFC_1918.any? { |rfc| rfc.include?(IPAddr.new(r['cidrIp']))}
-                    )
-                    rl.save
+                    ).empty?
+                      rl = IpRules.new(
+                        cidr_block: r['cidrIp'],
+                        direction: 'ingress',
+                        proto: iprule['ipProtocol'],
+                        to_port: to_port,
+                        from_port: from_port,
+                        private: RFC_1918.any? { |rfc| rfc.include?(IPAddr.new(r['cidrIp']))}
+                      )
+                      rl.save
+                    end
                   end
                 end
               end
-            end
-
-            next unless SecurityGroup.where(sg_id: grp.group_id).empty?
-            g = SecurityGroup.new(
-              sg_id: grp.group_id,
-              name: grp.name,
-              description: grp.description,
-            )
-            g.save
-            SecurityGroupOwner.create(from_node: g, to_node:  AwsAccount.where(account_id: grp.owner_id).first)
-            SecurityGroupVpc.create(from_node: g, to_node:  Vpc.where(vpc_id: grp.vpc_id).first)
+              #
           end
         end
       end