Skip to content

Add migration center resources#17414

Open
slevenick wants to merge 3 commits intoGoogleCloudPlatform:mainfrom
slevenick:migration-center-resources
Open

Add migration center resources#17414
slevenick wants to merge 3 commits intoGoogleCloudPlatform:mainfrom
slevenick:migration-center-resources

Conversation

@slevenick
Copy link
Copy Markdown
Contributor

Release Note Template for Downstream PRs (will be copied)

See Write release notes for guidance.


@modular-magician
Copy link
Copy Markdown
Collaborator

modular-magician commented May 4, 2026

Hi there, I'm the Modular magician. I've detected the following information about your changes for commit 92ae7dd:

Diff report

Your PR generated the following diffs in downstream repositories:

Repository Diff Link Changes
google provider View Diff 40 files changed, 29886 insertions(+)
google-beta provider View Diff 40 files changed, 29886 insertions(+)
terraform-google-conversion View Diff 9 files changed, 9346 insertions(+)
Open in Cloud Shell View Diff 32 files changed, 939 insertions(+)

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_migration_center_asset (0 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_migration_center_asset" "primary" {
  asset      = # value needed
  attributes = # value needed
  database_deployment_details {
    edition          = # value needed
    generated_id     = # value needed
    manual_unique_id = # value needed
    mysql {
      plugins {
        enabled = # value needed
        plugin  = # value needed
        version = # value needed
      }
      properties {
        enabled       = # value needed
        numeric_value = # value needed
        property      = # value needed
      }
      resource_groups_count = # value needed
      variables {
        category = # value needed
        value    = # value needed
        variable = # value needed
      }
    }
    postgresql {
      properties {
        enabled       = # value needed
        numeric_value = # value needed
        property      = # value needed
      }
      settings {
        bool_value   = # value needed
        int_value    = # value needed
        real_value   = # value needed
        setting      = # value needed
        source       = # value needed
        string_value = # value needed
        unit         = # value needed
      }
    }
    sql_server {
      features {
        enabled      = # value needed
        feature_name = # value needed
      }
      server_flags {
        server_flag_name = # value needed
        value            = # value needed
        value_in_use     = # value needed
      }
      trace_flags {
        scope           = # value needed
        trace_flag_name = # value needed
      }
    }
    topology {
      core_count           = # value needed
      core_limit           = # value needed
      disk_allocated_bytes = # value needed
      disk_used_bytes      = # value needed
      instances {
        instance_name = # value needed
        network {
          host_names          = # value needed
          ip_addresses        = # value needed
          primary_mac_address = # value needed
        }
        role = # value needed
      }
      memory_bytes        = # value needed
      memory_limit_bytes  = # value needed
      physical_core_count = # value needed
      physical_core_limit = # value needed
    }
    version = # value needed
  }
  database_details {
    allocated_storage_bytes = # value needed
    database_name           = # value needed
    parent_database_deployment {
      generated_id     = # value needed
      manual_unique_id = # value needed
    }
    schemas {
      mysql {
        storage_engines {
          encrypted_table_count = # value needed
          engine                = # value needed
          table_count           = # value needed
        }
      }
      objects {
        category = # value needed
        count    = # value needed
      }
      postgresql {
        foreign_tables_count = # value needed
        postgresql_extensions {
          extension = # value needed
          version   = # value needed
        }
      }
      schema_name = # value needed
      sql_server {
        clr_object_count = # value needed
      }
      tables_size_bytes = # value needed
    }
  }
  hidden      = # value needed
  hide_reason = # value needed
  insight_list {
    insights {
      migration_insight {
        compute_engine_target {
          shape {
            memory_mb           = # value needed
            physical_core_count = # value needed
            storage {
              type = # value needed
            }
          }
        }
      }
    }
  }
  labels   = # value needed
  location = # value needed
  machine_details {
    architecture {
      bios {
        bios_name    = # value needed
        id           = # value needed
        manufacturer = # value needed
        release_date {
          day   = # value needed
          month = # value needed
          year  = # value needed
        }
        smbios_uuid = # value needed
        version     = # value needed
      }
      cpu_architecture = # value needed
      cpu_manufacturer = # value needed
      cpu_name         = # value needed
      cpu_socket_count = # value needed
      cpu_thread_count = # value needed
      firmware_type    = # value needed
      hyperthreading   = # value needed
      vendor           = # value needed
    }
    core_count  = # value needed
    create_time = # value needed
    disk_partitions {
      partitions {
        entries {
          capacity_bytes = # value needed
          file_system    = # value needed
          free_bytes     = # value needed
          mount_point    = # value needed
          sub_partitions = # value needed
          type           = # value needed
          uuid           = # value needed
        }
      }
    }
    disks {
      disks {
        entries {
          capacity_bytes  = # value needed
          disk_label      = # value needed
          disk_label_type = # value needed
          free_bytes      = # value needed
          hw_address      = # value needed
          interface_type  = # value needed
          partitions {
            entries {
              capacity_bytes = # value needed
              file_system    = # value needed
              free_bytes     = # value needed
              mount_point    = # value needed
              sub_partitions = # value needed
              type           = # value needed
              uuid           = # value needed
            }
          }
          vmware {
            backing_type      = # value needed
            rdm_compatibility = # value needed
            shared            = # value needed
            vmdk_mode         = # value needed
          }
        }
      }
      total_capacity_bytes = # value needed
      total_free_bytes     = # value needed
    }
    guest_os {
      config {
        fstab {
          entries {
            file    = # value needed
            freq    = # value needed
            mntops  = # value needed
            passno  = # value needed
            spec    = # value needed
            vfstype = # value needed
          }
        }
        hosts {
          entries {
            host_names = # value needed
            ip         = # value needed
          }
        }
        issue = # value needed
        nfs_exports {
          entries {
            export_directory = # value needed
            hosts            = # value needed
          }
        }
        selinux_mode = # value needed
      }
      family  = # value needed
      os_name = # value needed
      runtime {
        domain = # value needed
        installed_apps {
          entries {
            application_name = # value needed
            install_time     = # value needed
            licenses         = # value needed
            path             = # value needed
            vendor           = # value needed
            version          = # value needed
          }
        }
        last_boot_time = # value needed
        machine_name   = # value needed
        network {
          connections {
            entries {
              local_ip_address  = # value needed
              local_port        = # value needed
              pid               = # value needed
              process_name      = # value needed
              protocol          = # value needed
              remote_ip_address = # value needed
              remote_port       = # value needed
              state             = # value needed
            }
          }
          scan_time = # value needed
        }
        open_file_list {
          entries {
            command   = # value needed
            file_path = # value needed
            file_type = # value needed
            user      = # value needed
          }
        }
        processes {
          entries {
            attributes = # value needed
            cmdline    = # value needed
            exe_path   = # value needed
            pid        = # value needed
            user       = # value needed
          }
        }
        services {
          entries {
            cmdline      = # value needed
            exe_path     = # value needed
            pid          = # value needed
            service_name = # value needed
            start_mode   = # value needed
            state        = # value needed
          }
        }
      }
      version = # value needed
    }
    machine_name = # value needed
    memory_mb    = # value needed
    network {
      adapters {
        entries {
          adapter_type = # value needed
          addresses {
            entries {
              assignment  = # value needed
              bcast       = # value needed
              fqdn        = # value needed
              ip_address  = # value needed
              subnet_mask = # value needed
            }
          }
          mac_address = # value needed
        }
      }
      default_gateway     = # value needed
      primary_ip_address  = # value needed
      primary_mac_address = # value needed
      public_ip_address   = # value needed
    }
    platform {
      aws_ec2_details {
        hyperthreading     = # value needed
        location           = # value needed
        machine_type_label = # value needed
      }
      azure_vm_details {
        hyperthreading     = # value needed
        location           = # value needed
        machine_type_label = # value needed
        provisioning_state = # value needed
      }
      generic_details {
        hyperthreading = # value needed
        location       = # value needed
      }
      physical_details {
        hyperthreading = # value needed
        location       = # value needed
      }
      vmware_details {
        esx_hyperthreading = # value needed
        esx_version        = # value needed
        osid               = # value needed
        vcenter_folder     = # value needed
        vcenter_uri        = # value needed
        vcenter_version    = # value needed
        vcenter_vm_id      = # value needed
      }
    }
    power_state = # value needed
    uuid        = # value needed
  }
  performance_data {
    daily_resource_usage_aggregations {
      cpu {
        utilization_percentage {
          average                 = # value needed
          median                  = # value needed
          nintey_fifth_percentile = # value needed
          peak                    = # value needed
        }
      }
      date {
        day   = # value needed
        month = # value needed
        year  = # value needed
      }
      disk {
        iops {
          average                 = # value needed
          median                  = # value needed
          nintey_fifth_percentile = # value needed
          peak                    = # value needed
        }
        read_iops {
          average                 = # value needed
          median                  = # value needed
          nintey_fifth_percentile = # value needed
          peak                    = # value needed
        }
        write_iops {
          average                 = # value needed
          median                  = # value needed
          nintey_fifth_percentile = # value needed
          peak                    = # value needed
        }
      }
      memory {
        utilization_percentage {
          average                 = # value needed
          median                  = # value needed
          nintey_fifth_percentile = # value needed
          peak                    = # value needed
        }
      }
      network {
        egress_bps {
          average                 = # value needed
          median                  = # value needed
          nintey_fifth_percentile = # value needed
          peak                    = # value needed
        }
        ingress_bps {
          average                 = # value needed
          median                  = # value needed
          nintey_fifth_percentile = # value needed
          peak                    = # value needed
        }
      }
    }
  }
}

