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@2024-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": "2024-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 |
'2024-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@2024-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@2024-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' |