- first commit
This commit is contained in:
85
quickstart/101-managed-instance/main.tf
Normal file
85
quickstart/101-managed-instance/main.tf
Normal file
@ -0,0 +1,85 @@
|
||||
# Create resource group
|
||||
resource "azurerm_resource_group" "example" {
|
||||
name = var.azurerm_resource_group_name
|
||||
location = var.location
|
||||
}
|
||||
|
||||
# Create security group
|
||||
resource "azurerm_network_security_group" "example" {
|
||||
name = var.azurerm_network_security_group_name
|
||||
location = azurerm_resource_group.example.location
|
||||
resource_group_name = azurerm_resource_group.example.name
|
||||
}
|
||||
|
||||
# Create a virtual network
|
||||
resource "azurerm_virtual_network" "example" {
|
||||
name = var.azurerm_virtual_network_name
|
||||
resource_group_name = azurerm_resource_group.example.name
|
||||
address_space = ["10.0.0.0/16"]
|
||||
location = azurerm_resource_group.example.location
|
||||
}
|
||||
|
||||
# Create a subnet
|
||||
resource "azurerm_subnet" "example" {
|
||||
name = var.azurerm_subnet_name
|
||||
resource_group_name = azurerm_resource_group.example.name
|
||||
virtual_network_name = azurerm_virtual_network.example.name
|
||||
address_prefixes = ["10.0.0.0/24"]
|
||||
|
||||
delegation {
|
||||
name = "managedinstancedelegation"
|
||||
|
||||
service_delegation {
|
||||
name = "Microsoft.Sql/managedInstances"
|
||||
actions = [
|
||||
"Microsoft.Network/virtualNetworks/subnets/join/action",
|
||||
"Microsoft.Network/virtualNetworks/subnets/prepareNetworkPolicies/action",
|
||||
"Microsoft.Network/virtualNetworks/subnets/unprepareNetworkPolicies/action"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Associate subnet and the security group
|
||||
resource "azurerm_subnet_network_security_group_association" "example" {
|
||||
subnet_id = azurerm_subnet.example.id
|
||||
network_security_group_id = azurerm_network_security_group.example.id
|
||||
}
|
||||
|
||||
# Create a route table
|
||||
resource "azurerm_route_table" "example" {
|
||||
name = "routetable-mi-terraform"
|
||||
location = azurerm_resource_group.example.location
|
||||
resource_group_name = azurerm_resource_group.example.name
|
||||
disable_bgp_route_propagation = false
|
||||
depends_on = [
|
||||
azurerm_subnet.example,
|
||||
]
|
||||
}
|
||||
|
||||
# Associate subnet and the route table
|
||||
resource "azurerm_subnet_route_table_association" "example" {
|
||||
subnet_id = azurerm_subnet.example.id
|
||||
route_table_id = azurerm_route_table.example.id
|
||||
}
|
||||
|
||||
# Create managed instance
|
||||
resource "azurerm_mssql_managed_instance" "example" {
|
||||
name = var.database_name
|
||||
resource_group_name = azurerm_resource_group.example.name
|
||||
location = azurerm_resource_group.example.location
|
||||
subnet_id = azurerm_subnet.example.id
|
||||
# TODO set the options below either in plain text or in variables.tf
|
||||
# (var.xyz will prompt you to enter the value when creating the plan)
|
||||
administrator_login = var.administrator_login
|
||||
administrator_login_password = var.administrator_login_password
|
||||
license_type = var.license_type
|
||||
sku_name = var.sku_name
|
||||
vcores = var.vcores
|
||||
storage_size_in_gb = var.storage_size_in_gb
|
||||
|
||||
depends_on = [
|
||||
azurerm_subnet_network_security_group_association.example,
|
||||
azurerm_subnet_route_table_association.example,
|
||||
]
|
||||
}
|
Reference in New Issue
Block a user