User Story 60501: 101-sql-database (#217)
* Part of POC to test generating sample code and articles using OpenAI. * Changes per Code Review
This commit is contained in:
parent
43fb22bcaf
commit
9550abf245
40
quickstart/101-sql-database/main.tf
Normal file
40
quickstart/101-sql-database/main.tf
Normal file
@ -0,0 +1,40 @@
|
||||
resource "random_pet" "rg_name" {
|
||||
prefix = var.resource_group_name_prefix
|
||||
}
|
||||
|
||||
resource "azurerm_resource_group" "rg" {
|
||||
name = random_pet.rg_name.id
|
||||
location = var.resource_group_location
|
||||
}
|
||||
|
||||
resource "random_pet" "azurerm_mssql_server_name" {
|
||||
prefix = "sql"
|
||||
}
|
||||
|
||||
resource "random_password" "admin_password" {
|
||||
count = var.admin_password == null ? 1 : 0
|
||||
length = 20
|
||||
special = true
|
||||
min_numeric = 1
|
||||
min_upper = 1
|
||||
min_lower = 1
|
||||
min_special = 1
|
||||
}
|
||||
|
||||
locals {
|
||||
admin_password = try(random_password.admin_password[0].result, var.admin_password)
|
||||
}
|
||||
|
||||
resource "azurerm_mssql_server" "server" {
|
||||
name = random_pet.azurerm_mssql_server_name.id
|
||||
resource_group_name = azurerm_resource_group.rg.name
|
||||
location = azurerm_resource_group.rg.location
|
||||
administrator_login = var.admin_username
|
||||
administrator_login_password = local.admin_password
|
||||
version = "12.0"
|
||||
}
|
||||
|
||||
resource "azurerm_mssql_database" "db" {
|
||||
name = var.sql_db_name
|
||||
server_id = azurerm_mssql_server.server.id
|
||||
}
|
13
quickstart/101-sql-database/outputs.tf
Normal file
13
quickstart/101-sql-database/outputs.tf
Normal file
@ -0,0 +1,13 @@
|
||||
output "resource_group_name" {
|
||||
value = azurerm_resource_group.rg.name
|
||||
}
|
||||
|
||||
output "sql_server_name" {
|
||||
value = azurerm_mssql_server.server.name
|
||||
}
|
||||
|
||||
|
||||
output "admin_password" {
|
||||
sensitive = true
|
||||
value = local.admin_password
|
||||
}
|
16
quickstart/101-sql-database/providers.tf
Normal file
16
quickstart/101-sql-database/providers.tf
Normal file
@ -0,0 +1,16 @@
|
||||
terraform {
|
||||
required_version = ">=1.0"
|
||||
required_providers {
|
||||
azurerm = {
|
||||
source = "hashicorp/azurerm"
|
||||
version = "~>3.0"
|
||||
}
|
||||
random = {
|
||||
source = "hashicorp/random"
|
||||
version = "~>3.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
provider "azurerm" {
|
||||
features {}
|
||||
}
|
25
quickstart/101-sql-database/readme.md
Normal file
25
quickstart/101-sql-database/readme.md
Normal file
@ -0,0 +1,25 @@
|
||||
# Azure SQL Database
|
||||
|
||||
This template deploys an Azure SQL Database.
|
||||
|
||||
## Terraform resource types
|
||||
|
||||
- [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet)
|
||||
- [azurerm_resource_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group)
|
||||
- [random_password](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password)
|
||||
- [azurerm_mssql_server](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/mssql_server)
|
||||
- [azurerm_mssql_database](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/mssql_database)
|
||||
|
||||
## Variables
|
||||
|
||||
| Name | Description | Default |
|
||||
|-|-|-|
|
||||
| `resource_group_name_prefix` | Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription. | rg |
|
||||
| `resource_group_location` | Location of the resource group. | eastus |
|
||||
| `sql_db_name` | The name of the SQL Database. | SampleDB |
|
||||
| `admin_username` | The administrator username of the SQL logical server. | azureadmin |
|
||||
| `admin_password` | The administrator password of the SQL logical server. | null; If value is null, a random password is generated. |
|
||||
|
||||
## Example
|
||||
|
||||
To see how to run this example, see [Create a single database in Azure SQL Database using Terraform](https://learn.microsoft.com/azure/azure-sql/database/single-database-create-terraform-quickstart).
|
30
quickstart/101-sql-database/variables.tf
Normal file
30
quickstart/101-sql-database/variables.tf
Normal file
@ -0,0 +1,30 @@
|
||||
variable "resource_group_location" {
|
||||
type = string
|
||||
description = "Location for all resources."
|
||||
default = "eastus"
|
||||
}
|
||||
|
||||
variable "resource_group_name_prefix" {
|
||||
type = string
|
||||
description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription."
|
||||
default = "rg"
|
||||
}
|
||||
|
||||
variable "sql_db_name" {
|
||||
type = string
|
||||
description = "The name of the SQL Database."
|
||||
default = "SampleDB"
|
||||
}
|
||||
|
||||
variable "admin_username" {
|
||||
type = string
|
||||
description = "The administrator username of the SQL logical server."
|
||||
default = "azureadmin"
|
||||
}
|
||||
|
||||
variable "admin_password" {
|
||||
type = string
|
||||
description = "The administrator password of the SQL logical server."
|
||||
sensitive = true
|
||||
default = null
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user