{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-application-discovery-service/refs/heads/main/json-schema/application-discovery-service-describe-agents-request-schema.json",
  "title": "DescribeAgentsRequest",
  "description": "DescribeAgentsRequest schema from Amazon Application Discovery Service API",
  "type": "object",
  "properties": {
    "agentIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [
        "d-agent-500123"
      ],
      "description": "The agent or the collector IDs for which you want information. If you specify no IDs, the system returns information about all agents/collectors associated with your AWS user account."
    },
    "filters": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "hostName",
            "description": "The name of the filter."
          },
          "values": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "server-01.example.com"
            ],
            "description": "A string value on which to filter."
          },
          "condition": {
            "type": "string",
            "enum": [
              "EQUALS",
              "NOT_EQUALS",
              "CONTAINS",
              "NOT_CONTAINS"
            ],
            "example": "EQUALS",
            "description": "A conditional operator. The following operators are valid \u2014 EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS."
          }
        },
        "required": [
          "name",
          "values",
          "condition"
        ]
      },
      "description": "You can filter the request using various logical operators and a key-value format."
    },
    "maxResults": {
      "type": "integer",
      "minimum": 0,
      "maximum": 900,
      "example": 10,
      "description": "The total number of agents/collectors to return in a single page of output."
    },
    "nextToken": {
      "type": "string",
      "example": "",
      "description": "Token to retrieve the next set of results."
    }
  }
}