text: # GENERATED BY KOMAND SDK - DO NOT EDIT
  import komand
  import json
  
  
  class Component:
      DESCRIPTION = "Create a Task Resource in the ThreatConnect platform"
  
  
  class Input:
      ASSIGNEE = "assignee"
      ATTRIBUTES = "attributes"
      DUE_DATE = "due_date"
      ESCALATED = "escalated"
      ESCALATEE = "escalatee"
      ESCALATION_DATE = "escalation_date"
      NAME = "name"
      OVERDUE = "overdue"
      REMINDED = "reminded"
      REMINDER_DATE = "reminder_date"
      SECURITY_LABEL = "security_label"
      STATUS = "status"
      TAGS = "tags"
      
  
  class Output:
      ID = "id"
      
  
  class CreateTaskInput(komand.Input):
      schema = json.loads("""
     {
    "type": "object",
    "title": "Variables",
    "properties": {
      "assignee": {
        "type": "string",
        "title": "Assignee",
        "description": "Task Assignee",
        "order": 11
      },
      "attributes": {
        "type": "array",
        "title": "Attributes",
        "description": "Task Attributes",
        "items": {
          "type": "object"
        },
        "order": 2
      },
      "due_date": {
        "type": "string",
        "title": "Due Date",
        "displayType": "date",
        "description": "Task due date",
        "format": "date-time",
        "order": 4
      },
      "escalated": {
        "type": "boolean",
        "title": "Escalated",
        "description": "Use task escalation",
        "order": 7
      },
      "escalatee": {
        "type": "string",
        "title": "Escalatee",
        "description": "Task escalatee",
        "order": 12
      },
      "escalation_date": {
        "type": "string",
        "title": "Escalation Date",
        "displayType": "date",
        "description": "Task escalation date",
        "format": "date-time",
        "order": 5
      },
      "name": {
        "type": "string",
        "title": "Name",
        "description": "Task Name",
        "order": 1
      },
      "overdue": {
        "type": "boolean",
        "title": "Overdue",
        "description": "Is task overdue",
        "order": 8
      },
      "reminded": {
        "type": "boolean",
        "title": "Reminded",
        "description": "Use task Reminder",
        "order": 9
      },
      "reminder_date": {
        "type": "string",
        "title": "Reminder Date",
        "displayType": "date",
        "description": "Task reminder date",
        "format": "date-time",
        "order": 6
      },
      "security_label": {
        "type": "string",
        "title": "Security Label",
        "description": "Task security label",
        "order": 13
      },
      "status": {
        "type": "string",
        "title": "Status",
        "description": "Task status",
        "enum": [
          "In Progress",
          "Completed",
          "Waiting on Someone",
          "Deferred"
        ],
        "order": 10
      },
      "tags": {
        "type": "string",
        "title": "Tags",
        "description": "Task tags comma delimited",
        "order": 3
      }
    },
    "required": [
      "name"
    ]
  }
      """)
  
      def __init__(self):
          super(self.__class__, self).__init__(self.schema)
  
  
  class CreateTaskOutput(komand.Output):
      schema = json.loads("""
     {
    "type": "object",
    "title": "Variables",
    "properties": {
      "id": {
        "type": "integer",
        "title": "Task ID",
        "description": "Task ID",
        "order": 1
      }
    }
  }
      """)
  
      def __init__(self):
          super(self.__class__, self).__init__(self.schema)
  