cloud-foundation-fabric/blueprints/cloud-operations/vm-migration/host-target-projects
Simone Ruffilli 6d89b88149
versions.tf maintenance + copyright notice bump (#1782)
* Bump copyright notice to 2023

* Delete versions.tf on blueprints

* Pin provider to major version 5

* Remove comment

* Fix lint

* fix bq-ml blueprint readme

---------

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
Co-authored-by: Julio Castillo <jccb@google.com>
2023-10-20 18:17:47 +02:00
..
README.md IAM interface refactor (#1595) 2023-08-20 09:44:20 +02:00
backend.tf.sample versions.tf maintenance + copyright notice bump (#1782) 2023-10-20 18:17:47 +02:00
diagram.png Rename examples folder to blueprints 2022-09-09 16:38:43 +02:00
main.tf versions.tf maintenance + copyright notice bump (#1782) 2023-10-20 18:17:47 +02:00
outputs.tf versions.tf maintenance + copyright notice bump (#1782) 2023-10-20 18:17:47 +02:00
variables.tf versions.tf maintenance + copyright notice bump (#1782) 2023-10-20 18:17:47 +02:00

README.md

M4CE(v5) - Host and Target Projects

This blueprint creates a Migrate for Compute Engine (v5) environment deployed on an host project with multiple target projects.

The blueprint is designed to implement a M4CE (v5) environment on-top of complex migration landing environments where VMs have to be migrated to multiple target projects. It also includes the IAM wiring needed to make such scenarios work.

This is the high level diagram:

High-level diagram

Managed resources and services

This sample creates\updates several distinct groups of resources:

Variables

name description type required default
migration_admin User or group who can create a new M4CE sources and perform all other migration operations, in IAM format (group:foo@example.com). string
migration_target_projects List of target projects for m4ce workload migrations. list(string)
migration_viewer User or group authorized to retrieve information about M4CE in the Google Cloud Console, in IAM format (group:foo@example.com). string null
project_create Parameters for the creation of the new project to host the M4CE backend. object({…}) null
project_name Name of an existing project or of the new project assigned as M4CE host project. string "m4ce-host-project-000"

Outputs

name description sensitive
m4ce_gmanaged_service_account Google managed service account created automatically during the migrate connector registration.. It is used by M4CE to perform activities on target projects.

Test

module "test" {
  source = "./fabric/blueprints/cloud-operations/vm-migration/host-target-projects"
  project_create = {
    billing_account_id = "1234-ABCD-1234"
    parent             = "folders/1234563"
  }
  migration_admin           = "user:admin@example.com"
  migration_viewer          = "user:viewer@example.com"
  migration_target_projects = [module.test-target-project.name]
  depends_on = [
    module.test-target-project
  ]
}

module "test-target-project" {
  source          = "./fabric/modules/project"
  billing_account = "1234-ABCD-1234"
  name            = "test-target-project"
  project_create  = true
}

# tftest modules=5 resources=24