{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure-batch/json-schema/microsoft-azure-batch-upload-batch-service-logs-options-schema.json",
  "title": "UploadBatchServiceLogsOptions",
  "description": "The Azure Batch service log files upload parameters for a Compute Node.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_superseded/microsoft-azure-batch-nodes-api-openapi.yml#/components/schemas/UploadBatchServiceLogsOptions",
  "type": "object",
  "properties": {
    "containerUrl": {
      "type": "string",
      "format": "uri",
      "description": "The URL of the container within Azure Blob Storage to which to upload the Batch Service log file(s). If a user assigned managed identity is not being used, the URL must include a Shared Access Signature (SAS) granting write permissions to the container. The SAS duration must allow enough time for the upload to finish. The start time for SAS is optional and recommended to not be specified."
    },
    "startTime": {
      "type": "string",
      "format": "date-time",
      "description": "The start of the time range from which to upload Batch Service log file(s). Any log file containing a log message in the time range will be uploaded. This means that the operation might retrieve more logs than have been requested since the entire log file is always uploaded, but the operation should not retrieve fewer logs than have been requested."
    },
    "endTime": {
      "type": "string",
      "format": "date-time",
      "description": "The end of the time range from which to upload Batch Service log file(s). Any log file containing a log message in the time range will be uploaded. This means that the operation might retrieve more logs than have been requested since the entire log file is always uploaded, but the operation should not retrieve fewer logs than have been requested. If omitted, the default is to upload all logs available after the startTime."
    },
    "identityReference": {
      "$ref": "#/$defs/BatchNodeIdentityReference",
      "description": "The reference to the user assigned identity to use to access Azure Blob Storage specified by containerUrl. The identity must have write access to the Azure Blob Storage container."
    }
  },
  "required": [
    "containerUrl",
    "startTime"
  ],
  "$defs": {
    "BatchNodeIdentityReference": {
      "type": "object",
      "description": "The reference to a user assigned identity associated with the Batch pool which\na compute node will use.",
      "properties": {
        "resourceId": {
          "type": "string",
          "format": "arm-id",
          "description": "The ARM resource id of the user assigned identity."
        }
      }
    }
  }
}