{
  "description": "Generator information:\n- Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/Databases.json\n- ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": "string"
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "properties": {
        "autoPauseDelay": {
          "description": "AutoPauseDelay: Time in minutes after which database is automatically paused. A value of -1 means that automatic pause\nis disabled",
          "type": "integer"
        },
        "azureName": {
          "description": "AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it\ndoesn't have to be.",
          "type": "string"
        },
        "catalogCollation": {
          "description": "CatalogCollation: Collation of the metadata catalog.",
          "enum": [
            "DATABASE_DEFAULT",
            "SQL_Latin1_General_CP1_CI_AS"
          ],
          "type": "string"
        },
        "collation": {
          "description": "Collation: The collation of the database.",
          "type": "string"
        },
        "createMode": {
          "description": "CreateMode: Specifies the mode of database creation.\nDefault: regular database creation.\nCopy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the\nsource database.\nSecondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the\nresource ID of the existing primary database.\nPointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId\nmust be specified as the resource ID of the existing database, and restorePointInTime must be specified.\nRecovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable\ndatabase resource ID to restore.\nRestore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If\nsourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise\nsourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored.\nrestorePointInTime may also be specified to restore from an earlier point in time.\nRestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault.\nrecoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.\nCopy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.",
          "enum": [
            "Copy",
            "Default",
            "OnlineSecondary",
            "PointInTimeRestore",
            "Recovery",
            "Restore",
            "RestoreExternalBackup",
            "RestoreExternalBackupSecondary",
            "RestoreLongTermRetentionBackup",
            "Secondary"
          ],
          "type": "string"
        },
        "elasticPoolReference": {
          "description": "ElasticPoolReference: The resource identifier of the elastic pool containing this database.",
          "properties": {
            "armId": {
              "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
              "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
              "type": "string"
            },
            "group": {
              "description": "Group is the Kubernetes group of the resource.",
              "type": "string"
            },
            "kind": {
              "description": "Kind is the Kubernetes kind of the resource.",
              "type": "string"
            },
            "name": {
              "description": "Name is the Kubernetes name of the resource.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "federatedClientId": {
          "description": "FederatedClientId: The Client id used for cross tenant per database CMK scenario",
          "pattern": "^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$",
          "type": "string"
        },
        "highAvailabilityReplicaCount": {
          "description": "HighAvailabilityReplicaCount: The number of secondary replicas associated with the database that are used to provide\nhigh availability. Not applicable to a Hyperscale database within an elastic pool.",
          "type": "integer"
        },
        "identity": {
          "description": "Identity: The Azure Active Directory identity of the database.",
          "properties": {
            "type": {
              "description": "Type: The identity type",
              "enum": [
                "None",
                "UserAssigned"
              ],
              "type": "string"
            },
            "userAssignedIdentities": {
              "description": "UserAssignedIdentities: The resource ids of the user assigned identities to use",
              "items": {
                "description": "Information about the user assigned identity for the resource",
                "properties": {
                  "reference": {
                    "description": "ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID",
                    "properties": {
                      "armId": {
                        "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
                        "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
                        "type": "string"
                      },
                      "group": {
                        "description": "Group is the Kubernetes group of the resource.",
                        "type": "string"
                      },
                      "kind": {
                        "description": "Kind is the Kubernetes kind of the resource.",
                        "type": "string"
                      },
                      "name": {
                        "description": "Name is the Kubernetes name of the resource.",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "isLedgerOn": {
          "description": "IsLedgerOn: Whether or not this database is a ledger database, which means all tables in the database are ledger tables.\nNote: the value of this property cannot be changed after the database has been created.",
          "type": "boolean"
        },
        "licenseType": {
          "description": "LicenseType: The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you\nhave a license and are eligible for the Azure Hybrid Benefit.",
          "enum": [
            "BasePrice",
            "LicenseIncluded"
          ],
          "type": "string"
        },
        "location": {
          "description": "Location: Resource location.",
          "type": "string"
        },
        "longTermRetentionBackupResourceReference": {
          "description": "LongTermRetentionBackupResourceReference: The resource identifier of the long term retention backup associated with\ncreate operation of this database.",
          "properties": {
            "armId": {
              "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
              "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
              "type": "string"
            },
            "group": {
              "description": "Group is the Kubernetes group of the resource.",
              "type": "string"
            },
            "kind": {
              "description": "Kind is the Kubernetes kind of the resource.",
              "type": "string"
            },
            "name": {
              "description": "Name is the Kubernetes name of the resource.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "maintenanceConfigurationId": {
          "description": "MaintenanceConfigurationId: Maintenance configuration id assigned to the database. This configuration defines the period\nwhen the maintenance updates will occur.",
          "type": "string"
        },
        "maxSizeBytes": {
          "description": "MaxSizeBytes: The max size of the database expressed in bytes.",
          "type": "integer"
        },
        "minCapacity": {
          "description": "MinCapacity: Minimal capacity that database will always have allocated, if not paused",
          "type": "number"
        },
        "operatorSpec": {
          "description": "OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not\npassed directly to Azure",
          "properties": {
            "configMapExpressions": {
              "description": "ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).",
              "items": {
                "description": "DestinationExpression is a CEL expression and a destination to store the result in. The destination may\nbe a secret or a configmap. The value of the expression is stored at the specified location in\nthe destination.",
                "properties": {
                  "key": {
                    "description": "Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string\nthis is required to identify what key to write to. If the CEL expression in Value returns a map[string]string\nKey must not be set, instead the keys written will be determined dynamically based on the keys of the resulting\nmap[string]string.",
                    "type": "string"
                  },
                  "name": {
                    "description": "Name is the name of the Kubernetes configmap or secret to write to.\nThe configmap or secret will be created in the same namespace as the resource.",
                    "type": "string"
                  },
                  "value": {
                    "description": "Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information\non CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            },
            "secretExpressions": {
              "description": "SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).",
              "items": {
                "description": "DestinationExpression is a CEL expression and a destination to store the result in. The destination may\nbe a secret or a configmap. The value of the expression is stored at the specified location in\nthe destination.",
                "properties": {
                  "key": {
                    "description": "Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string\nthis is required to identify what key to write to. If the CEL expression in Value returns a map[string]string\nKey must not be set, instead the keys written will be determined dynamically based on the keys of the resulting\nmap[string]string.",
                    "type": "string"
                  },
                  "name": {
                    "description": "Name is the name of the Kubernetes configmap or secret to write to.\nThe configmap or secret will be created in the same namespace as the resource.",
                    "type": "string"
                  },
                  "value": {
                    "description": "Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information\non CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "owner": {
          "description": "Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also\ncontrols the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a\nreference to a sql.azure.com/Server resource",
          "properties": {
            "armId": {
              "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
              "type": "string"
            },
            "name": {
              "description": "This is the name of the Kubernetes resource to reference.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "readScale": {
          "description": "ReadScale: The state of read-only routing. If enabled, connections that have application intent set to readonly in their\nconnection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale\ndatabase within an elastic pool.",
          "enum": [
            "Disabled",
            "Enabled"
          ],
          "type": "string"
        },
        "recoverableDatabaseReference": {
          "description": "RecoverableDatabaseReference: The resource identifier of the recoverable database associated with create operation of\nthis database.",
          "properties": {
            "armId": {
              "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
              "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
              "type": "string"
            },
            "group": {
              "description": "Group is the Kubernetes group of the resource.",
              "type": "string"
            },
            "kind": {
              "description": "Kind is the Kubernetes kind of the resource.",
              "type": "string"
            },
            "name": {
              "description": "Name is the Kubernetes name of the resource.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "recoveryServicesRecoveryPointReference": {
          "description": "RecoveryServicesRecoveryPointReference: The resource identifier of the recovery point associated with create operation\nof this database.",
          "properties": {
            "armId": {
              "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
              "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
              "type": "string"
            },
            "group": {
              "description": "Group is the Kubernetes group of the resource.",
              "type": "string"
            },
            "kind": {
              "description": "Kind is the Kubernetes kind of the resource.",
              "type": "string"
            },
            "name": {
              "description": "Name is the Kubernetes name of the resource.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "requestedBackupStorageRedundancy": {
          "description": "RequestedBackupStorageRedundancy: The storage account type to be used to store backups for this database.",
          "enum": [
            "Geo",
            "GeoZone",
            "Local",
            "Zone"
          ],
          "type": "string"
        },
        "restorableDroppedDatabaseReference": {
          "description": "RestorableDroppedDatabaseReference: The resource identifier of the restorable dropped database associated with create\noperation of this database.",
          "properties": {
            "armId": {
              "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
              "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
              "type": "string"
            },
            "group": {
              "description": "Group is the Kubernetes group of the resource.",
              "type": "string"
            },
            "kind": {
              "description": "Kind is the Kubernetes kind of the resource.",
              "type": "string"
            },
            "name": {
              "description": "Name is the Kubernetes name of the resource.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "restorePointInTime": {
          "description": "RestorePointInTime: Specifies the point in time (ISO8601 format) of the source database that will be restored to create\nthe new database.",
          "type": "string"
        },
        "sampleName": {
          "description": "SampleName: The name of the sample schema to apply when creating this database.",
          "enum": [
            "AdventureWorksLT",
            "WideWorldImportersFull",
            "WideWorldImportersStd"
          ],
          "type": "string"
        },
        "secondaryType": {
          "description": "SecondaryType: The secondary type of the database if it is a secondary.  Valid values are Geo and Named.",
          "enum": [
            "Geo",
            "Named"
          ],
          "type": "string"
        },
        "sku": {
          "description": "Sku: The database SKU.\nThe list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition,\nfamily, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation`\nREST API or one of the following commands:\n```azurecli\naz sql db list-editions -l <location> -o table\n````\n```powershell\nGet-AzSqlServerServiceObjective -Location <location>\n````",
          "properties": {
            "capacity": {
              "description": "Capacity: Capacity of the particular SKU.",
              "type": "integer"
            },
            "family": {
              "description": "Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.",
              "type": "string"
            },
            "name": {
              "description": "Name: The name of the SKU, typically, a letter + Number code, e.g. P3.",
              "type": "string"
            },
            "size": {
              "description": "Size: Size of the particular SKU",
              "type": "string"
            },
            "tier": {
              "description": "Tier: The tier or edition of the particular SKU, e.g. Basic, Premium.",
              "type": "string"
            }
          },
          "required": [
            "name"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "sourceDatabaseDeletionDate": {
          "description": "SourceDatabaseDeletionDate: Specifies the time that the database was deleted.",
          "type": "string"
        },
        "sourceDatabaseReference": {
          "description": "SourceDatabaseReference: The resource identifier of the source database associated with create operation of this\ndatabase.",
          "properties": {
            "armId": {
              "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
              "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
              "type": "string"
            },
            "group": {
              "description": "Group is the Kubernetes group of the resource.",
              "type": "string"
            },
            "kind": {
              "description": "Kind is the Kubernetes kind of the resource.",
              "type": "string"
            },
            "name": {
              "description": "Name is the Kubernetes name of the resource.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "sourceResourceReference": {
          "description": "SourceResourceReference: The resource identifier of the source associated with the create operation of this database.\nThis property is only supported for DataWarehouse edition and allows to restore across subscriptions.\nWhen sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and\nsourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover.\nWhen createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql\npool, and restorePointInTime must be specified.\nWhen createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable\ndropped sql pool.\nWhen createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool.\nWhen source subscription belongs to a different tenant than target subscription, \u201cx-ms-authorization-auxiliary\u201d\nheader must contain authentication token for the source tenant. For more details about\n\u201cx-ms-authorization-auxiliary\u201d header see\nhttps://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant",
          "properties": {
            "armId": {
              "description": "ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.\nThe /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level\nARMID is mutually exclusive with Group, Kind, Namespace and Name.",
              "pattern": "(?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$)",
              "type": "string"
            },
            "group": {
              "description": "Group is the Kubernetes group of the resource.",
              "type": "string"
            },
            "kind": {
              "description": "Kind is the Kubernetes kind of the resource.",
              "type": "string"
            },
            "name": {
              "description": "Name is the Kubernetes name of the resource.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Tags: Resource tags.",
          "type": "object"
        },
        "zoneRedundant": {
          "description": "ZoneRedundant: Whether or not this database is zone redundant, which means the replicas of this database will be spread\nacross multiple availability zones.",
          "type": "boolean"
        }
      },
      "required": [
        "location",
        "owner"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "properties": {
        "autoPauseDelay": {
          "description": "AutoPauseDelay: Time in minutes after which database is automatically paused. A value of -1 means that automatic pause\nis disabled",
          "type": "integer"
        },
        "catalogCollation": {
          "description": "CatalogCollation: Collation of the metadata catalog.",
          "type": "string"
        },
        "collation": {
          "description": "Collation: The collation of the database.",
          "type": "string"
        },
        "conditions": {
          "description": "Conditions: The observed state of the resource",
          "items": {
            "description": "Condition defines an extension to status (an observation) of a resource",
            "properties": {
              "lastTransitionTime": {
                "description": "LastTransitionTime is the last time the condition transitioned from one status to another.",
                "format": "date-time",
                "type": "string"
              },
              "message": {
                "description": "Message is a human readable message indicating details about the transition. This field may be empty.",
                "type": "string"
              },
              "observedGeneration": {
                "description": "ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if\n.metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.",
                "format": "int64",
                "type": "integer"
              },
              "reason": {
                "description": "Reason for the condition's last transition.\nReasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty.",
                "type": "string"
              },
              "severity": {
                "description": "Severity with which to treat failures of this type of condition.\nFor conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True\nFor conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False.\nThis is omitted in all cases when Status == Unknown",
                "type": "string"
              },
              "status": {
                "description": "Status of the condition, one of True, False, or Unknown.",
                "type": "string"
              },
              "type": {
                "description": "Type of condition.",
                "type": "string"
              }
            },
            "required": [
              "lastTransitionTime",
              "reason",
              "status",
              "type"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "createMode": {
          "description": "CreateMode: Specifies the mode of database creation.\nDefault: regular database creation.\nCopy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the\nsource database.\nSecondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the\nresource ID of the existing primary database.\nPointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId\nmust be specified as the resource ID of the existing database, and restorePointInTime must be specified.\nRecovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable\ndatabase resource ID to restore.\nRestore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If\nsourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise\nsourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored.\nrestorePointInTime may also be specified to restore from an earlier point in time.\nRestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault.\nrecoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.\nCopy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.",
          "type": "string"
        },
        "creationDate": {
          "description": "CreationDate: The creation date of the database (ISO8601 format).",
          "type": "string"
        },
        "currentBackupStorageRedundancy": {
          "description": "CurrentBackupStorageRedundancy: The storage account type used to store backups for this database.",
          "type": "string"
        },
        "currentServiceObjectiveName": {
          "description": "CurrentServiceObjectiveName: The current service level objective name of the database.",
          "type": "string"
        },
        "currentSku": {
          "description": "CurrentSku: The name and tier of the SKU.",
          "properties": {
            "capacity": {
              "description": "Capacity: Capacity of the particular SKU.",
              "type": "integer"
            },
            "family": {
              "description": "Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.",
              "type": "string"
            },
            "name": {
              "description": "Name: The name of the SKU, typically, a letter + Number code, e.g. P3.",
              "type": "string"
            },
            "size": {
              "description": "Size: Size of the particular SKU",
              "type": "string"
            },
            "tier": {
              "description": "Tier: The tier or edition of the particular SKU, e.g. Basic, Premium.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "databaseId": {
          "description": "DatabaseId: The ID of the database.",
          "type": "string"
        },
        "defaultSecondaryLocation": {
          "description": "DefaultSecondaryLocation: The default secondary region for this database.",
          "type": "string"
        },
        "earliestRestoreDate": {
          "description": "EarliestRestoreDate: This records the earliest start date and time that restore is available for this database (ISO8601\nformat).",
          "type": "string"
        },
        "elasticPoolId": {
          "description": "ElasticPoolId: The resource identifier of the elastic pool containing this database.",
          "type": "string"
        },
        "failoverGroupId": {
          "description": "FailoverGroupId: Failover Group resource identifier that this database belongs to.",
          "type": "string"
        },
        "federatedClientId": {
          "description": "FederatedClientId: The Client id used for cross tenant per database CMK scenario",
          "type": "string"
        },
        "highAvailabilityReplicaCount": {
          "description": "HighAvailabilityReplicaCount: The number of secondary replicas associated with the database that are used to provide\nhigh availability. Not applicable to a Hyperscale database within an elastic pool.",
          "type": "integer"
        },
        "id": {
          "description": "Id: Resource ID.",
          "type": "string"
        },
        "identity": {
          "description": "Identity: The Azure Active Directory identity of the database.",
          "properties": {
            "tenantId": {
              "description": "TenantId: The Azure Active Directory tenant id.",
              "type": "string"
            },
            "type": {
              "description": "Type: The identity type",
              "type": "string"
            },
            "userAssignedIdentities": {
              "additionalProperties": {
                "description": "Azure Active Directory identity configuration for a resource.",
                "properties": {
                  "clientId": {
                    "description": "ClientId: The Azure Active Directory client id.",
                    "type": "string"
                  },
                  "principalId": {
                    "description": "PrincipalId: The Azure Active Directory principal id.",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "description": "UserAssignedIdentities: The resource ids of the user assigned identities to use",
              "type": "object"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "isInfraEncryptionEnabled": {
          "description": "IsInfraEncryptionEnabled: Infra encryption is enabled for this database.",
          "type": "boolean"
        },
        "isLedgerOn": {
          "description": "IsLedgerOn: Whether or not this database is a ledger database, which means all tables in the database are ledger tables.\nNote: the value of this property cannot be changed after the database has been created.",
          "type": "boolean"
        },
        "kind": {
          "description": "Kind: Kind of database. This is metadata used for the Azure portal experience.",
          "type": "string"
        },
        "licenseType": {
          "description": "LicenseType: The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you\nhave a license and are eligible for the Azure Hybrid Benefit.",
          "type": "string"
        },
        "location": {
          "description": "Location: Resource location.",
          "type": "string"
        },
        "longTermRetentionBackupResourceId": {
          "description": "LongTermRetentionBackupResourceId: The resource identifier of the long term retention backup associated with create\noperation of this database.",
          "type": "string"
        },
        "maintenanceConfigurationId": {
          "description": "MaintenanceConfigurationId: Maintenance configuration id assigned to the database. This configuration defines the period\nwhen the maintenance updates will occur.",
          "type": "string"
        },
        "managedBy": {
          "description": "ManagedBy: Resource that manages the database.",
          "type": "string"
        },
        "maxLogSizeBytes": {
          "description": "MaxLogSizeBytes: The max log size for this database.",
          "type": "integer"
        },
        "maxSizeBytes": {
          "description": "MaxSizeBytes: The max size of the database expressed in bytes.",
          "type": "integer"
        },
        "minCapacity": {
          "description": "MinCapacity: Minimal capacity that database will always have allocated, if not paused",
          "type": "number"
        },
        "name": {
          "description": "Name: Resource name.",
          "type": "string"
        },
        "pausedDate": {
          "description": "PausedDate: The date when database was paused by user configuration or action(ISO8601 format). Null if the database is\nready.",
          "type": "string"
        },
        "readScale": {
          "description": "ReadScale: The state of read-only routing. If enabled, connections that have application intent set to readonly in their\nconnection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale\ndatabase within an elastic pool.",
          "type": "string"
        },
        "recoverableDatabaseId": {
          "description": "RecoverableDatabaseId: The resource identifier of the recoverable database associated with create operation of this\ndatabase.",
          "type": "string"
        },
        "recoveryServicesRecoveryPointId": {
          "description": "RecoveryServicesRecoveryPointId: The resource identifier of the recovery point associated with create operation of this\ndatabase.",
          "type": "string"
        },
        "requestedBackupStorageRedundancy": {
          "description": "RequestedBackupStorageRedundancy: The storage account type to be used to store backups for this database.",
          "type": "string"
        },
        "requestedServiceObjectiveName": {
          "description": "RequestedServiceObjectiveName: The requested service level objective name of the database.",
          "type": "string"
        },
        "restorableDroppedDatabaseId": {
          "description": "RestorableDroppedDatabaseId: The resource identifier of the restorable dropped database associated with create operation\nof this database.",
          "type": "string"
        },
        "restorePointInTime": {
          "description": "RestorePointInTime: Specifies the point in time (ISO8601 format) of the source database that will be restored to create\nthe new database.",
          "type": "string"
        },
        "resumedDate": {
          "description": "ResumedDate: The date when database was resumed by user action or database login (ISO8601 format). Null if the database\nis paused.",
          "type": "string"
        },
        "sampleName": {
          "description": "SampleName: The name of the sample schema to apply when creating this database.",
          "type": "string"
        },
        "secondaryType": {
          "description": "SecondaryType: The secondary type of the database if it is a secondary.  Valid values are Geo and Named.",
          "type": "string"
        },
        "sku": {
          "description": "Sku: The database SKU.\nThe list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition,\nfamily, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation`\nREST API or one of the following commands:\n```azurecli\naz sql db list-editions -l <location> -o table\n````\n```powershell\nGet-AzSqlServerServiceObjective -Location <location>\n````",
          "properties": {
            "capacity": {
              "description": "Capacity: Capacity of the particular SKU.",
              "type": "integer"
            },
            "family": {
              "description": "Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.",
              "type": "string"
            },
            "name": {
              "description": "Name: The name of the SKU, typically, a letter + Number code, e.g. P3.",
              "type": "string"
            },
            "size": {
              "description": "Size: Size of the particular SKU",
              "type": "string"
            },
            "tier": {
              "description": "Tier: The tier or edition of the particular SKU, e.g. Basic, Premium.",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "sourceDatabaseDeletionDate": {
          "description": "SourceDatabaseDeletionDate: Specifies the time that the database was deleted.",
          "type": "string"
        },
        "sourceDatabaseId": {
          "description": "SourceDatabaseId: The resource identifier of the source database associated with create operation of this database.",
          "type": "string"
        },
        "sourceResourceId": {
          "description": "SourceResourceId: The resource identifier of the source associated with the create operation of this database.\nThis property is only supported for DataWarehouse edition and allows to restore across subscriptions.\nWhen sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and\nsourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover.\nWhen createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql\npool, and restorePointInTime must be specified.\nWhen createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable\ndropped sql pool.\nWhen createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool.\nWhen source subscription belongs to a different tenant than target subscription, \u201cx-ms-authorization-auxiliary\u201d\nheader must contain authentication token for the source tenant. For more details about\n\u201cx-ms-authorization-auxiliary\u201d header see\nhttps://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant",
          "type": "string"
        },
        "status": {
          "description": "Status: The status of the database.",
          "type": "string"
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Tags: Resource tags.",
          "type": "object"
        },
        "type": {
          "description": "Type: Resource type.",
          "type": "string"
        },
        "zoneRedundant": {
          "description": "ZoneRedundant: Whether or not this database is zone redundant, which means the replicas of this database will be spread\nacross multiple availability zones.",
          "type": "boolean"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
