Skip to content

Commit

Permalink
Merge pull request #755 from aztfmod/patch.5.4.6
Browse files Browse the repository at this point in the history
Patch 5.4.6
  • Loading branch information
arnaudlh authored Nov 9, 2021
2 parents caace9c + de6783f commit a4ca032
Show file tree
Hide file tree
Showing 80 changed files with 1,609 additions and 165 deletions.
2 changes: 1 addition & 1 deletion .devcontainer/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
version: '3.7'
services:
rover:
image: aztfmod/rover:1.0.7-2109.2410
image: aztfmod/rover:1.0.9-2111.0103
user: vscode

labels:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/master-standalone-tf100-longrunners.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
matrix: ${{fromJSON(needs.load_scenarios.outputs.matrix)}}

container:
image: aztfmod/rover:1.0.7-2109.2410
image: aztfmod/rover:1.0.9-2111.0103
options: --user 0

steps:
Expand All @@ -67,7 +67,7 @@ jobs:
needs: examples

container:
image: aztfmod/rover:1.0.7-2109.2410
image: aztfmod/rover:1.0.9-2111.0103
options: --user 0

steps:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/master-standalone-tf100.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
matrix: ${{fromJSON(needs.load_scenarios.outputs.matrix)}}

container:
image: aztfmod/rover:1.0.7-2109.2410
image: aztfmod/rover:1.0.9-2111.0103
options: --user 0

steps:
Expand All @@ -67,7 +67,7 @@ jobs:
needs: examples

container:
image: aztfmod/rover:1.0.7-2109.2410
image: aztfmod/rover:1.0.9-2111.0103
options: --user 0

steps:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/master-standalone-tf14-longrunners.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
matrix: ${{fromJSON(needs.load_scenarios.outputs.matrix)}}

container:
image: aztfmod/rover:0.14.11-2109.2410
image: aztfmod/rover:0.14.11-2111.0103
options: --user 0

steps:
Expand All @@ -67,7 +67,7 @@ jobs:
needs: examples

container:
image: aztfmod/rover:0.14.11-2109.2410
image: aztfmod/rover:0.14.11-2111.0103
options: --user 0

steps:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/master-standalone-tf14.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
matrix: ${{fromJSON(needs.load_scenarios.outputs.matrix)}}

container:
image: aztfmod/rover:0.14.11-2109.2410
image: aztfmod/rover:0.14.11-2111.0103
options: --user 0

steps:
Expand All @@ -67,7 +67,7 @@ jobs:
needs: examples

container:
image: aztfmod/rover:0.14.11-2109.2410
image: aztfmod/rover:0.14.11-2111.0103
options: --user 0

steps:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/master-standalone-tf15-longrunners.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
matrix: ${{fromJSON(needs.load_scenarios.outputs.matrix)}}

container:
image: aztfmod/rover:0.15.5-2109.2410
image: aztfmod/rover:0.15.5-2111.0103
options: --user 0

steps:
Expand All @@ -67,7 +67,7 @@ jobs:
needs: examples

container:
image: aztfmod/rover:0.15.5-2109.2410
image: aztfmod/rover:0.15.5-2111.0103
options: --user 0

steps:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/master-standalone-tf15.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
matrix: ${{fromJSON(needs.load_scenarios.outputs.matrix)}}

container:
image: aztfmod/rover:0.15.5-2109.2410
image: aztfmod/rover:0.15.5-2111.0103
options: --user 0

steps:
Expand All @@ -67,7 +67,7 @@ jobs:
needs: examples

container:
image: aztfmod/rover:0.15.5-2109.2410
image: aztfmod/rover:0.15.5-2111.0103
options: --user 0

