VirtualMachinePreferences

VirtualMachinePreferences enables you to create sets of preferences, for example, a geographical location and pricing track, for your migrated virtual machines. The set of preferences influence recommendations for migrating virtual machine assets.

JSON representation
{
  "targetProduct": enum (ComputeMigrationTargetProduct),
  "regionPreferences": {
    object (RegionPreferences)
  },
  "commitmentPlan": enum (CommitmentPlan),
  "networkCostParameters": {
    object (NetworkCostParameters)
  },
  "sizingOptimizationStrategy": enum (SizingOptimizationStrategy),
  "sizingOptimizationCustomParameters": {
    object (SizingOptimizationCustomParameters)
  },
  "computeEnginePreferences": {
    object (ComputeEnginePreferences)
  },
  "vmwareEnginePreferences": {
    object (VmwareEnginePreferences)
  },
  "soleTenancyPreferences": {
    object (SoleTenancyPreferences)
  }
}
Fields
targetProduct

enum (ComputeMigrationTargetProduct)

Target product for assets using this preference set. Specify either target product or business goal, but not both.

regionPreferences

object (RegionPreferences)

Region preferences for assets using this preference set. If you are unsure which value to set, the migration service API region is often a good value to start with. If PreferenceSet.RegionPreferences is specified, it overrides this field.

commitmentPlan

enum (CommitmentPlan)

Commitment plan to consider when calculating costs for virtual machine insights and recommendations. If you are unsure which value to set, a 3 year commitment plan is often a good value to start with.

networkCostParameters

object (NetworkCostParameters)

Optional. Parameters that affect network cost estimations. If not set, default values will be used for the parameters.

sizingOptimizationStrategy

enum (SizingOptimizationStrategy)

Sizing optimization strategy specifies the preferred strategy used when extrapolating usage data to calculate insights and recommendations for a virtual machine. If you are unsure which value to set, a moderate sizing optimization strategy is often a good value to start with.

sizingOptimizationCustomParameters

object (SizingOptimizationCustomParameters)

Optional. Custom data to use for sizing optimizations. Relevant when SizingOptimizationStrategy is set to "custom".

computeEnginePreferences

object (ComputeEnginePreferences)

Compute Engine preferences concern insights and recommendations for Compute Engine target.

vmwareEnginePreferences

object (VmwareEnginePreferences)

Preferences concerning insights and recommendations for Google Cloud VMware Engine.

soleTenancyPreferences

object (SoleTenancyPreferences)

Preferences concerning Sole Tenant nodes and virtual machines.

ComputeMigrationTargetProduct

The preference for a specific Google Cloud product platform.

Enums
COMPUTE_MIGRATION_TARGET_PRODUCT_UNSPECIFIED Unspecified (default value).
COMPUTE_MIGRATION_TARGET_PRODUCT_COMPUTE_ENGINE Prefer to migrate to Google Cloud Compute Engine.
COMPUTE_MIGRATION_TARGET_PRODUCT_VMWARE_ENGINE Prefer to migrate to Google Cloud VMware Engine.
COMPUTE_MIGRATION_TARGET_PRODUCT_SOLE_TENANCY Prefer to migrate to Google Cloud Sole Tenant Nodes.

NetworkCostParameters

Parameters that affect network cost estimations.

JSON representation
{
  "estimatedEgressTrafficPercentage": integer
}
Fields
estimatedEgressTrafficPercentage

integer

Optional. An estimated percentage of priced outbound traffic (egress traffic) from the measured outbound traffic. Must be in the interval [0, 100].

SizingOptimizationCustomParameters

Custom data to use for sizing optimizations.

JSON representation
{
  "aggregationMethod": enum (AggregationMethod),
  "storageMultiplier": number,
  "cpuUsagePercentage": integer,
  "memoryUsagePercentage": integer
}
Fields
aggregationMethod

enum (AggregationMethod)

Optional. Type of statistical aggregation of a resource utilization data, on which to base the sizing metrics.

storageMultiplier

number

Optional. Desired increase factor of storage, relative to currently used storage. Must be in the interval [1.0, 2.0] (or 0 for default value).

cpuUsagePercentage

integer

Optional. Desired percentage of CPU usage. Must be in the interval [1, 100] (or 0 for default value).

memoryUsagePercentage

integer

Optional. Desired percentage of memory usage. Must be in the interval [1, 100] (or 0 for default value).

AggregationMethod

Type of statistical aggregation of a resource utilization data, on which to base the sizing metrics.

Enums
AGGREGATION_METHOD_UNSPECIFIED Unspecified aggregation method. Can be used for default value.
AGGREGATION_METHOD_AVERAGE Average of utilization data.
AGGREGATION_METHOD_MEDIAN Median of utilization data.
AGGREGATION_METHOD_NINETY_FIFTH_PERCENTILE 95th percentile of utilization data.
AGGREGATION_METHOD_PEAK Peak of utilization data.

ComputeEnginePreferences

The user preferences relating to Compute Engine target platform.

