# File lib/hammer_cli_csv/subnets.rb, line 79
      def create_subnets_from_csv(line)
        line[DOMAINS] = (CSV.parse_line(line[DOMAINS]) || []).collect do |domain|
          foreman_domain(:name => domain)
        end

        line[COUNT].to_i.times do |number|
          name = namify(line[NAME], number)
          if !@existing.include? name
            print "Creating subnet '#{name}'..." if option_verbose?
            id = @api.resource(:subnets)\
              .call(:create, {
                      'subnet' => {
                        'name' => name
                      }
                    })['id']
          else
            print "Updating subnet '#{name}'..." if option_verbose?
            id = @api.resource(:subnets)\
              .call(:update, {
                      'id' => @existing[name],
                      'subnet' => {
                        'name' => name,
                        'network' => line[NETWORK],
                        'mask' => line[NETWORK_MASK],
                        'from' => line[NETWORK_FROM],
                        'to' => line[NETWORK_TO],
                        'domain_ids' => line[DOMAINS]
                      }
                    })['id']
          end

          # Update associated resources
          associate_organizations(id, line[ORGANIZATIONS], 'subnet')
          associate_locations(id, line[LOCATIONS], 'subnet')

          print "done\n" if option_verbose?
        end
      rescue RuntimeError => e
        raise "#{e}\n       #{line}"
      end