{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/aws-backup/json-schema/aws-backup-get-search-job-output-schema.json",
  "title": "GetSearchJobOutput",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/aws-backup-search-jobs-api-openapi.yml#/components/schemas/GetSearchJobOutput",
  "type": "object",
  "properties": {
    "Name": {
      "type": "string",
      "description": "Returned name of the specified search job."
    },
    "SearchScopeSummary": {
      "$ref": "#/$defs/SearchScopeSummary"
    },
    "CurrentSearchProgress": {
      "$ref": "#/$defs/CurrentSearchProgress"
    },
    "StatusMessage": {
      "type": "string",
      "description": "A status message will be returned for either a earch job with a status of ERRORED or a status of COMPLETED jobs with issues. For example, a message may say that a search contained recovery points unable to be scanned because of a permissions issue."
    },
    "EncryptionKeyArn": {
      "type": "string",
      "description": "The encryption key for the specified search job. Example: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab."
    },
    "CompletionTime": {
      "type": "string",
      "description": "The date and time that a search job completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM."
    },
    "Status": {
      "type": "string",
      "enum": [
        "RUNNING",
        "COMPLETED",
        "STOPPING",
        "STOPPED",
        "FAILED"
      ],
      "description": "The current status of the specified search job. A search job may have one of the following statuses: RUNNING; COMPLETED; STOPPED; FAILED; TIMED_OUT; or EXPIRED ."
    },
    "SearchScope": {
      "$ref": "#/$defs/SearchScope"
    },
    "ItemFilters": {
      "$ref": "#/$defs/ItemFilters"
    },
    "CreationTime": {
      "type": "string",
      "description": "The date and time that a search job was created, in Unix format and Coordinated Universal Time (UTC). The value of CompletionTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM."
    },
    "SearchJobIdentifier": {
      "type": "string",
      "description": "The unique string that identifies the specified search job."
    },
    "SearchJobArn": {
      "type": "string",
      "description": "The unique string that identifies the Amazon Resource Name (ARN) of the specified search job."
    }
  },
  "required": [
    "Status",
    "SearchScope",
    "ItemFilters",
    "CreationTime",
    "SearchJobIdentifier",
    "SearchJobArn"
  ],
  "$defs": {
    "BackupCreationTimeFilter": {
      "type": "object",
      "properties": {
        "CreatedAfter": {
          "type": "string",
          "description": "This timestamp includes recovery points only created after the specified time."
        },
        "CreatedBefore": {
          "type": "string",
          "description": "This timestamp includes recovery points only created before the specified time."
        }
      }
    },
    "CurrentSearchProgress": {
      "type": "object",
      "properties": {
        "RecoveryPointsScannedCount": {
          "type": "integer",
          "description": "This number is the sum of all backups that have been scanned so far during a search job."
        },
        "ItemsScannedCount": {
          "type": "integer",
          "description": "This number is the sum of all items that have been scanned so far during a search job."
        },
        "ItemsMatchedCount": {
          "type": "integer",
          "description": "This number is the sum of all items that match the item filters in a search job in progress."
        }
      }
    },
    "EBSItemFilter": {
      "type": "object",
      "properties": {
        "FilePaths": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/StringCondition"
          },
          "description": "You can include 1 to 10 values. If one file path is included, the results will return only items that match the file path. If more than one file path is included, the results will return all items that match any of the file paths."
        },
        "Sizes": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/LongCondition"
          },
          "description": "You can include 1 to 10 values. If one is included, the results will return only items that match. If more than one is included, the results will return all items that match any of the included values."
        },
        "CreationTimes": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/TimeCondition"
          },
          "description": "You can include 1 to 10 values. If one is included, the results will return only items that match. If more than one is included, the results will return all items that match any of the included values."
        },
        "LastModificationTimes": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/TimeCondition"
          },
          "description": "You can include 1 to 10 values. If one is included, the results will return only items that match. If more than one is included, the results will return all items that match any of the included values."
        }
      }
    },
    "ItemFilters": {
      "type": "object",
      "properties": {
        "S3ItemFilters": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/S3ItemFilter"
          },
          "description": "This array can contain CreationTimes, ETags, ObjectKeys, Sizes, or VersionIds objects."
        },
        "EBSItemFilters": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/EBSItemFilter"
          },
          "description": "This array can contain CreationTimes, FilePaths, LastModificationTimes, or Sizes objects."
        }
      }
    },
    "LongCondition": {
      "type": "object",
      "properties": {
        "Value": {
          "type": "integer",
          "description": "The value of an item included in one of the search item filters."
        },
        "Operator": {
          "type": "string",
          "enum": [
            "EQUALS_TO",
            "NOT_EQUALS_TO",
            "LESS_THAN_EQUAL_TO",
            "GREATER_THAN_EQUAL_TO"
          ],
          "description": "A string that defines what values will be returned. If this is included, avoid combinations of operators that will return all possible values. For example, including both EQUALS_TO and NOT_EQUALS_TO with a value of 4 will return all values."
        }
      },
      "required": [
        "Value"
      ]
    },
    "S3ItemFilter": {
      "type": "object",
      "properties": {
        "ObjectKeys": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/StringCondition"
          },
          "description": "You can include 1 to 10 values. If one value is included, the results will return only items that match the value. If more than one value is included, the results will return all items that match any of the values."
        },
        "Sizes": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/LongCondition"
          },
          "description": "You can include 1 to 10 values. If one value is included, the results will return only items that match the value. If more than one value is included, the results will return all items that match any of the values."
        },
        "CreationTimes": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/TimeCondition"
          },
          "description": "You can include 1 to 10 values. If one value is included, the results will return only items that match the value. If more than one value is included, the results will return all items that match any of the values."
        },
        "VersionIds": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/StringCondition"
          },
          "description": "You can include 1 to 10 values. If one value is included, the results will return only items that match the value. If more than one value is included, the results will return all items that match any of the values."
        },
        "ETags": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/StringCondition"
          },
          "description": "You can include 1 to 10 values. If one value is included, the results will return only items that match the value. If more than one value is included, the results will return all items that match any of the values."
        }
      }
    },
    "SearchScope": {
      "type": "object",
      "properties": {
        "BackupResourceTypes": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "S3",
              "EBS"
            ]
          },
          "description": "The resource types included in a search. Eligible resource types include S3 and EBS."
        },
        "BackupResourceCreationTime": {
          "$ref": "#/$defs/BackupCreationTimeFilter"
        },
        "SourceResourceArns": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The Amazon Resource Name (ARN) that uniquely identifies the source resources."
        },
        "BackupResourceArns": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The Amazon Resource Name (ARN) that uniquely identifies the backup resources."
        },
        "BackupResourceTags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "These are one or more tags on the backup (recovery point)."
        }
      },
      "required": [
        "BackupResourceTypes"
      ]
    },
    "SearchScopeSummary": {
      "type": "object",
      "properties": {
        "TotalRecoveryPointsToScanCount": {
          "type": "integer",
          "description": "This is the count of the total number of backups that will be scanned in a search."
        },
        "TotalItemsToScanCount": {
          "type": "integer",
          "description": "This is the count of the total number of items that will be scanned in a search."
        }
      }
    },
    "StringCondition": {
      "type": "object",
      "properties": {
        "Value": {
          "type": "string",
          "description": "The value of the string."
        },
        "Operator": {
          "type": "string",
          "enum": [
            "EQUALS_TO",
            "NOT_EQUALS_TO",
            "CONTAINS",
            "DOES_NOT_CONTAIN",
            "BEGINS_WITH",
            "ENDS_WITH",
            "DOES_NOT_BEGIN_WITH",
            "DOES_NOT_END_WITH"
          ],
          "description": "A string that defines what values will be returned. If this is included, avoid combinations of operators that will return all possible values. For example, including both EQUALS_TO and NOT_EQUALS_TO with a value of 4 will return all values."
        }
      },
      "required": [
        "Value"
      ]
    },
    "TimeCondition": {
      "type": "object",
      "properties": {
        "Value": {
          "type": "string",
          "description": "This is the timestamp value of the time condition."
        },
        "Operator": {
          "type": "string",
          "enum": [
            "EQUALS_TO",
            "NOT_EQUALS_TO",
            "LESS_THAN_EQUAL_TO",
            "GREATER_THAN_EQUAL_TO"
          ],
          "description": "A string that defines what values will be returned. If this is included, avoid combinations of operators that will return all possible values. For example, including both EQUALS_TO and NOT_EQUALS_TO with a value of 4 will return all values."
        }
      },
      "required": [
        "Value"
      ]
    }
  }
}