@azure/provisioning-sql 0.0.0-stage → 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/LICENSE +21 -0
  3. package/README.md +64 -2
  4. package/dist/browser/deleted-server.d.ts +33 -0
  5. package/dist/browser/deleted-server.d.ts.map +1 -0
  6. package/dist/browser/deleted-server.js +61 -0
  7. package/dist/browser/deleted-server.js.map +1 -0
  8. package/dist/browser/index.d.ts +14 -0
  9. package/dist/browser/index.d.ts.map +1 -0
  10. package/dist/browser/index.js +16 -0
  11. package/dist/browser/index.js.map +1 -0
  12. package/dist/browser/instance-failover-group.d.ts +48 -0
  13. package/dist/browser/instance-failover-group.d.ts.map +1 -0
  14. package/dist/browser/instance-failover-group.js +63 -0
  15. package/dist/browser/instance-failover-group.js.map +1 -0
  16. package/dist/browser/instance-pool.d.ts +101 -0
  17. package/dist/browser/instance-pool.d.ts.map +1 -0
  18. package/dist/browser/instance-pool.js +148 -0
  19. package/dist/browser/instance-pool.js.map +1 -0
  20. package/dist/browser/managed-database-move-operation-result.d.ts +30 -0
  21. package/dist/browser/managed-database-move-operation-result.d.ts.map +1 -0
  22. package/dist/browser/managed-database-move-operation-result.js +58 -0
  23. package/dist/browser/managed-database-move-operation-result.js.map +1 -0
  24. package/dist/browser/managed-instance.d.ts +1555 -0
  25. package/dist/browser/managed-instance.d.ts.map +1 -0
  26. package/dist/browser/managed-instance.js +2234 -0
  27. package/dist/browser/managed-instance.js.map +1 -0
  28. package/dist/browser/package.json +8 -0
  29. package/dist/browser/resource-group-long-term-retention-managed-instance-backup.d.ts +33 -0
  30. package/dist/browser/resource-group-long-term-retention-managed-instance-backup.d.ts.map +1 -0
  31. package/dist/browser/resource-group-long-term-retention-managed-instance-backup.js +61 -0
  32. package/dist/browser/resource-group-long-term-retention-managed-instance-backup.js.map +1 -0
  33. package/dist/browser/server-trust-group.d.ts +48 -0
  34. package/dist/browser/server-trust-group.d.ts.map +1 -0
  35. package/dist/browser/server-trust-group.js +63 -0
  36. package/dist/browser/server-trust-group.js.map +1 -0
  37. package/dist/browser/server.d.ts +3137 -0
  38. package/dist/browser/server.d.ts.map +1 -0
  39. package/dist/browser/server.js +4486 -0
  40. package/dist/browser/server.js.map +1 -0
  41. package/dist/browser/subscription-long-term-retention-backup.d.ts +33 -0
  42. package/dist/browser/subscription-long-term-retention-backup.d.ts.map +1 -0
  43. package/dist/browser/subscription-long-term-retention-backup.js +61 -0
  44. package/dist/browser/subscription-long-term-retention-backup.js.map +1 -0
  45. package/dist/browser/time-zone.d.ts +30 -0
  46. package/dist/browser/time-zone.d.ts.map +1 -0
  47. package/dist/browser/time-zone.js +58 -0
  48. package/dist/browser/time-zone.js.map +1 -0
  49. package/dist/browser/types.d.ts +13481 -0
  50. package/dist/browser/types.d.ts.map +1 -0
  51. package/dist/browser/types.js +3035 -0
  52. package/dist/browser/types.js.map +1 -0
  53. package/dist/browser/usage.d.ts +33 -0
  54. package/dist/browser/usage.d.ts.map +1 -0
  55. package/dist/browser/usage.js +61 -0
  56. package/dist/browser/usage.js.map +1 -0
  57. package/dist/browser/virtual-cluster.d.ts +66 -0
  58. package/dist/browser/virtual-cluster.d.ts.map +1 -0
  59. package/dist/browser/virtual-cluster.js +85 -0
  60. package/dist/browser/virtual-cluster.js.map +1 -0
  61. package/dist/commonjs/deleted-server.d.ts +33 -0
  62. package/dist/commonjs/deleted-server.d.ts.map +1 -0
  63. package/dist/commonjs/deleted-server.js +84 -0
  64. package/dist/commonjs/deleted-server.js.map +7 -0
  65. package/dist/commonjs/index.d.ts +14 -0
  66. package/dist/commonjs/index.d.ts.map +1 -0
  67. package/dist/commonjs/index.js +296 -0
  68. package/dist/commonjs/index.js.map +7 -0
  69. package/dist/commonjs/instance-failover-group.d.ts +48 -0
  70. package/dist/commonjs/instance-failover-group.d.ts.map +1 -0
  71. package/dist/commonjs/instance-failover-group.js +86 -0
  72. package/dist/commonjs/instance-failover-group.js.map +7 -0
  73. package/dist/commonjs/instance-pool.d.ts +101 -0
  74. package/dist/commonjs/instance-pool.d.ts.map +1 -0
  75. package/dist/commonjs/instance-pool.js +172 -0
  76. package/dist/commonjs/instance-pool.js.map +7 -0
  77. package/dist/commonjs/managed-database-move-operation-result.d.ts +30 -0
  78. package/dist/commonjs/managed-database-move-operation-result.d.ts.map +1 -0
  79. package/dist/commonjs/managed-database-move-operation-result.js +81 -0
  80. package/dist/commonjs/managed-database-move-operation-result.js.map +7 -0
  81. package/dist/commonjs/managed-instance.d.ts +1555 -0
  82. package/dist/commonjs/managed-instance.d.ts.map +1 -0
  83. package/dist/commonjs/managed-instance.js +2308 -0
  84. package/dist/commonjs/managed-instance.js.map +7 -0
  85. package/dist/commonjs/package.json +8 -0
  86. package/dist/commonjs/resource-group-long-term-retention-managed-instance-backup.d.ts +33 -0
  87. package/dist/commonjs/resource-group-long-term-retention-managed-instance-backup.d.ts.map +1 -0
  88. package/dist/commonjs/resource-group-long-term-retention-managed-instance-backup.js +88 -0
  89. package/dist/commonjs/resource-group-long-term-retention-managed-instance-backup.js.map +7 -0
  90. package/dist/commonjs/server-trust-group.d.ts +48 -0
  91. package/dist/commonjs/server-trust-group.d.ts.map +1 -0
  92. package/dist/commonjs/server-trust-group.js +86 -0
  93. package/dist/commonjs/server-trust-group.js.map +7 -0
  94. package/dist/commonjs/server.d.ts +3137 -0
  95. package/dist/commonjs/server.d.ts.map +1 -0
  96. package/dist/commonjs/server.js +4604 -0
  97. package/dist/commonjs/server.js.map +7 -0
  98. package/dist/commonjs/subscription-long-term-retention-backup.d.ts +33 -0
  99. package/dist/commonjs/subscription-long-term-retention-backup.d.ts.map +1 -0
  100. package/dist/commonjs/subscription-long-term-retention-backup.js +84 -0
  101. package/dist/commonjs/subscription-long-term-retention-backup.js.map +7 -0
  102. package/dist/commonjs/time-zone.d.ts +30 -0
  103. package/dist/commonjs/time-zone.d.ts.map +1 -0
  104. package/dist/commonjs/time-zone.js +81 -0
  105. package/dist/commonjs/time-zone.js.map +7 -0
  106. package/dist/commonjs/tsdoc-metadata.json +11 -0
  107. package/dist/commonjs/types.d.ts +13481 -0
  108. package/dist/commonjs/types.d.ts.map +1 -0
  109. package/dist/commonjs/types.js +3439 -0
  110. package/dist/commonjs/types.js.map +7 -0
  111. package/dist/commonjs/usage.d.ts +33 -0
  112. package/dist/commonjs/usage.d.ts.map +1 -0
  113. package/dist/commonjs/usage.js +84 -0
  114. package/dist/commonjs/usage.js.map +7 -0
  115. package/dist/commonjs/virtual-cluster.d.ts +66 -0
  116. package/dist/commonjs/virtual-cluster.d.ts.map +1 -0
  117. package/dist/commonjs/virtual-cluster.js +108 -0
  118. package/dist/commonjs/virtual-cluster.js.map +7 -0
  119. package/dist/esm/deleted-server.d.ts +33 -0
  120. package/dist/esm/deleted-server.d.ts.map +1 -0
  121. package/dist/esm/deleted-server.js +61 -0
  122. package/dist/esm/deleted-server.js.map +1 -0
  123. package/dist/esm/index.d.ts +14 -0
  124. package/dist/esm/index.d.ts.map +1 -0
  125. package/dist/esm/index.js +16 -0
  126. package/dist/esm/index.js.map +1 -0
  127. package/dist/esm/instance-failover-group.d.ts +48 -0
  128. package/dist/esm/instance-failover-group.d.ts.map +1 -0
  129. package/dist/esm/instance-failover-group.js +63 -0
  130. package/dist/esm/instance-failover-group.js.map +1 -0
  131. package/dist/esm/instance-pool.d.ts +101 -0
  132. package/dist/esm/instance-pool.d.ts.map +1 -0
  133. package/dist/esm/instance-pool.js +148 -0
  134. package/dist/esm/instance-pool.js.map +1 -0
  135. package/dist/esm/managed-database-move-operation-result.d.ts +30 -0
  136. package/dist/esm/managed-database-move-operation-result.d.ts.map +1 -0
  137. package/dist/esm/managed-database-move-operation-result.js +58 -0
  138. package/dist/esm/managed-database-move-operation-result.js.map +1 -0
  139. package/dist/esm/managed-instance.d.ts +1555 -0
  140. package/dist/esm/managed-instance.d.ts.map +1 -0
  141. package/dist/esm/managed-instance.js +2234 -0
  142. package/dist/esm/managed-instance.js.map +1 -0
  143. package/dist/esm/package.json +8 -0
  144. package/dist/esm/resource-group-long-term-retention-managed-instance-backup.d.ts +33 -0
  145. package/dist/esm/resource-group-long-term-retention-managed-instance-backup.d.ts.map +1 -0
  146. package/dist/esm/resource-group-long-term-retention-managed-instance-backup.js +61 -0
  147. package/dist/esm/resource-group-long-term-retention-managed-instance-backup.js.map +1 -0
  148. package/dist/esm/server-trust-group.d.ts +48 -0
  149. package/dist/esm/server-trust-group.d.ts.map +1 -0
  150. package/dist/esm/server-trust-group.js +63 -0
  151. package/dist/esm/server-trust-group.js.map +1 -0
  152. package/dist/esm/server.d.ts +3137 -0
  153. package/dist/esm/server.d.ts.map +1 -0
  154. package/dist/esm/server.js +4486 -0
  155. package/dist/esm/server.js.map +1 -0
  156. package/dist/esm/subscription-long-term-retention-backup.d.ts +33 -0
  157. package/dist/esm/subscription-long-term-retention-backup.d.ts.map +1 -0
  158. package/dist/esm/subscription-long-term-retention-backup.js +61 -0
  159. package/dist/esm/subscription-long-term-retention-backup.js.map +1 -0
  160. package/dist/esm/time-zone.d.ts +30 -0
  161. package/dist/esm/time-zone.d.ts.map +1 -0
  162. package/dist/esm/time-zone.js +58 -0
  163. package/dist/esm/time-zone.js.map +1 -0
  164. package/dist/esm/types.d.ts +13481 -0
  165. package/dist/esm/types.d.ts.map +1 -0
  166. package/dist/esm/types.js +3035 -0
  167. package/dist/esm/types.js.map +1 -0
  168. package/dist/esm/usage.d.ts +33 -0
  169. package/dist/esm/usage.d.ts.map +1 -0
  170. package/dist/esm/usage.js +61 -0
  171. package/dist/esm/usage.js.map +1 -0
  172. package/dist/esm/virtual-cluster.d.ts +66 -0
  173. package/dist/esm/virtual-cluster.d.ts.map +1 -0
  174. package/dist/esm/virtual-cluster.js +85 -0
  175. package/dist/esm/virtual-cluster.js.map +1 -0
  176. package/package.json +103 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { Expression, ExpressionOrValue } from \"@azure/provisioning-core\";\nimport {\n createArrayShape,\n createBooleanShape,\n createDateShape,\n createDeferredShape,\n createEnumShape,\n createFlatModelShape,\n createNumberShape,\n createRecordShape,\n createStringShape,\n createUnionShape,\n type FlatModelShape,\n type InputArray,\n type InputOf,\n type InputRecord,\n} from \"@azure/provisioning-core/internal\";\n\n/**\n * Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been applied yet on the specific database or server.\n */\nexport type AdvancedThreatProtectionState = \"New\" | \"Enabled\" | \"Disabled\";\n\n/**\n * Gets the status of availability of this advisor to customers. Possible values are 'GA', 'PublicPreview', 'LimitedPublicPreview' and 'PrivatePreview'.\n */\nexport type AdvisorStatus = \"GA\" | \"PublicPreview\" | \"LimitedPublicPreview\" | \"PrivatePreview\";\n\n/**\n * Gets the auto-execute status (whether to let the system execute the recommendations) of this advisor. Possible values are 'Enabled' and 'Disabled'\n */\nexport type AutoExecuteStatus = \"Enabled\" | \"Disabled\" | \"Default\";\n\n/**\n * Gets the resource from which current value of auto-execute status is inherited. Auto-execute status can be set on (and inherited from) different levels in the resource hierarchy. Possible values are 'Subscription', 'Server', 'ElasticPool', 'Database' and 'Default' (when status is not explicitly set on any level).\n */\nexport type AutoExecuteStatusInheritedFrom =\n \"Default\" | \"Subscription\" | \"Server\" | \"ElasticPool\" | \"Database\";\n\n/**\n * Reason description if desired and actual state are different.\n */\nexport type AutomaticTuningDisabledReason =\n | \"Default\"\n | \"Disabled\"\n | \"AutoConfigured\"\n | \"InheritedFromServer\"\n | \"QueryStoreOff\"\n | \"QueryStoreReadOnly\"\n | \"NotSupported\";\n\n/**\n * Automatic tuning desired state.\n */\nexport type AutomaticTuningMode = \"Inherit\" | \"Custom\" | \"Auto\" | \"Unspecified\";\n\n/**\n * Automatic tuning option actual state.\n */\nexport type AutomaticTuningOptionModeActual = \"Off\" | \"On\";\n\n/**\n * Automatic tuning option desired state.\n */\nexport type AutomaticTuningOptionModeDesired = \"Off\" | \"On\" | \"Default\";\n\n/**\n * Automatic tuning desired state.\n */\nexport type AutomaticTuningServerMode = \"Custom\" | \"Auto\" | \"Unspecified\";\n\n/**\n * Reason description if desired and actual state are different.\n */\nexport type AutomaticTuningServerReason = \"Default\" | \"Disabled\" | \"AutoConfigured\";\n\nexport type BlobAuditingPolicyName = \"default\";\n\n/**\n * Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required.\n */\nexport type BlobAuditingPolicyState = \"Enabled\" | \"Disabled\";\n\nexport type CurrentSensitivityLabelSource = \"current\";\n\n/**\n * The masking function that is used for the data masking rule.\n */\nexport type DataMaskingFunction = \"Default\" | \"CCN\" | \"Email\" | \"Number\" | \"SSN\" | \"Text\";\n\n/**\n * The rule state. Used to delete a rule. To delete an existing rule, specify the schemaName, tableName, columnName, maskingFunction, and specify ruleState as disabled. However, if the rule doesn't already exist, the rule will be created with ruleState set to enabled, regardless of the provided value of ruleState.\n */\nexport type DataMaskingRuleState = \"Enabled\" | \"Disabled\";\n\n/**\n * The state of the data masking policy.\n */\nexport type DataMaskingState = \"Enabled\" | \"Disabled\";\n\n/**\n * The state of the geo backup policy.\n */\nexport type GeoBackupPolicyState = \"Enabled\" | \"Disabled\";\n\n/**\n * Gets the method in which this recommended action can be manually implemented. e.g., TSql, AzurePowerShell.\n */\nexport type ImplementationMethod = \"TSql\" | \"AzurePowerShell\";\n\n/**\n * Gets whether the error could be ignored and recommended action could be retried. Possible values are: Yes/No\n */\nexport type IsRetryable = \"Yes\" | \"No\";\n\n/**\n * Schedule interval type\n */\nexport type JobScheduleType = \"Once\" | \"Recurring\";\n\n/**\n * Whether the target is included or excluded from the group.\n */\nexport type JobTargetGroupMembershipType = \"Include\" | \"Exclude\";\n\n/**\n * Specifies the state of ledger digest upload.\n */\nexport type LedgerDigestUploadsState = \"Enabled\" | \"Disabled\";\n\n/**\n * Gets if approval for applying this recommended action was given by user/system.\n */\nexport type RecommendedActionInitiatedBy = \"User\" | \"System\";\n\n/**\n * Local replication role.\n */\nexport type ReplicationRole = \"Primary\" | \"Secondary\" | \"NonReadableSecondary\" | \"Source\" | \"Copy\";\n\n/**\n * The type of restore point\n */\nexport type RestorePointType = \"CONTINUOUS\" | \"DISCRETE\";\n\n/**\n * Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database.\n */\nexport type SecurityAlertPolicyState = \"New\" | \"Enabled\" | \"Disabled\";\n\n/**\n * Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database.\n */\nexport type SecurityAlertsPolicyState = \"Enabled\" | \"Disabled\";\n\nexport type SensitivityLabelRank = \"None\" | \"Low\" | \"Medium\" | \"High\" | \"Critical\";\n\n/**\n * Specifies the state of the SQL Vulnerability Assessment, whether it is enabled or disabled or a state has not been applied yet on the specific database or server.\n */\nexport type SqlVulnerabilityAssessmentState = \"Enabled\" | \"Disabled\";\n\n/**\n * Specifies the state of the transparent data encryption.\n */\nexport type TransparentDataEncryptionState = \"Enabled\" | \"Disabled\";\n\nexport type VulnerabilityAssessmentPolicyBaselineName = \"master\" | \"default\";\n\n/**\n * The differential backup interval in hours. This is how many interval hours between each differential backup will be supported. This is only applicable to live databases but not dropped databases.\n *\n * Known values:\n *\n * - `12`: 12\n *\n * - `24`: 24\n */\nexport type DiffBackupIntervalInHours = number;\n\n/**\n * Properties of a active directory administrator.\n */\nexport interface AdministratorProperties {\n /**\n * Type of the sever administrator.\n */\n administratorType?: AdministratorType;\n /**\n * Azure Active Directory only Authentication enabled.\n */\n azureAdOnlyAuthentication?: boolean;\n /**\n * Login name of the server administrator.\n */\n login: string;\n /**\n * SID (object ID) of the server administrator.\n */\n sid: string;\n /**\n * Tenant ID of the administrator.\n */\n tenantId?: string;\n}\n\n/**\n * Input type for Properties of a active directory administrator.\n */\nexport interface AdministratorPropertiesInput extends InputOf<AdministratorProperties> {\n /**\n * Type of the sever administrator.\n */\n administratorType?: ExpressionOrValue<AdministratorType> | undefined;\n /**\n * Login name of the server administrator.\n */\n login: ExpressionOrValue<string>;\n /**\n * SID (object ID) of the server administrator.\n */\n sid: ExpressionOrValue<string>;\n /**\n * Tenant ID of the administrator.\n */\n tenantId?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties of a active directory administrator.\n */\nexport interface AdministratorPropertiesView extends InputOf<AdministratorProperties> {\n /**\n * Type of the sever administrator.\n */\n administratorType?: ExpressionOrValue<AdministratorType> | undefined;\n /**\n * Read-only output: Azure Active Directory only Authentication enabled.\n */\n readonly azureAdOnlyAuthentication?: Expression<boolean> | undefined;\n /**\n * Login name of the server administrator.\n */\n login: ExpressionOrValue<string>;\n /**\n * SID (object ID) of the server administrator.\n */\n sid: ExpressionOrValue<string>;\n /**\n * Tenant ID of the administrator.\n */\n tenantId?: ExpressionOrValue<string> | undefined;\n}\n\nexport const administratorPropertiesShape: FlatModelShape = createFlatModelShape({\n administratorType: { armPath: [\"administratorType\"], value: createUnionShape() },\n azureAdOnlyAuthentication: {\n armPath: [\"azureADOnlyAuthentication\"],\n value: createBooleanShape(),\n readOnly: true,\n },\n login: { armPath: [\"login\"], value: createStringShape() },\n sid: { armPath: [\"sid\"], value: createStringShape() },\n tenantId: { armPath: [\"tenantId\"], value: createStringShape() },\n});\n\n/**\n * Properties of an Advanced Threat Protection state.\n */\nexport interface AdvancedThreatProtectionProperties {\n /**\n * Specifies the UTC creation time of the policy.\n */\n creationTime?: Date;\n /**\n * Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been applied yet on the specific database or server.\n */\n state: AdvancedThreatProtectionState;\n}\n\n/**\n * Input type for Properties of an Advanced Threat Protection state.\n */\nexport interface AdvancedThreatProtectionPropertiesInput extends InputOf<AdvancedThreatProtectionProperties> {\n /**\n * Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been applied yet on the specific database or server.\n */\n state: ExpressionOrValue<AdvancedThreatProtectionState>;\n}\n\n/**\n * View type for Properties of an Advanced Threat Protection state.\n */\nexport interface AdvancedThreatProtectionPropertiesView extends InputOf<AdvancedThreatProtectionProperties> {\n /**\n * Read-only output: Specifies the UTC creation time of the policy.\n */\n readonly creationTime?: Expression<Date> | undefined;\n /**\n * Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been applied yet on the specific database or server.\n */\n state: ExpressionOrValue<AdvancedThreatProtectionState>;\n}\n\nexport const advancedThreatProtectionPropertiesShape: FlatModelShape = createFlatModelShape({\n creationTime: {\n armPath: [\"creationTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n state: { armPath: [\"state\"], value: createEnumShape() },\n});\n\n/**\n * Properties for a Database, Server or Elastic Pool Advisor.\n */\nexport interface AdvisorProperties {\n /**\n * Gets the status of availability of this advisor to customers. Possible values are 'GA', 'PublicPreview', 'LimitedPublicPreview' and 'PrivatePreview'.\n */\n advisorStatus?: AdvisorStatus;\n /**\n * Gets the auto-execute status (whether to let the system execute the recommendations) of this advisor. Possible values are 'Enabled' and 'Disabled'\n */\n autoExecuteStatus: AutoExecuteStatus;\n /**\n * Gets the resource from which current value of auto-execute status is inherited. Auto-execute status can be set on (and inherited from) different levels in the resource hierarchy. Possible values are 'Subscription', 'Server', 'ElasticPool', 'Database' and 'Default' (when status is not explicitly set on any level).\n */\n autoExecuteStatusInheritedFrom?: AutoExecuteStatusInheritedFrom;\n /**\n * Gets the time when the current resource was analyzed for recommendations by this advisor.\n */\n lastChecked?: Date;\n /**\n * Gets that status of recommendations for this advisor and reason for not having any recommendations. Possible values include, but are not limited to, 'Ok' (Recommendations available),LowActivity (not enough workload to analyze), 'DbSeemsTuned' (Database is doing well), etc.\n */\n recommendationsStatus?: string;\n /**\n * Gets the recommended actions for this advisor.\n */\n recommendedActions?: SqlRecommendedAction[];\n}\n\n/**\n * Input type for Properties for a Database, Server or Elastic Pool Advisor.\n */\nexport interface AdvisorPropertiesInput extends InputOf<AdvisorProperties> {\n /**\n * Gets the auto-execute status (whether to let the system execute the recommendations) of this advisor. Possible values are 'Enabled' and 'Disabled'\n */\n autoExecuteStatus: ExpressionOrValue<AutoExecuteStatus>;\n}\n\n/**\n * View type for Properties for a Database, Server or Elastic Pool Advisor.\n */\nexport interface AdvisorPropertiesView extends InputOf<AdvisorProperties> {\n /**\n * Read-only output: Gets the status of availability of this advisor to customers. Possible values are 'GA', 'PublicPreview', 'LimitedPublicPreview' and 'PrivatePreview'.\n */\n readonly advisorStatus?: Expression<AdvisorStatus> | undefined;\n /**\n * Gets the auto-execute status (whether to let the system execute the recommendations) of this advisor. Possible values are 'Enabled' and 'Disabled'\n */\n autoExecuteStatus: ExpressionOrValue<AutoExecuteStatus>;\n /**\n * Read-only output: Gets the resource from which current value of auto-execute status is inherited. Auto-execute status can be set on (and inherited from) different levels in the resource hierarchy. Possible values are 'Subscription', 'Server', 'ElasticPool', 'Database' and 'Default' (when status is not explicitly set on any level).\n */\n readonly autoExecuteStatusInheritedFrom?: Expression<AutoExecuteStatusInheritedFrom> | undefined;\n /**\n * Read-only output: Gets the time when the current resource was analyzed for recommendations by this advisor.\n */\n readonly lastChecked?: Expression<Date> | undefined;\n /**\n * Read-only output: Gets that status of recommendations for this advisor and reason for not having any recommendations. Possible values include, but are not limited to, 'Ok' (Recommendations available),LowActivity (not enough workload to analyze), 'DbSeemsTuned' (Database is doing well), etc.\n */\n readonly recommendationsStatus?: Expression<string> | undefined;\n /**\n * Read-only output: Gets the recommended actions for this advisor.\n */\n readonly recommendedActions?: Expression<SqlRecommendedAction[]> | undefined;\n}\n\nexport const advisorPropertiesShape: FlatModelShape = createFlatModelShape({\n advisorStatus: { armPath: [\"advisorStatus\"], value: createEnumShape(), readOnly: true },\n autoExecuteStatus: { armPath: [\"autoExecuteStatus\"], value: createEnumShape() },\n autoExecuteStatusInheritedFrom: {\n armPath: [\"autoExecuteStatusInheritedFrom\"],\n value: createEnumShape(),\n readOnly: true,\n },\n lastChecked: {\n armPath: [\"lastChecked\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n recommendationsStatus: {\n armPath: [\"recommendationsStatus\"],\n value: createStringShape(),\n readOnly: true,\n },\n recommendedActions: {\n armPath: [\"recommendedActions\"],\n value: createArrayShape(createDeferredShape(() => sqlRecommendedActionShape)),\n readOnly: true,\n },\n});\n\n/**\n * Automatic tuning properties for individual advisors.\n */\nexport interface AutomaticTuningOptions {\n /**\n * Automatic tuning option actual state.\n */\n actualState?: AutomaticTuningOptionModeActual;\n /**\n * Automatic tuning option desired state.\n */\n desiredState?: AutomaticTuningOptionModeDesired;\n /**\n * Reason code if desired and actual state are different.\n */\n reasonCode?: number;\n /**\n * Reason description if desired and actual state are different.\n */\n reasonDesc?: AutomaticTuningDisabledReason;\n}\n\n/**\n * Input type for Automatic tuning properties for individual advisors.\n */\nexport interface AutomaticTuningOptionsInput extends InputOf<AutomaticTuningOptions> {\n /**\n * Automatic tuning option desired state.\n */\n desiredState?: ExpressionOrValue<AutomaticTuningOptionModeDesired> | undefined;\n}\n\n/**\n * View type for Automatic tuning properties for individual advisors.\n */\nexport interface AutomaticTuningOptionsView extends InputOf<AutomaticTuningOptions> {\n /**\n * Read-only output: Automatic tuning option actual state.\n */\n readonly actualState?: Expression<AutomaticTuningOptionModeActual> | undefined;\n /**\n * Automatic tuning option desired state.\n */\n desiredState?: ExpressionOrValue<AutomaticTuningOptionModeDesired> | undefined;\n /**\n * Read-only output: Reason code if desired and actual state are different.\n */\n readonly reasonCode?: Expression<number> | undefined;\n /**\n * Read-only output: Reason description if desired and actual state are different.\n */\n readonly reasonDesc?: Expression<AutomaticTuningDisabledReason> | undefined;\n}\n\nexport const automaticTuningOptionsShape: FlatModelShape = createFlatModelShape({\n actualState: { armPath: [\"actualState\"], value: createEnumShape(), readOnly: true },\n desiredState: { armPath: [\"desiredState\"], value: createEnumShape() },\n reasonCode: { armPath: [\"reasonCode\"], value: createNumberShape(), readOnly: true },\n reasonDesc: { armPath: [\"reasonDesc\"], value: createEnumShape(), readOnly: true },\n});\n\n/**\n * Automatic tuning properties for individual advisors.\n */\nexport interface AutomaticTuningServerOptions {\n /**\n * Automatic tuning option actual state.\n */\n actualState?: AutomaticTuningOptionModeActual;\n /**\n * Automatic tuning option desired state.\n */\n desiredState?: AutomaticTuningOptionModeDesired;\n /**\n * Reason code if desired and actual state are different.\n */\n reasonCode?: number;\n /**\n * Reason description if desired and actual state are different.\n */\n reasonDesc?: AutomaticTuningServerReason;\n}\n\n/**\n * Input type for Automatic tuning properties for individual advisors.\n */\nexport interface AutomaticTuningServerOptionsInput extends InputOf<AutomaticTuningServerOptions> {\n /**\n * Automatic tuning option desired state.\n */\n desiredState?: ExpressionOrValue<AutomaticTuningOptionModeDesired> | undefined;\n}\n\n/**\n * View type for Automatic tuning properties for individual advisors.\n */\nexport interface AutomaticTuningServerOptionsView extends InputOf<AutomaticTuningServerOptions> {\n /**\n * Read-only output: Automatic tuning option actual state.\n */\n readonly actualState?: Expression<AutomaticTuningOptionModeActual> | undefined;\n /**\n * Automatic tuning option desired state.\n */\n desiredState?: ExpressionOrValue<AutomaticTuningOptionModeDesired> | undefined;\n /**\n * Read-only output: Reason code if desired and actual state are different.\n */\n readonly reasonCode?: Expression<number> | undefined;\n /**\n * Read-only output: Reason description if desired and actual state are different.\n */\n readonly reasonDesc?: Expression<AutomaticTuningServerReason> | undefined;\n}\n\nexport const automaticTuningServerOptionsShape: FlatModelShape = createFlatModelShape({\n actualState: { armPath: [\"actualState\"], value: createEnumShape(), readOnly: true },\n desiredState: { armPath: [\"desiredState\"], value: createEnumShape() },\n reasonCode: { armPath: [\"reasonCode\"], value: createNumberShape(), readOnly: true },\n reasonDesc: { armPath: [\"reasonDesc\"], value: createEnumShape(), readOnly: true },\n});\n\n/**\n * Server-level Automatic Tuning properties.\n */\nexport interface AutomaticTuningServerProperties {\n /**\n * Automatic tuning actual state.\n */\n actualState?: AutomaticTuningServerMode;\n /**\n * Automatic tuning desired state.\n */\n desiredState?: AutomaticTuningServerMode;\n /**\n * Automatic tuning options definition.\n */\n options?: Record<string, AutomaticTuningServerOptions>;\n}\n\n/**\n * Input type for Server-level Automatic Tuning properties.\n */\nexport interface AutomaticTuningServerPropertiesInput extends InputOf<AutomaticTuningServerProperties> {\n /**\n * Automatic tuning desired state.\n */\n desiredState?: ExpressionOrValue<AutomaticTuningServerMode> | undefined;\n /**\n * Automatic tuning options definition.\n */\n options?:\n | InputRecord<AutomaticTuningServerOptionsInput, Record<string, AutomaticTuningServerOptions>>\n | undefined;\n}\n\n/**\n * View type for Server-level Automatic Tuning properties.\n */\nexport interface AutomaticTuningServerPropertiesView extends InputOf<AutomaticTuningServerProperties> {\n /**\n * Read-only output: Automatic tuning actual state.\n */\n readonly actualState?: Expression<AutomaticTuningServerMode> | undefined;\n /**\n * Automatic tuning desired state.\n */\n desiredState?: ExpressionOrValue<AutomaticTuningServerMode> | undefined;\n /**\n * Automatic tuning options definition.\n */\n options?:\n | InputRecord<AutomaticTuningServerOptionsView, Record<string, AutomaticTuningServerOptions>>\n | undefined;\n}\n\nexport const automaticTuningServerPropertiesShape: FlatModelShape = createFlatModelShape({\n actualState: { armPath: [\"actualState\"], value: createEnumShape(), readOnly: true },\n desiredState: { armPath: [\"desiredState\"], value: createEnumShape() },\n options: {\n armPath: [\"options\"],\n value: createRecordShape(createDeferredShape(() => automaticTuningServerOptionsShape)),\n },\n});\n\n/**\n * Properties of a active directory only authentication.\n */\nexport interface AzureAdOnlyAuthProperties {\n /**\n * Azure Active Directory only Authentication enabled.\n */\n azureAdOnlyAuthentication: boolean;\n}\n\n/**\n * Input type for Properties of a active directory only authentication.\n */\nexport interface AzureAdOnlyAuthPropertiesInput extends InputOf<AzureAdOnlyAuthProperties> {\n /**\n * Azure Active Directory only Authentication enabled.\n */\n azureAdOnlyAuthentication: ExpressionOrValue<boolean>;\n}\n\n/**\n * View type for Properties of a active directory only authentication.\n */\nexport type AzureAdOnlyAuthPropertiesView = AzureAdOnlyAuthPropertiesInput;\n\nexport const azureAdOnlyAuthPropertiesShape: FlatModelShape = createFlatModelShape({\n azureAdOnlyAuthentication: {\n armPath: [\"azureADOnlyAuthentication\"],\n value: createBooleanShape(),\n },\n});\n\n/**\n * Properties of a short term retention policy\n */\nexport interface BackupShortTermRetentionPolicyProperties {\n /**\n * The differential backup interval in hours. This is how many interval hours between each differential backup will be supported. This is only applicable to live databases but not dropped databases.\n */\n diffBackupIntervalInHours?: DiffBackupIntervalInHours;\n /**\n * The backup retention period in days. This is how many days Point-in-Time Restore will be supported.\n */\n retentionDays?: number;\n}\n\n/**\n * Input type for Properties of a short term retention policy\n */\nexport interface BackupShortTermRetentionPolicyPropertiesInput extends InputOf<BackupShortTermRetentionPolicyProperties> {\n /**\n * The differential backup interval in hours. This is how many interval hours between each differential backup will be supported. This is only applicable to live databases but not dropped databases.\n */\n diffBackupIntervalInHours?: ExpressionOrValue<DiffBackupIntervalInHours> | undefined;\n /**\n * The backup retention period in days. This is how many days Point-in-Time Restore will be supported.\n */\n retentionDays?: ExpressionOrValue<number> | undefined;\n}\n\n/**\n * View type for Properties of a short term retention policy\n */\nexport type BackupShortTermRetentionPolicyPropertiesView =\n BackupShortTermRetentionPolicyPropertiesInput;\n\nexport const backupShortTermRetentionPolicyPropertiesShape: FlatModelShape = createFlatModelShape({\n diffBackupIntervalInHours: { armPath: [\"diffBackupIntervalInHours\"], value: createUnionShape() },\n retentionDays: { armPath: [\"retentionDays\"], value: createNumberShape() },\n});\n\n/**\n * SQL Vulnerability Assessment baseline Details\n */\nexport interface Baseline {\n /**\n * SQL Vulnerability Assessment baseline expected results\n */\n expectedResults?: string[][];\n /**\n * SQL Vulnerability Assessment baseline update time (UTC)\n */\n updatedTime?: Date;\n}\n\n/**\n * Input type for SQL Vulnerability Assessment baseline Details\n */\nexport interface BaselineInput extends InputOf<Baseline> {}\n\n/**\n * View type for SQL Vulnerability Assessment baseline Details\n */\nexport interface BaselineView extends InputOf<Baseline> {\n /**\n * Read-only output: SQL Vulnerability Assessment baseline expected results\n */\n readonly expectedResults?: Expression<string[][]> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment baseline update time (UTC)\n */\n readonly updatedTime?: Expression<Date> | undefined;\n}\n\nexport const baselineShape: FlatModelShape = createFlatModelShape({\n expectedResults: {\n armPath: [\"expectedResults\"],\n value: createArrayShape(createArrayShape(createStringShape())),\n readOnly: true,\n },\n updatedTime: {\n armPath: [\"updatedTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n});\n\n/**\n * SQL Vulnerability Assessment baseline adjusted results\n */\nexport interface BaselineAdjustedResult {\n /**\n * SQL Vulnerability Assessment baseline details\n */\n baseline?: Baseline;\n /**\n * SQL Vulnerability Assessment results that are not in baseline\n */\n resultsNotInBaseline?: string[][];\n /**\n * SQL Vulnerability Assessment results that are in baseline.\n */\n resultsOnlyInBaseline?: string[][];\n /**\n * SQL Vulnerability Assessment baseline status\n */\n status?: RuleStatus;\n}\n\n/**\n * Input type for SQL Vulnerability Assessment baseline adjusted results\n */\nexport interface BaselineAdjustedResultInput extends InputOf<BaselineAdjustedResult> {}\n\n/**\n * View type for SQL Vulnerability Assessment baseline adjusted results\n */\nexport interface BaselineAdjustedResultView extends InputOf<BaselineAdjustedResult> {\n /**\n * Read-only output: SQL Vulnerability Assessment baseline details\n */\n readonly baseline?: Expression<Baseline> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment results that are not in baseline\n */\n readonly resultsNotInBaseline?: Expression<string[][]> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment results that are in baseline.\n */\n readonly resultsOnlyInBaseline?: Expression<string[][]> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment baseline status\n */\n readonly status?: Expression<RuleStatus> | undefined;\n}\n\nexport const baselineAdjustedResultShape: FlatModelShape = createFlatModelShape({\n baseline: {\n armPath: [\"baseline\"],\n value: createDeferredShape(() => baselineShape),\n readOnly: true,\n },\n resultsNotInBaseline: {\n armPath: [\"resultsNotInBaseline\"],\n value: createArrayShape(createArrayShape(createStringShape())),\n readOnly: true,\n },\n resultsOnlyInBaseline: {\n armPath: [\"resultsOnlyInBaseline\"],\n value: createArrayShape(createArrayShape(createStringShape())),\n readOnly: true,\n },\n status: { armPath: [\"status\"], value: createUnionShape(), readOnly: true },\n});\n\n/**\n * SQL Vulnerability Assessment benchmark reference\n */\nexport interface BenchmarkReference {\n /**\n * SQL Vulnerability Assessment benchmark name\n */\n benchmark?: string;\n /**\n * SQL Vulnerability Assessment benchmark reference.\n */\n reference?: string;\n}\n\n/**\n * Input type for SQL Vulnerability Assessment benchmark reference\n */\nexport interface BenchmarkReferenceInput extends InputOf<BenchmarkReference> {}\n\n/**\n * View type for SQL Vulnerability Assessment benchmark reference\n */\nexport interface BenchmarkReferenceView extends InputOf<BenchmarkReference> {\n /**\n * Read-only output: SQL Vulnerability Assessment benchmark name\n */\n readonly benchmark?: Expression<string> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment benchmark reference.\n */\n readonly reference?: Expression<string> | undefined;\n}\n\nexport const benchmarkReferenceShape: FlatModelShape = createFlatModelShape({\n benchmark: { armPath: [\"benchmark\"], value: createStringShape(), readOnly: true },\n reference: { armPath: [\"reference\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * Certificate information\n */\nexport interface CertificateInfo {\n /**\n * The certificate name\n */\n certificateName?: string;\n /**\n * The certificate expiry date\n */\n expiryDate?: Date;\n}\n\n/**\n * Input type for Certificate information\n */\nexport interface CertificateInfoInput extends InputOf<CertificateInfo> {}\n\n/**\n * View type for Certificate information\n */\nexport interface CertificateInfoView extends InputOf<CertificateInfo> {\n /**\n * Read-only output: The certificate name\n */\n readonly certificateName?: Expression<string> | undefined;\n /**\n * Read-only output: The certificate expiry date\n */\n readonly expiryDate?: Expression<Date> | undefined;\n}\n\nexport const certificateInfoShape: FlatModelShape = createFlatModelShape({\n certificateName: { armPath: [\"certificateName\"], value: createStringShape(), readOnly: true },\n expiryDate: {\n armPath: [\"expiryDate\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n});\n\n/**\n * Database-level Automatic Tuning properties.\n */\nexport interface DatabaseAutomaticTuningProperties {\n /**\n * Automatic tuning actual state.\n */\n actualState?: AutomaticTuningMode;\n /**\n * Automatic tuning desired state.\n */\n desiredState?: AutomaticTuningMode;\n /**\n * Automatic tuning options definition.\n */\n options?: Record<string, AutomaticTuningOptions>;\n}\n\n/**\n * Input type for Database-level Automatic Tuning properties.\n */\nexport interface DatabaseAutomaticTuningPropertiesInput extends InputOf<DatabaseAutomaticTuningProperties> {\n /**\n * Automatic tuning desired state.\n */\n desiredState?: ExpressionOrValue<AutomaticTuningMode> | undefined;\n /**\n * Automatic tuning options definition.\n */\n options?:\n InputRecord<AutomaticTuningOptionsInput, Record<string, AutomaticTuningOptions>> | undefined;\n}\n\n/**\n * View type for Database-level Automatic Tuning properties.\n */\nexport interface DatabaseAutomaticTuningPropertiesView extends InputOf<DatabaseAutomaticTuningProperties> {\n /**\n * Read-only output: Automatic tuning actual state.\n */\n readonly actualState?: Expression<AutomaticTuningMode> | undefined;\n /**\n * Automatic tuning desired state.\n */\n desiredState?: ExpressionOrValue<AutomaticTuningMode> | undefined;\n /**\n * Automatic tuning options definition.\n */\n options?:\n InputRecord<AutomaticTuningOptionsView, Record<string, AutomaticTuningOptions>> | undefined;\n}\n\nexport const databaseAutomaticTuningPropertiesShape: FlatModelShape = createFlatModelShape({\n actualState: { armPath: [\"actualState\"], value: createEnumShape(), readOnly: true },\n desiredState: { armPath: [\"desiredState\"], value: createEnumShape() },\n options: {\n armPath: [\"options\"],\n value: createRecordShape(createDeferredShape(() => automaticTuningOptionsShape)),\n },\n});\n\n/**\n * Properties of a database blob auditing policy.\n */\nexport interface DatabaseBlobAuditingPolicyProperties {\n /**\n * Specifies the Actions-Groups and Actions to audit.\n *\n * The recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins:\n *\n * BATCH_COMPLETED_GROUP,\n * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,\n * FAILED_DATABASE_AUTHENTICATION_GROUP.\n *\n * This above combination is also the set that is configured by default when enabling auditing from the Azure portal.\n *\n * The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records):\n *\n * APPLICATION_ROLE_CHANGE_PASSWORD_GROUP\n * BACKUP_RESTORE_GROUP\n * DATABASE_LOGOUT_GROUP\n * DATABASE_OBJECT_CHANGE_GROUP\n * DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP\n * DATABASE_OBJECT_PERMISSION_CHANGE_GROUP\n * DATABASE_OPERATION_GROUP\n * DATABASE_PERMISSION_CHANGE_GROUP\n * DATABASE_PRINCIPAL_CHANGE_GROUP\n * DATABASE_PRINCIPAL_IMPERSONATION_GROUP\n * DATABASE_ROLE_MEMBER_CHANGE_GROUP\n * FAILED_DATABASE_AUTHENTICATION_GROUP\n * SCHEMA_OBJECT_ACCESS_GROUP\n * SCHEMA_OBJECT_CHANGE_GROUP\n * SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP\n * SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP\n * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP\n * USER_CHANGE_PASSWORD_GROUP\n * BATCH_STARTED_GROUP\n * BATCH_COMPLETED_GROUP\n * DBCC_GROUP\n * DATABASE_OWNERSHIP_CHANGE_GROUP\n * DATABASE_CHANGE_GROUP\n * LEDGER_OPERATION_GROUP\n *\n * These are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs.\n *\n * For more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups).\n *\n * For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are:\n * SELECT\n * UPDATE\n * INSERT\n * DELETE\n * EXECUTE\n * RECEIVE\n * REFERENCES\n *\n * The general form for defining an action to be audited is:\n * {action} ON {object} BY {principal}\n *\n * Note that <object> in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively.\n *\n * For example:\n * SELECT on dbo.myTable by public\n * SELECT on DATABASE::myDatabase by public\n * SELECT on SCHEMA::mySchema by public\n *\n * For more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions)\n */\n auditActionsAndGroups?: string[];\n /**\n * Specifies whether audit events are sent to Azure Monitor.\n * In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true.\n *\n * When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created.\n * Note that for server level audit you should use the 'master' database as {databaseName}.\n *\n * Diagnostic Settings URI format:\n * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\n *\n * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\n * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\n */\n isAzureMonitorTargetEnabled?: boolean;\n /**\n * Specifies whether Managed Identity is used to access blob storage\n */\n isManagedIdentityInUse?: boolean;\n /**\n * Specifies whether storageAccountAccessKey value is the storage's secondary key.\n */\n isStorageSecondaryKeyInUse?: boolean;\n /**\n * Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed.\n * The default minimum value is 1000 (1 second). The maximum is 2,147,483,647.\n */\n queueDelayMs?: number;\n /**\n * Specifies the number of days to keep in the audit logs in the storage account.\n */\n retentionDays?: number;\n /**\n * Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required.\n */\n state: BlobAuditingPolicyState;\n /**\n * Specifies the identifier key of the auditing storage account.\n * If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage.\n * Prerequisites for using managed identity authentication:\n * 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).\n * 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity.\n * For more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355)\n */\n storageAccountAccessKey?: string;\n /**\n * Specifies the blob storage subscription Id.\n */\n storageAccountSubscriptionId?: string;\n /**\n * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required.\n */\n storageEndpoint?: string;\n}\n\n/**\n * Input type for Properties of a database blob auditing policy.\n */\nexport interface DatabaseBlobAuditingPolicyPropertiesInput extends InputOf<DatabaseBlobAuditingPolicyProperties> {\n /**\n * Specifies the Actions-Groups and Actions to audit.\n *\n * The recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins:\n *\n * BATCH_COMPLETED_GROUP,\n * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,\n * FAILED_DATABASE_AUTHENTICATION_GROUP.\n *\n * This above combination is also the set that is configured by default when enabling auditing from the Azure portal.\n *\n * The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records):\n *\n * APPLICATION_ROLE_CHANGE_PASSWORD_GROUP\n * BACKUP_RESTORE_GROUP\n * DATABASE_LOGOUT_GROUP\n * DATABASE_OBJECT_CHANGE_GROUP\n * DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP\n * DATABASE_OBJECT_PERMISSION_CHANGE_GROUP\n * DATABASE_OPERATION_GROUP\n * DATABASE_PERMISSION_CHANGE_GROUP\n * DATABASE_PRINCIPAL_CHANGE_GROUP\n * DATABASE_PRINCIPAL_IMPERSONATION_GROUP\n * DATABASE_ROLE_MEMBER_CHANGE_GROUP\n * FAILED_DATABASE_AUTHENTICATION_GROUP\n * SCHEMA_OBJECT_ACCESS_GROUP\n * SCHEMA_OBJECT_CHANGE_GROUP\n * SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP\n * SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP\n * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP\n * USER_CHANGE_PASSWORD_GROUP\n * BATCH_STARTED_GROUP\n * BATCH_COMPLETED_GROUP\n * DBCC_GROUP\n * DATABASE_OWNERSHIP_CHANGE_GROUP\n * DATABASE_CHANGE_GROUP\n * LEDGER_OPERATION_GROUP\n *\n * These are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs.\n *\n * For more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups).\n *\n * For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are:\n * SELECT\n * UPDATE\n * INSERT\n * DELETE\n * EXECUTE\n * RECEIVE\n * REFERENCES\n *\n * The general form for defining an action to be audited is:\n * {action} ON {object} BY {principal}\n *\n * Note that <object> in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively.\n *\n * For example:\n * SELECT on dbo.myTable by public\n * SELECT on DATABASE::myDatabase by public\n * SELECT on SCHEMA::mySchema by public\n *\n * For more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions)\n */\n auditActionsAndGroups?: InputArray<ExpressionOrValue<string>, string[]> | undefined;\n /**\n * Specifies whether audit events are sent to Azure Monitor.\n * In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true.\n *\n * When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created.\n * Note that for server level audit you should use the 'master' database as {databaseName}.\n *\n * Diagnostic Settings URI format:\n * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\n *\n * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\n * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\n */\n isAzureMonitorTargetEnabled?: ExpressionOrValue<boolean> | undefined;\n /**\n * Specifies whether Managed Identity is used to access blob storage\n */\n isManagedIdentityInUse?: ExpressionOrValue<boolean> | undefined;\n /**\n * Specifies whether storageAccountAccessKey value is the storage's secondary key.\n */\n isStorageSecondaryKeyInUse?: ExpressionOrValue<boolean> | undefined;\n /**\n * Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed.\n * The default minimum value is 1000 (1 second). The maximum is 2,147,483,647.\n */\n queueDelayMs?: ExpressionOrValue<number> | undefined;\n /**\n * Specifies the number of days to keep in the audit logs in the storage account.\n */\n retentionDays?: ExpressionOrValue<number> | undefined;\n /**\n * Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required.\n */\n state: ExpressionOrValue<BlobAuditingPolicyState>;\n /**\n * Specifies the identifier key of the auditing storage account.\n * If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage.\n * Prerequisites for using managed identity authentication:\n * 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).\n * 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity.\n * For more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355)\n */\n storageAccountAccessKey?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the blob storage subscription Id.\n */\n storageAccountSubscriptionId?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required.\n */\n storageEndpoint?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties of a database blob auditing policy.\n */\nexport type DatabaseBlobAuditingPolicyPropertiesView = DatabaseBlobAuditingPolicyPropertiesInput;\n\nexport const databaseBlobAuditingPolicyPropertiesShape: FlatModelShape = createFlatModelShape({\n auditActionsAndGroups: {\n armPath: [\"auditActionsAndGroups\"],\n value: createArrayShape(createStringShape()),\n },\n isAzureMonitorTargetEnabled: {\n armPath: [\"isAzureMonitorTargetEnabled\"],\n value: createBooleanShape(),\n },\n isManagedIdentityInUse: { armPath: [\"isManagedIdentityInUse\"], value: createBooleanShape() },\n isStorageSecondaryKeyInUse: {\n armPath: [\"isStorageSecondaryKeyInUse\"],\n value: createBooleanShape(),\n },\n queueDelayMs: { armPath: [\"queueDelayMs\"], value: createNumberShape() },\n retentionDays: { armPath: [\"retentionDays\"], value: createNumberShape() },\n state: { armPath: [\"state\"], value: createEnumShape() },\n storageAccountAccessKey: { armPath: [\"storageAccountAccessKey\"], value: createStringShape() },\n storageAccountSubscriptionId: {\n armPath: [\"storageAccountSubscriptionId\"],\n value: createStringShape(),\n },\n storageEndpoint: { armPath: [\"storageEndpoint\"], value: createStringShape() },\n});\n\n/**\n * Database column properties.\n */\nexport interface DatabaseColumnProperties {\n /**\n * The column data type.\n */\n columnType?: ColumnDataType;\n /**\n * Whether or not the column is computed.\n */\n isComputed?: boolean;\n /**\n * Whether or not the column belongs to a memory optimized table.\n */\n memoryOptimized?: boolean;\n /**\n * The table temporal type.\n */\n temporalType?: TableTemporalType;\n}\n\n/**\n * Input type for Database column properties.\n */\nexport interface DatabaseColumnPropertiesInput extends InputOf<DatabaseColumnProperties> {}\n\n/**\n * View type for Database column properties.\n */\nexport interface DatabaseColumnPropertiesView extends InputOf<DatabaseColumnProperties> {\n /**\n * Read-only output: The column data type.\n */\n readonly columnType?: Expression<ColumnDataType> | undefined;\n /**\n * Read-only output: Whether or not the column is computed.\n */\n readonly isComputed?: Expression<boolean> | undefined;\n /**\n * Read-only output: Whether or not the column belongs to a memory optimized table.\n */\n readonly memoryOptimized?: Expression<boolean> | undefined;\n /**\n * Read-only output: The table temporal type.\n */\n readonly temporalType?: Expression<TableTemporalType> | undefined;\n}\n\nexport const databaseColumnPropertiesShape: FlatModelShape = createFlatModelShape({\n columnType: { armPath: [\"columnType\"], value: createUnionShape(), readOnly: true },\n isComputed: { armPath: [\"isComputed\"], value: createBooleanShape(), readOnly: true },\n memoryOptimized: { armPath: [\"memoryOptimized\"], value: createBooleanShape(), readOnly: true },\n temporalType: { armPath: [\"temporalType\"], value: createUnionShape(), readOnly: true },\n});\n\n/**\n * Contains the database information after a successful Import, Export, or PolybaseImport\n */\nexport interface DatabaseExtensionsProperties {\n /**\n * Administrator login name. If AuthenticationType is ManagedIdentity, this field should specify the Managed Identity's resource ID.\n */\n administratorLogin?: string;\n /**\n * Administrator login password. If AuthenticationType is ManagedIdentity, this field should not be specified.\n */\n administratorLoginPassword?: string;\n /**\n * Authentication type used to access the SQL: Sql, ADPassword or ManagedIdentity.\n */\n authenticationType?: string;\n /**\n * Database edition for the newly created database in the case of an import operation.\n */\n databaseEdition?: string;\n /**\n * Database max size in bytes for the newly created database in the case of an import operation.\n */\n maxSizeBytes?: string;\n /**\n * Optional resource information to enable network isolation for request.\n */\n networkIsolation?: NetworkIsolationSettings;\n /**\n * Operation mode of the operation: Import, Export, or PolybaseImport.\n */\n operationMode: OperationMode;\n /**\n * Database service level objective for the newly created database in the case of an import operation.\n */\n serviceObjectiveName?: string;\n /**\n * Storage key for the storage account. If StorageKeyType is ManagedIdentity, this field should specify the Managed Identity's resource ID.\n */\n storageKey: string;\n /**\n * Storage key type: StorageAccessKey, SharedAccessKey or ManagedIdentity.\n */\n storageKeyType: StorageKeyType;\n /**\n * Storage Uri for the storage account.\n */\n storageUri: string;\n}\n\n/**\n * Input type for Contains the database information after a successful Import, Export, or PolybaseImport\n */\nexport interface DatabaseExtensionsPropertiesInput extends InputOf<DatabaseExtensionsProperties> {\n /**\n * Administrator login name. If AuthenticationType is ManagedIdentity, this field should specify the Managed Identity's resource ID.\n */\n administratorLogin?: ExpressionOrValue<string> | undefined;\n /**\n * Administrator login password. If AuthenticationType is ManagedIdentity, this field should not be specified.\n */\n administratorLoginPassword?: ExpressionOrValue<string> | undefined;\n /**\n * Authentication type used to access the SQL: Sql, ADPassword or ManagedIdentity.\n */\n authenticationType?: ExpressionOrValue<string> | undefined;\n /**\n * Database edition for the newly created database in the case of an import operation.\n */\n databaseEdition?: ExpressionOrValue<string> | undefined;\n /**\n * Database max size in bytes for the newly created database in the case of an import operation.\n */\n maxSizeBytes?: ExpressionOrValue<string> | undefined;\n /**\n * Optional resource information to enable network isolation for request.\n */\n networkIsolation?: NetworkIsolationSettingsInput | undefined;\n /**\n * Operation mode of the operation: Import, Export, or PolybaseImport.\n */\n operationMode: ExpressionOrValue<OperationMode>;\n /**\n * Database service level objective for the newly created database in the case of an import operation.\n */\n serviceObjectiveName?: ExpressionOrValue<string> | undefined;\n /**\n * Storage key for the storage account. If StorageKeyType is ManagedIdentity, this field should specify the Managed Identity's resource ID.\n */\n storageKey: ExpressionOrValue<string>;\n /**\n * Storage key type: StorageAccessKey, SharedAccessKey or ManagedIdentity.\n */\n storageKeyType: ExpressionOrValue<StorageKeyType>;\n /**\n * Storage Uri for the storage account.\n */\n storageUri: ExpressionOrValue<string>;\n}\n\n/**\n * View type for Contains the database information after a successful Import, Export, or PolybaseImport\n */\nexport type DatabaseExtensionsPropertiesView = DatabaseExtensionsPropertiesInput;\n\nexport const databaseExtensionsPropertiesShape: FlatModelShape = createFlatModelShape({\n administratorLogin: { armPath: [\"administratorLogin\"], value: createStringShape() },\n administratorLoginPassword: {\n armPath: [\"administratorLoginPassword\"],\n value: createStringShape(),\n },\n authenticationType: { armPath: [\"authenticationType\"], value: createStringShape() },\n databaseEdition: { armPath: [\"databaseEdition\"], value: createStringShape() },\n maxSizeBytes: { armPath: [\"maxSizeBytes\"], value: createStringShape() },\n networkIsolation: {\n armPath: [\"networkIsolation\"],\n value: createDeferredShape(() => networkIsolationSettingsShape),\n },\n operationMode: { armPath: [\"operationMode\"], value: createUnionShape() },\n serviceObjectiveName: { armPath: [\"serviceObjectiveName\"], value: createStringShape() },\n storageKey: { armPath: [\"storageKey\"], value: createStringShape() },\n storageKeyType: { armPath: [\"storageKeyType\"], value: createUnionShape() },\n storageUri: { armPath: [\"storageUri\"], value: createStringShape() },\n});\n\n/**\n * Azure Active Directory identity configuration for a resource.\n */\nexport interface DatabaseIdentity {\n /**\n * The Azure Active Directory tenant id.\n */\n tenantId?: string;\n /**\n * The identity type\n */\n type?: DatabaseIdentityType;\n /**\n * The resource ids of the user assigned identities to use\n */\n userAssignedIdentities?: Record<string, DatabaseUserIdentity>;\n}\n\n/**\n * Input type for Azure Active Directory identity configuration for a resource.\n */\nexport interface DatabaseIdentityInput extends InputOf<DatabaseIdentity> {\n /**\n * The identity type\n */\n type?: ExpressionOrValue<DatabaseIdentityType> | undefined;\n /**\n * The resource ids of the user assigned identities to use\n */\n userAssignedIdentities?:\n InputRecord<DatabaseUserIdentityInput, Record<string, DatabaseUserIdentity>> | undefined;\n}\n\n/**\n * View type for Azure Active Directory identity configuration for a resource.\n */\nexport interface DatabaseIdentityView extends InputOf<DatabaseIdentity> {\n /**\n * Read-only output: The Azure Active Directory tenant id.\n */\n readonly tenantId?: Expression<string> | undefined;\n /**\n * The identity type\n */\n type?: ExpressionOrValue<DatabaseIdentityType> | undefined;\n /**\n * The resource ids of the user assigned identities to use\n */\n userAssignedIdentities?:\n InputRecord<DatabaseUserIdentityView, Record<string, DatabaseUserIdentity>> | undefined;\n}\n\nexport const databaseIdentityShape: FlatModelShape = createFlatModelShape({\n tenantId: { armPath: [\"tenantId\"], value: createStringShape(), readOnly: true },\n type: { armPath: [\"type\"], value: createUnionShape() },\n userAssignedIdentities: {\n armPath: [\"userAssignedIdentities\"],\n value: createRecordShape(createDeferredShape(() => databaseUserIdentityShape)),\n },\n});\n\n/**\n * Database level key used for encryption at rest.\n */\nexport interface DatabaseKey {\n /**\n * The database key creation date.\n */\n creationDate?: Date;\n /**\n * The database key's version.\n */\n keyVersion?: string;\n /**\n * Subregion of the server key.\n */\n subregion?: string;\n /**\n * Thumbprint of the database key.\n */\n thumbprint?: string;\n /**\n * The database key type. Only supported value is 'AzureKeyVault'.\n */\n type?: DatabaseKeyType;\n}\n\n/**\n * Input type for Database level key used for encryption at rest.\n */\nexport interface DatabaseKeyInput extends InputOf<DatabaseKey> {}\n\n/**\n * View type for Database level key used for encryption at rest.\n */\nexport interface DatabaseKeyView extends InputOf<DatabaseKey> {\n /**\n * Read-only output: The database key creation date.\n */\n readonly creationDate?: Expression<Date> | undefined;\n /**\n * Read-only output: The database key's version.\n */\n readonly keyVersion?: Expression<string> | undefined;\n /**\n * Read-only output: Subregion of the server key.\n */\n readonly subregion?: Expression<string> | undefined;\n /**\n * Read-only output: Thumbprint of the database key.\n */\n readonly thumbprint?: Expression<string> | undefined;\n /**\n * Read-only output: The database key type. Only supported value is 'AzureKeyVault'.\n */\n readonly type?: Expression<DatabaseKeyType> | undefined;\n}\n\nexport const databaseKeyShape: FlatModelShape = createFlatModelShape({\n creationDate: {\n armPath: [\"creationDate\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n keyVersion: { armPath: [\"keyVersion\"], value: createStringShape(), readOnly: true },\n subregion: { armPath: [\"subregion\"], value: createStringShape(), readOnly: true },\n thumbprint: { armPath: [\"thumbprint\"], value: createStringShape(), readOnly: true },\n type: { armPath: [\"type\"], value: createUnionShape(), readOnly: true },\n});\n\n/**\n * The database's properties.\n */\nexport interface DatabaseProperties {\n /**\n * Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled\n */\n autoPauseDelay?: number;\n /**\n * Specifies the availability zone the database is pinned to.\n */\n availabilityZone?: AvailabilityZoneType;\n /**\n * Collation of the metadata catalog.\n */\n catalogCollation?: CatalogCollationType;\n /**\n * The collation of the database.\n */\n collation?: string;\n /**\n * Specifies the mode of database creation.\n *\n * Default: regular database creation.\n *\n * Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database.\n *\n * Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database.\n *\n * PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified.\n *\n * Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore.\n *\n * Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time.\n *\n * RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.\n *\n * Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.\n */\n createMode?: CreateMode;\n /**\n * The creation date of the database (ISO8601 format).\n */\n creationDate?: Date;\n /**\n * The storage account type used to store backups for this database.\n */\n currentBackupStorageRedundancy?: BackupStorageRedundancy;\n /**\n * The current service level objective name of the database.\n */\n currentServiceObjectiveName?: string;\n /**\n * The name and tier of the SKU.\n */\n currentSku?: Sku;\n /**\n * The ID of the database.\n */\n databaseId?: string;\n /**\n * The default secondary region for this database.\n */\n defaultSecondaryLocation?: string;\n /**\n * This records the earliest start date and time that restore is available for this database (ISO8601 format).\n */\n earliestRestoreDate?: Date;\n /**\n * The resource identifier of the elastic pool containing this database.\n */\n elasticPoolId?: string;\n /**\n * The azure key vault URI of the database if it's configured with per Database Customer Managed Keys.\n */\n encryptionProtector?: string;\n /**\n * The flag to enable or disable auto rotation of database encryption protector AKV key.\n */\n encryptionProtectorAutoRotation?: boolean;\n /**\n * Failover Group resource identifier that this database belongs to.\n */\n failoverGroupId?: string;\n /**\n * The Client id used for cross tenant per database CMK scenario\n */\n federatedClientId?: string;\n /**\n * Specifies the behavior when monthly free limits are exhausted for the free database.\n *\n * AutoPause: The database will be auto paused upon exhaustion of free limits for remainder of the month.\n *\n * BillForUsage: The database will continue to be online upon exhaustion of free limits and any overage will be billed.\n */\n freeLimitExhaustionBehavior?: FreeLimitExhaustionBehavior;\n /**\n * The number of secondary replicas associated with the Business Critical, Premium, or Hyperscale edition database that are used to provide high availability. Not applicable to a Hyperscale database within an elastic pool.\n */\n highAvailabilityReplicaCount?: number;\n /**\n * Infra encryption is enabled for this database.\n */\n isInfraEncryptionEnabled?: boolean;\n /**\n * Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created.\n */\n isLedgerOn?: boolean;\n /**\n * The resource ids of the user assigned identities to use\n */\n keys?: Record<string, DatabaseKey>;\n /**\n * The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you have a license and are eligible for the Azure Hybrid Benefit.\n */\n licenseType?: DatabaseLicenseType;\n /**\n * The resource identifier of the long term retention backup associated with create operation of this database.\n */\n longTermRetentionBackupResourceId?: string;\n /**\n * Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur.\n */\n maintenanceConfigurationId?: string;\n /**\n * Whether or not customer controlled manual cutover needs to be done during Update Database operation to Hyperscale tier.\n *\n * This property is only applicable when scaling database from Business Critical/General Purpose/Premium/Standard tier to Hyperscale tier.\n *\n * When manualCutover is specified, the scaling operation will wait for user input to trigger cutover to Hyperscale database.\n *\n * To trigger cutover, please provide 'performCutover' parameter when the Scaling operation is in Waiting state.\n */\n manualCutover?: boolean;\n /**\n * The max log size for this database.\n */\n maxLogSizeBytes?: number;\n /**\n * The max size of the database expressed in bytes.\n */\n maxSizeBytes?: number;\n /**\n * Minimal capacity that database will always have allocated, if not paused\n */\n minCapacity?: number;\n /**\n * The date when database was paused by user configuration or action(ISO8601 format). Null if the database is ready.\n */\n pausedDate?: Date;\n /**\n * To trigger customer controlled manual cutover during the wait state while Scaling operation is in progress.\n *\n * This property parameter is only applicable for scaling operations that are initiated along with 'manualCutover' parameter.\n *\n * This property is only applicable when scaling database from Business Critical/General Purpose/Premium/Standard tier to Hyperscale tier is already in progress.\n *\n * When performCutover is specified, the scaling operation will trigger cutover and perform role-change to Hyperscale database.\n */\n performCutover?: boolean;\n /**\n * Type of enclave requested on the database i.e. Default or VBS enclaves.\n */\n preferredEnclaveType?: AlwaysEncryptedEnclaveType;\n /**\n * The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale database within an elastic pool.\n */\n readScale?: DatabaseReadScale;\n /**\n * The resource identifier of the recoverable database associated with create operation of this database.\n */\n recoverableDatabaseId?: string;\n /**\n * The resource identifier of the recovery point associated with create operation of this database.\n */\n recoveryServicesRecoveryPointId?: string;\n /**\n * The storage account type to be used to store backups for this database.\n */\n requestedBackupStorageRedundancy?: BackupStorageRedundancy;\n /**\n * The requested service level objective name of the database.\n */\n requestedServiceObjectiveName?: string;\n /**\n * The resource identifier of the restorable dropped database associated with create operation of this database.\n */\n restorableDroppedDatabaseId?: string;\n /**\n * Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.\n */\n restorePointInTime?: Date;\n /**\n * The date when database was resumed by user action or database login (ISO8601 format). Null if the database is paused.\n */\n resumedDate?: Date;\n /**\n * The name of the sample schema to apply when creating this database.\n */\n sampleName?: SampleName;\n /**\n * The secondary type of the database if it is a secondary. Valid values are Geo, Named and Standby.\n */\n secondaryType?: SecondaryType;\n /**\n * Specifies the time that the database was deleted.\n */\n sourceDatabaseDeletionDate?: Date;\n /**\n * The resource identifier of the source database associated with create operation of this database.\n */\n sourceDatabaseId?: string;\n /**\n * The resource identifier of the source associated with the create operation of this database.\n *\n * This property is only supported for DataWarehouse edition and allows to restore across subscriptions.\n *\n * When sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover.\n *\n * When createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql pool, and restorePointInTime must be specified.\n *\n * When createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable dropped sql pool.\n *\n * When createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool.\n *\n * When source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” header must contain authentication token for the source tenant. For more details about “x-ms-authorization-auxiliary” header see https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant\n */\n sourceResourceId?: string;\n /**\n * The status of the database.\n */\n status?: DatabaseStatus;\n /**\n * Whether or not the database uses free monthly limits. Allowed on one database in a subscription.\n */\n useFreeLimit?: boolean;\n /**\n * Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.\n */\n zoneRedundant?: boolean;\n}\n\n/**\n * Input type for The database's properties.\n */\nexport interface DatabasePropertiesInput extends InputOf<DatabaseProperties> {\n /**\n * Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled\n */\n autoPauseDelay?: ExpressionOrValue<number> | undefined;\n /**\n * Specifies the availability zone the database is pinned to.\n */\n availabilityZone?: ExpressionOrValue<AvailabilityZoneType> | undefined;\n /**\n * Collation of the metadata catalog.\n */\n catalogCollation?: ExpressionOrValue<CatalogCollationType> | undefined;\n /**\n * The collation of the database.\n */\n collation?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the mode of database creation.\n *\n * Default: regular database creation.\n *\n * Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database.\n *\n * Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database.\n *\n * PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified.\n *\n * Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore.\n *\n * Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time.\n *\n * RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.\n *\n * Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.\n */\n createMode?: ExpressionOrValue<CreateMode> | undefined;\n /**\n * The resource identifier of the elastic pool containing this database.\n */\n elasticPoolId?: ExpressionOrValue<string> | undefined;\n /**\n * The azure key vault URI of the database if it's configured with per Database Customer Managed Keys.\n */\n encryptionProtector?: ExpressionOrValue<string> | undefined;\n /**\n * The flag to enable or disable auto rotation of database encryption protector AKV key.\n */\n encryptionProtectorAutoRotation?: ExpressionOrValue<boolean> | undefined;\n /**\n * The Client id used for cross tenant per database CMK scenario\n */\n federatedClientId?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the behavior when monthly free limits are exhausted for the free database.\n *\n * AutoPause: The database will be auto paused upon exhaustion of free limits for remainder of the month.\n *\n * BillForUsage: The database will continue to be online upon exhaustion of free limits and any overage will be billed.\n */\n freeLimitExhaustionBehavior?: ExpressionOrValue<FreeLimitExhaustionBehavior> | undefined;\n /**\n * The number of secondary replicas associated with the Business Critical, Premium, or Hyperscale edition database that are used to provide high availability. Not applicable to a Hyperscale database within an elastic pool.\n */\n highAvailabilityReplicaCount?: ExpressionOrValue<number> | undefined;\n /**\n * Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created.\n */\n isLedgerOn?: ExpressionOrValue<boolean> | undefined;\n /**\n * The resource ids of the user assigned identities to use\n */\n keys?: InputRecord<DatabaseKeyInput, Record<string, DatabaseKey>> | undefined;\n /**\n * The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you have a license and are eligible for the Azure Hybrid Benefit.\n */\n licenseType?: ExpressionOrValue<DatabaseLicenseType> | undefined;\n /**\n * The resource identifier of the long term retention backup associated with create operation of this database.\n */\n longTermRetentionBackupResourceId?: ExpressionOrValue<string> | undefined;\n /**\n * Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur.\n */\n maintenanceConfigurationId?: ExpressionOrValue<string> | undefined;\n /**\n * Whether or not customer controlled manual cutover needs to be done during Update Database operation to Hyperscale tier.\n *\n * This property is only applicable when scaling database from Business Critical/General Purpose/Premium/Standard tier to Hyperscale tier.\n *\n * When manualCutover is specified, the scaling operation will wait for user input to trigger cutover to Hyperscale database.\n *\n * To trigger cutover, please provide 'performCutover' parameter when the Scaling operation is in Waiting state.\n */\n manualCutover?: ExpressionOrValue<boolean> | undefined;\n /**\n * The max size of the database expressed in bytes.\n */\n maxSizeBytes?: ExpressionOrValue<number> | undefined;\n /**\n * Minimal capacity that database will always have allocated, if not paused\n */\n minCapacity?: ExpressionOrValue<number> | undefined;\n /**\n * To trigger customer controlled manual cutover during the wait state while Scaling operation is in progress.\n *\n * This property parameter is only applicable for scaling operations that are initiated along with 'manualCutover' parameter.\n *\n * This property is only applicable when scaling database from Business Critical/General Purpose/Premium/Standard tier to Hyperscale tier is already in progress.\n *\n * When performCutover is specified, the scaling operation will trigger cutover and perform role-change to Hyperscale database.\n */\n performCutover?: ExpressionOrValue<boolean> | undefined;\n /**\n * Type of enclave requested on the database i.e. Default or VBS enclaves.\n */\n preferredEnclaveType?: ExpressionOrValue<AlwaysEncryptedEnclaveType> | undefined;\n /**\n * The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale database within an elastic pool.\n */\n readScale?: ExpressionOrValue<DatabaseReadScale> | undefined;\n /**\n * The resource identifier of the recoverable database associated with create operation of this database.\n */\n recoverableDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * The resource identifier of the recovery point associated with create operation of this database.\n */\n recoveryServicesRecoveryPointId?: ExpressionOrValue<string> | undefined;\n /**\n * The storage account type to be used to store backups for this database.\n */\n requestedBackupStorageRedundancy?: ExpressionOrValue<BackupStorageRedundancy> | undefined;\n /**\n * The resource identifier of the restorable dropped database associated with create operation of this database.\n */\n restorableDroppedDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.\n */\n restorePointInTime?: ExpressionOrValue<Date> | undefined;\n /**\n * The name of the sample schema to apply when creating this database.\n */\n sampleName?: ExpressionOrValue<SampleName> | undefined;\n /**\n * The secondary type of the database if it is a secondary. Valid values are Geo, Named and Standby.\n */\n secondaryType?: ExpressionOrValue<SecondaryType> | undefined;\n /**\n * Specifies the time that the database was deleted.\n */\n sourceDatabaseDeletionDate?: ExpressionOrValue<Date> | undefined;\n /**\n * The resource identifier of the source database associated with create operation of this database.\n */\n sourceDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * The resource identifier of the source associated with the create operation of this database.\n *\n * This property is only supported for DataWarehouse edition and allows to restore across subscriptions.\n *\n * When sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover.\n *\n * When createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql pool, and restorePointInTime must be specified.\n *\n * When createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable dropped sql pool.\n *\n * When createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool.\n *\n * When source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” header must contain authentication token for the source tenant. For more details about “x-ms-authorization-auxiliary” header see https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant\n */\n sourceResourceId?: ExpressionOrValue<string> | undefined;\n /**\n * Whether or not the database uses free monthly limits. Allowed on one database in a subscription.\n */\n useFreeLimit?: ExpressionOrValue<boolean> | undefined;\n /**\n * Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.\n */\n zoneRedundant?: ExpressionOrValue<boolean> | undefined;\n}\n\n/**\n * View type for The database's properties.\n */\nexport interface DatabasePropertiesView extends InputOf<DatabaseProperties> {\n /**\n * Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled\n */\n autoPauseDelay?: ExpressionOrValue<number> | undefined;\n /**\n * Specifies the availability zone the database is pinned to.\n */\n availabilityZone?: ExpressionOrValue<AvailabilityZoneType> | undefined;\n /**\n * Collation of the metadata catalog.\n */\n catalogCollation?: ExpressionOrValue<CatalogCollationType> | undefined;\n /**\n * The collation of the database.\n */\n collation?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the mode of database creation.\n *\n * Default: regular database creation.\n *\n * Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database.\n *\n * Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database.\n *\n * PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified.\n *\n * Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore.\n *\n * Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time.\n *\n * RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.\n *\n * Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.\n */\n createMode?: ExpressionOrValue<CreateMode> | undefined;\n /**\n * Read-only output: The creation date of the database (ISO8601 format).\n */\n readonly creationDate?: Expression<Date> | undefined;\n /**\n * Read-only output: The storage account type used to store backups for this database.\n */\n readonly currentBackupStorageRedundancy?: Expression<BackupStorageRedundancy> | undefined;\n /**\n * Read-only output: The current service level objective name of the database.\n */\n readonly currentServiceObjectiveName?: Expression<string> | undefined;\n /**\n * Read-only output: The name and tier of the SKU.\n */\n readonly currentSku?: Expression<Sku> | undefined;\n /**\n * Read-only output: The ID of the database.\n */\n readonly databaseId?: Expression<string> | undefined;\n /**\n * Read-only output: The default secondary region for this database.\n */\n readonly defaultSecondaryLocation?: Expression<string> | undefined;\n /**\n * Read-only output: This records the earliest start date and time that restore is available for this database (ISO8601 format).\n */\n readonly earliestRestoreDate?: Expression<Date> | undefined;\n /**\n * The resource identifier of the elastic pool containing this database.\n */\n elasticPoolId?: ExpressionOrValue<string> | undefined;\n /**\n * The azure key vault URI of the database if it's configured with per Database Customer Managed Keys.\n */\n encryptionProtector?: ExpressionOrValue<string> | undefined;\n /**\n * The flag to enable or disable auto rotation of database encryption protector AKV key.\n */\n encryptionProtectorAutoRotation?: ExpressionOrValue<boolean> | undefined;\n /**\n * Read-only output: Failover Group resource identifier that this database belongs to.\n */\n readonly failoverGroupId?: Expression<string> | undefined;\n /**\n * The Client id used for cross tenant per database CMK scenario\n */\n federatedClientId?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the behavior when monthly free limits are exhausted for the free database.\n *\n * AutoPause: The database will be auto paused upon exhaustion of free limits for remainder of the month.\n *\n * BillForUsage: The database will continue to be online upon exhaustion of free limits and any overage will be billed.\n */\n freeLimitExhaustionBehavior?: ExpressionOrValue<FreeLimitExhaustionBehavior> | undefined;\n /**\n * The number of secondary replicas associated with the Business Critical, Premium, or Hyperscale edition database that are used to provide high availability. Not applicable to a Hyperscale database within an elastic pool.\n */\n highAvailabilityReplicaCount?: ExpressionOrValue<number> | undefined;\n /**\n * Read-only output: Infra encryption is enabled for this database.\n */\n readonly isInfraEncryptionEnabled?: Expression<boolean> | undefined;\n /**\n * Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created.\n */\n isLedgerOn?: ExpressionOrValue<boolean> | undefined;\n /**\n * The resource ids of the user assigned identities to use\n */\n keys?: InputRecord<DatabaseKeyView, Record<string, DatabaseKey>> | undefined;\n /**\n * The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you have a license and are eligible for the Azure Hybrid Benefit.\n */\n licenseType?: ExpressionOrValue<DatabaseLicenseType> | undefined;\n /**\n * The resource identifier of the long term retention backup associated with create operation of this database.\n */\n longTermRetentionBackupResourceId?: ExpressionOrValue<string> | undefined;\n /**\n * Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur.\n */\n maintenanceConfigurationId?: ExpressionOrValue<string> | undefined;\n /**\n * Whether or not customer controlled manual cutover needs to be done during Update Database operation to Hyperscale tier.\n *\n * This property is only applicable when scaling database from Business Critical/General Purpose/Premium/Standard tier to Hyperscale tier.\n *\n * When manualCutover is specified, the scaling operation will wait for user input to trigger cutover to Hyperscale database.\n *\n * To trigger cutover, please provide 'performCutover' parameter when the Scaling operation is in Waiting state.\n */\n manualCutover?: ExpressionOrValue<boolean> | undefined;\n /**\n * Read-only output: The max log size for this database.\n */\n readonly maxLogSizeBytes?: Expression<number> | undefined;\n /**\n * The max size of the database expressed in bytes.\n */\n maxSizeBytes?: ExpressionOrValue<number> | undefined;\n /**\n * Minimal capacity that database will always have allocated, if not paused\n */\n minCapacity?: ExpressionOrValue<number> | undefined;\n /**\n * Read-only output: The date when database was paused by user configuration or action(ISO8601 format). Null if the database is ready.\n */\n readonly pausedDate?: Expression<Date> | undefined;\n /**\n * To trigger customer controlled manual cutover during the wait state while Scaling operation is in progress.\n *\n * This property parameter is only applicable for scaling operations that are initiated along with 'manualCutover' parameter.\n *\n * This property is only applicable when scaling database from Business Critical/General Purpose/Premium/Standard tier to Hyperscale tier is already in progress.\n *\n * When performCutover is specified, the scaling operation will trigger cutover and perform role-change to Hyperscale database.\n */\n performCutover?: ExpressionOrValue<boolean> | undefined;\n /**\n * Type of enclave requested on the database i.e. Default or VBS enclaves.\n */\n preferredEnclaveType?: ExpressionOrValue<AlwaysEncryptedEnclaveType> | undefined;\n /**\n * The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale database within an elastic pool.\n */\n readScale?: ExpressionOrValue<DatabaseReadScale> | undefined;\n /**\n * The resource identifier of the recoverable database associated with create operation of this database.\n */\n recoverableDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * The resource identifier of the recovery point associated with create operation of this database.\n */\n recoveryServicesRecoveryPointId?: ExpressionOrValue<string> | undefined;\n /**\n * The storage account type to be used to store backups for this database.\n */\n requestedBackupStorageRedundancy?: ExpressionOrValue<BackupStorageRedundancy> | undefined;\n /**\n * Read-only output: The requested service level objective name of the database.\n */\n readonly requestedServiceObjectiveName?: Expression<string> | undefined;\n /**\n * The resource identifier of the restorable dropped database associated with create operation of this database.\n */\n restorableDroppedDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.\n */\n restorePointInTime?: ExpressionOrValue<Date> | undefined;\n /**\n * Read-only output: The date when database was resumed by user action or database login (ISO8601 format). Null if the database is paused.\n */\n readonly resumedDate?: Expression<Date> | undefined;\n /**\n * The name of the sample schema to apply when creating this database.\n */\n sampleName?: ExpressionOrValue<SampleName> | undefined;\n /**\n * The secondary type of the database if it is a secondary. Valid values are Geo, Named and Standby.\n */\n secondaryType?: ExpressionOrValue<SecondaryType> | undefined;\n /**\n * Specifies the time that the database was deleted.\n */\n sourceDatabaseDeletionDate?: ExpressionOrValue<Date> | undefined;\n /**\n * The resource identifier of the source database associated with create operation of this database.\n */\n sourceDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * The resource identifier of the source associated with the create operation of this database.\n *\n * This property is only supported for DataWarehouse edition and allows to restore across subscriptions.\n *\n * When sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover.\n *\n * When createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql pool, and restorePointInTime must be specified.\n *\n * When createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable dropped sql pool.\n *\n * When createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool.\n *\n * When source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” header must contain authentication token for the source tenant. For more details about “x-ms-authorization-auxiliary” header see https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant\n */\n sourceResourceId?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: The status of the database.\n */\n readonly status?: Expression<DatabaseStatus> | undefined;\n /**\n * Whether or not the database uses free monthly limits. Allowed on one database in a subscription.\n */\n useFreeLimit?: ExpressionOrValue<boolean> | undefined;\n /**\n * Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.\n */\n zoneRedundant?: ExpressionOrValue<boolean> | undefined;\n}\n\nexport const databasePropertiesShape: FlatModelShape = createFlatModelShape({\n autoPauseDelay: { armPath: [\"autoPauseDelay\"], value: createNumberShape() },\n availabilityZone: { armPath: [\"availabilityZone\"], value: createUnionShape() },\n catalogCollation: { armPath: [\"catalogCollation\"], value: createUnionShape() },\n collation: { armPath: [\"collation\"], value: createStringShape() },\n createMode: { armPath: [\"createMode\"], value: createUnionShape() },\n creationDate: {\n armPath: [\"creationDate\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n currentBackupStorageRedundancy: {\n armPath: [\"currentBackupStorageRedundancy\"],\n value: createUnionShape(),\n readOnly: true,\n },\n currentServiceObjectiveName: {\n armPath: [\"currentServiceObjectiveName\"],\n value: createStringShape(),\n readOnly: true,\n },\n currentSku: {\n armPath: [\"currentSku\"],\n value: createDeferredShape(() => skuShape),\n readOnly: true,\n },\n databaseId: { armPath: [\"databaseId\"], value: createStringShape(), readOnly: true },\n defaultSecondaryLocation: {\n armPath: [\"defaultSecondaryLocation\"],\n value: createStringShape(),\n readOnly: true,\n },\n earliestRestoreDate: {\n armPath: [\"earliestRestoreDate\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n elasticPoolId: { armPath: [\"elasticPoolId\"], value: createStringShape() },\n encryptionProtector: { armPath: [\"encryptionProtector\"], value: createStringShape() },\n encryptionProtectorAutoRotation: {\n armPath: [\"encryptionProtectorAutoRotation\"],\n value: createBooleanShape(),\n },\n failoverGroupId: { armPath: [\"failoverGroupId\"], value: createStringShape(), readOnly: true },\n federatedClientId: { armPath: [\"federatedClientId\"], value: createStringShape() },\n freeLimitExhaustionBehavior: {\n armPath: [\"freeLimitExhaustionBehavior\"],\n value: createUnionShape(),\n },\n highAvailabilityReplicaCount: {\n armPath: [\"highAvailabilityReplicaCount\"],\n value: createNumberShape(),\n },\n isInfraEncryptionEnabled: {\n armPath: [\"isInfraEncryptionEnabled\"],\n value: createBooleanShape(),\n readOnly: true,\n },\n isLedgerOn: { armPath: [\"isLedgerOn\"], value: createBooleanShape() },\n keys: {\n armPath: [\"keys\"],\n value: createRecordShape(createDeferredShape(() => databaseKeyShape)),\n },\n licenseType: { armPath: [\"licenseType\"], value: createUnionShape() },\n longTermRetentionBackupResourceId: {\n armPath: [\"longTermRetentionBackupResourceId\"],\n value: createStringShape(),\n },\n maintenanceConfigurationId: {\n armPath: [\"maintenanceConfigurationId\"],\n value: createStringShape(),\n },\n manualCutover: { armPath: [\"manualCutover\"], value: createBooleanShape() },\n maxLogSizeBytes: { armPath: [\"maxLogSizeBytes\"], value: createNumberShape(), readOnly: true },\n maxSizeBytes: { armPath: [\"maxSizeBytes\"], value: createNumberShape() },\n minCapacity: { armPath: [\"minCapacity\"], value: createNumberShape() },\n pausedDate: {\n armPath: [\"pausedDate\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n performCutover: { armPath: [\"performCutover\"], value: createBooleanShape() },\n preferredEnclaveType: { armPath: [\"preferredEnclaveType\"], value: createUnionShape() },\n readScale: { armPath: [\"readScale\"], value: createUnionShape() },\n recoverableDatabaseId: { armPath: [\"recoverableDatabaseId\"], value: createStringShape() },\n recoveryServicesRecoveryPointId: {\n armPath: [\"recoveryServicesRecoveryPointId\"],\n value: createStringShape(),\n },\n requestedBackupStorageRedundancy: {\n armPath: [\"requestedBackupStorageRedundancy\"],\n value: createUnionShape(),\n },\n requestedServiceObjectiveName: {\n armPath: [\"requestedServiceObjectiveName\"],\n value: createStringShape(),\n readOnly: true,\n },\n restorableDroppedDatabaseId: {\n armPath: [\"restorableDroppedDatabaseId\"],\n value: createStringShape(),\n },\n restorePointInTime: {\n armPath: [\"restorePointInTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n },\n resumedDate: {\n armPath: [\"resumedDate\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n sampleName: { armPath: [\"sampleName\"], value: createUnionShape() },\n secondaryType: { armPath: [\"secondaryType\"], value: createUnionShape() },\n sourceDatabaseDeletionDate: {\n armPath: [\"sourceDatabaseDeletionDate\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n },\n sourceDatabaseId: { armPath: [\"sourceDatabaseId\"], value: createStringShape() },\n sourceResourceId: { armPath: [\"sourceResourceId\"], value: createStringShape() },\n status: { armPath: [\"status\"], value: createUnionShape(), readOnly: true },\n useFreeLimit: { armPath: [\"useFreeLimit\"], value: createBooleanShape() },\n zoneRedundant: { armPath: [\"zoneRedundant\"], value: createBooleanShape() },\n});\n\n/**\n * Properties of a database Sql Vulnerability Assessment baseline set.\n */\nexport interface DatabaseSqlVulnerabilityAssessmentBaselineSetProperties {\n /**\n * The latest scan flag\n */\n latestScan: boolean;\n /**\n * The rule baseline result list\n */\n results: Record<string, string[][]>;\n}\n\n/**\n * Input type for Properties of a database Sql Vulnerability Assessment baseline set.\n */\nexport interface DatabaseSqlVulnerabilityAssessmentBaselineSetPropertiesInput extends InputOf<DatabaseSqlVulnerabilityAssessmentBaselineSetProperties> {\n /**\n * The latest scan flag\n */\n latestScan: ExpressionOrValue<boolean>;\n /**\n * The rule baseline result list\n */\n results: InputRecord<\n InputArray<InputArray<ExpressionOrValue<string>, string[]>, string[][]>,\n Record<string, string[][]>\n >;\n}\n\n/**\n * View type for Properties of a database Sql Vulnerability Assessment baseline set.\n */\nexport type DatabaseSqlVulnerabilityAssessmentBaselineSetPropertiesView =\n DatabaseSqlVulnerabilityAssessmentBaselineSetPropertiesInput;\n\nexport const databaseSqlVulnerabilityAssessmentBaselineSetPropertiesShape: FlatModelShape =\n createFlatModelShape({\n latestScan: { armPath: [\"latestScan\"], value: createBooleanShape() },\n results: {\n armPath: [\"results\"],\n value: createRecordShape(createArrayShape(createArrayShape(createStringShape()))),\n },\n });\n\n/**\n * Properties of a database Sql Vulnerability Assessment rule baseline.\n */\nexport interface DatabaseSqlVulnerabilityAssessmentRuleBaselineProperties {\n /**\n * The latest scan flag\n */\n latestScan: boolean;\n /**\n * The rule baseline result\n */\n results: string[][];\n}\n\n/**\n * Input type for Properties of a database Sql Vulnerability Assessment rule baseline.\n */\nexport interface DatabaseSqlVulnerabilityAssessmentRuleBaselinePropertiesInput extends InputOf<DatabaseSqlVulnerabilityAssessmentRuleBaselineProperties> {\n /**\n * The latest scan flag\n */\n latestScan: ExpressionOrValue<boolean>;\n /**\n * The rule baseline result\n */\n results: InputArray<InputArray<ExpressionOrValue<string>, string[]>, string[][]>;\n}\n\n/**\n * View type for Properties of a database Sql Vulnerability Assessment rule baseline.\n */\nexport type DatabaseSqlVulnerabilityAssessmentRuleBaselinePropertiesView =\n DatabaseSqlVulnerabilityAssessmentRuleBaselinePropertiesInput;\n\nexport const databaseSqlVulnerabilityAssessmentRuleBaselinePropertiesShape: FlatModelShape =\n createFlatModelShape({\n latestScan: { armPath: [\"latestScan\"], value: createBooleanShape() },\n results: {\n armPath: [\"results\"],\n value: createArrayShape(createArrayShape(createStringShape())),\n },\n });\n\n/**\n * Database table properties.\n */\nexport interface DatabaseTableProperties {\n /**\n * Whether or not the table is memory optimized.\n */\n memoryOptimized?: boolean;\n /**\n * The table temporal type.\n */\n temporalType?: TableTemporalType;\n}\n\n/**\n * Input type for Database table properties.\n */\nexport interface DatabaseTablePropertiesInput extends InputOf<DatabaseTableProperties> {}\n\n/**\n * View type for Database table properties.\n */\nexport interface DatabaseTablePropertiesView extends InputOf<DatabaseTableProperties> {\n /**\n * Read-only output: Whether or not the table is memory optimized.\n */\n readonly memoryOptimized?: Expression<boolean> | undefined;\n /**\n * Read-only output: The table temporal type.\n */\n readonly temporalType?: Expression<TableTemporalType> | undefined;\n}\n\nexport const databaseTablePropertiesShape: FlatModelShape = createFlatModelShape({\n memoryOptimized: { armPath: [\"memoryOptimized\"], value: createBooleanShape(), readOnly: true },\n temporalType: { armPath: [\"temporalType\"], value: createUnionShape(), readOnly: true },\n});\n\n/**\n * Azure Active Directory identity configuration for a resource.\n */\nexport interface DatabaseUserIdentity {\n /**\n * The Azure Active Directory client id.\n */\n clientId?: string;\n /**\n * The Azure Active Directory principal id.\n */\n principalId?: string;\n}\n\n/**\n * Input type for Azure Active Directory identity configuration for a resource.\n */\nexport interface DatabaseUserIdentityInput extends InputOf<DatabaseUserIdentity> {}\n\n/**\n * View type for Azure Active Directory identity configuration for a resource.\n */\nexport interface DatabaseUserIdentityView extends InputOf<DatabaseUserIdentity> {\n /**\n * Read-only output: The Azure Active Directory client id.\n */\n readonly clientId?: Expression<string> | undefined;\n /**\n * Read-only output: The Azure Active Directory principal id.\n */\n readonly principalId?: Expression<string> | undefined;\n}\n\nexport const databaseUserIdentityShape: FlatModelShape = createFlatModelShape({\n clientId: { armPath: [\"clientId\"], value: createStringShape(), readOnly: true },\n principalId: { armPath: [\"principalId\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * Properties of a database Vulnerability Assessment.\n */\nexport interface DatabaseVulnerabilityAssessmentProperties {\n /**\n * The recurring scans settings\n */\n recurringScans?: VulnerabilityAssessmentRecurringScansProperties;\n /**\n * Specifies the identifier key of the storage account for vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. Applies only if the storage account is not behind a Vnet or a firewall\n */\n storageAccountAccessKey?: string;\n /**\n * A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/). It is required if server level vulnerability assessment policy doesn't set\n */\n storageContainerPath?: string;\n /**\n * A shared access signature (SAS Key) that has write access to the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. Applies only if the storage account is not behind a Vnet or a firewall\n */\n storageContainerSasKey?: string;\n}\n\n/**\n * Input type for Properties of a database Vulnerability Assessment.\n */\nexport interface DatabaseVulnerabilityAssessmentPropertiesInput extends InputOf<DatabaseVulnerabilityAssessmentProperties> {\n /**\n * The recurring scans settings\n */\n recurringScans?: VulnerabilityAssessmentRecurringScansPropertiesInput | undefined;\n /**\n * Specifies the identifier key of the storage account for vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. Applies only if the storage account is not behind a Vnet or a firewall\n */\n storageAccountAccessKey?: ExpressionOrValue<string> | undefined;\n /**\n * A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/). It is required if server level vulnerability assessment policy doesn't set\n */\n storageContainerPath?: ExpressionOrValue<string> | undefined;\n /**\n * A shared access signature (SAS Key) that has write access to the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. Applies only if the storage account is not behind a Vnet or a firewall\n */\n storageContainerSasKey?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties of a database Vulnerability Assessment.\n */\nexport type DatabaseVulnerabilityAssessmentPropertiesView =\n DatabaseVulnerabilityAssessmentPropertiesInput;\n\nexport const databaseVulnerabilityAssessmentPropertiesShape: FlatModelShape = createFlatModelShape({\n recurringScans: {\n armPath: [\"recurringScans\"],\n value: createDeferredShape(() => vulnerabilityAssessmentRecurringScansPropertiesShape),\n },\n storageAccountAccessKey: { armPath: [\"storageAccountAccessKey\"], value: createStringShape() },\n storageContainerPath: { armPath: [\"storageContainerPath\"], value: createStringShape() },\n storageContainerSasKey: { armPath: [\"storageContainerSasKey\"], value: createStringShape() },\n});\n\n/**\n * Properties for an Azure SQL Database Vulnerability Assessment rule baseline's result.\n */\nexport interface DatabaseVulnerabilityAssessmentRuleBaselineItem {\n /**\n * The rule baseline result\n */\n result: string[];\n}\n\n/**\n * Input type for Properties for an Azure SQL Database Vulnerability Assessment rule baseline's result.\n */\nexport interface DatabaseVulnerabilityAssessmentRuleBaselineItemInput extends InputOf<DatabaseVulnerabilityAssessmentRuleBaselineItem> {\n /**\n * The rule baseline result\n */\n result: InputArray<ExpressionOrValue<string>, string[]>;\n}\n\n/**\n * View type for Properties for an Azure SQL Database Vulnerability Assessment rule baseline's result.\n */\nexport type DatabaseVulnerabilityAssessmentRuleBaselineItemView =\n DatabaseVulnerabilityAssessmentRuleBaselineItemInput;\n\nexport const databaseVulnerabilityAssessmentRuleBaselineItemShape: FlatModelShape =\n createFlatModelShape({\n result: { armPath: [\"result\"], value: createArrayShape(createStringShape()) },\n });\n\n/**\n * Properties of a database Vulnerability Assessment rule baseline.\n */\nexport interface DatabaseVulnerabilityAssessmentRuleBaselineProperties {\n /**\n * The rule baseline result\n */\n baselineResults: DatabaseVulnerabilityAssessmentRuleBaselineItem[];\n}\n\n/**\n * Input type for Properties of a database Vulnerability Assessment rule baseline.\n */\nexport interface DatabaseVulnerabilityAssessmentRuleBaselinePropertiesInput extends InputOf<DatabaseVulnerabilityAssessmentRuleBaselineProperties> {\n /**\n * The rule baseline result\n */\n baselineResults: InputArray<\n DatabaseVulnerabilityAssessmentRuleBaselineItemInput,\n DatabaseVulnerabilityAssessmentRuleBaselineItem[]\n >;\n}\n\n/**\n * View type for Properties of a database Vulnerability Assessment rule baseline.\n */\nexport type DatabaseVulnerabilityAssessmentRuleBaselinePropertiesView =\n DatabaseVulnerabilityAssessmentRuleBaselinePropertiesInput;\n\nexport const databaseVulnerabilityAssessmentRuleBaselinePropertiesShape: FlatModelShape =\n createFlatModelShape({\n baselineResults: {\n armPath: [\"baselineResults\"],\n value: createArrayShape(\n createDeferredShape(() => databaseVulnerabilityAssessmentRuleBaselineItemShape),\n ),\n },\n });\n\n/**\n * The properties of a database data masking policy.\n */\nexport interface DataMaskingPolicyProperties {\n /**\n * The list of the application principals. This is a legacy parameter and is no longer used.\n */\n applicationPrincipals?: string;\n /**\n * The state of the data masking policy.\n */\n dataMaskingState: DataMaskingState;\n /**\n * The list of the exempt principals. Specifies the semicolon-separated list of database users for which the data masking policy does not apply. The specified users receive data results without masking for all of the database queries.\n */\n exemptPrincipals?: string;\n /**\n * The masking level. This is a legacy parameter and is no longer used.\n */\n maskingLevel?: string;\n}\n\n/**\n * Input type for The properties of a database data masking policy.\n */\nexport interface DataMaskingPolicyPropertiesInput extends InputOf<DataMaskingPolicyProperties> {\n /**\n * The state of the data masking policy.\n */\n dataMaskingState: ExpressionOrValue<DataMaskingState>;\n /**\n * The list of the exempt principals. Specifies the semicolon-separated list of database users for which the data masking policy does not apply. The specified users receive data results without masking for all of the database queries.\n */\n exemptPrincipals?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for The properties of a database data masking policy.\n */\nexport interface DataMaskingPolicyPropertiesView extends InputOf<DataMaskingPolicyProperties> {\n /**\n * Read-only output: The list of the application principals. This is a legacy parameter and is no longer used.\n */\n readonly applicationPrincipals?: Expression<string> | undefined;\n /**\n * The state of the data masking policy.\n */\n dataMaskingState: ExpressionOrValue<DataMaskingState>;\n /**\n * The list of the exempt principals. Specifies the semicolon-separated list of database users for which the data masking policy does not apply. The specified users receive data results without masking for all of the database queries.\n */\n exemptPrincipals?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: The masking level. This is a legacy parameter and is no longer used.\n */\n readonly maskingLevel?: Expression<string> | undefined;\n}\n\nexport const dataMaskingPolicyPropertiesShape: FlatModelShape = createFlatModelShape({\n applicationPrincipals: {\n armPath: [\"applicationPrincipals\"],\n value: createStringShape(),\n readOnly: true,\n },\n dataMaskingState: { armPath: [\"dataMaskingState\"], value: createEnumShape() },\n exemptPrincipals: { armPath: [\"exemptPrincipals\"], value: createStringShape() },\n maskingLevel: { armPath: [\"maskingLevel\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * The properties of a database data masking rule.\n */\nexport interface DataMaskingRuleProperties {\n /**\n * The alias name. This is a legacy parameter and is no longer used.\n */\n aliasName?: string;\n /**\n * The column name on which the data masking rule is applied.\n */\n columnName: string;\n /**\n * The rule Id.\n */\n id?: string;\n /**\n * The masking function that is used for the data masking rule.\n */\n maskingFunction: DataMaskingFunction;\n /**\n * The numberFrom property of the masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored.\n */\n numberFrom?: string;\n /**\n * The numberTo property of the data masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored.\n */\n numberTo?: string;\n /**\n * If maskingFunction is set to Text, the number of characters to show unmasked in the beginning of the string. Otherwise, this parameter will be ignored.\n */\n prefixSize?: string;\n /**\n * If maskingFunction is set to Text, the character to use for masking the unexposed part of the string. Otherwise, this parameter will be ignored.\n */\n replacementString?: string;\n /**\n * The rule state. Used to delete a rule. To delete an existing rule, specify the schemaName, tableName, columnName, maskingFunction, and specify ruleState as disabled. However, if the rule doesn't already exist, the rule will be created with ruleState set to enabled, regardless of the provided value of ruleState.\n */\n ruleState?: DataMaskingRuleState;\n /**\n * The schema name on which the data masking rule is applied.\n */\n schemaName: string;\n /**\n * If maskingFunction is set to Text, the number of characters to show unmasked at the end of the string. Otherwise, this parameter will be ignored.\n */\n suffixSize?: string;\n /**\n * The table name on which the data masking rule is applied.\n */\n tableName: string;\n}\n\n/**\n * Input type for The properties of a database data masking rule.\n */\nexport interface DataMaskingRulePropertiesInput extends InputOf<DataMaskingRuleProperties> {\n /**\n * The alias name. This is a legacy parameter and is no longer used.\n */\n aliasName?: ExpressionOrValue<string> | undefined;\n /**\n * The column name on which the data masking rule is applied.\n */\n columnName: ExpressionOrValue<string>;\n /**\n * The masking function that is used for the data masking rule.\n */\n maskingFunction: ExpressionOrValue<DataMaskingFunction>;\n /**\n * The numberFrom property of the masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored.\n */\n numberFrom?: ExpressionOrValue<string> | undefined;\n /**\n * The numberTo property of the data masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored.\n */\n numberTo?: ExpressionOrValue<string> | undefined;\n /**\n * If maskingFunction is set to Text, the number of characters to show unmasked in the beginning of the string. Otherwise, this parameter will be ignored.\n */\n prefixSize?: ExpressionOrValue<string> | undefined;\n /**\n * If maskingFunction is set to Text, the character to use for masking the unexposed part of the string. Otherwise, this parameter will be ignored.\n */\n replacementString?: ExpressionOrValue<string> | undefined;\n /**\n * The rule state. Used to delete a rule. To delete an existing rule, specify the schemaName, tableName, columnName, maskingFunction, and specify ruleState as disabled. However, if the rule doesn't already exist, the rule will be created with ruleState set to enabled, regardless of the provided value of ruleState.\n */\n ruleState?: ExpressionOrValue<DataMaskingRuleState> | undefined;\n /**\n * The schema name on which the data masking rule is applied.\n */\n schemaName: ExpressionOrValue<string>;\n /**\n * If maskingFunction is set to Text, the number of characters to show unmasked at the end of the string. Otherwise, this parameter will be ignored.\n */\n suffixSize?: ExpressionOrValue<string> | undefined;\n /**\n * The table name on which the data masking rule is applied.\n */\n tableName: ExpressionOrValue<string>;\n}\n\n/**\n * View type for The properties of a database data masking rule.\n */\nexport interface DataMaskingRulePropertiesView extends InputOf<DataMaskingRuleProperties> {\n /**\n * The alias name. This is a legacy parameter and is no longer used.\n */\n aliasName?: ExpressionOrValue<string> | undefined;\n /**\n * The column name on which the data masking rule is applied.\n */\n columnName: ExpressionOrValue<string>;\n /**\n * Read-only output: The rule Id.\n */\n readonly id?: Expression<string> | undefined;\n /**\n * The masking function that is used for the data masking rule.\n */\n maskingFunction: ExpressionOrValue<DataMaskingFunction>;\n /**\n * The numberFrom property of the masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored.\n */\n numberFrom?: ExpressionOrValue<string> | undefined;\n /**\n * The numberTo property of the data masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored.\n */\n numberTo?: ExpressionOrValue<string> | undefined;\n /**\n * If maskingFunction is set to Text, the number of characters to show unmasked in the beginning of the string. Otherwise, this parameter will be ignored.\n */\n prefixSize?: ExpressionOrValue<string> | undefined;\n /**\n * If maskingFunction is set to Text, the character to use for masking the unexposed part of the string. Otherwise, this parameter will be ignored.\n */\n replacementString?: ExpressionOrValue<string> | undefined;\n /**\n * The rule state. Used to delete a rule. To delete an existing rule, specify the schemaName, tableName, columnName, maskingFunction, and specify ruleState as disabled. However, if the rule doesn't already exist, the rule will be created with ruleState set to enabled, regardless of the provided value of ruleState.\n */\n ruleState?: ExpressionOrValue<DataMaskingRuleState> | undefined;\n /**\n * The schema name on which the data masking rule is applied.\n */\n schemaName: ExpressionOrValue<string>;\n /**\n * If maskingFunction is set to Text, the number of characters to show unmasked at the end of the string. Otherwise, this parameter will be ignored.\n */\n suffixSize?: ExpressionOrValue<string> | undefined;\n /**\n * The table name on which the data masking rule is applied.\n */\n tableName: ExpressionOrValue<string>;\n}\n\nexport const dataMaskingRulePropertiesShape: FlatModelShape = createFlatModelShape({\n aliasName: { armPath: [\"aliasName\"], value: createStringShape() },\n columnName: { armPath: [\"columnName\"], value: createStringShape() },\n id: { armPath: [\"id\"], value: createStringShape(), readOnly: true },\n maskingFunction: { armPath: [\"maskingFunction\"], value: createEnumShape() },\n numberFrom: { armPath: [\"numberFrom\"], value: createStringShape() },\n numberTo: { armPath: [\"numberTo\"], value: createStringShape() },\n prefixSize: { armPath: [\"prefixSize\"], value: createStringShape() },\n replacementString: { armPath: [\"replacementString\"], value: createStringShape() },\n ruleState: { armPath: [\"ruleState\"], value: createEnumShape() },\n schemaName: { armPath: [\"schemaName\"], value: createStringShape() },\n suffixSize: { armPath: [\"suffixSize\"], value: createStringShape() },\n tableName: { armPath: [\"tableName\"], value: createStringShape() },\n});\n\n/**\n * User activities of a data warehouse. This currently includes the count of running or suspended queries. For more information, please view the sys.dm_pdw_exec_requests dynamic management view (DMV).\n */\nexport interface DataWarehouseUserActivitiesProperties {\n /**\n * Count of running and suspended queries.\n */\n activeQueriesCount?: number;\n}\n\n/**\n * Input type for User activities of a data warehouse. This currently includes the count of running or suspended queries. For more information, please view the sys.dm_pdw_exec_requests dynamic management view (DMV).\n */\nexport interface DataWarehouseUserActivitiesPropertiesInput extends InputOf<DataWarehouseUserActivitiesProperties> {}\n\n/**\n * View type for User activities of a data warehouse. This currently includes the count of running or suspended queries. For more information, please view the sys.dm_pdw_exec_requests dynamic management view (DMV).\n */\nexport interface DataWarehouseUserActivitiesPropertiesView extends InputOf<DataWarehouseUserActivitiesProperties> {\n /**\n * Read-only output: Count of running and suspended queries.\n */\n readonly activeQueriesCount?: Expression<number> | undefined;\n}\n\nexport const dataWarehouseUserActivitiesPropertiesShape: FlatModelShape = createFlatModelShape({\n activeQueriesCount: {\n armPath: [\"activeQueriesCount\"],\n value: createNumberShape(),\n readOnly: true,\n },\n});\n\n/**\n * The properties of a deleted server.\n */\nexport interface DeletedServerProperties {\n /**\n * The deletion time of the deleted server.\n */\n deletionTime?: Date;\n /**\n * The fully qualified domain name of the server.\n */\n fullyQualifiedDomainName?: string;\n /**\n * The original ID of the server before deletion.\n */\n originalId?: string;\n /**\n * The version of the deleted server.\n */\n version?: string;\n}\n\n/**\n * Input type for The properties of a deleted server.\n */\nexport interface DeletedServerPropertiesInput extends InputOf<DeletedServerProperties> {}\n\n/**\n * View type for The properties of a deleted server.\n */\nexport interface DeletedServerPropertiesView extends InputOf<DeletedServerProperties> {\n /**\n * Read-only output: The deletion time of the deleted server.\n */\n readonly deletionTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The fully qualified domain name of the server.\n */\n readonly fullyQualifiedDomainName?: Expression<string> | undefined;\n /**\n * Read-only output: The original ID of the server before deletion.\n */\n readonly originalId?: Expression<string> | undefined;\n /**\n * Read-only output: The version of the deleted server.\n */\n readonly version?: Expression<string> | undefined;\n}\n\nexport const deletedServerPropertiesShape: FlatModelShape = createFlatModelShape({\n deletionTime: {\n armPath: [\"deletionTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n fullyQualifiedDomainName: {\n armPath: [\"fullyQualifiedDomainName\"],\n value: createStringShape(),\n readOnly: true,\n },\n originalId: { armPath: [\"originalId\"], value: createStringShape(), readOnly: true },\n version: { armPath: [\"version\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * Database specific information\n */\nexport interface DistributedAvailabilityGroupDatabase {\n /**\n * Link connected state\n */\n connectedState?: ReplicaConnectedState;\n /**\n * The name of the database in link\n */\n databaseName?: string;\n /**\n * Redo lag when Managed Instance link side is primary\n */\n instanceRedoReplicationLagSeconds?: number;\n /**\n * Managed instance replica id\n */\n instanceReplicaId?: string;\n /**\n * Replication lag when Managed Instance link side is primary\n */\n instanceSendReplicationLagSeconds?: number;\n /**\n * Last backup LSN\n */\n lastBackupLsn?: string;\n /**\n * Last backup LSN time\n */\n lastBackupTime?: Date;\n /**\n * Last commit LSN\n */\n lastCommitLsn?: string;\n /**\n * Last commit LSN time\n */\n lastCommitTime?: Date;\n /**\n * Last hardened LSN\n */\n lastHardenedLsn?: string;\n /**\n * Last hardened LSN time\n */\n lastHardenedTime?: Date;\n /**\n * Last received LSN\n */\n lastReceivedLsn?: string;\n /**\n * Last received LSN time\n */\n lastReceivedTime?: Date;\n /**\n * Last sent LSN\n */\n lastSentLsn?: string;\n /**\n * Last sent LSN time\n */\n lastSentTime?: Date;\n /**\n * The most recent link connection error description\n */\n mostRecentLinkError?: string;\n /**\n * SQL server certificate validity\n */\n partnerAuthCertValidity?: CertificateInfo;\n /**\n * SQL server replica id\n */\n partnerReplicaId?: string;\n /**\n * Current link state\n */\n replicaState?: string;\n /**\n * Seeding progress\n */\n seedingProgress?: string;\n /**\n * Link health state\n */\n synchronizationHealth?: ReplicaSynchronizationHealth;\n}\n\n/**\n * Input type for Database specific information\n */\nexport interface DistributedAvailabilityGroupDatabaseInput extends InputOf<DistributedAvailabilityGroupDatabase> {\n /**\n * The name of the database in link\n */\n databaseName?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Database specific information\n */\nexport interface DistributedAvailabilityGroupDatabaseView extends InputOf<DistributedAvailabilityGroupDatabase> {\n /**\n * Read-only output: Link connected state\n */\n readonly connectedState?: Expression<ReplicaConnectedState> | undefined;\n /**\n * The name of the database in link\n */\n databaseName?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: Redo lag when Managed Instance link side is primary\n */\n readonly instanceRedoReplicationLagSeconds?: Expression<number> | undefined;\n /**\n * Read-only output: Managed instance replica id\n */\n readonly instanceReplicaId?: Expression<string> | undefined;\n /**\n * Read-only output: Replication lag when Managed Instance link side is primary\n */\n readonly instanceSendReplicationLagSeconds?: Expression<number> | undefined;\n /**\n * Read-only output: Last backup LSN\n */\n readonly lastBackupLsn?: Expression<string> | undefined;\n /**\n * Read-only output: Last backup LSN time\n */\n readonly lastBackupTime?: Expression<Date> | undefined;\n /**\n * Read-only output: Last commit LSN\n */\n readonly lastCommitLsn?: Expression<string> | undefined;\n /**\n * Read-only output: Last commit LSN time\n */\n readonly lastCommitTime?: Expression<Date> | undefined;\n /**\n * Read-only output: Last hardened LSN\n */\n readonly lastHardenedLsn?: Expression<string> | undefined;\n /**\n * Read-only output: Last hardened LSN time\n */\n readonly lastHardenedTime?: Expression<Date> | undefined;\n /**\n * Read-only output: Last received LSN\n */\n readonly lastReceivedLsn?: Expression<string> | undefined;\n /**\n * Read-only output: Last received LSN time\n */\n readonly lastReceivedTime?: Expression<Date> | undefined;\n /**\n * Read-only output: Last sent LSN\n */\n readonly lastSentLsn?: Expression<string> | undefined;\n /**\n * Read-only output: Last sent LSN time\n */\n readonly lastSentTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The most recent link connection error description\n */\n readonly mostRecentLinkError?: Expression<string> | undefined;\n /**\n * Read-only output: SQL server certificate validity\n */\n readonly partnerAuthCertValidity?: Expression<CertificateInfo> | undefined;\n /**\n * Read-only output: SQL server replica id\n */\n readonly partnerReplicaId?: Expression<string> | undefined;\n /**\n * Read-only output: Current link state\n */\n readonly replicaState?: Expression<string> | undefined;\n /**\n * Read-only output: Seeding progress\n */\n readonly seedingProgress?: Expression<string> | undefined;\n /**\n * Read-only output: Link health state\n */\n readonly synchronizationHealth?: Expression<ReplicaSynchronizationHealth> | undefined;\n}\n\nexport const distributedAvailabilityGroupDatabaseShape: FlatModelShape = createFlatModelShape({\n connectedState: { armPath: [\"connectedState\"], value: createUnionShape(), readOnly: true },\n databaseName: { armPath: [\"databaseName\"], value: createStringShape() },\n instanceRedoReplicationLagSeconds: {\n armPath: [\"instanceRedoReplicationLagSeconds\"],\n value: createNumberShape(),\n readOnly: true,\n },\n instanceReplicaId: { armPath: [\"instanceReplicaId\"], value: createStringShape(), readOnly: true },\n instanceSendReplicationLagSeconds: {\n armPath: [\"instanceSendReplicationLagSeconds\"],\n value: createNumberShape(),\n readOnly: true,\n },\n lastBackupLsn: { armPath: [\"lastBackupLsn\"], value: createStringShape(), readOnly: true },\n lastBackupTime: {\n armPath: [\"lastBackupTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n lastCommitLsn: { armPath: [\"lastCommitLsn\"], value: createStringShape(), readOnly: true },\n lastCommitTime: {\n armPath: [\"lastCommitTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n lastHardenedLsn: { armPath: [\"lastHardenedLsn\"], value: createStringShape(), readOnly: true },\n lastHardenedTime: {\n armPath: [\"lastHardenedTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n lastReceivedLsn: { armPath: [\"lastReceivedLsn\"], value: createStringShape(), readOnly: true },\n lastReceivedTime: {\n armPath: [\"lastReceivedTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n lastSentLsn: { armPath: [\"lastSentLsn\"], value: createStringShape(), readOnly: true },\n lastSentTime: {\n armPath: [\"lastSentTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n mostRecentLinkError: {\n armPath: [\"mostRecentLinkError\"],\n value: createStringShape(),\n readOnly: true,\n },\n partnerAuthCertValidity: {\n armPath: [\"partnerAuthCertValidity\"],\n value: createDeferredShape(() => certificateInfoShape),\n readOnly: true,\n },\n partnerReplicaId: { armPath: [\"partnerReplicaId\"], value: createStringShape(), readOnly: true },\n replicaState: { armPath: [\"replicaState\"], value: createStringShape(), readOnly: true },\n seedingProgress: { armPath: [\"seedingProgress\"], value: createStringShape(), readOnly: true },\n synchronizationHealth: {\n armPath: [\"synchronizationHealth\"],\n value: createUnionShape(),\n readOnly: true,\n },\n});\n\n/**\n * The properties of a distributed availability group.\n */\nexport interface DistributedAvailabilityGroupProperties {\n /**\n * Databases in the distributed availability group\n */\n databases?: DistributedAvailabilityGroupDatabase[];\n /**\n * ID of the distributed availability group\n */\n distributedAvailabilityGroupId?: string;\n /**\n * Name of the distributed availability group\n */\n distributedAvailabilityGroupName?: string;\n /**\n * The link failover mode - can be Manual if intended to be used for two-way failover with a supported SQL Server, or None for one-way failover to Azure.\n */\n failoverMode?: FailoverModeType;\n /**\n * Managed instance side availability group name\n */\n instanceAvailabilityGroupName?: string;\n /**\n * Managed instance side link role\n */\n instanceLinkRole?: LinkRole;\n /**\n * SQL server side availability group name\n */\n partnerAvailabilityGroupName?: string;\n /**\n * SQL server side endpoint - IP or DNS resolvable name\n */\n partnerEndpoint?: string;\n /**\n * SQL server side link role\n */\n partnerLinkRole?: LinkRole;\n /**\n * Replication mode of the link\n */\n replicationMode?: ReplicationModeType;\n /**\n * Database seeding mode – can be Automatic (default), or Manual for supported scenarios.\n */\n seedingMode?: SeedingModeType;\n}\n\n/**\n * Input type for The properties of a distributed availability group.\n */\nexport interface DistributedAvailabilityGroupPropertiesInput extends InputOf<DistributedAvailabilityGroupProperties> {\n /**\n * Databases in the distributed availability group\n */\n databases?:\n | InputArray<DistributedAvailabilityGroupDatabaseInput, DistributedAvailabilityGroupDatabase[]>\n | undefined;\n /**\n * The link failover mode - can be Manual if intended to be used for two-way failover with a supported SQL Server, or None for one-way failover to Azure.\n */\n failoverMode?: ExpressionOrValue<FailoverModeType> | undefined;\n /**\n * Managed instance side availability group name\n */\n instanceAvailabilityGroupName?: ExpressionOrValue<string> | undefined;\n /**\n * Managed instance side link role\n */\n instanceLinkRole?: ExpressionOrValue<LinkRole> | undefined;\n /**\n * SQL server side availability group name\n */\n partnerAvailabilityGroupName?: ExpressionOrValue<string> | undefined;\n /**\n * SQL server side endpoint - IP or DNS resolvable name\n */\n partnerEndpoint?: ExpressionOrValue<string> | undefined;\n /**\n * Replication mode of the link\n */\n replicationMode?: ExpressionOrValue<ReplicationModeType> | undefined;\n /**\n * Database seeding mode – can be Automatic (default), or Manual for supported scenarios.\n */\n seedingMode?: ExpressionOrValue<SeedingModeType> | undefined;\n}\n\n/**\n * View type for The properties of a distributed availability group.\n */\nexport interface DistributedAvailabilityGroupPropertiesView extends InputOf<DistributedAvailabilityGroupProperties> {\n /**\n * Databases in the distributed availability group\n */\n databases?:\n | InputArray<DistributedAvailabilityGroupDatabaseView, DistributedAvailabilityGroupDatabase[]>\n | undefined;\n /**\n * Read-only output: ID of the distributed availability group\n */\n readonly distributedAvailabilityGroupId?: Expression<string> | undefined;\n /**\n * Read-only output: Name of the distributed availability group\n */\n readonly distributedAvailabilityGroupName?: Expression<string> | undefined;\n /**\n * The link failover mode - can be Manual if intended to be used for two-way failover with a supported SQL Server, or None for one-way failover to Azure.\n */\n failoverMode?: ExpressionOrValue<FailoverModeType> | undefined;\n /**\n * Managed instance side availability group name\n */\n instanceAvailabilityGroupName?: ExpressionOrValue<string> | undefined;\n /**\n * Managed instance side link role\n */\n instanceLinkRole?: ExpressionOrValue<LinkRole> | undefined;\n /**\n * SQL server side availability group name\n */\n partnerAvailabilityGroupName?: ExpressionOrValue<string> | undefined;\n /**\n * SQL server side endpoint - IP or DNS resolvable name\n */\n partnerEndpoint?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: SQL server side link role\n */\n readonly partnerLinkRole?: Expression<LinkRole> | undefined;\n /**\n * Replication mode of the link\n */\n replicationMode?: ExpressionOrValue<ReplicationModeType> | undefined;\n /**\n * Database seeding mode – can be Automatic (default), or Manual for supported scenarios.\n */\n seedingMode?: ExpressionOrValue<SeedingModeType> | undefined;\n}\n\nexport const distributedAvailabilityGroupPropertiesShape: FlatModelShape = createFlatModelShape({\n databases: {\n armPath: [\"databases\"],\n value: createArrayShape(createDeferredShape(() => distributedAvailabilityGroupDatabaseShape)),\n },\n distributedAvailabilityGroupId: {\n armPath: [\"distributedAvailabilityGroupId\"],\n value: createStringShape(),\n readOnly: true,\n },\n distributedAvailabilityGroupName: {\n armPath: [\"distributedAvailabilityGroupName\"],\n value: createStringShape(),\n readOnly: true,\n },\n failoverMode: { armPath: [\"failoverMode\"], value: createUnionShape() },\n instanceAvailabilityGroupName: {\n armPath: [\"instanceAvailabilityGroupName\"],\n value: createStringShape(),\n },\n instanceLinkRole: { armPath: [\"instanceLinkRole\"], value: createUnionShape() },\n partnerAvailabilityGroupName: {\n armPath: [\"partnerAvailabilityGroupName\"],\n value: createStringShape(),\n },\n partnerEndpoint: { armPath: [\"partnerEndpoint\"], value: createStringShape() },\n partnerLinkRole: { armPath: [\"partnerLinkRole\"], value: createUnionShape(), readOnly: true },\n replicationMode: { armPath: [\"replicationMode\"], value: createUnionShape() },\n seedingMode: { armPath: [\"seedingMode\"], value: createUnionShape() },\n});\n\n/**\n * Per database settings of an elastic pool.\n */\nexport interface ElasticPoolPerDatabaseSettings {\n /**\n * Auto Pause Delay for per database within pool\n */\n autoPauseDelay?: number;\n /**\n * The maximum capacity any one database can consume.\n */\n maxCapacity?: number;\n /**\n * The minimum capacity all databases are guaranteed.\n */\n minCapacity?: number;\n}\n\n/**\n * Input type for Per database settings of an elastic pool.\n */\nexport interface ElasticPoolPerDatabaseSettingsInput extends InputOf<ElasticPoolPerDatabaseSettings> {\n /**\n * Auto Pause Delay for per database within pool\n */\n autoPauseDelay?: ExpressionOrValue<number> | undefined;\n /**\n * The maximum capacity any one database can consume.\n */\n maxCapacity?: ExpressionOrValue<number> | undefined;\n /**\n * The minimum capacity all databases are guaranteed.\n */\n minCapacity?: ExpressionOrValue<number> | undefined;\n}\n\n/**\n * View type for Per database settings of an elastic pool.\n */\nexport type ElasticPoolPerDatabaseSettingsView = ElasticPoolPerDatabaseSettingsInput;\n\nexport const elasticPoolPerDatabaseSettingsShape: FlatModelShape = createFlatModelShape({\n autoPauseDelay: { armPath: [\"autoPauseDelay\"], value: createNumberShape() },\n maxCapacity: { armPath: [\"maxCapacity\"], value: createNumberShape() },\n minCapacity: { armPath: [\"minCapacity\"], value: createNumberShape() },\n});\n\n/**\n * Properties of an elastic pool\n */\nexport interface ElasticPoolProperties {\n /**\n * Time in minutes after which elastic pool is automatically paused. A value of -1 means that automatic pause is disabled\n */\n autoPauseDelay?: number;\n /**\n * Specifies the availability zone the pool's primary replica is pinned to.\n */\n availabilityZone?: AvailabilityZoneType;\n /**\n * The creation date of the elastic pool (ISO8601 format).\n */\n creationDate?: Date;\n /**\n * The number of secondary replicas associated with the Business Critical, Premium, or Hyperscale edition elastic pool that are used to provide high availability. Applicable only to Hyperscale elastic pools.\n */\n highAvailabilityReplicaCount?: number;\n /**\n * The license type to apply for this elastic pool.\n */\n licenseType?: ElasticPoolLicenseType;\n /**\n * Maintenance configuration id assigned to the elastic pool. This configuration defines the period when the maintenance updates will will occur.\n */\n maintenanceConfigurationId?: string;\n /**\n * The storage limit for the database elastic pool in bytes.\n */\n maxSizeBytes?: number;\n /**\n * Minimal capacity that serverless pool will not shrink below, if not paused\n */\n minCapacity?: number;\n /**\n * The per database settings for the elastic pool.\n */\n perDatabaseSettings?: ElasticPoolPerDatabaseSettings;\n /**\n * Type of enclave requested on the elastic pool.\n */\n preferredEnclaveType?: AlwaysEncryptedEnclaveType;\n /**\n * The state of the elastic pool.\n */\n state?: ElasticPoolState;\n /**\n * Whether or not this elastic pool is zone redundant, which means the replicas of this elastic pool will be spread across multiple availability zones.\n */\n zoneRedundant?: boolean;\n}\n\n/**\n * Input type for Properties of an elastic pool\n */\nexport interface ElasticPoolPropertiesInput extends InputOf<ElasticPoolProperties> {\n /**\n * Time in minutes after which elastic pool is automatically paused. A value of -1 means that automatic pause is disabled\n */\n autoPauseDelay?: ExpressionOrValue<number> | undefined;\n /**\n * Specifies the availability zone the pool's primary replica is pinned to.\n */\n availabilityZone?: ExpressionOrValue<AvailabilityZoneType> | undefined;\n /**\n * The number of secondary replicas associated with the Business Critical, Premium, or Hyperscale edition elastic pool that are used to provide high availability. Applicable only to Hyperscale elastic pools.\n */\n highAvailabilityReplicaCount?: ExpressionOrValue<number> | undefined;\n /**\n * The license type to apply for this elastic pool.\n */\n licenseType?: ExpressionOrValue<ElasticPoolLicenseType> | undefined;\n /**\n * Maintenance configuration id assigned to the elastic pool. This configuration defines the period when the maintenance updates will will occur.\n */\n maintenanceConfigurationId?: ExpressionOrValue<string> | undefined;\n /**\n * The storage limit for the database elastic pool in bytes.\n */\n maxSizeBytes?: ExpressionOrValue<number> | undefined;\n /**\n * Minimal capacity that serverless pool will not shrink below, if not paused\n */\n minCapacity?: ExpressionOrValue<number> | undefined;\n /**\n * The per database settings for the elastic pool.\n */\n perDatabaseSettings?: ElasticPoolPerDatabaseSettingsInput | undefined;\n /**\n * Type of enclave requested on the elastic pool.\n */\n preferredEnclaveType?: ExpressionOrValue<AlwaysEncryptedEnclaveType> | undefined;\n /**\n * Whether or not this elastic pool is zone redundant, which means the replicas of this elastic pool will be spread across multiple availability zones.\n */\n zoneRedundant?: ExpressionOrValue<boolean> | undefined;\n}\n\n/**\n * View type for Properties of an elastic pool\n */\nexport interface ElasticPoolPropertiesView extends InputOf<ElasticPoolProperties> {\n /**\n * Time in minutes after which elastic pool is automatically paused. A value of -1 means that automatic pause is disabled\n */\n autoPauseDelay?: ExpressionOrValue<number> | undefined;\n /**\n * Specifies the availability zone the pool's primary replica is pinned to.\n */\n availabilityZone?: ExpressionOrValue<AvailabilityZoneType> | undefined;\n /**\n * Read-only output: The creation date of the elastic pool (ISO8601 format).\n */\n readonly creationDate?: Expression<Date> | undefined;\n /**\n * The number of secondary replicas associated with the Business Critical, Premium, or Hyperscale edition elastic pool that are used to provide high availability. Applicable only to Hyperscale elastic pools.\n */\n highAvailabilityReplicaCount?: ExpressionOrValue<number> | undefined;\n /**\n * The license type to apply for this elastic pool.\n */\n licenseType?: ExpressionOrValue<ElasticPoolLicenseType> | undefined;\n /**\n * Maintenance configuration id assigned to the elastic pool. This configuration defines the period when the maintenance updates will will occur.\n */\n maintenanceConfigurationId?: ExpressionOrValue<string> | undefined;\n /**\n * The storage limit for the database elastic pool in bytes.\n */\n maxSizeBytes?: ExpressionOrValue<number> | undefined;\n /**\n * Minimal capacity that serverless pool will not shrink below, if not paused\n */\n minCapacity?: ExpressionOrValue<number> | undefined;\n /**\n * The per database settings for the elastic pool.\n */\n perDatabaseSettings?: ElasticPoolPerDatabaseSettingsView | undefined;\n /**\n * Type of enclave requested on the elastic pool.\n */\n preferredEnclaveType?: ExpressionOrValue<AlwaysEncryptedEnclaveType> | undefined;\n /**\n * Read-only output: The state of the elastic pool.\n */\n readonly state?: Expression<ElasticPoolState> | undefined;\n /**\n * Whether or not this elastic pool is zone redundant, which means the replicas of this elastic pool will be spread across multiple availability zones.\n */\n zoneRedundant?: ExpressionOrValue<boolean> | undefined;\n}\n\nexport const elasticPoolPropertiesShape: FlatModelShape = createFlatModelShape({\n autoPauseDelay: { armPath: [\"autoPauseDelay\"], value: createNumberShape() },\n availabilityZone: { armPath: [\"availabilityZone\"], value: createUnionShape() },\n creationDate: {\n armPath: [\"creationDate\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n highAvailabilityReplicaCount: {\n armPath: [\"highAvailabilityReplicaCount\"],\n value: createNumberShape(),\n },\n licenseType: { armPath: [\"licenseType\"], value: createUnionShape() },\n maintenanceConfigurationId: {\n armPath: [\"maintenanceConfigurationId\"],\n value: createStringShape(),\n },\n maxSizeBytes: { armPath: [\"maxSizeBytes\"], value: createNumberShape() },\n minCapacity: { armPath: [\"minCapacity\"], value: createNumberShape() },\n perDatabaseSettings: {\n armPath: [\"perDatabaseSettings\"],\n value: createDeferredShape(() => elasticPoolPerDatabaseSettingsShape),\n },\n preferredEnclaveType: { armPath: [\"preferredEnclaveType\"], value: createUnionShape() },\n state: { armPath: [\"state\"], value: createUnionShape(), readOnly: true },\n zoneRedundant: { armPath: [\"zoneRedundant\"], value: createBooleanShape() },\n});\n\n/**\n * Properties for an encryption protector execution.\n */\nexport interface EncryptionProtectorProperties {\n /**\n * Key auto rotation opt-in flag. Either true or false.\n */\n autoRotationEnabled?: boolean;\n /**\n * The version of the server key being used as encryption protector\n */\n keyVersion?: string;\n /**\n * The name of the server key.\n */\n serverKeyName?: string;\n /**\n * The encryption protector type like 'ServiceManaged', 'AzureKeyVault'.\n */\n serverKeyType: ServerKeyType;\n /**\n * Subregion of the encryption protector.\n */\n subregion?: string;\n /**\n * Thumbprint of the server key.\n */\n thumbprint?: string;\n /**\n * The URI of the server key.\n */\n uri?: string;\n}\n\n/**\n * Input type for Properties for an encryption protector execution.\n */\nexport interface EncryptionProtectorPropertiesInput extends InputOf<EncryptionProtectorProperties> {\n /**\n * Key auto rotation opt-in flag. Either true or false.\n */\n autoRotationEnabled?: ExpressionOrValue<boolean> | undefined;\n /**\n * The name of the server key.\n */\n serverKeyName?: ExpressionOrValue<string> | undefined;\n /**\n * The encryption protector type like 'ServiceManaged', 'AzureKeyVault'.\n */\n serverKeyType: ExpressionOrValue<ServerKeyType>;\n}\n\n/**\n * View type for Properties for an encryption protector execution.\n */\nexport interface EncryptionProtectorPropertiesView extends InputOf<EncryptionProtectorProperties> {\n /**\n * Key auto rotation opt-in flag. Either true or false.\n */\n autoRotationEnabled?: ExpressionOrValue<boolean> | undefined;\n /**\n * Read-only output: The version of the server key being used as encryption protector\n */\n readonly keyVersion?: Expression<string> | undefined;\n /**\n * The name of the server key.\n */\n serverKeyName?: ExpressionOrValue<string> | undefined;\n /**\n * The encryption protector type like 'ServiceManaged', 'AzureKeyVault'.\n */\n serverKeyType: ExpressionOrValue<ServerKeyType>;\n /**\n * Read-only output: Subregion of the encryption protector.\n */\n readonly subregion?: Expression<string> | undefined;\n /**\n * Read-only output: Thumbprint of the server key.\n */\n readonly thumbprint?: Expression<string> | undefined;\n /**\n * Read-only output: The URI of the server key.\n */\n readonly uri?: Expression<string> | undefined;\n}\n\nexport const encryptionProtectorPropertiesShape: FlatModelShape = createFlatModelShape({\n autoRotationEnabled: { armPath: [\"autoRotationEnabled\"], value: createBooleanShape() },\n keyVersion: { armPath: [\"keyVersion\"], value: createStringShape(), readOnly: true },\n serverKeyName: { armPath: [\"serverKeyName\"], value: createStringShape() },\n serverKeyType: { armPath: [\"serverKeyType\"], value: createUnionShape() },\n subregion: { armPath: [\"subregion\"], value: createStringShape(), readOnly: true },\n thumbprint: { armPath: [\"thumbprint\"], value: createStringShape(), readOnly: true },\n uri: { armPath: [\"uri\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * The properties of an endpoint certificate.\n */\nexport interface EndpointCertificateProperties {\n /**\n * The certificate public blob\n */\n publicBlob?: string;\n}\n\n/**\n * Input type for The properties of an endpoint certificate.\n */\nexport interface EndpointCertificatePropertiesInput extends InputOf<EndpointCertificateProperties> {}\n\n/**\n * View type for The properties of an endpoint certificate.\n */\nexport interface EndpointCertificatePropertiesView extends InputOf<EndpointCertificateProperties> {\n /**\n * Read-only output: The certificate public blob\n */\n readonly publicBlob?: Expression<string> | undefined;\n}\n\nexport const endpointCertificatePropertiesShape: FlatModelShape = createFlatModelShape({\n publicBlob: { armPath: [\"publicBlob\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * Properties of an extended database blob auditing policy.\n */\nexport interface ExtendedDatabaseBlobAuditingPolicyProperties {\n /**\n * Specifies the Actions-Groups and Actions to audit.\n *\n * The recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins:\n *\n * BATCH_COMPLETED_GROUP,\n * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,\n * FAILED_DATABASE_AUTHENTICATION_GROUP.\n *\n * This above combination is also the set that is configured by default when enabling auditing from the Azure portal.\n *\n * The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records):\n *\n * APPLICATION_ROLE_CHANGE_PASSWORD_GROUP\n * BACKUP_RESTORE_GROUP\n * DATABASE_LOGOUT_GROUP\n * DATABASE_OBJECT_CHANGE_GROUP\n * DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP\n * DATABASE_OBJECT_PERMISSION_CHANGE_GROUP\n * DATABASE_OPERATION_GROUP\n * DATABASE_PERMISSION_CHANGE_GROUP\n * DATABASE_PRINCIPAL_CHANGE_GROUP\n * DATABASE_PRINCIPAL_IMPERSONATION_GROUP\n * DATABASE_ROLE_MEMBER_CHANGE_GROUP\n * FAILED_DATABASE_AUTHENTICATION_GROUP\n * SCHEMA_OBJECT_ACCESS_GROUP\n * SCHEMA_OBJECT_CHANGE_GROUP\n * SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP\n * SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP\n * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP\n * USER_CHANGE_PASSWORD_GROUP\n * BATCH_STARTED_GROUP\n * BATCH_COMPLETED_GROUP\n * DBCC_GROUP\n * DATABASE_OWNERSHIP_CHANGE_GROUP\n * DATABASE_CHANGE_GROUP\n * LEDGER_OPERATION_GROUP\n *\n * These are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs.\n *\n * For more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups).\n *\n * For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are:\n * SELECT\n * UPDATE\n * INSERT\n * DELETE\n * EXECUTE\n * RECEIVE\n * REFERENCES\n *\n * The general form for defining an action to be audited is:\n * {action} ON {object} BY {principal}\n *\n * Note that <object> in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively.\n *\n * For example:\n * SELECT on dbo.myTable by public\n * SELECT on DATABASE::myDatabase by public\n * SELECT on SCHEMA::mySchema by public\n *\n * For more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions)\n */\n auditActionsAndGroups?: string[];\n /**\n * Specifies whether audit events are sent to Azure Monitor.\n * In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true.\n *\n * When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created.\n * Note that for server level audit you should use the 'master' database as {databaseName}.\n *\n * Diagnostic Settings URI format:\n * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\n *\n * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\n * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\n */\n isAzureMonitorTargetEnabled?: boolean;\n /**\n * Specifies whether Managed Identity is used to access blob storage\n */\n isManagedIdentityInUse?: boolean;\n /**\n * Specifies whether storageAccountAccessKey value is the storage's secondary key.\n */\n isStorageSecondaryKeyInUse?: boolean;\n /**\n * Specifies condition of where clause when creating an audit.\n */\n predicateExpression?: string;\n /**\n * Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed.\n * The default minimum value is 1000 (1 second). The maximum is 2,147,483,647.\n */\n queueDelayMs?: number;\n /**\n * Specifies the number of days to keep in the audit logs in the storage account.\n */\n retentionDays?: number;\n /**\n * Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required.\n */\n state: BlobAuditingPolicyState;\n /**\n * Specifies the identifier key of the auditing storage account.\n * If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage.\n * Prerequisites for using managed identity authentication:\n * 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).\n * 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity.\n * For more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355)\n */\n storageAccountAccessKey?: string;\n /**\n * Specifies the blob storage subscription Id.\n */\n storageAccountSubscriptionId?: string;\n /**\n * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required.\n */\n storageEndpoint?: string;\n}\n\n/**\n * Input type for Properties of an extended database blob auditing policy.\n */\nexport interface ExtendedDatabaseBlobAuditingPolicyPropertiesInput extends InputOf<ExtendedDatabaseBlobAuditingPolicyProperties> {\n /**\n * Specifies the Actions-Groups and Actions to audit.\n *\n * The recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins:\n *\n * BATCH_COMPLETED_GROUP,\n * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,\n * FAILED_DATABASE_AUTHENTICATION_GROUP.\n *\n * This above combination is also the set that is configured by default when enabling auditing from the Azure portal.\n *\n * The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records):\n *\n * APPLICATION_ROLE_CHANGE_PASSWORD_GROUP\n * BACKUP_RESTORE_GROUP\n * DATABASE_LOGOUT_GROUP\n * DATABASE_OBJECT_CHANGE_GROUP\n * DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP\n * DATABASE_OBJECT_PERMISSION_CHANGE_GROUP\n * DATABASE_OPERATION_GROUP\n * DATABASE_PERMISSION_CHANGE_GROUP\n * DATABASE_PRINCIPAL_CHANGE_GROUP\n * DATABASE_PRINCIPAL_IMPERSONATION_GROUP\n * DATABASE_ROLE_MEMBER_CHANGE_GROUP\n * FAILED_DATABASE_AUTHENTICATION_GROUP\n * SCHEMA_OBJECT_ACCESS_GROUP\n * SCHEMA_OBJECT_CHANGE_GROUP\n * SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP\n * SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP\n * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP\n * USER_CHANGE_PASSWORD_GROUP\n * BATCH_STARTED_GROUP\n * BATCH_COMPLETED_GROUP\n * DBCC_GROUP\n * DATABASE_OWNERSHIP_CHANGE_GROUP\n * DATABASE_CHANGE_GROUP\n * LEDGER_OPERATION_GROUP\n *\n * These are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs.\n *\n * For more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups).\n *\n * For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are:\n * SELECT\n * UPDATE\n * INSERT\n * DELETE\n * EXECUTE\n * RECEIVE\n * REFERENCES\n *\n * The general form for defining an action to be audited is:\n * {action} ON {object} BY {principal}\n *\n * Note that <object> in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively.\n *\n * For example:\n * SELECT on dbo.myTable by public\n * SELECT on DATABASE::myDatabase by public\n * SELECT on SCHEMA::mySchema by public\n *\n * For more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions)\n */\n auditActionsAndGroups?: InputArray<ExpressionOrValue<string>, string[]> | undefined;\n /**\n * Specifies whether audit events are sent to Azure Monitor.\n * In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true.\n *\n * When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created.\n * Note that for server level audit you should use the 'master' database as {databaseName}.\n *\n * Diagnostic Settings URI format:\n * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\n *\n * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\n * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\n */\n isAzureMonitorTargetEnabled?: ExpressionOrValue<boolean> | undefined;\n /**\n * Specifies whether Managed Identity is used to access blob storage\n */\n isManagedIdentityInUse?: ExpressionOrValue<boolean> | undefined;\n /**\n * Specifies whether storageAccountAccessKey value is the storage's secondary key.\n */\n isStorageSecondaryKeyInUse?: ExpressionOrValue<boolean> | undefined;\n /**\n * Specifies condition of where clause when creating an audit.\n */\n predicateExpression?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed.\n * The default minimum value is 1000 (1 second). The maximum is 2,147,483,647.\n */\n queueDelayMs?: ExpressionOrValue<number> | undefined;\n /**\n * Specifies the number of days to keep in the audit logs in the storage account.\n */\n retentionDays?: ExpressionOrValue<number> | undefined;\n /**\n * Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required.\n */\n state: ExpressionOrValue<BlobAuditingPolicyState>;\n /**\n * Specifies the identifier key of the auditing storage account.\n * If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage.\n * Prerequisites for using managed identity authentication:\n * 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).\n * 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity.\n * For more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355)\n */\n storageAccountAccessKey?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the blob storage subscription Id.\n */\n storageAccountSubscriptionId?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required.\n */\n storageEndpoint?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties of an extended database blob auditing policy.\n */\nexport type ExtendedDatabaseBlobAuditingPolicyPropertiesView =\n ExtendedDatabaseBlobAuditingPolicyPropertiesInput;\n\nexport const extendedDatabaseBlobAuditingPolicyPropertiesShape: FlatModelShape =\n createFlatModelShape({\n auditActionsAndGroups: {\n armPath: [\"auditActionsAndGroups\"],\n value: createArrayShape(createStringShape()),\n },\n isAzureMonitorTargetEnabled: {\n armPath: [\"isAzureMonitorTargetEnabled\"],\n value: createBooleanShape(),\n },\n isManagedIdentityInUse: { armPath: [\"isManagedIdentityInUse\"], value: createBooleanShape() },\n isStorageSecondaryKeyInUse: {\n armPath: [\"isStorageSecondaryKeyInUse\"],\n value: createBooleanShape(),\n },\n predicateExpression: { armPath: [\"predicateExpression\"], value: createStringShape() },\n queueDelayMs: { armPath: [\"queueDelayMs\"], value: createNumberShape() },\n retentionDays: { armPath: [\"retentionDays\"], value: createNumberShape() },\n state: { armPath: [\"state\"], value: createEnumShape() },\n storageAccountAccessKey: { armPath: [\"storageAccountAccessKey\"], value: createStringShape() },\n storageAccountSubscriptionId: {\n armPath: [\"storageAccountSubscriptionId\"],\n value: createStringShape(),\n },\n storageEndpoint: { armPath: [\"storageEndpoint\"], value: createStringShape() },\n });\n\n/**\n * Properties of an extended server blob auditing policy.\n */\nexport interface ExtendedServerBlobAuditingPolicyProperties {\n /**\n * Specifies the Actions-Groups and Actions to audit.\n *\n * The recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins:\n *\n * BATCH_COMPLETED_GROUP,\n * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,\n * FAILED_DATABASE_AUTHENTICATION_GROUP.\n *\n * This above combination is also the set that is configured by default when enabling auditing from the Azure portal.\n *\n * The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records):\n *\n * APPLICATION_ROLE_CHANGE_PASSWORD_GROUP\n * BACKUP_RESTORE_GROUP\n * DATABASE_LOGOUT_GROUP\n * DATABASE_OBJECT_CHANGE_GROUP\n * DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP\n * DATABASE_OBJECT_PERMISSION_CHANGE_GROUP\n * DATABASE_OPERATION_GROUP\n * DATABASE_PERMISSION_CHANGE_GROUP\n * DATABASE_PRINCIPAL_CHANGE_GROUP\n * DATABASE_PRINCIPAL_IMPERSONATION_GROUP\n * DATABASE_ROLE_MEMBER_CHANGE_GROUP\n * FAILED_DATABASE_AUTHENTICATION_GROUP\n * SCHEMA_OBJECT_ACCESS_GROUP\n * SCHEMA_OBJECT_CHANGE_GROUP\n * SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP\n * SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP\n * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP\n * USER_CHANGE_PASSWORD_GROUP\n * BATCH_STARTED_GROUP\n * BATCH_COMPLETED_GROUP\n * DBCC_GROUP\n * DATABASE_OWNERSHIP_CHANGE_GROUP\n * DATABASE_CHANGE_GROUP\n * LEDGER_OPERATION_GROUP\n *\n * These are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs.\n *\n * For more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups).\n *\n * For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are:\n * SELECT\n * UPDATE\n * INSERT\n * DELETE\n * EXECUTE\n * RECEIVE\n * REFERENCES\n *\n * The general form for defining an action to be audited is:\n * {action} ON {object} BY {principal}\n *\n * Note that <object> in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively.\n *\n * For example:\n * SELECT on dbo.myTable by public\n * SELECT on DATABASE::myDatabase by public\n * SELECT on SCHEMA::mySchema by public\n *\n * For more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions)\n */\n auditActionsAndGroups?: string[];\n /**\n * Specifies whether audit events are sent to Azure Monitor.\n * In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true.\n *\n * When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created.\n * Note that for server level audit you should use the 'master' database as {databaseName}.\n *\n * Diagnostic Settings URI format:\n * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\n *\n * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\n * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\n */\n isAzureMonitorTargetEnabled?: boolean;\n /**\n * **Note:** This field will soon be deprecated. Going forward, use the dedicated Server DevOps Audit Settings APIs to configure DevOps audit. See:\n *\n * - [Server DevOps Audit Settings - Create Or Update](https://learn.microsoft.com/en-us/rest/api/sql/server-devops-audit-settings/create-or-update)\n * - [Server DevOps Audit Settings - Get](https://learn.microsoft.com/en-us/rest/api/sql/server-devops-audit-settings/get)\n *\n * ---\n *\n * Specifies the state of devops audit. If state is Enabled, devops logs will be sent to Azure Monitor.\n * In order to send the events to Azure Monitor, specify 'State' as 'Enabled', 'IsAzureMonitorTargetEnabled' as true and 'IsDevopsAuditEnabled' as true\n *\n * When using REST API to configure auditing, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on the master database should also be created.\n *\n * Diagnostic Settings URI format:\n * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\n *\n * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\n * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\n */\n isDevopsAuditEnabled?: boolean;\n /**\n * Specifies whether Managed Identity is used to access blob storage\n */\n isManagedIdentityInUse?: boolean;\n /**\n * Specifies whether storageAccountAccessKey value is the storage's secondary key.\n */\n isStorageSecondaryKeyInUse?: boolean;\n /**\n * Specifies condition of where clause when creating an audit.\n */\n predicateExpression?: string;\n /**\n * Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed.\n * The default minimum value is 1000 (1 second). The maximum is 2,147,483,647.\n */\n queueDelayMs?: number;\n /**\n * Specifies the number of days to keep in the audit logs in the storage account.\n */\n retentionDays?: number;\n /**\n * Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required.\n */\n state: BlobAuditingPolicyState;\n /**\n * Specifies the identifier key of the auditing storage account.\n * If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage.\n * Prerequisites for using managed identity authentication:\n * 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).\n * 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity.\n * For more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355)\n */\n storageAccountAccessKey?: string;\n /**\n * Specifies the blob storage subscription Id.\n */\n storageAccountSubscriptionId?: string;\n /**\n * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required.\n */\n storageEndpoint?: string;\n}\n\n/**\n * Input type for Properties of an extended server blob auditing policy.\n */\nexport interface ExtendedServerBlobAuditingPolicyPropertiesInput extends InputOf<ExtendedServerBlobAuditingPolicyProperties> {\n /**\n * Specifies the Actions-Groups and Actions to audit.\n *\n * The recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins:\n *\n * BATCH_COMPLETED_GROUP,\n * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,\n * FAILED_DATABASE_AUTHENTICATION_GROUP.\n *\n * This above combination is also the set that is configured by default when enabling auditing from the Azure portal.\n *\n * The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records):\n *\n * APPLICATION_ROLE_CHANGE_PASSWORD_GROUP\n * BACKUP_RESTORE_GROUP\n * DATABASE_LOGOUT_GROUP\n * DATABASE_OBJECT_CHANGE_GROUP\n * DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP\n * DATABASE_OBJECT_PERMISSION_CHANGE_GROUP\n * DATABASE_OPERATION_GROUP\n * DATABASE_PERMISSION_CHANGE_GROUP\n * DATABASE_PRINCIPAL_CHANGE_GROUP\n * DATABASE_PRINCIPAL_IMPERSONATION_GROUP\n * DATABASE_ROLE_MEMBER_CHANGE_GROUP\n * FAILED_DATABASE_AUTHENTICATION_GROUP\n * SCHEMA_OBJECT_ACCESS_GROUP\n * SCHEMA_OBJECT_CHANGE_GROUP\n * SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP\n * SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP\n * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP\n * USER_CHANGE_PASSWORD_GROUP\n * BATCH_STARTED_GROUP\n * BATCH_COMPLETED_GROUP\n * DBCC_GROUP\n * DATABASE_OWNERSHIP_CHANGE_GROUP\n * DATABASE_CHANGE_GROUP\n * LEDGER_OPERATION_GROUP\n *\n * These are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs.\n *\n * For more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups).\n *\n * For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are:\n * SELECT\n * UPDATE\n * INSERT\n * DELETE\n * EXECUTE\n * RECEIVE\n * REFERENCES\n *\n * The general form for defining an action to be audited is:\n * {action} ON {object} BY {principal}\n *\n * Note that <object> in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively.\n *\n * For example:\n * SELECT on dbo.myTable by public\n * SELECT on DATABASE::myDatabase by public\n * SELECT on SCHEMA::mySchema by public\n *\n * For more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions)\n */\n auditActionsAndGroups?: InputArray<ExpressionOrValue<string>, string[]> | undefined;\n /**\n * Specifies whether audit events are sent to Azure Monitor.\n * In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true.\n *\n * When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created.\n * Note that for server level audit you should use the 'master' database as {databaseName}.\n *\n * Diagnostic Settings URI format:\n * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\n *\n * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\n * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\n */\n isAzureMonitorTargetEnabled?: ExpressionOrValue<boolean> | undefined;\n /**\n * **Note:** This field will soon be deprecated. Going forward, use the dedicated Server DevOps Audit Settings APIs to configure DevOps audit. See:\n *\n * - [Server DevOps Audit Settings - Create Or Update](https://learn.microsoft.com/en-us/rest/api/sql/server-devops-audit-settings/create-or-update)\n * - [Server DevOps Audit Settings - Get](https://learn.microsoft.com/en-us/rest/api/sql/server-devops-audit-settings/get)\n *\n * ---\n *\n * Specifies the state of devops audit. If state is Enabled, devops logs will be sent to Azure Monitor.\n * In order to send the events to Azure Monitor, specify 'State' as 'Enabled', 'IsAzureMonitorTargetEnabled' as true and 'IsDevopsAuditEnabled' as true\n *\n * When using REST API to configure auditing, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on the master database should also be created.\n *\n * Diagnostic Settings URI format:\n * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\n *\n * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\n * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\n */\n isDevopsAuditEnabled?: ExpressionOrValue<boolean> | undefined;\n /**\n * Specifies whether Managed Identity is used to access blob storage\n */\n isManagedIdentityInUse?: ExpressionOrValue<boolean> | undefined;\n /**\n * Specifies whether storageAccountAccessKey value is the storage's secondary key.\n */\n isStorageSecondaryKeyInUse?: ExpressionOrValue<boolean> | undefined;\n /**\n * Specifies condition of where clause when creating an audit.\n */\n predicateExpression?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed.\n * The default minimum value is 1000 (1 second). The maximum is 2,147,483,647.\n */\n queueDelayMs?: ExpressionOrValue<number> | undefined;\n /**\n * Specifies the number of days to keep in the audit logs in the storage account.\n */\n retentionDays?: ExpressionOrValue<number> | undefined;\n /**\n * Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required.\n */\n state: ExpressionOrValue<BlobAuditingPolicyState>;\n /**\n * Specifies the identifier key of the auditing storage account.\n * If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage.\n * Prerequisites for using managed identity authentication:\n * 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).\n * 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity.\n * For more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355)\n */\n storageAccountAccessKey?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the blob storage subscription Id.\n */\n storageAccountSubscriptionId?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required.\n */\n storageEndpoint?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties of an extended server blob auditing policy.\n */\nexport type ExtendedServerBlobAuditingPolicyPropertiesView =\n ExtendedServerBlobAuditingPolicyPropertiesInput;\n\nexport const extendedServerBlobAuditingPolicyPropertiesShape: FlatModelShape = createFlatModelShape(\n {\n auditActionsAndGroups: {\n armPath: [\"auditActionsAndGroups\"],\n value: createArrayShape(createStringShape()),\n },\n isAzureMonitorTargetEnabled: {\n armPath: [\"isAzureMonitorTargetEnabled\"],\n value: createBooleanShape(),\n },\n isDevopsAuditEnabled: { armPath: [\"isDevopsAuditEnabled\"], value: createBooleanShape() },\n isManagedIdentityInUse: { armPath: [\"isManagedIdentityInUse\"], value: createBooleanShape() },\n isStorageSecondaryKeyInUse: {\n armPath: [\"isStorageSecondaryKeyInUse\"],\n value: createBooleanShape(),\n },\n predicateExpression: { armPath: [\"predicateExpression\"], value: createStringShape() },\n queueDelayMs: { armPath: [\"queueDelayMs\"], value: createNumberShape() },\n retentionDays: { armPath: [\"retentionDays\"], value: createNumberShape() },\n state: { armPath: [\"state\"], value: createEnumShape() },\n storageAccountAccessKey: { armPath: [\"storageAccountAccessKey\"], value: createStringShape() },\n storageAccountSubscriptionId: {\n armPath: [\"storageAccountSubscriptionId\"],\n value: createStringShape(),\n },\n storageEndpoint: { armPath: [\"storageEndpoint\"], value: createStringShape() },\n },\n);\n\n/**\n * Properties of a failover group.\n */\nexport interface FailoverGroupProperties {\n /**\n * List of databases in the failover group.\n */\n databases?: string[];\n /**\n * List of partner server information for the failover group.\n */\n partnerServers: PartnerInfo[];\n /**\n * Read-only endpoint of the failover group instance.\n */\n readOnlyEndpoint?: FailoverGroupReadOnlyEndpoint;\n /**\n * Read-write endpoint of the failover group instance.\n */\n readWriteEndpoint: FailoverGroupReadWriteEndpoint;\n /**\n * Local replication role of the failover group instance.\n */\n replicationRole?: FailoverGroupReplicationRole;\n /**\n * Replication state of the failover group instance.\n */\n replicationState?: string;\n /**\n * Databases secondary type on partner server.\n */\n secondaryType?: FailoverGroupDatabasesSecondaryType;\n}\n\n/**\n * Input type for Properties of a failover group.\n */\nexport interface FailoverGroupPropertiesInput extends InputOf<FailoverGroupProperties> {\n /**\n * List of databases in the failover group.\n */\n databases?: InputArray<ExpressionOrValue<string>, string[]> | undefined;\n /**\n * List of partner server information for the failover group.\n */\n partnerServers: InputArray<PartnerInfoInput, PartnerInfo[]>;\n /**\n * Read-only endpoint of the failover group instance.\n */\n readOnlyEndpoint?: FailoverGroupReadOnlyEndpointInput | undefined;\n /**\n * Read-write endpoint of the failover group instance.\n */\n readWriteEndpoint: FailoverGroupReadWriteEndpointInput;\n /**\n * Databases secondary type on partner server.\n */\n secondaryType?: ExpressionOrValue<FailoverGroupDatabasesSecondaryType> | undefined;\n}\n\n/**\n * View type for Properties of a failover group.\n */\nexport interface FailoverGroupPropertiesView extends InputOf<FailoverGroupProperties> {\n /**\n * List of databases in the failover group.\n */\n databases?: InputArray<ExpressionOrValue<string>, string[]> | undefined;\n /**\n * List of partner server information for the failover group.\n */\n partnerServers: InputArray<PartnerInfoView, PartnerInfo[]>;\n /**\n * Read-only endpoint of the failover group instance.\n */\n readOnlyEndpoint?: FailoverGroupReadOnlyEndpointView | undefined;\n /**\n * Read-write endpoint of the failover group instance.\n */\n readWriteEndpoint: FailoverGroupReadWriteEndpointView;\n /**\n * Read-only output: Local replication role of the failover group instance.\n */\n readonly replicationRole?: Expression<FailoverGroupReplicationRole> | undefined;\n /**\n * Read-only output: Replication state of the failover group instance.\n */\n readonly replicationState?: Expression<string> | undefined;\n /**\n * Databases secondary type on partner server.\n */\n secondaryType?: ExpressionOrValue<FailoverGroupDatabasesSecondaryType> | undefined;\n}\n\nexport const failoverGroupPropertiesShape: FlatModelShape = createFlatModelShape({\n databases: { armPath: [\"databases\"], value: createArrayShape(createStringShape()) },\n partnerServers: {\n armPath: [\"partnerServers\"],\n value: createArrayShape(createDeferredShape(() => partnerInfoShape)),\n },\n readOnlyEndpoint: {\n armPath: [\"readOnlyEndpoint\"],\n value: createDeferredShape(() => failoverGroupReadOnlyEndpointShape),\n },\n readWriteEndpoint: {\n armPath: [\"readWriteEndpoint\"],\n value: createDeferredShape(() => failoverGroupReadWriteEndpointShape),\n },\n replicationRole: { armPath: [\"replicationRole\"], value: createUnionShape(), readOnly: true },\n replicationState: { armPath: [\"replicationState\"], value: createStringShape(), readOnly: true },\n secondaryType: { armPath: [\"secondaryType\"], value: createUnionShape() },\n});\n\n/**\n * Read-only endpoint of the failover group instance.\n */\nexport interface FailoverGroupReadOnlyEndpoint {\n /**\n * Failover policy of the read-only endpoint for the failover group.\n */\n failoverPolicy?: ReadOnlyEndpointFailoverPolicy;\n /**\n * The target partner server where the read-only endpoint points to.\n */\n targetServer?: string;\n}\n\n/**\n * Input type for Read-only endpoint of the failover group instance.\n */\nexport interface FailoverGroupReadOnlyEndpointInput extends InputOf<FailoverGroupReadOnlyEndpoint> {\n /**\n * Failover policy of the read-only endpoint for the failover group.\n */\n failoverPolicy?: ExpressionOrValue<ReadOnlyEndpointFailoverPolicy> | undefined;\n /**\n * The target partner server where the read-only endpoint points to.\n */\n targetServer?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Read-only endpoint of the failover group instance.\n */\nexport type FailoverGroupReadOnlyEndpointView = FailoverGroupReadOnlyEndpointInput;\n\nexport const failoverGroupReadOnlyEndpointShape: FlatModelShape = createFlatModelShape({\n failoverPolicy: { armPath: [\"failoverPolicy\"], value: createUnionShape() },\n targetServer: { armPath: [\"targetServer\"], value: createStringShape() },\n});\n\n/**\n * Read-write endpoint of the failover group instance.\n */\nexport interface FailoverGroupReadWriteEndpoint {\n /**\n * Failover policy of the read-write endpoint for the failover group. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required.\n */\n failoverPolicy: ReadWriteEndpointFailoverPolicy;\n /**\n * Grace period before failover with data loss is attempted for the read-write endpoint. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required.\n */\n failoverWithDataLossGracePeriodMinutes?: number;\n}\n\n/**\n * Input type for Read-write endpoint of the failover group instance.\n */\nexport interface FailoverGroupReadWriteEndpointInput extends InputOf<FailoverGroupReadWriteEndpoint> {\n /**\n * Failover policy of the read-write endpoint for the failover group. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required.\n */\n failoverPolicy: ExpressionOrValue<ReadWriteEndpointFailoverPolicy>;\n /**\n * Grace period before failover with data loss is attempted for the read-write endpoint. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required.\n */\n failoverWithDataLossGracePeriodMinutes?: ExpressionOrValue<number> | undefined;\n}\n\n/**\n * View type for Read-write endpoint of the failover group instance.\n */\nexport type FailoverGroupReadWriteEndpointView = FailoverGroupReadWriteEndpointInput;\n\nexport const failoverGroupReadWriteEndpointShape: FlatModelShape = createFlatModelShape({\n failoverPolicy: { armPath: [\"failoverPolicy\"], value: createUnionShape() },\n failoverWithDataLossGracePeriodMinutes: {\n armPath: [\"failoverWithDataLossGracePeriodMinutes\"],\n value: createNumberShape(),\n },\n});\n\n/**\n * The properties of the geo backup policy.\n */\nexport interface GeoBackupPolicyProperties {\n /**\n * The state of the geo backup policy.\n */\n state: GeoBackupPolicyState;\n /**\n * The storage type of the geo backup policy.\n */\n storageType?: string;\n}\n\n/**\n * Input type for The properties of the geo backup policy.\n */\nexport interface GeoBackupPolicyPropertiesInput extends InputOf<GeoBackupPolicyProperties> {\n /**\n * The state of the geo backup policy.\n */\n state: ExpressionOrValue<GeoBackupPolicyState>;\n}\n\n/**\n * View type for The properties of the geo backup policy.\n */\nexport interface GeoBackupPolicyPropertiesView extends InputOf<GeoBackupPolicyProperties> {\n /**\n * The state of the geo backup policy.\n */\n state: ExpressionOrValue<GeoBackupPolicyState>;\n /**\n * Read-only output: The storage type of the geo backup policy.\n */\n readonly storageType?: Expression<string> | undefined;\n}\n\nexport const geoBackupPolicyPropertiesShape: FlatModelShape = createFlatModelShape({\n state: { armPath: [\"state\"], value: createEnumShape() },\n storageType: { armPath: [\"storageType\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * Properties of a instance failover group.\n */\nexport interface InstanceFailoverGroupProperties {\n /**\n * List of managed instance pairs in the failover group.\n */\n managedInstancePairs: ManagedInstancePairInfo[];\n /**\n * Partner region information for the failover group.\n */\n partnerRegions: PartnerRegionInfo[];\n /**\n * Read-only endpoint of the failover group instance.\n */\n readOnlyEndpoint?: InstanceFailoverGroupReadOnlyEndpoint;\n /**\n * Read-write endpoint of the failover group instance.\n */\n readWriteEndpoint: InstanceFailoverGroupReadWriteEndpoint;\n /**\n * Local replication role of the failover group instance.\n */\n replicationRole?: InstanceFailoverGroupReplicationRole;\n /**\n * Replication state of the failover group instance.\n */\n replicationState?: string;\n /**\n * Type of the geo-secondary instance. Set 'Standby' if the instance is used as a DR option only.\n */\n secondaryType?: SecondaryInstanceType;\n}\n\n/**\n * Input type for Properties of a instance failover group.\n */\nexport interface InstanceFailoverGroupPropertiesInput extends InputOf<InstanceFailoverGroupProperties> {\n /**\n * List of managed instance pairs in the failover group.\n */\n managedInstancePairs: InputArray<ManagedInstancePairInfoInput, ManagedInstancePairInfo[]>;\n /**\n * Partner region information for the failover group.\n */\n partnerRegions: InputArray<PartnerRegionInfoInput, PartnerRegionInfo[]>;\n /**\n * Read-only endpoint of the failover group instance.\n */\n readOnlyEndpoint?: InstanceFailoverGroupReadOnlyEndpointInput | undefined;\n /**\n * Read-write endpoint of the failover group instance.\n */\n readWriteEndpoint: InstanceFailoverGroupReadWriteEndpointInput;\n /**\n * Type of the geo-secondary instance. Set 'Standby' if the instance is used as a DR option only.\n */\n secondaryType?: ExpressionOrValue<SecondaryInstanceType> | undefined;\n}\n\n/**\n * View type for Properties of a instance failover group.\n */\nexport interface InstanceFailoverGroupPropertiesView extends InputOf<InstanceFailoverGroupProperties> {\n /**\n * List of managed instance pairs in the failover group.\n */\n managedInstancePairs: InputArray<ManagedInstancePairInfoView, ManagedInstancePairInfo[]>;\n /**\n * Partner region information for the failover group.\n */\n partnerRegions: InputArray<PartnerRegionInfoView, PartnerRegionInfo[]>;\n /**\n * Read-only endpoint of the failover group instance.\n */\n readOnlyEndpoint?: InstanceFailoverGroupReadOnlyEndpointView | undefined;\n /**\n * Read-write endpoint of the failover group instance.\n */\n readWriteEndpoint: InstanceFailoverGroupReadWriteEndpointView;\n /**\n * Read-only output: Local replication role of the failover group instance.\n */\n readonly replicationRole?: Expression<InstanceFailoverGroupReplicationRole> | undefined;\n /**\n * Read-only output: Replication state of the failover group instance.\n */\n readonly replicationState?: Expression<string> | undefined;\n /**\n * Type of the geo-secondary instance. Set 'Standby' if the instance is used as a DR option only.\n */\n secondaryType?: ExpressionOrValue<SecondaryInstanceType> | undefined;\n}\n\nexport const instanceFailoverGroupPropertiesShape: FlatModelShape = createFlatModelShape({\n managedInstancePairs: {\n armPath: [\"managedInstancePairs\"],\n value: createArrayShape(createDeferredShape(() => managedInstancePairInfoShape)),\n },\n partnerRegions: {\n armPath: [\"partnerRegions\"],\n value: createArrayShape(createDeferredShape(() => partnerRegionInfoShape)),\n },\n readOnlyEndpoint: {\n armPath: [\"readOnlyEndpoint\"],\n value: createDeferredShape(() => instanceFailoverGroupReadOnlyEndpointShape),\n },\n readWriteEndpoint: {\n armPath: [\"readWriteEndpoint\"],\n value: createDeferredShape(() => instanceFailoverGroupReadWriteEndpointShape),\n },\n replicationRole: { armPath: [\"replicationRole\"], value: createUnionShape(), readOnly: true },\n replicationState: { armPath: [\"replicationState\"], value: createStringShape(), readOnly: true },\n secondaryType: { armPath: [\"secondaryType\"], value: createUnionShape() },\n});\n\n/**\n * Read-only endpoint of the failover group instance.\n */\nexport interface InstanceFailoverGroupReadOnlyEndpoint {\n /**\n * Failover policy of the read-only endpoint for the failover group.\n */\n failoverPolicy?: ReadOnlyEndpointFailoverPolicy;\n}\n\n/**\n * Input type for Read-only endpoint of the failover group instance.\n */\nexport interface InstanceFailoverGroupReadOnlyEndpointInput extends InputOf<InstanceFailoverGroupReadOnlyEndpoint> {\n /**\n * Failover policy of the read-only endpoint for the failover group.\n */\n failoverPolicy?: ExpressionOrValue<ReadOnlyEndpointFailoverPolicy> | undefined;\n}\n\n/**\n * View type for Read-only endpoint of the failover group instance.\n */\nexport type InstanceFailoverGroupReadOnlyEndpointView = InstanceFailoverGroupReadOnlyEndpointInput;\n\nexport const instanceFailoverGroupReadOnlyEndpointShape: FlatModelShape = createFlatModelShape({\n failoverPolicy: { armPath: [\"failoverPolicy\"], value: createUnionShape() },\n});\n\n/**\n * Read-write endpoint of the failover group instance.\n */\nexport interface InstanceFailoverGroupReadWriteEndpoint {\n /**\n * Failover policy of the read-write endpoint for the failover group. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required.\n */\n failoverPolicy: ReadWriteEndpointFailoverPolicy;\n /**\n * Grace period before failover with data loss is attempted for the read-write endpoint. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required.\n */\n failoverWithDataLossGracePeriodMinutes?: number;\n}\n\n/**\n * Input type for Read-write endpoint of the failover group instance.\n */\nexport interface InstanceFailoverGroupReadWriteEndpointInput extends InputOf<InstanceFailoverGroupReadWriteEndpoint> {\n /**\n * Failover policy of the read-write endpoint for the failover group. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required.\n */\n failoverPolicy: ExpressionOrValue<ReadWriteEndpointFailoverPolicy>;\n /**\n * Grace period before failover with data loss is attempted for the read-write endpoint. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required.\n */\n failoverWithDataLossGracePeriodMinutes?: ExpressionOrValue<number> | undefined;\n}\n\n/**\n * View type for Read-write endpoint of the failover group instance.\n */\nexport type InstanceFailoverGroupReadWriteEndpointView =\n InstanceFailoverGroupReadWriteEndpointInput;\n\nexport const instanceFailoverGroupReadWriteEndpointShape: FlatModelShape = createFlatModelShape({\n failoverPolicy: { armPath: [\"failoverPolicy\"], value: createUnionShape() },\n failoverWithDataLossGracePeriodMinutes: {\n armPath: [\"failoverWithDataLossGracePeriodMinutes\"],\n value: createNumberShape(),\n },\n});\n\n/**\n * The properties of a instance pool operation.\n */\nexport interface InstancePoolOperationProperties {\n /**\n * The operation description.\n */\n description?: string;\n /**\n * The operation error code.\n */\n errorCode?: number;\n /**\n * The operation error description.\n */\n errorDescription?: string;\n /**\n * The operation error severity.\n */\n errorSeverity?: number;\n /**\n * Error type (e.g. None, User).\n */\n errorType?: ErrorType;\n /**\n * The estimated completion time of the operation.\n */\n estimatedCompletionTime?: Date;\n /**\n * The name of the instance pool the operation is being performed on.\n */\n instancePoolName?: string;\n /**\n * Whether the operation can be cancelled.\n */\n isCancellable?: boolean;\n /**\n * The name of operation.\n */\n operation?: string;\n /**\n * The friendly name of operation.\n */\n operationFriendlyName?: string;\n /**\n * The percentage of the operation completed.\n */\n percentComplete?: number;\n /**\n * The operation start time.\n */\n startTime?: Date;\n /**\n * The operation state.\n */\n state?: ManagementOperationState;\n}\n\n/**\n * Input type for The properties of a instance pool operation.\n */\nexport interface InstancePoolOperationPropertiesInput extends InputOf<InstancePoolOperationProperties> {}\n\n/**\n * View type for The properties of a instance pool operation.\n */\nexport interface InstancePoolOperationPropertiesView extends InputOf<InstancePoolOperationProperties> {\n /**\n * Read-only output: The operation description.\n */\n readonly description?: Expression<string> | undefined;\n /**\n * Read-only output: The operation error code.\n */\n readonly errorCode?: Expression<number> | undefined;\n /**\n * Read-only output: The operation error description.\n */\n readonly errorDescription?: Expression<string> | undefined;\n /**\n * Read-only output: The operation error severity.\n */\n readonly errorSeverity?: Expression<number> | undefined;\n /**\n * Read-only output: Error type (e.g. None, User).\n */\n readonly errorType?: Expression<ErrorType> | undefined;\n /**\n * Read-only output: The estimated completion time of the operation.\n */\n readonly estimatedCompletionTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The name of the instance pool the operation is being performed on.\n */\n readonly instancePoolName?: Expression<string> | undefined;\n /**\n * Read-only output: Whether the operation can be cancelled.\n */\n readonly isCancellable?: Expression<boolean> | undefined;\n /**\n * Read-only output: The name of operation.\n */\n readonly operation?: Expression<string> | undefined;\n /**\n * Read-only output: The friendly name of operation.\n */\n readonly operationFriendlyName?: Expression<string> | undefined;\n /**\n * Read-only output: The percentage of the operation completed.\n */\n readonly percentComplete?: Expression<number> | undefined;\n /**\n * Read-only output: The operation start time.\n */\n readonly startTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The operation state.\n */\n readonly state?: Expression<ManagementOperationState> | undefined;\n}\n\nexport const instancePoolOperationPropertiesShape: FlatModelShape = createFlatModelShape({\n description: { armPath: [\"description\"], value: createStringShape(), readOnly: true },\n errorCode: { armPath: [\"errorCode\"], value: createNumberShape(), readOnly: true },\n errorDescription: { armPath: [\"errorDescription\"], value: createStringShape(), readOnly: true },\n errorSeverity: { armPath: [\"errorSeverity\"], value: createNumberShape(), readOnly: true },\n errorType: { armPath: [\"errorType\"], value: createUnionShape(), readOnly: true },\n estimatedCompletionTime: {\n armPath: [\"estimatedCompletionTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n instancePoolName: { armPath: [\"instancePoolName\"], value: createStringShape(), readOnly: true },\n isCancellable: { armPath: [\"isCancellable\"], value: createBooleanShape(), readOnly: true },\n operation: { armPath: [\"operation\"], value: createStringShape(), readOnly: true },\n operationFriendlyName: {\n armPath: [\"operationFriendlyName\"],\n value: createStringShape(),\n readOnly: true,\n },\n percentComplete: { armPath: [\"percentComplete\"], value: createNumberShape(), readOnly: true },\n startTime: {\n armPath: [\"startTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n state: { armPath: [\"state\"], value: createUnionShape(), readOnly: true },\n});\n\n/**\n * Properties of an instance pool.\n */\nexport interface InstancePoolProperties {\n /**\n * The Dns Zone that the managed instance pool is in.\n */\n dnsZone?: string;\n /**\n * The license type. Possible values are 'LicenseIncluded' (price for SQL license is included) and 'BasePrice' (without SQL license price).\n */\n licenseType: InstancePoolLicenseType;\n /**\n * Specifies maintenance configuration id to apply to this managed instance.\n */\n maintenanceConfigurationId?: string;\n /**\n * Resource ID of the subnet to place this instance pool in.\n */\n subnetId: string;\n /**\n * Count of vCores belonging to this instance pool.\n */\n vCores: number;\n}\n\n/**\n * Input type for Properties of an instance pool.\n */\nexport interface InstancePoolPropertiesInput extends InputOf<InstancePoolProperties> {\n /**\n * The license type. Possible values are 'LicenseIncluded' (price for SQL license is included) and 'BasePrice' (without SQL license price).\n */\n licenseType: ExpressionOrValue<InstancePoolLicenseType>;\n /**\n * Specifies maintenance configuration id to apply to this managed instance.\n */\n maintenanceConfigurationId?: ExpressionOrValue<string> | undefined;\n /**\n * Resource ID of the subnet to place this instance pool in.\n */\n subnetId: ExpressionOrValue<string>;\n /**\n * Count of vCores belonging to this instance pool.\n */\n vCores: ExpressionOrValue<number>;\n}\n\n/**\n * View type for Properties of an instance pool.\n */\nexport interface InstancePoolPropertiesView extends InputOf<InstancePoolProperties> {\n /**\n * Read-only output: The Dns Zone that the managed instance pool is in.\n */\n readonly dnsZone?: Expression<string> | undefined;\n /**\n * The license type. Possible values are 'LicenseIncluded' (price for SQL license is included) and 'BasePrice' (without SQL license price).\n */\n licenseType: ExpressionOrValue<InstancePoolLicenseType>;\n /**\n * Specifies maintenance configuration id to apply to this managed instance.\n */\n maintenanceConfigurationId?: ExpressionOrValue<string> | undefined;\n /**\n * Resource ID of the subnet to place this instance pool in.\n */\n subnetId: ExpressionOrValue<string>;\n /**\n * Count of vCores belonging to this instance pool.\n */\n vCores: ExpressionOrValue<number>;\n}\n\nexport const instancePoolPropertiesShape: FlatModelShape = createFlatModelShape({\n dnsZone: { armPath: [\"dnsZone\"], value: createStringShape(), readOnly: true },\n licenseType: { armPath: [\"licenseType\"], value: createUnionShape() },\n maintenanceConfigurationId: {\n armPath: [\"maintenanceConfigurationId\"],\n value: createStringShape(),\n },\n subnetId: { armPath: [\"subnetId\"], value: createStringShape() },\n vCores: { armPath: [\"vCores\"], value: createNumberShape() },\n});\n\n/**\n * The properties of an IPv6 server firewall rule.\n */\nexport interface IPv6ServerFirewallRuleProperties {\n /**\n * The end IP address of the firewall rule. Must be IPv6 format. Must be greater than or equal to startIpv6Address.\n */\n endIPv6Address?: string;\n /**\n * The start IP address of the firewall rule. Must be IPv6 format.\n */\n startIPv6Address?: string;\n}\n\n/**\n * Input type for The properties of an IPv6 server firewall rule.\n */\nexport interface IPv6ServerFirewallRulePropertiesInput extends InputOf<IPv6ServerFirewallRuleProperties> {\n /**\n * The end IP address of the firewall rule. Must be IPv6 format. Must be greater than or equal to startIpv6Address.\n */\n endIPv6Address?: ExpressionOrValue<string> | undefined;\n /**\n * The start IP address of the firewall rule. Must be IPv6 format.\n */\n startIPv6Address?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for The properties of an IPv6 server firewall rule.\n */\nexport type IPv6ServerFirewallRulePropertiesView = IPv6ServerFirewallRulePropertiesInput;\n\nexport const iPv6ServerFirewallRulePropertiesShape: FlatModelShape = createFlatModelShape({\n endIPv6Address: { armPath: [\"endIPv6Address\"], value: createStringShape() },\n startIPv6Address: { armPath: [\"startIPv6Address\"], value: createStringShape() },\n});\n\n/**\n * Azure Active Directory identity configuration for a resource.\n */\nexport interface JobAgentIdentity {\n /**\n * The job agent identity tenant id\n */\n tenantId?: string;\n /**\n * The job agent identity type\n */\n type: JobAgentIdentityType;\n /**\n * The resource ids of the user assigned identities to use\n */\n userAssignedIdentities?: Record<string, JobAgentUserAssignedIdentity>;\n}\n\n/**\n * Input type for Azure Active Directory identity configuration for a resource.\n */\nexport interface JobAgentIdentityInput extends InputOf<JobAgentIdentity> {\n /**\n * The job agent identity tenant id\n */\n tenantId?: ExpressionOrValue<string> | undefined;\n /**\n * The job agent identity type\n */\n type: ExpressionOrValue<JobAgentIdentityType>;\n /**\n * The resource ids of the user assigned identities to use\n */\n userAssignedIdentities?:\n | InputRecord<JobAgentUserAssignedIdentityInput, Record<string, JobAgentUserAssignedIdentity>>\n | undefined;\n}\n\n/**\n * View type for Azure Active Directory identity configuration for a resource.\n */\nexport interface JobAgentIdentityView extends InputOf<JobAgentIdentity> {\n /**\n * The job agent identity tenant id\n */\n tenantId?: ExpressionOrValue<string> | undefined;\n /**\n * The job agent identity type\n */\n type: ExpressionOrValue<JobAgentIdentityType>;\n /**\n * The resource ids of the user assigned identities to use\n */\n userAssignedIdentities?:\n | InputRecord<JobAgentUserAssignedIdentityView, Record<string, JobAgentUserAssignedIdentity>>\n | undefined;\n}\n\nexport const jobAgentIdentityShape: FlatModelShape = createFlatModelShape({\n tenantId: { armPath: [\"tenantId\"], value: createStringShape() },\n type: { armPath: [\"type\"], value: createUnionShape() },\n userAssignedIdentities: {\n armPath: [\"userAssignedIdentities\"],\n value: createRecordShape(createDeferredShape(() => jobAgentUserAssignedIdentityShape)),\n },\n});\n\n/**\n * Properties of a job agent.\n */\nexport interface JobAgentProperties {\n /**\n * Resource ID of the database to store job metadata in.\n */\n databaseId: string;\n /**\n * The state of the job agent.\n */\n state?: JobAgentState;\n}\n\n/**\n * Input type for Properties of a job agent.\n */\nexport interface JobAgentPropertiesInput extends InputOf<JobAgentProperties> {\n /**\n * Resource ID of the database to store job metadata in.\n */\n databaseId: ExpressionOrValue<string>;\n}\n\n/**\n * View type for Properties of a job agent.\n */\nexport interface JobAgentPropertiesView extends InputOf<JobAgentProperties> {\n /**\n * Resource ID of the database to store job metadata in.\n */\n databaseId: ExpressionOrValue<string>;\n /**\n * Read-only output: The state of the job agent.\n */\n readonly state?: Expression<JobAgentState> | undefined;\n}\n\nexport const jobAgentPropertiesShape: FlatModelShape = createFlatModelShape({\n databaseId: { armPath: [\"databaseId\"], value: createStringShape() },\n state: { armPath: [\"state\"], value: createUnionShape(), readOnly: true },\n});\n\n/**\n * Azure Active Directory identity configuration for a resource.\n */\nexport interface JobAgentUserAssignedIdentity {\n /**\n * The Azure Active Directory client id.\n */\n clientId?: string;\n /**\n * The Azure Active Directory principal id.\n */\n principalId?: string;\n}\n\n/**\n * Input type for Azure Active Directory identity configuration for a resource.\n */\nexport interface JobAgentUserAssignedIdentityInput extends InputOf<JobAgentUserAssignedIdentity> {}\n\n/**\n * View type for Azure Active Directory identity configuration for a resource.\n */\nexport interface JobAgentUserAssignedIdentityView extends InputOf<JobAgentUserAssignedIdentity> {\n /**\n * Read-only output: The Azure Active Directory client id.\n */\n readonly clientId?: Expression<string> | undefined;\n /**\n * Read-only output: The Azure Active Directory principal id.\n */\n readonly principalId?: Expression<string> | undefined;\n}\n\nexport const jobAgentUserAssignedIdentityShape: FlatModelShape = createFlatModelShape({\n clientId: { armPath: [\"clientId\"], value: createStringShape(), readOnly: true },\n principalId: { armPath: [\"principalId\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * Properties of a job credential.\n */\nexport interface JobCredentialProperties {\n /**\n * The credential password.\n */\n password: string;\n /**\n * The credential user name.\n */\n username: string;\n}\n\n/**\n * Input type for Properties of a job credential.\n */\nexport interface JobCredentialPropertiesInput extends InputOf<JobCredentialProperties> {\n /**\n * The credential password.\n */\n password: ExpressionOrValue<string>;\n /**\n * The credential user name.\n */\n username: ExpressionOrValue<string>;\n}\n\n/**\n * View type for Properties of a job credential.\n */\nexport type JobCredentialPropertiesView = JobCredentialPropertiesInput;\n\nexport const jobCredentialPropertiesShape: FlatModelShape = createFlatModelShape({\n password: { armPath: [\"password\"], value: createStringShape() },\n username: { armPath: [\"username\"], value: createStringShape() },\n});\n\n/**\n * Properties for an Azure SQL Database Elastic job execution.\n */\nexport interface JobExecutionProperties {\n /**\n * The time that the job execution was created.\n */\n createTime?: Date;\n /**\n * Number of times the job execution has been attempted.\n */\n currentAttempts?: number;\n /**\n * Start time of the current attempt.\n */\n currentAttemptStartTime?: Date;\n /**\n * The time that the job execution completed.\n */\n endTime?: Date;\n /**\n * The unique identifier of the job execution.\n */\n jobExecutionId?: string;\n /**\n * The job version number.\n */\n jobVersion?: number;\n /**\n * The last status or error message.\n */\n lastMessage?: string;\n /**\n * The detailed state of the job execution.\n */\n lifecycle?: JobExecutionLifecycle;\n /**\n * The ARM provisioning state of the job execution.\n */\n provisioningState?: ProvisioningState;\n /**\n * The time that the job execution started.\n */\n startTime?: Date;\n /**\n * The job step id.\n */\n stepId?: number;\n /**\n * The job step name.\n */\n stepName?: string;\n /**\n * The target that this execution is executed on.\n */\n target?: JobExecutionTarget;\n}\n\n/**\n * Input type for Properties for an Azure SQL Database Elastic job execution.\n */\nexport interface JobExecutionPropertiesInput extends InputOf<JobExecutionProperties> {}\n\n/**\n * View type for Properties for an Azure SQL Database Elastic job execution.\n */\nexport interface JobExecutionPropertiesView extends InputOf<JobExecutionProperties> {\n /**\n * Read-only output: The time that the job execution was created.\n */\n readonly createTime?: Expression<Date> | undefined;\n /**\n * Read-only output: Number of times the job execution has been attempted.\n */\n readonly currentAttempts?: Expression<number> | undefined;\n /**\n * Read-only output: Start time of the current attempt.\n */\n readonly currentAttemptStartTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The time that the job execution completed.\n */\n readonly endTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The unique identifier of the job execution.\n */\n readonly jobExecutionId?: Expression<string> | undefined;\n /**\n * Read-only output: The job version number.\n */\n readonly jobVersion?: Expression<number> | undefined;\n /**\n * Read-only output: The last status or error message.\n */\n readonly lastMessage?: Expression<string> | undefined;\n /**\n * Read-only output: The detailed state of the job execution.\n */\n readonly lifecycle?: Expression<JobExecutionLifecycle> | undefined;\n /**\n * Read-only output: The ARM provisioning state of the job execution.\n */\n readonly provisioningState?: Expression<ProvisioningState> | undefined;\n /**\n * Read-only output: The time that the job execution started.\n */\n readonly startTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The job step id.\n */\n readonly stepId?: Expression<number> | undefined;\n /**\n * Read-only output: The job step name.\n */\n readonly stepName?: Expression<string> | undefined;\n /**\n * Read-only output: The target that this execution is executed on.\n */\n readonly target?: Expression<JobExecutionTarget> | undefined;\n}\n\nexport const jobExecutionPropertiesShape: FlatModelShape = createFlatModelShape({\n createTime: {\n armPath: [\"createTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n currentAttempts: { armPath: [\"currentAttempts\"], value: createNumberShape(), readOnly: true },\n currentAttemptStartTime: {\n armPath: [\"currentAttemptStartTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n endTime: {\n armPath: [\"endTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n jobExecutionId: { armPath: [\"jobExecutionId\"], value: createStringShape(), readOnly: true },\n jobVersion: { armPath: [\"jobVersion\"], value: createNumberShape(), readOnly: true },\n lastMessage: { armPath: [\"lastMessage\"], value: createStringShape(), readOnly: true },\n lifecycle: { armPath: [\"lifecycle\"], value: createUnionShape(), readOnly: true },\n provisioningState: { armPath: [\"provisioningState\"], value: createUnionShape(), readOnly: true },\n startTime: {\n armPath: [\"startTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n stepId: { armPath: [\"stepId\"], value: createNumberShape(), readOnly: true },\n stepName: { armPath: [\"stepName\"], value: createStringShape(), readOnly: true },\n target: {\n armPath: [\"target\"],\n value: createDeferredShape(() => jobExecutionTargetShape),\n readOnly: true,\n },\n});\n\n/**\n * The target that a job execution is executed on.\n */\nexport interface JobExecutionTarget {\n /**\n * The database name.\n */\n databaseName?: string;\n /**\n * The server name.\n */\n serverName?: string;\n /**\n * The type of the target.\n */\n type?: JobTargetType;\n}\n\n/**\n * Input type for The target that a job execution is executed on.\n */\nexport interface JobExecutionTargetInput extends InputOf<JobExecutionTarget> {}\n\n/**\n * View type for The target that a job execution is executed on.\n */\nexport interface JobExecutionTargetView extends InputOf<JobExecutionTarget> {\n /**\n * Read-only output: The database name.\n */\n readonly databaseName?: Expression<string> | undefined;\n /**\n * Read-only output: The server name.\n */\n readonly serverName?: Expression<string> | undefined;\n /**\n * Read-only output: The type of the target.\n */\n readonly type?: Expression<JobTargetType> | undefined;\n}\n\nexport const jobExecutionTargetShape: FlatModelShape = createFlatModelShape({\n databaseName: { armPath: [\"databaseName\"], value: createStringShape(), readOnly: true },\n serverName: { armPath: [\"serverName\"], value: createStringShape(), readOnly: true },\n type: { armPath: [\"type\"], value: createUnionShape(), readOnly: true },\n});\n\n/**\n * Properties of job agent private endpoint.\n */\nexport interface JobPrivateEndpointProperties {\n /**\n * Private endpoint id of the private endpoint.\n */\n privateEndpointId?: string;\n /**\n * ARM resource id of the server the private endpoint will target.\n */\n targetServerAzureResourceId: string;\n}\n\n/**\n * Input type for Properties of job agent private endpoint.\n */\nexport interface JobPrivateEndpointPropertiesInput extends InputOf<JobPrivateEndpointProperties> {\n /**\n * ARM resource id of the server the private endpoint will target.\n */\n targetServerAzureResourceId: ExpressionOrValue<string>;\n}\n\n/**\n * View type for Properties of job agent private endpoint.\n */\nexport interface JobPrivateEndpointPropertiesView extends InputOf<JobPrivateEndpointProperties> {\n /**\n * Read-only output: Private endpoint id of the private endpoint.\n */\n readonly privateEndpointId?: Expression<string> | undefined;\n /**\n * ARM resource id of the server the private endpoint will target.\n */\n targetServerAzureResourceId: ExpressionOrValue<string>;\n}\n\nexport const jobPrivateEndpointPropertiesShape: FlatModelShape = createFlatModelShape({\n privateEndpointId: { armPath: [\"privateEndpointId\"], value: createStringShape(), readOnly: true },\n targetServerAzureResourceId: {\n armPath: [\"targetServerAzureResourceId\"],\n value: createStringShape(),\n },\n});\n\n/**\n * Properties of a job.\n */\nexport interface JobProperties {\n /**\n * User-defined description of the job.\n */\n description?: string;\n /**\n * Schedule properties of the job.\n */\n schedule?: JobSchedule;\n /**\n * The job version number.\n */\n version?: number;\n}\n\n/**\n * Input type for Properties of a job.\n */\nexport interface JobPropertiesInput extends InputOf<JobProperties> {\n /**\n * User-defined description of the job.\n */\n description?: ExpressionOrValue<string> | undefined;\n /**\n * Schedule properties of the job.\n */\n schedule?: JobScheduleInput | undefined;\n}\n\n/**\n * View type for Properties of a job.\n */\nexport interface JobPropertiesView extends InputOf<JobProperties> {\n /**\n * User-defined description of the job.\n */\n description?: ExpressionOrValue<string> | undefined;\n /**\n * Schedule properties of the job.\n */\n schedule?: JobScheduleView | undefined;\n /**\n * Read-only output: The job version number.\n */\n readonly version?: Expression<number> | undefined;\n}\n\nexport const jobPropertiesShape: FlatModelShape = createFlatModelShape({\n description: { armPath: [\"description\"], value: createStringShape() },\n schedule: { armPath: [\"schedule\"], value: createDeferredShape(() => jobScheduleShape) },\n version: { armPath: [\"version\"], value: createNumberShape(), readOnly: true },\n});\n\n/**\n * Scheduling properties of a job.\n */\nexport interface JobSchedule {\n /**\n * Whether or not the schedule is enabled.\n */\n enabled?: boolean;\n /**\n * Schedule end time.\n */\n endTime?: Date;\n /**\n * Value of the schedule's recurring interval, if the ScheduleType is recurring. ISO8601 duration format.\n */\n interval?: string;\n /**\n * Schedule start time.\n */\n startTime?: Date;\n /**\n * Schedule interval type\n */\n type?: JobScheduleType;\n}\n\n/**\n * Input type for Scheduling properties of a job.\n */\nexport interface JobScheduleInput extends InputOf<JobSchedule> {\n /**\n * Whether or not the schedule is enabled.\n */\n enabled?: ExpressionOrValue<boolean> | undefined;\n /**\n * Schedule end time.\n */\n endTime?: ExpressionOrValue<Date> | undefined;\n /**\n * Value of the schedule's recurring interval, if the ScheduleType is recurring. ISO8601 duration format.\n */\n interval?: ExpressionOrValue<string> | undefined;\n /**\n * Schedule start time.\n */\n startTime?: ExpressionOrValue<Date> | undefined;\n /**\n * Schedule interval type\n */\n type?: ExpressionOrValue<JobScheduleType> | undefined;\n}\n\n/**\n * View type for Scheduling properties of a job.\n */\nexport type JobScheduleView = JobScheduleInput;\n\nexport const jobScheduleShape: FlatModelShape = createFlatModelShape({\n enabled: { armPath: [\"enabled\"], value: createBooleanShape() },\n endTime: {\n armPath: [\"endTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n },\n interval: { armPath: [\"interval\"], value: createStringShape() },\n startTime: {\n armPath: [\"startTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n },\n type: { armPath: [\"type\"], value: createEnumShape() },\n});\n\n/**\n * The action to be executed by a job step.\n */\nexport interface JobStepAction {\n /**\n * The source of the action to execute.\n */\n source?: JobStepActionSource;\n /**\n * Type of action being executed by the job step.\n */\n type?: JobStepActionType;\n /**\n * The action value, for example the text of the T-SQL script to execute.\n */\n value: string;\n}\n\n/**\n * Input type for The action to be executed by a job step.\n */\nexport interface JobStepActionInput extends InputOf<JobStepAction> {\n /**\n * The source of the action to execute.\n */\n source?: ExpressionOrValue<JobStepActionSource> | undefined;\n /**\n * Type of action being executed by the job step.\n */\n type?: ExpressionOrValue<JobStepActionType> | undefined;\n /**\n * The action value, for example the text of the T-SQL script to execute.\n */\n value: ExpressionOrValue<string>;\n}\n\n/**\n * View type for The action to be executed by a job step.\n */\nexport type JobStepActionView = JobStepActionInput;\n\nexport const jobStepActionShape: FlatModelShape = createFlatModelShape({\n source: { armPath: [\"source\"], value: createUnionShape() },\n type: { armPath: [\"type\"], value: createUnionShape() },\n value: { armPath: [\"value\"], value: createStringShape() },\n});\n\n/**\n * The execution options of a job step.\n */\nexport interface JobStepExecutionOptions {\n /**\n * Initial delay between retries for job step execution.\n */\n initialRetryIntervalSeconds?: number;\n /**\n * The maximum amount of time to wait between retries for job step execution.\n */\n maximumRetryIntervalSeconds?: number;\n /**\n * Maximum number of times the job step will be reattempted if the first attempt fails.\n */\n retryAttempts?: number;\n /**\n * The backoff multiplier for the time between retries.\n */\n retryIntervalBackoffMultiplier?: number;\n /**\n * Execution timeout for the job step.\n */\n timeoutSeconds?: number;\n}\n\n/**\n * Input type for The execution options of a job step.\n */\nexport interface JobStepExecutionOptionsInput extends InputOf<JobStepExecutionOptions> {\n /**\n * Initial delay between retries for job step execution.\n */\n initialRetryIntervalSeconds?: ExpressionOrValue<number> | undefined;\n /**\n * The maximum amount of time to wait between retries for job step execution.\n */\n maximumRetryIntervalSeconds?: ExpressionOrValue<number> | undefined;\n /**\n * Maximum number of times the job step will be reattempted if the first attempt fails.\n */\n retryAttempts?: ExpressionOrValue<number> | undefined;\n /**\n * The backoff multiplier for the time between retries.\n */\n retryIntervalBackoffMultiplier?: ExpressionOrValue<number> | undefined;\n /**\n * Execution timeout for the job step.\n */\n timeoutSeconds?: ExpressionOrValue<number> | undefined;\n}\n\n/**\n * View type for The execution options of a job step.\n */\nexport type JobStepExecutionOptionsView = JobStepExecutionOptionsInput;\n\nexport const jobStepExecutionOptionsShape: FlatModelShape = createFlatModelShape({\n initialRetryIntervalSeconds: {\n armPath: [\"initialRetryIntervalSeconds\"],\n value: createNumberShape(),\n },\n maximumRetryIntervalSeconds: {\n armPath: [\"maximumRetryIntervalSeconds\"],\n value: createNumberShape(),\n },\n retryAttempts: { armPath: [\"retryAttempts\"], value: createNumberShape() },\n retryIntervalBackoffMultiplier: {\n armPath: [\"retryIntervalBackoffMultiplier\"],\n value: createNumberShape(),\n },\n timeoutSeconds: { armPath: [\"timeoutSeconds\"], value: createNumberShape() },\n});\n\n/**\n * The output configuration of a job step.\n */\nexport interface JobStepOutput {\n /**\n * The resource ID of the credential to use to connect to the output destination.\n */\n credential?: string;\n /**\n * The output destination database.\n */\n databaseName: string;\n /**\n * The output destination resource group.\n */\n resourceGroupName?: string;\n /**\n * The output destination schema.\n */\n schemaName?: string;\n /**\n * The output destination server name.\n */\n serverName: string;\n /**\n * The output destination subscription id.\n */\n subscriptionId?: string;\n /**\n * The output destination table.\n */\n tableName: string;\n /**\n * The output destination type.\n */\n type?: JobStepOutputType;\n}\n\n/**\n * Input type for The output configuration of a job step.\n */\nexport interface JobStepOutputInput extends InputOf<JobStepOutput> {\n /**\n * The resource ID of the credential to use to connect to the output destination.\n */\n credential?: ExpressionOrValue<string> | undefined;\n /**\n * The output destination database.\n */\n databaseName: ExpressionOrValue<string>;\n /**\n * The output destination resource group.\n */\n resourceGroupName?: ExpressionOrValue<string> | undefined;\n /**\n * The output destination schema.\n */\n schemaName?: ExpressionOrValue<string> | undefined;\n /**\n * The output destination server name.\n */\n serverName: ExpressionOrValue<string>;\n /**\n * The output destination subscription id.\n */\n subscriptionId?: ExpressionOrValue<string> | undefined;\n /**\n * The output destination table.\n */\n tableName: ExpressionOrValue<string>;\n /**\n * The output destination type.\n */\n type?: ExpressionOrValue<JobStepOutputType> | undefined;\n}\n\n/**\n * View type for The output configuration of a job step.\n */\nexport type JobStepOutputView = JobStepOutputInput;\n\nexport const jobStepOutputShape: FlatModelShape = createFlatModelShape({\n credential: { armPath: [\"credential\"], value: createStringShape() },\n databaseName: { armPath: [\"databaseName\"], value: createStringShape() },\n resourceGroupName: { armPath: [\"resourceGroupName\"], value: createStringShape() },\n schemaName: { armPath: [\"schemaName\"], value: createStringShape() },\n serverName: { armPath: [\"serverName\"], value: createStringShape() },\n subscriptionId: { armPath: [\"subscriptionId\"], value: createStringShape() },\n tableName: { armPath: [\"tableName\"], value: createStringShape() },\n type: { armPath: [\"type\"], value: createUnionShape() },\n});\n\n/**\n * Properties of a job step.\n */\nexport interface JobStepProperties {\n /**\n * The action payload of the job step.\n */\n action: JobStepAction;\n /**\n * The resource ID of the job credential that will be used to connect to the targets.\n */\n credential?: string;\n /**\n * Execution options for the job step.\n */\n executionOptions?: JobStepExecutionOptions;\n /**\n * Output destination properties of the job step.\n */\n output?: JobStepOutput;\n /**\n * The job step's index within the job. If not specified when creating the job step, it will be created as the last step. If not specified when updating the job step, the step id is not modified.\n */\n stepId?: number;\n /**\n * The resource ID of the target group that the job step will be executed on.\n */\n targetGroup: string;\n}\n\n/**\n * Input type for Properties of a job step.\n */\nexport interface JobStepPropertiesInput extends InputOf<JobStepProperties> {\n /**\n * The action payload of the job step.\n */\n action: JobStepActionInput;\n /**\n * The resource ID of the job credential that will be used to connect to the targets.\n */\n credential?: ExpressionOrValue<string> | undefined;\n /**\n * Execution options for the job step.\n */\n executionOptions?: JobStepExecutionOptionsInput | undefined;\n /**\n * Output destination properties of the job step.\n */\n output?: JobStepOutputInput | undefined;\n /**\n * The job step's index within the job. If not specified when creating the job step, it will be created as the last step. If not specified when updating the job step, the step id is not modified.\n */\n stepId?: ExpressionOrValue<number> | undefined;\n /**\n * The resource ID of the target group that the job step will be executed on.\n */\n targetGroup: ExpressionOrValue<string>;\n}\n\n/**\n * View type for Properties of a job step.\n */\nexport type JobStepPropertiesView = JobStepPropertiesInput;\n\nexport const jobStepPropertiesShape: FlatModelShape = createFlatModelShape({\n action: { armPath: [\"action\"], value: createDeferredShape(() => jobStepActionShape) },\n credential: { armPath: [\"credential\"], value: createStringShape() },\n executionOptions: {\n armPath: [\"executionOptions\"],\n value: createDeferredShape(() => jobStepExecutionOptionsShape),\n },\n output: { armPath: [\"output\"], value: createDeferredShape(() => jobStepOutputShape) },\n stepId: { armPath: [\"stepId\"], value: createNumberShape() },\n targetGroup: { armPath: [\"targetGroup\"], value: createStringShape() },\n});\n\n/**\n * A job target, for example a specific database or a container of databases that is evaluated during job execution.\n */\nexport interface JobTarget {\n /**\n * The target database name.\n */\n databaseName?: string;\n /**\n * The target elastic pool name.\n */\n elasticPoolName?: string;\n /**\n * Whether the target is included or excluded from the group.\n */\n membershipType?: JobTargetGroupMembershipType;\n /**\n * The resource ID of the credential that is used during job execution to connect to the target and determine the list of databases inside the target.\n */\n refreshCredential?: string;\n /**\n * The target server name.\n */\n serverName?: string;\n /**\n * The target shard map.\n */\n shardMapName?: string;\n /**\n * The target type.\n */\n type: JobTargetType;\n}\n\n/**\n * Input type for A job target, for example a specific database or a container of databases that is evaluated during job execution.\n */\nexport interface JobTargetInput extends InputOf<JobTarget> {\n /**\n * The target database name.\n */\n databaseName?: ExpressionOrValue<string> | undefined;\n /**\n * The target elastic pool name.\n */\n elasticPoolName?: ExpressionOrValue<string> | undefined;\n /**\n * Whether the target is included or excluded from the group.\n */\n membershipType?: ExpressionOrValue<JobTargetGroupMembershipType> | undefined;\n /**\n * The resource ID of the credential that is used during job execution to connect to the target and determine the list of databases inside the target.\n */\n refreshCredential?: ExpressionOrValue<string> | undefined;\n /**\n * The target server name.\n */\n serverName?: ExpressionOrValue<string> | undefined;\n /**\n * The target shard map.\n */\n shardMapName?: ExpressionOrValue<string> | undefined;\n /**\n * The target type.\n */\n type: ExpressionOrValue<JobTargetType>;\n}\n\n/**\n * View type for A job target, for example a specific database or a container of databases that is evaluated during job execution.\n */\nexport type JobTargetView = JobTargetInput;\n\nexport const jobTargetShape: FlatModelShape = createFlatModelShape({\n databaseName: { armPath: [\"databaseName\"], value: createStringShape() },\n elasticPoolName: { armPath: [\"elasticPoolName\"], value: createStringShape() },\n membershipType: { armPath: [\"membershipType\"], value: createEnumShape() },\n refreshCredential: { armPath: [\"refreshCredential\"], value: createStringShape() },\n serverName: { armPath: [\"serverName\"], value: createStringShape() },\n shardMapName: { armPath: [\"shardMapName\"], value: createStringShape() },\n type: { armPath: [\"type\"], value: createUnionShape() },\n});\n\n/**\n * Properties of job target group.\n */\nexport interface JobTargetGroupProperties {\n /**\n * Members of the target group.\n */\n members: JobTarget[];\n}\n\n/**\n * Input type for Properties of job target group.\n */\nexport interface JobTargetGroupPropertiesInput extends InputOf<JobTargetGroupProperties> {\n /**\n * Members of the target group.\n */\n members: InputArray<JobTargetInput, JobTarget[]>;\n}\n\n/**\n * View type for Properties of job target group.\n */\nexport type JobTargetGroupPropertiesView = JobTargetGroupPropertiesInput;\n\nexport const jobTargetGroupPropertiesShape: FlatModelShape = createFlatModelShape({\n members: {\n armPath: [\"members\"],\n value: createArrayShape(createDeferredShape(() => jobTargetShape)),\n },\n});\n\n/**\n * The properties of a database ledger digest upload settings.\n */\nexport interface LedgerDigestUploadsProperties {\n /**\n * The digest storage endpoint, which must be either an Azure blob storage endpoint or an URI for Azure Confidential Ledger.\n */\n digestStorageEndpoint?: string;\n /**\n * Specifies the state of ledger digest upload.\n */\n state?: LedgerDigestUploadsState;\n}\n\n/**\n * Input type for The properties of a database ledger digest upload settings.\n */\nexport interface LedgerDigestUploadsPropertiesInput extends InputOf<LedgerDigestUploadsProperties> {\n /**\n * The digest storage endpoint, which must be either an Azure blob storage endpoint or an URI for Azure Confidential Ledger.\n */\n digestStorageEndpoint?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for The properties of a database ledger digest upload settings.\n */\nexport interface LedgerDigestUploadsPropertiesView extends InputOf<LedgerDigestUploadsProperties> {\n /**\n * The digest storage endpoint, which must be either an Azure blob storage endpoint or an URI for Azure Confidential Ledger.\n */\n digestStorageEndpoint?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: Specifies the state of ledger digest upload.\n */\n readonly state?: Expression<LedgerDigestUploadsState> | undefined;\n}\n\nexport const ledgerDigestUploadsPropertiesShape: FlatModelShape = createFlatModelShape({\n digestStorageEndpoint: { armPath: [\"digestStorageEndpoint\"], value: createStringShape() },\n state: { armPath: [\"state\"], value: createEnumShape(), readOnly: true },\n});\n\n/**\n * Properties of a long term retention backup\n */\nexport interface LongTermRetentionBackupProperties {\n /**\n * The time the long term retention backup will expire.\n */\n backupExpirationTime?: Date;\n /**\n * The BackupStorageAccessTier for the LTR backup\n */\n backupStorageAccessTier?: BackupStorageAccessTier;\n /**\n * The storage redundancy type of the backup\n */\n backupStorageRedundancy?: BackupStorageRedundancy;\n /**\n * The time the backup was taken\n */\n backupTime?: Date;\n /**\n * The delete time of the database\n */\n databaseDeletionTime?: Date;\n /**\n * The name of the database the backup belong to\n */\n databaseName?: string;\n /**\n * The setting whether the LTR backup is immutable\n */\n isBackupImmutable?: boolean;\n /**\n * The setting for whether LegalHold is enabled or disabled on the LTR backup. When LegalHold is enabled, the backup cannot be deleted until the LegalHold is removed.\n */\n legalHoldImmutability?: SetLegalHoldImmutability;\n /**\n * The storage redundancy type of the backup\n */\n requestedBackupStorageRedundancy?: BackupStorageRedundancy;\n /**\n * The create time of the server.\n */\n serverCreateTime?: Date;\n /**\n * The server name that the backup database belong to.\n */\n serverName?: string;\n /**\n * The setting for whether or not time-based immutability is enabled for the LTR backup. When time-based immutability is enabled and locked, the backup cannot be deleted until BackupExpirationTime.\n */\n timeBasedImmutability?: TimeBasedImmutability;\n /**\n * The time-based immutability mode. Only applicable if time-based immutability is enabled.\n */\n timeBasedImmutabilityMode?: TimeBasedImmutabilityMode;\n}\n\n/**\n * Input type for Properties of a long term retention backup\n */\nexport interface LongTermRetentionBackupPropertiesInput extends InputOf<LongTermRetentionBackupProperties> {\n /**\n * The storage redundancy type of the backup\n */\n requestedBackupStorageRedundancy?: ExpressionOrValue<BackupStorageRedundancy> | undefined;\n}\n\n/**\n * View type for Properties of a long term retention backup\n */\nexport interface LongTermRetentionBackupPropertiesView extends InputOf<LongTermRetentionBackupProperties> {\n /**\n * Read-only output: The time the long term retention backup will expire.\n */\n readonly backupExpirationTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The BackupStorageAccessTier for the LTR backup\n */\n readonly backupStorageAccessTier?: Expression<BackupStorageAccessTier> | undefined;\n /**\n * Read-only output: The storage redundancy type of the backup\n */\n readonly backupStorageRedundancy?: Expression<BackupStorageRedundancy> | undefined;\n /**\n * Read-only output: The time the backup was taken\n */\n readonly backupTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The delete time of the database\n */\n readonly databaseDeletionTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The name of the database the backup belong to\n */\n readonly databaseName?: Expression<string> | undefined;\n /**\n * Read-only output: The setting whether the LTR backup is immutable\n */\n readonly isBackupImmutable?: Expression<boolean> | undefined;\n /**\n * Read-only output: The setting for whether LegalHold is enabled or disabled on the LTR backup. When LegalHold is enabled, the backup cannot be deleted until the LegalHold is removed.\n */\n readonly legalHoldImmutability?: Expression<SetLegalHoldImmutability> | undefined;\n /**\n * The storage redundancy type of the backup\n */\n requestedBackupStorageRedundancy?: ExpressionOrValue<BackupStorageRedundancy> | undefined;\n /**\n * Read-only output: The create time of the server.\n */\n readonly serverCreateTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The server name that the backup database belong to.\n */\n readonly serverName?: Expression<string> | undefined;\n /**\n * Read-only output: The setting for whether or not time-based immutability is enabled for the LTR backup. When time-based immutability is enabled and locked, the backup cannot be deleted until BackupExpirationTime.\n */\n readonly timeBasedImmutability?: Expression<TimeBasedImmutability> | undefined;\n /**\n * Read-only output: The time-based immutability mode. Only applicable if time-based immutability is enabled.\n */\n readonly timeBasedImmutabilityMode?: Expression<TimeBasedImmutabilityMode> | undefined;\n}\n\nexport const longTermRetentionBackupPropertiesShape: FlatModelShape = createFlatModelShape({\n backupExpirationTime: {\n armPath: [\"backupExpirationTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n backupStorageAccessTier: {\n armPath: [\"backupStorageAccessTier\"],\n value: createUnionShape(),\n readOnly: true,\n },\n backupStorageRedundancy: {\n armPath: [\"backupStorageRedundancy\"],\n value: createUnionShape(),\n readOnly: true,\n },\n backupTime: {\n armPath: [\"backupTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n databaseDeletionTime: {\n armPath: [\"databaseDeletionTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n databaseName: { armPath: [\"databaseName\"], value: createStringShape(), readOnly: true },\n isBackupImmutable: {\n armPath: [\"isBackupImmutable\"],\n value: createBooleanShape(),\n readOnly: true,\n },\n legalHoldImmutability: {\n armPath: [\"legalHoldImmutability\"],\n value: createUnionShape(),\n readOnly: true,\n },\n requestedBackupStorageRedundancy: {\n armPath: [\"requestedBackupStorageRedundancy\"],\n value: createUnionShape(),\n },\n serverCreateTime: {\n armPath: [\"serverCreateTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n serverName: { armPath: [\"serverName\"], value: createStringShape(), readOnly: true },\n timeBasedImmutability: {\n armPath: [\"timeBasedImmutability\"],\n value: createUnionShape(),\n readOnly: true,\n },\n timeBasedImmutabilityMode: {\n armPath: [\"timeBasedImmutabilityMode\"],\n value: createUnionShape(),\n readOnly: true,\n },\n});\n\n/**\n * Properties of a long term retention policy\n */\nexport interface LongTermRetentionPolicyProperties {\n /**\n * The monthly retention policy for an LTR backup in an ISO 8601 format.\n */\n monthlyRetention?: string;\n /**\n * The setting for whether to enable time-based immutability for future backups. When set, future backups will have TimeBasedImmutability enabled.\n */\n timeBasedImmutability?: TimeBasedImmutability;\n /**\n * The setting for time-based immutability mode for future backup (Value can be either Locked or UnLocked. Only effective if TimeBasedImmutability is enabled). Caution: Immutability of LTR backup cannot be removed if TimeBasedImmutabilityMode is Locked.\n */\n timeBasedImmutabilityMode?: TimeBasedImmutabilityMode;\n /**\n * The weekly retention policy for an LTR backup in an ISO 8601 format.\n */\n weeklyRetention?: string;\n /**\n * The week of year to take the yearly backup in an ISO 8601 format.\n */\n weekOfYear?: number;\n /**\n * The yearly retention policy for an LTR backup in an ISO 8601 format.\n */\n yearlyRetention?: string;\n}\n\n/**\n * Input type for Properties of a long term retention policy\n */\nexport interface LongTermRetentionPolicyPropertiesInput extends InputOf<LongTermRetentionPolicyProperties> {\n /**\n * The monthly retention policy for an LTR backup in an ISO 8601 format.\n */\n monthlyRetention?: ExpressionOrValue<string> | undefined;\n /**\n * The setting for whether to enable time-based immutability for future backups. When set, future backups will have TimeBasedImmutability enabled.\n */\n timeBasedImmutability?: ExpressionOrValue<TimeBasedImmutability> | undefined;\n /**\n * The setting for time-based immutability mode for future backup (Value can be either Locked or UnLocked. Only effective if TimeBasedImmutability is enabled). Caution: Immutability of LTR backup cannot be removed if TimeBasedImmutabilityMode is Locked.\n */\n timeBasedImmutabilityMode?: ExpressionOrValue<TimeBasedImmutabilityMode> | undefined;\n /**\n * The weekly retention policy for an LTR backup in an ISO 8601 format.\n */\n weeklyRetention?: ExpressionOrValue<string> | undefined;\n /**\n * The week of year to take the yearly backup in an ISO 8601 format.\n */\n weekOfYear?: ExpressionOrValue<number> | undefined;\n /**\n * The yearly retention policy for an LTR backup in an ISO 8601 format.\n */\n yearlyRetention?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties of a long term retention policy\n */\nexport type LongTermRetentionPolicyPropertiesView = LongTermRetentionPolicyPropertiesInput;\n\nexport const longTermRetentionPolicyPropertiesShape: FlatModelShape = createFlatModelShape({\n monthlyRetention: { armPath: [\"monthlyRetention\"], value: createStringShape() },\n timeBasedImmutability: { armPath: [\"timeBasedImmutability\"], value: createUnionShape() },\n timeBasedImmutabilityMode: { armPath: [\"timeBasedImmutabilityMode\"], value: createUnionShape() },\n weeklyRetention: { armPath: [\"weeklyRetention\"], value: createStringShape() },\n weekOfYear: { armPath: [\"weekOfYear\"], value: createNumberShape() },\n yearlyRetention: { armPath: [\"yearlyRetention\"], value: createStringShape() },\n});\n\n/**\n * Properties of a short term retention policy\n */\nexport interface ManagedBackupShortTermRetentionPolicyProperties {\n /**\n * The backup retention period in days. This is how many days Point-in-Time Restore will be supported.\n */\n retentionDays?: number;\n}\n\n/**\n * Input type for Properties of a short term retention policy\n */\nexport interface ManagedBackupShortTermRetentionPolicyPropertiesInput extends InputOf<ManagedBackupShortTermRetentionPolicyProperties> {\n /**\n * The backup retention period in days. This is how many days Point-in-Time Restore will be supported.\n */\n retentionDays?: ExpressionOrValue<number> | undefined;\n}\n\n/**\n * View type for Properties of a short term retention policy\n */\nexport type ManagedBackupShortTermRetentionPolicyPropertiesView =\n ManagedBackupShortTermRetentionPolicyPropertiesInput;\n\nexport const managedBackupShortTermRetentionPolicyPropertiesShape: FlatModelShape =\n createFlatModelShape({\n retentionDays: { armPath: [\"retentionDays\"], value: createNumberShape() },\n });\n\n/**\n * Managed Database Extended Accessibility Information\n */\nexport interface ManagedDatabaseExtendedAccessibilityInfo {\n /**\n * Root cause explanation and mitigation action.\n */\n inaccessibilityReasonDescription?: string;\n /**\n * SQL Server error code connected to the inaccessibility root cause.\n */\n inaccessibilityReasonErrorCode?: string;\n /**\n * Root cause kind. Allowed values are “TransparentDataEncryption”, “DatabaseReplication”, and “Unknown”.\n */\n inaccessibilityReasonKind?: InaccessibilityReason;\n /**\n * For the root cause kind “TransparentDataEncryption”, the CMK URI.\n */\n inaccessibilityReasonTdeKeyUri?: string;\n}\n\n/**\n * Input type for Managed Database Extended Accessibility Information\n */\nexport interface ManagedDatabaseExtendedAccessibilityInfoInput extends InputOf<ManagedDatabaseExtendedAccessibilityInfo> {}\n\n/**\n * View type for Managed Database Extended Accessibility Information\n */\nexport interface ManagedDatabaseExtendedAccessibilityInfoView extends InputOf<ManagedDatabaseExtendedAccessibilityInfo> {\n /**\n * Read-only output: Root cause explanation and mitigation action.\n */\n readonly inaccessibilityReasonDescription?: Expression<string> | undefined;\n /**\n * Read-only output: SQL Server error code connected to the inaccessibility root cause.\n */\n readonly inaccessibilityReasonErrorCode?: Expression<string> | undefined;\n /**\n * Read-only output: Root cause kind. Allowed values are “TransparentDataEncryption”, “DatabaseReplication”, and “Unknown”.\n */\n readonly inaccessibilityReasonKind?: Expression<InaccessibilityReason> | undefined;\n /**\n * Read-only output: For the root cause kind “TransparentDataEncryption”, the CMK URI.\n */\n readonly inaccessibilityReasonTdeKeyUri?: Expression<string> | undefined;\n}\n\nexport const managedDatabaseExtendedAccessibilityInfoShape: FlatModelShape = createFlatModelShape({\n inaccessibilityReasonDescription: {\n armPath: [\"inaccessibilityReasonDescription\"],\n value: createStringShape(),\n readOnly: true,\n },\n inaccessibilityReasonErrorCode: {\n armPath: [\"inaccessibilityReasonErrorCode\"],\n value: createStringShape(),\n readOnly: true,\n },\n inaccessibilityReasonKind: {\n armPath: [\"inaccessibilityReasonKind\"],\n value: createUnionShape(),\n readOnly: true,\n },\n inaccessibilityReasonTdeKeyUri: {\n armPath: [\"inaccessibilityReasonTdeKeyUri\"],\n value: createStringShape(),\n readOnly: true,\n },\n});\n\n/**\n * Contains the operation result properties for managed database move operation.\n */\nexport interface ManagedDatabaseMoveOperationResultProperties {\n /**\n * The operation error code.\n */\n errorCode?: number;\n /**\n * The operation error description.\n */\n errorDescription?: string;\n /**\n * The operation error severity.\n */\n errorSeverity?: number;\n /**\n * Is move operation cancellable.\n */\n isCancellable?: boolean;\n /**\n * Whether or not the error is a user error.\n */\n isUserError?: boolean;\n /**\n * The name of operation.\n */\n operation?: string;\n /**\n * The friendly name of operation.\n */\n operationFriendlyName?: string;\n /**\n * Operation mode.\n */\n operationMode?: MoveOperationMode;\n /**\n * Source database name.\n */\n sourceDatabaseName?: string;\n /**\n * Source Managed Instance resource id.\n */\n sourceManagedInstanceId?: string;\n /**\n * Source Managed Instance name.\n */\n sourceManagedInstanceName?: string;\n /**\n * The operation start time.\n */\n startTime?: Date;\n /**\n * The operation state.\n */\n state?: ManagementOperationState;\n /**\n * Target database name.\n */\n targetDatabaseName?: string;\n /**\n * Target Managed instance resource id.\n */\n targetManagedInstanceId?: string;\n /**\n * Target Managed Instance name.\n */\n targetManagedInstanceName?: string;\n}\n\n/**\n * Input type for Contains the operation result properties for managed database move operation.\n */\nexport interface ManagedDatabaseMoveOperationResultPropertiesInput extends InputOf<ManagedDatabaseMoveOperationResultProperties> {}\n\n/**\n * View type for Contains the operation result properties for managed database move operation.\n */\nexport interface ManagedDatabaseMoveOperationResultPropertiesView extends InputOf<ManagedDatabaseMoveOperationResultProperties> {\n /**\n * Read-only output: The operation error code.\n */\n readonly errorCode?: Expression<number> | undefined;\n /**\n * Read-only output: The operation error description.\n */\n readonly errorDescription?: Expression<string> | undefined;\n /**\n * Read-only output: The operation error severity.\n */\n readonly errorSeverity?: Expression<number> | undefined;\n /**\n * Read-only output: Is move operation cancellable.\n */\n readonly isCancellable?: Expression<boolean> | undefined;\n /**\n * Read-only output: Whether or not the error is a user error.\n */\n readonly isUserError?: Expression<boolean> | undefined;\n /**\n * Read-only output: The name of operation.\n */\n readonly operation?: Expression<string> | undefined;\n /**\n * Read-only output: The friendly name of operation.\n */\n readonly operationFriendlyName?: Expression<string> | undefined;\n /**\n * Read-only output: Operation mode.\n */\n readonly operationMode?: Expression<MoveOperationMode> | undefined;\n /**\n * Read-only output: Source database name.\n */\n readonly sourceDatabaseName?: Expression<string> | undefined;\n /**\n * Read-only output: Source Managed Instance resource id.\n */\n readonly sourceManagedInstanceId?: Expression<string> | undefined;\n /**\n * Read-only output: Source Managed Instance name.\n */\n readonly sourceManagedInstanceName?: Expression<string> | undefined;\n /**\n * Read-only output: The operation start time.\n */\n readonly startTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The operation state.\n */\n readonly state?: Expression<ManagementOperationState> | undefined;\n /**\n * Read-only output: Target database name.\n */\n readonly targetDatabaseName?: Expression<string> | undefined;\n /**\n * Read-only output: Target Managed instance resource id.\n */\n readonly targetManagedInstanceId?: Expression<string> | undefined;\n /**\n * Read-only output: Target Managed Instance name.\n */\n readonly targetManagedInstanceName?: Expression<string> | undefined;\n}\n\nexport const managedDatabaseMoveOperationResultPropertiesShape: FlatModelShape =\n createFlatModelShape({\n errorCode: { armPath: [\"errorCode\"], value: createNumberShape(), readOnly: true },\n errorDescription: { armPath: [\"errorDescription\"], value: createStringShape(), readOnly: true },\n errorSeverity: { armPath: [\"errorSeverity\"], value: createNumberShape(), readOnly: true },\n isCancellable: { armPath: [\"isCancellable\"], value: createBooleanShape(), readOnly: true },\n isUserError: { armPath: [\"isUserError\"], value: createBooleanShape(), readOnly: true },\n operation: { armPath: [\"operation\"], value: createStringShape(), readOnly: true },\n operationFriendlyName: {\n armPath: [\"operationFriendlyName\"],\n value: createStringShape(),\n readOnly: true,\n },\n operationMode: { armPath: [\"operationMode\"], value: createUnionShape(), readOnly: true },\n sourceDatabaseName: {\n armPath: [\"sourceDatabaseName\"],\n value: createStringShape(),\n readOnly: true,\n },\n sourceManagedInstanceId: {\n armPath: [\"sourceManagedInstanceId\"],\n value: createStringShape(),\n readOnly: true,\n },\n sourceManagedInstanceName: {\n armPath: [\"sourceManagedInstanceName\"],\n value: createStringShape(),\n readOnly: true,\n },\n startTime: {\n armPath: [\"startTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n state: { armPath: [\"state\"], value: createUnionShape(), readOnly: true },\n targetDatabaseName: {\n armPath: [\"targetDatabaseName\"],\n value: createStringShape(),\n readOnly: true,\n },\n targetManagedInstanceId: {\n armPath: [\"targetManagedInstanceId\"],\n value: createStringShape(),\n readOnly: true,\n },\n targetManagedInstanceName: {\n armPath: [\"targetManagedInstanceName\"],\n value: createStringShape(),\n readOnly: true,\n },\n });\n\n/**\n * The managed database's properties.\n */\nexport interface ManagedDatabaseProperties {\n /**\n * Whether to auto complete restore of this managed database.\n */\n autoCompleteRestore?: boolean;\n /**\n * Collation of the metadata catalog.\n */\n catalogCollation?: CatalogCollationType;\n /**\n * Collation of the managed database.\n */\n collation?: string;\n /**\n * Managed database create mode. PointInTimeRestore: Create a database by restoring a point in time backup of an existing database. SourceDatabaseName, SourceManagedInstanceName and PointInTime must be specified. RestoreExternalBackup: Create a database by restoring from external backup files. Collation, StorageContainerUri and StorageContainerSasToken must be specified. Recovery: Creates a database by restoring a geo-replicated backup. RecoverableDatabaseId must be specified as the recoverable database resource ID to restore. RestoreLongTermRetentionBackup: Create a database by restoring from a long term retention backup (longTermRetentionBackupResourceId required).\n */\n createMode?: ManagedDatabaseCreateMode;\n /**\n * Creation date of the database.\n */\n creationDate?: Date;\n /**\n * The restorable cross-subscription dropped database resource id to restore when creating this database.\n */\n crossSubscriptionRestorableDroppedDatabaseId?: string;\n /**\n * The resource identifier of the cross-subscription source database associated with create operation of this database.\n */\n crossSubscriptionSourceDatabaseId?: string;\n /**\n * Target managed instance id used in cross-subscription restore.\n */\n crossSubscriptionTargetManagedInstanceId?: string;\n /**\n * Geo paired region.\n */\n defaultSecondaryLocation?: string;\n /**\n * Earliest restore point in time for point in time restore.\n */\n earliestRestorePoint?: Date;\n /**\n * Additional observability and troubleshooting information for databases in ‘Inaccessible’ state.\n */\n extendedAccessibilityInfo?: ManagedDatabaseExtendedAccessibilityInfo;\n /**\n * Instance Failover Group resource identifier that this managed database belongs to.\n */\n failoverGroupId?: string;\n /**\n * Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created.\n */\n isLedgerOn?: boolean;\n /**\n * Last backup file name for restore of this managed database.\n */\n lastBackupName?: string;\n /**\n * The name of the Long Term Retention backup to be used for restore of this managed database.\n */\n longTermRetentionBackupResourceId?: string;\n /**\n * The resource identifier of the recoverable database associated with create operation of this database.\n */\n recoverableDatabaseId?: string;\n /**\n * The restorable dropped database resource id to restore when creating this database.\n */\n restorableDroppedDatabaseId?: string;\n /**\n * Conditional. If createMode is PointInTimeRestore, this value is required. Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.\n */\n restorePointInTime?: Date;\n /**\n * The resource identifier of the source database associated with create operation of this database.\n */\n sourceDatabaseId?: string;\n /**\n * Status of the database.\n */\n status?: ManagedDatabaseStatus;\n /**\n * Conditional. If createMode is RestoreExternalBackup, this value is used. Specifies the identity used for storage container authentication. Can be 'SharedAccessSignature' or 'ManagedIdentity'; if not specified 'SharedAccessSignature' is assumed.\n */\n storageContainerIdentity?: string;\n /**\n * Conditional. If createMode is RestoreExternalBackup and storageContainerIdentity is not ManagedIdentity, this value is required. Specifies the storage container sas token.\n */\n storageContainerSasToken?: string;\n /**\n * Conditional. If createMode is RestoreExternalBackup, this value is required. Specifies the uri of the storage container where backups for this restore are stored.\n */\n storageContainerUri?: string;\n}\n\n/**\n * Input type for The managed database's properties.\n */\nexport interface ManagedDatabasePropertiesInput extends InputOf<ManagedDatabaseProperties> {\n /**\n * Whether to auto complete restore of this managed database.\n */\n autoCompleteRestore?: ExpressionOrValue<boolean> | undefined;\n /**\n * Collation of the metadata catalog.\n */\n catalogCollation?: ExpressionOrValue<CatalogCollationType> | undefined;\n /**\n * Collation of the managed database.\n */\n collation?: ExpressionOrValue<string> | undefined;\n /**\n * Managed database create mode. PointInTimeRestore: Create a database by restoring a point in time backup of an existing database. SourceDatabaseName, SourceManagedInstanceName and PointInTime must be specified. RestoreExternalBackup: Create a database by restoring from external backup files. Collation, StorageContainerUri and StorageContainerSasToken must be specified. Recovery: Creates a database by restoring a geo-replicated backup. RecoverableDatabaseId must be specified as the recoverable database resource ID to restore. RestoreLongTermRetentionBackup: Create a database by restoring from a long term retention backup (longTermRetentionBackupResourceId required).\n */\n createMode?: ExpressionOrValue<ManagedDatabaseCreateMode> | undefined;\n /**\n * The restorable cross-subscription dropped database resource id to restore when creating this database.\n */\n crossSubscriptionRestorableDroppedDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * The resource identifier of the cross-subscription source database associated with create operation of this database.\n */\n crossSubscriptionSourceDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * Target managed instance id used in cross-subscription restore.\n */\n crossSubscriptionTargetManagedInstanceId?: ExpressionOrValue<string> | undefined;\n /**\n * Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created.\n */\n isLedgerOn?: ExpressionOrValue<boolean> | undefined;\n /**\n * Last backup file name for restore of this managed database.\n */\n lastBackupName?: ExpressionOrValue<string> | undefined;\n /**\n * The name of the Long Term Retention backup to be used for restore of this managed database.\n */\n longTermRetentionBackupResourceId?: ExpressionOrValue<string> | undefined;\n /**\n * The resource identifier of the recoverable database associated with create operation of this database.\n */\n recoverableDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * The restorable dropped database resource id to restore when creating this database.\n */\n restorableDroppedDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * Conditional. If createMode is PointInTimeRestore, this value is required. Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.\n */\n restorePointInTime?: ExpressionOrValue<Date> | undefined;\n /**\n * The resource identifier of the source database associated with create operation of this database.\n */\n sourceDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * Conditional. If createMode is RestoreExternalBackup, this value is used. Specifies the identity used for storage container authentication. Can be 'SharedAccessSignature' or 'ManagedIdentity'; if not specified 'SharedAccessSignature' is assumed.\n */\n storageContainerIdentity?: ExpressionOrValue<string> | undefined;\n /**\n * Conditional. If createMode is RestoreExternalBackup and storageContainerIdentity is not ManagedIdentity, this value is required. Specifies the storage container sas token.\n */\n storageContainerSasToken?: ExpressionOrValue<string> | undefined;\n /**\n * Conditional. If createMode is RestoreExternalBackup, this value is required. Specifies the uri of the storage container where backups for this restore are stored.\n */\n storageContainerUri?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for The managed database's properties.\n */\nexport interface ManagedDatabasePropertiesView extends InputOf<ManagedDatabaseProperties> {\n /**\n * Whether to auto complete restore of this managed database.\n */\n autoCompleteRestore?: ExpressionOrValue<boolean> | undefined;\n /**\n * Collation of the metadata catalog.\n */\n catalogCollation?: ExpressionOrValue<CatalogCollationType> | undefined;\n /**\n * Collation of the managed database.\n */\n collation?: ExpressionOrValue<string> | undefined;\n /**\n * Managed database create mode. PointInTimeRestore: Create a database by restoring a point in time backup of an existing database. SourceDatabaseName, SourceManagedInstanceName and PointInTime must be specified. RestoreExternalBackup: Create a database by restoring from external backup files. Collation, StorageContainerUri and StorageContainerSasToken must be specified. Recovery: Creates a database by restoring a geo-replicated backup. RecoverableDatabaseId must be specified as the recoverable database resource ID to restore. RestoreLongTermRetentionBackup: Create a database by restoring from a long term retention backup (longTermRetentionBackupResourceId required).\n */\n createMode?: ExpressionOrValue<ManagedDatabaseCreateMode> | undefined;\n /**\n * Read-only output: Creation date of the database.\n */\n readonly creationDate?: Expression<Date> | undefined;\n /**\n * The restorable cross-subscription dropped database resource id to restore when creating this database.\n */\n crossSubscriptionRestorableDroppedDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * The resource identifier of the cross-subscription source database associated with create operation of this database.\n */\n crossSubscriptionSourceDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * Target managed instance id used in cross-subscription restore.\n */\n crossSubscriptionTargetManagedInstanceId?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: Geo paired region.\n */\n readonly defaultSecondaryLocation?: Expression<string> | undefined;\n /**\n * Read-only output: Earliest restore point in time for point in time restore.\n */\n readonly earliestRestorePoint?: Expression<Date> | undefined;\n /**\n * Read-only output: Additional observability and troubleshooting information for databases in ‘Inaccessible’ state.\n */\n readonly extendedAccessibilityInfo?:\n Expression<ManagedDatabaseExtendedAccessibilityInfo> | undefined;\n /**\n * Read-only output: Instance Failover Group resource identifier that this managed database belongs to.\n */\n readonly failoverGroupId?: Expression<string> | undefined;\n /**\n * Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created.\n */\n isLedgerOn?: ExpressionOrValue<boolean> | undefined;\n /**\n * Last backup file name for restore of this managed database.\n */\n lastBackupName?: ExpressionOrValue<string> | undefined;\n /**\n * The name of the Long Term Retention backup to be used for restore of this managed database.\n */\n longTermRetentionBackupResourceId?: ExpressionOrValue<string> | undefined;\n /**\n * The resource identifier of the recoverable database associated with create operation of this database.\n */\n recoverableDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * The restorable dropped database resource id to restore when creating this database.\n */\n restorableDroppedDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * Conditional. If createMode is PointInTimeRestore, this value is required. Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.\n */\n restorePointInTime?: ExpressionOrValue<Date> | undefined;\n /**\n * The resource identifier of the source database associated with create operation of this database.\n */\n sourceDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: Status of the database.\n */\n readonly status?: Expression<ManagedDatabaseStatus> | undefined;\n /**\n * Conditional. If createMode is RestoreExternalBackup, this value is used. Specifies the identity used for storage container authentication. Can be 'SharedAccessSignature' or 'ManagedIdentity'; if not specified 'SharedAccessSignature' is assumed.\n */\n storageContainerIdentity?: ExpressionOrValue<string> | undefined;\n /**\n * Conditional. If createMode is RestoreExternalBackup and storageContainerIdentity is not ManagedIdentity, this value is required. Specifies the storage container sas token.\n */\n storageContainerSasToken?: ExpressionOrValue<string> | undefined;\n /**\n * Conditional. If createMode is RestoreExternalBackup, this value is required. Specifies the uri of the storage container where backups for this restore are stored.\n */\n storageContainerUri?: ExpressionOrValue<string> | undefined;\n}\n\nexport const managedDatabasePropertiesShape: FlatModelShape = createFlatModelShape({\n autoCompleteRestore: { armPath: [\"autoCompleteRestore\"], value: createBooleanShape() },\n catalogCollation: { armPath: [\"catalogCollation\"], value: createUnionShape() },\n collation: { armPath: [\"collation\"], value: createStringShape() },\n createMode: { armPath: [\"createMode\"], value: createUnionShape() },\n creationDate: {\n armPath: [\"creationDate\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n crossSubscriptionRestorableDroppedDatabaseId: {\n armPath: [\"crossSubscriptionRestorableDroppedDatabaseId\"],\n value: createStringShape(),\n },\n crossSubscriptionSourceDatabaseId: {\n armPath: [\"crossSubscriptionSourceDatabaseId\"],\n value: createStringShape(),\n },\n crossSubscriptionTargetManagedInstanceId: {\n armPath: [\"crossSubscriptionTargetManagedInstanceId\"],\n value: createStringShape(),\n },\n defaultSecondaryLocation: {\n armPath: [\"defaultSecondaryLocation\"],\n value: createStringShape(),\n readOnly: true,\n },\n earliestRestorePoint: {\n armPath: [\"earliestRestorePoint\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n extendedAccessibilityInfo: {\n armPath: [\"extendedAccessibilityInfo\"],\n value: createDeferredShape(() => managedDatabaseExtendedAccessibilityInfoShape),\n readOnly: true,\n },\n failoverGroupId: { armPath: [\"failoverGroupId\"], value: createStringShape(), readOnly: true },\n isLedgerOn: { armPath: [\"isLedgerOn\"], value: createBooleanShape() },\n lastBackupName: { armPath: [\"lastBackupName\"], value: createStringShape() },\n longTermRetentionBackupResourceId: {\n armPath: [\"longTermRetentionBackupResourceId\"],\n value: createStringShape(),\n },\n recoverableDatabaseId: { armPath: [\"recoverableDatabaseId\"], value: createStringShape() },\n restorableDroppedDatabaseId: {\n armPath: [\"restorableDroppedDatabaseId\"],\n value: createStringShape(),\n },\n restorePointInTime: {\n armPath: [\"restorePointInTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n },\n sourceDatabaseId: { armPath: [\"sourceDatabaseId\"], value: createStringShape() },\n status: { armPath: [\"status\"], value: createUnionShape(), readOnly: true },\n storageContainerIdentity: { armPath: [\"storageContainerIdentity\"], value: createStringShape() },\n storageContainerSasToken: { armPath: [\"storageContainerSasToken\"], value: createStringShape() },\n storageContainerUri: { armPath: [\"storageContainerUri\"], value: createStringShape() },\n});\n\n/**\n * The managed database's restore details backup set properties.\n */\nexport interface ManagedDatabaseRestoreDetailsBackupSetProperties {\n /**\n * Backup size.\n */\n backupSizeMb?: number;\n /**\n * First stripe name.\n */\n firstStripeName?: string;\n /**\n * Number of stripes.\n */\n numberOfStripes?: number;\n /**\n * Last restored file time.\n */\n restoreFinishedTimestampUtc?: Date;\n /**\n * Last restored file time.\n */\n restoreStartedTimestampUtc?: Date;\n /**\n * Backup set status.\n */\n status?: string;\n}\n\n/**\n * Input type for The managed database's restore details backup set properties.\n */\nexport interface ManagedDatabaseRestoreDetailsBackupSetPropertiesInput extends InputOf<ManagedDatabaseRestoreDetailsBackupSetProperties> {}\n\n/**\n * View type for The managed database's restore details backup set properties.\n */\nexport interface ManagedDatabaseRestoreDetailsBackupSetPropertiesView extends InputOf<ManagedDatabaseRestoreDetailsBackupSetProperties> {\n /**\n * Read-only output: Backup size.\n */\n readonly backupSizeMb?: Expression<number> | undefined;\n /**\n * Read-only output: First stripe name.\n */\n readonly firstStripeName?: Expression<string> | undefined;\n /**\n * Read-only output: Number of stripes.\n */\n readonly numberOfStripes?: Expression<number> | undefined;\n /**\n * Read-only output: Last restored file time.\n */\n readonly restoreFinishedTimestampUtc?: Expression<Date> | undefined;\n /**\n * Read-only output: Last restored file time.\n */\n readonly restoreStartedTimestampUtc?: Expression<Date> | undefined;\n /**\n * Read-only output: Backup set status.\n */\n readonly status?: Expression<string> | undefined;\n}\n\nexport const managedDatabaseRestoreDetailsBackupSetPropertiesShape: FlatModelShape =\n createFlatModelShape({\n backupSizeMb: { armPath: [\"backupSizeMB\"], value: createNumberShape(), readOnly: true },\n firstStripeName: { armPath: [\"firstStripeName\"], value: createStringShape(), readOnly: true },\n numberOfStripes: { armPath: [\"numberOfStripes\"], value: createNumberShape(), readOnly: true },\n restoreFinishedTimestampUtc: {\n armPath: [\"restoreFinishedTimestampUtc\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n restoreStartedTimestampUtc: {\n armPath: [\"restoreStartedTimestampUtc\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n status: { armPath: [\"status\"], value: createStringShape(), readOnly: true },\n });\n\n/**\n * The managed database's restore details properties.\n */\nexport interface ManagedDatabaseRestoreDetailsProperties {\n /**\n * The reason why restore is in Blocked state.\n */\n blockReason?: string;\n /**\n * Current backup type.\n */\n currentBackupType?: string;\n /**\n * Current restored size MB.\n */\n currentRestoredSizeMb?: number;\n /**\n * Current restore plan size MB.\n */\n currentRestorePlanSizeMb?: number;\n /**\n * Current restoring file name.\n */\n currentRestoringFileName?: string;\n /**\n * Diff backup sets.\n */\n diffBackupSets?: ManagedDatabaseRestoreDetailsBackupSetProperties[];\n /**\n * Full backup sets.\n */\n fullBackupSets?: ManagedDatabaseRestoreDetailsBackupSetProperties[];\n /**\n * Last restored file name.\n */\n lastRestoredFileName?: string;\n /**\n * Last restored file time.\n */\n lastRestoredFileTime?: Date;\n /**\n * Last uploaded file name.\n */\n lastUploadedFileName?: string;\n /**\n * Last uploaded file time.\n */\n lastUploadedFileTime?: Date;\n /**\n * Log backup sets.\n */\n logBackupSets?: ManagedDatabaseRestoreDetailsBackupSetProperties[];\n /**\n * Number of files detected.\n */\n numberOfFilesDetected?: number;\n /**\n * Number of files queued.\n */\n numberOfFilesQueued?: number;\n /**\n * Number of files restored.\n */\n numberOfFilesRestored?: number;\n /**\n * Number of files restoring.\n */\n numberOfFilesRestoring?: number;\n /**\n * Number of files skipped.\n */\n numberOfFilesSkipped?: number;\n /**\n * Number of files unrestorable.\n */\n numberOfFilesUnrestorable?: number;\n /**\n * Percent completed.\n */\n percentCompleted?: number;\n /**\n * Restore status.\n */\n status?: string;\n /**\n * Restore type.\n */\n type?: string;\n /**\n * Unrestorable files.\n */\n unrestorableFiles?: ManagedDatabaseRestoreDetailsUnrestorableFileProperties[];\n}\n\n/**\n * Input type for The managed database's restore details properties.\n */\nexport interface ManagedDatabaseRestoreDetailsPropertiesInput extends InputOf<ManagedDatabaseRestoreDetailsProperties> {}\n\n/**\n * View type for The managed database's restore details properties.\n */\nexport interface ManagedDatabaseRestoreDetailsPropertiesView extends InputOf<ManagedDatabaseRestoreDetailsProperties> {\n /**\n * Read-only output: The reason why restore is in Blocked state.\n */\n readonly blockReason?: Expression<string> | undefined;\n /**\n * Read-only output: Current backup type.\n */\n readonly currentBackupType?: Expression<string> | undefined;\n /**\n * Read-only output: Current restored size MB.\n */\n readonly currentRestoredSizeMb?: Expression<number> | undefined;\n /**\n * Read-only output: Current restore plan size MB.\n */\n readonly currentRestorePlanSizeMb?: Expression<number> | undefined;\n /**\n * Read-only output: Current restoring file name.\n */\n readonly currentRestoringFileName?: Expression<string> | undefined;\n /**\n * Read-only output: Diff backup sets.\n */\n readonly diffBackupSets?:\n Expression<ManagedDatabaseRestoreDetailsBackupSetProperties[]> | undefined;\n /**\n * Read-only output: Full backup sets.\n */\n readonly fullBackupSets?:\n Expression<ManagedDatabaseRestoreDetailsBackupSetProperties[]> | undefined;\n /**\n * Read-only output: Last restored file name.\n */\n readonly lastRestoredFileName?: Expression<string> | undefined;\n /**\n * Read-only output: Last restored file time.\n */\n readonly lastRestoredFileTime?: Expression<Date> | undefined;\n /**\n * Read-only output: Last uploaded file name.\n */\n readonly lastUploadedFileName?: Expression<string> | undefined;\n /**\n * Read-only output: Last uploaded file time.\n */\n readonly lastUploadedFileTime?: Expression<Date> | undefined;\n /**\n * Read-only output: Log backup sets.\n */\n readonly logBackupSets?:\n Expression<ManagedDatabaseRestoreDetailsBackupSetProperties[]> | undefined;\n /**\n * Read-only output: Number of files detected.\n */\n readonly numberOfFilesDetected?: Expression<number> | undefined;\n /**\n * Read-only output: Number of files queued.\n */\n readonly numberOfFilesQueued?: Expression<number> | undefined;\n /**\n * Read-only output: Number of files restored.\n */\n readonly numberOfFilesRestored?: Expression<number> | undefined;\n /**\n * Read-only output: Number of files restoring.\n */\n readonly numberOfFilesRestoring?: Expression<number> | undefined;\n /**\n * Read-only output: Number of files skipped.\n */\n readonly numberOfFilesSkipped?: Expression<number> | undefined;\n /**\n * Read-only output: Number of files unrestorable.\n */\n readonly numberOfFilesUnrestorable?: Expression<number> | undefined;\n /**\n * Read-only output: Percent completed.\n */\n readonly percentCompleted?: Expression<number> | undefined;\n /**\n * Read-only output: Restore status.\n */\n readonly status?: Expression<string> | undefined;\n /**\n * Read-only output: Restore type.\n */\n readonly type?: Expression<string> | undefined;\n /**\n * Read-only output: Unrestorable files.\n */\n readonly unrestorableFiles?:\n Expression<ManagedDatabaseRestoreDetailsUnrestorableFileProperties[]> | undefined;\n}\n\nexport const managedDatabaseRestoreDetailsPropertiesShape: FlatModelShape = createFlatModelShape({\n blockReason: { armPath: [\"blockReason\"], value: createStringShape(), readOnly: true },\n currentBackupType: { armPath: [\"currentBackupType\"], value: createStringShape(), readOnly: true },\n currentRestoredSizeMb: {\n armPath: [\"currentRestoredSizeMB\"],\n value: createNumberShape(),\n readOnly: true,\n },\n currentRestorePlanSizeMb: {\n armPath: [\"currentRestorePlanSizeMB\"],\n value: createNumberShape(),\n readOnly: true,\n },\n currentRestoringFileName: {\n armPath: [\"currentRestoringFileName\"],\n value: createStringShape(),\n readOnly: true,\n },\n diffBackupSets: {\n armPath: [\"diffBackupSets\"],\n value: createArrayShape(\n createDeferredShape(() => managedDatabaseRestoreDetailsBackupSetPropertiesShape),\n ),\n readOnly: true,\n },\n fullBackupSets: {\n armPath: [\"fullBackupSets\"],\n value: createArrayShape(\n createDeferredShape(() => managedDatabaseRestoreDetailsBackupSetPropertiesShape),\n ),\n readOnly: true,\n },\n lastRestoredFileName: {\n armPath: [\"lastRestoredFileName\"],\n value: createStringShape(),\n readOnly: true,\n },\n lastRestoredFileTime: {\n armPath: [\"lastRestoredFileTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n lastUploadedFileName: {\n armPath: [\"lastUploadedFileName\"],\n value: createStringShape(),\n readOnly: true,\n },\n lastUploadedFileTime: {\n armPath: [\"lastUploadedFileTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n logBackupSets: {\n armPath: [\"logBackupSets\"],\n value: createArrayShape(\n createDeferredShape(() => managedDatabaseRestoreDetailsBackupSetPropertiesShape),\n ),\n readOnly: true,\n },\n numberOfFilesDetected: {\n armPath: [\"numberOfFilesDetected\"],\n value: createNumberShape(),\n readOnly: true,\n },\n numberOfFilesQueued: {\n armPath: [\"numberOfFilesQueued\"],\n value: createNumberShape(),\n readOnly: true,\n },\n numberOfFilesRestored: {\n armPath: [\"numberOfFilesRestored\"],\n value: createNumberShape(),\n readOnly: true,\n },\n numberOfFilesRestoring: {\n armPath: [\"numberOfFilesRestoring\"],\n value: createNumberShape(),\n readOnly: true,\n },\n numberOfFilesSkipped: {\n armPath: [\"numberOfFilesSkipped\"],\n value: createNumberShape(),\n readOnly: true,\n },\n numberOfFilesUnrestorable: {\n armPath: [\"numberOfFilesUnrestorable\"],\n value: createNumberShape(),\n readOnly: true,\n },\n percentCompleted: { armPath: [\"percentCompleted\"], value: createNumberShape(), readOnly: true },\n status: { armPath: [\"status\"], value: createStringShape(), readOnly: true },\n type: { armPath: [\"type\"], value: createStringShape(), readOnly: true },\n unrestorableFiles: {\n armPath: [\"unrestorableFiles\"],\n value: createArrayShape(\n createDeferredShape(() => managedDatabaseRestoreDetailsUnrestorableFilePropertiesShape),\n ),\n readOnly: true,\n },\n});\n\n/**\n * The managed database's restore details unrestorable file properties.\n */\nexport interface ManagedDatabaseRestoreDetailsUnrestorableFileProperties {\n /**\n * File name.\n */\n name?: string;\n}\n\n/**\n * Input type for The managed database's restore details unrestorable file properties.\n */\nexport interface ManagedDatabaseRestoreDetailsUnrestorableFilePropertiesInput extends InputOf<ManagedDatabaseRestoreDetailsUnrestorableFileProperties> {}\n\n/**\n * View type for The managed database's restore details unrestorable file properties.\n */\nexport interface ManagedDatabaseRestoreDetailsUnrestorableFilePropertiesView extends InputOf<ManagedDatabaseRestoreDetailsUnrestorableFileProperties> {\n /**\n * Read-only output: File name.\n */\n readonly name?: Expression<string> | undefined;\n}\n\nexport const managedDatabaseRestoreDetailsUnrestorableFilePropertiesShape: FlatModelShape =\n createFlatModelShape({\n name: { armPath: [\"name\"], value: createStringShape(), readOnly: true },\n });\n\n/**\n * The properties of a managed instance administrator.\n */\nexport interface ManagedInstanceAdministratorProperties {\n /**\n * Type of the managed instance administrator.\n */\n administratorType: ManagedInstanceAdministratorType;\n /**\n * Login name of the managed instance administrator.\n */\n login: string;\n /**\n * SID (object ID) of the managed instance administrator.\n */\n sid: string;\n /**\n * Tenant ID of the managed instance administrator.\n */\n tenantId?: string;\n}\n\n/**\n * Input type for The properties of a managed instance administrator.\n */\nexport interface ManagedInstanceAdministratorPropertiesInput extends InputOf<ManagedInstanceAdministratorProperties> {\n /**\n * Type of the managed instance administrator.\n */\n administratorType: ExpressionOrValue<ManagedInstanceAdministratorType>;\n /**\n * Login name of the managed instance administrator.\n */\n login: ExpressionOrValue<string>;\n /**\n * SID (object ID) of the managed instance administrator.\n */\n sid: ExpressionOrValue<string>;\n /**\n * Tenant ID of the managed instance administrator.\n */\n tenantId?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for The properties of a managed instance administrator.\n */\nexport type ManagedInstanceAdministratorPropertiesView =\n ManagedInstanceAdministratorPropertiesInput;\n\nexport const managedInstanceAdministratorPropertiesShape: FlatModelShape = createFlatModelShape({\n administratorType: { armPath: [\"administratorType\"], value: createUnionShape() },\n login: { armPath: [\"login\"], value: createStringShape() },\n sid: { armPath: [\"sid\"], value: createStringShape() },\n tenantId: { armPath: [\"tenantId\"], value: createStringShape() },\n});\n\n/**\n * Properties of a active directory only authentication for Managed Instance.\n */\nexport interface ManagedInstanceAzureAdOnlyAuthProperties {\n /**\n * Azure Active Directory only Authentication enabled.\n */\n azureAdOnlyAuthentication: boolean;\n}\n\n/**\n * Input type for Properties of a active directory only authentication for Managed Instance.\n */\nexport interface ManagedInstanceAzureAdOnlyAuthPropertiesInput extends InputOf<ManagedInstanceAzureAdOnlyAuthProperties> {\n /**\n * Azure Active Directory only Authentication enabled.\n */\n azureAdOnlyAuthentication: ExpressionOrValue<boolean>;\n}\n\n/**\n * View type for Properties of a active directory only authentication for Managed Instance.\n */\nexport type ManagedInstanceAzureAdOnlyAuthPropertiesView =\n ManagedInstanceAzureAdOnlyAuthPropertiesInput;\n\nexport const managedInstanceAzureAdOnlyAuthPropertiesShape: FlatModelShape = createFlatModelShape({\n azureAdOnlyAuthentication: {\n armPath: [\"azureADOnlyAuthentication\"],\n value: createBooleanShape(),\n },\n});\n\n/**\n * The properties of managed instance DTC.\n */\nexport interface ManagedInstanceDtcProperties {\n /**\n * Active status of managed instance DTC.\n */\n dtcEnabled?: boolean;\n /**\n * Host name dns suffix of managed instance DTC.\n */\n dtcHostNameDnsSuffix?: string;\n /**\n * External dns suffix search list of managed instance DTC.\n */\n externalDnsSuffixSearchList?: string[];\n /**\n * Provisioning state of managed instance DTC.\n */\n provisioningState?: ProvisioningState;\n /**\n * Security settings of managed instance DTC.\n */\n securitySettings?: ManagedInstanceDtcSecuritySettings;\n}\n\n/**\n * Input type for The properties of managed instance DTC.\n */\nexport interface ManagedInstanceDtcPropertiesInput extends InputOf<ManagedInstanceDtcProperties> {\n /**\n * Active status of managed instance DTC.\n */\n dtcEnabled?: ExpressionOrValue<boolean> | undefined;\n /**\n * External dns suffix search list of managed instance DTC.\n */\n externalDnsSuffixSearchList?: InputArray<ExpressionOrValue<string>, string[]> | undefined;\n /**\n * Security settings of managed instance DTC.\n */\n securitySettings?: ManagedInstanceDtcSecuritySettingsInput | undefined;\n}\n\n/**\n * View type for The properties of managed instance DTC.\n */\nexport interface ManagedInstanceDtcPropertiesView extends InputOf<ManagedInstanceDtcProperties> {\n /**\n * Active status of managed instance DTC.\n */\n dtcEnabled?: ExpressionOrValue<boolean> | undefined;\n /**\n * Read-only output: Host name dns suffix of managed instance DTC.\n */\n readonly dtcHostNameDnsSuffix?: Expression<string> | undefined;\n /**\n * External dns suffix search list of managed instance DTC.\n */\n externalDnsSuffixSearchList?: InputArray<ExpressionOrValue<string>, string[]> | undefined;\n /**\n * Read-only output: Provisioning state of managed instance DTC.\n */\n readonly provisioningState?: Expression<ProvisioningState> | undefined;\n /**\n * Security settings of managed instance DTC.\n */\n securitySettings?: ManagedInstanceDtcSecuritySettingsView | undefined;\n}\n\nexport const managedInstanceDtcPropertiesShape: FlatModelShape = createFlatModelShape({\n dtcEnabled: { armPath: [\"dtcEnabled\"], value: createBooleanShape() },\n dtcHostNameDnsSuffix: {\n armPath: [\"dtcHostNameDnsSuffix\"],\n value: createStringShape(),\n readOnly: true,\n },\n externalDnsSuffixSearchList: {\n armPath: [\"externalDnsSuffixSearchList\"],\n value: createArrayShape(createStringShape()),\n },\n provisioningState: { armPath: [\"provisioningState\"], value: createUnionShape(), readOnly: true },\n securitySettings: {\n armPath: [\"securitySettings\"],\n value: createDeferredShape(() => managedInstanceDtcSecuritySettingsShape),\n },\n});\n\n/**\n * The Security Settings of managed instance DTC.\n */\nexport interface ManagedInstanceDtcSecuritySettings {\n /**\n * Allow SNA LU 6.2 Transactions to managed instance DTC.\n */\n snaLu6point2TransactionsEnabled?: boolean;\n /**\n * Transaction Manager communication settings of managed instance DTC.\n */\n transactionManagerCommunicationSettings?: ManagedInstanceDtcTransactionManagerCommunicationSettings;\n /**\n * Default timeout for XA Transactions (in seconds).\n */\n xaTransactionsDefaultTimeout?: number;\n /**\n * Allow XA Transactions to managed instance DTC.\n */\n xaTransactionsEnabled?: boolean;\n /**\n * Maximum timeout for XA Transactions (in seconds).\n */\n xaTransactionsMaximumTimeout?: number;\n}\n\n/**\n * Input type for The Security Settings of managed instance DTC.\n */\nexport interface ManagedInstanceDtcSecuritySettingsInput extends InputOf<ManagedInstanceDtcSecuritySettings> {\n /**\n * Allow SNA LU 6.2 Transactions to managed instance DTC.\n */\n snaLu6point2TransactionsEnabled?: ExpressionOrValue<boolean> | undefined;\n /**\n * Transaction Manager communication settings of managed instance DTC.\n */\n transactionManagerCommunicationSettings?:\n ManagedInstanceDtcTransactionManagerCommunicationSettingsInput | undefined;\n /**\n * Default timeout for XA Transactions (in seconds).\n */\n xaTransactionsDefaultTimeout?: ExpressionOrValue<number> | undefined;\n /**\n * Allow XA Transactions to managed instance DTC.\n */\n xaTransactionsEnabled?: ExpressionOrValue<boolean> | undefined;\n /**\n * Maximum timeout for XA Transactions (in seconds).\n */\n xaTransactionsMaximumTimeout?: ExpressionOrValue<number> | undefined;\n}\n\n/**\n * View type for The Security Settings of managed instance DTC.\n */\nexport type ManagedInstanceDtcSecuritySettingsView = ManagedInstanceDtcSecuritySettingsInput;\n\nexport const managedInstanceDtcSecuritySettingsShape: FlatModelShape = createFlatModelShape({\n snaLu6point2TransactionsEnabled: {\n armPath: [\"snaLu6point2TransactionsEnabled\"],\n value: createBooleanShape(),\n },\n transactionManagerCommunicationSettings: {\n armPath: [\"transactionManagerCommunicationSettings\"],\n value: createDeferredShape(\n () => managedInstanceDtcTransactionManagerCommunicationSettingsShape,\n ),\n },\n xaTransactionsDefaultTimeout: {\n armPath: [\"xaTransactionsDefaultTimeout\"],\n value: createNumberShape(),\n },\n xaTransactionsEnabled: { armPath: [\"xaTransactionsEnabled\"], value: createBooleanShape() },\n xaTransactionsMaximumTimeout: {\n armPath: [\"xaTransactionsMaximumTimeout\"],\n value: createNumberShape(),\n },\n});\n\n/**\n * The Transaction Manager Communication Settings of managed instance DTC.\n */\nexport interface ManagedInstanceDtcTransactionManagerCommunicationSettings {\n /**\n * Allow Inbound traffic to managed instance DTC.\n */\n allowInboundEnabled?: boolean;\n /**\n * Allow Outbound traffic of managed instance DTC.\n */\n allowOutboundEnabled?: boolean;\n /**\n * Authentication type of managed instance DTC.\n */\n authentication?: string;\n}\n\n/**\n * Input type for The Transaction Manager Communication Settings of managed instance DTC.\n */\nexport interface ManagedInstanceDtcTransactionManagerCommunicationSettingsInput extends InputOf<ManagedInstanceDtcTransactionManagerCommunicationSettings> {\n /**\n * Allow Inbound traffic to managed instance DTC.\n */\n allowInboundEnabled?: ExpressionOrValue<boolean> | undefined;\n /**\n * Allow Outbound traffic of managed instance DTC.\n */\n allowOutboundEnabled?: ExpressionOrValue<boolean> | undefined;\n /**\n * Authentication type of managed instance DTC.\n */\n authentication?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for The Transaction Manager Communication Settings of managed instance DTC.\n */\nexport type ManagedInstanceDtcTransactionManagerCommunicationSettingsView =\n ManagedInstanceDtcTransactionManagerCommunicationSettingsInput;\n\nexport const managedInstanceDtcTransactionManagerCommunicationSettingsShape: FlatModelShape =\n createFlatModelShape({\n allowInboundEnabled: { armPath: [\"allowInboundEnabled\"], value: createBooleanShape() },\n allowOutboundEnabled: { armPath: [\"allowOutboundEnabled\"], value: createBooleanShape() },\n authentication: { armPath: [\"authentication\"], value: createStringShape() },\n });\n\n/**\n * Properties for an encryption protector execution.\n */\nexport interface ManagedInstanceEncryptionProtectorProperties {\n /**\n * Key auto rotation opt-in flag. Either true or false.\n */\n autoRotationEnabled?: boolean;\n /**\n * The name of the managed instance key.\n */\n serverKeyName?: string;\n /**\n * The encryption protector type like 'ServiceManaged', 'AzureKeyVault'.\n */\n serverKeyType: ServerKeyType;\n /**\n * Thumbprint of the server key.\n */\n thumbprint?: string;\n /**\n * The URI of the server key.\n */\n uri?: string;\n}\n\n/**\n * Input type for Properties for an encryption protector execution.\n */\nexport interface ManagedInstanceEncryptionProtectorPropertiesInput extends InputOf<ManagedInstanceEncryptionProtectorProperties> {\n /**\n * Key auto rotation opt-in flag. Either true or false.\n */\n autoRotationEnabled?: ExpressionOrValue<boolean> | undefined;\n /**\n * The name of the managed instance key.\n */\n serverKeyName?: ExpressionOrValue<string> | undefined;\n /**\n * The encryption protector type like 'ServiceManaged', 'AzureKeyVault'.\n */\n serverKeyType: ExpressionOrValue<ServerKeyType>;\n}\n\n/**\n * View type for Properties for an encryption protector execution.\n */\nexport interface ManagedInstanceEncryptionProtectorPropertiesView extends InputOf<ManagedInstanceEncryptionProtectorProperties> {\n /**\n * Key auto rotation opt-in flag. Either true or false.\n */\n autoRotationEnabled?: ExpressionOrValue<boolean> | undefined;\n /**\n * The name of the managed instance key.\n */\n serverKeyName?: ExpressionOrValue<string> | undefined;\n /**\n * The encryption protector type like 'ServiceManaged', 'AzureKeyVault'.\n */\n serverKeyType: ExpressionOrValue<ServerKeyType>;\n /**\n * Read-only output: Thumbprint of the server key.\n */\n readonly thumbprint?: Expression<string> | undefined;\n /**\n * Read-only output: The URI of the server key.\n */\n readonly uri?: Expression<string> | undefined;\n}\n\nexport const managedInstanceEncryptionProtectorPropertiesShape: FlatModelShape =\n createFlatModelShape({\n autoRotationEnabled: { armPath: [\"autoRotationEnabled\"], value: createBooleanShape() },\n serverKeyName: { armPath: [\"serverKeyName\"], value: createStringShape() },\n serverKeyType: { armPath: [\"serverKeyType\"], value: createUnionShape() },\n thumbprint: { armPath: [\"thumbprint\"], value: createStringShape(), readOnly: true },\n uri: { armPath: [\"uri\"], value: createStringShape(), readOnly: true },\n });\n\n/**\n * Properties of a active directory administrator.\n */\nexport interface ManagedInstanceExternalAdministrator {\n /**\n * Type of the sever administrator.\n */\n administratorType?: AdministratorType;\n /**\n * Azure Active Directory only Authentication enabled.\n */\n azureAdOnlyAuthentication?: boolean;\n /**\n * Login name of the server administrator.\n */\n login?: string;\n /**\n * Principal Type of the sever administrator.\n */\n principalType?: PrincipalType;\n /**\n * SID (object ID) of the server administrator.\n */\n sid?: string;\n /**\n * Tenant ID of the administrator.\n */\n tenantId?: string;\n}\n\n/**\n * Input type for Properties of a active directory administrator.\n */\nexport interface ManagedInstanceExternalAdministratorInput extends InputOf<ManagedInstanceExternalAdministrator> {\n /**\n * Type of the sever administrator.\n */\n administratorType?: ExpressionOrValue<AdministratorType> | undefined;\n /**\n * Azure Active Directory only Authentication enabled.\n */\n azureAdOnlyAuthentication?: ExpressionOrValue<boolean> | undefined;\n /**\n * Login name of the server administrator.\n */\n login?: ExpressionOrValue<string> | undefined;\n /**\n * Principal Type of the sever administrator.\n */\n principalType?: ExpressionOrValue<PrincipalType> | undefined;\n /**\n * SID (object ID) of the server administrator.\n */\n sid?: ExpressionOrValue<string> | undefined;\n /**\n * Tenant ID of the administrator.\n */\n tenantId?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties of a active directory administrator.\n */\nexport type ManagedInstanceExternalAdministratorView = ManagedInstanceExternalAdministratorInput;\n\nexport const managedInstanceExternalAdministratorShape: FlatModelShape = createFlatModelShape({\n administratorType: { armPath: [\"administratorType\"], value: createUnionShape() },\n azureAdOnlyAuthentication: {\n armPath: [\"azureADOnlyAuthentication\"],\n value: createBooleanShape(),\n },\n login: { armPath: [\"login\"], value: createStringShape() },\n principalType: { armPath: [\"principalType\"], value: createUnionShape() },\n sid: { armPath: [\"sid\"], value: createStringShape() },\n tenantId: { armPath: [\"tenantId\"], value: createStringShape() },\n});\n\n/**\n * Properties for a key execution.\n */\nexport interface ManagedInstanceKeyProperties {\n /**\n * Key auto rotation opt-in flag. Either true or false.\n */\n autoRotationEnabled?: boolean;\n /**\n * The key creation date.\n */\n creationDate?: Date;\n /**\n * The key type like 'ServiceManaged', 'AzureKeyVault'.\n */\n serverKeyType: ServerKeyType;\n /**\n * Thumbprint of the key.\n */\n thumbprint?: string;\n /**\n * The URI of the key. If the ServerKeyType is AzureKeyVault, then the URI is required.\n */\n uri?: string;\n}\n\n/**\n * Input type for Properties for a key execution.\n */\nexport interface ManagedInstanceKeyPropertiesInput extends InputOf<ManagedInstanceKeyProperties> {\n /**\n * The key type like 'ServiceManaged', 'AzureKeyVault'.\n */\n serverKeyType: ExpressionOrValue<ServerKeyType>;\n /**\n * The URI of the key. If the ServerKeyType is AzureKeyVault, then the URI is required.\n */\n uri?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties for a key execution.\n */\nexport interface ManagedInstanceKeyPropertiesView extends InputOf<ManagedInstanceKeyProperties> {\n /**\n * Read-only output: Key auto rotation opt-in flag. Either true or false.\n */\n readonly autoRotationEnabled?: Expression<boolean> | undefined;\n /**\n * Read-only output: The key creation date.\n */\n readonly creationDate?: Expression<Date> | undefined;\n /**\n * The key type like 'ServiceManaged', 'AzureKeyVault'.\n */\n serverKeyType: ExpressionOrValue<ServerKeyType>;\n /**\n * Read-only output: Thumbprint of the key.\n */\n readonly thumbprint?: Expression<string> | undefined;\n /**\n * The URI of the key. If the ServerKeyType is AzureKeyVault, then the URI is required.\n */\n uri?: ExpressionOrValue<string> | undefined;\n}\n\nexport const managedInstanceKeyPropertiesShape: FlatModelShape = createFlatModelShape({\n autoRotationEnabled: {\n armPath: [\"autoRotationEnabled\"],\n value: createBooleanShape(),\n readOnly: true,\n },\n creationDate: {\n armPath: [\"creationDate\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n serverKeyType: { armPath: [\"serverKeyType\"], value: createUnionShape() },\n thumbprint: { armPath: [\"thumbprint\"], value: createStringShape(), readOnly: true },\n uri: { armPath: [\"uri\"], value: createStringShape() },\n});\n\n/**\n * Properties of a long term retention backup\n */\nexport interface ManagedInstanceLongTermRetentionBackupProperties {\n /**\n * The time the long term retention backup will expire.\n */\n backupExpirationTime?: Date;\n /**\n * The BackupStorageAccessTier for the LTR backup\n */\n backupStorageAccessTier?: BackupStorageAccessTier;\n /**\n * The storage redundancy type of the backup\n */\n backupStorageRedundancy?: BackupStorageRedundancy;\n /**\n * The time the backup was taken\n */\n backupTime?: Date;\n /**\n * The delete time of the database\n */\n databaseDeletionTime?: Date;\n /**\n * The name of the database the backup belong to\n */\n databaseName?: string;\n /**\n * The create time of the instance.\n */\n managedInstanceCreateTime?: Date;\n /**\n * The managed instance that the backup database belongs to.\n */\n managedInstanceName?: string;\n}\n\n/**\n * Input type for Properties of a long term retention backup\n */\nexport interface ManagedInstanceLongTermRetentionBackupPropertiesInput extends InputOf<ManagedInstanceLongTermRetentionBackupProperties> {}\n\n/**\n * View type for Properties of a long term retention backup\n */\nexport interface ManagedInstanceLongTermRetentionBackupPropertiesView extends InputOf<ManagedInstanceLongTermRetentionBackupProperties> {\n /**\n * Read-only output: The time the long term retention backup will expire.\n */\n readonly backupExpirationTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The BackupStorageAccessTier for the LTR backup\n */\n readonly backupStorageAccessTier?: Expression<BackupStorageAccessTier> | undefined;\n /**\n * Read-only output: The storage redundancy type of the backup\n */\n readonly backupStorageRedundancy?: Expression<BackupStorageRedundancy> | undefined;\n /**\n * Read-only output: The time the backup was taken\n */\n readonly backupTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The delete time of the database\n */\n readonly databaseDeletionTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The name of the database the backup belong to\n */\n readonly databaseName?: Expression<string> | undefined;\n /**\n * Read-only output: The create time of the instance.\n */\n readonly managedInstanceCreateTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The managed instance that the backup database belongs to.\n */\n readonly managedInstanceName?: Expression<string> | undefined;\n}\n\nexport const managedInstanceLongTermRetentionBackupPropertiesShape: FlatModelShape =\n createFlatModelShape({\n backupExpirationTime: {\n armPath: [\"backupExpirationTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n backupStorageAccessTier: {\n armPath: [\"backupStorageAccessTier\"],\n value: createUnionShape(),\n readOnly: true,\n },\n backupStorageRedundancy: {\n armPath: [\"backupStorageRedundancy\"],\n value: createUnionShape(),\n readOnly: true,\n },\n backupTime: {\n armPath: [\"backupTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n databaseDeletionTime: {\n armPath: [\"databaseDeletionTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n databaseName: { armPath: [\"databaseName\"], value: createStringShape(), readOnly: true },\n managedInstanceCreateTime: {\n armPath: [\"managedInstanceCreateTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n managedInstanceName: {\n armPath: [\"managedInstanceName\"],\n value: createStringShape(),\n readOnly: true,\n },\n });\n\n/**\n * Properties of a long term retention policy\n */\nexport interface ManagedInstanceLongTermRetentionPolicyProperties {\n /**\n * The BackupStorageAccessTier for the LTR backups\n */\n backupStorageAccessTier?: BackupStorageAccessTier;\n /**\n * The monthly retention policy for an LTR backup in an ISO 8601 format.\n */\n monthlyRetention?: string;\n /**\n * The weekly retention policy for an LTR backup in an ISO 8601 format.\n */\n weeklyRetention?: string;\n /**\n * The week of year to take the yearly backup in an ISO 8601 format.\n */\n weekOfYear?: number;\n /**\n * The yearly retention policy for an LTR backup in an ISO 8601 format.\n */\n yearlyRetention?: string;\n}\n\n/**\n * Input type for Properties of a long term retention policy\n */\nexport interface ManagedInstanceLongTermRetentionPolicyPropertiesInput extends InputOf<ManagedInstanceLongTermRetentionPolicyProperties> {\n /**\n * The BackupStorageAccessTier for the LTR backups\n */\n backupStorageAccessTier?: ExpressionOrValue<BackupStorageAccessTier> | undefined;\n /**\n * The monthly retention policy for an LTR backup in an ISO 8601 format.\n */\n monthlyRetention?: ExpressionOrValue<string> | undefined;\n /**\n * The weekly retention policy for an LTR backup in an ISO 8601 format.\n */\n weeklyRetention?: ExpressionOrValue<string> | undefined;\n /**\n * The week of year to take the yearly backup in an ISO 8601 format.\n */\n weekOfYear?: ExpressionOrValue<number> | undefined;\n /**\n * The yearly retention policy for an LTR backup in an ISO 8601 format.\n */\n yearlyRetention?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties of a long term retention policy\n */\nexport type ManagedInstanceLongTermRetentionPolicyPropertiesView =\n ManagedInstanceLongTermRetentionPolicyPropertiesInput;\n\nexport const managedInstanceLongTermRetentionPolicyPropertiesShape: FlatModelShape =\n createFlatModelShape({\n backupStorageAccessTier: { armPath: [\"backupStorageAccessTier\"], value: createUnionShape() },\n monthlyRetention: { armPath: [\"monthlyRetention\"], value: createStringShape() },\n weeklyRetention: { armPath: [\"weeklyRetention\"], value: createStringShape() },\n weekOfYear: { armPath: [\"weekOfYear\"], value: createNumberShape() },\n yearlyRetention: { armPath: [\"yearlyRetention\"], value: createStringShape() },\n });\n\n/**\n * The parameters of a managed instance operation.\n */\nexport interface ManagedInstanceOperationParametersPair {\n /**\n * The current parameters.\n */\n currentParameters?: UpsertManagedServerOperationParameters;\n /**\n * The requested parameters.\n */\n requestedParameters?: UpsertManagedServerOperationParameters;\n}\n\n/**\n * Input type for The parameters of a managed instance operation.\n */\nexport interface ManagedInstanceOperationParametersPairInput extends InputOf<ManagedInstanceOperationParametersPair> {}\n\n/**\n * View type for The parameters of a managed instance operation.\n */\nexport interface ManagedInstanceOperationParametersPairView extends InputOf<ManagedInstanceOperationParametersPair> {\n /**\n * Read-only output: The current parameters.\n */\n readonly currentParameters?: Expression<UpsertManagedServerOperationParameters> | undefined;\n /**\n * Read-only output: The requested parameters.\n */\n readonly requestedParameters?: Expression<UpsertManagedServerOperationParameters> | undefined;\n}\n\nexport const managedInstanceOperationParametersPairShape: FlatModelShape = createFlatModelShape({\n currentParameters: {\n armPath: [\"currentParameters\"],\n value: createDeferredShape(() => upsertManagedServerOperationParametersShape),\n readOnly: true,\n },\n requestedParameters: {\n armPath: [\"requestedParameters\"],\n value: createDeferredShape(() => upsertManagedServerOperationParametersShape),\n readOnly: true,\n },\n});\n\n/**\n * The properties of a managed instance operation.\n */\nexport interface ManagedInstanceOperationProperties {\n /**\n * The operation description.\n */\n description?: string;\n /**\n * The operation error code.\n */\n errorCode?: number;\n /**\n * The operation error description.\n */\n errorDescription?: string;\n /**\n * The operation error severity.\n */\n errorSeverity?: number;\n /**\n * The estimated completion time of the operation.\n */\n estimatedCompletionTime?: Date;\n /**\n * Whether the operation can be cancelled.\n */\n isCancellable?: boolean;\n /**\n * Whether or not the error is a user error.\n */\n isUserError?: boolean;\n /**\n * The name of the managed instance the operation is being performed on.\n */\n managedInstanceName?: string;\n /**\n * The name of operation.\n */\n operation?: string;\n /**\n * The friendly name of operation.\n */\n operationFriendlyName?: string;\n /**\n * The operation parameters.\n */\n operationParameters?: ManagedInstanceOperationParametersPair;\n /**\n * The operation steps.\n */\n operationSteps?: ManagedInstanceOperationSteps;\n /**\n * The percentage of the operation completed.\n */\n percentComplete?: number;\n /**\n * The operation start time.\n */\n startTime?: Date;\n /**\n * The operation state.\n */\n state?: ManagementOperationState;\n}\n\n/**\n * Input type for The properties of a managed instance operation.\n */\nexport interface ManagedInstanceOperationPropertiesInput extends InputOf<ManagedInstanceOperationProperties> {}\n\n/**\n * View type for The properties of a managed instance operation.\n */\nexport interface ManagedInstanceOperationPropertiesView extends InputOf<ManagedInstanceOperationProperties> {\n /**\n * Read-only output: The operation description.\n */\n readonly description?: Expression<string> | undefined;\n /**\n * Read-only output: The operation error code.\n */\n readonly errorCode?: Expression<number> | undefined;\n /**\n * Read-only output: The operation error description.\n */\n readonly errorDescription?: Expression<string> | undefined;\n /**\n * Read-only output: The operation error severity.\n */\n readonly errorSeverity?: Expression<number> | undefined;\n /**\n * Read-only output: The estimated completion time of the operation.\n */\n readonly estimatedCompletionTime?: Expression<Date> | undefined;\n /**\n * Read-only output: Whether the operation can be cancelled.\n */\n readonly isCancellable?: Expression<boolean> | undefined;\n /**\n * Read-only output: Whether or not the error is a user error.\n */\n readonly isUserError?: Expression<boolean> | undefined;\n /**\n * Read-only output: The name of the managed instance the operation is being performed on.\n */\n readonly managedInstanceName?: Expression<string> | undefined;\n /**\n * Read-only output: The name of operation.\n */\n readonly operation?: Expression<string> | undefined;\n /**\n * Read-only output: The friendly name of operation.\n */\n readonly operationFriendlyName?: Expression<string> | undefined;\n /**\n * Read-only output: The operation parameters.\n */\n readonly operationParameters?: Expression<ManagedInstanceOperationParametersPair> | undefined;\n /**\n * Read-only output: The operation steps.\n */\n readonly operationSteps?: Expression<ManagedInstanceOperationSteps> | undefined;\n /**\n * Read-only output: The percentage of the operation completed.\n */\n readonly percentComplete?: Expression<number> | undefined;\n /**\n * Read-only output: The operation start time.\n */\n readonly startTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The operation state.\n */\n readonly state?: Expression<ManagementOperationState> | undefined;\n}\n\nexport const managedInstanceOperationPropertiesShape: FlatModelShape = createFlatModelShape({\n description: { armPath: [\"description\"], value: createStringShape(), readOnly: true },\n errorCode: { armPath: [\"errorCode\"], value: createNumberShape(), readOnly: true },\n errorDescription: { armPath: [\"errorDescription\"], value: createStringShape(), readOnly: true },\n errorSeverity: { armPath: [\"errorSeverity\"], value: createNumberShape(), readOnly: true },\n estimatedCompletionTime: {\n armPath: [\"estimatedCompletionTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n isCancellable: { armPath: [\"isCancellable\"], value: createBooleanShape(), readOnly: true },\n isUserError: { armPath: [\"isUserError\"], value: createBooleanShape(), readOnly: true },\n managedInstanceName: {\n armPath: [\"managedInstanceName\"],\n value: createStringShape(),\n readOnly: true,\n },\n operation: { armPath: [\"operation\"], value: createStringShape(), readOnly: true },\n operationFriendlyName: {\n armPath: [\"operationFriendlyName\"],\n value: createStringShape(),\n readOnly: true,\n },\n operationParameters: {\n armPath: [\"operationParameters\"],\n value: createDeferredShape(() => managedInstanceOperationParametersPairShape),\n readOnly: true,\n },\n operationSteps: {\n armPath: [\"operationSteps\"],\n value: createDeferredShape(() => managedInstanceOperationStepsShape),\n readOnly: true,\n },\n percentComplete: { armPath: [\"percentComplete\"], value: createNumberShape(), readOnly: true },\n startTime: {\n armPath: [\"startTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n state: { armPath: [\"state\"], value: createUnionShape(), readOnly: true },\n});\n\n/**\n * The steps of a managed instance operation.\n */\nexport interface ManagedInstanceOperationSteps {\n /**\n * The number of current operation steps.\n */\n currentStep?: number;\n /**\n * The operation steps list.\n */\n stepsList?: UpsertManagedServerOperationStepWithEstimatesAndDuration[];\n /**\n * The total number of operation steps.\n */\n totalSteps?: string;\n}\n\n/**\n * Input type for The steps of a managed instance operation.\n */\nexport interface ManagedInstanceOperationStepsInput extends InputOf<ManagedInstanceOperationSteps> {}\n\n/**\n * View type for The steps of a managed instance operation.\n */\nexport interface ManagedInstanceOperationStepsView extends InputOf<ManagedInstanceOperationSteps> {\n /**\n * Read-only output: The number of current operation steps.\n */\n readonly currentStep?: Expression<number> | undefined;\n /**\n * Read-only output: The operation steps list.\n */\n readonly stepsList?:\n Expression<UpsertManagedServerOperationStepWithEstimatesAndDuration[]> | undefined;\n /**\n * Read-only output: The total number of operation steps.\n */\n readonly totalSteps?: Expression<string> | undefined;\n}\n\nexport const managedInstanceOperationStepsShape: FlatModelShape = createFlatModelShape({\n currentStep: { armPath: [\"currentStep\"], value: createNumberShape(), readOnly: true },\n stepsList: {\n armPath: [\"stepsList\"],\n value: createArrayShape(\n createDeferredShape(() => upsertManagedServerOperationStepWithEstimatesAndDurationShape),\n ),\n readOnly: true,\n },\n totalSteps: { armPath: [\"totalSteps\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * Pairs of Managed Instances in the failover group.\n */\nexport interface ManagedInstancePairInfo {\n /**\n * Id of Partner Managed Instance in pair.\n */\n partnerManagedInstanceId?: string;\n /**\n * Id of Primary Managed Instance in pair.\n */\n primaryManagedInstanceId?: string;\n}\n\n/**\n * Input type for Pairs of Managed Instances in the failover group.\n */\nexport interface ManagedInstancePairInfoInput extends InputOf<ManagedInstancePairInfo> {\n /**\n * Id of Partner Managed Instance in pair.\n */\n partnerManagedInstanceId?: ExpressionOrValue<string> | undefined;\n /**\n * Id of Primary Managed Instance in pair.\n */\n primaryManagedInstanceId?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Pairs of Managed Instances in the failover group.\n */\nexport type ManagedInstancePairInfoView = ManagedInstancePairInfoInput;\n\nexport const managedInstancePairInfoShape: FlatModelShape = createFlatModelShape({\n partnerManagedInstanceId: { armPath: [\"partnerManagedInstanceId\"], value: createStringShape() },\n primaryManagedInstanceId: { armPath: [\"primaryManagedInstanceId\"], value: createStringShape() },\n});\n\n/**\n * A private endpoint connection under a managed instance\n */\nexport interface ManagedInstancePecProperty {\n /**\n * Resource ID.\n */\n id?: string;\n /**\n * Private endpoint connection properties\n */\n properties?: ManagedInstancePrivateEndpointConnectionProperties;\n}\n\n/**\n * Input type for A private endpoint connection under a managed instance\n */\nexport interface ManagedInstancePecPropertyInput extends InputOf<ManagedInstancePecProperty> {}\n\n/**\n * View type for A private endpoint connection under a managed instance\n */\nexport interface ManagedInstancePecPropertyView extends InputOf<ManagedInstancePecProperty> {\n /**\n * Read-only output: Resource ID.\n */\n readonly id?: Expression<string> | undefined;\n /**\n * Read-only output: Private endpoint connection properties\n */\n readonly properties?: Expression<ManagedInstancePrivateEndpointConnectionProperties> | undefined;\n}\n\nexport const managedInstancePecPropertyShape: FlatModelShape = createFlatModelShape({\n id: { armPath: [\"id\"], value: createStringShape(), readOnly: true },\n properties: {\n armPath: [\"properties\"],\n value: createDeferredShape(() => managedInstancePrivateEndpointConnectionPropertiesShape),\n readOnly: true,\n },\n});\n\n/**\n * Properties of a private endpoint connection.\n */\nexport interface ManagedInstancePrivateEndpointConnectionProperties {\n /**\n * Private endpoint which the connection belongs to.\n */\n privateEndpoint?: ManagedInstancePrivateEndpointProperty;\n /**\n * Connection State of the Private Endpoint Connection.\n */\n privateLinkServiceConnectionState?: ManagedInstancePrivateLinkServiceConnectionStateProperty;\n /**\n * State of the Private Endpoint Connection.\n */\n provisioningState?: string;\n}\n\n/**\n * Input type for Properties of a private endpoint connection.\n */\nexport interface ManagedInstancePrivateEndpointConnectionPropertiesInput extends InputOf<ManagedInstancePrivateEndpointConnectionProperties> {\n /**\n * Private endpoint which the connection belongs to.\n */\n privateEndpoint?: ManagedInstancePrivateEndpointPropertyInput | undefined;\n /**\n * Connection State of the Private Endpoint Connection.\n */\n privateLinkServiceConnectionState?:\n ManagedInstancePrivateLinkServiceConnectionStatePropertyInput | undefined;\n}\n\n/**\n * View type for Properties of a private endpoint connection.\n */\nexport interface ManagedInstancePrivateEndpointConnectionPropertiesView extends InputOf<ManagedInstancePrivateEndpointConnectionProperties> {\n /**\n * Private endpoint which the connection belongs to.\n */\n privateEndpoint?: ManagedInstancePrivateEndpointPropertyView | undefined;\n /**\n * Connection State of the Private Endpoint Connection.\n */\n privateLinkServiceConnectionState?:\n ManagedInstancePrivateLinkServiceConnectionStatePropertyView | undefined;\n /**\n * Read-only output: State of the Private Endpoint Connection.\n */\n readonly provisioningState?: Expression<string> | undefined;\n}\n\nexport const managedInstancePrivateEndpointConnectionPropertiesShape: FlatModelShape =\n createFlatModelShape({\n privateEndpoint: {\n armPath: [\"privateEndpoint\"],\n value: createDeferredShape(() => managedInstancePrivateEndpointPropertyShape),\n },\n privateLinkServiceConnectionState: {\n armPath: [\"privateLinkServiceConnectionState\"],\n value: createDeferredShape(\n () => managedInstancePrivateLinkServiceConnectionStatePropertyShape,\n ),\n },\n provisioningState: {\n armPath: [\"provisioningState\"],\n value: createStringShape(),\n readOnly: true,\n },\n });\n\nexport interface ManagedInstancePrivateEndpointProperty {\n /**\n * Resource id of the private endpoint.\n */\n id?: string;\n}\n\nexport interface ManagedInstancePrivateEndpointPropertyInput extends InputOf<ManagedInstancePrivateEndpointProperty> {\n /**\n * Resource id of the private endpoint.\n */\n id?: ExpressionOrValue<string> | undefined;\n}\n\nexport type ManagedInstancePrivateEndpointPropertyView =\n ManagedInstancePrivateEndpointPropertyInput;\n\nexport const managedInstancePrivateEndpointPropertyShape: FlatModelShape = createFlatModelShape({\n id: { armPath: [\"id\"], value: createStringShape() },\n});\n\n/**\n * Properties of a private link resource.\n */\nexport interface ManagedInstancePrivateLinkProperties {\n /**\n * The private link resource group id.\n */\n groupId?: string;\n /**\n * The private link resource required member names.\n */\n requiredMembers?: string[];\n /**\n * The private link resource required zone names.\n */\n requiredZoneNames?: string[];\n}\n\n/**\n * Input type for Properties of a private link resource.\n */\nexport interface ManagedInstancePrivateLinkPropertiesInput extends InputOf<ManagedInstancePrivateLinkProperties> {}\n\n/**\n * View type for Properties of a private link resource.\n */\nexport interface ManagedInstancePrivateLinkPropertiesView extends InputOf<ManagedInstancePrivateLinkProperties> {\n /**\n * Read-only output: The private link resource group id.\n */\n readonly groupId?: Expression<string> | undefined;\n /**\n * Read-only output: The private link resource required member names.\n */\n readonly requiredMembers?: Expression<string[]> | undefined;\n /**\n * Read-only output: The private link resource required zone names.\n */\n readonly requiredZoneNames?: Expression<string[]> | undefined;\n}\n\nexport const managedInstancePrivateLinkPropertiesShape: FlatModelShape = createFlatModelShape({\n groupId: { armPath: [\"groupId\"], value: createStringShape(), readOnly: true },\n requiredMembers: {\n armPath: [\"requiredMembers\"],\n value: createArrayShape(createStringShape()),\n readOnly: true,\n },\n requiredZoneNames: {\n armPath: [\"requiredZoneNames\"],\n value: createArrayShape(createStringShape()),\n readOnly: true,\n },\n});\n\nexport interface ManagedInstancePrivateLinkServiceConnectionStateProperty {\n /**\n * The private link service connection description.\n */\n actionsRequired?: string;\n /**\n * The private link service connection description.\n */\n description: string;\n /**\n * The private link service connection status.\n */\n status: string;\n}\n\nexport interface ManagedInstancePrivateLinkServiceConnectionStatePropertyInput extends InputOf<ManagedInstancePrivateLinkServiceConnectionStateProperty> {\n /**\n * The private link service connection description.\n */\n description: ExpressionOrValue<string>;\n /**\n * The private link service connection status.\n */\n status: ExpressionOrValue<string>;\n}\n\nexport interface ManagedInstancePrivateLinkServiceConnectionStatePropertyView extends InputOf<ManagedInstancePrivateLinkServiceConnectionStateProperty> {\n /**\n * Read-only output: The private link service connection description.\n */\n readonly actionsRequired?: Expression<string> | undefined;\n /**\n * The private link service connection description.\n */\n description: ExpressionOrValue<string>;\n /**\n * The private link service connection status.\n */\n status: ExpressionOrValue<string>;\n}\n\nexport const managedInstancePrivateLinkServiceConnectionStatePropertyShape: FlatModelShape =\n createFlatModelShape({\n actionsRequired: { armPath: [\"actionsRequired\"], value: createStringShape(), readOnly: true },\n description: { armPath: [\"description\"], value: createStringShape() },\n status: { armPath: [\"status\"], value: createStringShape() },\n });\n\n/**\n * The properties of a managed instance.\n */\nexport interface ManagedInstanceProperties {\n /**\n * Administrator username for the managed instance. Can only be specified when the managed instance is being created (and is required for creation).\n */\n administratorLogin?: string;\n /**\n * The administrator login password (required for managed instance creation).\n */\n administratorLoginPassword?: string;\n /**\n * The Azure Active Directory administrator can be utilized during instance creation and for instance updates, except for the azureADOnlyAuthentication property. To update the azureADOnlyAuthentication property, individual API must be used.\n */\n administrators?: ManagedInstanceExternalAdministrator;\n /**\n * The managed instance's authentication metadata lookup mode.\n */\n authenticationMetadata?: AuthMetadataLookupModes;\n /**\n * Collation of the managed instance.\n */\n collation?: string;\n /**\n * Specifies the point in time (ISO8601 format) of the Managed Instance creation.\n */\n createTime?: Date;\n /**\n * The storage account type used to store backups for this instance. The options are Local (LocallyRedundantStorage), Zone (ZoneRedundantStorage), Geo (GeoRedundantStorage) and GeoZone(GeoZoneRedundantStorage)\n */\n currentBackupStorageRedundancy?: BackupStorageRedundancy;\n /**\n * Specifies the internal format of instance databases specific to the SQL engine version.\n */\n databaseFormat?: ManagedInstanceDatabaseFormat;\n /**\n * The Dns Zone that the managed instance is in.\n */\n dnsZone?: string;\n /**\n * The resource id of another managed instance whose DNS zone this managed instance will share after creation.\n */\n dnsZonePartner?: string;\n /**\n * Status of external governance.\n */\n externalGovernanceStatus?: ExternalGovernanceStatus;\n /**\n * The fully qualified domain name of the managed instance.\n */\n fullyQualifiedDomainName?: string;\n /**\n * Hybrid secondary usage. Possible values are 'Active' (default value) and 'Passive' (customer uses the secondary as Passive DR).\n */\n hybridSecondaryUsage?: HybridSecondaryUsage;\n /**\n * Hybrid secondary usage detected. Possible values are 'Active' (customer does not meet the requirements to use the secondary as Passive DR) and 'Passive' (customer meets the requirements to use the secondary as Passive DR).\n */\n hybridSecondaryUsageDetected?: HybridSecondaryUsageDetected;\n /**\n * The Id of the instance pool this managed server belongs to.\n */\n instancePoolId?: string;\n /**\n * Whether or not this is a GPv2 variant of General Purpose edition.\n */\n isGeneralPurposeV2?: boolean;\n /**\n * A CMK URI of the key to use for encryption.\n */\n keyId?: string;\n /**\n * The license type. Possible values are 'LicenseIncluded' (regular price inclusive of a new SQL license) and 'BasePrice' (discounted AHB price for bringing your own SQL licenses).\n */\n licenseType?: ManagedInstanceLicenseType;\n /**\n * Specifies maintenance configuration id to apply to this managed instance.\n */\n maintenanceConfigurationId?: string;\n /**\n * Specifies the mode of database creation.\n *\n * Default: Regular instance creation.\n *\n * Restore: Creates an instance by restoring a set of backups to specific point in time. RestorePointInTime and SourceManagedInstanceId must be specified.\n */\n managedInstanceCreateMode?: ManagedServerCreateMode;\n /**\n * Memory size in GB. Minimum value: 28. Maximum value: 870. Minimum and maximum value depend on the number of vCores and service tier. Read more about resource limits: https://aka.ms/mi-resource-limits-api.\n */\n memorySizeInGb?: number;\n /**\n * Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2'\n */\n minimalTlsVersion?: string;\n /**\n * Pricing model of Managed Instance.\n */\n pricingModel?: PricingModel;\n /**\n * The resource id of a user assigned identity to be used by default.\n */\n primaryUserAssignedIdentityId?: string;\n /**\n * List of private endpoint connections on a managed instance.\n */\n privateEndpointConnections?: ManagedInstancePecProperty[];\n /**\n * Provisioning state of managed instance.\n */\n provisioningState?: ProvisioningState;\n /**\n * Connection type used for connecting to the instance.\n */\n proxyOverride?: ManagedInstanceProxyOverride;\n /**\n * Whether or not the public data endpoint is enabled.\n */\n publicDataEndpointEnabled?: boolean;\n /**\n * The storage account type to be used to store backups for this instance. The options are Local (LocallyRedundantStorage), Zone (ZoneRedundantStorage), Geo (GeoRedundantStorage) and GeoZone(GeoZoneRedundantStorage)\n */\n requestedBackupStorageRedundancy?: BackupStorageRedundancy;\n /**\n * Specifies the logical availability zone Managed Instance is pinned to.\n */\n requestedLogicalAvailabilityZone?: AvailabilityZoneType;\n /**\n * Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.\n */\n restorePointInTime?: Date;\n /**\n * The managed instance's service principal.\n */\n servicePrincipal?: ServicePrincipal;\n /**\n * The resource identifier of the source managed instance associated with create operation of this instance.\n */\n sourceManagedInstanceId?: string;\n /**\n * The state of the managed instance.\n */\n state?: string;\n /**\n * Storage IOps. Minimum value: 300. Maximum value: 80000. Increments of 1 IOps allowed only. Maximum value depends on the selected hardware family and number of vCores.\n */\n storageIOps?: number;\n /**\n * Storage size in GB. Minimum value: 32. Maximum value: 32768. Increments of 32 GB allowed only. Maximum value depends on the selected hardware family and number of vCores.\n */\n storageSizeInGb?: number;\n /**\n * Storage throughput MBps parameter is not supported in the instance create/update operation.\n */\n storageThroughputMBps?: number;\n /**\n * Subnet resource ID for the managed instance.\n */\n subnetId?: string;\n /**\n * Id of the timezone. Allowed values are timezones supported by Windows.\n * Windows keeps details on supported timezones, including the id, in registry under\n * KEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones.\n * You can get those registry values via SQL Server by querying SELECT name AS timezone_id FROM sys.time_zone_info.\n * List of Ids can also be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell.\n * An example of valid timezone id is \"Pacific Standard Time\" or \"W. Europe Standard Time\".\n */\n timezoneId?: string;\n /**\n * The number of vCores. Allowed values: 4, 6, 8, 10, 12, 16, 20, 24, 32, 40, 48, 56, 64, 80, 96, 128. Supported vCores depends on the selected hardware family and service tier.\n */\n vCores?: number;\n /**\n * Virtual cluster resource id for the Managed Instance.\n */\n virtualClusterId?: string;\n /**\n * Whether or not the zone-redundancy is enabled.\n */\n zoneRedundant?: boolean;\n}\n\n/**\n * Input type for The properties of a managed instance.\n */\nexport interface ManagedInstancePropertiesInput extends InputOf<ManagedInstanceProperties> {\n /**\n * Administrator username for the managed instance. Can only be specified when the managed instance is being created (and is required for creation).\n */\n administratorLogin?: ExpressionOrValue<string> | undefined;\n /**\n * The administrator login password (required for managed instance creation).\n */\n administratorLoginPassword?: ExpressionOrValue<string> | undefined;\n /**\n * The Azure Active Directory administrator can be utilized during instance creation and for instance updates, except for the azureADOnlyAuthentication property. To update the azureADOnlyAuthentication property, individual API must be used.\n */\n administrators?: ManagedInstanceExternalAdministratorInput | undefined;\n /**\n * The managed instance's authentication metadata lookup mode.\n */\n authenticationMetadata?: ExpressionOrValue<AuthMetadataLookupModes> | undefined;\n /**\n * Collation of the managed instance.\n */\n collation?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the internal format of instance databases specific to the SQL engine version.\n */\n databaseFormat?: ExpressionOrValue<ManagedInstanceDatabaseFormat> | undefined;\n /**\n * The resource id of another managed instance whose DNS zone this managed instance will share after creation.\n */\n dnsZonePartner?: ExpressionOrValue<string> | undefined;\n /**\n * Hybrid secondary usage. Possible values are 'Active' (default value) and 'Passive' (customer uses the secondary as Passive DR).\n */\n hybridSecondaryUsage?: ExpressionOrValue<HybridSecondaryUsage> | undefined;\n /**\n * The Id of the instance pool this managed server belongs to.\n */\n instancePoolId?: ExpressionOrValue<string> | undefined;\n /**\n * Whether or not this is a GPv2 variant of General Purpose edition.\n */\n isGeneralPurposeV2?: ExpressionOrValue<boolean> | undefined;\n /**\n * A CMK URI of the key to use for encryption.\n */\n keyId?: ExpressionOrValue<string> | undefined;\n /**\n * The license type. Possible values are 'LicenseIncluded' (regular price inclusive of a new SQL license) and 'BasePrice' (discounted AHB price for bringing your own SQL licenses).\n */\n licenseType?: ExpressionOrValue<ManagedInstanceLicenseType> | undefined;\n /**\n * Specifies maintenance configuration id to apply to this managed instance.\n */\n maintenanceConfigurationId?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the mode of database creation.\n *\n * Default: Regular instance creation.\n *\n * Restore: Creates an instance by restoring a set of backups to specific point in time. RestorePointInTime and SourceManagedInstanceId must be specified.\n */\n managedInstanceCreateMode?: ExpressionOrValue<ManagedServerCreateMode> | undefined;\n /**\n * Memory size in GB. Minimum value: 28. Maximum value: 870. Minimum and maximum value depend on the number of vCores and service tier. Read more about resource limits: https://aka.ms/mi-resource-limits-api.\n */\n memorySizeInGb?: ExpressionOrValue<number> | undefined;\n /**\n * Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2'\n */\n minimalTlsVersion?: ExpressionOrValue<string> | undefined;\n /**\n * Pricing model of Managed Instance.\n */\n pricingModel?: ExpressionOrValue<PricingModel> | undefined;\n /**\n * The resource id of a user assigned identity to be used by default.\n */\n primaryUserAssignedIdentityId?: ExpressionOrValue<string> | undefined;\n /**\n * Connection type used for connecting to the instance.\n */\n proxyOverride?: ExpressionOrValue<ManagedInstanceProxyOverride> | undefined;\n /**\n * Whether or not the public data endpoint is enabled.\n */\n publicDataEndpointEnabled?: ExpressionOrValue<boolean> | undefined;\n /**\n * The storage account type to be used to store backups for this instance. The options are Local (LocallyRedundantStorage), Zone (ZoneRedundantStorage), Geo (GeoRedundantStorage) and GeoZone(GeoZoneRedundantStorage)\n */\n requestedBackupStorageRedundancy?: ExpressionOrValue<BackupStorageRedundancy> | undefined;\n /**\n * Specifies the logical availability zone Managed Instance is pinned to.\n */\n requestedLogicalAvailabilityZone?: ExpressionOrValue<AvailabilityZoneType> | undefined;\n /**\n * Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.\n */\n restorePointInTime?: ExpressionOrValue<Date> | undefined;\n /**\n * The managed instance's service principal.\n */\n servicePrincipal?: ServicePrincipalInput | undefined;\n /**\n * The resource identifier of the source managed instance associated with create operation of this instance.\n */\n sourceManagedInstanceId?: ExpressionOrValue<string> | undefined;\n /**\n * Storage IOps. Minimum value: 300. Maximum value: 80000. Increments of 1 IOps allowed only. Maximum value depends on the selected hardware family and number of vCores.\n */\n storageIOps?: ExpressionOrValue<number> | undefined;\n /**\n * Storage size in GB. Minimum value: 32. Maximum value: 32768. Increments of 32 GB allowed only. Maximum value depends on the selected hardware family and number of vCores.\n */\n storageSizeInGb?: ExpressionOrValue<number> | undefined;\n /**\n * Storage throughput MBps parameter is not supported in the instance create/update operation.\n */\n storageThroughputMBps?: ExpressionOrValue<number> | undefined;\n /**\n * Subnet resource ID for the managed instance.\n */\n subnetId?: ExpressionOrValue<string> | undefined;\n /**\n * Id of the timezone. Allowed values are timezones supported by Windows.\n * Windows keeps details on supported timezones, including the id, in registry under\n * KEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones.\n * You can get those registry values via SQL Server by querying SELECT name AS timezone_id FROM sys.time_zone_info.\n * List of Ids can also be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell.\n * An example of valid timezone id is \"Pacific Standard Time\" or \"W. Europe Standard Time\".\n */\n timezoneId?: ExpressionOrValue<string> | undefined;\n /**\n * The number of vCores. Allowed values: 4, 6, 8, 10, 12, 16, 20, 24, 32, 40, 48, 56, 64, 80, 96, 128. Supported vCores depends on the selected hardware family and service tier.\n */\n vCores?: ExpressionOrValue<number> | undefined;\n /**\n * Whether or not the zone-redundancy is enabled.\n */\n zoneRedundant?: ExpressionOrValue<boolean> | undefined;\n}\n\n/**\n * View type for The properties of a managed instance.\n */\nexport interface ManagedInstancePropertiesView extends InputOf<ManagedInstanceProperties> {\n /**\n * Administrator username for the managed instance. Can only be specified when the managed instance is being created (and is required for creation).\n */\n administratorLogin?: ExpressionOrValue<string> | undefined;\n /**\n * The administrator login password (required for managed instance creation).\n */\n administratorLoginPassword?: ExpressionOrValue<string> | undefined;\n /**\n * The Azure Active Directory administrator can be utilized during instance creation and for instance updates, except for the azureADOnlyAuthentication property. To update the azureADOnlyAuthentication property, individual API must be used.\n */\n administrators?: ManagedInstanceExternalAdministratorView | undefined;\n /**\n * The managed instance's authentication metadata lookup mode.\n */\n authenticationMetadata?: ExpressionOrValue<AuthMetadataLookupModes> | undefined;\n /**\n * Collation of the managed instance.\n */\n collation?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: Specifies the point in time (ISO8601 format) of the Managed Instance creation.\n */\n readonly createTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The storage account type used to store backups for this instance. The options are Local (LocallyRedundantStorage), Zone (ZoneRedundantStorage), Geo (GeoRedundantStorage) and GeoZone(GeoZoneRedundantStorage)\n */\n readonly currentBackupStorageRedundancy?: Expression<BackupStorageRedundancy> | undefined;\n /**\n * Specifies the internal format of instance databases specific to the SQL engine version.\n */\n databaseFormat?: ExpressionOrValue<ManagedInstanceDatabaseFormat> | undefined;\n /**\n * Read-only output: The Dns Zone that the managed instance is in.\n */\n readonly dnsZone?: Expression<string> | undefined;\n /**\n * The resource id of another managed instance whose DNS zone this managed instance will share after creation.\n */\n dnsZonePartner?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: Status of external governance.\n */\n readonly externalGovernanceStatus?: Expression<ExternalGovernanceStatus> | undefined;\n /**\n * Read-only output: The fully qualified domain name of the managed instance.\n */\n readonly fullyQualifiedDomainName?: Expression<string> | undefined;\n /**\n * Hybrid secondary usage. Possible values are 'Active' (default value) and 'Passive' (customer uses the secondary as Passive DR).\n */\n hybridSecondaryUsage?: ExpressionOrValue<HybridSecondaryUsage> | undefined;\n /**\n * Read-only output: Hybrid secondary usage detected. Possible values are 'Active' (customer does not meet the requirements to use the secondary as Passive DR) and 'Passive' (customer meets the requirements to use the secondary as Passive DR).\n */\n readonly hybridSecondaryUsageDetected?: Expression<HybridSecondaryUsageDetected> | undefined;\n /**\n * The Id of the instance pool this managed server belongs to.\n */\n instancePoolId?: ExpressionOrValue<string> | undefined;\n /**\n * Whether or not this is a GPv2 variant of General Purpose edition.\n */\n isGeneralPurposeV2?: ExpressionOrValue<boolean> | undefined;\n /**\n * A CMK URI of the key to use for encryption.\n */\n keyId?: ExpressionOrValue<string> | undefined;\n /**\n * The license type. Possible values are 'LicenseIncluded' (regular price inclusive of a new SQL license) and 'BasePrice' (discounted AHB price for bringing your own SQL licenses).\n */\n licenseType?: ExpressionOrValue<ManagedInstanceLicenseType> | undefined;\n /**\n * Specifies maintenance configuration id to apply to this managed instance.\n */\n maintenanceConfigurationId?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the mode of database creation.\n *\n * Default: Regular instance creation.\n *\n * Restore: Creates an instance by restoring a set of backups to specific point in time. RestorePointInTime and SourceManagedInstanceId must be specified.\n */\n managedInstanceCreateMode?: ExpressionOrValue<ManagedServerCreateMode> | undefined;\n /**\n * Memory size in GB. Minimum value: 28. Maximum value: 870. Minimum and maximum value depend on the number of vCores and service tier. Read more about resource limits: https://aka.ms/mi-resource-limits-api.\n */\n memorySizeInGb?: ExpressionOrValue<number> | undefined;\n /**\n * Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2'\n */\n minimalTlsVersion?: ExpressionOrValue<string> | undefined;\n /**\n * Pricing model of Managed Instance.\n */\n pricingModel?: ExpressionOrValue<PricingModel> | undefined;\n /**\n * The resource id of a user assigned identity to be used by default.\n */\n primaryUserAssignedIdentityId?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: List of private endpoint connections on a managed instance.\n */\n readonly privateEndpointConnections?: Expression<ManagedInstancePecProperty[]> | undefined;\n /**\n * Read-only output: Provisioning state of managed instance.\n */\n readonly provisioningState?: Expression<ProvisioningState> | undefined;\n /**\n * Connection type used for connecting to the instance.\n */\n proxyOverride?: ExpressionOrValue<ManagedInstanceProxyOverride> | undefined;\n /**\n * Whether or not the public data endpoint is enabled.\n */\n publicDataEndpointEnabled?: ExpressionOrValue<boolean> | undefined;\n /**\n * The storage account type to be used to store backups for this instance. The options are Local (LocallyRedundantStorage), Zone (ZoneRedundantStorage), Geo (GeoRedundantStorage) and GeoZone(GeoZoneRedundantStorage)\n */\n requestedBackupStorageRedundancy?: ExpressionOrValue<BackupStorageRedundancy> | undefined;\n /**\n * Specifies the logical availability zone Managed Instance is pinned to.\n */\n requestedLogicalAvailabilityZone?: ExpressionOrValue<AvailabilityZoneType> | undefined;\n /**\n * Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.\n */\n restorePointInTime?: ExpressionOrValue<Date> | undefined;\n /**\n * The managed instance's service principal.\n */\n servicePrincipal?: ServicePrincipalView | undefined;\n /**\n * The resource identifier of the source managed instance associated with create operation of this instance.\n */\n sourceManagedInstanceId?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: The state of the managed instance.\n */\n readonly state?: Expression<string> | undefined;\n /**\n * Storage IOps. Minimum value: 300. Maximum value: 80000. Increments of 1 IOps allowed only. Maximum value depends on the selected hardware family and number of vCores.\n */\n storageIOps?: ExpressionOrValue<number> | undefined;\n /**\n * Storage size in GB. Minimum value: 32. Maximum value: 32768. Increments of 32 GB allowed only. Maximum value depends on the selected hardware family and number of vCores.\n */\n storageSizeInGb?: ExpressionOrValue<number> | undefined;\n /**\n * Storage throughput MBps parameter is not supported in the instance create/update operation.\n */\n storageThroughputMBps?: ExpressionOrValue<number> | undefined;\n /**\n * Subnet resource ID for the managed instance.\n */\n subnetId?: ExpressionOrValue<string> | undefined;\n /**\n * Id of the timezone. Allowed values are timezones supported by Windows.\n * Windows keeps details on supported timezones, including the id, in registry under\n * KEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones.\n * You can get those registry values via SQL Server by querying SELECT name AS timezone_id FROM sys.time_zone_info.\n * List of Ids can also be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell.\n * An example of valid timezone id is \"Pacific Standard Time\" or \"W. Europe Standard Time\".\n */\n timezoneId?: ExpressionOrValue<string> | undefined;\n /**\n * The number of vCores. Allowed values: 4, 6, 8, 10, 12, 16, 20, 24, 32, 40, 48, 56, 64, 80, 96, 128. Supported vCores depends on the selected hardware family and service tier.\n */\n vCores?: ExpressionOrValue<number> | undefined;\n /**\n * Read-only output: Virtual cluster resource id for the Managed Instance.\n */\n readonly virtualClusterId?: Expression<string> | undefined;\n /**\n * Whether or not the zone-redundancy is enabled.\n */\n zoneRedundant?: ExpressionOrValue<boolean> | undefined;\n}\n\nexport const managedInstancePropertiesShape: FlatModelShape = createFlatModelShape({\n administratorLogin: { armPath: [\"administratorLogin\"], value: createStringShape() },\n administratorLoginPassword: {\n armPath: [\"administratorLoginPassword\"],\n value: createStringShape(),\n },\n administrators: {\n armPath: [\"administrators\"],\n value: createDeferredShape(() => managedInstanceExternalAdministratorShape),\n },\n authenticationMetadata: { armPath: [\"authenticationMetadata\"], value: createUnionShape() },\n collation: { armPath: [\"collation\"], value: createStringShape() },\n createTime: {\n armPath: [\"createTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n currentBackupStorageRedundancy: {\n armPath: [\"currentBackupStorageRedundancy\"],\n value: createUnionShape(),\n readOnly: true,\n },\n databaseFormat: { armPath: [\"databaseFormat\"], value: createUnionShape() },\n dnsZone: { armPath: [\"dnsZone\"], value: createStringShape(), readOnly: true },\n dnsZonePartner: { armPath: [\"dnsZonePartner\"], value: createStringShape() },\n externalGovernanceStatus: {\n armPath: [\"externalGovernanceStatus\"],\n value: createUnionShape(),\n readOnly: true,\n },\n fullyQualifiedDomainName: {\n armPath: [\"fullyQualifiedDomainName\"],\n value: createStringShape(),\n readOnly: true,\n },\n hybridSecondaryUsage: { armPath: [\"hybridSecondaryUsage\"], value: createUnionShape() },\n hybridSecondaryUsageDetected: {\n armPath: [\"hybridSecondaryUsageDetected\"],\n value: createUnionShape(),\n readOnly: true,\n },\n instancePoolId: { armPath: [\"instancePoolId\"], value: createStringShape() },\n isGeneralPurposeV2: { armPath: [\"isGeneralPurposeV2\"], value: createBooleanShape() },\n keyId: { armPath: [\"keyId\"], value: createStringShape() },\n licenseType: { armPath: [\"licenseType\"], value: createUnionShape() },\n maintenanceConfigurationId: {\n armPath: [\"maintenanceConfigurationId\"],\n value: createStringShape(),\n },\n managedInstanceCreateMode: { armPath: [\"managedInstanceCreateMode\"], value: createUnionShape() },\n memorySizeInGb: { armPath: [\"memorySizeInGB\"], value: createNumberShape() },\n minimalTlsVersion: { armPath: [\"minimalTlsVersion\"], value: createStringShape() },\n pricingModel: { armPath: [\"pricingModel\"], value: createUnionShape() },\n primaryUserAssignedIdentityId: {\n armPath: [\"primaryUserAssignedIdentityId\"],\n value: createStringShape(),\n },\n privateEndpointConnections: {\n armPath: [\"privateEndpointConnections\"],\n value: createArrayShape(createDeferredShape(() => managedInstancePecPropertyShape)),\n readOnly: true,\n },\n provisioningState: { armPath: [\"provisioningState\"], value: createUnionShape(), readOnly: true },\n proxyOverride: { armPath: [\"proxyOverride\"], value: createUnionShape() },\n publicDataEndpointEnabled: {\n armPath: [\"publicDataEndpointEnabled\"],\n value: createBooleanShape(),\n },\n requestedBackupStorageRedundancy: {\n armPath: [\"requestedBackupStorageRedundancy\"],\n value: createUnionShape(),\n },\n requestedLogicalAvailabilityZone: {\n armPath: [\"requestedLogicalAvailabilityZone\"],\n value: createUnionShape(),\n },\n restorePointInTime: {\n armPath: [\"restorePointInTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n },\n servicePrincipal: {\n armPath: [\"servicePrincipal\"],\n value: createDeferredShape(() => servicePrincipalShape),\n },\n sourceManagedInstanceId: { armPath: [\"sourceManagedInstanceId\"], value: createStringShape() },\n state: { armPath: [\"state\"], value: createStringShape(), readOnly: true },\n storageIOps: { armPath: [\"storageIOps\"], value: createNumberShape() },\n storageSizeInGb: { armPath: [\"storageSizeInGB\"], value: createNumberShape() },\n storageThroughputMBps: { armPath: [\"storageThroughputMBps\"], value: createNumberShape() },\n subnetId: { armPath: [\"subnetId\"], value: createStringShape() },\n timezoneId: { armPath: [\"timezoneId\"], value: createStringShape() },\n vCores: { armPath: [\"vCores\"], value: createNumberShape() },\n virtualClusterId: { armPath: [\"virtualClusterId\"], value: createStringShape(), readOnly: true },\n zoneRedundant: { armPath: [\"zoneRedundant\"], value: createBooleanShape() },\n});\n\n/**\n * Properties of a managed instance vulnerability assessment.\n */\nexport interface ManagedInstanceVulnerabilityAssessmentProperties {\n /**\n * The recurring scans settings\n */\n recurringScans?: VulnerabilityAssessmentRecurringScansProperties;\n /**\n * Specifies the identifier key of the storage account for vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. Applies only if the storage account is not behind a Vnet or a firewall\n */\n storageAccountAccessKey?: string;\n /**\n * A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/).\n */\n storageContainerPath: string;\n /**\n * A shared access signature (SAS Key) that has write access to the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. Applies only if the storage account is not behind a Vnet or a firewall\n */\n storageContainerSasKey?: string;\n}\n\n/**\n * Input type for Properties of a managed instance vulnerability assessment.\n */\nexport interface ManagedInstanceVulnerabilityAssessmentPropertiesInput extends InputOf<ManagedInstanceVulnerabilityAssessmentProperties> {\n /**\n * The recurring scans settings\n */\n recurringScans?: VulnerabilityAssessmentRecurringScansPropertiesInput | undefined;\n /**\n * Specifies the identifier key of the storage account for vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. Applies only if the storage account is not behind a Vnet or a firewall\n */\n storageAccountAccessKey?: ExpressionOrValue<string> | undefined;\n /**\n * A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/).\n */\n storageContainerPath: ExpressionOrValue<string>;\n /**\n * A shared access signature (SAS Key) that has write access to the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. Applies only if the storage account is not behind a Vnet or a firewall\n */\n storageContainerSasKey?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties of a managed instance vulnerability assessment.\n */\nexport type ManagedInstanceVulnerabilityAssessmentPropertiesView =\n ManagedInstanceVulnerabilityAssessmentPropertiesInput;\n\nexport const managedInstanceVulnerabilityAssessmentPropertiesShape: FlatModelShape =\n createFlatModelShape({\n recurringScans: {\n armPath: [\"recurringScans\"],\n value: createDeferredShape(() => vulnerabilityAssessmentRecurringScansPropertiesShape),\n },\n storageAccountAccessKey: { armPath: [\"storageAccountAccessKey\"], value: createStringShape() },\n storageContainerPath: { armPath: [\"storageContainerPath\"], value: createStringShape() },\n storageContainerSasKey: { armPath: [\"storageContainerSasKey\"], value: createStringShape() },\n });\n\n/**\n * The properties of a database ledger digest upload settings.\n */\nexport interface ManagedLedgerDigestUploadsProperties {\n /**\n * The digest storage endpoint, which must be either an Azure blob storage endpoint or an URI for Azure Confidential Ledger.\n */\n digestStorageEndpoint?: string;\n /**\n * Specifies the state of ledger digest upload.\n */\n state?: ManagedLedgerDigestUploadsState;\n}\n\n/**\n * Input type for The properties of a database ledger digest upload settings.\n */\nexport interface ManagedLedgerDigestUploadsPropertiesInput extends InputOf<ManagedLedgerDigestUploadsProperties> {\n /**\n * The digest storage endpoint, which must be either an Azure blob storage endpoint or an URI for Azure Confidential Ledger.\n */\n digestStorageEndpoint?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for The properties of a database ledger digest upload settings.\n */\nexport interface ManagedLedgerDigestUploadsPropertiesView extends InputOf<ManagedLedgerDigestUploadsProperties> {\n /**\n * The digest storage endpoint, which must be either an Azure blob storage endpoint or an URI for Azure Confidential Ledger.\n */\n digestStorageEndpoint?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: Specifies the state of ledger digest upload.\n */\n readonly state?: Expression<ManagedLedgerDigestUploadsState> | undefined;\n}\n\nexport const managedLedgerDigestUploadsPropertiesShape: FlatModelShape = createFlatModelShape({\n digestStorageEndpoint: { armPath: [\"digestStorageEndpoint\"], value: createStringShape() },\n state: { armPath: [\"state\"], value: createUnionShape(), readOnly: true },\n});\n\n/**\n * Properties of a managed server DNS alias.\n */\nexport interface ManagedServerDnsAliasProperties {\n /**\n * The fully qualified DNS record for managed server alias\n */\n azureDnsRecord?: string;\n /**\n * The fully qualified public DNS record for managed server alias\n */\n publicAzureDnsRecord?: string;\n}\n\n/**\n * Input type for Properties of a managed server DNS alias.\n */\nexport interface ManagedServerDnsAliasPropertiesInput extends InputOf<ManagedServerDnsAliasProperties> {}\n\n/**\n * View type for Properties of a managed server DNS alias.\n */\nexport interface ManagedServerDnsAliasPropertiesView extends InputOf<ManagedServerDnsAliasProperties> {\n /**\n * Read-only output: The fully qualified DNS record for managed server alias\n */\n readonly azureDnsRecord?: Expression<string> | undefined;\n /**\n * Read-only output: The fully qualified public DNS record for managed server alias\n */\n readonly publicAzureDnsRecord?: Expression<string> | undefined;\n}\n\nexport const managedServerDnsAliasPropertiesShape: FlatModelShape = createFlatModelShape({\n azureDnsRecord: { armPath: [\"azureDnsRecord\"], value: createStringShape(), readOnly: true },\n publicAzureDnsRecord: {\n armPath: [\"publicAzureDnsRecord\"],\n value: createStringShape(),\n readOnly: true,\n },\n});\n\n/**\n * Properties of a transparent data encryption.\n */\nexport interface ManagedTransparentDataEncryptionProperties {\n /**\n * Specifies the state of the transparent data encryption.\n */\n state: TransparentDataEncryptionState;\n}\n\n/**\n * Input type for Properties of a transparent data encryption.\n */\nexport interface ManagedTransparentDataEncryptionPropertiesInput extends InputOf<ManagedTransparentDataEncryptionProperties> {\n /**\n * Specifies the state of the transparent data encryption.\n */\n state: ExpressionOrValue<TransparentDataEncryptionState>;\n}\n\n/**\n * View type for Properties of a transparent data encryption.\n */\nexport type ManagedTransparentDataEncryptionPropertiesView =\n ManagedTransparentDataEncryptionPropertiesInput;\n\nexport const managedTransparentDataEncryptionPropertiesShape: FlatModelShape = createFlatModelShape(\n {\n state: { armPath: [\"state\"], value: createEnumShape() },\n },\n);\n\n/**\n * Contains the ARM resources for which to create private endpoint connection.\n */\nexport interface NetworkIsolationSettings {\n /**\n * 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.\n */\n sqlServerResourceId?: string;\n /**\n * 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.\n */\n storageAccountResourceId?: string;\n}\n\n/**\n * Input type for Contains the ARM resources for which to create private endpoint connection.\n */\nexport interface NetworkIsolationSettingsInput extends InputOf<NetworkIsolationSettings> {\n /**\n * 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.\n */\n sqlServerResourceId?: ExpressionOrValue<string> | undefined;\n /**\n * 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.\n */\n storageAccountResourceId?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Contains the ARM resources for which to create private endpoint connection.\n */\nexport type NetworkIsolationSettingsView = NetworkIsolationSettingsInput;\n\nexport const networkIsolationSettingsShape: FlatModelShape = createFlatModelShape({\n sqlServerResourceId: { armPath: [\"sqlServerResourceId\"], value: createStringShape() },\n storageAccountResourceId: { armPath: [\"storageAccountResourceId\"], value: createStringShape() },\n});\n\n/**\n * The properties of an NSP config.\n */\nexport interface NetworkSecurityPerimeterConfigurationProperties {\n networkSecurityPerimeter?: NspConfigPerimeter;\n profile?: NspConfigProfile;\n provisioningIssues?: NspProvisioningIssue[];\n provisioningState?: string;\n resourceAssociation?: NspConfigAssociation;\n}\n\n/**\n * Input type for The properties of an NSP config.\n */\nexport interface NetworkSecurityPerimeterConfigurationPropertiesInput extends InputOf<NetworkSecurityPerimeterConfigurationProperties> {}\n\n/**\n * View type for The properties of an NSP config.\n */\nexport interface NetworkSecurityPerimeterConfigurationPropertiesView extends InputOf<NetworkSecurityPerimeterConfigurationProperties> {\n readonly networkSecurityPerimeter?: Expression<NspConfigPerimeter> | undefined;\n readonly profile?: Expression<NspConfigProfile> | undefined;\n readonly provisioningIssues?: Expression<NspProvisioningIssue[]> | undefined;\n readonly provisioningState?: Expression<string> | undefined;\n readonly resourceAssociation?: Expression<NspConfigAssociation> | undefined;\n}\n\nexport const networkSecurityPerimeterConfigurationPropertiesShape: FlatModelShape =\n createFlatModelShape({\n networkSecurityPerimeter: {\n armPath: [\"networkSecurityPerimeter\"],\n value: createDeferredShape(() => nspConfigPerimeterShape),\n readOnly: true,\n },\n profile: {\n armPath: [\"profile\"],\n value: createDeferredShape(() => nspConfigProfileShape),\n readOnly: true,\n },\n provisioningIssues: {\n armPath: [\"provisioningIssues\"],\n value: createArrayShape(createDeferredShape(() => nspProvisioningIssueShape)),\n readOnly: true,\n },\n provisioningState: {\n armPath: [\"provisioningState\"],\n value: createStringShape(),\n readOnly: true,\n },\n resourceAssociation: {\n armPath: [\"resourceAssociation\"],\n value: createDeferredShape(() => nspConfigAssociationShape),\n readOnly: true,\n },\n });\n\nexport interface NspConfigAccessRule {\n name?: string;\n properties?: NspConfigAccessRuleProperties;\n}\n\nexport interface NspConfigAccessRuleInput extends InputOf<NspConfigAccessRule> {}\n\nexport interface NspConfigAccessRuleView extends InputOf<NspConfigAccessRule> {\n readonly name?: Expression<string> | undefined;\n readonly properties?: Expression<NspConfigAccessRuleProperties> | undefined;\n}\n\nexport const nspConfigAccessRuleShape: FlatModelShape = createFlatModelShape({\n name: { armPath: [\"name\"], value: createStringShape(), readOnly: true },\n properties: {\n armPath: [\"properties\"],\n value: createDeferredShape(() => nspConfigAccessRulePropertiesShape),\n readOnly: true,\n },\n});\n\nexport interface NspConfigAccessRuleProperties {\n addressPrefixes?: string[];\n direction?: string;\n fullyQualifiedDomainNames?: string[];\n networkSecurityPerimeters?: NspConfigNetworkSecurityPerimeterRule[];\n serviceTags?: string[];\n subscriptions?: string[];\n}\n\nexport interface NspConfigAccessRulePropertiesInput extends InputOf<NspConfigAccessRuleProperties> {}\n\nexport interface NspConfigAccessRulePropertiesView extends InputOf<NspConfigAccessRuleProperties> {\n readonly addressPrefixes?: Expression<string[]> | undefined;\n readonly direction?: Expression<string> | undefined;\n readonly fullyQualifiedDomainNames?: Expression<string[]> | undefined;\n readonly networkSecurityPerimeters?:\n Expression<NspConfigNetworkSecurityPerimeterRule[]> | undefined;\n readonly serviceTags?: Expression<string[]> | undefined;\n readonly subscriptions?: Expression<string[]> | undefined;\n}\n\nexport const nspConfigAccessRulePropertiesShape: FlatModelShape = createFlatModelShape({\n addressPrefixes: {\n armPath: [\"addressPrefixes\"],\n value: createArrayShape(createStringShape()),\n readOnly: true,\n },\n direction: { armPath: [\"direction\"], value: createStringShape(), readOnly: true },\n fullyQualifiedDomainNames: {\n armPath: [\"fullyQualifiedDomainNames\"],\n value: createArrayShape(createStringShape()),\n readOnly: true,\n },\n networkSecurityPerimeters: {\n armPath: [\"networkSecurityPerimeters\"],\n value: createArrayShape(createDeferredShape(() => nspConfigNetworkSecurityPerimeterRuleShape)),\n readOnly: true,\n },\n serviceTags: {\n armPath: [\"serviceTags\"],\n value: createArrayShape(createStringShape()),\n readOnly: true,\n },\n subscriptions: {\n armPath: [\"subscriptions\"],\n value: createArrayShape(createStringShape()),\n readOnly: true,\n },\n});\n\nexport interface NspConfigAssociation {\n accessMode?: string;\n name?: string;\n}\n\nexport interface NspConfigAssociationInput extends InputOf<NspConfigAssociation> {}\n\nexport interface NspConfigAssociationView extends InputOf<NspConfigAssociation> {\n readonly accessMode?: Expression<string> | undefined;\n readonly name?: Expression<string> | undefined;\n}\n\nexport const nspConfigAssociationShape: FlatModelShape = createFlatModelShape({\n accessMode: { armPath: [\"accessMode\"], value: createStringShape(), readOnly: true },\n name: { armPath: [\"name\"], value: createStringShape(), readOnly: true },\n});\n\nexport interface NspConfigNetworkSecurityPerimeterRule {\n id?: string;\n location?: string;\n perimeterGuid?: string;\n}\n\nexport interface NspConfigNetworkSecurityPerimeterRuleInput extends InputOf<NspConfigNetworkSecurityPerimeterRule> {}\n\nexport interface NspConfigNetworkSecurityPerimeterRuleView extends InputOf<NspConfigNetworkSecurityPerimeterRule> {\n readonly id?: Expression<string> | undefined;\n readonly location?: Expression<string> | undefined;\n readonly perimeterGuid?: Expression<string> | undefined;\n}\n\nexport const nspConfigNetworkSecurityPerimeterRuleShape: FlatModelShape = createFlatModelShape({\n id: { armPath: [\"id\"], value: createStringShape(), readOnly: true },\n location: { armPath: [\"location\"], value: createStringShape(), readOnly: true },\n perimeterGuid: { armPath: [\"perimeterGuid\"], value: createStringShape(), readOnly: true },\n});\n\nexport interface NspConfigPerimeter {\n id?: string;\n location?: string;\n perimeterGuid?: string;\n}\n\nexport interface NspConfigPerimeterInput extends InputOf<NspConfigPerimeter> {}\n\nexport interface NspConfigPerimeterView extends InputOf<NspConfigPerimeter> {\n readonly id?: Expression<string> | undefined;\n readonly location?: Expression<string> | undefined;\n readonly perimeterGuid?: Expression<string> | undefined;\n}\n\nexport const nspConfigPerimeterShape: FlatModelShape = createFlatModelShape({\n id: { armPath: [\"id\"], value: createStringShape(), readOnly: true },\n location: { armPath: [\"location\"], value: createStringShape(), readOnly: true },\n perimeterGuid: { armPath: [\"perimeterGuid\"], value: createStringShape(), readOnly: true },\n});\n\nexport interface NspConfigProfile {\n accessRules?: NspConfigAccessRule[];\n accessRulesVersion?: string;\n name?: string;\n}\n\nexport interface NspConfigProfileInput extends InputOf<NspConfigProfile> {}\n\nexport interface NspConfigProfileView extends InputOf<NspConfigProfile> {\n readonly accessRules?: Expression<NspConfigAccessRule[]> | undefined;\n readonly accessRulesVersion?: Expression<string> | undefined;\n readonly name?: Expression<string> | undefined;\n}\n\nexport const nspConfigProfileShape: FlatModelShape = createFlatModelShape({\n accessRules: {\n armPath: [\"accessRules\"],\n value: createArrayShape(createDeferredShape(() => nspConfigAccessRuleShape)),\n readOnly: true,\n },\n accessRulesVersion: {\n armPath: [\"accessRulesVersion\"],\n value: createStringShape(),\n readOnly: true,\n },\n name: { armPath: [\"name\"], value: createStringShape(), readOnly: true },\n});\n\nexport interface NspProvisioningIssue {\n name?: string;\n properties?: NspProvisioningIssueProperties;\n}\n\nexport interface NspProvisioningIssueInput extends InputOf<NspProvisioningIssue> {}\n\nexport interface NspProvisioningIssueView extends InputOf<NspProvisioningIssue> {\n readonly name?: Expression<string> | undefined;\n readonly properties?: Expression<NspProvisioningIssueProperties> | undefined;\n}\n\nexport const nspProvisioningIssueShape: FlatModelShape = createFlatModelShape({\n name: { armPath: [\"name\"], value: createStringShape(), readOnly: true },\n properties: {\n armPath: [\"properties\"],\n value: createDeferredShape(() => nspProvisioningIssuePropertiesShape),\n readOnly: true,\n },\n});\n\nexport interface NspProvisioningIssueProperties {\n description?: string;\n issueType?: string;\n severity?: string;\n suggestedAccessRules?: string[];\n suggestedResourceIds?: string[];\n}\n\nexport interface NspProvisioningIssuePropertiesInput extends InputOf<NspProvisioningIssueProperties> {}\n\nexport interface NspProvisioningIssuePropertiesView extends InputOf<NspProvisioningIssueProperties> {\n readonly description?: Expression<string> | undefined;\n readonly issueType?: Expression<string> | undefined;\n readonly severity?: Expression<string> | undefined;\n readonly suggestedAccessRules?: Expression<string[]> | undefined;\n readonly suggestedResourceIds?: Expression<string[]> | undefined;\n}\n\nexport const nspProvisioningIssuePropertiesShape: FlatModelShape = createFlatModelShape({\n description: { armPath: [\"description\"], value: createStringShape(), readOnly: true },\n issueType: { armPath: [\"issueType\"], value: createStringShape(), readOnly: true },\n severity: { armPath: [\"severity\"], value: createStringShape(), readOnly: true },\n suggestedAccessRules: {\n armPath: [\"suggestedAccessRules\"],\n value: createArrayShape(createStringShape()),\n readOnly: true,\n },\n suggestedResourceIds: {\n armPath: [\"suggestedResourceIds\"],\n value: createArrayShape(createStringShape()),\n readOnly: true,\n },\n});\n\n/**\n * The properties of an outbound firewall rule.\n */\nexport interface OutboundFirewallRuleProperties {\n /**\n * The state of the outbound rule.\n */\n provisioningState?: string;\n}\n\n/**\n * Input type for The properties of an outbound firewall rule.\n */\nexport interface OutboundFirewallRulePropertiesInput extends InputOf<OutboundFirewallRuleProperties> {}\n\n/**\n * View type for The properties of an outbound firewall rule.\n */\nexport interface OutboundFirewallRulePropertiesView extends InputOf<OutboundFirewallRuleProperties> {\n /**\n * Read-only output: The state of the outbound rule.\n */\n readonly provisioningState?: Expression<string> | undefined;\n}\n\nexport const outboundFirewallRulePropertiesShape: FlatModelShape = createFlatModelShape({\n provisioningState: { armPath: [\"provisioningState\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * Partner server information for the failover group.\n */\nexport interface PartnerInfo {\n /**\n * Resource identifier of the partner server.\n */\n id: string;\n /**\n * Geo location of the partner server.\n */\n location?: string;\n /**\n * Replication role of the partner server.\n */\n replicationRole?: FailoverGroupReplicationRole;\n}\n\n/**\n * Input type for Partner server information for the failover group.\n */\nexport interface PartnerInfoInput extends InputOf<PartnerInfo> {\n /**\n * Resource identifier of the partner server.\n */\n id: ExpressionOrValue<string>;\n}\n\n/**\n * View type for Partner server information for the failover group.\n */\nexport interface PartnerInfoView extends InputOf<PartnerInfo> {\n /**\n * Resource identifier of the partner server.\n */\n id: ExpressionOrValue<string>;\n /**\n * Read-only output: Geo location of the partner server.\n */\n readonly location?: Expression<string> | undefined;\n /**\n * Read-only output: Replication role of the partner server.\n */\n readonly replicationRole?: Expression<FailoverGroupReplicationRole> | undefined;\n}\n\nexport const partnerInfoShape: FlatModelShape = createFlatModelShape({\n id: { armPath: [\"id\"], value: createStringShape() },\n location: { armPath: [\"location\"], value: createStringShape(), readOnly: true },\n replicationRole: { armPath: [\"replicationRole\"], value: createUnionShape(), readOnly: true },\n});\n\n/**\n * Partner region information for the failover group.\n */\nexport interface PartnerRegionInfo {\n /**\n * Geo location of the partner managed instances.\n */\n location?: string;\n /**\n * Replication role of the partner managed instances.\n */\n replicationRole?: InstanceFailoverGroupReplicationRole;\n}\n\n/**\n * Input type for Partner region information for the failover group.\n */\nexport interface PartnerRegionInfoInput extends InputOf<PartnerRegionInfo> {\n /**\n * Geo location of the partner managed instances.\n */\n location?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Partner region information for the failover group.\n */\nexport interface PartnerRegionInfoView extends InputOf<PartnerRegionInfo> {\n /**\n * Geo location of the partner managed instances.\n */\n location?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: Replication role of the partner managed instances.\n */\n readonly replicationRole?: Expression<InstanceFailoverGroupReplicationRole> | undefined;\n}\n\nexport const partnerRegionInfoShape: FlatModelShape = createFlatModelShape({\n location: { armPath: [\"location\"], value: createStringShape() },\n replicationRole: { armPath: [\"replicationRole\"], value: createUnionShape(), readOnly: true },\n});\n\n/**\n * Properties of a private endpoint connection.\n */\nexport interface PrivateEndpointConnectionProperties {\n /**\n * Group IDs.\n */\n groupIds?: string[];\n /**\n * Private endpoint which the connection belongs to.\n */\n privateEndpoint?: PrivateEndpointProperty;\n /**\n * Connection state of the private endpoint connection.\n */\n privateLinkServiceConnectionState?: PrivateLinkServiceConnectionStateProperty;\n /**\n * State of the private endpoint connection.\n */\n provisioningState?: PrivateEndpointProvisioningState;\n}\n\n/**\n * Input type for Properties of a private endpoint connection.\n */\nexport interface PrivateEndpointConnectionPropertiesInput extends InputOf<PrivateEndpointConnectionProperties> {\n /**\n * Private endpoint which the connection belongs to.\n */\n privateEndpoint?: PrivateEndpointPropertyInput | undefined;\n /**\n * Connection state of the private endpoint connection.\n */\n privateLinkServiceConnectionState?: PrivateLinkServiceConnectionStatePropertyInput | undefined;\n}\n\n/**\n * View type for Properties of a private endpoint connection.\n */\nexport interface PrivateEndpointConnectionPropertiesView extends InputOf<PrivateEndpointConnectionProperties> {\n /**\n * Read-only output: Group IDs.\n */\n readonly groupIds?: Expression<string[]> | undefined;\n /**\n * Private endpoint which the connection belongs to.\n */\n privateEndpoint?: PrivateEndpointPropertyView | undefined;\n /**\n * Connection state of the private endpoint connection.\n */\n privateLinkServiceConnectionState?: PrivateLinkServiceConnectionStatePropertyView | undefined;\n /**\n * Read-only output: State of the private endpoint connection.\n */\n readonly provisioningState?: Expression<PrivateEndpointProvisioningState> | undefined;\n}\n\nexport const privateEndpointConnectionPropertiesShape: FlatModelShape = createFlatModelShape({\n groupIds: { armPath: [\"groupIds\"], value: createArrayShape(createStringShape()), readOnly: true },\n privateEndpoint: {\n armPath: [\"privateEndpoint\"],\n value: createDeferredShape(() => privateEndpointPropertyShape),\n },\n privateLinkServiceConnectionState: {\n armPath: [\"privateLinkServiceConnectionState\"],\n value: createDeferredShape(() => privateLinkServiceConnectionStatePropertyShape),\n },\n provisioningState: { armPath: [\"provisioningState\"], value: createUnionShape(), readOnly: true },\n});\n\nexport interface PrivateEndpointProperty {\n /**\n * Resource id of the private endpoint.\n */\n id?: string;\n}\n\nexport interface PrivateEndpointPropertyInput extends InputOf<PrivateEndpointProperty> {\n /**\n * Resource id of the private endpoint.\n */\n id?: ExpressionOrValue<string> | undefined;\n}\n\nexport type PrivateEndpointPropertyView = PrivateEndpointPropertyInput;\n\nexport const privateEndpointPropertyShape: FlatModelShape = createFlatModelShape({\n id: { armPath: [\"id\"], value: createStringShape() },\n});\n\n/**\n * Properties of a private link resource.\n */\nexport interface PrivateLinkResourceProperties {\n /**\n * The private link resource group id.\n */\n groupId?: string;\n /**\n * The private link resource required member names.\n */\n requiredMembers?: string[];\n /**\n * The private link resource required zone names.\n */\n requiredZoneNames?: string[];\n}\n\n/**\n * Input type for Properties of a private link resource.\n */\nexport interface PrivateLinkResourcePropertiesInput extends InputOf<PrivateLinkResourceProperties> {}\n\n/**\n * View type for Properties of a private link resource.\n */\nexport interface PrivateLinkResourcePropertiesView extends InputOf<PrivateLinkResourceProperties> {\n /**\n * Read-only output: The private link resource group id.\n */\n readonly groupId?: Expression<string> | undefined;\n /**\n * Read-only output: The private link resource required member names.\n */\n readonly requiredMembers?: Expression<string[]> | undefined;\n /**\n * Read-only output: The private link resource required zone names.\n */\n readonly requiredZoneNames?: Expression<string[]> | undefined;\n}\n\nexport const privateLinkResourcePropertiesShape: FlatModelShape = createFlatModelShape({\n groupId: { armPath: [\"groupId\"], value: createStringShape(), readOnly: true },\n requiredMembers: {\n armPath: [\"requiredMembers\"],\n value: createArrayShape(createStringShape()),\n readOnly: true,\n },\n requiredZoneNames: {\n armPath: [\"requiredZoneNames\"],\n value: createArrayShape(createStringShape()),\n readOnly: true,\n },\n});\n\nexport interface PrivateLinkServiceConnectionStateProperty {\n /**\n * The actions required for private link service connection.\n */\n actionsRequired?: PrivateLinkServiceConnectionStateActionsRequire;\n /**\n * The private link service connection description.\n */\n description: string;\n /**\n * The private link service connection status.\n */\n status: PrivateLinkServiceConnectionStateStatus;\n}\n\nexport interface PrivateLinkServiceConnectionStatePropertyInput extends InputOf<PrivateLinkServiceConnectionStateProperty> {\n /**\n * The private link service connection description.\n */\n description: ExpressionOrValue<string>;\n /**\n * The private link service connection status.\n */\n status: ExpressionOrValue<PrivateLinkServiceConnectionStateStatus>;\n}\n\nexport interface PrivateLinkServiceConnectionStatePropertyView extends InputOf<PrivateLinkServiceConnectionStateProperty> {\n /**\n * Read-only output: The actions required for private link service connection.\n */\n readonly actionsRequired?:\n Expression<PrivateLinkServiceConnectionStateActionsRequire> | undefined;\n /**\n * The private link service connection description.\n */\n description: ExpressionOrValue<string>;\n /**\n * The private link service connection status.\n */\n status: ExpressionOrValue<PrivateLinkServiceConnectionStateStatus>;\n}\n\nexport const privateLinkServiceConnectionStatePropertyShape: FlatModelShape = createFlatModelShape({\n actionsRequired: { armPath: [\"actionsRequired\"], value: createUnionShape(), readOnly: true },\n description: { armPath: [\"description\"], value: createStringShape() },\n status: { armPath: [\"status\"], value: createUnionShape() },\n});\n\n/**\n * SQL Vulnerability Assessment query check object.\n */\nexport interface QueryCheck {\n /**\n * SQL Vulnerability Assessment column names of query expected result.\n */\n columnNames?: string[];\n /**\n * SQL Vulnerability Assessment query expected result.\n */\n expectedResult?: string[][];\n /**\n * SQL Vulnerability Assessment rule query.\n */\n query?: string;\n}\n\n/**\n * Input type for SQL Vulnerability Assessment query check object.\n */\nexport interface QueryCheckInput extends InputOf<QueryCheck> {}\n\n/**\n * View type for SQL Vulnerability Assessment query check object.\n */\nexport interface QueryCheckView extends InputOf<QueryCheck> {\n /**\n * Read-only output: SQL Vulnerability Assessment column names of query expected result.\n */\n readonly columnNames?: Expression<string[]> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment query expected result.\n */\n readonly expectedResult?: Expression<string[][]> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment rule query.\n */\n readonly query?: Expression<string> | undefined;\n}\n\nexport const queryCheckShape: FlatModelShape = createFlatModelShape({\n columnNames: {\n armPath: [\"columnNames\"],\n value: createArrayShape(createStringShape()),\n readOnly: true,\n },\n expectedResult: {\n armPath: [\"expectedResult\"],\n value: createArrayShape(createArrayShape(createStringShape())),\n readOnly: true,\n },\n query: { armPath: [\"query\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * Properties of a database query.\n */\nexport interface QueryProperties {\n /**\n * Query text.\n */\n queryText?: string;\n}\n\n/**\n * Input type for Properties of a database query.\n */\nexport interface QueryPropertiesInput extends InputOf<QueryProperties> {}\n\n/**\n * View type for Properties of a database query.\n */\nexport interface QueryPropertiesView extends InputOf<QueryProperties> {\n /**\n * Read-only output: Query text.\n */\n readonly queryText?: Expression<string> | undefined;\n}\n\nexport const queryPropertiesShape: FlatModelShape = createFlatModelShape({\n queryText: { armPath: [\"queryText\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * Contains error information for an Azure SQL Database, Server or Elastic Pool Recommended Action.\n */\nexport interface RecommendedActionErrorInfo {\n /**\n * Gets the reason why the recommended action was put to error state. e.g., DatabaseHasQdsOff, IndexAlreadyExists\n */\n errorCode?: string;\n /**\n * Gets whether the error could be ignored and recommended action could be retried. Possible values are: Yes/No\n */\n isRetryable?: IsRetryable;\n}\n\n/**\n * Input type for Contains error information for an Azure SQL Database, Server or Elastic Pool Recommended Action.\n */\nexport interface RecommendedActionErrorInfoInput extends InputOf<RecommendedActionErrorInfo> {}\n\n/**\n * View type for Contains error information for an Azure SQL Database, Server or Elastic Pool Recommended Action.\n */\nexport interface RecommendedActionErrorInfoView extends InputOf<RecommendedActionErrorInfo> {\n /**\n * Read-only output: Gets the reason why the recommended action was put to error state. e.g., DatabaseHasQdsOff, IndexAlreadyExists\n */\n readonly errorCode?: Expression<string> | undefined;\n /**\n * Read-only output: Gets whether the error could be ignored and recommended action could be retried. Possible values are: Yes/No\n */\n readonly isRetryable?: Expression<IsRetryable> | undefined;\n}\n\nexport const recommendedActionErrorInfoShape: FlatModelShape = createFlatModelShape({\n errorCode: { armPath: [\"errorCode\"], value: createStringShape(), readOnly: true },\n isRetryable: { armPath: [\"isRetryable\"], value: createEnumShape(), readOnly: true },\n});\n\n/**\n * Contains information of estimated or observed impact on various metrics for an Azure SQL Database, Server or Elastic Pool Recommended Action.\n */\nexport interface RecommendedActionImpactRecord {\n /**\n * Gets the absolute value of this dimension if applicable. e.g., Number of Queries affected\n */\n absoluteValue?: number;\n /**\n * Gets the absolute change in the value of this dimension. e.g., Absolute Disk space change in Megabytes\n */\n changeValueAbsolute?: number;\n /**\n * Gets the relative change in the value of this dimension. e.g., Relative Disk space change in Percentage\n */\n changeValueRelative?: number;\n /**\n * Gets the name of the impact dimension. e.g., CPUChange, DiskSpaceChange, NumberOfQueriesAffected.\n */\n dimensionName?: string;\n /**\n * Gets the name of the impact dimension. e.g., CPUChange, DiskSpaceChange, NumberOfQueriesAffected.\n */\n unit?: string;\n}\n\n/**\n * Input type for Contains information of estimated or observed impact on various metrics for an Azure SQL Database, Server or Elastic Pool Recommended Action.\n */\nexport interface RecommendedActionImpactRecordInput extends InputOf<RecommendedActionImpactRecord> {}\n\n/**\n * View type for Contains information of estimated or observed impact on various metrics for an Azure SQL Database, Server or Elastic Pool Recommended Action.\n */\nexport interface RecommendedActionImpactRecordView extends InputOf<RecommendedActionImpactRecord> {\n /**\n * Read-only output: Gets the absolute value of this dimension if applicable. e.g., Number of Queries affected\n */\n readonly absoluteValue?: Expression<number> | undefined;\n /**\n * Read-only output: Gets the absolute change in the value of this dimension. e.g., Absolute Disk space change in Megabytes\n */\n readonly changeValueAbsolute?: Expression<number> | undefined;\n /**\n * Read-only output: Gets the relative change in the value of this dimension. e.g., Relative Disk space change in Percentage\n */\n readonly changeValueRelative?: Expression<number> | undefined;\n /**\n * Read-only output: Gets the name of the impact dimension. e.g., CPUChange, DiskSpaceChange, NumberOfQueriesAffected.\n */\n readonly dimensionName?: Expression<string> | undefined;\n /**\n * Read-only output: Gets the name of the impact dimension. e.g., CPUChange, DiskSpaceChange, NumberOfQueriesAffected.\n */\n readonly unit?: Expression<string> | undefined;\n}\n\nexport const recommendedActionImpactRecordShape: FlatModelShape = createFlatModelShape({\n absoluteValue: { armPath: [\"absoluteValue\"], value: createNumberShape(), readOnly: true },\n changeValueAbsolute: {\n armPath: [\"changeValueAbsolute\"],\n value: createNumberShape(),\n readOnly: true,\n },\n changeValueRelative: {\n armPath: [\"changeValueRelative\"],\n value: createNumberShape(),\n readOnly: true,\n },\n dimensionName: { armPath: [\"dimensionName\"], value: createStringShape(), readOnly: true },\n unit: { armPath: [\"unit\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * Contains information for manual implementation for an Azure SQL Database, Server or Elastic Pool Recommended Action.\n */\nexport interface RecommendedActionImplementationInfo {\n /**\n * Gets the method in which this recommended action can be manually implemented. e.g., TSql, AzurePowerShell.\n */\n method?: ImplementationMethod;\n /**\n * Gets the manual implementation script. e.g., T-SQL script that could be executed on the database.\n */\n script?: string;\n}\n\n/**\n * Input type for Contains information for manual implementation for an Azure SQL Database, Server or Elastic Pool Recommended Action.\n */\nexport interface RecommendedActionImplementationInfoInput extends InputOf<RecommendedActionImplementationInfo> {}\n\n/**\n * View type for Contains information for manual implementation for an Azure SQL Database, Server or Elastic Pool Recommended Action.\n */\nexport interface RecommendedActionImplementationInfoView extends InputOf<RecommendedActionImplementationInfo> {\n /**\n * Read-only output: Gets the method in which this recommended action can be manually implemented. e.g., TSql, AzurePowerShell.\n */\n readonly method?: Expression<ImplementationMethod> | undefined;\n /**\n * Read-only output: Gets the manual implementation script. e.g., T-SQL script that could be executed on the database.\n */\n readonly script?: Expression<string> | undefined;\n}\n\nexport const recommendedActionImplementationInfoShape: FlatModelShape = createFlatModelShape({\n method: { armPath: [\"method\"], value: createEnumShape(), readOnly: true },\n script: { armPath: [\"script\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * Contains time series of various impacted metrics for an Azure SQL Database, Server or Elastic Pool Recommended Action.\n */\nexport interface RecommendedActionMetricInfo {\n /**\n * Gets the name of the metric. e.g., CPU, Number of Queries.\n */\n metricName?: string;\n /**\n * Gets the start time of time interval given by this MetricInfo.\n */\n startTime?: Date;\n /**\n * Gets the duration of time interval for the value given by this MetricInfo. e.g., PT1H (1 hour)\n */\n timeGrain?: string;\n /**\n * Gets the unit in which metric is measured. e.g., DTU, Frequency\n */\n unit?: string;\n /**\n * Gets the value of the metric in the time interval given by this MetricInfo.\n */\n value?: number;\n}\n\n/**\n * Input type for Contains time series of various impacted metrics for an Azure SQL Database, Server or Elastic Pool Recommended Action.\n */\nexport interface RecommendedActionMetricInfoInput extends InputOf<RecommendedActionMetricInfo> {}\n\n/**\n * View type for Contains time series of various impacted metrics for an Azure SQL Database, Server or Elastic Pool Recommended Action.\n */\nexport interface RecommendedActionMetricInfoView extends InputOf<RecommendedActionMetricInfo> {\n /**\n * Read-only output: Gets the name of the metric. e.g., CPU, Number of Queries.\n */\n readonly metricName?: Expression<string> | undefined;\n /**\n * Read-only output: Gets the start time of time interval given by this MetricInfo.\n */\n readonly startTime?: Expression<Date> | undefined;\n /**\n * Read-only output: Gets the duration of time interval for the value given by this MetricInfo. e.g., PT1H (1 hour)\n */\n readonly timeGrain?: Expression<string> | undefined;\n /**\n * Read-only output: Gets the unit in which metric is measured. e.g., DTU, Frequency\n */\n readonly unit?: Expression<string> | undefined;\n /**\n * Read-only output: Gets the value of the metric in the time interval given by this MetricInfo.\n */\n readonly value?: Expression<number> | undefined;\n}\n\nexport const recommendedActionMetricInfoShape: FlatModelShape = createFlatModelShape({\n metricName: { armPath: [\"metricName\"], value: createStringShape(), readOnly: true },\n startTime: {\n armPath: [\"startTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n timeGrain: { armPath: [\"timeGrain\"], value: createStringShape(), readOnly: true },\n unit: { armPath: [\"unit\"], value: createStringShape(), readOnly: true },\n value: { armPath: [\"value\"], value: createNumberShape(), readOnly: true },\n});\n\n/**\n * Properties for a Database, Server or Elastic Pool Recommended Action.\n */\nexport interface RecommendedActionProperties {\n /**\n * Gets additional details specific to this recommended action.\n */\n details?: Record<string, string>;\n /**\n * Gets the error details if and why this recommended action is put to error state.\n */\n errorDetails?: RecommendedActionErrorInfo;\n /**\n * Gets the estimated impact info for this recommended action e.g., Estimated CPU gain, Estimated Disk Space change\n */\n estimatedImpact?: RecommendedActionImpactRecord[];\n /**\n * Gets the time taken for applying this recommended action on user resource. e.g., time taken for index creation\n */\n executeActionDuration?: string;\n /**\n * Gets if approval for applying this recommended action was given by user/system.\n */\n executeActionInitiatedBy?: RecommendedActionInitiatedBy;\n /**\n * Gets the time when this recommended action was approved for execution.\n */\n executeActionInitiatedTime?: Date;\n /**\n * Gets the time when system started applying this recommended action on the user resource. e.g., index creation start time\n */\n executeActionStartTime?: Date;\n /**\n * Gets the implementation details of this recommended action for user to apply it manually.\n */\n implementationDetails?: RecommendedActionImplementationInfo;\n /**\n * Gets if this recommended action was suggested some time ago but user chose to ignore this and system added a new recommended action again.\n */\n isArchivedAction?: boolean;\n /**\n * Gets if this recommended action is actionable by user\n */\n isExecutableAction?: boolean;\n /**\n * Gets if changes applied by this recommended action can be reverted by user\n */\n isRevertableAction?: boolean;\n /**\n * Gets time when this recommended action was last refreshed.\n */\n lastRefresh?: Date;\n /**\n * Gets the linked objects, if any.\n */\n linkedObjects?: string[];\n /**\n * Gets the observed/actual impact info for this recommended action e.g., Actual CPU gain, Actual Disk Space change\n */\n observedImpact?: RecommendedActionImpactRecord[];\n /**\n * Gets the reason for recommending this action. e.g., DuplicateIndex\n */\n recommendationReason?: string;\n /**\n * Gets the time taken for reverting changes of this recommended action on user resource. e.g., time taken for dropping the created index.\n */\n revertActionDuration?: string;\n /**\n * Gets if approval for reverting this recommended action was given by user/system.\n */\n revertActionInitiatedBy?: RecommendedActionInitiatedBy;\n /**\n * Gets the time when this recommended action was approved for revert.\n */\n revertActionInitiatedTime?: Date;\n /**\n * Gets the time when system started reverting changes of this recommended action on user resource. e.g., time when index drop is executed.\n */\n revertActionStartTime?: Date;\n /**\n * Gets the impact of this recommended action. Possible values are 1 - Low impact, 2 - Medium Impact and 3 - High Impact\n */\n score?: number;\n /**\n * Gets the info of the current state the recommended action is in.\n */\n state: RecommendedActionStateInfo;\n /**\n * Gets the time series info of metrics for this recommended action e.g., CPU consumption time series\n */\n timeSeries?: RecommendedActionMetricInfo[];\n /**\n * Gets the time since when this recommended action is valid.\n */\n validSince?: Date;\n}\n\n/**\n * Input type for Properties for a Database, Server or Elastic Pool Recommended Action.\n */\nexport interface RecommendedActionPropertiesInput extends InputOf<RecommendedActionProperties> {\n /**\n * Gets the info of the current state the recommended action is in.\n */\n state: RecommendedActionStateInfoInput;\n}\n\n/**\n * View type for Properties for a Database, Server or Elastic Pool Recommended Action.\n */\nexport interface RecommendedActionPropertiesView extends InputOf<RecommendedActionProperties> {\n /**\n * Read-only output: Gets additional details specific to this recommended action.\n */\n readonly details?: Expression<Record<string, string>> | undefined;\n /**\n * Read-only output: Gets the error details if and why this recommended action is put to error state.\n */\n readonly errorDetails?: Expression<RecommendedActionErrorInfo> | undefined;\n /**\n * Read-only output: Gets the estimated impact info for this recommended action e.g., Estimated CPU gain, Estimated Disk Space change\n */\n readonly estimatedImpact?: Expression<RecommendedActionImpactRecord[]> | undefined;\n /**\n * Read-only output: Gets the time taken for applying this recommended action on user resource. e.g., time taken for index creation\n */\n readonly executeActionDuration?: Expression<string> | undefined;\n /**\n * Read-only output: Gets if approval for applying this recommended action was given by user/system.\n */\n readonly executeActionInitiatedBy?: Expression<RecommendedActionInitiatedBy> | undefined;\n /**\n * Read-only output: Gets the time when this recommended action was approved for execution.\n */\n readonly executeActionInitiatedTime?: Expression<Date> | undefined;\n /**\n * Read-only output: Gets the time when system started applying this recommended action on the user resource. e.g., index creation start time\n */\n readonly executeActionStartTime?: Expression<Date> | undefined;\n /**\n * Read-only output: Gets the implementation details of this recommended action for user to apply it manually.\n */\n readonly implementationDetails?: Expression<RecommendedActionImplementationInfo> | undefined;\n /**\n * Read-only output: Gets if this recommended action was suggested some time ago but user chose to ignore this and system added a new recommended action again.\n */\n readonly isArchivedAction?: Expression<boolean> | undefined;\n /**\n * Read-only output: Gets if this recommended action is actionable by user\n */\n readonly isExecutableAction?: Expression<boolean> | undefined;\n /**\n * Read-only output: Gets if changes applied by this recommended action can be reverted by user\n */\n readonly isRevertableAction?: Expression<boolean> | undefined;\n /**\n * Read-only output: Gets time when this recommended action was last refreshed.\n */\n readonly lastRefresh?: Expression<Date> | undefined;\n /**\n * Read-only output: Gets the linked objects, if any.\n */\n readonly linkedObjects?: Expression<string[]> | undefined;\n /**\n * Read-only output: Gets the observed/actual impact info for this recommended action e.g., Actual CPU gain, Actual Disk Space change\n */\n readonly observedImpact?: Expression<RecommendedActionImpactRecord[]> | undefined;\n /**\n * Read-only output: Gets the reason for recommending this action. e.g., DuplicateIndex\n */\n readonly recommendationReason?: Expression<string> | undefined;\n /**\n * Read-only output: Gets the time taken for reverting changes of this recommended action on user resource. e.g., time taken for dropping the created index.\n */\n readonly revertActionDuration?: Expression<string> | undefined;\n /**\n * Read-only output: Gets if approval for reverting this recommended action was given by user/system.\n */\n readonly revertActionInitiatedBy?: Expression<RecommendedActionInitiatedBy> | undefined;\n /**\n * Read-only output: Gets the time when this recommended action was approved for revert.\n */\n readonly revertActionInitiatedTime?: Expression<Date> | undefined;\n /**\n * Read-only output: Gets the time when system started reverting changes of this recommended action on user resource. e.g., time when index drop is executed.\n */\n readonly revertActionStartTime?: Expression<Date> | undefined;\n /**\n * Read-only output: Gets the impact of this recommended action. Possible values are 1 - Low impact, 2 - Medium Impact and 3 - High Impact\n */\n readonly score?: Expression<number> | undefined;\n /**\n * Gets the info of the current state the recommended action is in.\n */\n state: RecommendedActionStateInfoView;\n /**\n * Read-only output: Gets the time series info of metrics for this recommended action e.g., CPU consumption time series\n */\n readonly timeSeries?: Expression<RecommendedActionMetricInfo[]> | undefined;\n /**\n * Read-only output: Gets the time since when this recommended action is valid.\n */\n readonly validSince?: Expression<Date> | undefined;\n}\n\nexport const recommendedActionPropertiesShape: FlatModelShape = createFlatModelShape({\n details: { armPath: [\"details\"], value: createRecordShape(createStringShape()), readOnly: true },\n errorDetails: {\n armPath: [\"errorDetails\"],\n value: createDeferredShape(() => recommendedActionErrorInfoShape),\n readOnly: true,\n },\n estimatedImpact: {\n armPath: [\"estimatedImpact\"],\n value: createArrayShape(createDeferredShape(() => recommendedActionImpactRecordShape)),\n readOnly: true,\n },\n executeActionDuration: {\n armPath: [\"executeActionDuration\"],\n value: createStringShape({\n kind: \"duration-iso8601\",\n source: \"duration\",\n clientMode: \"wire\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n executeActionInitiatedBy: {\n armPath: [\"executeActionInitiatedBy\"],\n value: createEnumShape(),\n readOnly: true,\n },\n executeActionInitiatedTime: {\n armPath: [\"executeActionInitiatedTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n executeActionStartTime: {\n armPath: [\"executeActionStartTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n implementationDetails: {\n armPath: [\"implementationDetails\"],\n value: createDeferredShape(() => recommendedActionImplementationInfoShape),\n readOnly: true,\n },\n isArchivedAction: { armPath: [\"isArchivedAction\"], value: createBooleanShape(), readOnly: true },\n isExecutableAction: {\n armPath: [\"isExecutableAction\"],\n value: createBooleanShape(),\n readOnly: true,\n },\n isRevertableAction: {\n armPath: [\"isRevertableAction\"],\n value: createBooleanShape(),\n readOnly: true,\n },\n lastRefresh: {\n armPath: [\"lastRefresh\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n linkedObjects: {\n armPath: [\"linkedObjects\"],\n value: createArrayShape(createStringShape()),\n readOnly: true,\n },\n observedImpact: {\n armPath: [\"observedImpact\"],\n value: createArrayShape(createDeferredShape(() => recommendedActionImpactRecordShape)),\n readOnly: true,\n },\n recommendationReason: {\n armPath: [\"recommendationReason\"],\n value: createStringShape(),\n readOnly: true,\n },\n revertActionDuration: {\n armPath: [\"revertActionDuration\"],\n value: createStringShape({\n kind: \"duration-iso8601\",\n source: \"duration\",\n clientMode: \"wire\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n revertActionInitiatedBy: {\n armPath: [\"revertActionInitiatedBy\"],\n value: createEnumShape(),\n readOnly: true,\n },\n revertActionInitiatedTime: {\n armPath: [\"revertActionInitiatedTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n revertActionStartTime: {\n armPath: [\"revertActionStartTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n score: { armPath: [\"score\"], value: createNumberShape(), readOnly: true },\n state: { armPath: [\"state\"], value: createDeferredShape(() => recommendedActionStateInfoShape) },\n timeSeries: {\n armPath: [\"timeSeries\"],\n value: createArrayShape(createDeferredShape(() => recommendedActionMetricInfoShape)),\n readOnly: true,\n },\n validSince: {\n armPath: [\"validSince\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n});\n\n/**\n * Contains information of current state for an Azure SQL Database, Server or Elastic Pool Recommended Action.\n */\nexport interface RecommendedActionStateInfo {\n /**\n * Gets who initiated the execution of this recommended action. Possible Value are: User -> When user explicity notified system to apply the recommended action. System -> When auto-execute status of this advisor was set to 'Enabled', in which case the system applied it.\n */\n actionInitiatedBy?: RecommendedActionInitiatedBy;\n /**\n * Current state the recommended action is in. Some commonly used states are: Active -> recommended action is active and no action has been taken yet. Pending -> recommended action is approved for and is awaiting execution. Executing -> recommended action is being applied on the user database. Verifying -> recommended action was applied and is being verified of its usefulness by the system. Success -> recommended action was applied and improvement found during verification. Pending Revert -> verification found little or no improvement so recommended action is queued for revert or user has manually reverted. Reverting -> changes made while applying recommended action are being reverted on the user database. Reverted -> successfully reverted the changes made by recommended action on user database. Ignored -> user explicitly ignored/discarded the recommended action.\n */\n currentValue: RecommendedActionCurrentState;\n /**\n * Gets the time when the state was last modified\n */\n lastModified?: Date;\n}\n\n/**\n * Input type for Contains information of current state for an Azure SQL Database, Server or Elastic Pool Recommended Action.\n */\nexport interface RecommendedActionStateInfoInput extends InputOf<RecommendedActionStateInfo> {\n /**\n * Current state the recommended action is in. Some commonly used states are: Active -> recommended action is active and no action has been taken yet. Pending -> recommended action is approved for and is awaiting execution. Executing -> recommended action is being applied on the user database. Verifying -> recommended action was applied and is being verified of its usefulness by the system. Success -> recommended action was applied and improvement found during verification. Pending Revert -> verification found little or no improvement so recommended action is queued for revert or user has manually reverted. Reverting -> changes made while applying recommended action are being reverted on the user database. Reverted -> successfully reverted the changes made by recommended action on user database. Ignored -> user explicitly ignored/discarded the recommended action.\n */\n currentValue: ExpressionOrValue<RecommendedActionCurrentState>;\n}\n\n/**\n * View type for Contains information of current state for an Azure SQL Database, Server or Elastic Pool Recommended Action.\n */\nexport interface RecommendedActionStateInfoView extends InputOf<RecommendedActionStateInfo> {\n /**\n * Read-only output: Gets who initiated the execution of this recommended action. Possible Value are: User -> When user explicity notified system to apply the recommended action. System -> When auto-execute status of this advisor was set to 'Enabled', in which case the system applied it.\n */\n readonly actionInitiatedBy?: Expression<RecommendedActionInitiatedBy> | undefined;\n /**\n * Current state the recommended action is in. Some commonly used states are: Active -> recommended action is active and no action has been taken yet. Pending -> recommended action is approved for and is awaiting execution. Executing -> recommended action is being applied on the user database. Verifying -> recommended action was applied and is being verified of its usefulness by the system. Success -> recommended action was applied and improvement found during verification. Pending Revert -> verification found little or no improvement so recommended action is queued for revert or user has manually reverted. Reverting -> changes made while applying recommended action are being reverted on the user database. Reverted -> successfully reverted the changes made by recommended action on user database. Ignored -> user explicitly ignored/discarded the recommended action.\n */\n currentValue: ExpressionOrValue<RecommendedActionCurrentState>;\n /**\n * Read-only output: Gets the time when the state was last modified\n */\n readonly lastModified?: Expression<Date> | undefined;\n}\n\nexport const recommendedActionStateInfoShape: FlatModelShape = createFlatModelShape({\n actionInitiatedBy: { armPath: [\"actionInitiatedBy\"], value: createEnumShape(), readOnly: true },\n currentValue: { armPath: [\"currentValue\"], value: createUnionShape() },\n lastModified: {\n armPath: [\"lastModified\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n});\n\n/**\n * The recoverable database's properties.\n */\nexport interface RecoverableDatabaseProperties {\n /**\n * The edition of the database.\n */\n edition?: string;\n /**\n * The elastic pool name of the database\n */\n elasticPoolName?: string;\n /**\n * The resource ids of the user assigned identities to use\n */\n keys?: Record<string, DatabaseKey>;\n /**\n * The last available backup date.\n */\n lastAvailableBackupDate?: Date;\n /**\n * The service level objective name of the database.\n */\n serviceLevelObjective?: string;\n}\n\n/**\n * Input type for The recoverable database's properties.\n */\nexport interface RecoverableDatabasePropertiesInput extends InputOf<RecoverableDatabaseProperties> {}\n\n/**\n * View type for The recoverable database's properties.\n */\nexport interface RecoverableDatabasePropertiesView extends InputOf<RecoverableDatabaseProperties> {\n /**\n * Read-only output: The edition of the database.\n */\n readonly edition?: Expression<string> | undefined;\n /**\n * Read-only output: The elastic pool name of the database\n */\n readonly elasticPoolName?: Expression<string> | undefined;\n /**\n * Read-only output: The resource ids of the user assigned identities to use\n */\n readonly keys?: Expression<Record<string, DatabaseKey>> | undefined;\n /**\n * Read-only output: The last available backup date.\n */\n readonly lastAvailableBackupDate?: Expression<Date> | undefined;\n /**\n * Read-only output: The service level objective name of the database.\n */\n readonly serviceLevelObjective?: Expression<string> | undefined;\n}\n\nexport const recoverableDatabasePropertiesShape: FlatModelShape = createFlatModelShape({\n edition: { armPath: [\"edition\"], value: createStringShape(), readOnly: true },\n elasticPoolName: { armPath: [\"elasticPoolName\"], value: createStringShape(), readOnly: true },\n keys: {\n armPath: [\"keys\"],\n value: createRecordShape(createDeferredShape(() => databaseKeyShape)),\n readOnly: true,\n },\n lastAvailableBackupDate: {\n armPath: [\"lastAvailableBackupDate\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n serviceLevelObjective: {\n armPath: [\"serviceLevelObjective\"],\n value: createStringShape(),\n readOnly: true,\n },\n});\n\n/**\n * The recoverable managed database's properties.\n */\nexport interface RecoverableManagedDatabaseProperties {\n /**\n * The last available backup date.\n */\n lastAvailableBackupDate?: string;\n}\n\n/**\n * Input type for The recoverable managed database's properties.\n */\nexport interface RecoverableManagedDatabasePropertiesInput extends InputOf<RecoverableManagedDatabaseProperties> {}\n\n/**\n * View type for The recoverable managed database's properties.\n */\nexport interface RecoverableManagedDatabasePropertiesView extends InputOf<RecoverableManagedDatabaseProperties> {\n /**\n * Read-only output: The last available backup date.\n */\n readonly lastAvailableBackupDate?: Expression<string> | undefined;\n}\n\nexport const recoverableManagedDatabasePropertiesShape: FlatModelShape = createFlatModelShape({\n lastAvailableBackupDate: {\n armPath: [\"lastAvailableBackupDate\"],\n value: createStringShape(),\n readOnly: true,\n },\n});\n\n/**\n * SQL Vulnerability Assessment remediation Details.\n */\nexport interface Remediation {\n /**\n * SQL Vulnerability Assessment is remediation automated.\n */\n automated?: boolean;\n /**\n * SQL Vulnerability Assessment remediation description.\n */\n description?: string;\n /**\n * SQL Vulnerability Assessment optional link to remediate in Azure Portal.\n */\n portalLink?: string;\n /**\n * SQL Vulnerability Assessment remediation script.\n */\n scripts?: string[];\n}\n\n/**\n * Input type for SQL Vulnerability Assessment remediation Details.\n */\nexport interface RemediationInput extends InputOf<Remediation> {}\n\n/**\n * View type for SQL Vulnerability Assessment remediation Details.\n */\nexport interface RemediationView extends InputOf<Remediation> {\n /**\n * Read-only output: SQL Vulnerability Assessment is remediation automated.\n */\n readonly automated?: Expression<boolean> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment remediation description.\n */\n readonly description?: Expression<string> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment optional link to remediate in Azure Portal.\n */\n readonly portalLink?: Expression<string> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment remediation script.\n */\n readonly scripts?: Expression<string[]> | undefined;\n}\n\nexport const remediationShape: FlatModelShape = createFlatModelShape({\n automated: { armPath: [\"automated\"], value: createBooleanShape(), readOnly: true },\n description: { armPath: [\"description\"], value: createStringShape(), readOnly: true },\n portalLink: { armPath: [\"portalLink\"], value: createStringShape(), readOnly: true },\n scripts: { armPath: [\"scripts\"], value: createArrayShape(createStringShape()), readOnly: true },\n});\n\n/**\n * Properties of a replication link.\n */\nexport interface ReplicationLinkProperties {\n /**\n * Whether the user is currently allowed to terminate the link.\n */\n isTerminationAllowed?: boolean;\n /**\n * Link type (GEO, NAMED, STANDBY). Update operation does not support NAMED.\n */\n linkType?: ReplicationLinkType;\n /**\n * Resource partner database.\n */\n partnerDatabase?: string;\n /**\n * Resource partner database Id.\n */\n partnerDatabaseId?: string;\n /**\n * Resource partner location.\n */\n partnerLocation?: string;\n /**\n * Partner replication role.\n */\n partnerRole?: ReplicationRole;\n /**\n * Resource partner server.\n */\n partnerServer?: string;\n /**\n * Seeding completion percentage for the link.\n */\n percentComplete?: number;\n /**\n * Replication mode.\n */\n replicationMode?: string;\n /**\n * Replication state (PENDING, SEEDING, CATCHUP, SUSPENDED).\n */\n replicationState?: ReplicationState;\n /**\n * Local replication role.\n */\n role?: ReplicationRole;\n /**\n * Time at which the link was created.\n */\n startTime?: Date;\n}\n\n/**\n * Input type for Properties of a replication link.\n */\nexport interface ReplicationLinkPropertiesInput extends InputOf<ReplicationLinkProperties> {\n /**\n * Link type (GEO, NAMED, STANDBY). Update operation does not support NAMED.\n */\n linkType?: ExpressionOrValue<ReplicationLinkType> | undefined;\n}\n\n/**\n * View type for Properties of a replication link.\n */\nexport interface ReplicationLinkPropertiesView extends InputOf<ReplicationLinkProperties> {\n /**\n * Read-only output: Whether the user is currently allowed to terminate the link.\n */\n readonly isTerminationAllowed?: Expression<boolean> | undefined;\n /**\n * Link type (GEO, NAMED, STANDBY). Update operation does not support NAMED.\n */\n linkType?: ExpressionOrValue<ReplicationLinkType> | undefined;\n /**\n * Read-only output: Resource partner database.\n */\n readonly partnerDatabase?: Expression<string> | undefined;\n /**\n * Read-only output: Resource partner database Id.\n */\n readonly partnerDatabaseId?: Expression<string> | undefined;\n /**\n * Read-only output: Resource partner location.\n */\n readonly partnerLocation?: Expression<string> | undefined;\n /**\n * Read-only output: Partner replication role.\n */\n readonly partnerRole?: Expression<ReplicationRole> | undefined;\n /**\n * Read-only output: Resource partner server.\n */\n readonly partnerServer?: Expression<string> | undefined;\n /**\n * Read-only output: Seeding completion percentage for the link.\n */\n readonly percentComplete?: Expression<number> | undefined;\n /**\n * Read-only output: Replication mode.\n */\n readonly replicationMode?: Expression<string> | undefined;\n /**\n * Read-only output: Replication state (PENDING, SEEDING, CATCHUP, SUSPENDED).\n */\n readonly replicationState?: Expression<ReplicationState> | undefined;\n /**\n * Read-only output: Local replication role.\n */\n readonly role?: Expression<ReplicationRole> | undefined;\n /**\n * Read-only output: Time at which the link was created.\n */\n readonly startTime?: Expression<Date> | undefined;\n}\n\nexport const replicationLinkPropertiesShape: FlatModelShape = createFlatModelShape({\n isTerminationAllowed: {\n armPath: [\"isTerminationAllowed\"],\n value: createBooleanShape(),\n readOnly: true,\n },\n linkType: { armPath: [\"linkType\"], value: createUnionShape() },\n partnerDatabase: { armPath: [\"partnerDatabase\"], value: createStringShape(), readOnly: true },\n partnerDatabaseId: { armPath: [\"partnerDatabaseId\"], value: createStringShape(), readOnly: true },\n partnerLocation: { armPath: [\"partnerLocation\"], value: createStringShape(), readOnly: true },\n partnerRole: { armPath: [\"partnerRole\"], value: createEnumShape(), readOnly: true },\n partnerServer: { armPath: [\"partnerServer\"], value: createStringShape(), readOnly: true },\n percentComplete: { armPath: [\"percentComplete\"], value: createNumberShape(), readOnly: true },\n replicationMode: { armPath: [\"replicationMode\"], value: createStringShape(), readOnly: true },\n replicationState: { armPath: [\"replicationState\"], value: createUnionShape(), readOnly: true },\n role: { armPath: [\"role\"], value: createEnumShape(), readOnly: true },\n startTime: {\n armPath: [\"startTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n});\n\n/**\n * Azure Active Directory identity configuration for a resource.\n */\nexport interface ResourceIdentity {\n /**\n * The Azure Active Directory principal id.\n */\n principalId?: string;\n /**\n * The Azure Active Directory tenant id.\n */\n tenantId?: string;\n /**\n * The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active Directory principal for the resource.\n */\n type?: IdentityType;\n /**\n * The resource ids of the user assigned identities to use\n */\n userAssignedIdentities?: Record<string, UserIdentity>;\n}\n\n/**\n * Input type for Azure Active Directory identity configuration for a resource.\n */\nexport interface ResourceIdentityInput extends InputOf<ResourceIdentity> {\n /**\n * The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active Directory principal for the resource.\n */\n type?: ExpressionOrValue<IdentityType> | undefined;\n /**\n * The resource ids of the user assigned identities to use\n */\n userAssignedIdentities?: InputRecord<UserIdentityInput, Record<string, UserIdentity>> | undefined;\n}\n\n/**\n * View type for Azure Active Directory identity configuration for a resource.\n */\nexport interface ResourceIdentityView extends InputOf<ResourceIdentity> {\n /**\n * Read-only output: The Azure Active Directory principal id.\n */\n readonly principalId?: Expression<string> | undefined;\n /**\n * Read-only output: The Azure Active Directory tenant id.\n */\n readonly tenantId?: Expression<string> | undefined;\n /**\n * The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active Directory principal for the resource.\n */\n type?: ExpressionOrValue<IdentityType> | undefined;\n /**\n * The resource ids of the user assigned identities to use\n */\n userAssignedIdentities?: InputRecord<UserIdentityView, Record<string, UserIdentity>> | undefined;\n}\n\nexport const resourceIdentityShape: FlatModelShape = createFlatModelShape({\n principalId: { armPath: [\"principalId\"], value: createStringShape(), readOnly: true },\n tenantId: { armPath: [\"tenantId\"], value: createStringShape(), readOnly: true },\n type: { armPath: [\"type\"], value: createUnionShape() },\n userAssignedIdentities: {\n armPath: [\"userAssignedIdentities\"],\n value: createRecordShape(createDeferredShape(() => userIdentityShape)),\n },\n});\n\n/**\n * The restorable dropped database's properties.\n */\nexport interface RestorableDroppedDatabaseProperties {\n /**\n * The storage account type used to store backups for this database.\n */\n backupStorageRedundancy?: BackupStorageRedundancy;\n /**\n * The creation date of the database (ISO8601 format).\n */\n creationDate?: Date;\n /**\n * The name of the database.\n */\n databaseName?: string;\n /**\n * The deletion date of the database (ISO8601 format).\n */\n deletionDate?: Date;\n /**\n * The earliest restore date of the database (ISO8601 format).\n */\n earliestRestoreDate?: Date;\n /**\n * The resource ids of the user assigned identities to use\n */\n keys?: Record<string, DatabaseKey>;\n /**\n * The max size of the database expressed in bytes.\n */\n maxSizeBytes?: number;\n}\n\n/**\n * Input type for The restorable dropped database's properties.\n */\nexport interface RestorableDroppedDatabasePropertiesInput extends InputOf<RestorableDroppedDatabaseProperties> {}\n\n/**\n * View type for The restorable dropped database's properties.\n */\nexport interface RestorableDroppedDatabasePropertiesView extends InputOf<RestorableDroppedDatabaseProperties> {\n /**\n * Read-only output: The storage account type used to store backups for this database.\n */\n readonly backupStorageRedundancy?: Expression<BackupStorageRedundancy> | undefined;\n /**\n * Read-only output: The creation date of the database (ISO8601 format).\n */\n readonly creationDate?: Expression<Date> | undefined;\n /**\n * Read-only output: The name of the database.\n */\n readonly databaseName?: Expression<string> | undefined;\n /**\n * Read-only output: The deletion date of the database (ISO8601 format).\n */\n readonly deletionDate?: Expression<Date> | undefined;\n /**\n * Read-only output: The earliest restore date of the database (ISO8601 format).\n */\n readonly earliestRestoreDate?: Expression<Date> | undefined;\n /**\n * Read-only output: The resource ids of the user assigned identities to use\n */\n readonly keys?: Expression<Record<string, DatabaseKey>> | undefined;\n /**\n * Read-only output: The max size of the database expressed in bytes.\n */\n readonly maxSizeBytes?: Expression<number> | undefined;\n}\n\nexport const restorableDroppedDatabasePropertiesShape: FlatModelShape = createFlatModelShape({\n backupStorageRedundancy: {\n armPath: [\"backupStorageRedundancy\"],\n value: createUnionShape(),\n readOnly: true,\n },\n creationDate: {\n armPath: [\"creationDate\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n databaseName: { armPath: [\"databaseName\"], value: createStringShape(), readOnly: true },\n deletionDate: {\n armPath: [\"deletionDate\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n earliestRestoreDate: {\n armPath: [\"earliestRestoreDate\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n keys: {\n armPath: [\"keys\"],\n value: createRecordShape(createDeferredShape(() => databaseKeyShape)),\n readOnly: true,\n },\n maxSizeBytes: { armPath: [\"maxSizeBytes\"], value: createNumberShape(), readOnly: true },\n});\n\n/**\n * The restorable dropped managed database's properties.\n */\nexport interface RestorableDroppedManagedDatabaseProperties {\n /**\n * The creation date of the database (ISO8601 format).\n */\n creationDate?: Date;\n /**\n * The name of the database.\n */\n databaseName?: string;\n /**\n * The deletion date of the database (ISO8601 format).\n */\n deletionDate?: Date;\n /**\n * The earliest restore date of the database (ISO8601 format).\n */\n earliestRestoreDate?: Date;\n}\n\n/**\n * Input type for The restorable dropped managed database's properties.\n */\nexport interface RestorableDroppedManagedDatabasePropertiesInput extends InputOf<RestorableDroppedManagedDatabaseProperties> {}\n\n/**\n * View type for The restorable dropped managed database's properties.\n */\nexport interface RestorableDroppedManagedDatabasePropertiesView extends InputOf<RestorableDroppedManagedDatabaseProperties> {\n /**\n * Read-only output: The creation date of the database (ISO8601 format).\n */\n readonly creationDate?: Expression<Date> | undefined;\n /**\n * Read-only output: The name of the database.\n */\n readonly databaseName?: Expression<string> | undefined;\n /**\n * Read-only output: The deletion date of the database (ISO8601 format).\n */\n readonly deletionDate?: Expression<Date> | undefined;\n /**\n * Read-only output: The earliest restore date of the database (ISO8601 format).\n */\n readonly earliestRestoreDate?: Expression<Date> | undefined;\n}\n\nexport const restorableDroppedManagedDatabasePropertiesShape: FlatModelShape = createFlatModelShape(\n {\n creationDate: {\n armPath: [\"creationDate\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n databaseName: { armPath: [\"databaseName\"], value: createStringShape(), readOnly: true },\n deletionDate: {\n armPath: [\"deletionDate\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n earliestRestoreDate: {\n armPath: [\"earliestRestoreDate\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n },\n);\n\n/**\n * Properties of a database restore point\n */\nexport interface RestorePointProperties {\n /**\n * The earliest time to which this database can be restored\n */\n earliestRestoreDate?: Date;\n /**\n * The time the backup was taken\n */\n restorePointCreationDate?: Date;\n /**\n * The label of restore point for backup request by user\n */\n restorePointLabel?: string;\n /**\n * The type of restore point\n */\n restorePointType?: RestorePointType;\n}\n\n/**\n * Input type for Properties of a database restore point\n */\nexport interface RestorePointPropertiesInput extends InputOf<RestorePointProperties> {}\n\n/**\n * View type for Properties of a database restore point\n */\nexport interface RestorePointPropertiesView extends InputOf<RestorePointProperties> {\n /**\n * Read-only output: The earliest time to which this database can be restored\n */\n readonly earliestRestoreDate?: Expression<Date> | undefined;\n /**\n * Read-only output: The time the backup was taken\n */\n readonly restorePointCreationDate?: Expression<Date> | undefined;\n /**\n * Read-only output: The label of restore point for backup request by user\n */\n readonly restorePointLabel?: Expression<string> | undefined;\n /**\n * Read-only output: The type of restore point\n */\n readonly restorePointType?: Expression<RestorePointType> | undefined;\n}\n\nexport const restorePointPropertiesShape: FlatModelShape = createFlatModelShape({\n earliestRestoreDate: {\n armPath: [\"earliestRestoreDate\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n restorePointCreationDate: {\n armPath: [\"restorePointCreationDate\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n restorePointLabel: { armPath: [\"restorePointLabel\"], value: createStringShape(), readOnly: true },\n restorePointType: { armPath: [\"restorePointType\"], value: createEnumShape(), readOnly: true },\n});\n\n/**\n * Schedule info describing when the server should be started or stopped.\n */\nexport interface ScheduleItem {\n /**\n * Start day.\n */\n startDay: DayOfWeek;\n /**\n * Start time.\n */\n startTime: string;\n /**\n * Stop day.\n */\n stopDay: DayOfWeek;\n /**\n * Stop time.\n */\n stopTime: string;\n}\n\n/**\n * Input type for Schedule info describing when the server should be started or stopped.\n */\nexport interface ScheduleItemInput extends InputOf<ScheduleItem> {\n /**\n * Start day.\n */\n startDay: ExpressionOrValue<DayOfWeek>;\n /**\n * Start time.\n */\n startTime: ExpressionOrValue<string>;\n /**\n * Stop day.\n */\n stopDay: ExpressionOrValue<DayOfWeek>;\n /**\n * Stop time.\n */\n stopTime: ExpressionOrValue<string>;\n}\n\n/**\n * View type for Schedule info describing when the server should be started or stopped.\n */\nexport type ScheduleItemView = ScheduleItemInput;\n\nexport const scheduleItemShape: FlatModelShape = createFlatModelShape({\n startDay: { armPath: [\"startDay\"], value: createUnionShape() },\n startTime: { armPath: [\"startTime\"], value: createStringShape() },\n stopDay: { armPath: [\"stopDay\"], value: createUnionShape() },\n stopTime: { armPath: [\"stopTime\"], value: createStringShape() },\n});\n\n/**\n * Properties of a security alert policy.\n */\nexport interface SecurityAlertPolicyProperties {\n /**\n * Specifies the UTC creation time of the policy.\n */\n creationTime?: Date;\n /**\n * Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force\n */\n disabledAlerts?: string[];\n /**\n * Specifies that the alert is sent to the account administrators.\n */\n emailAccountAdmins?: boolean;\n /**\n * Specifies an array of e-mail addresses to which the alert is sent.\n */\n emailAddresses?: string[];\n /**\n * Specifies the number of days to keep in the Threat Detection audit logs.\n */\n retentionDays?: number;\n /**\n * Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database.\n */\n state: SecurityAlertPolicyState;\n /**\n * Specifies the identifier key of the Threat Detection audit storage account.\n */\n storageAccountAccessKey?: string;\n /**\n * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.\n */\n storageEndpoint?: string;\n}\n\n/**\n * Input type for Properties of a security alert policy.\n */\nexport interface SecurityAlertPolicyPropertiesInput extends InputOf<SecurityAlertPolicyProperties> {\n /**\n * Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force\n */\n disabledAlerts?: InputArray<ExpressionOrValue<string>, string[]> | undefined;\n /**\n * Specifies that the alert is sent to the account administrators.\n */\n emailAccountAdmins?: ExpressionOrValue<boolean> | undefined;\n /**\n * Specifies an array of e-mail addresses to which the alert is sent.\n */\n emailAddresses?: InputArray<ExpressionOrValue<string>, string[]> | undefined;\n /**\n * Specifies the number of days to keep in the Threat Detection audit logs.\n */\n retentionDays?: ExpressionOrValue<number> | undefined;\n /**\n * Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database.\n */\n state: ExpressionOrValue<SecurityAlertPolicyState>;\n /**\n * Specifies the identifier key of the Threat Detection audit storage account.\n */\n storageAccountAccessKey?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.\n */\n storageEndpoint?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties of a security alert policy.\n */\nexport interface SecurityAlertPolicyPropertiesView extends InputOf<SecurityAlertPolicyProperties> {\n /**\n * Read-only output: Specifies the UTC creation time of the policy.\n */\n readonly creationTime?: Expression<Date> | undefined;\n /**\n * Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force\n */\n disabledAlerts?: InputArray<ExpressionOrValue<string>, string[]> | undefined;\n /**\n * Specifies that the alert is sent to the account administrators.\n */\n emailAccountAdmins?: ExpressionOrValue<boolean> | undefined;\n /**\n * Specifies an array of e-mail addresses to which the alert is sent.\n */\n emailAddresses?: InputArray<ExpressionOrValue<string>, string[]> | undefined;\n /**\n * Specifies the number of days to keep in the Threat Detection audit logs.\n */\n retentionDays?: ExpressionOrValue<number> | undefined;\n /**\n * Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database.\n */\n state: ExpressionOrValue<SecurityAlertPolicyState>;\n /**\n * Specifies the identifier key of the Threat Detection audit storage account.\n */\n storageAccountAccessKey?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.\n */\n storageEndpoint?: ExpressionOrValue<string> | undefined;\n}\n\nexport const securityAlertPolicyPropertiesShape: FlatModelShape = createFlatModelShape({\n creationTime: {\n armPath: [\"creationTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n disabledAlerts: { armPath: [\"disabledAlerts\"], value: createArrayShape(createStringShape()) },\n emailAccountAdmins: { armPath: [\"emailAccountAdmins\"], value: createBooleanShape() },\n emailAddresses: { armPath: [\"emailAddresses\"], value: createArrayShape(createStringShape()) },\n retentionDays: { armPath: [\"retentionDays\"], value: createNumberShape() },\n state: { armPath: [\"state\"], value: createEnumShape() },\n storageAccountAccessKey: { armPath: [\"storageAccountAccessKey\"], value: createStringShape() },\n storageEndpoint: { armPath: [\"storageEndpoint\"], value: createStringShape() },\n});\n\n/**\n * Properties of a security alert policy.\n */\nexport interface SecurityAlertsPolicyProperties {\n /**\n * Specifies the UTC creation time of the policy.\n */\n creationTime?: Date;\n /**\n * Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force\n */\n disabledAlerts?: string[];\n /**\n * Specifies that the alert is sent to the account administrators.\n */\n emailAccountAdmins?: boolean;\n /**\n * Specifies an array of e-mail addresses to which the alert is sent.\n */\n emailAddresses?: string[];\n /**\n * Specifies the number of days to keep in the Threat Detection audit logs.\n */\n retentionDays?: number;\n /**\n * Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database.\n */\n state: SecurityAlertsPolicyState;\n /**\n * Specifies the identifier key of the Threat Detection audit storage account.\n */\n storageAccountAccessKey?: string;\n /**\n * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.\n */\n storageEndpoint?: string;\n}\n\n/**\n * Input type for Properties of a security alert policy.\n */\nexport interface SecurityAlertsPolicyPropertiesInput extends InputOf<SecurityAlertsPolicyProperties> {\n /**\n * Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force\n */\n disabledAlerts?: InputArray<ExpressionOrValue<string>, string[]> | undefined;\n /**\n * Specifies that the alert is sent to the account administrators.\n */\n emailAccountAdmins?: ExpressionOrValue<boolean> | undefined;\n /**\n * Specifies an array of e-mail addresses to which the alert is sent.\n */\n emailAddresses?: InputArray<ExpressionOrValue<string>, string[]> | undefined;\n /**\n * Specifies the number of days to keep in the Threat Detection audit logs.\n */\n retentionDays?: ExpressionOrValue<number> | undefined;\n /**\n * Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database.\n */\n state: ExpressionOrValue<SecurityAlertsPolicyState>;\n /**\n * Specifies the identifier key of the Threat Detection audit storage account.\n */\n storageAccountAccessKey?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.\n */\n storageEndpoint?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties of a security alert policy.\n */\nexport interface SecurityAlertsPolicyPropertiesView extends InputOf<SecurityAlertsPolicyProperties> {\n /**\n * Read-only output: Specifies the UTC creation time of the policy.\n */\n readonly creationTime?: Expression<Date> | undefined;\n /**\n * Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force\n */\n disabledAlerts?: InputArray<ExpressionOrValue<string>, string[]> | undefined;\n /**\n * Specifies that the alert is sent to the account administrators.\n */\n emailAccountAdmins?: ExpressionOrValue<boolean> | undefined;\n /**\n * Specifies an array of e-mail addresses to which the alert is sent.\n */\n emailAddresses?: InputArray<ExpressionOrValue<string>, string[]> | undefined;\n /**\n * Specifies the number of days to keep in the Threat Detection audit logs.\n */\n retentionDays?: ExpressionOrValue<number> | undefined;\n /**\n * Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database.\n */\n state: ExpressionOrValue<SecurityAlertsPolicyState>;\n /**\n * Specifies the identifier key of the Threat Detection audit storage account.\n */\n storageAccountAccessKey?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.\n */\n storageEndpoint?: ExpressionOrValue<string> | undefined;\n}\n\nexport const securityAlertsPolicyPropertiesShape: FlatModelShape = createFlatModelShape({\n creationTime: {\n armPath: [\"creationTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n disabledAlerts: { armPath: [\"disabledAlerts\"], value: createArrayShape(createStringShape()) },\n emailAccountAdmins: { armPath: [\"emailAccountAdmins\"], value: createBooleanShape() },\n emailAddresses: { armPath: [\"emailAddresses\"], value: createArrayShape(createStringShape()) },\n retentionDays: { armPath: [\"retentionDays\"], value: createNumberShape() },\n state: { armPath: [\"state\"], value: createEnumShape() },\n storageAccountAccessKey: { armPath: [\"storageAccountAccessKey\"], value: createStringShape() },\n storageEndpoint: { armPath: [\"storageEndpoint\"], value: createStringShape() },\n});\n\n/**\n * Properties of a sensitivity label.\n */\nexport interface SensitivityLabelProperties {\n clientClassificationSource?: ClientClassificationSource;\n /**\n * The column name.\n */\n columnName?: string;\n /**\n * The information type.\n */\n informationType?: string;\n /**\n * The information type ID.\n */\n informationTypeId?: string;\n /**\n * Is sensitivity recommendation disabled. Applicable for recommended sensitivity label only. Specifies whether the sensitivity recommendation on this column is disabled (dismissed) or not.\n */\n isDisabled?: boolean;\n /**\n * The label ID.\n */\n labelId?: string;\n /**\n * The label name.\n */\n labelName?: string;\n rank?: SensitivityLabelRank;\n /**\n * The schema name.\n */\n schemaName?: string;\n /**\n * The table name.\n */\n tableName?: string;\n}\n\n/**\n * Input type for Properties of a sensitivity label.\n */\nexport interface SensitivityLabelPropertiesInput extends InputOf<SensitivityLabelProperties> {\n clientClassificationSource?: ExpressionOrValue<ClientClassificationSource> | undefined;\n /**\n * The information type.\n */\n informationType?: ExpressionOrValue<string> | undefined;\n /**\n * The information type ID.\n */\n informationTypeId?: ExpressionOrValue<string> | undefined;\n /**\n * The label ID.\n */\n labelId?: ExpressionOrValue<string> | undefined;\n /**\n * The label name.\n */\n labelName?: ExpressionOrValue<string> | undefined;\n rank?: ExpressionOrValue<SensitivityLabelRank> | undefined;\n}\n\n/**\n * View type for Properties of a sensitivity label.\n */\nexport interface SensitivityLabelPropertiesView extends InputOf<SensitivityLabelProperties> {\n clientClassificationSource?: ExpressionOrValue<ClientClassificationSource> | undefined;\n /**\n * Read-only output: The column name.\n */\n readonly columnName?: Expression<string> | undefined;\n /**\n * The information type.\n */\n informationType?: ExpressionOrValue<string> | undefined;\n /**\n * The information type ID.\n */\n informationTypeId?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: Is sensitivity recommendation disabled. Applicable for recommended sensitivity label only. Specifies whether the sensitivity recommendation on this column is disabled (dismissed) or not.\n */\n readonly isDisabled?: Expression<boolean> | undefined;\n /**\n * The label ID.\n */\n labelId?: ExpressionOrValue<string> | undefined;\n /**\n * The label name.\n */\n labelName?: ExpressionOrValue<string> | undefined;\n rank?: ExpressionOrValue<SensitivityLabelRank> | undefined;\n /**\n * Read-only output: The schema name.\n */\n readonly schemaName?: Expression<string> | undefined;\n /**\n * Read-only output: The table name.\n */\n readonly tableName?: Expression<string> | undefined;\n}\n\nexport const sensitivityLabelPropertiesShape: FlatModelShape = createFlatModelShape({\n clientClassificationSource: {\n armPath: [\"clientClassificationSource\"],\n value: createUnionShape(),\n },\n columnName: { armPath: [\"columnName\"], value: createStringShape(), readOnly: true },\n informationType: { armPath: [\"informationType\"], value: createStringShape() },\n informationTypeId: { armPath: [\"informationTypeId\"], value: createStringShape() },\n isDisabled: { armPath: [\"isDisabled\"], value: createBooleanShape(), readOnly: true },\n labelId: { armPath: [\"labelId\"], value: createStringShape() },\n labelName: { armPath: [\"labelName\"], value: createStringShape() },\n rank: { armPath: [\"rank\"], value: createEnumShape() },\n schemaName: { armPath: [\"schemaName\"], value: createStringShape(), readOnly: true },\n tableName: { armPath: [\"tableName\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * Properties of a server blob auditing policy.\n */\nexport interface ServerBlobAuditingPolicyProperties {\n /**\n * Specifies the Actions-Groups and Actions to audit.\n *\n * The recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins:\n *\n * BATCH_COMPLETED_GROUP,\n * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,\n * FAILED_DATABASE_AUTHENTICATION_GROUP.\n *\n * This above combination is also the set that is configured by default when enabling auditing from the Azure portal.\n *\n * The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records):\n *\n * APPLICATION_ROLE_CHANGE_PASSWORD_GROUP\n * BACKUP_RESTORE_GROUP\n * DATABASE_LOGOUT_GROUP\n * DATABASE_OBJECT_CHANGE_GROUP\n * DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP\n * DATABASE_OBJECT_PERMISSION_CHANGE_GROUP\n * DATABASE_OPERATION_GROUP\n * DATABASE_PERMISSION_CHANGE_GROUP\n * DATABASE_PRINCIPAL_CHANGE_GROUP\n * DATABASE_PRINCIPAL_IMPERSONATION_GROUP\n * DATABASE_ROLE_MEMBER_CHANGE_GROUP\n * FAILED_DATABASE_AUTHENTICATION_GROUP\n * SCHEMA_OBJECT_ACCESS_GROUP\n * SCHEMA_OBJECT_CHANGE_GROUP\n * SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP\n * SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP\n * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP\n * USER_CHANGE_PASSWORD_GROUP\n * BATCH_STARTED_GROUP\n * BATCH_COMPLETED_GROUP\n * DBCC_GROUP\n * DATABASE_OWNERSHIP_CHANGE_GROUP\n * DATABASE_CHANGE_GROUP\n * LEDGER_OPERATION_GROUP\n *\n * These are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs.\n *\n * For more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups).\n *\n * For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are:\n * SELECT\n * UPDATE\n * INSERT\n * DELETE\n * EXECUTE\n * RECEIVE\n * REFERENCES\n *\n * The general form for defining an action to be audited is:\n * {action} ON {object} BY {principal}\n *\n * Note that <object> in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively.\n *\n * For example:\n * SELECT on dbo.myTable by public\n * SELECT on DATABASE::myDatabase by public\n * SELECT on SCHEMA::mySchema by public\n *\n * For more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions)\n */\n auditActionsAndGroups?: string[];\n /**\n * Specifies whether audit events are sent to Azure Monitor.\n * In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true.\n *\n * When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created.\n * Note that for server level audit you should use the 'master' database as {databaseName}.\n *\n * Diagnostic Settings URI format:\n * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\n *\n * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\n * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\n */\n isAzureMonitorTargetEnabled?: boolean;\n /**\n * **Note:** This field will soon be deprecated. Going forward, use the dedicated Server DevOps Audit Settings APIs to configure DevOps audit. See:\n *\n * - [Server DevOps Audit Settings - Create Or Update](https://learn.microsoft.com/en-us/rest/api/sql/server-devops-audit-settings/create-or-update)\n * - [Server DevOps Audit Settings - Get](https://learn.microsoft.com/en-us/rest/api/sql/server-devops-audit-settings/get)\n *\n * ---\n *\n * Specifies the state of devops audit. If state is Enabled, devops logs will be sent to Azure Monitor.\n * In order to send the events to Azure Monitor, specify 'State' as 'Enabled', 'IsAzureMonitorTargetEnabled' as true and 'IsDevopsAuditEnabled' as true\n *\n * When using REST API to configure auditing, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on the master database should also be created.\n *\n * Diagnostic Settings URI format:\n * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\n *\n * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\n * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\n */\n isDevopsAuditEnabled?: boolean;\n /**\n * Specifies whether Managed Identity is used to access blob storage\n */\n isManagedIdentityInUse?: boolean;\n /**\n * Specifies whether storageAccountAccessKey value is the storage's secondary key.\n */\n isStorageSecondaryKeyInUse?: boolean;\n /**\n * Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed.\n * The default minimum value is 1000 (1 second). The maximum is 2,147,483,647.\n */\n queueDelayMs?: number;\n /**\n * Specifies the number of days to keep in the audit logs in the storage account.\n */\n retentionDays?: number;\n /**\n * Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required.\n */\n state: BlobAuditingPolicyState;\n /**\n * Specifies the identifier key of the auditing storage account.\n * If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage.\n * Prerequisites for using managed identity authentication:\n * 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).\n * 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity.\n * For more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355)\n */\n storageAccountAccessKey?: string;\n /**\n * Specifies the blob storage subscription Id.\n */\n storageAccountSubscriptionId?: string;\n /**\n * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required.\n */\n storageEndpoint?: string;\n}\n\n/**\n * Input type for Properties of a server blob auditing policy.\n */\nexport interface ServerBlobAuditingPolicyPropertiesInput extends InputOf<ServerBlobAuditingPolicyProperties> {\n /**\n * Specifies the Actions-Groups and Actions to audit.\n *\n * The recommended set of action groups to use is the following combination - this will audit all the queries and stored procedures executed against the database, as well as successful and failed logins:\n *\n * BATCH_COMPLETED_GROUP,\n * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,\n * FAILED_DATABASE_AUTHENTICATION_GROUP.\n *\n * This above combination is also the set that is configured by default when enabling auditing from the Azure portal.\n *\n * The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using unnecessary groups could lead to very large quantities of audit records):\n *\n * APPLICATION_ROLE_CHANGE_PASSWORD_GROUP\n * BACKUP_RESTORE_GROUP\n * DATABASE_LOGOUT_GROUP\n * DATABASE_OBJECT_CHANGE_GROUP\n * DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP\n * DATABASE_OBJECT_PERMISSION_CHANGE_GROUP\n * DATABASE_OPERATION_GROUP\n * DATABASE_PERMISSION_CHANGE_GROUP\n * DATABASE_PRINCIPAL_CHANGE_GROUP\n * DATABASE_PRINCIPAL_IMPERSONATION_GROUP\n * DATABASE_ROLE_MEMBER_CHANGE_GROUP\n * FAILED_DATABASE_AUTHENTICATION_GROUP\n * SCHEMA_OBJECT_ACCESS_GROUP\n * SCHEMA_OBJECT_CHANGE_GROUP\n * SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP\n * SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP\n * SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP\n * USER_CHANGE_PASSWORD_GROUP\n * BATCH_STARTED_GROUP\n * BATCH_COMPLETED_GROUP\n * DBCC_GROUP\n * DATABASE_OWNERSHIP_CHANGE_GROUP\n * DATABASE_CHANGE_GROUP\n * LEDGER_OPERATION_GROUP\n *\n * These are groups that cover all sql statements and stored procedures executed against the database, and should not be used in combination with other groups as this will result in duplicate audit logs.\n *\n * For more information, see [Database-Level Audit Action Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups).\n *\n * For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server auditing policy). The supported actions to audit are:\n * SELECT\n * UPDATE\n * INSERT\n * DELETE\n * EXECUTE\n * RECEIVE\n * REFERENCES\n *\n * The general form for defining an action to be audited is:\n * {action} ON {object} BY {principal}\n *\n * Note that <object> in the above format can refer to an object like a table, view, or stored procedure, or an entire database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively.\n *\n * For example:\n * SELECT on dbo.myTable by public\n * SELECT on DATABASE::myDatabase by public\n * SELECT on SCHEMA::mySchema by public\n *\n * For more information, see [Database-Level Audit Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions)\n */\n auditActionsAndGroups?: InputArray<ExpressionOrValue<string>, string[]> | undefined;\n /**\n * Specifies whether audit events are sent to Azure Monitor.\n * In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true.\n *\n * When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on the database should be also created.\n * Note that for server level audit you should use the 'master' database as {databaseName}.\n *\n * Diagnostic Settings URI format:\n * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\n *\n * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\n * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\n */\n isAzureMonitorTargetEnabled?: ExpressionOrValue<boolean> | undefined;\n /**\n * **Note:** This field will soon be deprecated. Going forward, use the dedicated Server DevOps Audit Settings APIs to configure DevOps audit. See:\n *\n * - [Server DevOps Audit Settings - Create Or Update](https://learn.microsoft.com/en-us/rest/api/sql/server-devops-audit-settings/create-or-update)\n * - [Server DevOps Audit Settings - Get](https://learn.microsoft.com/en-us/rest/api/sql/server-devops-audit-settings/get)\n *\n * ---\n *\n * Specifies the state of devops audit. If state is Enabled, devops logs will be sent to Azure Monitor.\n * In order to send the events to Azure Monitor, specify 'State' as 'Enabled', 'IsAzureMonitorTargetEnabled' as true and 'IsDevopsAuditEnabled' as true\n *\n * When using REST API to configure auditing, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on the master database should also be created.\n *\n * Diagnostic Settings URI format:\n * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\n *\n * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\n * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\n */\n isDevopsAuditEnabled?: ExpressionOrValue<boolean> | undefined;\n /**\n * Specifies whether Managed Identity is used to access blob storage\n */\n isManagedIdentityInUse?: ExpressionOrValue<boolean> | undefined;\n /**\n * Specifies whether storageAccountAccessKey value is the storage's secondary key.\n */\n isStorageSecondaryKeyInUse?: ExpressionOrValue<boolean> | undefined;\n /**\n * Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed.\n * The default minimum value is 1000 (1 second). The maximum is 2,147,483,647.\n */\n queueDelayMs?: ExpressionOrValue<number> | undefined;\n /**\n * Specifies the number of days to keep in the audit logs in the storage account.\n */\n retentionDays?: ExpressionOrValue<number> | undefined;\n /**\n * Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required.\n */\n state: ExpressionOrValue<BlobAuditingPolicyState>;\n /**\n * Specifies the identifier key of the auditing storage account.\n * If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage.\n * Prerequisites for using managed identity authentication:\n * 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).\n * 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity.\n * For more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355)\n */\n storageAccountAccessKey?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the blob storage subscription Id.\n */\n storageAccountSubscriptionId?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required.\n */\n storageEndpoint?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties of a server blob auditing policy.\n */\nexport type ServerBlobAuditingPolicyPropertiesView = ServerBlobAuditingPolicyPropertiesInput;\n\nexport const serverBlobAuditingPolicyPropertiesShape: FlatModelShape = createFlatModelShape({\n auditActionsAndGroups: {\n armPath: [\"auditActionsAndGroups\"],\n value: createArrayShape(createStringShape()),\n },\n isAzureMonitorTargetEnabled: {\n armPath: [\"isAzureMonitorTargetEnabled\"],\n value: createBooleanShape(),\n },\n isDevopsAuditEnabled: { armPath: [\"isDevopsAuditEnabled\"], value: createBooleanShape() },\n isManagedIdentityInUse: { armPath: [\"isManagedIdentityInUse\"], value: createBooleanShape() },\n isStorageSecondaryKeyInUse: {\n armPath: [\"isStorageSecondaryKeyInUse\"],\n value: createBooleanShape(),\n },\n queueDelayMs: { armPath: [\"queueDelayMs\"], value: createNumberShape() },\n retentionDays: { armPath: [\"retentionDays\"], value: createNumberShape() },\n state: { armPath: [\"state\"], value: createEnumShape() },\n storageAccountAccessKey: { armPath: [\"storageAccountAccessKey\"], value: createStringShape() },\n storageAccountSubscriptionId: {\n armPath: [\"storageAccountSubscriptionId\"],\n value: createStringShape(),\n },\n storageEndpoint: { armPath: [\"storageEndpoint\"], value: createStringShape() },\n});\n\n/**\n * The properties of server configuration option.\n */\nexport interface ServerConfigurationOptionProperties {\n /**\n * Provisioning state of server configuration option.\n */\n provisioningState?: ProvisioningState;\n /**\n * Value of the server configuration option.\n */\n serverConfigurationOptionValue: number;\n}\n\n/**\n * Input type for The properties of server configuration option.\n */\nexport interface ServerConfigurationOptionPropertiesInput extends InputOf<ServerConfigurationOptionProperties> {\n /**\n * Value of the server configuration option.\n */\n serverConfigurationOptionValue: ExpressionOrValue<number>;\n}\n\n/**\n * View type for The properties of server configuration option.\n */\nexport interface ServerConfigurationOptionPropertiesView extends InputOf<ServerConfigurationOptionProperties> {\n /**\n * Read-only output: Provisioning state of server configuration option.\n */\n readonly provisioningState?: Expression<ProvisioningState> | undefined;\n /**\n * Value of the server configuration option.\n */\n serverConfigurationOptionValue: ExpressionOrValue<number>;\n}\n\nexport const serverConfigurationOptionPropertiesShape: FlatModelShape = createFlatModelShape({\n provisioningState: { armPath: [\"provisioningState\"], value: createUnionShape(), readOnly: true },\n serverConfigurationOptionValue: {\n armPath: [\"serverConfigurationOptionValue\"],\n value: createNumberShape(),\n },\n});\n\n/**\n * The properties of a server connection policy.\n */\nexport interface ServerConnectionPolicyProperties {\n /**\n * The server connection type.\n */\n connectionType: ServerConnectionType;\n}\n\n/**\n * Input type for The properties of a server connection policy.\n */\nexport interface ServerConnectionPolicyPropertiesInput extends InputOf<ServerConnectionPolicyProperties> {\n /**\n * The server connection type.\n */\n connectionType: ExpressionOrValue<ServerConnectionType>;\n}\n\n/**\n * View type for The properties of a server connection policy.\n */\nexport type ServerConnectionPolicyPropertiesView = ServerConnectionPolicyPropertiesInput;\n\nexport const serverConnectionPolicyPropertiesShape: FlatModelShape = createFlatModelShape({\n connectionType: { armPath: [\"connectionType\"], value: createUnionShape() },\n});\n\n/**\n * Properties of a server DevOps audit settings.\n */\nexport interface ServerDevOpsAuditSettingsProperties {\n /**\n * Specifies whether DevOps audit events are sent to Azure Monitor.\n * In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true.\n *\n * When using REST API to configure DevOps audit, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on the master database should be also created.\n *\n * Diagnostic Settings URI format:\n * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\n *\n * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\n * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\n */\n isAzureMonitorTargetEnabled?: boolean;\n /**\n * Specifies whether Managed Identity is used to access blob storage\n */\n isManagedIdentityInUse?: boolean;\n /**\n * Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required.\n */\n state: BlobAuditingPolicyState;\n /**\n * Specifies the identifier key of the auditing storage account.\n * If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage.\n * Prerequisites for using managed identity authentication:\n * 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).\n * 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity.\n * For more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355)\n */\n storageAccountAccessKey?: string;\n /**\n * Specifies the blob storage subscription Id.\n */\n storageAccountSubscriptionId?: string;\n /**\n * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required.\n */\n storageEndpoint?: string;\n}\n\n/**\n * Input type for Properties of a server DevOps audit settings.\n */\nexport interface ServerDevOpsAuditSettingsPropertiesInput extends InputOf<ServerDevOpsAuditSettingsProperties> {\n /**\n * Specifies whether DevOps audit events are sent to Azure Monitor.\n * In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true.\n *\n * When using REST API to configure DevOps audit, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on the master database should be also created.\n *\n * Diagnostic Settings URI format:\n * PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview\n *\n * For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207)\n * or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043)\n */\n isAzureMonitorTargetEnabled?: ExpressionOrValue<boolean> | undefined;\n /**\n * Specifies whether Managed Identity is used to access blob storage\n */\n isManagedIdentityInUse?: ExpressionOrValue<boolean> | undefined;\n /**\n * Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required.\n */\n state: ExpressionOrValue<BlobAuditingPolicyState>;\n /**\n * Specifies the identifier key of the auditing storage account.\n * If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server system-assigned managed identity to access the storage.\n * Prerequisites for using managed identity authentication:\n * 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).\n * 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the server identity.\n * For more information, see [Auditing to storage using Managed Identity authentication](https://go.microsoft.com/fwlink/?linkid=2114355)\n */\n storageAccountAccessKey?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the blob storage subscription Id.\n */\n storageAccountSubscriptionId?: ExpressionOrValue<string> | undefined;\n /**\n * Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required.\n */\n storageEndpoint?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties of a server DevOps audit settings.\n */\nexport type ServerDevOpsAuditSettingsPropertiesView = ServerDevOpsAuditSettingsPropertiesInput;\n\nexport const serverDevOpsAuditSettingsPropertiesShape: FlatModelShape = createFlatModelShape({\n isAzureMonitorTargetEnabled: {\n armPath: [\"isAzureMonitorTargetEnabled\"],\n value: createBooleanShape(),\n },\n isManagedIdentityInUse: { armPath: [\"isManagedIdentityInUse\"], value: createBooleanShape() },\n state: { armPath: [\"state\"], value: createEnumShape() },\n storageAccountAccessKey: { armPath: [\"storageAccountAccessKey\"], value: createStringShape() },\n storageAccountSubscriptionId: {\n armPath: [\"storageAccountSubscriptionId\"],\n value: createStringShape(),\n },\n storageEndpoint: { armPath: [\"storageEndpoint\"], value: createStringShape() },\n});\n\n/**\n * Properties of a server DNS alias.\n */\nexport interface ServerDnsAliasProperties {\n /**\n * The fully qualified DNS record for alias\n */\n azureDnsRecord?: string;\n}\n\n/**\n * Input type for Properties of a server DNS alias.\n */\nexport interface ServerDnsAliasPropertiesInput extends InputOf<ServerDnsAliasProperties> {}\n\n/**\n * View type for Properties of a server DNS alias.\n */\nexport interface ServerDnsAliasPropertiesView extends InputOf<ServerDnsAliasProperties> {\n /**\n * Read-only output: The fully qualified DNS record for alias\n */\n readonly azureDnsRecord?: Expression<string> | undefined;\n}\n\nexport const serverDnsAliasPropertiesShape: FlatModelShape = createFlatModelShape({\n azureDnsRecord: { armPath: [\"azureDnsRecord\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * Properties of a active directory administrator.\n */\nexport interface ServerExternalAdministrator {\n /**\n * Type of the sever administrator.\n */\n administratorType?: AdministratorType;\n /**\n * Azure Active Directory only Authentication enabled.\n */\n azureAdOnlyAuthentication?: boolean;\n /**\n * Login name of the server administrator.\n */\n login?: string;\n /**\n * Principal Type of the sever administrator.\n */\n principalType?: PrincipalType;\n /**\n * SID (object ID) of the server administrator.\n */\n sid?: string;\n /**\n * Tenant ID of the administrator.\n */\n tenantId?: string;\n}\n\n/**\n * Input type for Properties of a active directory administrator.\n */\nexport interface ServerExternalAdministratorInput extends InputOf<ServerExternalAdministrator> {\n /**\n * Type of the sever administrator.\n */\n administratorType?: ExpressionOrValue<AdministratorType> | undefined;\n /**\n * Azure Active Directory only Authentication enabled.\n */\n azureAdOnlyAuthentication?: ExpressionOrValue<boolean> | undefined;\n /**\n * Login name of the server administrator.\n */\n login?: ExpressionOrValue<string> | undefined;\n /**\n * Principal Type of the sever administrator.\n */\n principalType?: ExpressionOrValue<PrincipalType> | undefined;\n /**\n * SID (object ID) of the server administrator.\n */\n sid?: ExpressionOrValue<string> | undefined;\n /**\n * Tenant ID of the administrator.\n */\n tenantId?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties of a active directory administrator.\n */\nexport type ServerExternalAdministratorView = ServerExternalAdministratorInput;\n\nexport const serverExternalAdministratorShape: FlatModelShape = createFlatModelShape({\n administratorType: { armPath: [\"administratorType\"], value: createUnionShape() },\n azureAdOnlyAuthentication: {\n armPath: [\"azureADOnlyAuthentication\"],\n value: createBooleanShape(),\n },\n login: { armPath: [\"login\"], value: createStringShape() },\n principalType: { armPath: [\"principalType\"], value: createUnionShape() },\n sid: { armPath: [\"sid\"], value: createStringShape() },\n tenantId: { armPath: [\"tenantId\"], value: createStringShape() },\n});\n\n/**\n * The properties of a server firewall rule.\n */\nexport interface ServerFirewallRuleProperties {\n /**\n * The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to startIpAddress. Use value '0.0.0.0' for all Azure-internal IP addresses.\n */\n endIpAddress?: string;\n /**\n * The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' for all Azure-internal IP addresses.\n */\n startIpAddress?: string;\n}\n\n/**\n * Input type for The properties of a server firewall rule.\n */\nexport interface ServerFirewallRulePropertiesInput extends InputOf<ServerFirewallRuleProperties> {\n /**\n * The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to startIpAddress. Use value '0.0.0.0' for all Azure-internal IP addresses.\n */\n endIpAddress?: ExpressionOrValue<string> | undefined;\n /**\n * The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' for all Azure-internal IP addresses.\n */\n startIpAddress?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for The properties of a server firewall rule.\n */\nexport type ServerFirewallRulePropertiesView = ServerFirewallRulePropertiesInput;\n\nexport const serverFirewallRulePropertiesShape: FlatModelShape = createFlatModelShape({\n endIpAddress: { armPath: [\"endIpAddress\"], value: createStringShape() },\n startIpAddress: { armPath: [\"startIpAddress\"], value: createStringShape() },\n});\n\n/**\n * Server info for the server trust group.\n */\nexport interface ServerInfo {\n /**\n * Server Id.\n */\n serverId: string;\n}\n\n/**\n * Input type for Server info for the server trust group.\n */\nexport interface ServerInfoInput extends InputOf<ServerInfo> {\n /**\n * Server Id.\n */\n serverId: ExpressionOrValue<string>;\n}\n\n/**\n * View type for Server info for the server trust group.\n */\nexport type ServerInfoView = ServerInfoInput;\n\nexport const serverInfoShape: FlatModelShape = createFlatModelShape({\n serverId: { armPath: [\"serverId\"], value: createStringShape() },\n});\n\n/**\n * Properties for a server key execution.\n */\nexport interface ServerKeyProperties {\n /**\n * Key auto rotation opt-in flag. Either true or false.\n */\n autoRotationEnabled?: boolean;\n /**\n * The server key creation date.\n */\n creationDate?: Date;\n /**\n * The version of the server key.\n */\n keyVersion?: string;\n /**\n * The server key type like 'ServiceManaged', 'AzureKeyVault'.\n */\n serverKeyType: ServerKeyType;\n /**\n * Subregion of the server key.\n */\n subregion?: string;\n /**\n * Thumbprint of the server key.\n */\n thumbprint?: string;\n /**\n * The URI of the server key. If the ServerKeyType is AzureKeyVault, then the URI is required. The AKV URI is required to be in this format: 'https://YourVaultName.vault.azure.net/keys/YourKeyName/YourKeyVersion' or can be 'https://YourVaultName.vault.azure.net/keys/YourKeyName'\n */\n uri?: string;\n}\n\n/**\n * Input type for Properties for a server key execution.\n */\nexport interface ServerKeyPropertiesInput extends InputOf<ServerKeyProperties> {\n /**\n * The server key type like 'ServiceManaged', 'AzureKeyVault'.\n */\n serverKeyType: ExpressionOrValue<ServerKeyType>;\n /**\n * The URI of the server key. If the ServerKeyType is AzureKeyVault, then the URI is required. The AKV URI is required to be in this format: 'https://YourVaultName.vault.azure.net/keys/YourKeyName/YourKeyVersion' or can be 'https://YourVaultName.vault.azure.net/keys/YourKeyName'\n */\n uri?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties for a server key execution.\n */\nexport interface ServerKeyPropertiesView extends InputOf<ServerKeyProperties> {\n /**\n * Read-only output: Key auto rotation opt-in flag. Either true or false.\n */\n readonly autoRotationEnabled?: Expression<boolean> | undefined;\n /**\n * Read-only output: The server key creation date.\n */\n readonly creationDate?: Expression<Date> | undefined;\n /**\n * Read-only output: The version of the server key.\n */\n readonly keyVersion?: Expression<string> | undefined;\n /**\n * The server key type like 'ServiceManaged', 'AzureKeyVault'.\n */\n serverKeyType: ExpressionOrValue<ServerKeyType>;\n /**\n * Read-only output: Subregion of the server key.\n */\n readonly subregion?: Expression<string> | undefined;\n /**\n * Read-only output: Thumbprint of the server key.\n */\n readonly thumbprint?: Expression<string> | undefined;\n /**\n * The URI of the server key. If the ServerKeyType is AzureKeyVault, then the URI is required. The AKV URI is required to be in this format: 'https://YourVaultName.vault.azure.net/keys/YourKeyName/YourKeyVersion' or can be 'https://YourVaultName.vault.azure.net/keys/YourKeyName'\n */\n uri?: ExpressionOrValue<string> | undefined;\n}\n\nexport const serverKeyPropertiesShape: FlatModelShape = createFlatModelShape({\n autoRotationEnabled: {\n armPath: [\"autoRotationEnabled\"],\n value: createBooleanShape(),\n readOnly: true,\n },\n creationDate: {\n armPath: [\"creationDate\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n keyVersion: { armPath: [\"keyVersion\"], value: createStringShape(), readOnly: true },\n serverKeyType: { armPath: [\"serverKeyType\"], value: createUnionShape() },\n subregion: { armPath: [\"subregion\"], value: createStringShape(), readOnly: true },\n thumbprint: { armPath: [\"thumbprint\"], value: createStringShape(), readOnly: true },\n uri: { armPath: [\"uri\"], value: createStringShape() },\n});\n\n/**\n * The properties of a server.\n */\nexport interface ServerProperties {\n /**\n * Administrator username for the server. Once created it cannot be changed.\n */\n administratorLogin?: string;\n /**\n * The administrator login password (required for server creation).\n */\n administratorLoginPassword?: string;\n /**\n * The Azure Active Directory administrator can be utilized during server creation and for server updates, except for the azureADOnlyAuthentication property. To update the azureADOnlyAuthentication property, individual API must be used.\n */\n administrators?: ServerExternalAdministrator;\n /**\n * Create mode for server, only valid values for this are Normal and Restore.\n */\n createMode?: ServerCreateMode;\n /**\n * Status of external governance.\n */\n externalGovernanceStatus?: ExternalGovernanceStatus;\n /**\n * The Client id used for cross tenant CMK scenario\n */\n federatedClientId?: string;\n /**\n * The fully qualified domain name of the server.\n */\n fullyQualifiedDomainName?: string;\n /**\n * Whether or not to enable IPv6 support for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'\n */\n isIPv6Enabled?: ServerNetworkAccessFlag;\n /**\n * A CMK URI of the key to use for encryption.\n */\n keyId?: string;\n /**\n * Minimal TLS version. Allowed values: 'None', 1.0', '1.1', '1.2', '1.3'\n */\n minimalTlsVersion?: MinimalTlsVersion;\n /**\n * The resource id of a user assigned identity to be used by default.\n */\n primaryUserAssignedIdentityId?: string;\n /**\n * List of private endpoint connections on a server\n */\n privateEndpointConnections?: SqlServerPrivateEndpointConnection[];\n /**\n * Whether or not public endpoint access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' or 'SecuredByPerimeter'\n */\n publicNetworkAccess?: ServerPublicNetworkAccessFlag;\n /**\n * Whether or not to restrict outbound network access for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'\n */\n restrictOutboundNetworkAccess?: ServerNetworkAccessFlag;\n /**\n * Number of days this server will stay soft-deleted.\n */\n retentionDays?: number;\n /**\n * The state of the server.\n */\n state?: string;\n /**\n * The version of the server.\n */\n version?: string;\n /**\n * Whether or not existing server has a workspace created and if it allows connection from workspace\n */\n workspaceFeature?: ServerWorkspaceFeature;\n}\n\n/**\n * Input type for The properties of a server.\n */\nexport interface ServerPropertiesInput extends InputOf<ServerProperties> {\n /**\n * Administrator username for the server. Once created it cannot be changed.\n */\n administratorLogin?: ExpressionOrValue<string> | undefined;\n /**\n * The administrator login password (required for server creation).\n */\n administratorLoginPassword?: ExpressionOrValue<string> | undefined;\n /**\n * The Azure Active Directory administrator can be utilized during server creation and for server updates, except for the azureADOnlyAuthentication property. To update the azureADOnlyAuthentication property, individual API must be used.\n */\n administrators?: ServerExternalAdministratorInput | undefined;\n /**\n * Create mode for server, only valid values for this are Normal and Restore.\n */\n createMode?: ExpressionOrValue<ServerCreateMode> | undefined;\n /**\n * The Client id used for cross tenant CMK scenario\n */\n federatedClientId?: ExpressionOrValue<string> | undefined;\n /**\n * Whether or not to enable IPv6 support for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'\n */\n isIPv6Enabled?: ExpressionOrValue<ServerNetworkAccessFlag> | undefined;\n /**\n * A CMK URI of the key to use for encryption.\n */\n keyId?: ExpressionOrValue<string> | undefined;\n /**\n * Minimal TLS version. Allowed values: 'None', 1.0', '1.1', '1.2', '1.3'\n */\n minimalTlsVersion?: ExpressionOrValue<MinimalTlsVersion> | undefined;\n /**\n * The resource id of a user assigned identity to be used by default.\n */\n primaryUserAssignedIdentityId?: ExpressionOrValue<string> | undefined;\n /**\n * Whether or not public endpoint access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' or 'SecuredByPerimeter'\n */\n publicNetworkAccess?: ExpressionOrValue<ServerPublicNetworkAccessFlag> | undefined;\n /**\n * Whether or not to restrict outbound network access for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'\n */\n restrictOutboundNetworkAccess?: ExpressionOrValue<ServerNetworkAccessFlag> | undefined;\n /**\n * Number of days this server will stay soft-deleted.\n */\n retentionDays?: ExpressionOrValue<number> | undefined;\n /**\n * The version of the server.\n */\n version?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for The properties of a server.\n */\nexport interface ServerPropertiesView extends InputOf<ServerProperties> {\n /**\n * Administrator username for the server. Once created it cannot be changed.\n */\n administratorLogin?: ExpressionOrValue<string> | undefined;\n /**\n * The administrator login password (required for server creation).\n */\n administratorLoginPassword?: ExpressionOrValue<string> | undefined;\n /**\n * The Azure Active Directory administrator can be utilized during server creation and for server updates, except for the azureADOnlyAuthentication property. To update the azureADOnlyAuthentication property, individual API must be used.\n */\n administrators?: ServerExternalAdministratorView | undefined;\n /**\n * Create mode for server, only valid values for this are Normal and Restore.\n */\n createMode?: ExpressionOrValue<ServerCreateMode> | undefined;\n /**\n * Read-only output: Status of external governance.\n */\n readonly externalGovernanceStatus?: Expression<ExternalGovernanceStatus> | undefined;\n /**\n * The Client id used for cross tenant CMK scenario\n */\n federatedClientId?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: The fully qualified domain name of the server.\n */\n readonly fullyQualifiedDomainName?: Expression<string> | undefined;\n /**\n * Whether or not to enable IPv6 support for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'\n */\n isIPv6Enabled?: ExpressionOrValue<ServerNetworkAccessFlag> | undefined;\n /**\n * A CMK URI of the key to use for encryption.\n */\n keyId?: ExpressionOrValue<string> | undefined;\n /**\n * Minimal TLS version. Allowed values: 'None', 1.0', '1.1', '1.2', '1.3'\n */\n minimalTlsVersion?: ExpressionOrValue<MinimalTlsVersion> | undefined;\n /**\n * The resource id of a user assigned identity to be used by default.\n */\n primaryUserAssignedIdentityId?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: List of private endpoint connections on a server\n */\n readonly privateEndpointConnections?:\n Expression<SqlServerPrivateEndpointConnection[]> | undefined;\n /**\n * Whether or not public endpoint access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' or 'SecuredByPerimeter'\n */\n publicNetworkAccess?: ExpressionOrValue<ServerPublicNetworkAccessFlag> | undefined;\n /**\n * Whether or not to restrict outbound network access for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'\n */\n restrictOutboundNetworkAccess?: ExpressionOrValue<ServerNetworkAccessFlag> | undefined;\n /**\n * Number of days this server will stay soft-deleted.\n */\n retentionDays?: ExpressionOrValue<number> | undefined;\n /**\n * Read-only output: The state of the server.\n */\n readonly state?: Expression<string> | undefined;\n /**\n * The version of the server.\n */\n version?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: Whether or not existing server has a workspace created and if it allows connection from workspace\n */\n readonly workspaceFeature?: Expression<ServerWorkspaceFeature> | undefined;\n}\n\nexport const serverPropertiesShape: FlatModelShape = createFlatModelShape({\n administratorLogin: { armPath: [\"administratorLogin\"], value: createStringShape() },\n administratorLoginPassword: {\n armPath: [\"administratorLoginPassword\"],\n value: createStringShape(),\n },\n administrators: {\n armPath: [\"administrators\"],\n value: createDeferredShape(() => serverExternalAdministratorShape),\n },\n createMode: { armPath: [\"createMode\"], value: createUnionShape() },\n externalGovernanceStatus: {\n armPath: [\"externalGovernanceStatus\"],\n value: createUnionShape(),\n readOnly: true,\n },\n federatedClientId: { armPath: [\"federatedClientId\"], value: createStringShape() },\n fullyQualifiedDomainName: {\n armPath: [\"fullyQualifiedDomainName\"],\n value: createStringShape(),\n readOnly: true,\n },\n isIPv6Enabled: { armPath: [\"isIPv6Enabled\"], value: createUnionShape() },\n keyId: { armPath: [\"keyId\"], value: createStringShape() },\n minimalTlsVersion: { armPath: [\"minimalTlsVersion\"], value: createUnionShape() },\n primaryUserAssignedIdentityId: {\n armPath: [\"primaryUserAssignedIdentityId\"],\n value: createStringShape(),\n },\n privateEndpointConnections: {\n armPath: [\"privateEndpointConnections\"],\n value: createArrayShape(createDeferredShape(() => sqlServerPrivateEndpointConnectionShape)),\n readOnly: true,\n },\n publicNetworkAccess: { armPath: [\"publicNetworkAccess\"], value: createUnionShape() },\n restrictOutboundNetworkAccess: {\n armPath: [\"restrictOutboundNetworkAccess\"],\n value: createUnionShape(),\n },\n retentionDays: { armPath: [\"retentionDays\"], value: createNumberShape() },\n state: { armPath: [\"state\"], value: createStringShape(), readOnly: true },\n version: { armPath: [\"version\"], value: createStringShape() },\n workspaceFeature: { armPath: [\"workspaceFeature\"], value: createUnionShape(), readOnly: true },\n});\n\n/**\n * The properties of a server trust certificate.\n */\nexport interface ServerTrustCertificateProperties {\n /**\n * The certificate name\n */\n certificateName?: string;\n /**\n * The certificate public blob\n */\n publicBlob?: string;\n /**\n * The certificate thumbprint\n */\n thumbprint?: string;\n}\n\n/**\n * Input type for The properties of a server trust certificate.\n */\nexport interface ServerTrustCertificatePropertiesInput extends InputOf<ServerTrustCertificateProperties> {\n /**\n * The certificate public blob\n */\n publicBlob?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for The properties of a server trust certificate.\n */\nexport interface ServerTrustCertificatePropertiesView extends InputOf<ServerTrustCertificateProperties> {\n /**\n * Read-only output: The certificate name\n */\n readonly certificateName?: Expression<string> | undefined;\n /**\n * The certificate public blob\n */\n publicBlob?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: The certificate thumbprint\n */\n readonly thumbprint?: Expression<string> | undefined;\n}\n\nexport const serverTrustCertificatePropertiesShape: FlatModelShape = createFlatModelShape({\n certificateName: { armPath: [\"certificateName\"], value: createStringShape(), readOnly: true },\n publicBlob: { armPath: [\"publicBlob\"], value: createStringShape() },\n thumbprint: { armPath: [\"thumbprint\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * Properties of a server trust group.\n */\nexport interface ServerTrustGroupProperties {\n /**\n * Group members information for the server trust group.\n */\n groupMembers: ServerInfo[];\n /**\n * Trust scope of the server trust group.\n */\n trustScopes: ServerTrustGroupPropertiesTrustScopesItem[];\n}\n\n/**\n * Input type for Properties of a server trust group.\n */\nexport interface ServerTrustGroupPropertiesInput extends InputOf<ServerTrustGroupProperties> {\n /**\n * Group members information for the server trust group.\n */\n groupMembers: InputArray<ServerInfoInput, ServerInfo[]>;\n /**\n * Trust scope of the server trust group.\n */\n trustScopes: InputArray<\n ExpressionOrValue<ServerTrustGroupPropertiesTrustScopesItem>,\n ServerTrustGroupPropertiesTrustScopesItem[]\n >;\n}\n\n/**\n * View type for Properties of a server trust group.\n */\nexport type ServerTrustGroupPropertiesView = ServerTrustGroupPropertiesInput;\n\nexport const serverTrustGroupPropertiesShape: FlatModelShape = createFlatModelShape({\n groupMembers: {\n armPath: [\"groupMembers\"],\n value: createArrayShape(createDeferredShape(() => serverInfoShape)),\n },\n trustScopes: { armPath: [\"trustScopes\"], value: createArrayShape(createUnionShape()) },\n});\n\n/**\n * Properties of a server Vulnerability Assessment.\n */\nexport interface ServerVulnerabilityAssessmentProperties {\n /**\n * The recurring scans settings\n */\n recurringScans?: VulnerabilityAssessmentRecurringScansProperties;\n /**\n * Specifies the identifier key of the storage account for vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. Applies only if the storage account is not behind a Vnet or a firewall\n */\n storageAccountAccessKey?: string;\n /**\n * A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/).\n */\n storageContainerPath: string;\n /**\n * A shared access signature (SAS Key) that has write access to the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. Applies only if the storage account is not behind a Vnet or a firewall\n */\n storageContainerSasKey?: string;\n}\n\n/**\n * Input type for Properties of a server Vulnerability Assessment.\n */\nexport interface ServerVulnerabilityAssessmentPropertiesInput extends InputOf<ServerVulnerabilityAssessmentProperties> {\n /**\n * The recurring scans settings\n */\n recurringScans?: VulnerabilityAssessmentRecurringScansPropertiesInput | undefined;\n /**\n * Specifies the identifier key of the storage account for vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. Applies only if the storage account is not behind a Vnet or a firewall\n */\n storageAccountAccessKey?: ExpressionOrValue<string> | undefined;\n /**\n * A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/).\n */\n storageContainerPath: ExpressionOrValue<string>;\n /**\n * A shared access signature (SAS Key) that has write access to the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. Applies only if the storage account is not behind a Vnet or a firewall\n */\n storageContainerSasKey?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties of a server Vulnerability Assessment.\n */\nexport type ServerVulnerabilityAssessmentPropertiesView =\n ServerVulnerabilityAssessmentPropertiesInput;\n\nexport const serverVulnerabilityAssessmentPropertiesShape: FlatModelShape = createFlatModelShape({\n recurringScans: {\n armPath: [\"recurringScans\"],\n value: createDeferredShape(() => vulnerabilityAssessmentRecurringScansPropertiesShape),\n },\n storageAccountAccessKey: { armPath: [\"storageAccountAccessKey\"], value: createStringShape() },\n storageContainerPath: { armPath: [\"storageContainerPath\"], value: createStringShape() },\n storageContainerSasKey: { armPath: [\"storageContainerSasKey\"], value: createStringShape() },\n});\n\n/**\n * The managed instance's service principal configuration for a resource.\n */\nexport interface ServicePrincipal {\n /**\n * The Azure Active Directory application client id.\n */\n clientId?: string;\n /**\n * The Azure Active Directory application object id.\n */\n principalId?: string;\n /**\n * The Azure Active Directory tenant id.\n */\n tenantId?: string;\n /**\n * Service principal type.\n */\n type?: ServicePrincipalType;\n}\n\n/**\n * Input type for The managed instance's service principal configuration for a resource.\n */\nexport interface ServicePrincipalInput extends InputOf<ServicePrincipal> {\n /**\n * Service principal type.\n */\n type?: ExpressionOrValue<ServicePrincipalType> | undefined;\n}\n\n/**\n * View type for The managed instance's service principal configuration for a resource.\n */\nexport interface ServicePrincipalView extends InputOf<ServicePrincipal> {\n /**\n * Read-only output: The Azure Active Directory application client id.\n */\n readonly clientId?: Expression<string> | undefined;\n /**\n * Read-only output: The Azure Active Directory application object id.\n */\n readonly principalId?: Expression<string> | undefined;\n /**\n * Read-only output: The Azure Active Directory tenant id.\n */\n readonly tenantId?: Expression<string> | undefined;\n /**\n * Service principal type.\n */\n type?: ExpressionOrValue<ServicePrincipalType> | undefined;\n}\n\nexport const servicePrincipalShape: FlatModelShape = createFlatModelShape({\n clientId: { armPath: [\"clientId\"], value: createStringShape(), readOnly: true },\n principalId: { armPath: [\"principalId\"], value: createStringShape(), readOnly: true },\n tenantId: { armPath: [\"tenantId\"], value: createStringShape(), readOnly: true },\n type: { armPath: [\"type\"], value: createUnionShape() },\n});\n\n/**\n * An ARM Resource SKU.\n */\nexport interface Sku {\n /**\n * Capacity of the particular SKU.\n */\n capacity?: number;\n /**\n * If the service has different generations of hardware, for the same SKU, then that can be captured here.\n */\n family?: string;\n /**\n * The name of the SKU, typically, a letter + Number code, e.g. P3.\n */\n name: string;\n /**\n * Size of the particular SKU\n */\n size?: string;\n /**\n * The tier or edition of the particular SKU, e.g. Basic, Premium.\n */\n tier?: string;\n}\n\n/**\n * Input type for An ARM Resource SKU.\n */\nexport interface SkuInput extends InputOf<Sku> {\n /**\n * Capacity of the particular SKU.\n */\n capacity?: ExpressionOrValue<number> | undefined;\n /**\n * If the service has different generations of hardware, for the same SKU, then that can be captured here.\n */\n family?: ExpressionOrValue<string> | undefined;\n /**\n * The name of the SKU, typically, a letter + Number code, e.g. P3.\n */\n name: ExpressionOrValue<string>;\n /**\n * Size of the particular SKU\n */\n size?: ExpressionOrValue<string> | undefined;\n /**\n * The tier or edition of the particular SKU, e.g. Basic, Premium.\n */\n tier?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for An ARM Resource SKU.\n */\nexport type SkuView = SkuInput;\n\nexport const skuShape: FlatModelShape = createFlatModelShape({\n capacity: { armPath: [\"capacity\"], value: createNumberShape() },\n family: { armPath: [\"family\"], value: createStringShape() },\n name: { armPath: [\"name\"], value: createStringShape() },\n size: { armPath: [\"size\"], value: createStringShape() },\n tier: { armPath: [\"tier\"], value: createStringShape() },\n});\n\n/**\n * Sql agent configuration properties.\n */\nexport interface SqlAgentConfigurationProperties {\n /**\n * The state of Sql Agent.\n */\n state?: SqlAgentConfigurationPropertiesState;\n}\n\n/**\n * Input type for Sql agent configuration properties.\n */\nexport interface SqlAgentConfigurationPropertiesInput extends InputOf<SqlAgentConfigurationProperties> {\n /**\n * The state of Sql Agent.\n */\n state?: ExpressionOrValue<SqlAgentConfigurationPropertiesState> | undefined;\n}\n\n/**\n * View type for Sql agent configuration properties.\n */\nexport type SqlAgentConfigurationPropertiesView = SqlAgentConfigurationPropertiesInput;\n\nexport const sqlAgentConfigurationPropertiesShape: FlatModelShape = createFlatModelShape({\n state: { armPath: [\"state\"], value: createUnionShape() },\n});\n\n/**\n * Database, Server or Elastic Pool Recommended Action.\n */\nexport interface SqlRecommendedAction {\n /**\n * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}\n */\n id?: string;\n /**\n * Resource kind.\n */\n kind?: string;\n /**\n * Resource location.\n */\n location?: string;\n /**\n * The name of Database Recommended Action.\n */\n name?: string;\n /**\n * Resource properties.\n */\n properties?: RecommendedActionProperties;\n /**\n * Azure Resource Manager metadata containing createdBy and modifiedBy information.\n */\n systemData?: SystemData;\n /**\n * The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"\n */\n type?: string;\n}\n\n/**\n * Input type for Database, Server or Elastic Pool Recommended Action.\n */\nexport interface SqlRecommendedActionInput extends InputOf<SqlRecommendedAction> {\n /**\n * Resource properties.\n */\n properties?: RecommendedActionPropertiesInput | undefined;\n}\n\n/**\n * View type for Database, Server or Elastic Pool Recommended Action.\n */\nexport interface SqlRecommendedActionView extends InputOf<SqlRecommendedAction> {\n /**\n * Read-only output: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}\n */\n readonly id?: Expression<string> | undefined;\n /**\n * Read-only output: Resource kind.\n */\n readonly kind?: Expression<string> | undefined;\n /**\n * Read-only output: Resource location.\n */\n readonly location?: Expression<string> | undefined;\n /**\n * Read-only output: The name of Database Recommended Action.\n */\n readonly name?: Expression<string> | undefined;\n /**\n * Resource properties.\n */\n properties?: RecommendedActionPropertiesView | undefined;\n /**\n * Read-only output: Azure Resource Manager metadata containing createdBy and modifiedBy information.\n */\n readonly systemData?: Expression<SystemData> | undefined;\n /**\n * Read-only output: The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"\n */\n readonly type?: Expression<string> | undefined;\n}\n\nexport const sqlRecommendedActionShape: FlatModelShape = createFlatModelShape({\n id: { armPath: [\"id\"], value: createStringShape(), readOnly: true },\n kind: { armPath: [\"kind\"], value: createStringShape(), readOnly: true },\n location: { armPath: [\"location\"], value: createStringShape(), readOnly: true },\n name: { armPath: [\"name\"], value: createStringShape(), readOnly: true },\n properties: {\n armPath: [\"properties\"],\n value: createDeferredShape(() => recommendedActionPropertiesShape),\n },\n systemData: {\n armPath: [\"systemData\"],\n value: createDeferredShape(() => systemDataShape),\n readOnly: true,\n },\n type: { armPath: [\"type\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * A private endpoint connection under a server\n */\nexport interface SqlServerPrivateEndpointConnection {\n /**\n * Resource ID.\n */\n id?: string;\n /**\n * Private endpoint connection properties\n */\n properties?: PrivateEndpointConnectionProperties;\n}\n\n/**\n * Input type for A private endpoint connection under a server\n */\nexport interface SqlServerPrivateEndpointConnectionInput extends InputOf<SqlServerPrivateEndpointConnection> {}\n\n/**\n * View type for A private endpoint connection under a server\n */\nexport interface SqlServerPrivateEndpointConnectionView extends InputOf<SqlServerPrivateEndpointConnection> {\n /**\n * Read-only output: Resource ID.\n */\n readonly id?: Expression<string> | undefined;\n /**\n * Read-only output: Private endpoint connection properties\n */\n readonly properties?: Expression<PrivateEndpointConnectionProperties> | undefined;\n}\n\nexport const sqlServerPrivateEndpointConnectionShape: FlatModelShape = createFlatModelShape({\n id: { armPath: [\"id\"], value: createStringShape(), readOnly: true },\n properties: {\n armPath: [\"properties\"],\n value: createDeferredShape(() => privateEndpointConnectionPropertiesShape),\n readOnly: true,\n },\n});\n\nexport interface SqlVulnerabilityAssessmentPolicyProperties {\n /**\n * Specifies the state of the SQL Vulnerability Assessment, whether it is enabled or disabled or a state has not been applied yet on the specific database or server.\n */\n state?: SqlVulnerabilityAssessmentState;\n}\n\nexport interface SqlVulnerabilityAssessmentPolicyPropertiesInput extends InputOf<SqlVulnerabilityAssessmentPolicyProperties> {\n /**\n * Specifies the state of the SQL Vulnerability Assessment, whether it is enabled or disabled or a state has not been applied yet on the specific database or server.\n */\n state?: ExpressionOrValue<SqlVulnerabilityAssessmentState> | undefined;\n}\n\nexport type SqlVulnerabilityAssessmentPolicyPropertiesView =\n SqlVulnerabilityAssessmentPolicyPropertiesInput;\n\nexport const sqlVulnerabilityAssessmentPolicyPropertiesShape: FlatModelShape = createFlatModelShape(\n {\n state: { armPath: [\"state\"], value: createEnumShape() },\n },\n);\n\n/**\n * Properties of a vulnerability assessment scan error.\n */\nexport interface SqlVulnerabilityAssessmentScanError {\n /**\n * The error code.\n */\n code?: string;\n /**\n * The error message.\n */\n message?: string;\n}\n\n/**\n * Input type for Properties of a vulnerability assessment scan error.\n */\nexport interface SqlVulnerabilityAssessmentScanErrorInput extends InputOf<SqlVulnerabilityAssessmentScanError> {}\n\n/**\n * View type for Properties of a vulnerability assessment scan error.\n */\nexport interface SqlVulnerabilityAssessmentScanErrorView extends InputOf<SqlVulnerabilityAssessmentScanError> {\n /**\n * Read-only output: The error code.\n */\n readonly code?: Expression<string> | undefined;\n /**\n * Read-only output: The error message.\n */\n readonly message?: Expression<string> | undefined;\n}\n\nexport const sqlVulnerabilityAssessmentScanErrorShape: FlatModelShape = createFlatModelShape({\n code: { armPath: [\"code\"], value: createStringShape(), readOnly: true },\n message: { armPath: [\"message\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * Properties of a vulnerability assessment scan record.\n */\nexport interface SqlVulnerabilityAssessmentScanRecordProperties {\n /**\n * The database name.\n */\n database?: string;\n /**\n * The scan end time (UTC).\n */\n endTime?: Date;\n /**\n * The scan errors.\n */\n errors?: SqlVulnerabilityAssessmentScanError[];\n /**\n * The number of failed rules with high severity.\n */\n highSeverityFailedRulesCount?: number;\n /**\n * Baseline created for this database, and has one or more rules.\n */\n isBaselineApplied?: boolean;\n /**\n * The last scan time.\n */\n lastScanTime?: Date;\n /**\n * The number of failed rules with low severity.\n */\n lowSeverityFailedRulesCount?: number;\n /**\n * The number of failed rules with medium severity.\n */\n mediumSeverityFailedRulesCount?: number;\n /**\n * The scan ID.\n */\n scanId?: string;\n /**\n * The server name.\n */\n server?: string;\n /**\n * The SQL version.\n */\n sqlVersion?: string;\n /**\n * The scan start time (UTC).\n */\n startTime?: Date;\n /**\n * The scan status.\n */\n state?: VulnerabilityAssessmentScanState;\n /**\n * The number of total failed rules.\n */\n totalFailedRulesCount?: number;\n /**\n * The number of total passed rules.\n */\n totalPassedRulesCount?: number;\n /**\n * The number of total rules assessed.\n */\n totalRulesCount?: number;\n /**\n * The scan trigger type.\n */\n triggerType?: VulnerabilityAssessmentScanTriggerType;\n}\n\n/**\n * Input type for Properties of a vulnerability assessment scan record.\n */\nexport interface SqlVulnerabilityAssessmentScanRecordPropertiesInput extends InputOf<SqlVulnerabilityAssessmentScanRecordProperties> {}\n\n/**\n * View type for Properties of a vulnerability assessment scan record.\n */\nexport interface SqlVulnerabilityAssessmentScanRecordPropertiesView extends InputOf<SqlVulnerabilityAssessmentScanRecordProperties> {\n /**\n * Read-only output: The database name.\n */\n readonly database?: Expression<string> | undefined;\n /**\n * Read-only output: The scan end time (UTC).\n */\n readonly endTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The scan errors.\n */\n readonly errors?: Expression<SqlVulnerabilityAssessmentScanError[]> | undefined;\n /**\n * Read-only output: The number of failed rules with high severity.\n */\n readonly highSeverityFailedRulesCount?: Expression<number> | undefined;\n /**\n * Read-only output: Baseline created for this database, and has one or more rules.\n */\n readonly isBaselineApplied?: Expression<boolean> | undefined;\n /**\n * Read-only output: The last scan time.\n */\n readonly lastScanTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The number of failed rules with low severity.\n */\n readonly lowSeverityFailedRulesCount?: Expression<number> | undefined;\n /**\n * Read-only output: The number of failed rules with medium severity.\n */\n readonly mediumSeverityFailedRulesCount?: Expression<number> | undefined;\n /**\n * Read-only output: The scan ID.\n */\n readonly scanId?: Expression<string> | undefined;\n /**\n * Read-only output: The server name.\n */\n readonly server?: Expression<string> | undefined;\n /**\n * Read-only output: The SQL version.\n */\n readonly sqlVersion?: Expression<string> | undefined;\n /**\n * Read-only output: The scan start time (UTC).\n */\n readonly startTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The scan status.\n */\n readonly state?: Expression<VulnerabilityAssessmentScanState> | undefined;\n /**\n * Read-only output: The number of total failed rules.\n */\n readonly totalFailedRulesCount?: Expression<number> | undefined;\n /**\n * Read-only output: The number of total passed rules.\n */\n readonly totalPassedRulesCount?: Expression<number> | undefined;\n /**\n * Read-only output: The number of total rules assessed.\n */\n readonly totalRulesCount?: Expression<number> | undefined;\n /**\n * Read-only output: The scan trigger type.\n */\n readonly triggerType?: Expression<VulnerabilityAssessmentScanTriggerType> | undefined;\n}\n\nexport const sqlVulnerabilityAssessmentScanRecordPropertiesShape: FlatModelShape =\n createFlatModelShape({\n database: { armPath: [\"database\"], value: createStringShape(), readOnly: true },\n endTime: {\n armPath: [\"endTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n errors: {\n armPath: [\"errors\"],\n value: createArrayShape(createDeferredShape(() => sqlVulnerabilityAssessmentScanErrorShape)),\n readOnly: true,\n },\n highSeverityFailedRulesCount: {\n armPath: [\"highSeverityFailedRulesCount\"],\n value: createNumberShape(),\n readOnly: true,\n },\n isBaselineApplied: {\n armPath: [\"isBaselineApplied\"],\n value: createBooleanShape(),\n readOnly: true,\n },\n lastScanTime: {\n armPath: [\"lastScanTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n lowSeverityFailedRulesCount: {\n armPath: [\"lowSeverityFailedRulesCount\"],\n value: createNumberShape(),\n readOnly: true,\n },\n mediumSeverityFailedRulesCount: {\n armPath: [\"mediumSeverityFailedRulesCount\"],\n value: createNumberShape(),\n readOnly: true,\n },\n scanId: { armPath: [\"scanId\"], value: createStringShape(), readOnly: true },\n server: { armPath: [\"server\"], value: createStringShape(), readOnly: true },\n sqlVersion: { armPath: [\"sqlVersion\"], value: createStringShape(), readOnly: true },\n startTime: {\n armPath: [\"startTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n state: { armPath: [\"state\"], value: createUnionShape(), readOnly: true },\n totalFailedRulesCount: {\n armPath: [\"totalFailedRulesCount\"],\n value: createNumberShape(),\n readOnly: true,\n },\n totalPassedRulesCount: {\n armPath: [\"totalPassedRulesCount\"],\n value: createNumberShape(),\n readOnly: true,\n },\n totalRulesCount: { armPath: [\"totalRulesCount\"], value: createNumberShape(), readOnly: true },\n triggerType: { armPath: [\"triggerType\"], value: createUnionShape(), readOnly: true },\n });\n\n/**\n * SQL Vulnerability Assessment scan result properties for a single rule.\n */\nexport interface SqlVulnerabilityAssessmentScanResultProperties {\n /**\n * SQL Vulnerability Assessment rule result adjusted with baseline.\n */\n baselineAdjustedResult?: BaselineAdjustedResult;\n /**\n * SQL Vulnerability Assessment error message.\n */\n errorMessage?: string;\n /**\n * SQL Vulnerability Assessment is the query results trimmed.\n */\n isTrimmed?: boolean;\n /**\n * SQL Vulnerability Assessment query results that was run.\n */\n queryResults?: string[][];\n /**\n * SQL Vulnerability Assessment the remediation details.\n */\n remediation?: Remediation;\n /**\n * SQL Vulnerability Assessment rule Id.\n */\n ruleId?: string;\n /**\n * SQL Vulnerability Assessment rule metadata.\n */\n ruleMetadata?: VaRule;\n /**\n * SQL Vulnerability Assessment rule result status.\n */\n status?: RuleStatus;\n}\n\n/**\n * Input type for SQL Vulnerability Assessment scan result properties for a single rule.\n */\nexport interface SqlVulnerabilityAssessmentScanResultPropertiesInput extends InputOf<SqlVulnerabilityAssessmentScanResultProperties> {}\n\n/**\n * View type for SQL Vulnerability Assessment scan result properties for a single rule.\n */\nexport interface SqlVulnerabilityAssessmentScanResultPropertiesView extends InputOf<SqlVulnerabilityAssessmentScanResultProperties> {\n /**\n * Read-only output: SQL Vulnerability Assessment rule result adjusted with baseline.\n */\n readonly baselineAdjustedResult?: Expression<BaselineAdjustedResult> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment error message.\n */\n readonly errorMessage?: Expression<string> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment is the query results trimmed.\n */\n readonly isTrimmed?: Expression<boolean> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment query results that was run.\n */\n readonly queryResults?: Expression<string[][]> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment the remediation details.\n */\n readonly remediation?: Expression<Remediation> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment rule Id.\n */\n readonly ruleId?: Expression<string> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment rule metadata.\n */\n readonly ruleMetadata?: Expression<VaRule> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment rule result status.\n */\n readonly status?: Expression<RuleStatus> | undefined;\n}\n\nexport const sqlVulnerabilityAssessmentScanResultPropertiesShape: FlatModelShape =\n createFlatModelShape({\n baselineAdjustedResult: {\n armPath: [\"baselineAdjustedResult\"],\n value: createDeferredShape(() => baselineAdjustedResultShape),\n readOnly: true,\n },\n errorMessage: { armPath: [\"errorMessage\"], value: createStringShape(), readOnly: true },\n isTrimmed: { armPath: [\"isTrimmed\"], value: createBooleanShape(), readOnly: true },\n queryResults: {\n armPath: [\"queryResults\"],\n value: createArrayShape(createArrayShape(createStringShape())),\n readOnly: true,\n },\n remediation: {\n armPath: [\"remediation\"],\n value: createDeferredShape(() => remediationShape),\n readOnly: true,\n },\n ruleId: { armPath: [\"ruleId\"], value: createStringShape(), readOnly: true },\n ruleMetadata: {\n armPath: [\"ruleMetadata\"],\n value: createDeferredShape(() => vaRuleShape),\n readOnly: true,\n },\n status: { armPath: [\"status\"], value: createUnionShape(), readOnly: true },\n });\n\n/**\n * Properties of managed instance's Start/Stop schedule.\n */\nexport interface StartStopManagedInstanceScheduleProperties {\n /**\n * The description of the schedule.\n */\n description?: string;\n /**\n * Timestamp when the next action will be executed in the corresponding schedule time zone.\n */\n nextExecutionTime?: string;\n /**\n * Next action to be executed (Start or Stop)\n */\n nextRunAction?: string;\n /**\n * Schedule list.\n */\n scheduleList: ScheduleItem[];\n /**\n * The time zone of the schedule.\n */\n timeZoneId?: string;\n}\n\n/**\n * Input type for Properties of managed instance's Start/Stop schedule.\n */\nexport interface StartStopManagedInstanceSchedulePropertiesInput extends InputOf<StartStopManagedInstanceScheduleProperties> {\n /**\n * The description of the schedule.\n */\n description?: ExpressionOrValue<string> | undefined;\n /**\n * Schedule list.\n */\n scheduleList: InputArray<ScheduleItemInput, ScheduleItem[]>;\n /**\n * The time zone of the schedule.\n */\n timeZoneId?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties of managed instance's Start/Stop schedule.\n */\nexport interface StartStopManagedInstanceSchedulePropertiesView extends InputOf<StartStopManagedInstanceScheduleProperties> {\n /**\n * The description of the schedule.\n */\n description?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: Timestamp when the next action will be executed in the corresponding schedule time zone.\n */\n readonly nextExecutionTime?: Expression<string> | undefined;\n /**\n * Read-only output: Next action to be executed (Start or Stop)\n */\n readonly nextRunAction?: Expression<string> | undefined;\n /**\n * Schedule list.\n */\n scheduleList: InputArray<ScheduleItemView, ScheduleItem[]>;\n /**\n * The time zone of the schedule.\n */\n timeZoneId?: ExpressionOrValue<string> | undefined;\n}\n\nexport const startStopManagedInstanceSchedulePropertiesShape: FlatModelShape = createFlatModelShape(\n {\n description: { armPath: [\"description\"], value: createStringShape() },\n nextExecutionTime: {\n armPath: [\"nextExecutionTime\"],\n value: createStringShape(),\n readOnly: true,\n },\n nextRunAction: { armPath: [\"nextRunAction\"], value: createStringShape(), readOnly: true },\n scheduleList: {\n armPath: [\"scheduleList\"],\n value: createArrayShape(createDeferredShape(() => scheduleItemShape)),\n },\n timeZoneId: { armPath: [\"timeZoneId\"], value: createStringShape() },\n },\n);\n\n/**\n * Properties of a subscription usage.\n */\nexport interface SubscriptionUsageProperties {\n /**\n * Current value of the metric.\n */\n currentValue?: number;\n /**\n * User-readable name of the metric.\n */\n displayName?: string;\n /**\n * Boundary value of the metric.\n */\n limit?: number;\n /**\n * Unit of the metric.\n */\n unit?: string;\n}\n\n/**\n * Input type for Properties of a subscription usage.\n */\nexport interface SubscriptionUsagePropertiesInput extends InputOf<SubscriptionUsageProperties> {}\n\n/**\n * View type for Properties of a subscription usage.\n */\nexport interface SubscriptionUsagePropertiesView extends InputOf<SubscriptionUsageProperties> {\n /**\n * Read-only output: Current value of the metric.\n */\n readonly currentValue?: Expression<number> | undefined;\n /**\n * Read-only output: User-readable name of the metric.\n */\n readonly displayName?: Expression<string> | undefined;\n /**\n * Read-only output: Boundary value of the metric.\n */\n readonly limit?: Expression<number> | undefined;\n /**\n * Read-only output: Unit of the metric.\n */\n readonly unit?: Expression<string> | undefined;\n}\n\nexport const subscriptionUsagePropertiesShape: FlatModelShape = createFlatModelShape({\n currentValue: { armPath: [\"currentValue\"], value: createNumberShape(), readOnly: true },\n displayName: { armPath: [\"displayName\"], value: createStringShape(), readOnly: true },\n limit: { armPath: [\"limit\"], value: createNumberShape(), readOnly: true },\n unit: { armPath: [\"unit\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * Properties of an Azure SQL Database sync agent.\n */\nexport interface SyncAgentProperties {\n /**\n * Expiration time of the sync agent version.\n */\n expiryTime?: Date;\n /**\n * If the sync agent version is up to date.\n */\n isUpToDate?: boolean;\n /**\n * Last alive time of the sync agent.\n */\n lastAliveTime?: Date;\n /**\n * Name of the sync agent.\n */\n name?: string;\n /**\n * State of the sync agent.\n */\n state?: SyncAgentState;\n /**\n * ARM resource id of the sync database in the sync agent.\n */\n syncDatabaseId?: string;\n /**\n * Version of the sync agent.\n */\n version?: string;\n}\n\n/**\n * Input type for Properties of an Azure SQL Database sync agent.\n */\nexport interface SyncAgentPropertiesInput extends InputOf<SyncAgentProperties> {\n /**\n * ARM resource id of the sync database in the sync agent.\n */\n syncDatabaseId?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties of an Azure SQL Database sync agent.\n */\nexport interface SyncAgentPropertiesView extends InputOf<SyncAgentProperties> {\n /**\n * Read-only output: Expiration time of the sync agent version.\n */\n readonly expiryTime?: Expression<Date> | undefined;\n /**\n * Read-only output: If the sync agent version is up to date.\n */\n readonly isUpToDate?: Expression<boolean> | undefined;\n /**\n * Read-only output: Last alive time of the sync agent.\n */\n readonly lastAliveTime?: Expression<Date> | undefined;\n /**\n * Read-only output: Name of the sync agent.\n */\n readonly name?: Expression<string> | undefined;\n /**\n * Read-only output: State of the sync agent.\n */\n readonly state?: Expression<SyncAgentState> | undefined;\n /**\n * ARM resource id of the sync database in the sync agent.\n */\n syncDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: Version of the sync agent.\n */\n readonly version?: Expression<string> | undefined;\n}\n\nexport const syncAgentPropertiesShape: FlatModelShape = createFlatModelShape({\n expiryTime: {\n armPath: [\"expiryTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n isUpToDate: { armPath: [\"isUpToDate\"], value: createBooleanShape(), readOnly: true },\n lastAliveTime: {\n armPath: [\"lastAliveTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n name: { armPath: [\"name\"], value: createStringShape(), readOnly: true },\n state: { armPath: [\"state\"], value: createUnionShape(), readOnly: true },\n syncDatabaseId: { armPath: [\"syncDatabaseId\"], value: createStringShape() },\n version: { armPath: [\"version\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * Properties of a sync group with support to MI.\n */\nexport interface SyncGroupProperties {\n /**\n * Conflict logging retention period.\n */\n conflictLoggingRetentionInDays?: number;\n /**\n * Conflict resolution policy of the sync group.\n */\n conflictResolutionPolicy?: SyncConflictResolutionPolicy;\n /**\n * If conflict logging is enabled.\n */\n enableConflictLogging?: boolean;\n /**\n * Password for the sync group hub database credential.\n */\n hubDatabasePassword?: string;\n /**\n * User name for the sync group hub database credential.\n */\n hubDatabaseUserName?: string;\n /**\n * Sync interval of the sync group.\n */\n interval?: number;\n /**\n * Last sync time of the sync group.\n */\n lastSyncTime?: Date;\n /**\n * Private endpoint name of the sync group if use private link connection is enabled.\n */\n privateEndpointName?: string;\n /**\n * Sync schema of the sync group.\n */\n schema?: SyncGroupSchema;\n /**\n * ARM resource id of the sync database in the sync group.\n */\n syncDatabaseId?: string;\n /**\n * Sync state of the sync group.\n */\n syncState?: SyncGroupState;\n /**\n * If use private link connection is enabled.\n */\n usePrivateLinkConnection?: boolean;\n}\n\n/**\n * Input type for Properties of a sync group with support to MI.\n */\nexport interface SyncGroupPropertiesInput extends InputOf<SyncGroupProperties> {\n /**\n * Conflict logging retention period.\n */\n conflictLoggingRetentionInDays?: ExpressionOrValue<number> | undefined;\n /**\n * Conflict resolution policy of the sync group.\n */\n conflictResolutionPolicy?: ExpressionOrValue<SyncConflictResolutionPolicy> | undefined;\n /**\n * If conflict logging is enabled.\n */\n enableConflictLogging?: ExpressionOrValue<boolean> | undefined;\n /**\n * Password for the sync group hub database credential.\n */\n hubDatabasePassword?: ExpressionOrValue<string> | undefined;\n /**\n * User name for the sync group hub database credential.\n */\n hubDatabaseUserName?: ExpressionOrValue<string> | undefined;\n /**\n * Sync interval of the sync group.\n */\n interval?: ExpressionOrValue<number> | undefined;\n /**\n * Sync schema of the sync group.\n */\n schema?: SyncGroupSchemaInput | undefined;\n /**\n * ARM resource id of the sync database in the sync group.\n */\n syncDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * If use private link connection is enabled.\n */\n usePrivateLinkConnection?: ExpressionOrValue<boolean> | undefined;\n}\n\n/**\n * View type for Properties of a sync group with support to MI.\n */\nexport interface SyncGroupPropertiesView extends InputOf<SyncGroupProperties> {\n /**\n * Conflict logging retention period.\n */\n conflictLoggingRetentionInDays?: ExpressionOrValue<number> | undefined;\n /**\n * Conflict resolution policy of the sync group.\n */\n conflictResolutionPolicy?: ExpressionOrValue<SyncConflictResolutionPolicy> | undefined;\n /**\n * If conflict logging is enabled.\n */\n enableConflictLogging?: ExpressionOrValue<boolean> | undefined;\n /**\n * Password for the sync group hub database credential.\n */\n hubDatabasePassword?: ExpressionOrValue<string> | undefined;\n /**\n * User name for the sync group hub database credential.\n */\n hubDatabaseUserName?: ExpressionOrValue<string> | undefined;\n /**\n * Sync interval of the sync group.\n */\n interval?: ExpressionOrValue<number> | undefined;\n /**\n * Read-only output: Last sync time of the sync group.\n */\n readonly lastSyncTime?: Expression<Date> | undefined;\n /**\n * Read-only output: Private endpoint name of the sync group if use private link connection is enabled.\n */\n readonly privateEndpointName?: Expression<string> | undefined;\n /**\n * Sync schema of the sync group.\n */\n schema?: SyncGroupSchemaView | undefined;\n /**\n * ARM resource id of the sync database in the sync group.\n */\n syncDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: Sync state of the sync group.\n */\n readonly syncState?: Expression<SyncGroupState> | undefined;\n /**\n * If use private link connection is enabled.\n */\n usePrivateLinkConnection?: ExpressionOrValue<boolean> | undefined;\n}\n\nexport const syncGroupPropertiesShape: FlatModelShape = createFlatModelShape({\n conflictLoggingRetentionInDays: {\n armPath: [\"conflictLoggingRetentionInDays\"],\n value: createNumberShape(),\n },\n conflictResolutionPolicy: { armPath: [\"conflictResolutionPolicy\"], value: createUnionShape() },\n enableConflictLogging: { armPath: [\"enableConflictLogging\"], value: createBooleanShape() },\n hubDatabasePassword: { armPath: [\"hubDatabasePassword\"], value: createStringShape() },\n hubDatabaseUserName: { armPath: [\"hubDatabaseUserName\"], value: createStringShape() },\n interval: { armPath: [\"interval\"], value: createNumberShape() },\n lastSyncTime: {\n armPath: [\"lastSyncTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n privateEndpointName: {\n armPath: [\"privateEndpointName\"],\n value: createStringShape(),\n readOnly: true,\n },\n schema: { armPath: [\"schema\"], value: createDeferredShape(() => syncGroupSchemaShape) },\n syncDatabaseId: { armPath: [\"syncDatabaseId\"], value: createStringShape() },\n syncState: { armPath: [\"syncState\"], value: createUnionShape(), readOnly: true },\n usePrivateLinkConnection: { armPath: [\"usePrivateLinkConnection\"], value: createBooleanShape() },\n});\n\n/**\n * Properties of sync group schema.\n */\nexport interface SyncGroupSchema {\n /**\n * Name of master sync member where the schema is from.\n */\n masterSyncMemberName?: string;\n /**\n * List of tables in sync group schema.\n */\n tables?: SyncGroupSchemaTable[];\n}\n\n/**\n * Input type for Properties of sync group schema.\n */\nexport interface SyncGroupSchemaInput extends InputOf<SyncGroupSchema> {\n /**\n * Name of master sync member where the schema is from.\n */\n masterSyncMemberName?: ExpressionOrValue<string> | undefined;\n /**\n * List of tables in sync group schema.\n */\n tables?: InputArray<SyncGroupSchemaTableInput, SyncGroupSchemaTable[]> | undefined;\n}\n\n/**\n * View type for Properties of sync group schema.\n */\nexport type SyncGroupSchemaView = SyncGroupSchemaInput;\n\nexport const syncGroupSchemaShape: FlatModelShape = createFlatModelShape({\n masterSyncMemberName: { armPath: [\"masterSyncMemberName\"], value: createStringShape() },\n tables: {\n armPath: [\"tables\"],\n value: createArrayShape(createDeferredShape(() => syncGroupSchemaTableShape)),\n },\n});\n\n/**\n * Properties of table in sync group schema.\n */\nexport interface SyncGroupSchemaTable {\n /**\n * List of columns in sync group schema.\n */\n columns?: SyncGroupSchemaTableColumn[];\n /**\n * Quoted name of sync group schema table.\n */\n quotedName?: string;\n}\n\n/**\n * Input type for Properties of table in sync group schema.\n */\nexport interface SyncGroupSchemaTableInput extends InputOf<SyncGroupSchemaTable> {\n /**\n * List of columns in sync group schema.\n */\n columns?: InputArray<SyncGroupSchemaTableColumnInput, SyncGroupSchemaTableColumn[]> | undefined;\n /**\n * Quoted name of sync group schema table.\n */\n quotedName?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties of table in sync group schema.\n */\nexport type SyncGroupSchemaTableView = SyncGroupSchemaTableInput;\n\nexport const syncGroupSchemaTableShape: FlatModelShape = createFlatModelShape({\n columns: {\n armPath: [\"columns\"],\n value: createArrayShape(createDeferredShape(() => syncGroupSchemaTableColumnShape)),\n },\n quotedName: { armPath: [\"quotedName\"], value: createStringShape() },\n});\n\n/**\n * Properties of column in sync group table.\n */\nexport interface SyncGroupSchemaTableColumn {\n /**\n * Data size of the column.\n */\n dataSize?: string;\n /**\n * Data type of the column.\n */\n dataType?: string;\n /**\n * Quoted name of sync group table column.\n */\n quotedName?: string;\n}\n\n/**\n * Input type for Properties of column in sync group table.\n */\nexport interface SyncGroupSchemaTableColumnInput extends InputOf<SyncGroupSchemaTableColumn> {\n /**\n * Data size of the column.\n */\n dataSize?: ExpressionOrValue<string> | undefined;\n /**\n * Data type of the column.\n */\n dataType?: ExpressionOrValue<string> | undefined;\n /**\n * Quoted name of sync group table column.\n */\n quotedName?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties of column in sync group table.\n */\nexport type SyncGroupSchemaTableColumnView = SyncGroupSchemaTableColumnInput;\n\nexport const syncGroupSchemaTableColumnShape: FlatModelShape = createFlatModelShape({\n dataSize: { armPath: [\"dataSize\"], value: createStringShape() },\n dataType: { armPath: [\"dataType\"], value: createStringShape() },\n quotedName: { armPath: [\"quotedName\"], value: createStringShape() },\n});\n\n/**\n * Properties of a sync member with support to MI.\n */\nexport interface SyncMemberProperties {\n /**\n * Database name of the member database in the sync member.\n */\n databaseName?: string;\n /**\n * Database type of the sync member.\n */\n databaseType?: SyncMemberDbType;\n /**\n * Password of the member database in the sync member.\n */\n password?: string;\n /**\n * Private endpoint name of the sync member if use private link connection is enabled, for sync members in Azure.\n */\n privateEndpointName?: string;\n /**\n * Server name of the member database in the sync member\n */\n serverName?: string;\n /**\n * SQL Server database id of the sync member.\n */\n sqlServerDatabaseId?: string;\n /**\n * ARM resource id of the sync agent in the sync member.\n */\n syncAgentId?: string;\n /**\n * Sync direction of the sync member.\n */\n syncDirection?: SyncDirection;\n /**\n * ARM resource id of the sync member logical database, for sync members in Azure.\n */\n syncMemberAzureDatabaseResourceId?: string;\n /**\n * Sync state of the sync member.\n */\n syncState?: SyncMemberState;\n /**\n * Whether to use private link connection.\n */\n usePrivateLinkConnection?: boolean;\n /**\n * User name of the member database in the sync member.\n */\n userName?: string;\n}\n\n/**\n * Input type for Properties of a sync member with support to MI.\n */\nexport interface SyncMemberPropertiesInput extends InputOf<SyncMemberProperties> {\n /**\n * Database name of the member database in the sync member.\n */\n databaseName?: ExpressionOrValue<string> | undefined;\n /**\n * Database type of the sync member.\n */\n databaseType?: ExpressionOrValue<SyncMemberDbType> | undefined;\n /**\n * Password of the member database in the sync member.\n */\n password?: ExpressionOrValue<string> | undefined;\n /**\n * Server name of the member database in the sync member\n */\n serverName?: ExpressionOrValue<string> | undefined;\n /**\n * SQL Server database id of the sync member.\n */\n sqlServerDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * ARM resource id of the sync agent in the sync member.\n */\n syncAgentId?: ExpressionOrValue<string> | undefined;\n /**\n * Sync direction of the sync member.\n */\n syncDirection?: ExpressionOrValue<SyncDirection> | undefined;\n /**\n * ARM resource id of the sync member logical database, for sync members in Azure.\n */\n syncMemberAzureDatabaseResourceId?: ExpressionOrValue<string> | undefined;\n /**\n * Whether to use private link connection.\n */\n usePrivateLinkConnection?: ExpressionOrValue<boolean> | undefined;\n /**\n * User name of the member database in the sync member.\n */\n userName?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Properties of a sync member with support to MI.\n */\nexport interface SyncMemberPropertiesView extends InputOf<SyncMemberProperties> {\n /**\n * Database name of the member database in the sync member.\n */\n databaseName?: ExpressionOrValue<string> | undefined;\n /**\n * Database type of the sync member.\n */\n databaseType?: ExpressionOrValue<SyncMemberDbType> | undefined;\n /**\n * Password of the member database in the sync member.\n */\n password?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: Private endpoint name of the sync member if use private link connection is enabled, for sync members in Azure.\n */\n readonly privateEndpointName?: Expression<string> | undefined;\n /**\n * Server name of the member database in the sync member\n */\n serverName?: ExpressionOrValue<string> | undefined;\n /**\n * SQL Server database id of the sync member.\n */\n sqlServerDatabaseId?: ExpressionOrValue<string> | undefined;\n /**\n * ARM resource id of the sync agent in the sync member.\n */\n syncAgentId?: ExpressionOrValue<string> | undefined;\n /**\n * Sync direction of the sync member.\n */\n syncDirection?: ExpressionOrValue<SyncDirection> | undefined;\n /**\n * ARM resource id of the sync member logical database, for sync members in Azure.\n */\n syncMemberAzureDatabaseResourceId?: ExpressionOrValue<string> | undefined;\n /**\n * Read-only output: Sync state of the sync member.\n */\n readonly syncState?: Expression<SyncMemberState> | undefined;\n /**\n * Whether to use private link connection.\n */\n usePrivateLinkConnection?: ExpressionOrValue<boolean> | undefined;\n /**\n * User name of the member database in the sync member.\n */\n userName?: ExpressionOrValue<string> | undefined;\n}\n\nexport const syncMemberPropertiesShape: FlatModelShape = createFlatModelShape({\n databaseName: { armPath: [\"databaseName\"], value: createStringShape() },\n databaseType: { armPath: [\"databaseType\"], value: createUnionShape() },\n password: { armPath: [\"password\"], value: createStringShape() },\n privateEndpointName: {\n armPath: [\"privateEndpointName\"],\n value: createStringShape(),\n readOnly: true,\n },\n serverName: { armPath: [\"serverName\"], value: createStringShape() },\n sqlServerDatabaseId: { armPath: [\"sqlServerDatabaseId\"], value: createStringShape() },\n syncAgentId: { armPath: [\"syncAgentId\"], value: createStringShape() },\n syncDirection: { armPath: [\"syncDirection\"], value: createUnionShape() },\n syncMemberAzureDatabaseResourceId: {\n armPath: [\"syncMemberAzureDatabaseResourceId\"],\n value: createStringShape(),\n },\n syncState: { armPath: [\"syncState\"], value: createUnionShape(), readOnly: true },\n usePrivateLinkConnection: { armPath: [\"usePrivateLinkConnection\"], value: createBooleanShape() },\n userName: { armPath: [\"userName\"], value: createStringShape() },\n});\n\n/**\n * Metadata pertaining to creation and last modification of the resource.\n */\nexport interface SystemData {\n /**\n * The timestamp of resource creation (UTC).\n */\n createdAt?: Date;\n /**\n * The identity that created the resource.\n */\n createdBy?: string;\n /**\n * The type of identity that created the resource.\n */\n createdByType?: CreatedByType;\n /**\n * The timestamp of resource last modification (UTC)\n */\n lastModifiedAt?: Date;\n /**\n * The identity that last modified the resource.\n */\n lastModifiedBy?: string;\n /**\n * The type of identity that last modified the resource.\n */\n lastModifiedByType?: CreatedByType;\n}\n\n/**\n * Input type for Metadata pertaining to creation and last modification of the resource.\n */\nexport interface SystemDataInput extends InputOf<SystemData> {}\n\n/**\n * View type for Metadata pertaining to creation and last modification of the resource.\n */\nexport interface SystemDataView extends InputOf<SystemData> {\n /**\n * Read-only output: The timestamp of resource creation (UTC).\n */\n readonly createdAt?: Expression<Date> | undefined;\n /**\n * Read-only output: The identity that created the resource.\n */\n readonly createdBy?: Expression<string> | undefined;\n /**\n * Read-only output: The type of identity that created the resource.\n */\n readonly createdByType?: Expression<CreatedByType> | undefined;\n /**\n * Read-only output: The timestamp of resource last modification (UTC)\n */\n readonly lastModifiedAt?: Expression<Date> | undefined;\n /**\n * Read-only output: The identity that last modified the resource.\n */\n readonly lastModifiedBy?: Expression<string> | undefined;\n /**\n * Read-only output: The type of identity that last modified the resource.\n */\n readonly lastModifiedByType?: Expression<CreatedByType> | undefined;\n}\n\nexport const systemDataShape: FlatModelShape = createFlatModelShape({\n createdAt: {\n armPath: [\"createdAt\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n createdBy: { armPath: [\"createdBy\"], value: createStringShape(), readOnly: true },\n createdByType: { armPath: [\"createdByType\"], value: createUnionShape(), readOnly: true },\n lastModifiedAt: {\n armPath: [\"lastModifiedAt\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n lastModifiedBy: { armPath: [\"lastModifiedBy\"], value: createStringShape(), readOnly: true },\n lastModifiedByType: {\n armPath: [\"lastModifiedByType\"],\n value: createUnionShape(),\n readOnly: true,\n },\n});\n\n/**\n * The properties of a time zone.\n */\nexport interface TimeZoneProperties {\n /**\n * The time zone display name\n */\n displayName?: string;\n /**\n * The time zone id\n */\n timeZoneId?: string;\n}\n\n/**\n * Input type for The properties of a time zone.\n */\nexport interface TimeZonePropertiesInput extends InputOf<TimeZoneProperties> {}\n\n/**\n * View type for The properties of a time zone.\n */\nexport interface TimeZonePropertiesView extends InputOf<TimeZoneProperties> {\n /**\n * Read-only output: The time zone display name\n */\n readonly displayName?: Expression<string> | undefined;\n /**\n * Read-only output: The time zone id\n */\n readonly timeZoneId?: Expression<string> | undefined;\n}\n\nexport const timeZonePropertiesShape: FlatModelShape = createFlatModelShape({\n displayName: { armPath: [\"displayName\"], value: createStringShape(), readOnly: true },\n timeZoneId: { armPath: [\"timeZoneId\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * Properties of a transparent data encryption scan.\n */\nexport interface TransparentDataEncryptionProperties {\n /**\n * Specifies the encryption scan state of the transparent data encryption.\n */\n scanState?: TransparentDataEncryptionScanState;\n /**\n * Specifies the state of the transparent data encryption.\n */\n state: TransparentDataEncryptionState;\n}\n\n/**\n * Input type for Properties of a transparent data encryption scan.\n */\nexport interface TransparentDataEncryptionPropertiesInput extends InputOf<TransparentDataEncryptionProperties> {\n /**\n * Specifies the encryption scan state of the transparent data encryption.\n */\n scanState?: ExpressionOrValue<TransparentDataEncryptionScanState> | undefined;\n /**\n * Specifies the state of the transparent data encryption.\n */\n state: ExpressionOrValue<TransparentDataEncryptionState>;\n}\n\n/**\n * View type for Properties of a transparent data encryption scan.\n */\nexport type TransparentDataEncryptionPropertiesView = TransparentDataEncryptionPropertiesInput;\n\nexport const transparentDataEncryptionPropertiesShape: FlatModelShape = createFlatModelShape({\n scanState: { armPath: [\"scanState\"], value: createUnionShape() },\n state: { armPath: [\"state\"], value: createEnumShape() },\n});\n\nexport interface UpsertManagedServerOperationParameters {\n family?: string;\n storageSizeInGb?: number;\n tier?: string;\n vCores?: number;\n}\n\nexport interface UpsertManagedServerOperationParametersInput extends InputOf<UpsertManagedServerOperationParameters> {}\n\nexport interface UpsertManagedServerOperationParametersView extends InputOf<UpsertManagedServerOperationParameters> {\n readonly family?: Expression<string> | undefined;\n readonly storageSizeInGb?: Expression<number> | undefined;\n readonly tier?: Expression<string> | undefined;\n readonly vCores?: Expression<number> | undefined;\n}\n\nexport const upsertManagedServerOperationParametersShape: FlatModelShape = createFlatModelShape({\n family: { armPath: [\"family\"], value: createStringShape(), readOnly: true },\n storageSizeInGb: { armPath: [\"storageSizeInGB\"], value: createNumberShape(), readOnly: true },\n tier: { armPath: [\"tier\"], value: createStringShape(), readOnly: true },\n vCores: { armPath: [\"vCores\"], value: createNumberShape(), readOnly: true },\n});\n\nexport interface UpsertManagedServerOperationStepWithEstimatesAndDuration {\n name?: string;\n order?: number;\n status?: UpsertManagedServerOperationStepWithEstimatesAndDurationStatus;\n stepEndTime?: Date;\n stepStartTime?: Date;\n timeElapsed?: string;\n}\n\nexport interface UpsertManagedServerOperationStepWithEstimatesAndDurationInput extends InputOf<UpsertManagedServerOperationStepWithEstimatesAndDuration> {}\n\nexport interface UpsertManagedServerOperationStepWithEstimatesAndDurationView extends InputOf<UpsertManagedServerOperationStepWithEstimatesAndDuration> {\n readonly name?: Expression<string> | undefined;\n readonly order?: Expression<number> | undefined;\n readonly status?:\n Expression<UpsertManagedServerOperationStepWithEstimatesAndDurationStatus> | undefined;\n readonly stepEndTime?: Expression<Date> | undefined;\n readonly stepStartTime?: Expression<Date> | undefined;\n readonly timeElapsed?: Expression<string> | undefined;\n}\n\nexport const upsertManagedServerOperationStepWithEstimatesAndDurationShape: FlatModelShape =\n createFlatModelShape({\n name: { armPath: [\"name\"], value: createStringShape(), readOnly: true },\n order: { armPath: [\"order\"], value: createNumberShape(), readOnly: true },\n status: { armPath: [\"status\"], value: createUnionShape(), readOnly: true },\n stepEndTime: {\n armPath: [\"stepEndTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n stepStartTime: {\n armPath: [\"stepStartTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n timeElapsed: { armPath: [\"timeElapsed\"], value: createStringShape(), readOnly: true },\n });\n\n/**\n * Azure Active Directory identity configuration for a resource.\n */\nexport interface UserIdentity {\n /**\n * The Azure Active Directory client id.\n */\n clientId?: string;\n /**\n * The Azure Active Directory principal id.\n */\n principalId?: string;\n}\n\n/**\n * Input type for Azure Active Directory identity configuration for a resource.\n */\nexport interface UserIdentityInput extends InputOf<UserIdentity> {}\n\n/**\n * View type for Azure Active Directory identity configuration for a resource.\n */\nexport interface UserIdentityView extends InputOf<UserIdentity> {\n /**\n * Read-only output: The Azure Active Directory client id.\n */\n readonly clientId?: Expression<string> | undefined;\n /**\n * Read-only output: The Azure Active Directory principal id.\n */\n readonly principalId?: Expression<string> | undefined;\n}\n\nexport const userIdentityShape: FlatModelShape = createFlatModelShape({\n clientId: { armPath: [\"clientId\"], value: createStringShape(), readOnly: true },\n principalId: { armPath: [\"principalId\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * SQL Vulnerability Assessment rule metadata details.\n */\nexport interface VaRule {\n /**\n * SQL Vulnerability Assessment benchmark references.\n */\n benchmarkReferences?: BenchmarkReference[];\n /**\n * SQL Vulnerability Assessment rule category.\n */\n category?: string;\n /**\n * SQL Vulnerability Assessment rule description.\n */\n description?: string;\n /**\n * SQL Vulnerability Assessment rule query details.\n */\n queryCheck?: QueryCheck;\n /**\n * SQL Vulnerability Assessment rule rationale.\n */\n rationale?: string;\n /**\n * SQL Vulnerability Assessment rule Id.\n */\n ruleId?: string;\n /**\n * SQL Vulnerability Assessment rule type.\n */\n ruleType?: RuleType;\n /**\n * SQL Vulnerability Assessment rule severity.\n */\n severity?: RuleSeverity;\n /**\n * SQL Vulnerability Assessment rule title.\n */\n title?: string;\n}\n\n/**\n * Input type for SQL Vulnerability Assessment rule metadata details.\n */\nexport interface VaRuleInput extends InputOf<VaRule> {}\n\n/**\n * View type for SQL Vulnerability Assessment rule metadata details.\n */\nexport interface VaRuleView extends InputOf<VaRule> {\n /**\n * Read-only output: SQL Vulnerability Assessment benchmark references.\n */\n readonly benchmarkReferences?: Expression<BenchmarkReference[]> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment rule category.\n */\n readonly category?: Expression<string> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment rule description.\n */\n readonly description?: Expression<string> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment rule query details.\n */\n readonly queryCheck?: Expression<QueryCheck> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment rule rationale.\n */\n readonly rationale?: Expression<string> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment rule Id.\n */\n readonly ruleId?: Expression<string> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment rule type.\n */\n readonly ruleType?: Expression<RuleType> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment rule severity.\n */\n readonly severity?: Expression<RuleSeverity> | undefined;\n /**\n * Read-only output: SQL Vulnerability Assessment rule title.\n */\n readonly title?: Expression<string> | undefined;\n}\n\nexport const vaRuleShape: FlatModelShape = createFlatModelShape({\n benchmarkReferences: {\n armPath: [\"benchmarkReferences\"],\n value: createArrayShape(createDeferredShape(() => benchmarkReferenceShape)),\n readOnly: true,\n },\n category: { armPath: [\"category\"], value: createStringShape(), readOnly: true },\n description: { armPath: [\"description\"], value: createStringShape(), readOnly: true },\n queryCheck: {\n armPath: [\"queryCheck\"],\n value: createDeferredShape(() => queryCheckShape),\n readOnly: true,\n },\n rationale: { armPath: [\"rationale\"], value: createStringShape(), readOnly: true },\n ruleId: { armPath: [\"ruleId\"], value: createStringShape(), readOnly: true },\n ruleType: { armPath: [\"ruleType\"], value: createUnionShape(), readOnly: true },\n severity: { armPath: [\"severity\"], value: createUnionShape(), readOnly: true },\n title: { armPath: [\"title\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * The properties of a virtual cluster.\n */\nexport interface VirtualClusterProperties {\n /**\n * List of resources in this virtual cluster.\n */\n childResources?: string[];\n /**\n * Subnet resource ID for the virtual cluster.\n */\n subnetId?: string;\n /**\n * Virtual cluster version.\n */\n version?: string;\n}\n\n/**\n * Input type for The properties of a virtual cluster.\n */\nexport interface VirtualClusterPropertiesInput extends InputOf<VirtualClusterProperties> {\n /**\n * Virtual cluster version.\n */\n version?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for The properties of a virtual cluster.\n */\nexport interface VirtualClusterPropertiesView extends InputOf<VirtualClusterProperties> {\n /**\n * Read-only output: List of resources in this virtual cluster.\n */\n readonly childResources?: Expression<string[]> | undefined;\n /**\n * Read-only output: Subnet resource ID for the virtual cluster.\n */\n readonly subnetId?: Expression<string> | undefined;\n /**\n * Virtual cluster version.\n */\n version?: ExpressionOrValue<string> | undefined;\n}\n\nexport const virtualClusterPropertiesShape: FlatModelShape = createFlatModelShape({\n childResources: {\n armPath: [\"childResources\"],\n value: createArrayShape(createStringShape()),\n readOnly: true,\n },\n subnetId: { armPath: [\"subnetId\"], value: createStringShape(), readOnly: true },\n version: { armPath: [\"version\"], value: createStringShape() },\n});\n\n/**\n * Properties of a virtual network rule.\n */\nexport interface VirtualNetworkRuleProperties {\n /**\n * Create firewall rule before the virtual network has vnet service endpoint enabled.\n */\n ignoreMissingVnetServiceEndpoint?: boolean;\n /**\n * Virtual Network Rule State\n */\n state?: VirtualNetworkRuleState;\n /**\n * The ARM resource id of the virtual network subnet.\n */\n virtualNetworkSubnetId: string;\n}\n\n/**\n * Input type for Properties of a virtual network rule.\n */\nexport interface VirtualNetworkRulePropertiesInput extends InputOf<VirtualNetworkRuleProperties> {\n /**\n * Create firewall rule before the virtual network has vnet service endpoint enabled.\n */\n ignoreMissingVnetServiceEndpoint?: ExpressionOrValue<boolean> | undefined;\n /**\n * The ARM resource id of the virtual network subnet.\n */\n virtualNetworkSubnetId: ExpressionOrValue<string>;\n}\n\n/**\n * View type for Properties of a virtual network rule.\n */\nexport interface VirtualNetworkRulePropertiesView extends InputOf<VirtualNetworkRuleProperties> {\n /**\n * Create firewall rule before the virtual network has vnet service endpoint enabled.\n */\n ignoreMissingVnetServiceEndpoint?: ExpressionOrValue<boolean> | undefined;\n /**\n * Read-only output: Virtual Network Rule State\n */\n readonly state?: Expression<VirtualNetworkRuleState> | undefined;\n /**\n * The ARM resource id of the virtual network subnet.\n */\n virtualNetworkSubnetId: ExpressionOrValue<string>;\n}\n\nexport const virtualNetworkRulePropertiesShape: FlatModelShape = createFlatModelShape({\n ignoreMissingVnetServiceEndpoint: {\n armPath: [\"ignoreMissingVnetServiceEndpoint\"],\n value: createBooleanShape(),\n },\n state: { armPath: [\"state\"], value: createUnionShape(), readOnly: true },\n virtualNetworkSubnetId: { armPath: [\"virtualNetworkSubnetId\"], value: createStringShape() },\n});\n\n/**\n * Properties of a Vulnerability Assessment recurring scans.\n */\nexport interface VulnerabilityAssessmentRecurringScansProperties {\n /**\n * Specifies an array of e-mail addresses to which the scan notification is sent.\n */\n emails?: string[];\n /**\n * Specifies that the schedule scan notification will be is sent to the subscription administrators.\n */\n emailSubscriptionAdmins?: boolean;\n /**\n * Recurring scans state.\n */\n isEnabled?: boolean;\n}\n\n/**\n * Input type for Properties of a Vulnerability Assessment recurring scans.\n */\nexport interface VulnerabilityAssessmentRecurringScansPropertiesInput extends InputOf<VulnerabilityAssessmentRecurringScansProperties> {\n /**\n * Specifies an array of e-mail addresses to which the scan notification is sent.\n */\n emails?: InputArray<ExpressionOrValue<string>, string[]> | undefined;\n /**\n * Specifies that the schedule scan notification will be is sent to the subscription administrators.\n */\n emailSubscriptionAdmins?: ExpressionOrValue<boolean> | undefined;\n /**\n * Recurring scans state.\n */\n isEnabled?: ExpressionOrValue<boolean> | undefined;\n}\n\n/**\n * View type for Properties of a Vulnerability Assessment recurring scans.\n */\nexport type VulnerabilityAssessmentRecurringScansPropertiesView =\n VulnerabilityAssessmentRecurringScansPropertiesInput;\n\nexport const vulnerabilityAssessmentRecurringScansPropertiesShape: FlatModelShape =\n createFlatModelShape({\n emails: { armPath: [\"emails\"], value: createArrayShape(createStringShape()) },\n emailSubscriptionAdmins: { armPath: [\"emailSubscriptionAdmins\"], value: createBooleanShape() },\n isEnabled: { armPath: [\"isEnabled\"], value: createBooleanShape() },\n });\n\n/**\n * Properties of a vulnerability assessment scan error.\n */\nexport interface VulnerabilityAssessmentScanError {\n /**\n * The error code.\n */\n code?: string;\n /**\n * The error message.\n */\n message?: string;\n}\n\n/**\n * Input type for Properties of a vulnerability assessment scan error.\n */\nexport interface VulnerabilityAssessmentScanErrorInput extends InputOf<VulnerabilityAssessmentScanError> {}\n\n/**\n * View type for Properties of a vulnerability assessment scan error.\n */\nexport interface VulnerabilityAssessmentScanErrorView extends InputOf<VulnerabilityAssessmentScanError> {\n /**\n * Read-only output: The error code.\n */\n readonly code?: Expression<string> | undefined;\n /**\n * Read-only output: The error message.\n */\n readonly message?: Expression<string> | undefined;\n}\n\nexport const vulnerabilityAssessmentScanErrorShape: FlatModelShape = createFlatModelShape({\n code: { armPath: [\"code\"], value: createStringShape(), readOnly: true },\n message: { armPath: [\"message\"], value: createStringShape(), readOnly: true },\n});\n\n/**\n * Properties of a vulnerability assessment scan record.\n */\nexport interface VulnerabilityAssessmentScanRecordProperties {\n /**\n * The scan end time (UTC).\n */\n endTime?: Date;\n /**\n * The scan errors.\n */\n errors?: VulnerabilityAssessmentScanError[];\n /**\n * The number of failed security checks.\n */\n numberOfFailedSecurityChecks?: number;\n /**\n * The scan ID.\n */\n scanId?: string;\n /**\n * The scan start time (UTC).\n */\n startTime?: Date;\n /**\n * The scan status.\n */\n state?: VulnerabilityAssessmentScanState;\n /**\n * The scan results storage container path.\n */\n storageContainerPath?: string;\n /**\n * The scan trigger type.\n */\n triggerType?: VulnerabilityAssessmentScanTriggerType;\n}\n\n/**\n * Input type for Properties of a vulnerability assessment scan record.\n */\nexport interface VulnerabilityAssessmentScanRecordPropertiesInput extends InputOf<VulnerabilityAssessmentScanRecordProperties> {}\n\n/**\n * View type for Properties of a vulnerability assessment scan record.\n */\nexport interface VulnerabilityAssessmentScanRecordPropertiesView extends InputOf<VulnerabilityAssessmentScanRecordProperties> {\n /**\n * Read-only output: The scan end time (UTC).\n */\n readonly endTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The scan errors.\n */\n readonly errors?: Expression<VulnerabilityAssessmentScanError[]> | undefined;\n /**\n * Read-only output: The number of failed security checks.\n */\n readonly numberOfFailedSecurityChecks?: Expression<number> | undefined;\n /**\n * Read-only output: The scan ID.\n */\n readonly scanId?: Expression<string> | undefined;\n /**\n * Read-only output: The scan start time (UTC).\n */\n readonly startTime?: Expression<Date> | undefined;\n /**\n * Read-only output: The scan status.\n */\n readonly state?: Expression<VulnerabilityAssessmentScanState> | undefined;\n /**\n * Read-only output: The scan results storage container path.\n */\n readonly storageContainerPath?: Expression<string> | undefined;\n /**\n * Read-only output: The scan trigger type.\n */\n readonly triggerType?: Expression<VulnerabilityAssessmentScanTriggerType> | undefined;\n}\n\nexport const vulnerabilityAssessmentScanRecordPropertiesShape: FlatModelShape =\n createFlatModelShape({\n endTime: {\n armPath: [\"endTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n errors: {\n armPath: [\"errors\"],\n value: createArrayShape(createDeferredShape(() => vulnerabilityAssessmentScanErrorShape)),\n readOnly: true,\n },\n numberOfFailedSecurityChecks: {\n armPath: [\"numberOfFailedSecurityChecks\"],\n value: createNumberShape(),\n readOnly: true,\n },\n scanId: { armPath: [\"scanId\"], value: createStringShape(), readOnly: true },\n startTime: {\n armPath: [\"startTime\"],\n value: createDateShape({\n kind: \"date-time-text\",\n source: \"utcDateTime\",\n format: \"rfc3339\",\n clientMode: \"client\",\n wire: { kind: \"string\" },\n }),\n readOnly: true,\n },\n state: { armPath: [\"state\"], value: createUnionShape(), readOnly: true },\n storageContainerPath: {\n armPath: [\"storageContainerPath\"],\n value: createStringShape(),\n readOnly: true,\n },\n triggerType: { armPath: [\"triggerType\"], value: createUnionShape(), readOnly: true },\n });\n\n/**\n * Workload classifier definition. For more information look at sys.workload_management_workload_classifiers (DMV).\n */\nexport interface WorkloadClassifierProperties {\n /**\n * The workload classifier context.\n */\n context?: string;\n /**\n * The workload classifier end time for classification.\n */\n endTime?: string;\n /**\n * The workload classifier importance.\n */\n importance?: string;\n /**\n * The workload classifier label.\n */\n label?: string;\n /**\n * The workload classifier member name.\n */\n memberName: string;\n /**\n * The workload classifier start time for classification.\n */\n startTime?: string;\n}\n\n/**\n * Input type for Workload classifier definition. For more information look at sys.workload_management_workload_classifiers (DMV).\n */\nexport interface WorkloadClassifierPropertiesInput extends InputOf<WorkloadClassifierProperties> {\n /**\n * The workload classifier context.\n */\n context?: ExpressionOrValue<string> | undefined;\n /**\n * The workload classifier end time for classification.\n */\n endTime?: ExpressionOrValue<string> | undefined;\n /**\n * The workload classifier importance.\n */\n importance?: ExpressionOrValue<string> | undefined;\n /**\n * The workload classifier label.\n */\n label?: ExpressionOrValue<string> | undefined;\n /**\n * The workload classifier member name.\n */\n memberName: ExpressionOrValue<string>;\n /**\n * The workload classifier start time for classification.\n */\n startTime?: ExpressionOrValue<string> | undefined;\n}\n\n/**\n * View type for Workload classifier definition. For more information look at sys.workload_management_workload_classifiers (DMV).\n */\nexport type WorkloadClassifierPropertiesView = WorkloadClassifierPropertiesInput;\n\nexport const workloadClassifierPropertiesShape: FlatModelShape = createFlatModelShape({\n context: { armPath: [\"context\"], value: createStringShape() },\n endTime: { armPath: [\"endTime\"], value: createStringShape() },\n importance: { armPath: [\"importance\"], value: createStringShape() },\n label: { armPath: [\"label\"], value: createStringShape() },\n memberName: { armPath: [\"memberName\"], value: createStringShape() },\n startTime: { armPath: [\"startTime\"], value: createStringShape() },\n});\n\n/**\n * Workload group definition. For more information look at sys.workload_management_workload_groups (DMV).\n */\nexport interface WorkloadGroupProperties {\n /**\n * The workload group importance level.\n */\n importance?: string;\n /**\n * The workload group cap percentage resource.\n */\n maxResourcePercent: number;\n /**\n * The workload group request maximum grant percentage.\n */\n maxResourcePercentPerRequest?: number;\n /**\n * The workload group minimum percentage resource.\n */\n minResourcePercent: number;\n /**\n * The workload group request minimum grant percentage.\n */\n minResourcePercentPerRequest: number;\n /**\n * The workload group query execution timeout.\n */\n queryExecutionTimeout?: number;\n}\n\n/**\n * Input type for Workload group definition. For more information look at sys.workload_management_workload_groups (DMV).\n */\nexport interface WorkloadGroupPropertiesInput extends InputOf<WorkloadGroupProperties> {\n /**\n * The workload group importance level.\n */\n importance?: ExpressionOrValue<string> | undefined;\n /**\n * The workload group cap percentage resource.\n */\n maxResourcePercent: ExpressionOrValue<number>;\n /**\n * The workload group request maximum grant percentage.\n */\n maxResourcePercentPerRequest?: ExpressionOrValue<number> | undefined;\n /**\n * The workload group minimum percentage resource.\n */\n minResourcePercent: ExpressionOrValue<number>;\n /**\n * The workload group request minimum grant percentage.\n */\n minResourcePercentPerRequest: ExpressionOrValue<number>;\n /**\n * The workload group query execution timeout.\n */\n queryExecutionTimeout?: ExpressionOrValue<number> | undefined;\n}\n\n/**\n * View type for Workload group definition. For more information look at sys.workload_management_workload_groups (DMV).\n */\nexport type WorkloadGroupPropertiesView = WorkloadGroupPropertiesInput;\n\nexport const workloadGroupPropertiesShape: FlatModelShape = createFlatModelShape({\n importance: { armPath: [\"importance\"], value: createStringShape() },\n maxResourcePercent: { armPath: [\"maxResourcePercent\"], value: createNumberShape() },\n maxResourcePercentPerRequest: {\n armPath: [\"maxResourcePercentPerRequest\"],\n value: createNumberShape(),\n },\n minResourcePercent: { armPath: [\"minResourcePercent\"], value: createNumberShape() },\n minResourcePercentPerRequest: {\n armPath: [\"minResourcePercentPerRequest\"],\n value: createNumberShape(),\n },\n queryExecutionTimeout: { armPath: [\"queryExecutionTimeout\"], value: createNumberShape() },\n});\n\n/**\n * Known values:\n *\n * - `\"ActiveDirectory\"`: ActiveDirectory\n */\nexport type AdministratorName = string;\n\n/**\n * Type of the sever administrator.\n *\n * Known values:\n *\n * - `\"ActiveDirectory\"`: ActiveDirectory\n */\nexport type AdministratorType = string;\n\n/**\n * Known values:\n *\n * - `\"Default\"`: Default\n */\nexport type AdvancedThreatProtectionName = string;\n\n/**\n * Type of enclave requested on the database i.e. Default or VBS enclaves.\n *\n * Known values:\n *\n * - `\"Default\"`: Default\n *\n * - `\"VBS\"`: VBS\n */\nexport type AlwaysEncryptedEnclaveType = string;\n\n/**\n * Known values:\n *\n * - `\"Default\"`: Default\n */\nexport type AuthenticationName = string;\n\n/**\n * The managed instance's authentication metadata lookup mode.\n *\n * Known values:\n *\n * - `\"AzureAD\"`: AzureAD\n *\n * - `\"Paired\"`: Paired\n *\n * - `\"Windows\"`: Windows\n */\nexport type AuthMetadataLookupModes = string;\n\n/**\n * Specifies the availability zone the database is pinned to.\n *\n * Known values:\n *\n * - `\"NoPreference\"`: NoPreference\n *\n * - `\"1\"`: 1\n *\n * - `\"2\"`: 2\n *\n * - `\"3\"`: 3\n */\nexport type AvailabilityZoneType = string;\n\n/**\n * The BackupStorageAccessTier for the LTR backup\n *\n * Known values:\n *\n * - `\"Hot\"`: Hot\n *\n * - `\"Archive\"`: Archive\n */\nexport type BackupStorageAccessTier = string;\n\n/**\n * The storage account type used to store backups for this database.\n *\n * Known values:\n *\n * - `\"Geo\"`: Geo\n *\n * - `\"Local\"`: Local\n *\n * - `\"Zone\"`: Zone\n *\n * - `\"GeoZone\"`: GeoZone\n */\nexport type BackupStorageRedundancy = string;\n\n/**\n * Known values:\n *\n * - `\"default\"`: default\n */\nexport type BaselineName = string;\n\n/**\n * Collation of the metadata catalog.\n *\n * Known values:\n *\n * - `\"DATABASE_DEFAULT\"`: DATABASE_DEFAULT\n *\n * - `\"SQL_Latin1_General_CP1_CI_AS\"`: SQL_Latin1_General_CP1_CI_AS\n */\nexport type CatalogCollationType = string;\n\n/**\n * Known values:\n *\n * - `\"None\"`: None\n *\n * - `\"Native\"`: Native\n *\n * - `\"Recommended\"`: Recommended\n *\n * - `\"MIP\"`: MIP\n */\nexport type ClientClassificationSource = string;\n\n/**\n * The column data type.\n *\n * Known values:\n *\n * - `\"image\"`: image\n *\n * - `\"text\"`: text\n *\n * - `\"uniqueidentifier\"`: uniqueidentifier\n *\n * - `\"date\"`: date\n *\n * - `\"time\"`: time\n *\n * - `\"datetime2\"`: datetime2\n *\n * - `\"datetimeoffset\"`: datetimeoffset\n *\n * - `\"tinyint\"`: tinyint\n *\n * - `\"smallint\"`: smallint\n *\n * - `\"int\"`: int\n *\n * - `\"smalldatetime\"`: smalldatetime\n *\n * - `\"real\"`: real\n *\n * - `\"money\"`: money\n *\n * - `\"datetime\"`: datetime\n *\n * - `\"float\"`: float\n *\n * - `\"sql_variant\"`: sql_variant\n *\n * - `\"ntext\"`: ntext\n *\n * - `\"bit\"`: bit\n *\n * - `\"decimal\"`: decimal\n *\n * - `\"numeric\"`: numeric\n *\n * - `\"smallmoney\"`: smallmoney\n *\n * - `\"bigint\"`: bigint\n *\n * - `\"hierarchyid\"`: hierarchyid\n *\n * - `\"geometry\"`: geometry\n *\n * - `\"geography\"`: geography\n *\n * - `\"varbinary\"`: varbinary\n *\n * - `\"varchar\"`: varchar\n *\n * - `\"binary\"`: binary\n *\n * - `\"char\"`: char\n *\n * - `\"timestamp\"`: timestamp\n *\n * - `\"nvarchar\"`: nvarchar\n *\n * - `\"nchar\"`: nchar\n *\n * - `\"xml\"`: xml\n *\n * - `\"sysname\"`: sysname\n */\nexport type ColumnDataType = string;\n\n/**\n * Known values:\n *\n * - `\"default\"`: default\n */\nexport type ConnectionPolicyName = string;\n\n/**\n * The kind of entity that created the resource.\n *\n * Known values:\n *\n * - `\"User\"`: The entity was created by a user.\n *\n * - `\"Application\"`: The entity was created by an application.\n *\n * - `\"ManagedIdentity\"`: The entity was created by a managed identity.\n *\n * - `\"Key\"`: The entity was created by a key.\n */\nexport type CreatedByType = string;\n\n/**\n * Specifies the mode of database creation.\n *\n * Default: regular database creation.\n *\n * Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database.\n *\n * Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database.\n *\n * PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified.\n *\n * Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore.\n *\n * Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time.\n *\n * RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.\n *\n * Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.\n *\n * Known values:\n *\n * - `\"Default\"`: Default\n *\n * - `\"Copy\"`: Copy\n *\n * - `\"Secondary\"`: Secondary\n *\n * - `\"PointInTimeRestore\"`: PointInTimeRestore\n *\n * - `\"Restore\"`: Restore\n *\n * - `\"Recovery\"`: Recovery\n *\n * - `\"RestoreExternalBackup\"`: RestoreExternalBackup\n *\n * - `\"RestoreExternalBackupSecondary\"`: RestoreExternalBackupSecondary\n *\n * - `\"RestoreLongTermRetentionBackup\"`: RestoreLongTermRetentionBackup\n *\n * - `\"OnlineSecondary\"`: OnlineSecondary\n */\nexport type CreateMode = string;\n\n/**\n * The identity type\n *\n * Known values:\n *\n * - `\"None\"`: None\n *\n * - `\"UserAssigned\"`: UserAssigned\n */\nexport type DatabaseIdentityType = string;\n\n/**\n * The database key type. Only supported value is 'AzureKeyVault'.\n *\n * Known values:\n *\n * - `\"AzureKeyVault\"`: AzureKeyVault\n */\nexport type DatabaseKeyType = string;\n\n/**\n * The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you have a license and are eligible for the Azure Hybrid Benefit.\n *\n * Known values:\n *\n * - `\"LicenseIncluded\"`: LicenseIncluded\n *\n * - `\"BasePrice\"`: BasePrice\n */\nexport type DatabaseLicenseType = string;\n\n/**\n * The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale database within an elastic pool.\n *\n * Known values:\n *\n * - `\"Enabled\"`: Enabled\n *\n * - `\"Disabled\"`: Disabled\n */\nexport type DatabaseReadScale = string;\n\n/**\n * The status of the database.\n *\n * Known values:\n *\n * - `\"Online\"`: Online\n *\n * - `\"Restoring\"`: Restoring\n *\n * - `\"RecoveryPending\"`: RecoveryPending\n *\n * - `\"Recovering\"`: Recovering\n *\n * - `\"Suspect\"`: Suspect\n *\n * - `\"Offline\"`: Offline\n *\n * - `\"Standby\"`: Standby\n *\n * - `\"Shutdown\"`: Shutdown\n *\n * - `\"EmergencyMode\"`: EmergencyMode\n *\n * - `\"AutoClosed\"`: AutoClosed\n *\n * - `\"Copying\"`: Copying\n *\n * - `\"Creating\"`: Creating\n *\n * - `\"Inaccessible\"`: Inaccessible\n *\n * - `\"OfflineSecondary\"`: OfflineSecondary\n *\n * - `\"Pausing\"`: Pausing\n *\n * - `\"Paused\"`: Paused\n *\n * - `\"Resuming\"`: Resuming\n *\n * - `\"Scaling\"`: Scaling\n *\n * - `\"OfflineChangingDwPerformanceTiers\"`: OfflineChangingDwPerformanceTiers\n *\n * - `\"OnlineChangingDwPerformanceTiers\"`: OnlineChangingDwPerformanceTiers\n *\n * - `\"Disabled\"`: Disabled\n *\n * - `\"Stopping\"`: Stopping\n *\n * - `\"Stopped\"`: Stopped\n *\n * - `\"Starting\"`: Starting\n */\nexport type DatabaseStatus = string;\n\n/**\n * Known values:\n *\n * - `\"Default\"`: Default\n */\nexport type DataMaskingPolicyName = string;\n\n/**\n * Known values:\n *\n * - `\"current\"`: current\n */\nexport type DataWarehouseUserActivityName = string;\n\n/**\n * Day of maintenance window.\n *\n * Known values:\n *\n * - `\"Sunday\"`: Sunday\n *\n * - `\"Monday\"`: Monday\n *\n * - `\"Tuesday\"`: Tuesday\n *\n * - `\"Wednesday\"`: Wednesday\n *\n * - `\"Thursday\"`: Thursday\n *\n * - `\"Friday\"`: Friday\n *\n * - `\"Saturday\"`: Saturday\n */\nexport type DayOfWeek = string;\n\n/**\n * Known values:\n *\n * - `\"Default\"`: Default\n */\nexport type DevOpsAuditingSettingsName = string;\n\n/**\n * Known values:\n *\n * - `\"current\"`: current\n */\nexport type DtcName = string;\n\n/**\n * The license type to apply for this elastic pool.\n *\n * Known values:\n *\n * - `\"LicenseIncluded\"`: LicenseIncluded\n *\n * - `\"BasePrice\"`: BasePrice\n */\nexport type ElasticPoolLicenseType = string;\n\n/**\n * The state of the elastic pool.\n *\n * Known values:\n *\n * - `\"Creating\"`: Creating\n *\n * - `\"Ready\"`: Ready\n *\n * - `\"Disabled\"`: Disabled\n */\nexport type ElasticPoolState = string;\n\n/**\n * Known values:\n *\n * - `\"current\"`: current\n */\nexport type EncryptionProtectorName = string;\n\n/**\n * Error type (e.g. None, User).\n *\n * Known values:\n *\n * - `\"None\"`: None\n *\n * - `\"User\"`: User\n */\nexport type ErrorType = string;\n\n/**\n * Status of external governance.\n *\n * Known values:\n *\n * - `\"Enabled\"`: Enabled\n *\n * - `\"Disabled\"`: Disabled\n */\nexport type ExternalGovernanceStatus = string;\n\n/**\n * Databases secondary type on partner server.\n *\n * Known values:\n *\n * - `\"Geo\"`: Geo\n *\n * - `\"Standby\"`: Standby\n */\nexport type FailoverGroupDatabasesSecondaryType = string;\n\n/**\n * Local replication role of the failover group instance.\n *\n * Known values:\n *\n * - `\"Primary\"`: Primary\n *\n * - `\"Secondary\"`: Secondary\n */\nexport type FailoverGroupReplicationRole = string;\n\n/**\n * The link failover mode - can be Manual if intended to be used for two-way failover with a supported SQL Server, or None for one-way failover to Azure.\n *\n * Known values:\n *\n * - `\"None\"`: None\n *\n * - `\"Manual\"`: Manual\n */\nexport type FailoverModeType = string;\n\n/**\n * Specifies the behavior when monthly free limits are exhausted for the free database.\n *\n * AutoPause: The database will be auto paused upon exhaustion of free limits for remainder of the month.\n *\n * BillForUsage: The database will continue to be online upon exhaustion of free limits and any overage will be billed.\n *\n * Known values:\n *\n * - `\"AutoPause\"`: AutoPause\n *\n * - `\"BillOverUsage\"`: BillOverUsage\n */\nexport type FreeLimitExhaustionBehavior = string;\n\n/**\n * Known values:\n *\n * - `\"Default\"`: Default\n */\nexport type GeoBackupPolicyName = string;\n\n/**\n * Hybrid secondary usage. Possible values are 'Active' (default value) and 'Passive' (customer uses the secondary as Passive DR).\n *\n * Known values:\n *\n * - `\"Active\"`: Active\n *\n * - `\"Passive\"`: Passive\n */\nexport type HybridSecondaryUsage = string;\n\n/**\n * Hybrid secondary usage detected. Possible values are 'Active' (customer does not meet the requirements to use the secondary as Passive DR) and 'Passive' (customer meets the requirements to use the secondary as Passive DR).\n *\n * Known values:\n *\n * - `\"Active\"`: Active\n *\n * - `\"Passive\"`: Passive\n */\nexport type HybridSecondaryUsageDetected = string;\n\n/**\n * The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active Directory principal for the resource.\n *\n * Known values:\n *\n * - `\"None\"`: None\n *\n * - `\"SystemAssigned\"`: SystemAssigned\n *\n * - `\"UserAssigned\"`: UserAssigned\n *\n * - `\"SystemAssigned,UserAssigned\"`: SystemAssigned,UserAssigned\n */\nexport type IdentityType = string;\n\n/**\n * Root cause kind. Allowed values are “TransparentDataEncryption”, “DatabaseReplication”, and “Unknown”.\n *\n * Known values:\n *\n * - `\"Unknown\"`: Unknown\n *\n * - `\"TransparentDataEncryption\"`: TransparentDataEncryption\n *\n * - `\"DatabaseReplication\"`: DatabaseReplication\n */\nexport type InaccessibilityReason = string;\n\n/**\n * Local replication role of the failover group instance.\n *\n * Known values:\n *\n * - `\"Primary\"`: Primary\n *\n * - `\"Secondary\"`: Secondary\n */\nexport type InstanceFailoverGroupReplicationRole = string;\n\n/**\n * The license type. Possible values are 'LicenseIncluded' (price for SQL license is included) and 'BasePrice' (without SQL license price).\n *\n * Known values:\n *\n * - `\"LicenseIncluded\"`: LicenseIncluded\n *\n * - `\"BasePrice\"`: BasePrice\n */\nexport type InstancePoolLicenseType = string;\n\n/**\n * The job agent identity type\n *\n * Known values:\n *\n * - `\"None\"`: None\n *\n * - `\"SystemAssigned\"`: SystemAssigned\n *\n * - `\"UserAssigned\"`: UserAssigned\n *\n * - `\"SystemAssignedUserAssigned\"`: SystemAssignedUserAssigned\n */\nexport type JobAgentIdentityType = string;\n\n/**\n * The state of the job agent.\n *\n * Known values:\n *\n * - `\"Creating\"`: Creating\n *\n * - `\"Ready\"`: Ready\n *\n * - `\"Updating\"`: Updating\n *\n * - `\"Deleting\"`: Deleting\n *\n * - `\"Disabled\"`: Disabled\n */\nexport type JobAgentState = string;\n\n/**\n * The detailed state of the job execution.\n *\n * Known values:\n *\n * - `\"Created\"`: Created\n *\n * - `\"InProgress\"`: InProgress\n *\n * - `\"WaitingForChildJobExecutions\"`: WaitingForChildJobExecutions\n *\n * - `\"WaitingForRetry\"`: WaitingForRetry\n *\n * - `\"Succeeded\"`: Succeeded\n *\n * - `\"SucceededWithSkipped\"`: SucceededWithSkipped\n *\n * - `\"Failed\"`: Failed\n *\n * - `\"TimedOut\"`: TimedOut\n *\n * - `\"Canceled\"`: Canceled\n *\n * - `\"Skipped\"`: Skipped\n */\nexport type JobExecutionLifecycle = string;\n\n/**\n * The source of the action to execute.\n *\n * Known values:\n *\n * - `\"Inline\"`: Inline\n */\nexport type JobStepActionSource = string;\n\n/**\n * Type of action being executed by the job step.\n *\n * Known values:\n *\n * - `\"TSql\"`: TSql\n */\nexport type JobStepActionType = string;\n\n/**\n * The output destination type.\n *\n * Known values:\n *\n * - `\"SqlDatabase\"`: SqlDatabase\n */\nexport type JobStepOutputType = string;\n\n/**\n * The type of the target.\n *\n * Known values:\n *\n * - `\"TargetGroup\"`: TargetGroup\n *\n * - `\"SqlDatabase\"`: SqlDatabase\n *\n * - `\"SqlElasticPool\"`: SqlElasticPool\n *\n * - `\"SqlShardMap\"`: SqlShardMap\n *\n * - `\"SqlServer\"`: SqlServer\n */\nexport type JobTargetType = string;\n\n/**\n * Known values:\n *\n * - `\"current\"`: current\n */\nexport type LedgerDigestUploadsName = string;\n\n/**\n * SQL server side link role\n *\n * Known values:\n *\n * - `\"Primary\"`: Primary\n *\n * - `\"Secondary\"`: Secondary\n */\nexport type LinkRole = string;\n\n/**\n * Known values:\n *\n * - `\"default\"`: default\n */\nexport type LongTermRetentionPolicyName = string;\n\n/**\n * Managed database create mode. PointInTimeRestore: Create a database by restoring a point in time backup of an existing database. SourceDatabaseName, SourceManagedInstanceName and PointInTime must be specified. RestoreExternalBackup: Create a database by restoring from external backup files. Collation, StorageContainerUri and StorageContainerSasToken must be specified. Recovery: Creates a database by restoring a geo-replicated backup. RecoverableDatabaseId must be specified as the recoverable database resource ID to restore. RestoreLongTermRetentionBackup: Create a database by restoring from a long term retention backup (longTermRetentionBackupResourceId required).\n *\n * Known values:\n *\n * - `\"Default\"`: Default\n *\n * - `\"RestoreExternalBackup\"`: RestoreExternalBackup\n *\n * - `\"PointInTimeRestore\"`: PointInTimeRestore\n *\n * - `\"Recovery\"`: Recovery\n *\n * - `\"RestoreLongTermRetentionBackup\"`: RestoreLongTermRetentionBackup\n */\nexport type ManagedDatabaseCreateMode = string;\n\n/**\n * Status of the database.\n *\n * Known values:\n *\n * - `\"Online\"`: Online\n *\n * - `\"Offline\"`: Offline\n *\n * - `\"Shutdown\"`: Shutdown\n *\n * - `\"Creating\"`: Creating\n *\n * - `\"Inaccessible\"`: Inaccessible\n *\n * - `\"Restoring\"`: Restoring\n *\n * - `\"Updating\"`: Updating\n *\n * - `\"Stopping\"`: Stopping\n *\n * - `\"Stopped\"`: Stopped\n *\n * - `\"Starting\"`: Starting\n *\n * - `\"DbMoving\"`: DbMoving\n *\n * - `\"DbCopying\"`: DbCopying\n */\nexport type ManagedDatabaseStatus = string;\n\n/**\n * Type of the managed instance administrator.\n *\n * Known values:\n *\n * - `\"ActiveDirectory\"`: ActiveDirectory\n */\nexport type ManagedInstanceAdministratorType = string;\n\n/**\n * Specifies the internal format of instance databases specific to the SQL engine version.\n *\n * Known values:\n *\n * - `\"AlwaysUpToDate\"`: AlwaysUpToDate\n *\n * - `\"SQLServer2022\"`: SQLServer2022\n *\n * - `\"SQLServer2025\"`: SQLServer2025\n */\nexport type ManagedInstanceDatabaseFormat = string;\n\n/**\n * The license type. Possible values are 'LicenseIncluded' (regular price inclusive of a new SQL license) and 'BasePrice' (discounted AHB price for bringing your own SQL licenses).\n *\n * Known values:\n *\n * - `\"LicenseIncluded\"`: LicenseIncluded\n *\n * - `\"BasePrice\"`: BasePrice\n */\nexport type ManagedInstanceLicenseType = string;\n\n/**\n * Known values:\n *\n * - `\"default\"`: default\n */\nexport type ManagedInstanceLongTermRetentionPolicyName = string;\n\n/**\n * Connection type used for connecting to the instance.\n *\n * Known values:\n *\n * - `\"Proxy\"`: Proxy\n *\n * - `\"Redirect\"`: Redirect\n *\n * - `\"Default\"`: Default\n */\nexport type ManagedInstanceProxyOverride = string;\n\n/**\n * Known values:\n *\n * - `\"current\"`: current\n */\nexport type ManagedLedgerDigestUploadsName = string;\n\n/**\n * Specifies the state of ledger digest upload.\n *\n * Known values:\n *\n * - `\"Enabled\"`: Enabled\n *\n * - `\"Disabled\"`: Disabled\n */\nexport type ManagedLedgerDigestUploadsState = string;\n\n/**\n * Specifies the mode of database creation.\n *\n * Default: Regular instance creation.\n *\n * Restore: Creates an instance by restoring a set of backups to specific point in time. RestorePointInTime and SourceManagedInstanceId must be specified.\n *\n * Known values:\n *\n * - `\"Default\"`: Default\n *\n * - `\"PointInTimeRestore\"`: PointInTimeRestore\n */\nexport type ManagedServerCreateMode = string;\n\n/**\n * Known values:\n *\n * - `\"default\"`: default\n */\nexport type ManagedShortTermRetentionPolicyName = string;\n\n/**\n * The operation state.\n *\n * Known values:\n *\n * - `\"Pending\"`: Pending\n *\n * - `\"InProgress\"`: InProgress\n *\n * - `\"Succeeded\"`: Succeeded\n *\n * - `\"Failed\"`: Failed\n *\n * - `\"CancelInProgress\"`: CancelInProgress\n *\n * - `\"Cancelled\"`: Cancelled\n */\nexport type ManagementOperationState = string;\n\n/**\n * Minimal TLS version. Allowed values: 'None', 1.0', '1.1', '1.2', '1.3'\n *\n * Known values:\n *\n * - `\"None\"`: None\n *\n * - `\"1.0\"`: 1.0\n *\n * - `\"1.1\"`: 1.1\n *\n * - `\"1.2\"`: 1.2\n *\n * - `\"1.3\"`: 1.3\n */\nexport type MinimalTlsVersion = string;\n\n/**\n * Operation mode.\n *\n * Known values:\n *\n * - `\"Move\"`: Move\n *\n * - `\"Copy\"`: Copy\n */\nexport type MoveOperationMode = string;\n\n/**\n * Operation mode of the operation: Import, Export, or PolybaseImport.\n *\n * Known values:\n *\n * - `\"PolybaseImport\"`: PolybaseImport\n *\n * - `\"Import\"`: Import\n *\n * - `\"Export\"`: Export\n */\nexport type OperationMode = string;\n\n/**\n * Pricing model of Managed Instance.\n *\n * Known values:\n *\n * - `\"Regular\"`: Regular\n *\n * - `\"Freemium\"`: Freemium\n */\nexport type PricingModel = string;\n\n/**\n * Principal Type of the sever administrator.\n *\n * Known values:\n *\n * - `\"User\"`: User\n *\n * - `\"Group\"`: Group\n *\n * - `\"Application\"`: Application\n */\nexport type PrincipalType = string;\n\n/**\n * State of the private endpoint connection.\n *\n * Known values:\n *\n * - `\"Approving\"`: Approving\n *\n * - `\"Ready\"`: Ready\n *\n * - `\"Dropping\"`: Dropping\n *\n * - `\"Failed\"`: Failed\n *\n * - `\"Rejecting\"`: Rejecting\n */\nexport type PrivateEndpointProvisioningState = string;\n\n/**\n * The actions required for private link service connection.\n *\n * Known values:\n *\n * - `\"None\"`: None\n */\nexport type PrivateLinkServiceConnectionStateActionsRequire = string;\n\n/**\n * The private link service connection status.\n *\n * Known values:\n *\n * - `\"Approved\"`: Approved\n *\n * - `\"Pending\"`: Pending\n *\n * - `\"Rejected\"`: Rejected\n *\n * - `\"Disconnected\"`: Disconnected\n */\nexport type PrivateLinkServiceConnectionStateStatus = string;\n\n/**\n * The ARM provisioning state of the job execution.\n *\n * Known values:\n *\n * - `\"Created\"`: Created\n *\n * - `\"InProgress\"`: InProgress\n *\n * - `\"Succeeded\"`: Succeeded\n *\n * - `\"Failed\"`: Failed\n *\n * - `\"Canceled\"`: Canceled\n */\nexport type ProvisioningState = string;\n\n/**\n * Failover policy of the read-only endpoint for the failover group.\n *\n * Known values:\n *\n * - `\"Disabled\"`: Disabled\n *\n * - `\"Enabled\"`: Enabled\n */\nexport type ReadOnlyEndpointFailoverPolicy = string;\n\n/**\n * Failover policy of the read-write endpoint for the failover group. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required.\n *\n * Known values:\n *\n * - `\"Manual\"`: Manual\n *\n * - `\"Automatic\"`: Automatic\n */\nexport type ReadWriteEndpointFailoverPolicy = string;\n\n/**\n * Current state the recommended action is in. Some commonly used states are: Active -> recommended action is active and no action has been taken yet. Pending -> recommended action is approved for and is awaiting execution. Executing -> recommended action is being applied on the user database. Verifying -> recommended action was applied and is being verified of its usefulness by the system. Success -> recommended action was applied and improvement found during verification. Pending Revert -> verification found little or no improvement so recommended action is queued for revert or user has manually reverted. Reverting -> changes made while applying recommended action are being reverted on the user database. Reverted -> successfully reverted the changes made by recommended action on user database. Ignored -> user explicitly ignored/discarded the recommended action.\n *\n * Known values:\n *\n * - `\"Active\"`: Active\n *\n * - `\"Pending\"`: Pending\n *\n * - `\"Executing\"`: Executing\n *\n * - `\"Verifying\"`: Verifying\n *\n * - `\"PendingRevert\"`: PendingRevert\n *\n * - `\"RevertCancelled\"`: RevertCancelled\n *\n * - `\"Reverting\"`: Reverting\n *\n * - `\"Reverted\"`: Reverted\n *\n * - `\"Ignored\"`: Ignored\n *\n * - `\"Expired\"`: Expired\n *\n * - `\"Monitoring\"`: Monitoring\n *\n * - `\"Resolved\"`: Resolved\n *\n * - `\"Success\"`: Success\n *\n * - `\"Error\"`: Error\n */\nexport type RecommendedActionCurrentState = string;\n\n/**\n * Link connected state\n *\n * Known values:\n *\n * - `\"DISCONNECTED\"`: DISCONNECTED\n *\n * - `\"CONNECTED\"`: CONNECTED\n */\nexport type ReplicaConnectedState = string;\n\n/**\n * Link health state\n *\n * Known values:\n *\n * - `\"NOT_HEALTHY\"`: NOT_HEALTHY\n *\n * - `\"PARTIALLY_HEALTHY\"`: PARTIALLY_HEALTHY\n *\n * - `\"HEALTHY\"`: HEALTHY\n */\nexport type ReplicaSynchronizationHealth = string;\n\n/**\n * Link type (GEO, NAMED, STANDBY). Update operation does not support NAMED.\n *\n * Known values:\n *\n * - `\"GEO\"`: GEO\n *\n * - `\"NAMED\"`: NAMED\n *\n * - `\"STANDBY\"`: STANDBY\n */\nexport type ReplicationLinkType = string;\n\n/**\n * Replication mode of the link\n *\n * Known values:\n *\n * - `\"Async\"`: Async\n *\n * - `\"Sync\"`: Sync\n */\nexport type ReplicationModeType = string;\n\n/**\n * Replication state (PENDING, SEEDING, CATCHUP, SUSPENDED).\n *\n * Known values:\n *\n * - `\"PENDING\"`: PENDING\n *\n * - `\"SEEDING\"`: SEEDING\n *\n * - `\"CATCH_UP\"`: CATCH_UP\n *\n * - `\"SUSPENDED\"`: SUSPENDED\n */\nexport type ReplicationState = string;\n\n/**\n * Known values:\n *\n * - `\"Default\"`: Default\n */\nexport type RestoreDetailsName = string;\n\n/**\n * SQL Vulnerability Assessment rule severity.\n *\n * Known values:\n *\n * - `\"High\"`: High\n *\n * - `\"Medium\"`: Medium\n *\n * - `\"Low\"`: Low\n *\n * - `\"Informational\"`: Informational\n *\n * - `\"Obsolete\"`: Obsolete\n */\nexport type RuleSeverity = string;\n\n/**\n * SQL Vulnerability Assessment baseline status\n *\n * Known values:\n *\n * - `\"NonFinding\"`: NonFinding\n *\n * - `\"Finding\"`: Finding\n *\n * - `\"InternalError\"`: InternalError\n */\nexport type RuleStatus = string;\n\n/**\n * SQL Vulnerability Assessment rule type.\n *\n * Known values:\n *\n * - `\"Binary\"`: Binary\n *\n * - `\"BaselineExpected\"`: BaselineExpected\n *\n * - `\"PositiveList\"`: PositiveList\n *\n * - `\"NegativeList\"`: NegativeList\n */\nexport type RuleType = string;\n\n/**\n * The name of the sample schema to apply when creating this database.\n *\n * Known values:\n *\n * - `\"AdventureWorksLT\"`: AdventureWorksLT\n *\n * - `\"WideWorldImportersStd\"`: WideWorldImportersStd\n *\n * - `\"WideWorldImportersFull\"`: WideWorldImportersFull\n */\nexport type SampleName = string;\n\n/**\n * Type of the geo-secondary instance. Set 'Standby' if the instance is used as a DR option only.\n *\n * Known values:\n *\n * - `\"Geo\"`: Geo\n *\n * - `\"Standby\"`: Standby\n */\nexport type SecondaryInstanceType = string;\n\n/**\n * The secondary type of the database if it is a secondary. Valid values are Geo, Named and Standby.\n *\n * Known values:\n *\n * - `\"Geo\"`: Geo\n *\n * - `\"Named\"`: Named\n *\n * - `\"Standby\"`: Standby\n */\nexport type SecondaryType = string;\n\n/**\n * Known values:\n *\n * - `\"Default\"`: Default\n */\nexport type SecurityAlertPolicyName = string;\n\n/**\n * Database seeding mode – can be Automatic (default), or Manual for supported scenarios.\n *\n * Known values:\n *\n * - `\"Automatic\"`: Automatic\n *\n * - `\"Manual\"`: Manual\n */\nexport type SeedingModeType = string;\n\n/**\n * Known values:\n *\n * - `\"allowPolybaseExport\"`: allowPolybaseExport\n */\nexport type ServerConfigurationOptionName = string;\n\n/**\n * The server connection type.\n *\n * Known values:\n *\n * - `\"Default\"`: Default\n *\n * - `\"Redirect\"`: Redirect\n *\n * - `\"Proxy\"`: Proxy\n */\nexport type ServerConnectionType = string;\n\n/**\n * Create mode for server, only valid values for this are Normal and Restore.\n *\n * Known values:\n *\n * - `\"Normal\"`: Normal\n *\n * - `\"Restore\"`: Restore\n */\nexport type ServerCreateMode = string;\n\n/**\n * The encryption protector type like 'ServiceManaged', 'AzureKeyVault'.\n *\n * Known values:\n *\n * - `\"ServiceManaged\"`: ServiceManaged\n *\n * - `\"AzureKeyVault\"`: AzureKeyVault\n */\nexport type ServerKeyType = string;\n\n/**\n * Whether or not to restrict outbound network access for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'\n *\n * Known values:\n *\n * - `\"Enabled\"`: Enabled\n *\n * - `\"Disabled\"`: Disabled\n *\n * - `\"SecuredByPerimeter\"`: SecuredByPerimeter\n */\nexport type ServerNetworkAccessFlag = string;\n\n/**\n * Whether or not public endpoint access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' or 'SecuredByPerimeter'\n *\n * Known values:\n *\n * - `\"Enabled\"`: Enabled\n *\n * - `\"Disabled\"`: Disabled\n *\n * - `\"SecuredByPerimeter\"`: SecuredByPerimeter\n */\nexport type ServerPublicNetworkAccessFlag = string;\n\n/**\n * Known values:\n *\n * - `\"GlobalTransactions\"`: GlobalTransactions\n *\n * - `\"ServiceBroker\"`: ServiceBroker\n */\nexport type ServerTrustGroupPropertiesTrustScopesItem = string;\n\n/**\n * Whether or not existing server has a workspace created and if it allows connection from workspace\n *\n * Known values:\n *\n * - `\"Connected\"`: Connected\n *\n * - `\"Disconnected\"`: Disconnected\n */\nexport type ServerWorkspaceFeature = string;\n\n/**\n * Service principal type.\n *\n * Known values:\n *\n * - `\"None\"`: None\n *\n * - `\"SystemAssigned\"`: SystemAssigned\n */\nexport type ServicePrincipalType = string;\n\n/**\n * The setting for whether LegalHold is enabled or disabled on the LTR backup. When LegalHold is enabled, the backup cannot be deleted until the LegalHold is removed.\n *\n * Known values:\n *\n * - `\"Enabled\"`: Enabled\n *\n * - `\"Disabled\"`: Disabled\n */\nexport type SetLegalHoldImmutability = string;\n\n/**\n * Known values:\n *\n * - `\"default\"`: default\n */\nexport type ShortTermRetentionPolicyName = string;\n\n/**\n * The state of Sql Agent.\n *\n * Known values:\n *\n * - `\"Enabled\"`: Enabled\n *\n * - `\"Disabled\"`: Disabled\n */\nexport type SqlAgentConfigurationPropertiesState = string;\n\n/**\n * Known values:\n *\n * - `\"default\"`: default\n */\nexport type SqlVulnerabilityAssessmentName = string;\n\n/**\n * Known values:\n *\n * - `\"default\"`: default\n */\nexport type StartStopScheduleName = string;\n\n/**\n * Storage key type: StorageAccessKey, SharedAccessKey or ManagedIdentity.\n *\n * Known values:\n *\n * - `\"SharedAccessKey\"`: SharedAccessKey\n *\n * - `\"StorageAccessKey\"`: StorageAccessKey\n *\n * - `\"ManagedIdentity\"`: ManagedIdentity\n */\nexport type StorageKeyType = string;\n\n/**\n * State of the sync agent.\n *\n * Known values:\n *\n * - `\"Online\"`: Online\n *\n * - `\"Offline\"`: Offline\n *\n * - `\"NeverConnected\"`: NeverConnected\n */\nexport type SyncAgentState = string;\n\n/**\n * Conflict resolution policy of the sync group.\n *\n * Known values:\n *\n * - `\"HubWin\"`: HubWin\n *\n * - `\"MemberWin\"`: MemberWin\n */\nexport type SyncConflictResolutionPolicy = string;\n\n/**\n * Sync direction of the sync member.\n *\n * Known values:\n *\n * - `\"Bidirectional\"`: Bidirectional\n *\n * - `\"OneWayMemberToHub\"`: OneWayMemberToHub\n *\n * - `\"OneWayHubToMember\"`: OneWayHubToMember\n */\nexport type SyncDirection = string;\n\n/**\n * Sync state of the sync group.\n *\n * Known values:\n *\n * - `\"NotReady\"`: NotReady\n *\n * - `\"Error\"`: Error\n *\n * - `\"Warning\"`: Warning\n *\n * - `\"Progressing\"`: Progressing\n *\n * - `\"Good\"`: Good\n */\nexport type SyncGroupState = string;\n\n/**\n * Type of the sync agent linked database.\n *\n * Known values:\n *\n * - `\"AzureSqlDatabase\"`: AzureSqlDatabase\n *\n * - `\"SqlServerDatabase\"`: SqlServerDatabase\n */\nexport type SyncMemberDbType = string;\n\n/**\n * Sync state of the sync member.\n *\n * Known values:\n *\n * - `\"SyncInProgress\"`: SyncInProgress\n *\n * - `\"SyncSucceeded\"`: SyncSucceeded\n *\n * - `\"SyncFailed\"`: SyncFailed\n *\n * - `\"DisabledTombstoneCleanup\"`: DisabledTombstoneCleanup\n *\n * - `\"DisabledBackupRestore\"`: DisabledBackupRestore\n *\n * - `\"SyncSucceededWithWarnings\"`: SyncSucceededWithWarnings\n *\n * - `\"SyncCancelling\"`: SyncCancelling\n *\n * - `\"SyncCancelled\"`: SyncCancelled\n *\n * - `\"UnProvisioned\"`: UnProvisioned\n *\n * - `\"Provisioning\"`: Provisioning\n *\n * - `\"Provisioned\"`: Provisioned\n *\n * - `\"ProvisionFailed\"`: ProvisionFailed\n *\n * - `\"DeProvisioning\"`: DeProvisioning\n *\n * - `\"DeProvisioned\"`: DeProvisioned\n *\n * - `\"DeProvisionFailed\"`: DeProvisionFailed\n *\n * - `\"Reprovisioning\"`: Reprovisioning\n *\n * - `\"ReprovisionFailed\"`: ReprovisionFailed\n *\n * - `\"UnReprovisioned\"`: UnReprovisioned\n */\nexport type SyncMemberState = string;\n\n/**\n * The table temporal type.\n *\n * Known values:\n *\n * - `\"NonTemporalTable\"`: NonTemporalTable\n *\n * - `\"HistoryTable\"`: HistoryTable\n *\n * - `\"SystemVersionedTemporalTable\"`: SystemVersionedTemporalTable\n */\nexport type TableTemporalType = string;\n\n/**\n * The setting for whether or not time-based immutability is enabled for the LTR backup. When time-based immutability is enabled and locked, the backup cannot be deleted until BackupExpirationTime.\n *\n * Known values:\n *\n * - `\"Enabled\"`: Enabled\n *\n * - `\"Disabled\"`: Disabled\n */\nexport type TimeBasedImmutability = string;\n\n/**\n * The time-based immutability mode. Only applicable if time-based immutability is enabled.\n *\n * Known values:\n *\n * - `\"Locked\"`: Locked\n *\n * - `\"Unlocked\"`: Unlocked\n */\nexport type TimeBasedImmutabilityMode = string;\n\n/**\n * Known values:\n *\n * - `\"current\"`: current\n */\nexport type TransparentDataEncryptionName = string;\n\n/**\n * Specifies the encryption scan state of the transparent data encryption.\n *\n * Known values:\n *\n * - `\"None\"`: None\n *\n * - `\"Resume\"`: Resume\n *\n * - `\"Running\"`: Running\n *\n * - `\"Suspend\"`: Suspend\n *\n * - `\"Aborted\"`: Aborted\n *\n * - `\"Completed\"`: Completed\n */\nexport type TransparentDataEncryptionScanState = string;\n\n/**\n * Known values:\n *\n * - `\"NotStarted\"`: NotStarted\n *\n * - `\"InProgress\"`: InProgress\n *\n * - `\"SlowedDown\"`: SlowedDown\n *\n * - `\"Completed\"`: Completed\n *\n * - `\"Failed\"`: Failed\n *\n * - `\"Canceled\"`: Canceled\n */\nexport type UpsertManagedServerOperationStepWithEstimatesAndDurationStatus = string;\n\n/**\n * Virtual Network Rule State\n *\n * Known values:\n *\n * - `\"Initializing\"`: Initializing\n *\n * - `\"InProgress\"`: InProgress\n *\n * - `\"Ready\"`: Ready\n *\n * - `\"Failed\"`: Failed\n *\n * - `\"Deleting\"`: Deleting\n *\n * - `\"Unknown\"`: Unknown\n */\nexport type VirtualNetworkRuleState = string;\n\n/**\n * Known values:\n *\n * - `\"default\"`: default\n */\nexport type VulnerabilityAssessmentName = string;\n\n/**\n * The scan status.\n *\n * Known values:\n *\n * - `\"Passed\"`: Passed\n *\n * - `\"Failed\"`: Failed\n *\n * - `\"FailedToRun\"`: FailedToRun\n *\n * - `\"InProgress\"`: InProgress\n */\nexport type VulnerabilityAssessmentScanState = string;\n\n/**\n * The scan trigger type.\n *\n * Known values:\n *\n * - `\"OnDemand\"`: OnDemand\n *\n * - `\"Recurring\"`: Recurring\n */\nexport type VulnerabilityAssessmentScanTriggerType = string;\n"]}