Resource: google_migration_center_assets_export_job (1 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_migration_center_assets_export_job" "primary" {
  condition {
    filter = # value needed
  }
  recent_executions {
    result {
      error {
        code    = # value needed
        message = # value needed
      }
    }
  }
}

Resource: google_migration_center_discovery_client (1 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_migration_center_discovery_client" "primary" {
  errors {
    code    = # value needed
    message = # value needed
  }
  ttl = # value needed
}

Resource: google_migration_center_import_job (2 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_migration_center_import_job" "primary" {
  execution_report {
    execution_errors {
      file_validations {
        file_errors {
          error_details = # value needed
          severity      = # value needed
        }
        file_name      = # value needed
        partial_report = # value needed
        row_errors {
          archive_error {
            csv_error {
              row_number = # value needed
            }
          }
          csv_error {
            row_number = # value needed
          }
          errors {
            error_details = # value needed
            severity      = # value needed
          }
          row_number = # value needed
          vm_name    = # value needed
          vm_uuid    = # value needed
          xlsx_error {
            row_number = # value needed
            sheet      = # value needed
          }
        }
      }
      job_errors {
        error_details = # value needed
        severity      = # value needed
      }
    }
    frames_reported = # value needed
  }
  validation_report {
    file_validations {
      file_errors {
        error_details = # value needed
        severity      = # value needed
      }
      file_name      = # value needed
      partial_report = # value needed
      row_errors {
        archive_error {
          csv_error {
            row_number = # value needed
          }
        }
        csv_error {
          row_number = # value needed
        }
        errors {
          error_details = # value needed
          severity      = # value needed
        }
        row_number = # value needed
        vm_name    = # value needed
        vm_uuid    = # value needed
        xlsx_error {
          row_number = # value needed
          sheet      = # value needed
        }
      }
    }
    job_errors {
      error_details = # value needed
      severity      = # value needed
    }
  }
}