steps:
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/standalone-scenarios.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
"cosmos_db/100-simple-cosmos-db-mongo",
"cosmos_db/100-simple-cosmos-db-sql",
"cosmos_db/100-simple-cosmos-db-table",
"database_migration_services/100-dms",
"data_factory/101-data_factory",
"data_factory/102-data_factory_pipeline",
"data_factory/103-data_factory_trigger_schedule",
Expand Down Expand Up @@ -107,6 +108,7 @@
"networking/firewall/103-firewall-policies",
"networking/front_door/100-simple-front_door",
"networking/front_door/101-front_door_waf",
"networking/front_door/102-front_door_advanced",
"networking/ip_group/100-simple-ip_group",
"networking/ip_group/101-firewall-ip_group",
"networking/load_balancers/100-simple-load-balancer-basic-sku",
Expand All @@ -128,6 +130,7 @@
"networking/virtual_network/101-vnet-peering-nsg",
"networking/virtual_network/200-nsg-flow-logs",
"networking/virtual_network/201-nsg-flow-logs-v1",
"networking/virtual_subnets/100-simple-subnet-rbac",
"networking/virtual_wan/100-vwan-multi-hubs",
"networking/virtual_wan/106-vwan-hub-routes",
"networking/virtual_wan/108-vwan-vpn-site",
Expand Down Expand Up @@ -161,4 +164,4 @@
"webapps/appservice/107-appservice-private",
"webapps/function_app/101-function_app-private"
]
}
}
1 change: 1 addition & 0 deletions azuread_groups.tf
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,5 @@ module "azuread_groups_membership" {
group_id = local.combined_objects_azuread_groups[try(each.value.lz_key, local.client_config.landingzone_key)][each.key].id
azuread_service_principals = local.combined_objects_azuread_service_principals
managed_identities = local.combined_objects_managed_identities
mssql_servers = local.combined_objects_mssql_servers
}
19 changes: 11 additions & 8 deletions data_factory.tf
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,19 @@ module "data_factory" {
location = lookup(each.value, "region", null) == null ? local.resource_groups[each.value.resource_group.key].location : local.global_settings.regions[each.value.region]

resource_group_name = coalesce(
try(local.combined_objects_resource_groups[try(each.value.resource_group.lz_key, local.client_config.landingzone_key)][each.value.resource_group.key].name, null),
try(local.combined_objects_resource_groups[each.value.resource_group.lz_key][each.value.resource_group.key].name, null),
try(local.combined_objects_resource_groups[local.client_config.landingzone_key][each.value.resource_group.key].name, null),
try(each.value.resource_group.name, null)
)
remote_objects = {
managed_identities = local.combined_objects_managed_identities
private_dns = local.combined_objects_private_dns
vnets = local.combined_objects_networking
private_endpoints = try(each.value.private_endpoints, {})
resource_groups = try(each.value.private_endpoints, {}) == {} ? null : local.resource_groups
private_dns = local.combined_objects_private_dns
vnets = local.combined_objects_networking
private_endpoints = try(each.value.private_endpoints, {})
resource_groups = try(each.value.private_endpoints, {}) == {} ? null : local.resource_groups
}


}

