Bicep resource definition
The sqlManagedInstances resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.AzureArcData/sqlManagedInstances resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.AzureArcData/sqlManagedInstances@2026-01-01' = {
extendedLocation: {
name: 'string'
type: 'string'
}
location: 'string'
name: 'string'
properties: {
activeDirectoryInformation: {
keytabInformation: {
keytab: 'string'
}
}
admin: 'string'
basicLoginInformation: {
password: 'string'
username: 'string'
}
clusterId: 'string'
dataControllerId: 'string'
endTime: 'string'
extensionId: 'string'
k8sRaw: {
spec: {
replicas: int
scheduling: {
default: {
resources: {
limits: {
{customized property}: 'string'
}
requests: {
{customized property}: 'string'
}
}
}
}
security: {
activeDirectory: {
accountName: 'string'
connector: {
name: 'string'
namespace: 'string'
}
encryptionTypes: [
'string'
]
keytabSecret: 'string'
}
adminLoginSecret: 'string'
serviceCertificateSecret: 'string'
transparentDataEncryption: {
mode: 'string'
protectorSecret: 'string'
}
}
settings: {
network: {
forceencryption: int
tlsciphers: 'string'
tlsprotocols: 'string'
}
}
}
}
lastUploadedDate: 'string'
licenseType: 'string'
startTime: 'string'
}
sku: {
capacity: int
dev: bool
family: 'string'
name: 'vCore'
size: 'string'
tier: 'string'
}
tags: {
{customized property}: 'string'
}
}
Property Values
Microsoft.AzureArcData/sqlManagedInstances
| Name |
Description |
Value |
| keytabInformation |
Keytab information that is used for the Sql Managed Instance when Active Directory authentication is used. |
KeytabInformation |
| Name |
Description |
Value |
| password |
Login password. |
string
Constraints: Sensitive value. Pass in as a secure parameter. |
| username |
Login username. |
string |
ExtendedLocation
| Name |
Description |
Value |
| name |
The name of the extended location. |
string |
| type |
The type of the extended location. |
'CustomLocation' |
K8SActiveDirectory
| Name |
Description |
Value |
| accountName |
Account name for AAD |
string |
| connector |
|
K8SActiveDirectoryConnector |
| encryptionTypes |
An array of encryption types |
string[] |
| keytabSecret |
Keytab secret used to authenticate with Active Directory. |
string |
K8SActiveDirectoryConnector
| Name |
Description |
Value |
| name |
Name of the connector |
string |
| namespace |
Name space of the connector |
string |
K8SNetworkSettings
| Name |
Description |
Value |
| forceencryption |
If 1, then SQL Server forces all connections to be encrypted. By default, this option is 0 |
int |
| tlsciphers |
Specifies which ciphers are allowed by SQL Server for TLS |
string |
| tlsprotocols |
A comma-separated list of which TLS protocols are allowed by SQL Server |
string |
K8SResourceRequirements
| Name |
Description |
Value |
| limits |
Limits for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum 'memory' is '128Gi'. |
K8SResourceRequirementsLimits |
| requests |
Requests for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum 'memory' is '128Gi'. |
K8SResourceRequirementsRequests |
K8SResourceRequirementsLimits
K8SResourceRequirementsRequests
K8SScheduling
| Name |
Description |
Value |
| default |
The kubernetes scheduling options. It describes restrictions used to help Kubernetes select appropriate nodes to host the database service |
K8SSchedulingOptions |
K8SSchedulingOptions
| Name |
Description |
Value |
| resources |
The kubernetes resource limits and requests used to restrict or reserve resource usage. |
K8SResourceRequirements |
K8SSecurity
| Name |
Description |
Value |
| activeDirectory |
The kubernetes active directory information. |
K8SActiveDirectory |
| adminLoginSecret |
Admin login secret key |
string |
| serviceCertificateSecret |
Service certificate secret used |
string |
| transparentDataEncryption |
Transparent data encryption information. |
K8StransparentDataEncryption |
K8SSettings
| Name |
Description |
Value |
| network |
The kubernetes network settings information. |
K8SNetworkSettings |
K8StransparentDataEncryption
| Name |
Description |
Value |
| mode |
Transparent data encryption mode. Can be Service Managed, Customer managed or disabled |
string |
| protectorSecret |
Protector secret for customer managed Transparent data encryption mode |
string |
| Name |
Description |
Value |
| keytab |
A base64-encoded keytab. |
string
Constraints: Sensitive value. Pass in as a secure parameter. |
SqlManagedInstanceK8SRaw
SqlManagedInstanceK8SSpec
| Name |
Description |
Value |
| replicas |
This option specifies the number of SQL Managed Instance replicas that will be deployed in your Kubernetes cluster for high availability purposes. If sku.tier is BusinessCritical, allowed values are '2' or '3' with default of '3'. If sku.tier is GeneralPurpose, replicas must be '1'. |
int |
| scheduling |
The kubernetes scheduling information. |
K8SScheduling |
| security |
The kubernetes security information. |
K8SSecurity |
| settings |
The kubernetes settings information. |
K8SSettings |
SqlManagedInstanceProperties
| Name |
Description |
Value |
| activeDirectoryInformation |
Active Directory information related to this SQL Managed Instance. |
ActiveDirectoryInformation |
| admin |
The instance admin user |
string |
| basicLoginInformation |
Username and password for basic authentication. |
BasicLoginInformation |
| clusterId |
If a CustomLocation is provided, this contains the ARM id of the connected cluster the custom location belongs to. |
string |
| dataControllerId |
null |
string |
| endTime |
The instance end time |
string |
| extensionId |
If a CustomLocation is provided, this contains the ARM id of the extension the custom location belongs to. |
string |
| k8sRaw |
The raw kubernetes information |
SqlManagedInstanceK8SRaw |
| lastUploadedDate |
Last uploaded date from Kubernetes cluster. Defaults to current date time |
string |
| licenseType |
The license type to apply for this managed instance. |
'BasePrice' 'DisasterRecovery' 'LicenseIncluded' |
| startTime |
The instance start time |
string |
SqlManagedInstanceSku
| Name |
Description |
Value |
| capacity |
The SKU capacity |
int |
| dev |
Whether dev/test is enabled. When the dev field is set to true, the resource is used for dev/test purpose. |
bool |
| family |
The SKU family |
string |
| name |
The name of the SKU. |
'vCore' (required) |
| size |
The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. |
string |
| tier |
The pricing tier for the instance. |
'BusinessCritical' 'GeneralPurpose' |
ARM template resource definition
The sqlManagedInstances resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.AzureArcData/sqlManagedInstances resource, add the following JSON to your template.
{
"type": "Microsoft.AzureArcData/sqlManagedInstances",
"apiVersion": "2026-01-01",
"name": "string",
"extendedLocation": {
"name": "string",
"type": "string"
},
"location": "string",
"properties": {
"activeDirectoryInformation": {
"keytabInformation": {
"keytab": "string"
}
},
"admin": "string",
"basicLoginInformation": {
"password": "string",
"username": "string"
},
"clusterId": "string",
"dataControllerId": "string",
"endTime": "string",
"extensionId": "string",
"k8sRaw": {
"spec": {
"replicas": "int",
"scheduling": {
"default": {
"resources": {
"limits": {
"{customized property}": "string"
},
"requests": {
"{customized property}": "string"
}
}
}
},
"security": {
"activeDirectory": {
"accountName": "string",
"connector": {
"name": "string",
"namespace": "string"
},
"encryptionTypes": [ "string" ],
"keytabSecret": "string"
},
"adminLoginSecret": "string",
"serviceCertificateSecret": "string",
"transparentDataEncryption": {
"mode": "string",
"protectorSecret": "string"
}
},
"settings": {
"network": {
"forceencryption": "int",
"tlsciphers": "string",
"tlsprotocols": "string"
}
}
}
},
"lastUploadedDate": "string",
"licenseType": "string",
"startTime": "string"
},
"sku": {
"capacity": "int",
"dev": "bool",
"family": "string",
"name": "vCore",
"size": "string",
"tier": "string"
},
"tags": {
"{customized property}": "string"
}
}
Property Values
Microsoft.AzureArcData/sqlManagedInstances
| Name |
Description |
Value |
| apiVersion |
The api version |
'2026-01-01' |
| extendedLocation |
The extendedLocation of the resource. |
ExtendedLocation |
| location |
The geo-location where the resource lives |
string (required) |
| name |
The resource name |
string (required) |
| properties |
null |
SqlManagedInstanceProperties (required) |
| sku |
Resource sku. |
SqlManagedInstanceSku |
| tags |
Resource tags |
Dictionary of tag names and values. See Tags in templates |
| type |
The resource type |
'Microsoft.AzureArcData/sqlManagedInstances' |
| Name |
Description |
Value |
| keytabInformation |
Keytab information that is used for the Sql Managed Instance when Active Directory authentication is used. |
KeytabInformation |
| Name |
Description |
Value |
| password |
Login password. |
string
Constraints: Sensitive value. Pass in as a secure parameter. |
| username |
Login username. |
string |
ExtendedLocation
| Name |
Description |
Value |
| name |
The name of the extended location. |
string |
| type |
The type of the extended location. |
'CustomLocation' |
K8SActiveDirectory
| Name |
Description |
Value |
| accountName |
Account name for AAD |
string |
| connector |
|
K8SActiveDirectoryConnector |
| encryptionTypes |
An array of encryption types |
string[] |
| keytabSecret |
Keytab secret used to authenticate with Active Directory. |
string |
K8SActiveDirectoryConnector
| Name |
Description |
Value |
| name |
Name of the connector |
string |
| namespace |
Name space of the connector |
string |
K8SNetworkSettings
| Name |
Description |
Value |
| forceencryption |
If 1, then SQL Server forces all connections to be encrypted. By default, this option is 0 |
int |
| tlsciphers |
Specifies which ciphers are allowed by SQL Server for TLS |
string |
| tlsprotocols |
A comma-separated list of which TLS protocols are allowed by SQL Server |
string |
K8SResourceRequirements
| Name |
Description |
Value |
| limits |
Limits for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum 'memory' is '128Gi'. |
K8SResourceRequirementsLimits |
| requests |
Requests for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum 'memory' is '128Gi'. |
K8SResourceRequirementsRequests |
K8SResourceRequirementsLimits
K8SResourceRequirementsRequests
K8SScheduling
| Name |
Description |
Value |
| default |
The kubernetes scheduling options. It describes restrictions used to help Kubernetes select appropriate nodes to host the database service |
K8SSchedulingOptions |
K8SSchedulingOptions
| Name |
Description |
Value |
| resources |
The kubernetes resource limits and requests used to restrict or reserve resource usage. |
K8SResourceRequirements |
K8SSecurity
| Name |
Description |
Value |
| activeDirectory |
The kubernetes active directory information. |
K8SActiveDirectory |
| adminLoginSecret |
Admin login secret key |
string |
| serviceCertificateSecret |
Service certificate secret used |
string |
| transparentDataEncryption |
Transparent data encryption information. |
K8StransparentDataEncryption |
K8SSettings
| Name |
Description |
Value |
| network |
The kubernetes network settings information. |
K8SNetworkSettings |
K8StransparentDataEncryption
| Name |
Description |
Value |
| mode |
Transparent data encryption mode. Can be Service Managed, Customer managed or disabled |
string |
| protectorSecret |
Protector secret for customer managed Transparent data encryption mode |
string |
| Name |
Description |
Value |
| keytab |
A base64-encoded keytab. |
string
Constraints: Sensitive value. Pass in as a secure parameter. |
SqlManagedInstanceK8SRaw
SqlManagedInstanceK8SSpec
| Name |
Description |
Value |
| replicas |
This option specifies the number of SQL Managed Instance replicas that will be deployed in your Kubernetes cluster for high availability purposes. If sku.tier is BusinessCritical, allowed values are '2' or '3' with default of '3'. If sku.tier is GeneralPurpose, replicas must be '1'. |
int |
| scheduling |
The kubernetes scheduling information. |
K8SScheduling |
| security |
The kubernetes security information. |
K8SSecurity |
| settings |
The kubernetes settings information. |
K8SSettings |
SqlManagedInstanceProperties
| Name |
Description |
Value |
| activeDirectoryInformation |
Active Directory information related to this SQL Managed Instance. |
ActiveDirectoryInformation |
| admin |
The instance admin user |
string |
| basicLoginInformation |
Username and password for basic authentication. |
BasicLoginInformation |
| clusterId |
If a CustomLocation is provided, this contains the ARM id of the connected cluster the custom location belongs to. |
string |
| dataControllerId |
null |
string |
| endTime |
The instance end time |
string |
| extensionId |
If a CustomLocation is provided, this contains the ARM id of the extension the custom location belongs to. |
string |
| k8sRaw |
The raw kubernetes information |
SqlManagedInstanceK8SRaw |
| lastUploadedDate |
Last uploaded date from Kubernetes cluster. Defaults to current date time |
string |
| licenseType |
The license type to apply for this managed instance. |
'BasePrice' 'DisasterRecovery' 'LicenseIncluded' |
| startTime |
The instance start time |
string |
SqlManagedInstanceSku
| Name |
Description |
Value |
| capacity |
The SKU capacity |
int |
| dev |
Whether dev/test is enabled. When the dev field is set to true, the resource is used for dev/test purpose. |
bool |
| family |
The SKU family |
string |
| name |
The name of the SKU. |
'vCore' (required) |
| size |
The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. |
string |
| tier |
The pricing tier for the instance. |
'BusinessCritical' 'GeneralPurpose' |
Usage Examples
The sqlManagedInstances resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.AzureArcData/sqlManagedInstances resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.AzureArcData/sqlManagedInstances@2026-01-01"
name = "string"
parent_id = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = {
extendedLocation = {
name = "string"
type = "string"
}
properties = {
activeDirectoryInformation = {
keytabInformation = {
keytab = "string"
}
}
admin = "string"
basicLoginInformation = {
password = "string"
username = "string"
}
clusterId = "string"
dataControllerId = "string"
endTime = "string"
extensionId = "string"
k8sRaw = {
spec = {
replicas = int
scheduling = {
default = {
resources = {
limits = {
{customized property} = "string"
}
requests = {
{customized property} = "string"
}
}
}
}
security = {
activeDirectory = {
accountName = "string"
connector = {
name = "string"
namespace = "string"
}
encryptionTypes = [
"string"
]
keytabSecret = "string"
}
adminLoginSecret = "string"
serviceCertificateSecret = "string"
transparentDataEncryption = {
mode = "string"
protectorSecret = "string"
}
}
settings = {
network = {
forceencryption = int
tlsciphers = "string"
tlsprotocols = "string"
}
}
}
}
lastUploadedDate = "string"
licenseType = "string"
startTime = "string"
}
sku = {
capacity = int
dev = bool
family = "string"
name = "vCore"
size = "string"
tier = "string"
}
}
}
Property Values
Microsoft.AzureArcData/sqlManagedInstances
| Name |
Description |
Value |
| extendedLocation |
The extendedLocation of the resource. |
ExtendedLocation |
| location |
The geo-location where the resource lives |
string (required) |
| name |
The resource name |
string (required) |
| properties |
null |
SqlManagedInstanceProperties (required) |
| sku |
Resource sku. |
SqlManagedInstanceSku |
| tags |
Resource tags |
Dictionary of tag names and values. |
| type |
The resource type |
"Microsoft.AzureArcData/sqlManagedInstances@2026-01-01" |
| Name |
Description |
Value |
| keytabInformation |
Keytab information that is used for the Sql Managed Instance when Active Directory authentication is used. |
KeytabInformation |
| Name |
Description |
Value |
| password |
Login password. |
string
Constraints: Sensitive value. Pass in as a secure parameter. |
| username |
Login username. |
string |
ExtendedLocation
| Name |
Description |
Value |
| name |
The name of the extended location. |
string |
| type |
The type of the extended location. |
'CustomLocation' |
K8SActiveDirectory
| Name |
Description |
Value |
| accountName |
Account name for AAD |
string |
| connector |
|
K8SActiveDirectoryConnector |
| encryptionTypes |
An array of encryption types |
string[] |
| keytabSecret |
Keytab secret used to authenticate with Active Directory. |
string |
K8SActiveDirectoryConnector
| Name |
Description |
Value |
| name |
Name of the connector |
string |
| namespace |
Name space of the connector |
string |
K8SNetworkSettings
| Name |
Description |
Value |
| forceencryption |
If 1, then SQL Server forces all connections to be encrypted. By default, this option is 0 |
int |
| tlsciphers |
Specifies which ciphers are allowed by SQL Server for TLS |
string |
| tlsprotocols |
A comma-separated list of which TLS protocols are allowed by SQL Server |
string |
K8SResourceRequirements
| Name |
Description |
Value |
| limits |
Limits for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum 'memory' is '128Gi'. |
K8SResourceRequirementsLimits |
| requests |
Requests for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum 'memory' is '128Gi'. |
K8SResourceRequirementsRequests |
K8SResourceRequirementsLimits
K8SResourceRequirementsRequests
K8SScheduling
| Name |
Description |
Value |
| default |
The kubernetes scheduling options. It describes restrictions used to help Kubernetes select appropriate nodes to host the database service |
K8SSchedulingOptions |
K8SSchedulingOptions
| Name |
Description |
Value |
| resources |
The kubernetes resource limits and requests used to restrict or reserve resource usage. |
K8SResourceRequirements |
K8SSecurity
| Name |
Description |
Value |
| activeDirectory |
The kubernetes active directory information. |
K8SActiveDirectory |
| adminLoginSecret |
Admin login secret key |
string |
| serviceCertificateSecret |
Service certificate secret used |
string |
| transparentDataEncryption |
Transparent data encryption information. |
K8StransparentDataEncryption |
K8SSettings
| Name |
Description |
Value |
| network |
The kubernetes network settings information. |
K8SNetworkSettings |
K8StransparentDataEncryption
| Name |
Description |
Value |
| mode |
Transparent data encryption mode. Can be Service Managed, Customer managed or disabled |
string |
| protectorSecret |
Protector secret for customer managed Transparent data encryption mode |
string |
| Name |
Description |
Value |
| keytab |
A base64-encoded keytab. |
string
Constraints: Sensitive value. Pass in as a secure parameter. |
SqlManagedInstanceK8SRaw
SqlManagedInstanceK8SSpec
| Name |
Description |
Value |
| replicas |
This option specifies the number of SQL Managed Instance replicas that will be deployed in your Kubernetes cluster for high availability purposes. If sku.tier is BusinessCritical, allowed values are '2' or '3' with default of '3'. If sku.tier is GeneralPurpose, replicas must be '1'. |
int |
| scheduling |
The kubernetes scheduling information. |
K8SScheduling |
| security |
The kubernetes security information. |
K8SSecurity |
| settings |
The kubernetes settings information. |
K8SSettings |
SqlManagedInstanceProperties
| Name |
Description |
Value |
| activeDirectoryInformation |
Active Directory information related to this SQL Managed Instance. |
ActiveDirectoryInformation |
| admin |
The instance admin user |
string |
| basicLoginInformation |
Username and password for basic authentication. |
BasicLoginInformation |
| clusterId |
If a CustomLocation is provided, this contains the ARM id of the connected cluster the custom location belongs to. |
string |
| dataControllerId |
null |
string |
| endTime |
The instance end time |
string |
| extensionId |
If a CustomLocation is provided, this contains the ARM id of the extension the custom location belongs to. |
string |
| k8sRaw |
The raw kubernetes information |
SqlManagedInstanceK8SRaw |
| lastUploadedDate |
Last uploaded date from Kubernetes cluster. Defaults to current date time |
string |
| licenseType |
The license type to apply for this managed instance. |
'BasePrice' 'DisasterRecovery' 'LicenseIncluded' |
| startTime |
The instance start time |
string |
SqlManagedInstanceSku
| Name |
Description |
Value |
| capacity |
The SKU capacity |
int |
| dev |
Whether dev/test is enabled. When the dev field is set to true, the resource is used for dev/test purpose. |
bool |
| family |
The SKU family |
string |
| name |
The name of the SKU. |
'vCore' (required) |
| size |
The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. |
string |
| tier |
The pricing tier for the instance. |
'BusinessCritical' 'GeneralPurpose' |