Resource: google_migration_center_report (1 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_migration_center_report" "primary" {
  summary {
    all_assets_stats {
      core_count_histogram {
        buckets {
          count       = # value needed
          lower_bound = # value needed
          upper_bound = # value needed
        }
      }
      memory_bytes_histogram {
        buckets {
          count       = # value needed
          lower_bound = # value needed
          upper_bound = # value needed
        }
      }
      memory_utilization_chart {
        free = # value needed
        used = # value needed
      }
      operating_system {
        data_points {
          label = # value needed
          value = # value needed
        }
      }
      software_instances {
        data_points {
          label = # value needed
          value = # value needed
        }
      }
      storage_bytes_histogram {
        buckets {
          count       = # value needed
          lower_bound = # value needed
          upper_bound = # value needed
        }
      }
      storage_utilization_chart {
        free = # value needed
        used = # value needed
      }
      total_assets        = # value needed
      total_cores         = # value needed
      total_memory_bytes  = # value needed
      total_storage_bytes = # value needed
    }
    group_findings {
      asset_aggregate_stats {
        core_count_histogram {
          buckets {
            count       = # value needed
            lower_bound = # value needed
            upper_bound = # value needed
          }
        }
        memory_bytes_histogram {
          buckets {
            count       = # value needed
            lower_bound = # value needed
            upper_bound = # value needed
          }
        }
        memory_utilization_chart {
          free = # value needed
          used = # value needed
        }
        operating_system {
          data_points {
            label = # value needed
            value = # value needed
          }
        }
        software_instances {
          data_points {
            label = # value needed
            value = # value needed
          }
        }
        storage_bytes_histogram {
          buckets {
            count       = # value needed
            lower_bound = # value needed
            upper_bound = # value needed
          }
        }
        storage_utilization_chart {
          free = # value needed
          used = # value needed
        }
        total_assets        = # value needed
        total_cores         = # value needed
        total_memory_bytes  = # value needed
        total_storage_bytes = # value needed
      }
      description             = # value needed
      display_name            = # value needed
      overlapping_asset_count = # value needed
      preference_set_findings {
        compute_engine_finding {
          allocated_asset_count = # value needed
          allocated_disk_types  = # value needed
          allocated_regions     = # value needed
          machine_series_allocations {
            allocated_asset_count = # value needed
            machine_series {
              code = # value needed
            }
          }
        }
        description  = # value needed
        display_name = # value needed
        machine_preferences {
          commitment_plan = # value needed
          compute_engine_preferences {
            license_type = # value needed
            machine_preferences {
              allowed_machine_series {
                code = # value needed
              }
            }
            persistent_disk_type = # value needed
          }
          region_preferences {
            preferred_regions = # value needed
          }
          sizing_optimization_strategy = # value needed
          sole_tenancy_preferences {
            commitment_plan         = # value needed
            cpu_overcommit_ratio    = # value needed
            host_maintenance_policy = # value needed
            node_types {
              node_name = # value needed
            }
          }
          target_product = # value needed
          vmware_engine_preferences {
            commitment_plan                         = # value needed
            cpu_overcommit_ratio                    = # value needed
            memory_overcommit_ratio                 = # value needed
            storage_deduplication_compression_ratio = # value needed
          }
        }
        monthly_cost_compute {
          currency_code = # value needed
          nanos         = # value needed
          units         = # value needed
        }
        monthly_cost_network_egress {
          currency_code = # value needed
          nanos         = # value needed
          units         = # value needed
        }
        monthly_cost_os_license {
          currency_code = # value needed
          nanos         = # value needed
          units         = # value needed
        }
        monthly_cost_other {
          currency_code = # value needed
          nanos         = # value needed
          units         = # value needed
        }
        monthly_cost_storage {
          currency_code = # value needed
          nanos         = # value needed
          units         = # value needed
        }
        monthly_cost_total {
          currency_code = # value needed
          nanos         = # value needed
          units         = # value needed
        }
        sole_tenant_finding {
          allocated_asset_count = # value needed
          allocated_regions     = # value needed
          node_allocations {
            allocated_asset_count = # value needed
            node {
              node_name = # value needed
            }
            node_count = # value needed
          }
        }
        vmware_engine_finding {
          allocated_asset_count = # value needed
          allocated_regions     = # value needed
          node_allocations {
            allocated_asset_count = # value needed
            node_count            = # value needed
            vmware_node {
              code = # value needed
            }
          }
        }
      }
    }
  }
}

Resource: google_migration_center_settings (1 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_migration_center_settings" "primary" {
  preference_set = # value needed
}

Multiple resources added

