docs: def csv(self):
          """
          Returns the security rules as a CSV.
  
          CSV format:
          - id
          - name
          - description
          - rules_direction
          - rules_ip_protocol
          - rules_from_port
          - rules_to_port
          - rules_grants_group_id
          - rules_grants_name
          - rules_grants_cidr_ip
          - rules_description
  
          Returns:
              str
          """
          # Generate a csv file in memory with all the data in
          output = StringIO.StringIO()
          fieldnames = ['id',
                        'name',
                        'description',
                        'rules_direction',
                        'rules_ip_protocol',
                        'rules_from_port',
                        'rules_to_port',
                        'rules_grants_group_id',
                        'rules_grants_name',
                        'rules_grants_cidr_ip',
                        'rules_description']
          writer = csv.DictWriter(output, fieldnames=fieldnames)
          writer.writeheader()
          for fr in self.rules:
              writer.writerow(fr.as_dict())
  
          # Get the CSV in a string
          csv_content = output.getvalue()
  
          # Removing some useless newline at the end
          stripped_csv_content = csv_content.strip()
  
          return stripped_csv_content