Skip to content

Commit 89a2956

Browse files
feat: [migrationcenter] added GenericInsight which exposes generic insights on assets (#4670)
* feat: added GenericInsight which exposes generic insights on assets feat: added ComputeStorageDescriptor for Compute Engine migration insights feat: added new target-related options to VirtualMachinePreferences fix: deprecated the bios_name, total_rows_count and overlapping_asset_count fields docs: updated performance_samples docs PiperOrigin-RevId: 566201137 Source-Link: googleapis/googleapis@ba00ffd Source-Link: googleapis/googleapis-gen@0c9f327 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLW1pZ3JhdGlvbmNlbnRlci8uT3dsQm90LnlhbWwiLCJoIjoiMGM5ZjMyNzMzNmE4ZmRhN2VlZWIwMTlhODExZGM1MzQwMzAwMzcyMCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
1 parent 4e7f9ef commit 89a2956

4 files changed

Lines changed: 11127 additions & 6402 deletions

File tree

packages/google-cloud-migrationcenter/protos/google/cloud/migrationcenter/v1/migrationcenter.proto

Lines changed: 254 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2382,6 +2382,7 @@ message AssetFrame {
23822382
map<string, string> attributes = 12;
23832383

23842384
// Asset performance data samples.
2385+
// Samples that are from more than 40 days ago or after tomorrow are ignored.
23852386
repeated PerformanceSample performance_samples = 13;
23862387

23872388
// Optional. Trace token is optionally provided to assist with debugging and
@@ -2505,7 +2506,8 @@ message MachineArchitectureDetails {
25052506
// Details about the BIOS.
25062507
message BiosDetails {
25072508
// BIOS name.
2508-
string bios_name = 1;
2509+
// This fields is deprecated. Please use the `id` field instead.
2510+
string bios_name = 1 [deprecated = true];
25092511

25102512
// BIOS ID.
25112513
string id = 2;
@@ -3212,6 +3214,7 @@ message DiskUsageSample {
32123214
// Performance data sample.
32133215
message PerformanceSample {
32143216
// Time the sample was collected.
3217+
// If omitted, the frame report time will be used.
32153218
google.protobuf.Timestamp sample_time = 1;
32163219

32173220
// Memory usage sample.
@@ -3311,9 +3314,31 @@ message Insight {
33113314
// Output only. An insight about potential migrations for an asset.
33123315
MigrationInsight migration_insight = 1
33133316
[(google.api.field_behavior) = OUTPUT_ONLY];
3317+
3318+
// Output only. A generic insight about an asset
3319+
GenericInsight generic_insight = 2
3320+
[(google.api.field_behavior) = OUTPUT_ONLY];
33143321
}
33153322
}
33163323

3324+
// A generic insight about an asset.
3325+
message GenericInsight {
3326+
// Output only. Represents a globally unique message id for
3327+
// this insight, can be used for localization purposes, in case message_code
3328+
// is not yet known by the client use default_message instead.
3329+
int64 message_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
3330+
3331+
// Output only. In case message_code is not yet known by the client
3332+
// default_message will be the message to be used instead.
3333+
string default_message = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
3334+
3335+
// Output only. Additional information about the insight, each entry can be a
3336+
// logical entry and must make sense if it is displayed with line breaks
3337+
// between each entry. Text can contain md style links.
3338+
repeated string additional_information = 3
3339+
[(google.api.field_behavior) = OUTPUT_ONLY];
3340+
}
3341+
33173342
// An insight about potential migrations for an asset.
33183343
message MigrationInsight {
33193344
// Output only. Description of how well the asset this insight is associated
@@ -3334,6 +3359,36 @@ message ComputeEngineMigrationTarget {
33343359
ComputeEngineShapeDescriptor shape = 1;
33353360
}
33363361

3362+
// Compute Engine target shape descriptor.
3363+
message ComputeEngineShapeDescriptor {
3364+
// Memory in mebibytes.
3365+
int32 memory_mb = 1;
3366+
3367+
// Number of physical cores.
3368+
int32 physical_core_count = 2;
3369+
3370+
// Number of logical cores.
3371+
int32 logical_core_count = 3;
3372+
3373+
// Compute Engine machine series.
3374+
string series = 4;
3375+
3376+
// Compute Engine machine type.
3377+
string machine_type = 5;
3378+
3379+
// Compute Engine storage. Never empty.
3380+
repeated ComputeStorageDescriptor storage = 6;
3381+
}
3382+
3383+
// Compute Engine storage option descriptor.
3384+
message ComputeStorageDescriptor {
3385+
// Disk type backing the storage.
3386+
PersistentDiskType type = 1;
3387+
3388+
// Disk size in GiB.
3389+
int32 size_gb = 2;
3390+
}
3391+
33373392
// Describes the fit level of an asset for migration to a specific target.
33383393
message FitDescriptor {
33393394
// Fit level.
@@ -3355,24 +3410,6 @@ message FitDescriptor {
33553410
FitLevel fit_level = 1;
33563411
}
33573412

3358-
// Compute Engine target shape descriptor.
3359-
message ComputeEngineShapeDescriptor {
3360-
// Memory in mebibytes.
3361-
int32 memory_mb = 1;
3362-
3363-
// Number of physical cores.
3364-
int32 physical_core_count = 2;
3365-
3366-
// Number of logical cores.
3367-
int32 logical_core_count = 3;
3368-
3369-
// Compute Engine machine series.
3370-
string series = 4;
3371-
3372-
// Compute Engine machine type.
3373-
string machine_type = 5;
3374-
}
3375-
33763413
// Message describing an aggregation. The message includes the aggregation type,
33773414
// parameters, and the field on which to perform the aggregation.
33783415
message Aggregation {
@@ -3505,8 +3542,8 @@ message ExecutionReport {
35053542
// Validation errors encountered during the execution of the import job.
35063543
ValidationReport execution_errors = 2;
35073544

3508-
// Total number of rows in the import job.
3509-
int32 total_rows_count = 3;
3545+
// Output only. Total number of rows in the import job.
3546+
int32 total_rows_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
35103547
}
35113548

35123549
// A resource that reports the errors encountered while processing an
@@ -3584,6 +3621,11 @@ message FrameViolationEntry {
35843621
// machines. The set of preferences influence recommendations for migrating
35853622
// virtual machine assets.
35863623
message VirtualMachinePreferences {
3624+
// Target product for assets using this preference set.
3625+
// Specify either target product or business goal, but
3626+
// not both.
3627+
ComputeMigrationTargetProduct target_product = 2;
3628+
35873629
// Region preferences for assets using this preference set.
35883630
// If you are unsure which value to set, the migration service API region is
35893631
// often a good value to start with.
@@ -3605,6 +3647,13 @@ message VirtualMachinePreferences {
36053647
// Compute Engine preferences concern insights and recommendations for Compute
36063648
// Engine target.
36073649
ComputeEnginePreferences compute_engine_preferences = 6;
3650+
3651+
// Preferences concerning insights and recommendations for
3652+
// Google Cloud VMware Engine.
3653+
VmwareEnginePreferences vmware_engine_preferences = 7;
3654+
3655+
// Preferences concerning Sole Tenant nodes and virtual machines.
3656+
SoleTenancyPreferences sole_tenancy_preferences = 8;
36083657
}
36093658

36103659
// The user preferences relating to Compute Engine target platform.
@@ -3635,6 +3684,111 @@ message MachineSeries {
36353684
string code = 1;
36363685
}
36373686

3687+
// The user preferences relating to Google Cloud VMware Engine target platform.
3688+
message VmwareEnginePreferences {
3689+
// Type of committed use discount.
3690+
enum CommitmentPlan {
3691+
// Unspecified commitment plan.
3692+
COMMITMENT_PLAN_UNSPECIFIED = 0;
3693+
3694+
// No commitment plan (on-demand usage).
3695+
ON_DEMAND = 1;
3696+
3697+
// 1 year commitment (monthly payments).
3698+
COMMITMENT_1_YEAR_MONTHLY_PAYMENTS = 2;
3699+
3700+
// 3 year commitment (monthly payments).
3701+
COMMITMENT_3_YEAR_MONTHLY_PAYMENTS = 3;
3702+
3703+
// 1 year commitment (upfront payment).
3704+
COMMITMENT_1_YEAR_UPFRONT_PAYMENT = 4;
3705+
3706+
// 3 years commitment (upfront payment).
3707+
COMMITMENT_3_YEAR_UPFRONT_PAYMENT = 5;
3708+
}
3709+
3710+
// CPU overcommit ratio.
3711+
// Acceptable values are between 1.0 and 8.0, with 0.1 increment.
3712+
double cpu_overcommit_ratio = 1;
3713+
3714+
// Memory overcommit ratio.
3715+
// Acceptable values are 1.0, 1.25, 1.5, 1.75 and 2.0.
3716+
double memory_overcommit_ratio = 2;
3717+
3718+
// The Deduplication and Compression ratio is based on the logical (Used
3719+
// Before) space required to store data before applying deduplication and
3720+
// compression, in relation to the physical (Used After) space required after
3721+
// applying deduplication and compression. Specifically, the ratio is the Used
3722+
// Before space divided by the Used After space. For example, if the Used
3723+
// Before space is 3 GB, but the physical Used After space is 1 GB, the
3724+
// deduplication and compression ratio is 3x. Acceptable values are
3725+
// between 1.0 and 4.0.
3726+
double storage_deduplication_compression_ratio = 3;
3727+
3728+
// Commitment plan to consider when calculating costs for virtual machine
3729+
// insights and recommendations.
3730+
// If you are unsure which value to set, a 3 year commitment plan is often a
3731+
// good value to start with.
3732+
CommitmentPlan commitment_plan = 4;
3733+
}
3734+
3735+
// Preferences concerning Sole Tenancy nodes and VMs.
3736+
message SoleTenancyPreferences {
3737+
// Sole Tenancy nodes maintenance policy.
3738+
enum HostMaintenancePolicy {
3739+
// Unspecified host maintenance policy.
3740+
HOST_MAINTENANCE_POLICY_UNSPECIFIED = 0;
3741+
3742+
// Default host maintenance policy.
3743+
HOST_MAINTENANCE_POLICY_DEFAULT = 1;
3744+
3745+
// Restart in place host maintenance policy.
3746+
HOST_MAINTENANCE_POLICY_RESTART_IN_PLACE = 2;
3747+
3748+
// Migrate within node group host maintenance policy.
3749+
HOST_MAINTENANCE_POLICY_MIGRATE_WITHIN_NODE_GROUP = 3;
3750+
}
3751+
3752+
// Type of committed use discount.
3753+
enum CommitmentPlan {
3754+
// Unspecified commitment plan.
3755+
COMMITMENT_PLAN_UNSPECIFIED = 0;
3756+
3757+
// No commitment plan (on-demand usage).
3758+
ON_DEMAND = 1;
3759+
3760+
// 1 year commitment.
3761+
COMMITMENT_1_YEAR = 2;
3762+
3763+
// 3 years commitment.
3764+
COMMITMENT_3_YEAR = 3;
3765+
}
3766+
3767+
// CPU overcommit ratio.
3768+
// Acceptable values are between 1.0 and 2.0 inclusive.
3769+
double cpu_overcommit_ratio = 1;
3770+
3771+
// Sole Tenancy nodes maintenance policy.
3772+
HostMaintenancePolicy host_maintenance_policy = 2;
3773+
3774+
// Commitment plan to consider when calculating costs for virtual machine
3775+
// insights and recommendations.
3776+
// If you are unsure which value to set, a 3 year commitment plan is often a
3777+
// good value to start with.
3778+
CommitmentPlan commitment_plan = 3;
3779+
3780+
// A list of sole tenant node types.
3781+
// An empty list means that all possible node types will be considered.
3782+
repeated SoleTenantNodeType node_types = 4;
3783+
}
3784+
3785+
// A Sole Tenant node type.
3786+
message SoleTenantNodeType {
3787+
// Name of the Sole Tenant node. Consult
3788+
// https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes
3789+
string node_name = 1;
3790+
}
3791+
36383792
// The user preferences relating to target regions.
36393793
message RegionPreferences {
36403794
// A list of preferred regions,
@@ -3775,6 +3929,62 @@ message ReportSummary {
37753929
repeated PersistentDiskType allocated_disk_types = 4;
37763930
}
37773931

3932+
// A set of findings that applies to assets destined for VMWare Engine.
3933+
message VmwareEngineFinding {
3934+
// Set of regions in which the assets were allocated
3935+
repeated string allocated_regions = 1;
3936+
3937+
// Count of assets which are allocated
3938+
int64 allocated_asset_count = 2;
3939+
3940+
// Set of per-nodetype allocation records
3941+
repeated VmwareNodeAllocation node_allocations = 3;
3942+
}
3943+
3944+
// Represents assets allocated to a specific VMWare Node type.
3945+
message VmwareNodeAllocation {
3946+
// VMWare node type, e.g. "ve1-standard-72"
3947+
VmwareNode vmware_node = 1;
3948+
3949+
// Count of this node type to be provisioned
3950+
int64 node_count = 2;
3951+
3952+
// Count of assets allocated to these nodes
3953+
int64 allocated_asset_count = 3;
3954+
}
3955+
3956+
// A VMWare Engine Node
3957+
message VmwareNode {
3958+
// Code to identify VMware Engine node series, e.g. "ve1-standard-72". Based
3959+
// on the displayName of
3960+
// cloud.google.com/vmware-engine/docs/reference/rest/v1/projects.locations.nodeTypes
3961+
string code = 1;
3962+
}
3963+
3964+
// A set of findings that applies to assets destined for Sole-Tenant nodes.
3965+
message SoleTenantFinding {
3966+
// Set of regions in which the assets are allocated
3967+
repeated string allocated_regions = 1;
3968+
3969+
// Count of assets which are allocated
3970+
int64 allocated_asset_count = 2;
3971+
3972+
// Set of per-nodetype allocation records
3973+
repeated SoleTenantNodeAllocation node_allocations = 3;
3974+
}
3975+
3976+
// Represents the assets allocated to a specific Sole-Tenant node type.
3977+
message SoleTenantNodeAllocation {
3978+
// Sole Tenant node type, e.g. "m3-node-128-3904"
3979+
SoleTenantNodeType node = 1;
3980+
3981+
// Count of this node type to be provisioned
3982+
int64 node_count = 2;
3983+
3984+
// Count of assets allocated to these nodes
3985+
int64 allocated_asset_count = 3;
3986+
}
3987+
37783988
// Summary Findings for a specific Group/PreferenceSet combination.
37793989
message GroupPreferenceSetFinding {
37803990
// Display Name of the Preference Set
@@ -3806,6 +4016,12 @@ message ReportSummary {
38064016

38074017
// A set of findings that applies to Compute Engine machines in the input.
38084018
ComputeEngineFinding compute_engine_finding = 10;
4019+
4020+
// A set of findings that applies to VMWare machines in the input.
4021+
VmwareEngineFinding vmware_engine_finding = 11;
4022+
4023+
// A set of findings that applies to Sole-Tenant machines in the input.
4024+
SoleTenantFinding sole_tenant_finding = 12;
38094025
}
38104026

38114027
// Summary Findings for a specific Group.
@@ -3819,9 +4035,8 @@ message ReportSummary {
38194035
// Summary statistics for all the assets in this group.
38204036
AssetAggregateStats asset_aggregate_stats = 3;
38214037

3822-
// Count of the number of assets in this group which are also included
3823-
// in another group within the same report.
3824-
int64 overlapping_asset_count = 4;
4038+
// This field is deprecated, do not rely on it having a value.
4039+
int64 overlapping_asset_count = 4 [deprecated = true];
38254040

38264041
// Findings for each of the PreferenceSets for this group.
38274042
repeated GroupPreferenceSetFinding preference_set_findings = 5;
@@ -3984,6 +4199,21 @@ enum CommitmentPlan {
39844199
COMMITMENT_PLAN_THREE_YEARS = 3;
39854200
}
39864201

4202+
// The preference for a specific Google Cloud product platform.
4203+
enum ComputeMigrationTargetProduct {
4204+
// Unspecified (default value).
4205+
COMPUTE_MIGRATION_TARGET_PRODUCT_UNSPECIFIED = 0;
4206+
4207+
// Prefer to migrate to Google Cloud Compute Engine.
4208+
COMPUTE_MIGRATION_TARGET_PRODUCT_COMPUTE_ENGINE = 1;
4209+
4210+
// Prefer to migrate to Google Cloud VMware Engine.
4211+
COMPUTE_MIGRATION_TARGET_PRODUCT_VMWARE_ENGINE = 2;
4212+
4213+
// Prefer to migrate to Google Cloud Sole Tenant Nodes.
4214+
COMPUTE_MIGRATION_TARGET_PRODUCT_SOLE_TENANCY = 3;
4215+
}
4216+
39874217
// Specifies the types of views that provide complete or partial details
39884218
// of a Report.
39894219
enum ReportView {

0 commit comments

Comments
 (0)