This PR adds multiple new resources: google_migration_center_asset, google_migration_center_assets_export_job, google_migration_center_discovery_client, google_migration_center_import_data_file, google_migration_center_import_job, google_migration_center_report, google_migration_center_report_config, google_migration_center_settings, google_migration_center_source. This makes review significantly more difficult. Please split it into multiple PRs, one per resource.
An override-multiple-resources label can be added to allow merging.

Test report

Analytics

Total Tests Passed Skipped Affected
14 6 0 8
Affected Service Packages
  • migrationcenter

Learn how VCR tests work


Step 1: Replaying Mode

Action taken

Found 8 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccMigrationCenterAssetsExportJob_migrationCenterAssetsExportJobBasicExample
  • TestAccMigrationCenterDiscoveryClient_migrationCenterDiscoveryClientBasicExample
  • TestAccMigrationCenterImportDataFile_migrationCenterImportDataFileBasicExample
  • TestAccMigrationCenterImportJob_migrationCenterImportJobBasicExample
  • TestAccMigrationCenterReportConfig_migrationCenterReportConfigBasicExample
  • TestAccMigrationCenterReport_migrationCenterReportBasicExample
  • TestAccMigrationCenterSettings_migrationCenterSettingsBasicExample
  • TestAccMigrationCenterSource_migrationCenterSourceBasicExample

View the build log


Step 2: Recording Mode

Test Name Recording Mode Replaying Rerun
TestAccMigrationCenterAssetsExportJob_migrationCenterAssetsExportJobBasicExample 🟢 Passed [Debug log] 🟢 Passed
TestAccMigrationCenterDiscoveryClient_migrationCenterDiscoveryClientBasicExample 🟢 Passed [Debug log] 🟢 Passed
TestAccMigrationCenterImportDataFile_migrationCenterImportDataFileBasicExample 🟢 Passed [Debug log] 🟢 Passed
TestAccMigrationCenterImportJob_migrationCenterImportJobBasicExample 🟢 Passed [Debug log] 🟢 Passed
TestAccMigrationCenterReportConfig_migrationCenterReportConfigBasicExample 🟢 Passed [Debug log] 🟢 Passed
TestAccMigrationCenterReport_migrationCenterReportBasicExample 🟢 Passed [Debug log] 🟢 Passed
TestAccMigrationCenterSettings_migrationCenterSettingsBasicExample 🟢 Passed [Debug log] 🟢 Passed
TestAccMigrationCenterSource_migrationCenterSourceBasicExample 🟢 Passed [Debug log] 🟢 Passed

🟢 All tests passed!

View the build log or the debug logs folder for detailed results.

@slevenick VCR tests complete for 92ae7dd!

@modular-magician
Copy link
Copy Markdown
Collaborator

modular-magician commented May 4, 2026

Hi there, I'm the Modular magician. I've detected the following information about your changes for commit ea21535:

Diff report

Your PR generated the following diffs in downstream repositories:

