1. Packages
  2. Azure Classic
  3. API Docs
  4. sql
  5. ManagedInstance

We recommend using Azure Native.

Azure Classic v5.72.0 published on Monday, Apr 15, 2024 by Pulumi

azure.sql.ManagedInstance

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure Classic v5.72.0 published on Monday, Apr 15, 2024 by Pulumi

    Manages a SQL Azure Managed Instance.

    Note: The azure.sql.ManagedInstance resource is deprecated in version 3.0 of the AzureRM provider and will be removed in version 4.0. Please use the azure.mssql.ManagedInstance resource instead.

    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.

    Example Usage

    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,
        disableBgpRoutePropagation: false,
    });
    const exampleSubnetRouteTableAssociation = new azure.network.SubnetRouteTableAssociation("example", {
        subnetId: exampleSubnet.id,
        routeTableId: exampleRouteTable.id,
    });
    const exampleManagedInstance = new azure.sql.ManagedInstance("example", {
        name: "managedsqlinstance",
        resourceGroupName: example.name,
        location: example.location,
        administratorLogin: "mradministrator",
        administratorLoginPassword: "thisIsDog11",
        licenseType: "BasePrice",
        subnetId: exampleSubnet.id,
        skuName: "GP_Gen5",
        vcores: 4,
        storageSizeInGb: 32,
    });
    
    import pulumi
    import pulumi_azure as azure
    
    example = azure.core.ResourceGroup("example",
        name="database-rg",
        location="West Europe")
    example_network_security_group = azure.network.NetworkSecurityGroup("example",
        name="mi-security-group",
        location=example.location,
        resource_group_name=example.name)
    allow_management_inbound = azure.network.NetworkSecurityRule("allow_management_inbound",
        name="allow_management_inbound",
        priority=106,
        direction="Inbound",
        access="Allow",
        protocol="Tcp",
        source_port_range="*",
        destination_port_ranges=[
            "9000",
            "9003",
            "1438",
            "1440",
            "1452",
        ],
        source_address_prefix="*",
        destination_address_prefix="*",
        resource_group_name=example.name,
        network_security_group_name=example_network_security_group.name)
    allow_misubnet_inbound = azure.network.NetworkSecurityRule("allow_misubnet_inbound",
        name="allow_misubnet_inbound",
        priority=200,
        direction="Inbound",
        access="Allow",
        protocol="*",
        source_port_range="*",
        destination_port_range="*",
        source_address_prefix="10.0.0.0/24",
        destination_address_prefix="*",
        resource_group_name=example.name,
        network_security_group_name=example_network_security_group.name)
    allow_health_probe_inbound = azure.network.NetworkSecurityRule("allow_health_probe_inbound",
        name="allow_health_probe_inbound",
        priority=300,
        direction="Inbound",
        access="Allow",
        protocol="*",
        source_port_range="*",
        destination_port_range="*",
        source_address_prefix="AzureLoadBalancer",
        destination_address_prefix="*",
        resource_group_name=example.name,
        network_security_group_name=example_network_security_group.name)
    allow_tds_inbound = azure.network.NetworkSecurityRule("allow_tds_inbound",
        name="allow_tds_inbound",
        priority=1000,
        direction="Inbound",
        access="Allow",
        protocol="Tcp",
        source_port_range="*",
        destination_port_range="1433",
        source_address_prefix="VirtualNetwork",
        destination_address_prefix="*",
        resource_group_name=example.name,
        network_security_group_name=example_network_security_group.name)
    deny_all_inbound = azure.network.NetworkSecurityRule("deny_all_inbound",
        name="deny_all_inbound",
        priority=4096,
        direction="Inbound",
        access="Deny",
        protocol="*",
        source_port_range="*",
        destination_port_range="*",
        source_address_prefix="*",
        destination_address_prefix="*",
        resource_group_name=example.name,
        network_security_group_name=example_network_security_group.name)
    allow_management_outbound = azure.network.NetworkSecurityRule("allow_management_outbound",
        name="allow_management_outbound",
        priority=102,
        direction="Outbound",
        access="Allow",
        protocol="Tcp",
        source_port_range="*",
        destination_port_ranges=[
            "80",
            "443",
            "12000",
        ],
        source_address_prefix="*",
        destination_address_prefix="*",
        resource_group_name=example.name,
        network_security_group_name=example_network_security_group.name)
    allow_misubnet_outbound = azure.network.NetworkSecurityRule("allow_misubnet_outbound",
        name="allow_misubnet_outbound",
        priority=200,
        direction="Outbound",
        access="Allow",
        protocol="*",
        source_port_range="*",
        destination_port_range="*",
        source_address_prefix="10.0.0.0/24",
        destination_address_prefix="*",
        resource_group_name=example.name,
        network_security_group_name=example_network_security_group.name)
    deny_all_outbound = azure.network.NetworkSecurityRule("deny_all_outbound",
        name="deny_all_outbound",
        priority=4096,
        direction="Outbound",
        access="Deny",
        protocol="*",
        source_port_range="*",
        destination_port_range="*",
        source_address_prefix="*",
        destination_address_prefix="*",
        resource_group_name=example.name,
        network_security_group_name=example_network_security_group.name)
    example_virtual_network = azure.network.VirtualNetwork("example",
        name="vnet-mi",
        resource_group_name=example.name,
        address_spaces=["10.0.0.0/16"],
        location=example.location)
    example_subnet = azure.network.Subnet("example",
        name="subnet-mi",
        resource_group_name=example.name,
        virtual_network_name=example_virtual_network.name,
        address_prefixes=["10.0.0.0/24"],
        delegations=[azure.network.SubnetDelegationArgs(
            name="managedinstancedelegation",
            service_delegation=azure.network.SubnetDelegationServiceDelegationArgs(
                name="Microsoft.Sql/managedInstances",
                actions=[
                    "Microsoft.Network/virtualNetworks/subnets/join/action",
                    "Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action",
                    "Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action",
                ],
            ),
        )])
    example_subnet_network_security_group_association = azure.network.SubnetNetworkSecurityGroupAssociation("example",
        subnet_id=example_subnet.id,
        network_security_group_id=example_network_security_group.id)
    example_route_table = azure.network.RouteTable("example",
        name="routetable-mi",
        location=example.location,
        resource_group_name=example.name,
        disable_bgp_route_propagation=False)
    example_subnet_route_table_association = azure.network.SubnetRouteTableAssociation("example",
        subnet_id=example_subnet.id,
        route_table_id=example_route_table.id)
    example_managed_instance = azure.sql.ManagedInstance("example",
        name="managedsqlinstance",
        resource_group_name=example.name,
        location=example.location,
        administrator_login="mradministrator",
        administrator_login_password="thisIsDog11",
        license_type="BasePrice",
        subnet_id=example_subnet.id,
        sku_name="GP_Gen5",
        vcores=4,
        storage_size_in_gb=32)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/sql"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
    			Name:     pulumi.String("database-rg"),
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleNetworkSecurityGroup, err := network.NewNetworkSecurityGroup(ctx, "example", &network.NetworkSecurityGroupArgs{
    			Name:              pulumi.String("mi-security-group"),
    			Location:          example.Location,
    			ResourceGroupName: example.Name,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = network.NewNetworkSecurityRule(ctx, "allow_management_inbound", &network.NetworkSecurityRuleArgs{
    			Name:            pulumi.String("allow_management_inbound"),
    			Priority:        pulumi.Int(106),
    			Direction:       pulumi.String("Inbound"),
    			Access:          pulumi.String("Allow"),
    			Protocol:        pulumi.String("Tcp"),
    			SourcePortRange: pulumi.String("*"),
    			DestinationPortRanges: pulumi.StringArray{
    				pulumi.String("9000"),
    				pulumi.String("9003"),
    				pulumi.String("1438"),
    				pulumi.String("1440"),
    				pulumi.String("1452"),
    			},
    			SourceAddressPrefix:      pulumi.String("*"),
    			DestinationAddressPrefix: pulumi.String("*"),
    			ResourceGroupName:        example.Name,
    			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = network.NewNetworkSecurityRule(ctx, "allow_misubnet_inbound", &network.NetworkSecurityRuleArgs{
    			Name:                     pulumi.String("allow_misubnet_inbound"),
    			Priority:                 pulumi.Int(200),
    			Direction:                pulumi.String("Inbound"),
    			Access:                   pulumi.String("Allow"),
    			Protocol:                 pulumi.String("*"),
    			SourcePortRange:          pulumi.String("*"),
    			DestinationPortRange:     pulumi.String("*"),
    			SourceAddressPrefix:      pulumi.String("10.0.0.0/24"),
    			DestinationAddressPrefix: pulumi.String("*"),
    			ResourceGroupName:        example.Name,
    			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = network.NewNetworkSecurityRule(ctx, "allow_health_probe_inbound", &network.NetworkSecurityRuleArgs{
    			Name:                     pulumi.String("allow_health_probe_inbound"),
    			Priority:                 pulumi.Int(300),
    			Direction:                pulumi.String("Inbound"),
    			Access:                   pulumi.String("Allow"),
    			Protocol:                 pulumi.String("*"),
    			SourcePortRange:          pulumi.String("*"),
    			DestinationPortRange:     pulumi.String("*"),
    			SourceAddressPrefix:      pulumi.String("AzureLoadBalancer"),
    			DestinationAddressPrefix: pulumi.String("*"),
    			ResourceGroupName:        example.Name,
    			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = network.NewNetworkSecurityRule(ctx, "allow_tds_inbound", &network.NetworkSecurityRuleArgs{
    			Name:                     pulumi.String("allow_tds_inbound"),
    			Priority:                 pulumi.Int(1000),
    			Direction:                pulumi.String("Inbound"),
    			Access:                   pulumi.String("Allow"),
    			Protocol:                 pulumi.String("Tcp"),
    			SourcePortRange:          pulumi.String("*"),
    			DestinationPortRange:     pulumi.String("1433"),
    			SourceAddressPrefix:      pulumi.String("VirtualNetwork"),
    			DestinationAddressPrefix: pulumi.String("*"),
    			ResourceGroupName:        example.Name,
    			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = network.NewNetworkSecurityRule(ctx, "deny_all_inbound", &network.NetworkSecurityRuleArgs{
    			Name:                     pulumi.String("deny_all_inbound"),
    			Priority:                 pulumi.Int(4096),
    			Direction:                pulumi.String("Inbound"),
    			Access:                   pulumi.String("Deny"),
    			Protocol:                 pulumi.String("*"),
    			SourcePortRange:          pulumi.String("*"),
    			DestinationPortRange:     pulumi.String("*"),
    			SourceAddressPrefix:      pulumi.String("*"),
    			DestinationAddressPrefix: pulumi.String("*"),
    			ResourceGroupName:        example.Name,
    			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = network.NewNetworkSecurityRule(ctx, "allow_management_outbound", &network.NetworkSecurityRuleArgs{
    			Name:            pulumi.String("allow_management_outbound"),
    			Priority:        pulumi.Int(102),
    			Direction:       pulumi.String("Outbound"),
    			Access:          pulumi.String("Allow"),
    			Protocol:        pulumi.String("Tcp"),
    			SourcePortRange: pulumi.String("*"),
    			DestinationPortRanges: pulumi.StringArray{
    				pulumi.String("80"),
    				pulumi.String("443"),
    				pulumi.String("12000"),
    			},
    			SourceAddressPrefix:      pulumi.String("*"),
    			DestinationAddressPrefix: pulumi.String("*"),
    			ResourceGroupName:        example.Name,
    			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = network.NewNetworkSecurityRule(ctx, "allow_misubnet_outbound", &network.NetworkSecurityRuleArgs{
    			Name:                     pulumi.String("allow_misubnet_outbound"),
    			Priority:                 pulumi.Int(200),
    			Direction:                pulumi.String("Outbound"),
    			Access:                   pulumi.String("Allow"),
    			Protocol:                 pulumi.String("*"),
    			SourcePortRange:          pulumi.String("*"),
    			DestinationPortRange:     pulumi.String("*"),
    			SourceAddressPrefix:      pulumi.String("10.0.0.0/24"),
    			DestinationAddressPrefix: pulumi.String("*"),
    			ResourceGroupName:        example.Name,
    			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = network.NewNetworkSecurityRule(ctx, "deny_all_outbound", &network.NetworkSecurityRuleArgs{
    			Name:                     pulumi.String("deny_all_outbound"),
    			Priority:                 pulumi.Int(4096),
    			Direction:                pulumi.String("Outbound"),
    			Access:                   pulumi.String("Deny"),
    			Protocol:                 pulumi.String("*"),
    			SourcePortRange:          pulumi.String("*"),
    			DestinationPortRange:     pulumi.String("*"),
    			SourceAddressPrefix:      pulumi.String("*"),
    			DestinationAddressPrefix: pulumi.String("*"),
    			ResourceGroupName:        example.Name,
    			NetworkSecurityGroupName: exampleNetworkSecurityGroup.Name,
    		})
    		if err != nil {
    			return err
    		}
    		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
    			Name:              pulumi.String("vnet-mi"),
    			ResourceGroupName: example.Name,
    			AddressSpaces: pulumi.StringArray{
    				pulumi.String("10.0.0.0/16"),
    			},
    			Location: example.Location,
    		})
    		if err != nil {
    			return err
    		}
    		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
    			Name:               pulumi.String("subnet-mi"),
    			ResourceGroupName:  example.Name,
    			VirtualNetworkName: exampleVirtualNetwork.Name,
    			AddressPrefixes: pulumi.StringArray{
    				pulumi.String("10.0.0.0/24"),
    			},
    			Delegations: network.SubnetDelegationArray{
    				&network.SubnetDelegationArgs{
    					Name: pulumi.String("managedinstancedelegation"),
    					ServiceDelegation: &network.SubnetDelegationServiceDelegationArgs{
    						Name: pulumi.String("Microsoft.Sql/managedInstances"),
    						Actions: pulumi.StringArray{
    							pulumi.String("Microsoft.Network/virtualNetworks/subnets/join/action"),
    							pulumi.String("Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action"),
    							pulumi.String("Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = network.NewSubnetNetworkSecurityGroupAssociation(ctx, "example", &network.SubnetNetworkSecurityGroupAssociationArgs{
    			SubnetId:               exampleSubnet.ID(),
    			NetworkSecurityGroupId: exampleNetworkSecurityGroup.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		exampleRouteTable, err := network.NewRouteTable(ctx, "example", &network.RouteTableArgs{
    			Name:                       pulumi.String("routetable-mi"),
    			Location:                   example.Location,
    			ResourceGroupName:          example.Name,
    			DisableBgpRoutePropagation: pulumi.Bool(false),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = network.NewSubnetRouteTableAssociation(ctx, "example", &network.SubnetRouteTableAssociationArgs{
    			SubnetId:     exampleSubnet.ID(),
    			RouteTableId: exampleRouteTable.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = sql.NewManagedInstance(ctx, "example", &sql.ManagedInstanceArgs{
    			Name:                       pulumi.String("managedsqlinstance"),
    			ResourceGroupName:          example.Name,
    			Location:                   example.Location,
    			AdministratorLogin:         pulumi.String("mradministrator"),
    			AdministratorLoginPassword: pulumi.String("thisIsDog11"),
    			LicenseType:                pulumi.String("BasePrice"),
    			SubnetId:                   exampleSubnet.ID(),
    			SkuName:                    pulumi.String("GP_Gen5"),
    			Vcores:                     pulumi.Int(4),
    			StorageSizeInGb:            pulumi.Int(32),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Azure.Core.ResourceGroup("example", new()
        {
            Name = "database-rg",
            Location = "West Europe",
        });
    
        var exampleNetworkSecurityGroup = new Azure.Network.NetworkSecurityGroup("example", new()
        {
            Name = "mi-security-group",
            Location = example.Location,
            ResourceGroupName = example.Name,
        });
    
        var allowManagementInbound = new Azure.Network.NetworkSecurityRule("allow_management_inbound", new()
        {
            Name = "allow_management_inbound",
            Priority = 106,
            Direction = "Inbound",
            Access = "Allow",
            Protocol = "Tcp",
            SourcePortRange = "*",
            DestinationPortRanges = new[]
            {
                "9000",
                "9003",
                "1438",
                "1440",
                "1452",
            },
            SourceAddressPrefix = "*",
            DestinationAddressPrefix = "*",
            ResourceGroupName = example.Name,
            NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,
        });
    
        var allowMisubnetInbound = new Azure.Network.NetworkSecurityRule("allow_misubnet_inbound", new()
        {
            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,
        });
    
        var allowHealthProbeInbound = new Azure.Network.NetworkSecurityRule("allow_health_probe_inbound", new()
        {
            Name = "allow_health_probe_inbound",
            Priority = 300,
            Direction = "Inbound",
            Access = "Allow",
            Protocol = "*",
            SourcePortRange = "*",
            DestinationPortRange = "*",
            SourceAddressPrefix = "AzureLoadBalancer",
            DestinationAddressPrefix = "*",
            ResourceGroupName = example.Name,
            NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,
        });
    
        var allowTdsInbound = new Azure.Network.NetworkSecurityRule("allow_tds_inbound", new()
        {
            Name = "allow_tds_inbound",
            Priority = 1000,
            Direction = "Inbound",
            Access = "Allow",
            Protocol = "Tcp",
            SourcePortRange = "*",
            DestinationPortRange = "1433",
            SourceAddressPrefix = "VirtualNetwork",
            DestinationAddressPrefix = "*",
            ResourceGroupName = example.Name,
            NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,
        });
    
        var denyAllInbound = new Azure.Network.NetworkSecurityRule("deny_all_inbound", new()
        {
            Name = "deny_all_inbound",
            Priority = 4096,
            Direction = "Inbound",
            Access = "Deny",
            Protocol = "*",
            SourcePortRange = "*",
            DestinationPortRange = "*",
            SourceAddressPrefix = "*",
            DestinationAddressPrefix = "*",
            ResourceGroupName = example.Name,
            NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,
        });
    
        var allowManagementOutbound = new Azure.Network.NetworkSecurityRule("allow_management_outbound", new()
        {
            Name = "allow_management_outbound",
            Priority = 102,
            Direction = "Outbound",
            Access = "Allow",
            Protocol = "Tcp",
            SourcePortRange = "*",
            DestinationPortRanges = new[]
            {
                "80",
                "443",
                "12000",
            },
            SourceAddressPrefix = "*",
            DestinationAddressPrefix = "*",
            ResourceGroupName = example.Name,
            NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,
        });
    
        var allowMisubnetOutbound = new Azure.Network.NetworkSecurityRule("allow_misubnet_outbound", new()
        {
            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,
        });
    
        var denyAllOutbound = new Azure.Network.NetworkSecurityRule("deny_all_outbound", new()
        {
            Name = "deny_all_outbound",
            Priority = 4096,
            Direction = "Outbound",
            Access = "Deny",
            Protocol = "*",
            SourcePortRange = "*",
            DestinationPortRange = "*",
            SourceAddressPrefix = "*",
            DestinationAddressPrefix = "*",
            ResourceGroupName = example.Name,
            NetworkSecurityGroupName = exampleNetworkSecurityGroup.Name,
        });
    
        var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("example", new()
        {
            Name = "vnet-mi",
            ResourceGroupName = example.Name,
            AddressSpaces = new[]
            {
                "10.0.0.0/16",
            },
            Location = example.Location,
        });
    
        var exampleSubnet = new Azure.Network.Subnet("example", new()
        {
            Name = "subnet-mi",
            ResourceGroupName = example.Name,
            VirtualNetworkName = exampleVirtualNetwork.Name,
            AddressPrefixes = new[]
            {
                "10.0.0.0/24",
            },
            Delegations = new[]
            {
                new Azure.Network.Inputs.SubnetDelegationArgs
                {
                    Name = "managedinstancedelegation",
                    ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs
                    {
                        Name = "Microsoft.Sql/managedInstances",
                        Actions = new[]
                        {
                            "Microsoft.Network/virtualNetworks/subnets/join/action",
                            "Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action",
                            "Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action",
                        },
                    },
                },
            },
        });
    
        var exampleSubnetNetworkSecurityGroupAssociation = new Azure.Network.SubnetNetworkSecurityGroupAssociation("example", new()
        {
            SubnetId = exampleSubnet.Id,
            NetworkSecurityGroupId = exampleNetworkSecurityGroup.Id,
        });
    
        var exampleRouteTable = new Azure.Network.RouteTable("example", new()
        {
            Name = "routetable-mi",
            Location = example.Location,
            ResourceGroupName = example.Name,
            DisableBgpRoutePropagation = false,
        });
    
        var exampleSubnetRouteTableAssociation = new Azure.Network.SubnetRouteTableAssociation("example", new()
        {
            SubnetId = exampleSubnet.Id,
            RouteTableId = exampleRouteTable.Id,
        });
    
        var exampleManagedInstance = new Azure.Sql.ManagedInstance("example", new()
        {
            Name = "managedsqlinstance",
            ResourceGroupName = example.Name,
            Location = example.Location,
            AdministratorLogin = "mradministrator",
            AdministratorLoginPassword = "thisIsDog11",
            LicenseType = "BasePrice",
            SubnetId = exampleSubnet.Id,
            SkuName = "GP_Gen5",
            Vcores = 4,
            StorageSizeInGb = 32,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.network.NetworkSecurityGroup;
    import com.pulumi.azure.network.NetworkSecurityGroupArgs;
    import com.pulumi.azure.network.NetworkSecurityRule;
    import com.pulumi.azure.network.NetworkSecurityRuleArgs;
    import com.pulumi.azure.network.VirtualNetwork;
    import com.pulumi.azure.network.VirtualNetworkArgs;
    import com.pulumi.azure.network.Subnet;
    import com.pulumi.azure.network.SubnetArgs;
    import com.pulumi.azure.network.inputs.SubnetDelegationArgs;
    import com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;
    import com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociation;
    import com.pulumi.azure.network.SubnetNetworkSecurityGroupAssociationArgs;
    import com.pulumi.azure.network.RouteTable;
    import com.pulumi.azure.network.RouteTableArgs;
    import com.pulumi.azure.network.SubnetRouteTableAssociation;
    import com.pulumi.azure.network.SubnetRouteTableAssociationArgs;
    import com.pulumi.azure.sql.ManagedInstance;
    import com.pulumi.azure.sql.ManagedInstanceArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new ResourceGroup("example", ResourceGroupArgs.builder()        
                .name("database-rg")
                .location("West Europe")
                .build());
    
            var exampleNetworkSecurityGroup = new NetworkSecurityGroup("exampleNetworkSecurityGroup", NetworkSecurityGroupArgs.builder()        
                .name("mi-security-group")
                .location(example.location())
                .resourceGroupName(example.name())
                .build());
    
            var allowManagementInbound = new NetworkSecurityRule("allowManagementInbound", NetworkSecurityRuleArgs.builder()        
                .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())
                .build());
    
            var allowMisubnetInbound = new NetworkSecurityRule("allowMisubnetInbound", NetworkSecurityRuleArgs.builder()        
                .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())
                .build());
    
            var allowHealthProbeInbound = new NetworkSecurityRule("allowHealthProbeInbound", NetworkSecurityRuleArgs.builder()        
                .name("allow_health_probe_inbound")
                .priority(300)
                .direction("Inbound")
                .access("Allow")
                .protocol("*")
                .sourcePortRange("*")
                .destinationPortRange("*")
                .sourceAddressPrefix("AzureLoadBalancer")
                .destinationAddressPrefix("*")
                .resourceGroupName(example.name())
                .networkSecurityGroupName(exampleNetworkSecurityGroup.name())
                .build());
    
            var allowTdsInbound = new NetworkSecurityRule("allowTdsInbound", NetworkSecurityRuleArgs.builder()        
                .name("allow_tds_inbound")
                .priority(1000)
                .direction("Inbound")
                .access("Allow")
                .protocol("Tcp")
                .sourcePortRange("*")
                .destinationPortRange("1433")
                .sourceAddressPrefix("VirtualNetwork")
                .destinationAddressPrefix("*")
                .resourceGroupName(example.name())
                .networkSecurityGroupName(exampleNetworkSecurityGroup.name())
                .build());
    
            var denyAllInbound = new NetworkSecurityRule("denyAllInbound", NetworkSecurityRuleArgs.builder()        
                .name("deny_all_inbound")
                .priority(4096)
                .direction("Inbound")
                .access("Deny")
                .protocol("*")
                .sourcePortRange("*")
                .destinationPortRange("*")
                .sourceAddressPrefix("*")
                .destinationAddressPrefix("*")
                .resourceGroupName(example.name())
                .networkSecurityGroupName(exampleNetworkSecurityGroup.name())
                .build());
    
            var allowManagementOutbound = new NetworkSecurityRule("allowManagementOutbound", NetworkSecurityRuleArgs.builder()        
                .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())
                .build());
    
            var allowMisubnetOutbound = new NetworkSecurityRule("allowMisubnetOutbound", NetworkSecurityRuleArgs.builder()        
                .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())
                .build());
    
            var denyAllOutbound = new NetworkSecurityRule("denyAllOutbound", NetworkSecurityRuleArgs.builder()        
                .name("deny_all_outbound")
                .priority(4096)
                .direction("Outbound")
                .access("Deny")
                .protocol("*")
                .sourcePortRange("*")
                .destinationPortRange("*")
                .sourceAddressPrefix("*")
                .destinationAddressPrefix("*")
                .resourceGroupName(example.name())
                .networkSecurityGroupName(exampleNetworkSecurityGroup.name())
                .build());
    
            var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()        
                .name("vnet-mi")
                .resourceGroupName(example.name())
                .addressSpaces("10.0.0.0/16")
                .location(example.location())
                .build());
    
            var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()        
                .name("subnet-mi")
                .resourceGroupName(example.name())
                .virtualNetworkName(exampleVirtualNetwork.name())
                .addressPrefixes("10.0.0.0/24")
                .delegations(SubnetDelegationArgs.builder()
                    .name("managedinstancedelegation")
                    .serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()
                        .name("Microsoft.Sql/managedInstances")
                        .actions(                    
                            "Microsoft.Network/virtualNetworks/subnets/join/action",
                            "Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action",
                            "Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action")
                        .build())
                    .build())
                .build());
    
            var exampleSubnetNetworkSecurityGroupAssociation = new SubnetNetworkSecurityGroupAssociation("exampleSubnetNetworkSecurityGroupAssociation", SubnetNetworkSecurityGroupAssociationArgs.builder()        
                .subnetId(exampleSubnet.id())
                .networkSecurityGroupId(exampleNetworkSecurityGroup.id())
                .build());
    
            var exampleRouteTable = new RouteTable("exampleRouteTable", RouteTableArgs.builder()        
                .name("routetable-mi")
                .location(example.location())
                .resourceGroupName(example.name())
                .disableBgpRoutePropagation(false)
                .build());
    
            var exampleSubnetRouteTableAssociation = new SubnetRouteTableAssociation("exampleSubnetRouteTableAssociation", SubnetRouteTableAssociationArgs.builder()        
                .subnetId(exampleSubnet.id())
                .routeTableId(exampleRouteTable.id())
                .build());
    
            var exampleManagedInstance = new ManagedInstance("exampleManagedInstance", ManagedInstanceArgs.builder()        
                .name("managedsqlinstance")
                .resourceGroupName(example.name())
                .location(example.location())
                .administratorLogin("mradministrator")
                .administratorLoginPassword("thisIsDog11")
                .licenseType("BasePrice")
                .subnetId(exampleSubnet.id())
                .skuName("GP_Gen5")
                .vcores(4)
                .storageSizeInGb(32)
                .build());
    
        }
    }
    
    resources:
      example:
        type: azure:core:ResourceGroup
        properties:
          name: database-rg
          location: West Europe
      exampleNetworkSecurityGroup:
        type: azure:network:NetworkSecurityGroup
        name: example
        properties:
          name: mi-security-group
          location: ${example.location}
          resourceGroupName: ${example.name}
      allowManagementInbound:
        type: azure:network:NetworkSecurityRule
        name: allow_management_inbound
        properties:
          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}
      allowMisubnetInbound:
        type: azure:network:NetworkSecurityRule
        name: allow_misubnet_inbound
        properties:
          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}
      allowHealthProbeInbound:
        type: azure:network:NetworkSecurityRule
        name: allow_health_probe_inbound
        properties:
          name: allow_health_probe_inbound
          priority: 300
          direction: Inbound
          access: Allow
          protocol: '*'
          sourcePortRange: '*'
          destinationPortRange: '*'
          sourceAddressPrefix: AzureLoadBalancer
          destinationAddressPrefix: '*'
          resourceGroupName: ${example.name}
          networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}
      allowTdsInbound:
        type: azure:network:NetworkSecurityRule
        name: allow_tds_inbound
        properties:
          name: allow_tds_inbound
          priority: 1000
          direction: Inbound
          access: Allow
          protocol: Tcp
          sourcePortRange: '*'
          destinationPortRange: '1433'
          sourceAddressPrefix: VirtualNetwork
          destinationAddressPrefix: '*'
          resourceGroupName: ${example.name}
          networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}
      denyAllInbound:
        type: azure:network:NetworkSecurityRule
        name: deny_all_inbound
        properties:
          name: deny_all_inbound
          priority: 4096
          direction: Inbound
          access: Deny
          protocol: '*'
          sourcePortRange: '*'
          destinationPortRange: '*'
          sourceAddressPrefix: '*'
          destinationAddressPrefix: '*'
          resourceGroupName: ${example.name}
          networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}
      allowManagementOutbound:
        type: azure:network:NetworkSecurityRule
        name: allow_management_outbound
        properties:
          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}
      allowMisubnetOutbound:
        type: azure:network:NetworkSecurityRule
        name: allow_misubnet_outbound
        properties:
          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}
      denyAllOutbound:
        type: azure:network:NetworkSecurityRule
        name: deny_all_outbound
        properties:
          name: deny_all_outbound
          priority: 4096
          direction: Outbound
          access: Deny
          protocol: '*'
          sourcePortRange: '*'
          destinationPortRange: '*'
          sourceAddressPrefix: '*'
          destinationAddressPrefix: '*'
          resourceGroupName: ${example.name}
          networkSecurityGroupName: ${exampleNetworkSecurityGroup.name}
      exampleVirtualNetwork:
        type: azure:network:VirtualNetwork
        name: example
        properties:
          name: vnet-mi
          resourceGroupName: ${example.name}
          addressSpaces:
            - 10.0.0.0/16
          location: ${example.location}
      exampleSubnet:
        type: azure:network:Subnet
        name: example
        properties:
          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
      exampleSubnetNetworkSecurityGroupAssociation:
        type: azure:network:SubnetNetworkSecurityGroupAssociation
        name: example
        properties:
          subnetId: ${exampleSubnet.id}
          networkSecurityGroupId: ${exampleNetworkSecurityGroup.id}
      exampleRouteTable:
        type: azure:network:RouteTable
        name: example
        properties:
          name: routetable-mi
          location: ${example.location}
          resourceGroupName: ${example.name}
          disableBgpRoutePropagation: false
      exampleSubnetRouteTableAssociation:
        type: azure:network:SubnetRouteTableAssociation
        name: example
        properties:
          subnetId: ${exampleSubnet.id}
          routeTableId: ${exampleRouteTable.id}
      exampleManagedInstance:
        type: azure:sql:ManagedInstance
        name: example
        properties:
          name: managedsqlinstance
          resourceGroupName: ${example.name}
          location: ${example.location}
          administratorLogin: mradministrator
          administratorLoginPassword: thisIsDog11
          licenseType: BasePrice
          subnetId: ${exampleSubnet.id}
          skuName: GP_Gen5
          vcores: 4
          storageSizeInGb: 32
    

    Create ManagedInstance Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new ManagedInstance(name: string, args: ManagedInstanceArgs, opts?: CustomResourceOptions);
    @overload
    def ManagedInstance(resource_name: str,
                        args: ManagedInstanceArgs,
                        opts: Optional[ResourceOptions] = None)
    
    @overload
    def ManagedInstance(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        resource_group_name: Optional[str] = None,
                        administrator_login_password: Optional[str] = None,
                        vcores: Optional[int] = None,
                        subnet_id: Optional[str] = None,
                        administrator_login: Optional[str] = None,
                        license_type: Optional[str] = None,
                        storage_size_in_gb: Optional[int] = None,
                        sku_name: Optional[str] = None,
                        identity: Optional[ManagedInstanceIdentityArgs] = None,
                        proxy_override: Optional[str] = None,
                        public_data_endpoint_enabled: Optional[bool] = None,
                        name: Optional[str] = None,
                        minimum_tls_version: Optional[str] = None,
                        storage_account_type: Optional[str] = None,
                        location: Optional[str] = None,
                        dns_zone_partner_id: Optional[str] = None,
                        tags: Optional[Mapping[str, str]] = None,
                        timezone_id: Optional[str] = None,
                        collation: Optional[str] = None)
    func NewManagedInstance(ctx *Context, name string, args ManagedInstanceArgs, opts ...ResourceOption) (*ManagedInstance, error)
    public ManagedInstance(string name, ManagedInstanceArgs args, CustomResourceOptions? opts = null)
    public ManagedInstance(String name, ManagedInstanceArgs args)
    public ManagedInstance(String name, ManagedInstanceArgs args, CustomResourceOptions options)
    
    type: azure:sql:ManagedInstance
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ManagedInstanceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ManagedInstanceArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ManagedInstanceArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ManagedInstanceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ManagedInstanceArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var azureManagedInstanceResource = new Azure.Sql.ManagedInstance("azureManagedInstanceResource", new()
    {
        ResourceGroupName = "string",
        AdministratorLoginPassword = "string",
        Vcores = 0,
        SubnetId = "string",
        AdministratorLogin = "string",
        LicenseType = "string",
        StorageSizeInGb = 0,
        SkuName = "string",
        Identity = new Azure.Sql.Inputs.ManagedInstanceIdentityArgs
        {
            Type = "string",
            PrincipalId = "string",
            TenantId = "string",
        },
        ProxyOverride = "string",
        PublicDataEndpointEnabled = false,
        Name = "string",
        MinimumTlsVersion = "string",
        StorageAccountType = "string",
        Location = "string",
        DnsZonePartnerId = "string",
        Tags = 
        {
            { "string", "string" },
        },
        TimezoneId = "string",
        Collation = "string",
    });
    
    example, err := sql.NewManagedInstance(ctx, "azureManagedInstanceResource", &sql.ManagedInstanceArgs{
    	ResourceGroupName:          pulumi.String("string"),
    	AdministratorLoginPassword: pulumi.String("string"),
    	Vcores:                     pulumi.Int(0),
    	SubnetId:                   pulumi.String("string"),
    	AdministratorLogin:         pulumi.String("string"),
    	LicenseType:                pulumi.String("string"),
    	StorageSizeInGb:            pulumi.Int(0),
    	SkuName:                    pulumi.String("string"),
    	Identity: &sql.ManagedInstanceIdentityArgs{
    		Type:        pulumi.String("string"),
    		PrincipalId: pulumi.String("string"),
    		TenantId:    pulumi.String("string"),
    	},
    	ProxyOverride:             pulumi.String("string"),
    	PublicDataEndpointEnabled: pulumi.Bool(false),
    	Name:                      pulumi.String("string"),
    	MinimumTlsVersion:         pulumi.String("string"),
    	StorageAccountType:        pulumi.String("string"),
    	Location:                  pulumi.String("string"),
    	DnsZonePartnerId:          pulumi.String("string"),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	TimezoneId: pulumi.String("string"),
    	Collation:  pulumi.String("string"),
    })
    
    var azureManagedInstanceResource = new ManagedInstance("azureManagedInstanceResource", ManagedInstanceArgs.builder()        
        .resourceGroupName("string")
        .administratorLoginPassword("string")
        .vcores(0)
        .subnetId("string")
        .administratorLogin("string")
        .licenseType("string")
        .storageSizeInGb(0)
        .skuName("string")
        .identity(ManagedInstanceIdentityArgs.builder()
            .type("string")
            .principalId("string")
            .tenantId("string")
            .build())
        .proxyOverride("string")
        .publicDataEndpointEnabled(false)
        .name("string")
        .minimumTlsVersion("string")
        .storageAccountType("string")
        .location("string")
        .dnsZonePartnerId("string")
        .tags(Map.of("string", "string"))
        .timezoneId("string")
        .collation("string")
        .build());
    
    azure_managed_instance_resource = azure.sql.ManagedInstance("azureManagedInstanceResource",
        resource_group_name="string",
        administrator_login_password="string",
        vcores=0,
        subnet_id="string",
        administrator_login="string",
        license_type="string",
        storage_size_in_gb=0,
        sku_name="string",
        identity=azure.sql.ManagedInstanceIdentityArgs(
            type="string",
            principal_id="string",
            tenant_id="string",
        ),
        proxy_override="string",
        public_data_endpoint_enabled=False,
        name="string",
        minimum_tls_version="string",
        storage_account_type="string",
        location="string",
        dns_zone_partner_id="string",
        tags={
            "string": "string",
        },
        timezone_id="string",
        collation="string")
    
    const azureManagedInstanceResource = new azure.sql.ManagedInstance("azureManagedInstanceResource", {
        resourceGroupName: "string",
        administratorLoginPassword: "string",
        vcores: 0,
        subnetId: "string",
        administratorLogin: "string",
        licenseType: "string",
        storageSizeInGb: 0,
        skuName: "string",
        identity: {
            type: "string",
            principalId: "string",
            tenantId: "string",
        },
        proxyOverride: "string",
        publicDataEndpointEnabled: false,
        name: "string",
        minimumTlsVersion: "string",
        storageAccountType: "string",
        location: "string",
        dnsZonePartnerId: "string",
        tags: {
            string: "string",
        },
        timezoneId: "string",
        collation: "string",
    });
    
    type: azure:sql:ManagedInstance
    properties:
        administratorLogin: string
        administratorLoginPassword: string
        collation: string
        dnsZonePartnerId: string
        identity:
            principalId: string
            tenantId: string
            type: string
        licenseType: string
        location: string
        minimumTlsVersion: string
        name: string
        proxyOverride: string
        publicDataEndpointEnabled: false
        resourceGroupName: string
        skuName: string
        storageAccountType: string
        storageSizeInGb: 0
        subnetId: string
        tags:
            string: string
        timezoneId: string
        vcores: 0
    

    ManagedInstance Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The ManagedInstance resource accepts the following input properties:

    AdministratorLogin string
    The administrator login name for the new server. Changing this forces a new resource to be created.
    AdministratorLoginPassword string
    The password associated with the administrator_login user. Needs to comply with Azure's Password Policy
    LicenseType string
    What type of license the Managed Instance will use. Valid values include can be LicenseIncluded or BasePrice.
    ResourceGroupName string
    The name of the resource group in which to create the SQL Server. Changing this forces a new resource to be created.
    SkuName string
    Specifies the SKU Name for the SQL Managed Instance. Valid values include GP_Gen4, GP_Gen5, BC_Gen4, BC_Gen5.
    StorageSizeInGb int
    Maximum storage space for your instance. It should be a multiple of 32GB.
    SubnetId string
    The subnet resource id that the SQL Managed Instance will be associated with. Changing this forces a new resource to be created.
    Vcores int
    Number of cores that should be assigned to your instance. Values can be 8, 16, or 24 if sku_name is GP_Gen4, or 8, 16, 24, 32, or 40 if sku_name is GP_Gen5.
    Collation string
    Specifies how the SQL Managed Instance will be collated. Default value is SQL_Latin1_General_CP1_CI_AS. Changing this forces a new resource to be created.
    DnsZonePartnerId string
    The ID of the Managed Instance which will share the DNS zone. This is a prerequisite for creating a azure.sql.ManagedInstanceFailoverGroup. Setting this after creation forces a new resource to be created.
    Identity ManagedInstanceIdentity
    An identity block as defined below.
    Location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    MinimumTlsVersion string
    The Minimum TLS Version. Default value is 1.2 Valid values include 1.0, 1.1, 1.2.
    Name string
    The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
    ProxyOverride string
    Specifies how the SQL Managed Instance will be accessed. Default value is Default. Valid values include Default, Proxy, and Redirect.
    PublicDataEndpointEnabled bool
    Is the public data endpoint enabled? Default value is false.
    StorageAccountType string
    Specifies the storage account type used to store backups for this database. Changing this forces a new resource to be created. Possible values are GRS, LRS and ZRS. Defaults to GRS.
    Tags Dictionary<string, string>
    A mapping of tags to assign to the resource.
    TimezoneId string
    The TimeZone ID that the SQL Managed Instance will be operating in. Default value is UTC. Changing this forces a new resource to be created.
    AdministratorLogin string
    The administrator login name for the new server. Changing this forces a new resource to be created.
    AdministratorLoginPassword string
    The password associated with the administrator_login user. Needs to comply with Azure's Password Policy
    LicenseType string
    What type of license the Managed Instance will use. Valid values include can be LicenseIncluded or BasePrice.
    ResourceGroupName string
    The name of the resource group in which to create the SQL Server. Changing this forces a new resource to be created.
    SkuName string
    Specifies the SKU Name for the SQL Managed Instance. Valid values include GP_Gen4, GP_Gen5, BC_Gen4, BC_Gen5.
    StorageSizeInGb int
    Maximum storage space for your instance. It should be a multiple of 32GB.
    SubnetId string
    The subnet resource id that the SQL Managed Instance will be associated with. Changing this forces a new resource to be created.
    Vcores int
    Number of cores that should be assigned to your instance. Values can be 8, 16, or 24 if sku_name is GP_Gen4, or 8, 16, 24, 32, or 40 if sku_name is GP_Gen5.
    Collation string
    Specifies how the SQL Managed Instance will be collated. Default value is SQL_Latin1_General_CP1_CI_AS. Changing this forces a new resource to be created.
    DnsZonePartnerId string
    The ID of the Managed Instance which will share the DNS zone. This is a prerequisite for creating a azure.sql.ManagedInstanceFailoverGroup. Setting this after creation forces a new resource to be created.
    Identity ManagedInstanceIdentityArgs
    An identity block as defined below.
    Location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    MinimumTlsVersion string
    The Minimum TLS Version. Default value is 1.2 Valid values include 1.0, 1.1, 1.2.
    Name string
    The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
    ProxyOverride string
    Specifies how the SQL Managed Instance will be accessed. Default value is Default. Valid values include Default, Proxy, and Redirect.
    PublicDataEndpointEnabled bool
    Is the public data endpoint enabled? Default value is false.
    StorageAccountType string
    Specifies the storage account type used to store backups for this database. Changing this forces a new resource to be created. Possible values are GRS, LRS and ZRS. Defaults to GRS.
    Tags map[string]string
    A mapping of tags to assign to the resource.
    TimezoneId string
    The TimeZone ID that the SQL Managed Instance will be operating in. Default value is UTC. Changing this forces a new resource to be created.
    administratorLogin String
    The administrator login name for the new server. Changing this forces a new resource to be created.
    administratorLoginPassword String
    The password associated with the administrator_login user. Needs to comply with Azure's Password Policy
    licenseType String
    What type of license the Managed Instance will use. Valid values include can be LicenseIncluded or BasePrice.
    resourceGroupName String
    The name of the resource group in which to create the SQL Server. Changing this forces a new resource to be created.
    skuName String
    Specifies the SKU Name for the SQL Managed Instance. Valid values include GP_Gen4, GP_Gen5, BC_Gen4, BC_Gen5.
    storageSizeInGb Integer
    Maximum storage space for your instance. It should be a multiple of 32GB.
    subnetId String
    The subnet resource id that the SQL Managed Instance will be associated with. Changing this forces a new resource to be created.
    vcores Integer
    Number of cores that should be assigned to your instance. Values can be 8, 16, or 24 if sku_name is GP_Gen4, or 8, 16, 24, 32, or 40 if sku_name is GP_Gen5.
    collation String
    Specifies how the SQL Managed Instance will be collated. Default value is SQL_Latin1_General_CP1_CI_AS. Changing this forces a new resource to be created.
    dnsZonePartnerId String
    The ID of the Managed Instance which will share the DNS zone. This is a prerequisite for creating a azure.sql.ManagedInstanceFailoverGroup. Setting this after creation forces a new resource to be created.
    identity ManagedInstanceIdentity
    An identity block as defined below.
    location String
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    minimumTlsVersion String
    The Minimum TLS Version. Default value is 1.2 Valid values include 1.0, 1.1, 1.2.
    name String
    The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
    proxyOverride String
    Specifies how the SQL Managed Instance will be accessed. Default value is Default. Valid values include Default, Proxy, and Redirect.
    publicDataEndpointEnabled Boolean
    Is the public data endpoint enabled? Default value is false.
    storageAccountType String
    Specifies the storage account type used to store backups for this database. Changing this forces a new resource to be created. Possible values are GRS, LRS and ZRS. Defaults to GRS.
    tags Map<String,String>
    A mapping of tags to assign to the resource.
    timezoneId String
    The TimeZone ID that the SQL Managed Instance will be operating in. Default value is UTC. Changing this forces a new resource to be created.
    administratorLogin string
    The administrator login name for the new server. Changing this forces a new resource to be created.
    administratorLoginPassword string
    The password associated with the administrator_login user. Needs to comply with Azure's Password Policy
    licenseType string
    What type of license the Managed Instance will use. Valid values include can be LicenseIncluded or BasePrice.
    resourceGroupName string
    The name of the resource group in which to create the SQL Server. Changing this forces a new resource to be created.
    skuName string
    Specifies the SKU Name for the SQL Managed Instance. Valid values include GP_Gen4, GP_Gen5, BC_Gen4, BC_Gen5.
    storageSizeInGb number
    Maximum storage space for your instance. It should be a multiple of 32GB.
    subnetId string
    The subnet resource id that the SQL Managed Instance will be associated with. Changing this forces a new resource to be created.
    vcores number
    Number of cores that should be assigned to your instance. Values can be 8, 16, or 24 if sku_name is GP_Gen4, or 8, 16, 24, 32, or 40 if sku_name is GP_Gen5.
    collation string
    Specifies how the SQL Managed Instance will be collated. Default value is SQL_Latin1_General_CP1_CI_AS. Changing this forces a new resource to be created.
    dnsZonePartnerId string
    The ID of the Managed Instance which will share the DNS zone. This is a prerequisite for creating a azure.sql.ManagedInstanceFailoverGroup. Setting this after creation forces a new resource to be created.
    identity ManagedInstanceIdentity
    An identity block as defined below.
    location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    minimumTlsVersion string
    The Minimum TLS Version. Default value is 1.2 Valid values include 1.0, 1.1, 1.2.
    name string
    The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
    proxyOverride string
    Specifies how the SQL Managed Instance will be accessed. Default value is Default. Valid values include Default, Proxy, and Redirect.
    publicDataEndpointEnabled boolean
    Is the public data endpoint enabled? Default value is false.
    storageAccountType string
    Specifies the storage account type used to store backups for this database. Changing this forces a new resource to be created. Possible values are GRS, LRS and ZRS. Defaults to GRS.
    tags {[key: string]: string}
    A mapping of tags to assign to the resource.
    timezoneId string
    The TimeZone ID that the SQL Managed Instance will be operating in. Default value is UTC. Changing this forces a new resource to be created.
    administrator_login str
    The administrator login name for the new server. Changing this forces a new resource to be created.
    administrator_login_password str
    The password associated with the administrator_login user. Needs to comply with Azure's Password Policy
    license_type str
    What type of license the Managed Instance will use. Valid values include can be LicenseIncluded or BasePrice.
    resource_group_name str
    The name of the resource group in which to create the SQL Server. Changing this forces a new resource to be created.
    sku_name str
    Specifies the SKU Name for the SQL Managed Instance. Valid values include GP_Gen4, GP_Gen5, BC_Gen4, BC_Gen5.
    storage_size_in_gb int
    Maximum storage space for your instance. It should be a multiple of 32GB.
    subnet_id str
    The subnet resource id that the SQL Managed Instance will be associated with. Changing this forces a new resource to be created.
    vcores int
    Number of cores that should be assigned to your instance. Values can be 8, 16, or 24 if sku_name is GP_Gen4, or 8, 16, 24, 32, or 40 if sku_name is GP_Gen5.
    collation str
    Specifies how the SQL Managed Instance will be collated. Default value is SQL_Latin1_General_CP1_CI_AS. Changing this forces a new resource to be created.
    dns_zone_partner_id str
    The ID of the Managed Instance which will share the DNS zone. This is a prerequisite for creating a azure.sql.ManagedInstanceFailoverGroup. Setting this after creation forces a new resource to be created.
    identity ManagedInstanceIdentityArgs
    An identity block as defined below.
    location str
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    minimum_tls_version str
    The Minimum TLS Version. Default value is 1.2 Valid values include 1.0, 1.1, 1.2.
    name str
    The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
    proxy_override str
    Specifies how the SQL Managed Instance will be accessed. Default value is Default. Valid values include Default, Proxy, and Redirect.
    public_data_endpoint_enabled bool
    Is the public data endpoint enabled? Default value is false.
    storage_account_type str
    Specifies the storage account type used to store backups for this database. Changing this forces a new resource to be created. Possible values are GRS, LRS and ZRS. Defaults to GRS.
    tags Mapping[str, str]
    A mapping of tags to assign to the resource.
    timezone_id str
    The TimeZone ID that the SQL Managed Instance will be operating in. Default value is UTC. Changing this forces a new resource to be created.
    administratorLogin String
    The administrator login name for the new server. Changing this forces a new resource to be created.
    administratorLoginPassword String
    The password associated with the administrator_login user. Needs to comply with Azure's Password Policy
    licenseType String
    What type of license the Managed Instance will use. Valid values include can be LicenseIncluded or BasePrice.
    resourceGroupName String
    The name of the resource group in which to create the SQL Server. Changing this forces a new resource to be created.
    skuName String
    Specifies the SKU Name for the SQL Managed Instance. Valid values include GP_Gen4, GP_Gen5, BC_Gen4, BC_Gen5.
    storageSizeInGb Number
    Maximum storage space for your instance. It should be a multiple of 32GB.
    subnetId String
    The subnet resource id that the SQL Managed Instance will be associated with. Changing this forces a new resource to be created.
    vcores Number
    Number of cores that should be assigned to your instance. Values can be 8, 16, or 24 if sku_name is GP_Gen4, or 8, 16, 24, 32, or 40 if sku_name is GP_Gen5.
    collation String
    Specifies how the SQL Managed Instance will be collated. Default value is SQL_Latin1_General_CP1_CI_AS. Changing this forces a new resource to be created.
    dnsZonePartnerId String
    The ID of the Managed Instance which will share the DNS zone. This is a prerequisite for creating a azure.sql.ManagedInstanceFailoverGroup. Setting this after creation forces a new resource to be created.
    identity Property Map
    An identity block as defined below.
    location String
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    minimumTlsVersion String
    The Minimum TLS Version. Default value is 1.2 Valid values include 1.0, 1.1, 1.2.
    name String
    The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
    proxyOverride String
    Specifies how the SQL Managed Instance will be accessed. Default value is Default. Valid values include Default, Proxy, and Redirect.
    publicDataEndpointEnabled Boolean
    Is the public data endpoint enabled? Default value is false.
    storageAccountType String
    Specifies the storage account type used to store backups for this database. Changing this forces a new resource to be created. Possible values are GRS, LRS and ZRS. Defaults to GRS.
    tags Map<String>
    A mapping of tags to assign to the resource.
    timezoneId String
    The TimeZone ID that the SQL Managed Instance will be operating in. Default value is UTC. Changing this forces a new resource to be created.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the ManagedInstance resource produces the following output properties:

    Fqdn string
    The fully qualified domain name of the Azure Managed SQL Instance
    Id string
    The provider-assigned unique ID for this managed resource.
    Fqdn string
    The fully qualified domain name of the Azure Managed SQL Instance
    Id string
    The provider-assigned unique ID for this managed resource.
    fqdn String
    The fully qualified domain name of the Azure Managed SQL Instance
    id String
    The provider-assigned unique ID for this managed resource.
    fqdn string
    The fully qualified domain name of the Azure Managed SQL Instance
    id string
    The provider-assigned unique ID for this managed resource.
    fqdn str
    The fully qualified domain name of the Azure Managed SQL Instance
    id str
    The provider-assigned unique ID for this managed resource.
    fqdn String
    The fully qualified domain name of the Azure Managed SQL Instance
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing ManagedInstance Resource

    Get an existing ManagedInstance resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: ManagedInstanceState, opts?: CustomResourceOptions): ManagedInstance
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            administrator_login: Optional[str] = None,
            administrator_login_password: Optional[str] = None,
            collation: Optional[str] = None,
            dns_zone_partner_id: Optional[str] = None,
            fqdn: Optional[str] = None,
            identity: Optional[ManagedInstanceIdentityArgs] = None,
            license_type: Optional[str] = None,
            location: Optional[str] = None,
            minimum_tls_version: Optional[str] = None,
            name: Optional[str] = None,
            proxy_override: Optional[str] = None,
            public_data_endpoint_enabled: Optional[bool] = None,
            resource_group_name: Optional[str] = None,
            sku_name: Optional[str] = None,
            storage_account_type: Optional[str] = None,
            storage_size_in_gb: Optional[int] = None,
            subnet_id: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None,
            timezone_id: Optional[str] = None,
            vcores: Optional[int] = None) -> ManagedInstance
    func GetManagedInstance(ctx *Context, name string, id IDInput, state *ManagedInstanceState, opts ...ResourceOption) (*ManagedInstance, error)
    public static ManagedInstance Get(string name, Input<string> id, ManagedInstanceState? state, CustomResourceOptions? opts = null)
    public static ManagedInstance get(String name, Output<String> id, ManagedInstanceState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AdministratorLogin string
    The administrator login name for the new server. Changing this forces a new resource to be created.
    AdministratorLoginPassword string
    The password associated with the administrator_login user. Needs to comply with Azure's Password Policy
    Collation string
    Specifies how the SQL Managed Instance will be collated. Default value is SQL_Latin1_General_CP1_CI_AS. Changing this forces a new resource to be created.
    DnsZonePartnerId string
    The ID of the Managed Instance which will share the DNS zone. This is a prerequisite for creating a azure.sql.ManagedInstanceFailoverGroup. Setting this after creation forces a new resource to be created.
    Fqdn string
    The fully qualified domain name of the Azure Managed SQL Instance
    Identity ManagedInstanceIdentity
    An identity block as defined below.
    LicenseType string
    What type of license the Managed Instance will use. Valid values include can be LicenseIncluded or BasePrice.
    Location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    MinimumTlsVersion string
    The Minimum TLS Version. Default value is 1.2 Valid values include 1.0, 1.1, 1.2.
    Name string
    The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
    ProxyOverride string
    Specifies how the SQL Managed Instance will be accessed. Default value is Default. Valid values include Default, Proxy, and Redirect.
    PublicDataEndpointEnabled bool
    Is the public data endpoint enabled? Default value is false.
    ResourceGroupName string
    The name of the resource group in which to create the SQL Server. Changing this forces a new resource to be created.
    SkuName string
    Specifies the SKU Name for the SQL Managed Instance. Valid values include GP_Gen4, GP_Gen5, BC_Gen4, BC_Gen5.
    StorageAccountType string
    Specifies the storage account type used to store backups for this database. Changing this forces a new resource to be created. Possible values are GRS, LRS and ZRS. Defaults to GRS.
    StorageSizeInGb int
    Maximum storage space for your instance. It should be a multiple of 32GB.
    SubnetId string
    The subnet resource id that the SQL Managed Instance will be associated with. Changing this forces a new resource to be created.
    Tags Dictionary<string, string>
    A mapping of tags to assign to the resource.
    TimezoneId string
    The TimeZone ID that the SQL Managed Instance will be operating in. Default value is UTC. Changing this forces a new resource to be created.
    Vcores int
    Number of cores that should be assigned to your instance. Values can be 8, 16, or 24 if sku_name is GP_Gen4, or 8, 16, 24, 32, or 40 if sku_name is GP_Gen5.
    AdministratorLogin string
    The administrator login name for the new server. Changing this forces a new resource to be created.
    AdministratorLoginPassword string
    The password associated with the administrator_login user. Needs to comply with Azure's Password Policy
    Collation string
    Specifies how the SQL Managed Instance will be collated. Default value is SQL_Latin1_General_CP1_CI_AS. Changing this forces a new resource to be created.
    DnsZonePartnerId string
    The ID of the Managed Instance which will share the DNS zone. This is a prerequisite for creating a azure.sql.ManagedInstanceFailoverGroup. Setting this after creation forces a new resource to be created.
    Fqdn string
    The fully qualified domain name of the Azure Managed SQL Instance
    Identity ManagedInstanceIdentityArgs
    An identity block as defined below.
    LicenseType string
    What type of license the Managed Instance will use. Valid values include can be LicenseIncluded or BasePrice.
    Location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    MinimumTlsVersion string
    The Minimum TLS Version. Default value is 1.2 Valid values include 1.0, 1.1, 1.2.
    Name string
    The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
    ProxyOverride string
    Specifies how the SQL Managed Instance will be accessed. Default value is Default. Valid values include Default, Proxy, and Redirect.
    PublicDataEndpointEnabled bool
    Is the public data endpoint enabled? Default value is false.
    ResourceGroupName string
    The name of the resource group in which to create the SQL Server. Changing this forces a new resource to be created.
    SkuName string
    Specifies the SKU Name for the SQL Managed Instance. Valid values include GP_Gen4, GP_Gen5, BC_Gen4, BC_Gen5.
    StorageAccountType string
    Specifies the storage account type used to store backups for this database. Changing this forces a new resource to be created. Possible values are GRS, LRS and ZRS. Defaults to GRS.
    StorageSizeInGb int
    Maximum storage space for your instance. It should be a multiple of 32GB.
    SubnetId string
    The subnet resource id that the SQL Managed Instance will be associated with. Changing this forces a new resource to be created.
    Tags map[string]string
    A mapping of tags to assign to the resource.
    TimezoneId string
    The TimeZone ID that the SQL Managed Instance will be operating in. Default value is UTC. Changing this forces a new resource to be created.
    Vcores int
    Number of cores that should be assigned to your instance. Values can be 8, 16, or 24 if sku_name is GP_Gen4, or 8, 16, 24, 32, or 40 if sku_name is GP_Gen5.
    administratorLogin String
    The administrator login name for the new server. Changing this forces a new resource to be created.
    administratorLoginPassword String
    The password associated with the administrator_login user. Needs to comply with Azure's Password Policy
    collation String
    Specifies how the SQL Managed Instance will be collated. Default value is SQL_Latin1_General_CP1_CI_AS. Changing this forces a new resource to be created.
    dnsZonePartnerId String
    The ID of the Managed Instance which will share the DNS zone. This is a prerequisite for creating a azure.sql.ManagedInstanceFailoverGroup. Setting this after creation forces a new resource to be created.
    fqdn String
    The fully qualified domain name of the Azure Managed SQL Instance
    identity ManagedInstanceIdentity
    An identity block as defined below.
    licenseType String
    What type of license the Managed Instance will use. Valid values include can be LicenseIncluded or BasePrice.
    location String
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    minimumTlsVersion String
    The Minimum TLS Version. Default value is 1.2 Valid values include 1.0, 1.1, 1.2.
    name String
    The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
    proxyOverride String
    Specifies how the SQL Managed Instance will be accessed. Default value is Default. Valid values include Default, Proxy, and Redirect.
    publicDataEndpointEnabled Boolean
    Is the public data endpoint enabled? Default value is false.
    resourceGroupName String
    The name of the resource group in which to create the SQL Server. Changing this forces a new resource to be created.
    skuName String
    Specifies the SKU Name for the SQL Managed Instance. Valid values include GP_Gen4, GP_Gen5, BC_Gen4, BC_Gen5.
    storageAccountType String
    Specifies the storage account type used to store backups for this database. Changing this forces a new resource to be created. Possible values are GRS, LRS and ZRS. Defaults to GRS.
    storageSizeInGb Integer
    Maximum storage space for your instance. It should be a multiple of 32GB.
    subnetId String
    The subnet resource id that the SQL Managed Instance will be associated with. Changing this forces a new resource to be created.
    tags Map<String,String>
    A mapping of tags to assign to the resource.
    timezoneId String
    The TimeZone ID that the SQL Managed Instance will be operating in. Default value is UTC. Changing this forces a new resource to be created.
    vcores Integer
    Number of cores that should be assigned to your instance. Values can be 8, 16, or 24 if sku_name is GP_Gen4, or 8, 16, 24, 32, or 40 if sku_name is GP_Gen5.
    administratorLogin string
    The administrator login name for the new server. Changing this forces a new resource to be created.
    administratorLoginPassword string
    The password associated with the administrator_login user. Needs to comply with Azure's Password Policy
    collation string
    Specifies how the SQL Managed Instance will be collated. Default value is SQL_Latin1_General_CP1_CI_AS. Changing this forces a new resource to be created.
    dnsZonePartnerId string
    The ID of the Managed Instance which will share the DNS zone. This is a prerequisite for creating a azure.sql.ManagedInstanceFailoverGroup. Setting this after creation forces a new resource to be created.
    fqdn string
    The fully qualified domain name of the Azure Managed SQL Instance
    identity ManagedInstanceIdentity
    An identity block as defined below.
    licenseType string
    What type of license the Managed Instance will use. Valid values include can be LicenseIncluded or BasePrice.
    location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    minimumTlsVersion string
    The Minimum TLS Version. Default value is 1.2 Valid values include 1.0, 1.1, 1.2.
    name string
    The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
    proxyOverride string
    Specifies how the SQL Managed Instance will be accessed. Default value is Default. Valid values include Default, Proxy, and Redirect.
    publicDataEndpointEnabled boolean
    Is the public data endpoint enabled? Default value is false.
    resourceGroupName string
    The name of the resource group in which to create the SQL Server. Changing this forces a new resource to be created.
    skuName string
    Specifies the SKU Name for the SQL Managed Instance. Valid values include GP_Gen4, GP_Gen5, BC_Gen4, BC_Gen5.
    storageAccountType string
    Specifies the storage account type used to store backups for this database. Changing this forces a new resource to be created. Possible values are GRS, LRS and ZRS. Defaults to GRS.
    storageSizeInGb number
    Maximum storage space for your instance. It should be a multiple of 32GB.
    subnetId string
    The subnet resource id that the SQL Managed Instance will be associated with. Changing this forces a new resource to be created.
    tags {[key: string]: string}
    A mapping of tags to assign to the resource.
    timezoneId string
    The TimeZone ID that the SQL Managed Instance will be operating in. Default value is UTC. Changing this forces a new resource to be created.
    vcores number
    Number of cores that should be assigned to your instance. Values can be 8, 16, or 24 if sku_name is GP_Gen4, or 8, 16, 24, 32, or 40 if sku_name is GP_Gen5.
    administrator_login str
    The administrator login name for the new server. Changing this forces a new resource to be created.
    administrator_login_password str
    The password associated with the administrator_login user. Needs to comply with Azure's Password Policy
    collation str
    Specifies how the SQL Managed Instance will be collated. Default value is SQL_Latin1_General_CP1_CI_AS. Changing this forces a new resource to be created.
    dns_zone_partner_id str
    The ID of the Managed Instance which will share the DNS zone. This is a prerequisite for creating a azure.sql.ManagedInstanceFailoverGroup. Setting this after creation forces a new resource to be created.
    fqdn str
    The fully qualified domain name of the Azure Managed SQL Instance
    identity ManagedInstanceIdentityArgs
    An identity block as defined below.
    license_type str
    What type of license the Managed Instance will use. Valid values include can be LicenseIncluded or BasePrice.
    location str
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    minimum_tls_version str
    The Minimum TLS Version. Default value is 1.2 Valid values include 1.0, 1.1, 1.2.
    name str
    The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
    proxy_override str
    Specifies how the SQL Managed Instance will be accessed. Default value is Default. Valid values include Default, Proxy, and Redirect.
    public_data_endpoint_enabled bool
    Is the public data endpoint enabled? Default value is false.
    resource_group_name str
    The name of the resource group in which to create the SQL Server. Changing this forces a new resource to be created.
    sku_name str
    Specifies the SKU Name for the SQL Managed Instance. Valid values include GP_Gen4, GP_Gen5, BC_Gen4, BC_Gen5.
    storage_account_type str
    Specifies the storage account type used to store backups for this database. Changing this forces a new resource to be created. Possible values are GRS, LRS and ZRS. Defaults to GRS.
    storage_size_in_gb int
    Maximum storage space for your instance. It should be a multiple of 32GB.
    subnet_id str
    The subnet resource id that the SQL Managed Instance will be associated with. Changing this forces a new resource to be created.
    tags Mapping[str, str]
    A mapping of tags to assign to the resource.
    timezone_id str
    The TimeZone ID that the SQL Managed Instance will be operating in. Default value is UTC. Changing this forces a new resource to be created.
    vcores int
    Number of cores that should be assigned to your instance. Values can be 8, 16, or 24 if sku_name is GP_Gen4, or 8, 16, 24, 32, or 40 if sku_name is GP_Gen5.
    administratorLogin String
    The administrator login name for the new server. Changing this forces a new resource to be created.
    administratorLoginPassword String
    The password associated with the administrator_login user. Needs to comply with Azure's Password Policy
    collation String
    Specifies how the SQL Managed Instance will be collated. Default value is SQL_Latin1_General_CP1_CI_AS. Changing this forces a new resource to be created.
    dnsZonePartnerId String
    The ID of the Managed Instance which will share the DNS zone. This is a prerequisite for creating a azure.sql.ManagedInstanceFailoverGroup. Setting this after creation forces a new resource to be created.
    fqdn String
    The fully qualified domain name of the Azure Managed SQL Instance
    identity Property Map
    An identity block as defined below.
    licenseType String
    What type of license the Managed Instance will use. Valid values include can be LicenseIncluded or BasePrice.
    location String
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    minimumTlsVersion String
    The Minimum TLS Version. Default value is 1.2 Valid values include 1.0, 1.1, 1.2.
    name String
    The name of the SQL Managed Instance. This needs to be globally unique within Azure. Changing this forces a new resource to be created.
    proxyOverride String
    Specifies how the SQL Managed Instance will be accessed. Default value is Default. Valid values include Default, Proxy, and Redirect.
    publicDataEndpointEnabled Boolean
    Is the public data endpoint enabled? Default value is false.
    resourceGroupName String
    The name of the resource group in which to create the SQL Server. Changing this forces a new resource to be created.
    skuName String
    Specifies the SKU Name for the SQL Managed Instance. Valid values include GP_Gen4, GP_Gen5, BC_Gen4, BC_Gen5.
    storageAccountType String
    Specifies the storage account type used to store backups for this database. Changing this forces a new resource to be created. Possible values are GRS, LRS and ZRS. Defaults to GRS.
    storageSizeInGb Number
    Maximum storage space for your instance. It should be a multiple of 32GB.
    subnetId String
    The subnet resource id that the SQL Managed Instance will be associated with. Changing this forces a new resource to be created.
    tags Map<String>
    A mapping of tags to assign to the resource.
    timezoneId String
    The TimeZone ID that the SQL Managed Instance will be operating in. Default value is UTC. Changing this forces a new resource to be created.
    vcores Number
    Number of cores that should be assigned to your instance. Values can be 8, 16, or 24 if sku_name is GP_Gen4, or 8, 16, 24, 32, or 40 if sku_name is GP_Gen5.

    Supporting Types

    ManagedInstanceIdentity, ManagedInstanceIdentityArgs

    Type string
    Specifies the type of Managed Service Identity that should be configured on this SQL Managed Instance. The only possible value is SystemAssigned.
    PrincipalId string
    The Principal ID for the Service Principal associated with the Identity of this SQL Managed Instance.
    TenantId string
    The Tenant ID for the Service Principal associated with the Identity of this SQL Managed Instance.
    Type string
    Specifies the type of Managed Service Identity that should be configured on this SQL Managed Instance. The only possible value is SystemAssigned.
    PrincipalId string
    The Principal ID for the Service Principal associated with the Identity of this SQL Managed Instance.
    TenantId string
    The Tenant ID for the Service Principal associated with the Identity of this SQL Managed Instance.
    type String
    Specifies the type of Managed Service Identity that should be configured on this SQL Managed Instance. The only possible value is SystemAssigned.
    principalId String
    The Principal ID for the Service Principal associated with the Identity of this SQL Managed Instance.
    tenantId String
    The Tenant ID for the Service Principal associated with the Identity of this SQL Managed Instance.
    type string
    Specifies the type of Managed Service Identity that should be configured on this SQL Managed Instance. The only possible value is SystemAssigned.
    principalId string
    The Principal ID for the Service Principal associated with the Identity of this SQL Managed Instance.
    tenantId string
    The Tenant ID for the Service Principal associated with the Identity of this SQL Managed Instance.
    type str
    Specifies the type of Managed Service Identity that should be configured on this SQL Managed Instance. The only possible value is SystemAssigned.
    principal_id str
    The Principal ID for the Service Principal associated with the Identity of this SQL Managed Instance.
    tenant_id str
    The Tenant ID for the Service Principal associated with the Identity of this SQL Managed Instance.
    type String
    Specifies the type of Managed Service Identity that should be configured on this SQL Managed Instance. The only possible value is SystemAssigned.
    principalId String
    The Principal ID for the Service Principal associated with the Identity of this SQL Managed Instance.
    tenantId String
    The Tenant ID for the Service Principal associated with the Identity of this SQL Managed Instance.

    Import

    SQL Servers can be imported using the resource id, e.g.

    $ pulumi import azure:sql/managedInstance:ManagedInstance example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.Sql/managedInstances/myserver
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Azure Classic pulumi/pulumi-azure
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the azurerm Terraform Provider.
    azure logo

    We recommend using Azure Native.

    Azure Classic v5.72.0 published on Monday, Apr 15, 2024 by Pulumi