{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure/json-schema/microsoft-azure-aml-filesystems-list-result-schema.json",
  "title": "AmlFilesystemsListResult",
  "description": "Result of the request to list AML file systems. It contains a list of AML file systems and a URL link to get the next set of results.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-azure-amlfilesystems-api-openapi.yml#/components/schemas/AmlFilesystemsListResult",
  "properties": {
    "nextLink": {
      "description": "URL to get the next set of AML file system list results, if there are any.",
      "type": "string"
    },
    "value": {
      "description": "List of AML file systems.",
      "items": {
        "$ref": "#/$defs/AmlFilesystem"
      },
      "type": "array"
    }
  },
  "type": "object",
  "$defs": {
    "AmlFilesystem": {
      "description": "An AML file system instance. Follows Azure Resource Manager standards: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md",
      "x-ms-azure-resource": true,
      "type": "object",
      "allOf": [
        {
          "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource"
        }
      ],
      "properties": {
        "identity": {
          "$ref": "#/$defs/AmlFilesystemIdentity",
          "description": "The managed identity used by the AML file system, if configured."
        },
        "sku": {
          "description": "SKU for the resource.",
          "$ref": "#/$defs/SkuName"
        },
        "zones": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Availability zones for resources. This field should only contain a single element in the array.",
          "x-ms-mutability": [
            "read",
            "create"
          ]
        },
        "properties": {
          "x-ms-client-flatten": true,
          "description": "Properties of the AML file system.",
          "properties": {
            "storageCapacityTiB": {
              "description": "The size of the AML file system, in TiB. This might be rounded up.",
              "x-ms-mutability": [
                "read",
                "create"
              ],
              "type": "number",
              "format": "float"
            },
            "health": {
              "description": "Health of the AML file system.",
              "readOnly": true,
              "$ref": "#/$defs/AmlFilesystemHealth"
            },
            "provisioningState": {
              "description": "ARM provisioning state.",
              "enum": [
                "Succeeded",
                "Failed",
                "Creating",
                "Deleting",
                "Updating",
                "Canceled"
              ],
              "x-ms-enum": {
                "name": "AmlFilesystemProvisioningStateType",
                "modelAsString": true
              },
              "type": "string",
              "readOnly": true
            },
            "filesystemSubnet": {
              "description": "Subnet used for managing the AML file system and for client-facing operations. This subnet should have at least a /24 subnet mask within the VNET's address space.",
              "x-ms-mutability": [
                "read",
                "create"
              ],
              "$ref": "storagecache.json#/definitions/URLString"
            },
            "mgsAddress": {
              "description": "The IPv4 address used by clients to mount the AML file system's Lustre Management Service (MGS).",
              "readOnly": true,
              "type": "string"
            },
            "mountCommand": {
              "description": "Recommended command to mount the AML file system",
              "readOnly": true,
              "type": "string"
            },
            "lustreVersion": {
              "type": "string",
              "description": "The version of Lustre running in the AML file system",
              "readOnly": true
            },
            "throughputProvisionedMBps": {
              "type": "integer",
              "format": "int32",
              "description": "Throughput provisioned in MB per sec, calculated as storageCapacityTiB * per-unit storage throughput",
              "readOnly": true
            },
            "encryptionSettings": {
              "$ref": "#/$defs/AmlFilesystemEncryptionSettings",
              "description": "Specifies encryption settings of the AML file system."
            },
            "maintenanceWindow": {
              "description": "Start time of a 30-minute weekly maintenance window.",
              "type": "object",
              "properties": {
                "dayOfWeek": {
                  "type": "string",
                  "enum": [
                    "Monday",
                    "Tuesday",
                    "Wednesday",
                    "Thursday",
                    "Friday",
                    "Saturday",
                    "Sunday"
                  ],
                  "x-ms-enum": {
                    "name": "MaintenanceDayOfWeekType",
                    "modelAsString": false
                  },
                  "description": "Day of the week on which the maintenance window will occur."
                },
                "timeOfDayUTC": {
                  "type": "string",
                  "pattern": "^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$",
                  "description": "The time of day (in UTC) to start the maintenance window."
                }
              }
            },
            "hsm": {
              "type": "object",
              "description": "Hydration and archive settings and status",
              "properties": {
                "settings": {
                  "$ref": "#/$defs/AmlFilesystemHsmSettings",
                  "description": "Specifies HSM settings of the AML file system."
                },
                "archiveStatus": {
                  "type": "array",
                  "readOnly": true,
                  "description": "Archive status",
                  "items": {
                    "$ref": "#/$defs/AmlFilesystemArchive"
                  },
                  "x-ms-identifiers": [
                    "filesystemPath"
                  ]
                }
              }
            }
          },
          "type": "object",
          "required": [
            "filesystemSubnet",
            "storageCapacityTiB",
            "maintenanceWindow"
          ]
        }
      }
    },
    "AmlFilesystemArchive": {
      "description": "Information about the AML file system archive",
      "type": "object",
      "readOnly": true,
      "properties": {
        "filesystemPath": {
          "readOnly": true,
          "type": "string",
          "description": "Lustre file system path to archive relative to the file system root.  Specify '/' to archive all modified data."
        },
        "status": {
          "description": "The status of the archive",
          "type": "object",
          "readOnly": true,
          "properties": {
            "state": {
              "readOnly": true,
              "description": "The state of the archive operation",
              "type": "string",
              "enum": [
                "NotConfigured",
                "Idle",
                "InProgress",
                "Canceled",
                "Completed",
                "Failed",
                "Cancelling",
                "FSScanInProgress"
              ],
              "x-ms-enum": {
                "name": "ArchiveStatusType",
                "modelAsString": true
              }
            },
            "lastCompletionTime": {
              "readOnly": true,
              "description": "The time of the last completed archive operation",
              "type": "string",
              "format": "date-time"
            },
            "lastStartedTime": {
              "readOnly": true,
              "description": "The time the latest archive operation started",
              "type": "string",
              "format": "date-time"
            },
            "percentComplete": {
              "readOnly": true,
              "description": "The completion percentage of the archive operation",
              "type": "integer",
              "format": "int32"
            },
            "errorCode": {
              "readOnly": true,
              "description": "Server-defined error code for the archive operation",
              "type": "string"
            },
            "errorMessage": {
              "readOnly": true,
              "description": "Server-defined error message for the archive operation",
              "type": "string"
            }
          }
        }
      }
    },
    "AmlFilesystemEncryptionSettings": {
      "description": "AML file system encryption settings.",
      "properties": {
        "keyEncryptionKey": {
          "$ref": "storagecache.json#/definitions/KeyVaultKeyReference",
          "description": "Specifies the location of the encryption key in Key Vault."
        }
      },
      "type": "object"
    },
    "AmlFilesystemHealth": {
      "description": "An indication of AML file system health. Gives more information about health than just that related to provisioning.",
      "readOnly": true,
      "properties": {
        "state": {
          "description": "List of AML file system health states.",
          "enum": [
            "Unavailable",
            "Available",
            "Degraded",
            "Transitioning",
            "Maintenance"
          ],
          "x-ms-enum": {
            "name": "AmlFilesystemHealthStateType",
            "modelAsString": true
          },
          "type": "string"
        },
        "statusCode": {
          "description": "Server-defined error code for the AML file system health",
          "type": "string"
        },
        "statusDescription": {
          "description": "Describes the health state.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AmlFilesystemHsmSettings": {
      "description": "AML file system HSM settings.",
      "x-ms-mutability": [
        "read",
        "create"
      ],
      "type": "object",
      "properties": {
        "container": {
          "description": "Resource ID of storage container used for hydrating the namespace and archiving from the namespace. The resource provider must have permission to create SAS tokens on the storage account.",
          "$ref": "storagecache.json#/definitions/URLString"
        },
        "loggingContainer": {
          "description": "Resource ID of storage container used for logging events and errors.  Must be a separate container in the same storage account as the hydration and archive container. The resource provider must have permission to create SAS tokens on the storage account.",
          "$ref": "storagecache.json#/definitions/URLString"
        },
        "importPrefix": {
          "description": "Only blobs in the non-logging container that start with this path/prefix get hydrated into the cluster namespace.",
          "type": "string",
          "default": "/"
        }
      },
      "required": [
        "container",
        "loggingContainer"
      ]
    },
    "AmlFilesystemIdentity": {
      "type": "object",
      "description": "Managed Identity properties.",
      "x-ms-mutability": [
        "read",
        "create"
      ],
      "properties": {
        "principalId": {
          "readOnly": true,
          "type": "string",
          "description": "The principal ID for the user-assigned identity of the resource."
        },
        "tenantId": {
          "readOnly": true,
          "type": "string",
          "description": "The tenant ID associated with the resource."
        },
        "type": {
          "type": "string",
          "description": "The type of identity used for the resource.",
          "enum": [
            "UserAssigned",
            "None"
          ],
          "x-ms-enum": {
            "name": "AmlFilesystemIdentityType",
            "modelAsString": false
          }
        },
        "userAssignedIdentities": {
          "description": "A dictionary where each key is a user assigned identity resource ID, and each key's value is an empty dictionary.",
          "$ref": "#/$defs/UserAssignedIdentities"
        }
      }
    },
    "SkuName": {
      "x-ms-mutability": [
        "read",
        "create"
      ],
      "description": "SKU for the resource.",
      "properties": {
        "name": {
          "description": "SKU name for this resource.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UserAssignedIdentities": {
      "type": "object",
      "description": "A dictionary where each key is a user assigned identity resource ID, and each key's value is an empty dictionary.",
      "additionalProperties": {
        "type": "object",
        "x-ms-client-name": "userAssignedIdentitiesValue",
        "properties": {
          "principalId": {
            "readOnly": true,
            "type": "string",
            "description": "The principal ID of the user-assigned identity."
          },
          "clientId": {
            "readOnly": true,
            "type": "string",
            "description": "The client ID of the user-assigned identity."
          }
        }
      }
    }
  }
}