Repository Diff Link Changes
google provider View Diff 40 files changed, 28840 insertions(+)
google-beta provider View Diff 40 files changed, 28840 insertions(+)
terraform-google-conversion View Diff 9 files changed, 7046 insertions(+)
Open in Cloud Shell View Diff 32 files changed, 939 insertions(+)

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_migration_center_asset (0 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_migration_center_asset" "primary" {
  asset      = # value needed
  attributes = # value needed
  database_deployment_details {
    edition          = # value needed
    generated_id     = # value needed
    manual_unique_id = # value needed
    mysql {
      plugins {
        enabled = # value needed
        plugin  = # value needed
        version = # value needed
      }
      properties {
        enabled       = # value needed
        numeric_value = # value needed
        property      = # value needed
      }
      resource_groups_count = # value needed
      variables {
        category = # value needed
        value    = # value needed
        variable = # value needed
      }
    }
    postgresql {
      properties {
        enabled       = # value needed
        numeric_value = # value needed
        property      = # value needed
      }
      settings {
        bool_value   = # value needed
        int_value    = # value needed
        real_value   = # value needed
        setting      = # value needed
        source       = # value needed
        string_value = # value needed
        unit         = # value needed
      }
    }
    sql_server {
      features {
        enabled      = # value needed
        feature_name = # value needed
      }
      server_flags {
        server_flag_name = # value needed
        value            = # value needed
        value_in_use     = # value needed
      }
      trace_flags {
        scope           = # value needed
        trace_flag_name = # value needed
      }
    }
    topology {
      core_count           = # value needed
      core_limit           = # value needed
      disk_allocated_bytes = # value needed
      disk_used_bytes      = # value needed
      instances {
        instance_name = # value needed
        network {
          host_names          = # value needed
          ip_addresses        = # value needed
          primary_mac_address = # value needed
        }
        role = # value needed
      }
      memory_bytes        = # value needed
      memory_limit_bytes  = # value needed
      physical_core_count = # value needed
      physical_core_limit = # value needed
    }
    version = # value needed
  }
  database_details {
    allocated_storage_bytes = # value needed
    database_name           = # value needed
    parent_database_deployment {
      generated_id     = # value needed
      manual_unique_id = # value needed
    }
    schemas {
      mysql {
        storage_engines {
          encrypted_table_count = # value needed
          engine                = # value needed
          table_count           = # value needed
        }
      }
      objects {
        category = # value needed
        count    = # value needed
      }
      postgresql {
        foreign_tables_count = # value needed
        postgresql_extensions {
          extension = # value needed
          version   = # value needed
        }
      }
      schema_name = # value needed
      sql_server {
        clr_object_count = # value needed
      }
      tables_size_bytes = # value needed
    }
  }
  hidden      = # value needed
  hide_reason = # value needed
  insight_list {
    insights {
      migration_insight {
        compute_engine_target {
          shape {
            memory_mb           = # value needed
            physical_core_count = # value needed
            storage {
              type = # value needed
            }
          }
        }
      }
    }
  }
  labels   = # value needed
  location = # value needed
  machine_details {
    architecture {
      bios {
        bios_name    = # value needed
        id           = # value needed
        manufacturer = # value needed
        release_date {
          day   = # value needed
          month = # value needed
          year  = # value needed
        }
        smbios_uuid = # value needed
        version     = # value needed
      }
      cpu_architecture = # value needed
      cpu_manufacturer = # value needed
      cpu_name         = # value needed
      cpu_socket_count = # value needed
      cpu_thread_count = # value needed
      firmware_type    = # value needed
      hyperthreading   = # value needed
      vendor           = # value needed
    }
    core_count  = # value needed
    create_time = # value needed
    disk_partitions {
      partitions {
        entries {
          capacity_bytes = # value needed
          file_system    = # value needed
          free_bytes     = # value needed
          mount_point    = # value needed
          sub_partitions = # value needed
          type           = # value needed
          uuid           = # value needed
        }
      }
    }
    disks {
      disks {
        entries {
          capacity_bytes  = # value needed
          disk_label      = # value needed
          disk_label_type = # value needed
          free_bytes      = # value needed
          hw_address      = # value needed
          interface_type  = # value needed
          partitions {
            entries {
              capacity_bytes = # value needed
              file_system    = # value needed
              free_bytes     = # value needed
              mount_point    = # value needed
              sub_partitions = # value needed
              type           = # value needed
              uuid           = # value needed
            }
          }
          vmware {
            backing_type      = # value needed
            rdm_compatibility = # value needed
            shared            = # value needed
            vmdk_mode         = # value needed
          }
        }
      }
      total_capacity_bytes = # value needed
      total_free_bytes     = # value needed
    }
    guest_os {
      config {
        fstab {
          entries {
            file    = # value needed
            freq    = # value needed
            mntops  = # value needed
            passno  = # value needed
            spec    = # value needed
            vfstype = # value needed
          }
        }
        hosts {
          entries {
            host_names = # value needed
            ip         = # value needed
          }
        }
        issue = # value needed
        nfs_exports {
          entries {
            export_directory = # value needed
            hosts            = # value needed
          }
        }
        selinux_mode = # value needed
      }
      family  = # value needed
      os_name = # value needed
      runtime {
        domain = # value needed
        installed_apps {
          entries {
            application_name = # value needed
            install_time     = # value needed
            licenses         = # value needed
            path             = # value needed
            vendor           = # value needed
            version          = # value needed
          }
        }
        last_boot_time = # value needed
        machine_name   = # value needed
        network {
          connections {
            entries {
              local_ip_address  = # value needed
              local_port        = # value needed
              pid               = # value needed
              process_name      = # value needed
              protocol          = # value needed
              remote_ip_address = # value needed
              remote_port       = # value needed
              state             = # value needed
            }
          }
          scan_time = # value needed
        }
        open_file_list {
          entries {
            command   = # value needed
            file_path = # value needed
            file_type = # value needed
            user      = # value needed
          }
        }
        processes {
          entries {
            attributes = # value needed
            cmdline    = # value needed
            exe_path   = # value needed
            pid        = # value needed
            user       = # value needed
          }
        }
        services {
          entries {
            cmdline      = # value needed
            exe_path     = # value needed
            pid          = # value needed
            service_name = # value needed
            start_mode   = # value needed
            state        = # value needed
          }
        }
      }
      version = # value needed
    }
    machine_name = # value needed
    memory_mb    = # value needed
    network {
      adapters {
        entries {
          adapter_type = # value needed
          addresses {
            entries {
              assignment  = # value needed
              bcast       = # value needed
              fqdn        = # value needed
              ip_address  = # value needed
              subnet_mask = # value needed
            }
          }
          mac_address = # value needed
        }
      }
      default_gateway     = # value needed
      primary_ip_address  = # value needed
      primary_mac_address = # value needed
      public_ip_address   = # value needed
    }
    platform {
      aws_ec2_details {
        hyperthreading     = # value needed
        location           = # value needed
        machine_type_label = # value needed
      }
      azure_vm_details {
        hyperthreading     = # value needed
        location           = # value needed
        machine_type_label = # value needed
        provisioning_state = # value needed
      }
      generic_details {
        hyperthreading = # value needed
        location       = # value needed
      }
      physical_details {
        hyperthreading = # value needed
        location       = # value needed
      }
      vmware_details {
        esx_hyperthreading = # value needed
        esx_version        = # value needed
        osid               = # value needed
        vcenter_folder     = # value needed
        vcenter_uri        = # value needed
        vcenter_version    = # value needed
        vcenter_vm_id      = # value needed
      }
    }
    power_state = # value needed
    uuid        = # value needed
  }
  performance_data {
    daily_resource_usage_aggregations {
      cpu {
        utilization_percentage {
          average                 = # value needed
          median                  = # value needed
          nintey_fifth_percentile = # value needed
          peak                    = # value needed
        }
      }
      date {
        day   = # value needed
        month = # value needed
        year  = # value needed
      }
      disk {
        iops {
          average                 = # value needed
          median                  = # value needed
          nintey_fifth_percentile = # value needed
          peak                    = # value needed
        }
        read_iops {
          average                 = # value needed
          median                  = # value needed
          nintey_fifth_percentile = # value needed
          peak                    = # value needed
        }
        write_iops {
          average                 = # value needed
          median                  = # value needed
          nintey_fifth_percentile = # value needed
          peak                    = # value needed
        }
      }
      memory {
        utilization_percentage {
          average                 = # value needed
          median                  = # value needed
          nintey_fifth_percentile = # value needed
          peak                    = # value needed
        }
      }
      network {
        egress_bps {
          average                 = # value needed
          median                  = # value needed
          nintey_fifth_percentile = # value needed
          peak                    = # value needed
        }
        ingress_bps {
          average                 = # value needed
          median                  = # value needed
          nintey_fifth_percentile = # value needed
          peak                    = # value needed
        }
      }
    }
  }
}