output "data_factory" {
Expand All @@ -39,11 +40,13 @@ module "data_factory_pipeline" {
settings = each.value

resource_group_name = coalesce(
try(local.combined_objects_resource_groups[try(each.value.resource_group.lz_key, local.client_config.landingzone_key)][each.value.resource_group.key].name, null),
try(local.combined_objects_resource_groups[each.value.resource_group.lz_key][each.value.resource_group.key].name, null),
try(local.combined_objects_resource_groups[local.client_config.landingzone_key][each.value.resource_group.key].name, null),
try(each.value.resource_group.name, null)
)
data_factory_name = coalesce(
try(local.combined_objects_data_factory[try(each.value.data_factory.lz_key, local.client_config.landingzone_key)][each.value.data_factory.key].name, null),
try(local.combined_objects_data_factory[each.value.data_factory.lz_key][each.value.data_factory.key].name, null),
try(local.combined_objects_data_factory[local.client_config.landingzone_key][each.value.data_factory.key].name, null),
try(each.value.data_factory.name, null)
)
}
Expand Down
43 changes: 43 additions & 0 deletions database_migration_services.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
##### database_migration_services
module "database_migration_services" {
source = "./modules/databases/database_migration_service"

for_each = local.database.database_migration_services

client_config = local.client_config
location = lookup(each.value, "region", null) == null ? local.resource_groups[each.value.resource_group_key].location : local.global_settings.regions[each.value.region]
resource_group_name = local.resource_groups[each.value.resource_group_key].name
settings = each.value
global_settings = local.global_settings
base_tags = try(local.global_settings.inherit_tags, false) ? local.combined_objects_resource_groups[try(each.value.resource_group.lz_key, local.client_config.landingzone_key)][try(each.value.resource_group.key, each.value.resource_group_key)].tags : {}

remote_objects = {
vnets = local.combined_objects_networking
}
}

output "database_migration_services" {
value = module.database_migration_services
}

##### database_migration_projects
module "database_migration_projects" {
source = "./modules/databases/database_migration_project"

for_each = local.database.database_migration_projects

client_config = local.client_config
location = lookup(each.value, "region", null) == null ? local.resource_groups[each.value.resource_group_key].location : local.global_settings.regions[each.value.region]
resource_group_name = local.resource_groups[each.value.resource_group_key].name
database_migration_services = local.combined_objects_database_migration_services
settings = each.value
global_settings = local.global_settings
base_tags = try(local.global_settings.inherit_tags, false) ? local.combined_objects_resource_groups[try(each.value.resource_group.lz_key, local.client_config.landingzone_key)][try(each.value.resource_group.key, each.value.resource_group_key)].tags : {}
remote_objects = {
vnets = local.combined_objects_networking
}
}

output "database_migration_projects" {
value = module.database_migration_projects
}
68 changes: 68 additions & 0 deletions examples/database_migration_services/100-dms/configuration.tfvars
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
#
# Global settings
#
global_settings = {
default_region = "region1"
regions = {
region1 = "southeastasia"
}
}

#
# Resource groups to be created
#
resource_groups = {
dms = {
name = "database-migration-re1"
region = "region1"
}
}


vnets = {
vnet_region1 = {
resource_group_key = "dms"
vnet = {
name = "virtual_machines"
address_space = ["10.100.100.0/24"]
}
specialsubnets = {}
subnets = {
example = {
name = "examples"
cidr = ["10.100.100.0/29"]
}
}

}
}

database_migration_services = {
dmstest = {
name = "test-dms"
resource_group_key = "dms"
region = "region1"
sku_name = "Premium_4vCores"
subnet = {
vnet_key = "vnet_region1"
subnet_key = "example"
#lz_key
#subnet_id
}
}
}

database_migration_projects = {
project1 = {
name = "project1"
resource_group_key = "dms"
region = "region1"
service = {
key = "dmstest"
#name
#lz_key
}
source_platform = "SQL"
target_platform = "SQLDB"
}
}
55 changes: 55 additions & 0 deletions examples/database_migration_services/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Azure Database Migration Services and Projects

This module is part of Cloud Adoption Framework landing zones for Azure on Terraform.

For an overview of the service, please refer to [Azure documentation](https://azure.microsoft.com/en-us/services/database-migration/#overview)

## Example scenarios

The following examples are available:

| Scenario | Description |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
| [100-dms](./100-dms) | Simple example to create a database migration service and an associated projects. |

You can instantiate this directly using the following parameters:

```hcl
module "caf" {
source = "aztfmod/caf/azurerm"
version = "5.4.3"
#pass the required variables
}
```

## Run this example

You can run this example directly using Terraform or via rover:

### With Terraform

```bash
#Login to your Azure subscription
az login

#Run the example
cd /tf/caf/examples

terraform init

terraform [plan | apply | destroy] \
-var-file ../modules/databases/database_migration_service/examples/100-dms/configuration.tfvars
```

### With rover

To test this deployment in the example landingzone, make sure the launchpad has been deployed first, then run the following command:

```bash
rover \
-lz /tf/caf/examples \
-var-folder ../modules/databases/database_migration_service/examples/100-dms \
-level level1 \
-a [plan | apply | destroy]
```
Loading

0 comments on commit a4ca032

Please sign in to comment.