{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure-key-vault/json-schema/microsoft-azure-key-vault-sas-definition-bundle-schema.json",
  "title": "SasDefinitionBundle",
  "description": "A SAS definition bundle consists of key vault SAS definition details plus its attributes.",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-azure-key-vault-deletedstorage-api-openapi.yml#/components/schemas/SasDefinitionBundle",
  "properties": {
    "id": {
      "type": "string",
      "description": "The SAS definition id.",
      "readOnly": true
    },
    "sid": {
      "x-ms-client-name": "SecretId",
      "type": "string",
      "description": "Storage account SAS definition secret id.",
      "readOnly": true
    },
    "templateUri": {
      "type": "string",
      "description": "The SAS definition token template signed with an arbitrary key.  Tokens created according to the SAS definition will have the same properties as the template.",
      "readOnly": true
    },
    "sasType": {
      "type": "string",
      "description": "The type of SAS token the SAS definition will create.",
      "enum": [
        "account",
        "service"
      ],
      "x-ms-enum": {
        "name": "SasTokenType",
        "modelAsString": true
      },
      "readOnly": true
    },
    "validityPeriod": {
      "type": "string",
      "description": "The validity period of SAS tokens created according to the SAS definition.",
      "readOnly": true
    },
    "attributes": {
      "$ref": "#/$defs/SasDefinitionAttributes",
      "description": "The SAS definition attributes.",
      "readOnly": true
    },
    "tags": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Application specific metadata in the form of key-value pairs",
      "readOnly": true
    }
  },
  "$defs": {
    "SasDefinitionAttributes": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "the enabled state of the object."
        },
        "created": {
          "type": "integer",
          "format": "unixtime",
          "readOnly": true,
          "description": "Creation time in UTC."
        },
        "updated": {
          "type": "integer",
          "format": "unixtime",
          "readOnly": true,
          "description": "Last updated time in UTC."
        },
        "recoverableDays": {
          "type": "integer",
          "format": "int32",
          "readOnly": true,
          "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0."
        },
        "recoveryLevel": {
          "type": "string",
          "description": "Reflects the deletion recovery level currently in effect for SAS definitions in the current vault. If it contains 'Purgeable' the SAS definition can be permanently deleted by a privileged user; otherwise, only the system can purge the SAS definition, at the end of the retention interval.",
          "enum": [
            "Purgeable",
            "Recoverable+Purgeable",
            "Recoverable",
            "Recoverable+ProtectedSubscription",
            "CustomizedRecoverable+Purgeable",
            "CustomizedRecoverable",
            "CustomizedRecoverable+ProtectedSubscription"
          ],
          "x-ms-enum": {
            "name": "DeletionRecoveryLevel",
            "modelAsString": true
          },
          "readOnly": true
        }
      },
      "description": "The SAS definition management attributes."
    }
  }
}