Resource: google_migration_center_assets_export_job (1 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_migration_center_assets_export_job" "primary" {
  condition {
    filter = # value needed
  }
  recent_executions {
    result {
      error {
        code    = # value needed
        message = # value needed
      }
    }
  }
}

Resource: google_migration_center_discovery_client (1 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_migration_center_discovery_client" "primary" {
  errors {
    code    = # value needed
    message = # value needed
  }
  ttl = # value needed
}

Resource: google_migration_center_import_job (2 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_migration_center_import_job" "primary" {
  execution_report {
    execution_errors {
      file_validations {
        file_errors {
          error_details = # value needed
          severity      = # value needed
        }
        file_name      = # value needed
        partial_report = # value needed
        row_errors {
          archive_error {
            csv_error {
              row_number = # value needed
            }
          }
          csv_error {
            row_number = # value needed
          }
          errors {
            error_details = # value needed
            severity      = # value needed
          }
          row_number = # value needed
          vm_name    = # value needed
          vm_uuid    = # value needed
          xlsx_error {
            row_number = # value needed
            sheet      = # value needed
          }
        }
      }
      job_errors {
        error_details = # value needed
        severity      = # value needed
      }
    }
    frames_reported = # value needed
  }
  validation_report {
    file_validations {
      file_errors {
        error_details = # value needed
        severity      = # value needed
      }
      file_name      = # value needed
      partial_report = # value needed
      row_errors {
        archive_error {
          csv_error {
            row_number = # value needed
          }
        }
        csv_error {
          row_number = # value needed
        }
        errors {
          error_details = # value needed
          severity      = # value needed
        }
        row_number = # value needed
        vm_name    = # value needed
        vm_uuid    = # value needed
        xlsx_error {
          row_number = # value needed
          sheet      = # value needed
        }
      }
    }
    job_errors {
      error_details = # value needed
      severity      = # value needed
    }
  }
}

Resource: google_migration_center_report (1 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_migration_center_report" "primary" {
  summary {
    all_assets_stats {
      core_count_histogram {
        buckets {
          count       = # value needed
          lower_bound = # value needed
          upper_bound = # value needed
        }
      }
      memory_bytes_histogram {
        buckets {
          count       = # value needed
          lower_bound = # value needed
          upper_bound = # value needed
        }
      }
      memory_utilization_chart {
        free = # value needed
        used = # value needed
      }
      operating_system {
        data_points {
          label = # value needed
          value = # value needed
        }
      }
      software_instances {
        data_points {
          label = # value needed
          value = # value needed
        }
      }
      storage_bytes_histogram {
        buckets {
          count       = # value needed
          lower_bound = # value needed
          upper_bound = # value needed
        }
      }
      storage_utilization_chart {
        free = # value needed
        used = # value needed
      }
      total_assets        = # value needed
      total_cores         = # value needed
      total_memory_bytes  = # value needed
      total_storage_bytes = # value needed
    }
    group_findings {
      asset_aggregate_stats {
        core_count_histogram {
          buckets {
            count       = # value needed
            lower_bound = # value needed
            upper_bound = # value needed
          }
        }
        memory_bytes_histogram {
          buckets {
            count       = # value needed
            lower_bound = # value needed
            upper_bound = # value needed
          }
        }
        memory_utilization_chart {
          free = # value needed
          used = # value needed
        }
        operating_system {
          data_points {
            label = # value needed
            value = # value needed
          }
        }
        software_instances {
          data_points {
            label = # value needed
            value = # value needed
          }
        }
        storage_bytes_histogram {
          buckets {
            count       = # value needed
            lower_bound = # value needed
            upper_bound = # value needed
          }
        }
        storage_utilization_chart {
          free = # value needed
          used = # value needed
        }
        total_assets        = # value needed
        total_cores         = # value needed
        total_memory_bytes  = # value needed
        total_storage_bytes = # value needed
      }
      description             = # value needed
      display_name            = # value needed
      overlapping_asset_count = # value needed
      preference_set_findings {
        compute_engine_finding {
          allocated_asset_count = # value needed
          allocated_disk_types  = # value needed
          allocated_regions     = # value needed
          machine_series_allocations {
            allocated_asset_count = # value needed
            machine_series {
              code = # value needed
            }
          }
        }
        description  = # value needed
        display_name = # value needed
        machine_preferences {
          commitment_plan = # value needed
          compute_engine_preferences {
            license_type = # value needed
            machine_preferences {
              allowed_machine_series {
                code = # value needed
              }
            }
            persistent_disk_type = # value needed
          }
          region_preferences {
            preferred_regions = # value needed
          }
          sizing_optimization_strategy = # value needed
          sole_tenancy_preferences {
            commitment_plan         = # value needed
            cpu_overcommit_ratio    = # value needed
            host_maintenance_policy = # value needed
            node_types {
              node_name = # value needed
            }
          }
          target_product = # value needed
          vmware_engine_preferences {
            commitment_plan                         = # value needed
            cpu_overcommit_ratio                    = # value needed
            memory_overcommit_ratio                 = # value needed
            storage_deduplication_compression_ratio = # value needed
          }
        }
        monthly_cost_compute {
          currency_code = # value needed
          nanos         = # value needed
          units         = # value needed
        }
        monthly_cost_network_egress {
          currency_code = # value needed
          nanos         = # value needed
          units         = # value needed
        }
        monthly_cost_os_license {
          currency_code = # value needed
          nanos         = # value needed
          units         = # value needed
        }
        monthly_cost_other {
          currency_code = # value needed
          nanos         = # value needed
          units         = # value needed
        }
        monthly_cost_storage {
          currency_code = # value needed
          nanos         = # value needed
          units         = # value needed
        }
        monthly_cost_total {
          currency_code = # value needed
          nanos         = # value needed
          units         = # value needed
        }
        sole_tenant_finding {
          allocated_asset_count = # value needed
          allocated_regions     = # value needed
          node_allocations {
            allocated_asset_count = # value needed
            node {
              node_name = # value needed
            }
            node_count = # value needed
          }
        }
        vmware_engine_finding {
          allocated_asset_count = # value needed
          allocated_regions     = # value needed
          node_allocations {
            allocated_asset_count = # value needed
            node_count            = # value needed
            vmware_node {
              code = # value needed
            }
          }
        }
      }
    }
  }
}

