cloud-foundation-fabric/blueprints/cloud-operations/vm-migration/single-project
Ludovico Magnocavallo 819894d2ba
IAM interface refactor (#1595)
* IAM modules refactor proposal

* policy

* subheading

* Update 20230816-iam-refactor.md

* log Julio's +1

* data-catalog-policy-tag

* dataproc

* dataproc

* folder

* folder

* folder

* folder

* project

* better filtering in test examples

* project

* folder

* folder

* organization

* fix variable descriptions

* kms

* net-vpc

* dataplex-datascan

* modules/iam-service-account

* modules/source-repository/

* blueprints/cloud-operations/vm-migration/

* blueprints/third-party-solutions/wordpress

* dataplex-datascan

* blueprints/cloud-operations/workload-identity-federation

* blueprints/data-solutions/cloudsql-multiregion/

* blueprints/data-solutions/composer-2

* Update 20230816-iam-refactor.md

* Update 20230816-iam-refactor.md

* capture discussion in architectural doc

* update variable names and refactor proposal

* project

* blueprints first round

* folder

* organization

* data-catalog-policy-tag

* re-enable folder inventory

* project module style fix

* dataproc

* source-repository

* source-repository tests

* dataplex-datascan

* dataplex-datascan tests

* net-vpc

* net-vpc test examples

* iam-service-account

* iam-service-account test examples

* kms

* boilerplate

* tfdoc

* fix module tests

* more blueprint fixes

* fix typo in data blueprints

* incomplete refactor of data platform foundations

* tfdoc

* data platform foundation

* refactor data platform foundation iam locals

* remove redundant example test

* shielded folder fix

* fix typo

* project factory

* project factory outputs

* tfdoc

* test workflow: less verbose tests, fix tf version

* re-enable -vv, shorter traceback, fix action version

* ignore github extension warning, re-enable action version

* fast bootstrap IAM, untested

* bootstrap stage IAM fixes

* stage 0 tests

* fast stage 1

* tenant stage 1

* minor changes to fast stage 0 and 1

* fast security stage

* fast mt stage 0

* fast mt stage 0

* fast pf
2023-08-20 09:44:20 +02:00
..
README.md IAM interface refactor (#1595) 2023-08-20 09:44:20 +02:00
backend.tf.sample Rename examples folder to blueprints 2022-09-09 16:38:43 +02:00
diagram.png Rename examples folder to blueprints 2022-09-09 16:38:43 +02:00
main.tf IAM interface refactor (#1595) 2023-08-20 09:44:20 +02:00
outputs.tf Enforce nonempty descriptions ending in a colon 2022-11-24 18:56:01 +01:00
variables.tf IAM interface refactor (#1595) 2023-08-20 09:44:20 +02:00

README.md

M4CE(v5) - Single Project

This blueprint creates a simple M4CE (v5) environment deployed on a single host project.

The blueprint is designed for quick tests or product demos where it is required to setup a simple and minimal M4CE (v5) environment. 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 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_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 an target project. string "m4ce-host-project-000"
vpc_config Parameters to create a simple VPC on the M4CE project. object({…}) {…}

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/single-project"
  project_create = {
    billing_account_id = "1234-ABCD-1234"
    parent             = "folders/1234563"
  }
  migration_admin  = "user:admin@example.com"
  migration_viewer = "user:viewer@example.com"
}
# tftest modules=5 resources=22