<filename>domaintools/komand_domaintools/actions/domain_search/schema.py
# GENERATED BY KOMAND SDK - DO NOT EDIT
import komand
import json


class Input:
    ACTIVE_ONLY = "active_only"
    ANCHOR_LEFT = "anchor_left"
    ANCHOR_RIGHT = "anchor_right"
    DELETED_ONLY = "deleted_only"
    EXCLUDE_QUERY = "exclude_query"
    HAS_HYPHEN = "has_hyphen"
    HAS_NUMBER = "has_number"
    MAX_LENGTH = "max_length"
    MIN_LENGTH = "min_length"
    PAGE = "page"
    QUERY = "query"
    

class Output:
    RESPONSE = "response"
    

class DomainSearchInput(komand.Input):
    schema = json.loads("""
   {
  "type": "object",
  "title": "Variables",
  "properties": {
    "active_only": {
      "type": "boolean",
      "title": "Active Only",
      "description": "Return only domains currently registered",
      "default": false,
      "order": 7
    },
    "anchor_left": {
      "type": "boolean",
      "title": "Anchor Left",
      "description": "Return only domains that start with the query term",
      "default": false,
      "order": 9
    },
    "anchor_right": {
      "type": "boolean",
      "title": "Anchor Right",
      "description": "Return only domains that end with the query term",
      "default": false,
      "order": 10
    },
    "deleted_only": {
      "type": "boolean",
      "title": "Deleted Only",
      "description": "Return only domains previously registered but not currently registered",
      "default": false,
      "order": 8
    },
    "exclude_query": {
      "type": "string",
      "title": "Exclude Query",
      "description": "Terms to exclude from matching — each term in the query string must be at least three characters long",
      "order": 2
    },
    "has_hyphen": {
      "type": "boolean",
      "title": "Has Hyphen",
      "description": "Return results with hyphens in the domain name",
      "default": true,
      "order": 5
    },
    "has_number": {
      "type": "boolean",
      "title": "Has Number",
      "description": "Return results with numbers in the domain name",
      "default": true,
      "order": 6
    },
    "max_length": {
      "type": "integer",
      "title": "Max Length",
      "description": "Limit the maximum domain character count",
      "default": 25,
      "order": 3
    },
    "min_length": {
      "type": "integer",
      "title": "Min Length",
      "description": "Limit the minimum domain character count",
      "default": 1,
      "order": 4
    },
    "page": {
      "type": "integer",
      "title": "Page",
      "description": "If the result set is larger than 1000 records for a given day, request additional pages with this parameter",
      "default": 1,
      "order": 11
    },
    "query": {
      "type": "string",
      "title": "Query",
      "description": "Query string — each term in the query string must be at least three characters long",
      "order": 1
    }
  },
  "required": [
    "query"
  ]
}
    """)

    def __init__(self):
        super(self.__class__, self).__init__(self.schema)


class DomainSearchOutput(komand.Output):
    schema = json.loads("""
   {
  "type": "object",
  "title": "Variables",
  "properties": {
    "response": {
      "$ref": "#/definitions/domain_search_response",
      "title": "Response",
      "description": "Response",
      "order": 1
    }
  },
  "definitions": {
    "domain_search_response": {
      "type": "object",
      "title": "domain_search_response",
      "properties": {
        "query_info": {
          "$ref": "#/definitions/query_info",
          "title": "Query Info",
          "order": 1
        },
        "results": {
          "type": "array",
          "title": "Results",
          "items": {
            "type": "object"
          },
          "order": 2
        }
      },
      "definitions": {
        "query_info": {
          "type": "object",
          "title": "query_info",
          "properties": {
            "active_only": {
              "type": "boolean",
              "title": "Active Only",
              "order": 1
            },
            "anchor_left": {
              "type": "boolean",
              "title": "Anchor Left",
              "order": 2
            },
            "anchor_right": {
              "type": "boolean",
              "title": "Anchor Right",
              "order": 3
            },
            "deleted_only": {
              "type": "boolean",
              "title": "Deleted Only",
              "order": 4
            },
            "exclude_query": {
              "type": "string",
              "title": "Exclude Query",
              "order": 5
            },
            "has_hyphen": {
              "type": "boolean",
              "title": "Has Hyphen",
              "order": 6
            },
            "has_number": {
              "type": "boolean",
              "title": "Has Number",
              "order": 7
            },
            "limit": {
              "type": "integer",
              "title": "Limit",
              "order": 8
            },
            "max_length": {
              "type": "integer",
              "title": "Max Length",
              "order": 9
            },
            "min_length": {
              "type": "integer",
              "title": "Min Length",
              "order": 10
            },
            "page": {
              "type": "integer",
              "title": "Page",
              "order": 11
            },
            "total_results": {
              "type": "integer",
              "title": "Total Results",
              "order": 12
            }
          }
        }
      }
    },
    "query_info": {
      "type": "object",
      "title": "query_info",
      "properties": {
        "active_only": {
          "type": "boolean",
          "title": "Active Only",
          "order": 1
        },
        "anchor_left": {
          "type": "boolean",
          "title": "Anchor Left",
          "order": 2
        },
        "anchor_right": {
          "type": "boolean",
          "title": "Anchor Right",
          "order": 3
        },
        "deleted_only": {
          "type": "boolean",
          "title": "Deleted Only",
          "order": 4
        },
        "exclude_query": {
          "type": "string",
          "title": "Exclude Query",
          "order": 5
        },
        "has_hyphen": {
          "type": "boolean",
          "title": "Has Hyphen",
          "order": 6
        },
        "has_number": {
          "type": "boolean",
          "title": "Has Number",
          "order": 7
        },
        "limit": {
          "type": "integer",
          "title": "Limit",
          "order": 8
        },
        "max_length": {
          "type": "integer",
          "title": "Max Length",
          "order": 9
        },
        "min_length": {
          "type": "integer",
          "title": "Min Length",
          "order": 10
        },
        "page": {
          "type": "integer",
          "title": "Page",
          "order": 11
        },
        "total_results": {
          "type": "integer",
          "title": "Total Results",
          "order": 12
        }
      }
    }
  }
}
    """)

    def __init__(self):
        super(self.__class__, self).__init__(self.schema)