Resource: google_migration_center_settings (1 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_migration_center_settings" "primary" {
  preference_set = # value needed
}

Multiple resources added

This PR adds multiple new resources: google_migration_center_asset, google_migration_center_assets_export_job, google_migration_center_discovery_client, google_migration_center_import_data_file, google_migration_center_import_job, google_migration_center_report, google_migration_center_report_config, google_migration_center_settings, google_migration_center_source. This makes review significantly more difficult. Please split it into multiple PRs, one per resource.
An override-multiple-resources label can be added to allow merging.

Test report

Analytics

Total Tests Passed Skipped Affected
14 14 0 0
Affected Service Packages
  • migrationcenter

Learn how VCR tests work


Step 1: Replaying Mode

🟢 All tests passed in Replaying mode! No Recording was needed.

View the build log

@slevenick VCR tests complete for ea21535!

@modular-magician
Copy link
Copy Markdown
Collaborator

modular-magician commented May 6, 2026

Hi there, I'm the Modular magician. I've detected the following information about your changes for commit 1595eb0:

Diff report

Your PR generated the following diffs in downstream repositories:

Repository Diff Link Changes
google provider View Diff 39 files changed, 16103 insertions(+), 1 deletion(-)
google-beta provider View Diff 39 files changed, 16103 insertions(+), 1 deletion(-)
terraform-google-conversion View Diff 8 files changed, 2229 insertions(+)
Open in Cloud Shell View Diff 32 files changed, 939 insertions(+)

Missing test report

Your PR includes resource fields which are not covered by any test.

Resource: google_migration_center_assets_export_job (1 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_migration_center_assets_export_job" "primary" {
  condition {
    filter = # value needed
  }
  recent_executions {
    result {
      error {
        code    = # value needed
        message = # value needed
      }
    }
  }
}

Resource: google_migration_center_discovery_client (1 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_migration_center_discovery_client" "primary" {
  errors {
    code    = # value needed
    message = # value needed
  }
  ttl = # value needed
}

Resource: google_migration_center_import_job (2 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_migration_center_import_job" "primary" {
  execution_report {
    execution_errors {
      file_validations {
        file_errors {
          error_details = # value needed
          severity      = # value needed
        }
        file_name      = # value needed
        partial_report = # value needed
        row_errors {
          archive_error {
            csv_error {
              row_number = # value needed
            }
          }
          csv_error {
            row_number = # value needed
          }
          errors {
            error_details = # value needed
            severity      = # value needed
          }
          row_number = # value needed
          vm_name    = # value needed
          vm_uuid    = # value needed
          xlsx_error {
            row_number = # value needed
            sheet      = # value needed
          }
        }
      }
      job_errors {
        error_details = # value needed
        severity      = # value needed
      }
    }
    frames_reported = # value needed
  }
  validation_report {
    file_validations {
      file_errors {
        error_details = # value needed
        severity      = # value needed
      }
      file_name      = # value needed
      partial_report = # value needed
      row_errors {
        archive_error {
          csv_error {
            row_number = # value needed
          }
        }
        csv_error {
          row_number = # value needed
        }
        errors {
          error_details = # value needed
          severity      = # value needed
        }
        row_number = # value needed
        vm_name    = # value needed
        vm_uuid    = # value needed
        xlsx_error {
          row_number = # value needed
          sheet      = # value needed
        }
      }
    }
    job_errors {
      error_details = # value needed
      severity      = # value needed
    }
  }
}

