{"id":24279878,"url":"https://github.com/libre-devops/terraform-azurerm-mssql-database","last_synced_at":"2026-04-19T11:34:23.499Z","repository":{"id":272649700,"uuid":"917259797","full_name":"libre-devops/terraform-azurerm-mssql-database","owner":"libre-devops","description":"A module used to create a MSSQL database","archived":false,"fork":false,"pushed_at":"2025-01-15T22:26:47.000Z","size":30,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-02T01:36:36.429Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/libre-devops.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-15T16:50:42.000Z","updated_at":"2025-01-15T22:26:47.000Z","dependencies_parsed_at":"2025-01-15T21:29:08.580Z","dependency_job_id":"0c5a9a4f-a70f-4367-8b3d-77b3da9aab68","html_url":"https://github.com/libre-devops/terraform-azurerm-mssql-database","commit_stats":null,"previous_names":["libre-devops/terraform-azurerm-mssql-database"],"tags_count":1,"template":false,"template_full_name":"libre-devops/terraform-module-template","purl":"pkg:github/libre-devops/terraform-azurerm-mssql-database","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libre-devops%2Fterraform-azurerm-mssql-database","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libre-devops%2Fterraform-azurerm-mssql-database/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libre-devops%2Fterraform-azurerm-mssql-database/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libre-devops%2Fterraform-azurerm-mssql-database/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/libre-devops","download_url":"https://codeload.github.com/libre-devops/terraform-azurerm-mssql-database/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libre-devops%2Fterraform-azurerm-mssql-database/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32005802,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-16T01:59:24.958Z","updated_at":"2026-04-19T11:34:23.467Z","avatar_url":"https://github.com/libre-devops.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"```hcl\n###############################################################################\n# azurerm_mssql_database resource\n###############################################################################\nresource \"azurerm_mssql_database\" \"this\" {\n  for_each = {\n    for db in var.mssql_databases :\n    db.name =\u003e db\n  }\n\n  name      = each.value.name\n  server_id = each.value.server_id\n\n  # Optional fields with defaults\n  create_mode                           = try(each.value.create_mode, \"Default\")\n  collation                             = try(each.value.collation, \"SQL_Latin1_General_CP1_CI_AS\")\n  enclave_type                          = try(each.value.enclave_type, null)\n  geo_backup_enabled                    = try(each.value.geo_backup_enabled, false)\n  ledger_enabled                        = try(each.value.ledger_enabled, false)\n  license_type                          = try(each.value.license_type, null)\n  max_size_gb                           = try(each.value.max_size_gb, null)\n  min_capacity                          = try(each.value.min_capacity, null)\n  restore_point_in_time                 = try(each.value.restore_point_in_time, null)\n  recover_database_id                   = try(each.value.recover_database_id, null)\n  recovery_point_id                     = try(each.value.recovery_point_id, null)\n  restore_dropped_database_id           = try(each.value.restore_dropped_database_id, null)\n  restore_long_term_retention_backup_id = try(each.value.restore_long_term_retention_backup_id, null)\n  read_replica_count                    = try(each.value.read_replica_count, null)\n  read_scale                            = try(each.value.read_scale, null)\n  sample_name                           = try(each.value.sample_name, null)\n  sku_name                              = try(each.value.sku_name, null)\n  storage_account_type                  = try(each.value.storage_account_type, null)\n  zone_redundant                        = try(each.value.zone_redundant, false)\n  secondary_type                        = try(each.value.secondary_type, null)\n\n  # auto_pause_delay_in_minutes (serverless)\n  auto_pause_delay_in_minutes = try(each.value.auto_pause_delay_in_minutes, null)\n\n  # Maintenance config\n  maintenance_configuration_name = try(each.value.maintenance_configuration_mode, null)\n\n  # Transparent data encryption\n  transparent_data_encryption_enabled                        = try(each.value.transparent_data_encryption_enabled, true)\n  transparent_data_encryption_key_vault_key_id               = try(each.value.transparent_data_encryption_key_vault_key_id, null)\n  transparent_data_encryption_key_automatic_rotation_enabled = try(each.value.transparent_data_encryption_key_automatic_rotation_enabled, null)\n\n  dynamic \"identity\" {\n    for_each = each.value.identity_type == \"UserAssigned\" ? [each.value.identity_type] : []\n    content {\n      type         = each.value.identity_type\n      identity_ids = length(try(each.value.identity_ids, [])) \u003e 0 ? each.value.identity_ids : []\n    }\n  }\n\n  # Elastic pool usage\n  elastic_pool_id = try(each.value.elastic_pool_id, null)\n\n\n  #############################################################################\n  # Threat Detection Policy\n  #############################################################################\n  dynamic \"threat_detection_policy\" {\n    for_each = each.value.threat_detection_policy != null ? [each.value.threat_detection_policy] : []\n    content {\n      state                      = try(threat_detection_policy.value.state, \"Enabled\")\n      disabled_alerts            = try(threat_detection_policy.value.disabled_alerts, [])\n      email_account_admins       = try(threat_detection_policy.value.email_account_admins, \"Disabled\")\n      email_addresses            = try(threat_detection_policy.value.email_addresses, [])\n      retention_days             = try(threat_detection_policy.value.retention_days, 0)\n      storage_endpoint           = try(threat_detection_policy.value.storage_endpoint, null)\n      storage_account_access_key = try(threat_detection_policy.value.storage_account_access_key, null)\n    }\n  }\n\n  #############################################################################\n  # Short-Term Retention Policy\n  #############################################################################\n  dynamic \"short_term_retention_policy\" {\n    for_each = each.value.short_term_retention_policy != null ? [each.value.short_term_retention_policy] : []\n    content {\n      retention_days           = try(short_term_retention_policy.value.retention_days, null)\n      backup_interval_in_hours = try(short_term_retention_policy.value.backup_interval_in_hours, null)\n    }\n  }\n\n  #############################################################################\n  # Long-Term Retention Policy\n  #############################################################################\n  dynamic \"long_term_retention_policy\" {\n    for_each = each.value.long_term_retention_policy != null ? [each.value.long_term_retention_policy] : []\n    content {\n      weekly_retention  = try(long_term_retention_policy.value.weekly_retention, null)\n      monthly_retention = try(long_term_retention_policy.value.monthly_retention, null)\n      yearly_retention  = try(long_term_retention_policy.value.yearly_retention, null)\n      week_of_year      = try(long_term_retention_policy.value.week_of_year, null)\n    }\n  }\n\n  #############################################################################\n  # Import\n  #\n  # azurerm_mssql_database resource supports inline import for\n  # data-tier application (bacpac) using these fields.\n  #############################################################################\n  dynamic \"import\" {\n    for_each = each.value.import != null ? [each.value.import] : []\n    content {\n      storage_uri                  = import.value.storage_uri\n      storage_key                  = import.value.storage_key\n      storage_key_type             = import.value.storage_key_type\n      administrator_login          = import.value.administrator_login\n      administrator_login_password = import.value.administrator_login_password\n      authentication_type          = import.value.authentication_type\n      storage_account_id           = try(import.value.storage_account_id, null)\n    }\n  }\n}\n```\n## Requirements\n\nNo requirements.\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_azurerm\"\u003e\u003c/a\u003e [azurerm](#provider\\_azurerm) | n/a |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [azurerm_mssql_database.this](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/mssql_database) | resource |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_mssql_databases\"\u003e\u003c/a\u003e [mssql\\_databases](#input\\_mssql\\_databases) | List of MSSQL databases to deploy | \u003cpre\u003elist(object({\u003cbr/\u003e    name                                                       = string\u003cbr/\u003e    server_id                                                  = string\u003cbr/\u003e    auto_pause_delay_in_minutes                                = optional(number)\u003cbr/\u003e    create_mode                                                = optional(string, \"Default\")\u003cbr/\u003e    creation_source_database_id                                = optional(string)\u003cbr/\u003e    collation                                                  = optional(string, \"SQL_Latin1_General_CP1_CI_AS\")\u003cbr/\u003e    elastic_pool_id                                            = optional(string)\u003cbr/\u003e    enclave_type                                               = optional(string)\u003cbr/\u003e    geo_backup_enabled                                         = optional(bool, false)\u003cbr/\u003e    maintenance_configuration_mode                             = optional(string)\u003cbr/\u003e    ledger_enabled                                             = optional(bool, false)\u003cbr/\u003e    license_type                                               = optional(string)\u003cbr/\u003e    max_size_gb                                                = optional(string)\u003cbr/\u003e    min_capacity                                               = optional(string)\u003cbr/\u003e    restore_point_in_time                                      = optional(string)\u003cbr/\u003e    recover_database_id                                        = optional(string)\u003cbr/\u003e    recovery_point_id                                          = optional(string)\u003cbr/\u003e    restore_dropped_database_id                                = optional(string)\u003cbr/\u003e    restore_long_term_retention_backup_id                      = optional(string)\u003cbr/\u003e    read_replica_count                                         = optional(number)\u003cbr/\u003e    read_scale                                                 = optional(string)\u003cbr/\u003e    sample_name                                                = optional(string)\u003cbr/\u003e    sku_name                                                   = optional(string)\u003cbr/\u003e    storage_account_type                                       = optional(string)\u003cbr/\u003e    identity_type                                              = optional(string)\u003cbr/\u003e    identity_ids                                               = optional(list(string))\u003cbr/\u003e    transparent_data_encryption_enabled                        = optional(bool, true)\u003cbr/\u003e    transparent_data_encryption_key_vault_key_id               = optional(string)\u003cbr/\u003e    transparent_data_encryption_key_automatic_rotation_enabled = optional(bool)\u003cbr/\u003e    zone_redundant                                             = optional(bool, false)\u003cbr/\u003e    secondary_type                                             = optional(string)\u003cbr/\u003e\u003cbr/\u003e    threat_detection_policy = optional(object({\u003cbr/\u003e      state                      = optional(string, \"Enabled\")\u003cbr/\u003e      disabled_alerts            = optional(list(string))\u003cbr/\u003e      email_account_admins       = optional(string, \"Disabled\")\u003cbr/\u003e      email_addresses            = optional(list(string))\u003cbr/\u003e      retention_days             = optional(number, 0)\u003cbr/\u003e      storage_account_access_key = optional(string)\u003cbr/\u003e      storage_endpoint           = optional(string)\u003cbr/\u003e    }))\u003cbr/\u003e\u003cbr/\u003e    short_term_retention_policy = optional(object({\u003cbr/\u003e      retention_days           = optional(string)\u003cbr/\u003e      backup_interval_in_hours = optional(string)\u003cbr/\u003e    }))\u003cbr/\u003e\u003cbr/\u003e    long_term_retention_policy = optional(object({\u003cbr/\u003e      weekly_retention  = optional(string)\u003cbr/\u003e      monthly_retention = optional(string)\u003cbr/\u003e      yearly_retention  = optional(string)\u003cbr/\u003e      week_of_year      = optional(string)\u003cbr/\u003e    }))\u003cbr/\u003e\u003cbr/\u003e    import = optional(object({\u003cbr/\u003e      storage_uri                  = string\u003cbr/\u003e      storage_key                  = string\u003cbr/\u003e      storage_key_type             = string\u003cbr/\u003e      administrator_login          = string\u003cbr/\u003e      administrator_login_password = string\u003cbr/\u003e      authentication_type          = string\u003cbr/\u003e      storage_account_id           = optional(string)\u003cbr/\u003e    }))\u003cbr/\u003e  }))\u003c/pre\u003e | n/a | yes |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_mssql_database_collations\"\u003e\u003c/a\u003e [mssql\\_database\\_collations](#output\\_mssql\\_database\\_collations) | A map of MSSQL Database collations, keyed by database name. |\n| \u003ca name=\"output_mssql_database_ids\"\u003e\u003c/a\u003e [mssql\\_database\\_ids](#output\\_mssql\\_database\\_ids) | A map of MSSQL Database IDs, keyed by database name. |\n| \u003ca name=\"output_mssql_database_names\"\u003e\u003c/a\u003e [mssql\\_database\\_names](#output\\_mssql\\_database\\_names) | A map of MSSQL Database resource names, keyed by database name. |\n| \u003ca name=\"output_mssql_database_server_ids\"\u003e\u003c/a\u003e [mssql\\_database\\_server\\_ids](#output\\_mssql\\_database\\_server\\_ids) | A map of the server\\_id on which each database is hosted, keyed by database name. |\n| \u003ca name=\"output_mssql_database_sku_names\"\u003e\u003c/a\u003e [mssql\\_database\\_sku\\_names](#output\\_mssql\\_database\\_sku\\_names) | A map of MSSQL Database sku\\_names, keyed by database name. |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibre-devops%2Fterraform-azurerm-mssql-database","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibre-devops%2Fterraform-azurerm-mssql-database","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibre-devops%2Fterraform-azurerm-mssql-database/lists"}