{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "sailpoint.isc.transforms.randomAlphaNumeric.schema.json",
  "title": "SailPoint ISC Transform Schema - randomAlphaNumeric",
  "description": "Strict schema derived from SailPoint official Random Alphanumeric operation documentation. Generates a random alphanumeric string. Optional length defaults to 32 and maximum allowable is 450.",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "type",
    "name"
  ],
  "properties": {
    "type": {
      "const": "randomAlphaNumeric"
    },
    "name": {
      "type": "string",
      "minLength": 1
    },
    "requiresPeriodicRefresh": {
      "type": "boolean",
      "default": false,
      "description": "Whether the transform should be reevaluated nightly as part of identity refresh. Default false."
    },
    "attributes": {
      "type": "object",
      "additionalProperties": false,
      "description": "Optional configuration. Only 'length' is documented.",
      "properties": {
        "length": {
          "type": "integer",
          "minimum": 1,
          "maximum": 450,
          "default": 32,
          "description": "Length of the random string. Default 32; maximum 450."
        }
      }
    }
  },
  "examples": [
    {
      "type": "randomAlphaNumeric",
      "name": "Random AlphaNumeric Transform"
    },
    {
      "type": "randomAlphaNumeric",
      "name": "Random AlphaNumeric Transform (Length 16)",
      "attributes": {
        "length": 16
      }
    }
  ]
}