Resource: google_migration_center_report (1 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_migration_center_report" "primary" {
  summary {
    all_assets_stats {
      core_count_histogram {
        buckets {
          count       = # value needed
          lower_bound = # value needed
          upper_bound = # value needed
        }
      }
      memory_bytes_histogram {
        buckets {
          count       = # value needed
          lower_bound = # value needed
          upper_bound = # value needed
        }
      }
      memory_utilization_chart {
        free = # value needed
        used = # value needed
      }
      operating_system {
        data_points {
          label = # value needed
          value = # value needed
        }
      }
      software_instances {
        data_points {
          label = # value needed
          value = # value needed
        }
      }
      storage_bytes_histogram {
        buckets {
          count       = # value needed
          lower_bound = # value needed
          upper_bound = # value needed
        }
      }
      storage_utilization_chart {
        free = # value needed
        used = # value needed
      }
      total_assets        = # value needed
      total_cores         = # value needed
      total_memory_bytes  = # value needed
      total_storage_bytes = # value needed
    }
    group_findings {
      asset_aggregate_stats {
        core_count_histogram {
          buckets {
            count       = # value needed
            lower_bound = # value needed
            upper_bound = # value needed
          }
        }
        memory_bytes_histogram {
          buckets {
            count       = # value needed
            lower_bound = # value needed
            upper_bound = # value needed
          }
        }
        memory_utilization_chart {
          free = # value needed
          used = # value needed
        }
        operating_system {
          data_points {
            label = # value needed
            value = # value needed
          }
        }
        software_instances {
          data_points {
            label = # value needed
            value = # value needed
          }
        }
        storage_bytes_histogram {
          buckets {
            count       = # value needed
            lower_bound = # value needed
            upper_bound = # value needed
          }
        }
        storage_utilization_chart {
          free = # value needed
          used = # value needed
        }
        total_assets        = # value needed
        total_cores         = # value needed
        total_memory_bytes  = # value needed
        total_storage_bytes = # value needed
      }
      description             = # value needed
      display_name            = # value needed
      overlapping_asset_count = # value needed
      preference_set_findings {
        compute_engine_finding {
          allocated_asset_count = # value needed
          allocated_disk_types  = # value needed
          allocated_regions     = # value needed
          machine_series_allocations {
            allocated_asset_count = # value needed
            machine_series {
              code = # value needed
            }
          }
        }
        description  = # value needed
        display_name = # value needed
        machine_preferences {
          commitment_plan = # value needed
          compute_engine_preferences {
            license_type = # value needed
            machine_preferences {
              allowed_machine_series {
                code = # value needed
              }
            }
            persistent_disk_type = # value needed
          }
          region_preferences {
            preferred_regions = # value needed
          }
          sizing_optimization_strategy = # value needed
          sole_tenancy_preferences {
            commitment_plan         = # value needed
            cpu_overcommit_ratio    = # value needed
            host_maintenance_policy = # value needed
            node_types {
              node_name = # value needed
            }
          }
          target_product = # value needed
          vmware_engine_preferences {
            commitment_plan                         = # value needed
            cpu_overcommit_ratio                    = # value needed
            memory_overcommit_ratio                 = # value needed
            storage_deduplication_compression_ratio = # value needed
          }
        }
        monthly_cost_compute {
          currency_code = # value needed
          nanos         = # value needed
          units         = # value needed
        }
        monthly_cost_network_egress {
          currency_code = # value needed
          nanos         = # value needed
          units         = # value needed
        }
        monthly_cost_os_license {
          currency_code = # value needed
          nanos         = # value needed
          units         = # value needed
        }
        monthly_cost_other {
          currency_code = # value needed
          nanos         = # value needed
          units         = # value needed
        }
        monthly_cost_storage {
          currency_code = # value needed
          nanos         = # value needed
          units         = # value needed
        }
        monthly_cost_total {
          currency_code = # value needed
          nanos         = # value needed
          units         = # value needed
        }
        sole_tenant_finding {
          allocated_asset_count = # value needed
          allocated_regions     = # value needed
          node_allocations {
            allocated_asset_count = # value needed
            node {
              node_name = # value needed
            }
            node_count = # value needed
          }
        }
        vmware_engine_finding {
          allocated_asset_count = # value needed
          allocated_regions     = # value needed
          node_allocations {
            allocated_asset_count = # value needed
            node_count            = # value needed
            vmware_node {
              code = # value needed
            }
          }
        }
      }
    }
  }
}

Resource: google_migration_center_settings (1 total tests)
Please add an acceptance test which includes these fields. The test should include the following:

resource "google_migration_center_settings" "primary" {
  preference_set = # value needed
}

Multiple resources added

This PR adds multiple new resources: google_migration_center_assets_export_job, google_migration_center_discovery_client, google_migration_center_import_data_file, google_migration_center_import_job, google_migration_center_report, google_migration_center_report_config, google_migration_center_settings, google_migration_center_source. This makes review significantly more difficult. Please split it into multiple PRs, one per resource.
An override-multiple-resources label can be added to allow merging.

Test report

Analytics

Total Tests Passed Skipped Affected
15 13 0 2
Affected Service Packages
  • migrationcenter

Learn how VCR tests work


Step 1: Replaying Mode

Action taken

Found 2 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
  • TestAccMigrationCenterPreferenceSet_preferenceSetUpdate
  • TestAccMigrationCenterSource_migrationSourceUpdate

View the build log


Step 2: Recording Mode

Recording Mode Replaying Rerun Test Name
✅ Log TestAccMigrationCenterPreferenceSet_preferenceSetUpdate
✅ Log TestAccMigrationCenterSource_migrationSourceUpdate

🟢 All tests passed!

View the build log or the debug logs folder for detailed results.

@slevenick VCR tests complete for 1595eb0!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants