{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure-sql-database/json-schema/microsoft-azure-sql-database-import-new-database-definition-schema.json",
  "title": "ImportNewDatabaseDefinition",
  "description": "Contains the information necessary to perform import operation for new database.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-azure-sql-database-servers-api-openapi.yml#/components/schemas/ImportNewDatabaseDefinition",
  "type": "object",
  "properties": {
    "databaseName": {
      "type": "string",
      "description": "Name of the import database.",
      "x-ms-mutability": [
        "create"
      ]
    },
    "edition": {
      "type": "string",
      "description": "Edition of the import database.",
      "x-ms-mutability": [
        "create"
      ]
    },
    "serviceObjectiveName": {
      "type": "string",
      "description": "Service level objective name of the import database.",
      "x-ms-mutability": [
        "create"
      ]
    },
    "maxSizeBytes": {
      "type": "string",
      "description": "Max size in bytes for the import database.",
      "x-ms-mutability": [
        "create"
      ]
    },
    "storageKeyType": {
      "type": "string",
      "description": "Storage key type: StorageAccessKey, SharedAccessKey or ManagedIdentity.",
      "enum": [
        "SharedAccessKey",
        "StorageAccessKey",
        "ManagedIdentity"
      ],
      "x-ms-enum": {
        "name": "StorageKeyType",
        "modelAsString": true,
        "values": [
          {
            "name": "SharedAccessKey",
            "value": "SharedAccessKey",
            "description": "SharedAccessKey"
          },
          {
            "name": "StorageAccessKey",
            "value": "StorageAccessKey",
            "description": "StorageAccessKey"
          },
          {
            "name": "ManagedIdentity",
            "value": "ManagedIdentity",
            "description": "ManagedIdentity"
          }
        ]
      }
    },
    "storageKey": {
      "type": "string",
      "description": "Storage key for the storage account. If StorageKeyType is ManagedIdentity, this field should specify the Managed Identity's resource ID.",
      "x-ms-mutability": [
        "create"
      ]
    },
    "storageUri": {
      "type": "string",
      "description": "Storage Uri.",
      "x-ms-mutability": [
        "create"
      ]
    },
    "administratorLogin": {
      "type": "string",
      "description": "Administrator login name. If AuthenticationType is ManagedIdentity, this field should specify the Managed Identity's resource ID.",
      "x-ms-mutability": [
        "create"
      ]
    },
    "administratorLoginPassword": {
      "type": "string",
      "format": "password",
      "description": "Administrator login password. If AuthenticationType is ManagedIdentity, this field should not be specified.",
      "x-ms-mutability": [
        "create"
      ],
      "x-ms-secret": true
    },
    "authenticationType": {
      "type": "string",
      "description": "Type of credentials provided for access to the target SQL server: SQL, ADPassword or ManagedIdentity.",
      "x-ms-mutability": [
        "create"
      ]
    },
    "networkIsolation": {
      "type": "object",
      "description": "Contains the ARM resources for which to create private endpoint connection.",
      "properties": {
        "storageAccountResourceId": {
          "type": "string",
          "format": "arm-id",
          "description": "The resource id for the storage account used to store BACPAC file. If set, private endpoint connection will be created for the storage account. Must match storage account used for StorageUri parameter.",
          "x-ms-mutability": [
            "create"
          ]
        },
        "sqlServerResourceId": {
          "type": "string",
          "format": "arm-id",
          "description": "The resource id for the SQL server which is the target of this request. If set, private endpoint connection will be created for the SQL server. Must match server which is target of the operation.",
          "x-ms-mutability": [
            "create"
          ]
        }
      }
    }
  },
  "required": [
    "storageKeyType",
    "storageKey",
    "storageUri",
    "administratorLogin"
  ]
}