JSON representation
{
  "persistentDiskType": enum (PersistentDiskType),
  "machinePreferences": {
    object (MachinePreferences)
  },
  "licenseType": enum (LicenseType)
}
Fields
persistentDiskType

enum (PersistentDiskType)

Persistent disk type to use. If unspecified (default), all types are considered, based on available usage data.

machinePreferences

object (MachinePreferences)

Preferences concerning the machine types to consider on Compute Engine.

licenseType

enum (LicenseType)

License type to consider when calculating costs for virtual machine insights and recommendations. If unspecified, costs are calculated based on the default licensing plan.

MachinePreferences

The type of machines to consider when calculating virtual machine migration insights and recommendations. Not all machine types are available in all zones and regions.

JSON representation
{
  "allowedMachineSeries": [
    {
      object (MachineSeries)
    }
  ]
}
Fields
allowedMachineSeries[]

object (MachineSeries)

Compute Engine machine series to consider for insights and recommendations. If empty, no restriction is applied on the machine series.

LicenseType

The License type for premium images (RHEL, RHEL for SAP, SLES, SLES for SAP, Windows Server).

Enums
LICENSE_TYPE_UNSPECIFIED Unspecified (default value).
LICENSE_TYPE_DEFAULT Default Google Cloud licensing plan. Licensing is charged per usage. This a good value to start with.
LICENSE_TYPE_BRING_YOUR_OWN_LICENSE Bring-your-own-license (BYOL) plan. User provides the OS license.

VmwareEnginePreferences

The user preferences relating to Google Cloud VMware Engine target platform.

JSON representation
{
  "cpuOvercommitRatio": number,
  "memoryOvercommitRatio": number,
  "storageDeduplicationCompressionRatio": number,
  "commitmentPlan": enum (CommitmentPlan)
}
Fields
cpuOvercommitRatio

number

CPU overcommit ratio. Acceptable values are between 1.0 and 8.0, with 0.1 increment.

memoryOvercommitRatio

number

Memory overcommit ratio. Acceptable values are 1.0, 1.25, 1.5, 1.75 and 2.0.

storageDeduplicationCompressionRatio

number

The Deduplication and Compression ratio is based on the logical (Used Before) space required to store data before applying deduplication and compression, in relation to the physical (Used After) space required after applying deduplication and compression. Specifically, the ratio is the Used Before space divided by the Used After space. For example, if the Used Before space is 3 GB, but the physical Used After space is 1 GB, the deduplication and compression ratio is 3x. Acceptable values are between 1.0 and 4.0.

commitmentPlan

enum (CommitmentPlan)

Commitment plan to consider when calculating costs for virtual machine insights and recommendations. If you are unsure which value to set, a 3 year commitment plan is often a good value to start with.

CommitmentPlan

Type of committed use discount.

Enums
COMMITMENT_PLAN_UNSPECIFIED Unspecified commitment plan.
ON_DEMAND No commitment plan (on-demand usage).
COMMITMENT_1_YEAR_MONTHLY_PAYMENTS 1 year commitment (monthly payments).
COMMITMENT_3_YEAR_MONTHLY_PAYMENTS 3 year commitment (monthly payments).
COMMITMENT_1_YEAR_UPFRONT_PAYMENT 1 year commitment (upfront payment).
COMMITMENT_3_YEAR_UPFRONT_PAYMENT 3 years commitment (upfront payment).

SoleTenancyPreferences

Preferences concerning Sole Tenancy nodes and VMs.

JSON representation
{
  "cpuOvercommitRatio": number,
  "hostMaintenancePolicy": enum (HostMaintenancePolicy),
  "commitmentPlan": enum (CommitmentPlan),
  "nodeTypes": [
    {
      object (SoleTenantNodeType)
    }
  ]
}
Fields
cpuOvercommitRatio

number

CPU overcommit ratio. Acceptable values are between 1.0 and 2.0 inclusive.

hostMaintenancePolicy

enum (HostMaintenancePolicy)

Sole Tenancy nodes maintenance policy.

commitmentPlan

enum (CommitmentPlan)

Commitment plan to consider when calculating costs for virtual machine insights and recommendations. If you are unsure which value to set, a 3 year commitment plan is often a good value to start with.

nodeTypes[]

object (SoleTenantNodeType)

A list of sole tenant node types. An empty list means that all possible node types will be considered.

HostMaintenancePolicy

Sole Tenancy nodes maintenance policy.

Enums
HOST_MAINTENANCE_POLICY_UNSPECIFIED Unspecified host maintenance policy.
HOST_MAINTENANCE_POLICY_DEFAULT Default host maintenance policy.
HOST_MAINTENANCE_POLICY_RESTART_IN_PLACE Restart in place host maintenance policy.
HOST_MAINTENANCE_POLICY_MIGRATE_WITHIN_NODE_GROUP Migrate within node group host maintenance policy.

CommitmentPlan

Type of committed use discount.

Enums
COMMITMENT_PLAN_UNSPECIFIED Unspecified commitment plan.
ON_DEMAND No commitment plan (on-demand usage).
COMMITMENT_1_YEAR 1 year commitment.
COMMITMENT_3_YEAR 3 years commitment.