{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/eidolon-resource/_shared/latest--AzureFileMemory.json",
  "title": "AzureFileMemory",
  "x-lintel": {
    "source": "https://www.eidolonai.com/json_schema/v1/schemas/FileMemory/AzureFileMemory.json",
    "sourceSha256": "a8415d2c23aeb56c4d6daac5bb8f756e2e2adb41a28625a1c8394ef5c6c6b193"
  },
  "type": "object",
  "properties": {
    "implementation": {
      "const": "AzureFileMemory",
      "title": "Implementation"
    },
    "azure_ad_token_provider": {
      "anyOf": [
        {
          "$ref": "#/$defs/_Reference"
        },
        {
          "type": "null"
        }
      ]
    },
    "account_url": {
      "description": "The URL of the Azure storage account of the form <https://<OAUTH_STORAGE_ACCOUNT_NAME>>.blob.core.windows.net.",
      "title": "Account Url",
      "type": "string"
    },
    "container": {
      "description": "The name of the container to use.",
      "title": "Container",
      "type": "string"
    },
    "create_container_on_startup": {
      "default": false,
      "description": "If true, the container will be created on startup if not already present.",
      "title": "Create Container On Startup",
      "type": "boolean"
    }
  },
  "$defs": {
    "_Reference": {
      "type": "object",
      "properties": {
        "implementation": {
          "title": "Implementation",
          "type": "string"
        }
      },
      "title": "_Reference",
      "additionalProperties": true
    }
  },
  "additionalProperties": false,
  "reference_details": {
    "clz": "eidolon_ai_sdk.memory.azure_file_memory.AzureFileMemory",
    "groups": [
      "FileMemory"
    ],
    "name": "AzureFileMemory",
    "overrides": {}
  },
  "required": [
    "account_url",
    "container",
    "implementation"
  ]
}
