import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages a Microsoft SQL Azure Managed Instance. * * > **Note:** All arguments including the administrator login and password will be stored in the raw state as plain-text. [Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html). * * > **Note:** SQL Managed Instance needs permission to read Azure Active Directory when configuring the AAD administrator. [Read more about provisioning AAD administrators](https://learn.microsoft.com/en-us/azure/azure-sql/database/authentication-aad-configure?view=azuresql#provision-azure-ad-admin-sql-managed-instance). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "database-rg", * location: "West Europe", * }); * const exampleNetworkSecurityGroup = new azure.network.NetworkSecurityGroup("example", { * name: "mi-security-group", * location: example.location, * resourceGroupName: example.name, * }); * const allowManagementInbound = new azure.network.NetworkSecurityRule("allow_management_inbound", { * name: "allow_management_inbound", * priority: 106, * direction: "Inbound", * access: "Allow", * protocol: "Tcp", * sourcePortRange: "*", * destinationPortRanges: [ * "9000", * "9003", * "1438", * "1440", * "1452", * ], * sourceAddressPrefix: "*", * destinationAddressPrefix: "*", * resourceGroupName: example.name, * networkSecurityGroupName: exampleNetworkSecurityGroup.name, * }); * const allowMisubnetInbound = new azure.network.NetworkSecurityRule("allow_misubnet_inbound", { * name: "allow_misubnet_inbound", * priority: 200, * direction: "Inbound", * access: "Allow", * protocol: "*", * sourcePortRange: "*", * destinationPortRange: "*", * sourceAddressPrefix: "10.0.0.0/24", * destinationAddressPrefix: "*", * resourceGroupName: example.name, * networkSecurityGroupName: exampleNetworkSecurityGroup.name, * }); * const allowHealthProbeInbound = new azure.network.NetworkSecurityRule("allow_health_probe_inbound", { * name: "allow_health_probe_inbound", * priority: 300, * direction: "Inbound", * access: "Allow", * protocol: "*", * sourcePortRange: "*", * destinationPortRange: "*", * sourceAddressPrefix: "AzureLoadBalancer", * destinationAddressPrefix: "*", * resourceGroupName: example.name, * networkSecurityGroupName: exampleNetworkSecurityGroup.name, * }); * const allowTdsInbound = new azure.network.NetworkSecurityRule("allow_tds_inbound", { * name: "allow_tds_inbound", * priority: 1000, * direction: "Inbound", * access: "Allow", * protocol: "Tcp", * sourcePortRange: "*", * destinationPortRange: "1433", * sourceAddressPrefix: "VirtualNetwork", * destinationAddressPrefix: "*", * resourceGroupName: example.name, * networkSecurityGroupName: exampleNetworkSecurityGroup.name, * }); * const denyAllInbound = new azure.network.NetworkSecurityRule("deny_all_inbound", { * name: "deny_all_inbound", * priority: 4096, * direction: "Inbound", * access: "Deny", * protocol: "*", * sourcePortRange: "*", * destinationPortRange: "*", * sourceAddressPrefix: "*", * destinationAddressPrefix: "*", * resourceGroupName: example.name, * networkSecurityGroupName: exampleNetworkSecurityGroup.name, * }); * const allowManagementOutbound = new azure.network.NetworkSecurityRule("allow_management_outbound", { * name: "allow_management_outbound", * priority: 102, * direction: "Outbound", * access: "Allow", * protocol: "Tcp", * sourcePortRange: "*", * destinationPortRanges: [ * "80", * "443", * "12000", * ], * sourceAddressPrefix: "*", * destinationAddressPrefix: "*", * resourceGroupName: example.name, * networkSecurityGroupName: exampleNetworkSecurityGroup.name, * }); * const allowMisubnetOutbound = new azure.network.NetworkSecurityRule("allow_misubnet_outbound", { * name: "allow_misubnet_outbound", * priority: 200, * direction: "Outbound", * access: "Allow", * protocol: "*", * sourcePortRange: "*", * destinationPortRange: "*", * sourceAddressPrefix: "10.0.0.0/24", * destinationAddressPrefix: "*", * resourceGroupName: example.name, * networkSecurityGroupName: exampleNetworkSecurityGroup.name, * }); * const denyAllOutbound = new azure.network.NetworkSecurityRule("deny_all_outbound", { * name: "deny_all_outbound", * priority: 4096, * direction: "Outbound", * access: "Deny", * protocol: "*", * sourcePortRange: "*", * destinationPortRange: "*", * sourceAddressPrefix: "*", * destinationAddressPrefix: "*", * resourceGroupName: example.name, * networkSecurityGroupName: exampleNetworkSecurityGroup.name, * }); * const exampleVirtualNetwork = new azure.network.VirtualNetwork("example", { * name: "vnet-mi", * resourceGroupName: example.name, * addressSpaces: ["10.0.0.0/16"], * location: example.location, * }); * const exampleSubnet = new azure.network.Subnet("example", { * name: "subnet-mi", * resourceGroupName: example.name, * virtualNetworkName: exampleVirtualNetwork.name, * addressPrefixes: ["10.0.0.0/24"], * delegations: [{ * name: "managedinstancedelegation", * serviceDelegation: { * name: "Microsoft.Sql/managedInstances", * actions: [ * "Microsoft.Network/virtualNetworks/subnets/join/action", * "Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action", * "Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action", * ], * }, * }], * }); * const exampleSubnetNetworkSecurityGroupAssociation = new azure.network.SubnetNetworkSecurityGroupAssociation("example", { * subnetId: exampleSubnet.id, * networkSecurityGroupId: exampleNetworkSecurityGroup.id, * }); * const exampleRouteTable = new azure.network.RouteTable("example", { * name: "routetable-mi", * location: example.location, * resourceGroupName: example.name, * bgpRoutePropagationEnabled: true, * }, { * dependsOn: [exampleSubnet], * }); * const exampleSubnetRouteTableAssociation = new azure.network.SubnetRouteTableAssociation("example", { * subnetId: exampleSubnet.id, * routeTableId: exampleRouteTable.id, * }); * const exampleManagedInstance = new azure.mssql.ManagedInstance("example", { * name: "managedsqlinstance", * resourceGroupName: example.name, * location: example.location, * licenseType: "BasePrice", * skuName: "GP_Gen5", * storageSizeInGb: 32, * subnetId: exampleSubnet.id, * vcores: 4, * administratorLogin: "mradministrator", * administratorLoginPassword: "thisIsDog11", * }, { * dependsOn: [ * exampleSubnetNetworkSecurityGroupAssociation, * exampleSubnetRouteTableAssociation, * ], * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.Sql` - 2023-08-01-preview * * ## Import * * Microsoft SQL Managed Instances can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:mssql/managedInstance:ManagedInstance example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/managedInstances/myserver * ``` */ export declare class ManagedInstance extends pulumi.CustomResource { /** * Get an existing ManagedInstance resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: ManagedInstanceState, opts?: pulumi.CustomResourceOptions): ManagedInstance; /** * Returns true if the given object is an instance of ManagedInstance. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ManagedInstance; /** * The administrator login name for the new SQL Managed Instance. Changing this forces a new resource to be created. */ readonly administratorLogin: pulumi.Output; /** * The password associated with the `administratorLogin` user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx) * * > **Note:** Unless `azure_active_directory_administrator.azuread_authentication_only_enabled` is set to `true`, `administratorLogin` and `administratorLoginPassword` are required. */ readonly administratorLoginPassword: pulumi.Output; /** * An `azureActiveDirectoryAdministrator` block as defined below. */ readonly azureActiveDirectoryAdministrator: pulumi.Output; /** * Specifies how the SQL Managed Instance will be collated. Defaults to `SQL_Latin1_General_CP1_CI_AS`. Changing this forces a new resource to be created. */ readonly collation: pulumi.Output; /** * Specifies the internal format of the SQL Managed Instance databases specific to the SQL engine version. Possible values are `AlwaysUpToDate` and `SQLServer2022`. Defaults to `SQLServer2022`. * * > **Note:** Changing `databaseFormat` from `AlwaysUpToDate` to `SQLServer2022` forces a new SQL Managed Instance to be created. */ readonly databaseFormat: pulumi.Output; /** * The Dns Zone where the SQL Managed Instance is located. */ readonly dnsZone: pulumi.Output; /** * The ID of the SQL Managed Instance which will share the DNS zone. This is a prerequisite for creating an `azurermSqlManagedInstanceFailoverGroup`. Setting this after creation forces a new resource to be created. */ readonly dnsZonePartnerId: pulumi.Output; /** * The fully qualified domain name of the Azure Managed SQL Instance */ readonly fqdn: pulumi.Output; /** * Specifies whether the SQL Managed Instance should use the Next-gen General Purpose service tier. Defaults to `false`. * * > **Note:** The `generalPurposeV2Enabled` property can only be set to `true` when using a General Purpose (`GP_*`) SKU. */ readonly generalPurposeV2Enabled: pulumi.Output; /** * Specifies the hybrid secondary usage for disaster recovery of the SQL Managed Instance. Possible values are `Active` and `Passive`. Defaults to `Active`. */ readonly hybridSecondaryUsage: pulumi.Output; /** * An `identity` block as defined below. */ readonly identity: pulumi.Output; /** * What type of license the Managed Instance will use. Possible values are `LicenseIncluded` and `BasePrice`. */ readonly licenseType: pulumi.Output; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ readonly location: pulumi.Output; /** * The name of the Public Maintenance Configuration window to apply to the SQL Managed Instance. Valid values include `SQL_Default` or an Azure Location in the format `SQL_{Location}_MI_{Size}`(for example `SQL_EastUS_MI_1`). Defaults to `SQL_Default`. */ readonly maintenanceConfigurationName: pulumi.Output; /** * The Minimum TLS Version. Default value is `1.2` Valid values include `1.0`, `1.1`, `1.2`. * * > **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. */ readonly minimumTlsVersion: pulumi.Output; /** * The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created. */ readonly name: pulumi.Output; /** * Specifies how the SQL Managed Instance will be accessed. Defaults to `Default`. Possible values are `Default`, `Proxy`, and `Redirect`. */ readonly proxyOverride: pulumi.Output; /** * Is the public data endpoint enabled? Defaults to `false`. */ readonly publicDataEndpointEnabled: pulumi.Output; /** * The name of the resource group in which to create the SQL Managed Instance. Changing this forces a new resource to be created. */ readonly resourceGroupName: pulumi.Output; /** * The service principal type. The only possible value is `SystemAssigned`. */ readonly servicePrincipalType: pulumi.Output; /** * Specifies the SKU Name for the SQL Managed Instance. Possible values are `GP_Gen4`, `GP_Gen5`, `GP_Gen8IM`, `GP_Gen8IH`, `BC_Gen4`, `BC_Gen5`, `BC_Gen8IM` or `BC_Gen8IH`. */ readonly skuName: pulumi.Output; /** * Specifies the storage account type used to store backups for this database. Possible values are `GRS`, `GZRS`, `LRS`, and `ZRS`. Defaults to `GRS`. */ readonly storageAccountType: pulumi.Output; /** * Maximum storage space for the SQL Managed instance. This should be a multiple of 32 (GB). * * > **Note:** The maximum storage size varies depending on the service tier and hardware generation. For General Purpose Next-gen instances, the maximum is 32,768 GB (32 TB), while Business Critical instances support up to 16,384 GB (16 TB). Refer to [Azure SQL Managed Instance resource limits](https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/resource-limits) for detailed information. */ readonly storageSizeInGb: pulumi.Output; /** * The subnet resource id that the SQL Managed Instance will be associated with. */ readonly subnetId: pulumi.Output; /** * A mapping of tags to assign to the resource. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * The TimeZone ID that the SQL Managed Instance will be operating in. Defaults to `UTC`. Changing this forces a new resource to be created. */ readonly timezoneId: pulumi.Output; /** * Number of cores that should be assigned to the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `4`, `6`, `8`, `10`, `12`, `16`, `20`, `24`, `32`, `40`, `48`, `56`, `64`, `80`, `96` or `128` for Gen5 SKUs. */ readonly vcores: pulumi.Output; /** * Specifies whether the SQL Managed Instance is zone redundant. Defaults to `false`. */ readonly zoneRedundantEnabled: pulumi.Output; /** * Create a ManagedInstance resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ManagedInstanceArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ManagedInstance resources. */ export interface ManagedInstanceState { /** * The administrator login name for the new SQL Managed Instance. Changing this forces a new resource to be created. */ administratorLogin?: pulumi.Input; /** * The password associated with the `administratorLogin` user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx) * * > **Note:** Unless `azure_active_directory_administrator.azuread_authentication_only_enabled` is set to `true`, `administratorLogin` and `administratorLoginPassword` are required. */ administratorLoginPassword?: pulumi.Input; /** * An `azureActiveDirectoryAdministrator` block as defined below. */ azureActiveDirectoryAdministrator?: pulumi.Input; /** * Specifies how the SQL Managed Instance will be collated. Defaults to `SQL_Latin1_General_CP1_CI_AS`. Changing this forces a new resource to be created. */ collation?: pulumi.Input; /** * Specifies the internal format of the SQL Managed Instance databases specific to the SQL engine version. Possible values are `AlwaysUpToDate` and `SQLServer2022`. Defaults to `SQLServer2022`. * * > **Note:** Changing `databaseFormat` from `AlwaysUpToDate` to `SQLServer2022` forces a new SQL Managed Instance to be created. */ databaseFormat?: pulumi.Input; /** * The Dns Zone where the SQL Managed Instance is located. */ dnsZone?: pulumi.Input; /** * The ID of the SQL Managed Instance which will share the DNS zone. This is a prerequisite for creating an `azurermSqlManagedInstanceFailoverGroup`. Setting this after creation forces a new resource to be created. */ dnsZonePartnerId?: pulumi.Input; /** * The fully qualified domain name of the Azure Managed SQL Instance */ fqdn?: pulumi.Input; /** * Specifies whether the SQL Managed Instance should use the Next-gen General Purpose service tier. Defaults to `false`. * * > **Note:** The `generalPurposeV2Enabled` property can only be set to `true` when using a General Purpose (`GP_*`) SKU. */ generalPurposeV2Enabled?: pulumi.Input; /** * Specifies the hybrid secondary usage for disaster recovery of the SQL Managed Instance. Possible values are `Active` and `Passive`. Defaults to `Active`. */ hybridSecondaryUsage?: pulumi.Input; /** * An `identity` block as defined below. */ identity?: pulumi.Input; /** * What type of license the Managed Instance will use. Possible values are `LicenseIncluded` and `BasePrice`. */ licenseType?: pulumi.Input; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ location?: pulumi.Input; /** * The name of the Public Maintenance Configuration window to apply to the SQL Managed Instance. Valid values include `SQL_Default` or an Azure Location in the format `SQL_{Location}_MI_{Size}`(for example `SQL_EastUS_MI_1`). Defaults to `SQL_Default`. */ maintenanceConfigurationName?: pulumi.Input; /** * The Minimum TLS Version. Default value is `1.2` Valid values include `1.0`, `1.1`, `1.2`. * * > **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. */ minimumTlsVersion?: pulumi.Input; /** * The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * Specifies how the SQL Managed Instance will be accessed. Defaults to `Default`. Possible values are `Default`, `Proxy`, and `Redirect`. */ proxyOverride?: pulumi.Input; /** * Is the public data endpoint enabled? Defaults to `false`. */ publicDataEndpointEnabled?: pulumi.Input; /** * The name of the resource group in which to create the SQL Managed Instance. Changing this forces a new resource to be created. */ resourceGroupName?: pulumi.Input; /** * The service principal type. The only possible value is `SystemAssigned`. */ servicePrincipalType?: pulumi.Input; /** * Specifies the SKU Name for the SQL Managed Instance. Possible values are `GP_Gen4`, `GP_Gen5`, `GP_Gen8IM`, `GP_Gen8IH`, `BC_Gen4`, `BC_Gen5`, `BC_Gen8IM` or `BC_Gen8IH`. */ skuName?: pulumi.Input; /** * Specifies the storage account type used to store backups for this database. Possible values are `GRS`, `GZRS`, `LRS`, and `ZRS`. Defaults to `GRS`. */ storageAccountType?: pulumi.Input; /** * Maximum storage space for the SQL Managed instance. This should be a multiple of 32 (GB). * * > **Note:** The maximum storage size varies depending on the service tier and hardware generation. For General Purpose Next-gen instances, the maximum is 32,768 GB (32 TB), while Business Critical instances support up to 16,384 GB (16 TB). Refer to [Azure SQL Managed Instance resource limits](https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/resource-limits) for detailed information. */ storageSizeInGb?: pulumi.Input; /** * The subnet resource id that the SQL Managed Instance will be associated with. */ subnetId?: pulumi.Input; /** * A mapping of tags to assign to the resource. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * The TimeZone ID that the SQL Managed Instance will be operating in. Defaults to `UTC`. Changing this forces a new resource to be created. */ timezoneId?: pulumi.Input; /** * Number of cores that should be assigned to the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `4`, `6`, `8`, `10`, `12`, `16`, `20`, `24`, `32`, `40`, `48`, `56`, `64`, `80`, `96` or `128` for Gen5 SKUs. */ vcores?: pulumi.Input; /** * Specifies whether the SQL Managed Instance is zone redundant. Defaults to `false`. */ zoneRedundantEnabled?: pulumi.Input; } /** * The set of arguments for constructing a ManagedInstance resource. */ export interface ManagedInstanceArgs { /** * The administrator login name for the new SQL Managed Instance. Changing this forces a new resource to be created. */ administratorLogin?: pulumi.Input; /** * The password associated with the `administratorLogin` user. Needs to comply with Azure's [Password Policy](https://msdn.microsoft.com/library/ms161959.aspx) * * > **Note:** Unless `azure_active_directory_administrator.azuread_authentication_only_enabled` is set to `true`, `administratorLogin` and `administratorLoginPassword` are required. */ administratorLoginPassword?: pulumi.Input; /** * An `azureActiveDirectoryAdministrator` block as defined below. */ azureActiveDirectoryAdministrator?: pulumi.Input; /** * Specifies how the SQL Managed Instance will be collated. Defaults to `SQL_Latin1_General_CP1_CI_AS`. Changing this forces a new resource to be created. */ collation?: pulumi.Input; /** * Specifies the internal format of the SQL Managed Instance databases specific to the SQL engine version. Possible values are `AlwaysUpToDate` and `SQLServer2022`. Defaults to `SQLServer2022`. * * > **Note:** Changing `databaseFormat` from `AlwaysUpToDate` to `SQLServer2022` forces a new SQL Managed Instance to be created. */ databaseFormat?: pulumi.Input; /** * The ID of the SQL Managed Instance which will share the DNS zone. This is a prerequisite for creating an `azurermSqlManagedInstanceFailoverGroup`. Setting this after creation forces a new resource to be created. */ dnsZonePartnerId?: pulumi.Input; /** * Specifies whether the SQL Managed Instance should use the Next-gen General Purpose service tier. Defaults to `false`. * * > **Note:** The `generalPurposeV2Enabled` property can only be set to `true` when using a General Purpose (`GP_*`) SKU. */ generalPurposeV2Enabled?: pulumi.Input; /** * Specifies the hybrid secondary usage for disaster recovery of the SQL Managed Instance. Possible values are `Active` and `Passive`. Defaults to `Active`. */ hybridSecondaryUsage?: pulumi.Input; /** * An `identity` block as defined below. */ identity?: pulumi.Input; /** * What type of license the Managed Instance will use. Possible values are `LicenseIncluded` and `BasePrice`. */ licenseType: pulumi.Input; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ location?: pulumi.Input; /** * The name of the Public Maintenance Configuration window to apply to the SQL Managed Instance. Valid values include `SQL_Default` or an Azure Location in the format `SQL_{Location}_MI_{Size}`(for example `SQL_EastUS_MI_1`). Defaults to `SQL_Default`. */ maintenanceConfigurationName?: pulumi.Input; /** * The Minimum TLS Version. Default value is `1.2` Valid values include `1.0`, `1.1`, `1.2`. * * > **Note:** Azure Services will require TLS 1.2+ by August 2025, please see this [announcement](https://azure.microsoft.com/en-us/updates/v2/update-retirement-tls1-0-tls1-1-versions-azure-services/) for more. */ minimumTlsVersion?: pulumi.Input; /** * The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * Specifies how the SQL Managed Instance will be accessed. Defaults to `Default`. Possible values are `Default`, `Proxy`, and `Redirect`. */ proxyOverride?: pulumi.Input; /** * Is the public data endpoint enabled? Defaults to `false`. */ publicDataEndpointEnabled?: pulumi.Input; /** * The name of the resource group in which to create the SQL Managed Instance. Changing this forces a new resource to be created. */ resourceGroupName: pulumi.Input; /** * The service principal type. The only possible value is `SystemAssigned`. */ servicePrincipalType?: pulumi.Input; /** * Specifies the SKU Name for the SQL Managed Instance. Possible values are `GP_Gen4`, `GP_Gen5`, `GP_Gen8IM`, `GP_Gen8IH`, `BC_Gen4`, `BC_Gen5`, `BC_Gen8IM` or `BC_Gen8IH`. */ skuName: pulumi.Input; /** * Specifies the storage account type used to store backups for this database. Possible values are `GRS`, `GZRS`, `LRS`, and `ZRS`. Defaults to `GRS`. */ storageAccountType?: pulumi.Input; /** * Maximum storage space for the SQL Managed instance. This should be a multiple of 32 (GB). * * > **Note:** The maximum storage size varies depending on the service tier and hardware generation. For General Purpose Next-gen instances, the maximum is 32,768 GB (32 TB), while Business Critical instances support up to 16,384 GB (16 TB). Refer to [Azure SQL Managed Instance resource limits](https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/resource-limits) for detailed information. */ storageSizeInGb: pulumi.Input; /** * The subnet resource id that the SQL Managed Instance will be associated with. */ subnetId: pulumi.Input; /** * A mapping of tags to assign to the resource. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * The TimeZone ID that the SQL Managed Instance will be operating in. Defaults to `UTC`. Changing this forces a new resource to be created. */ timezoneId?: pulumi.Input; /** * Number of cores that should be assigned to the SQL Managed Instance. Values can be `8`, `16`, or `24` for Gen4 SKUs, or `4`, `6`, `8`, `10`, `12`, `16`, `20`, `24`, `32`, `40`, `48`, `56`, `64`, `80`, `96` or `128` for Gen5 SKUs. */ vcores: pulumi.Input; /** * Specifies whether the SQL Managed Instance is zone redundant. Defaults to `false`. */ zoneRedundantEnabled?: pulumi.Input; }