---
title: "POST /v1/{+parent}/reports"
method: POST
path: "/v1/{+parent}/reports"
tags: ["projects"]
---

# POST /v1/{+parent}/reports

`POST /v1/{+parent}/reports`

Creates a report.

## Path parameters

- `parent` string, required

## Query parameters

- `reportId` string
- `requestId` string

## Request body

- Report — Report represents a point-in-time rendering of the ReportConfig results.
  - `description` string — Free-text description.
  - `summary` ReportSummary — Describes the Summary view of a Report, which contains aggregated values for all the groups and preference sets included in this Report.
    - `groupFindings` ReportSummaryGroupFinding[] — Findings for each Group included in this report.
      - `preferenceSetFindings` ReportSummaryGroupPreferenceSetFinding[] — Findings for each of the PreferenceSets for this group.
        - `machinePreferences` VirtualMachinePreferences — VirtualMachinePreferences enables you to create sets of assumptions, for example, a geographical location and pricing track, for your migrated virtual machines. The set of preferences influence recommendations for migrating virtual machine assets.
          - `computeEnginePreferences` ComputeEnginePreferences — The user preferences relating to Compute Engine target platform.
            - `licenseType` 'LICENSE_TYPE_UNSPECIFIED' | 'LICENSE_TYPE_DEFAULT' | 'LICENSE_TYPE_BRING_YOUR_OWN_LICENSE' — License type to consider when calculating costs for virtual machine insights and recommendations. If unspecified, costs are calculated based on the default licensing plan.
            - `persistentDiskType` 'PERSISTENT_DISK_TYPE_UNSPECIFIED' | 'PERSISTENT_DISK_TYPE_STANDARD' | 'PERSISTENT_DISK_TYPE_BALANCED' | 'PERSISTENT_DISK_TYPE_SSD' — Persistent disk type to use. If unspecified (default), all types are considered, based on available usage data.
            - `machinePreferences` 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.
              - …
          - `sizingOptimizationStrategy` 'SIZING_OPTIMIZATION_STRATEGY_UNSPECIFIED' | 'SIZING_OPTIMIZATION_STRATEGY_SAME_AS_SOURCE' | 'SIZING_OPTIMIZATION_STRATEGY_MODERATE' | 'SIZING_OPTIMIZATION_STRATEGY_AGGRESSIVE' — 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.
          - `soleTenancyPreferences` SoleTenancyPreferences — Preferences concerning Sole Tenancy nodes and VMs.
            - `cpuOvercommitRatio` number, double — CPU overcommit ratio. Acceptable values are between 1.0 and 2.0 inclusive.
            - `hostMaintenancePolicy` 'HOST_MAINTENANCE_POLICY_UNSPECIFIED' | 'HOST_MAINTENANCE_POLICY_DEFAULT' | 'HOST_MAINTENANCE_POLICY_RESTART_IN_PLACE' | 'HOST_MAINTENANCE_POLICY_MIGRATE_WITHIN_NODE_GROUP' — Sole Tenancy nodes maintenance policy.
            - `commitmentPlan` 'COMMITMENT_PLAN_UNSPECIFIED' | 'ON_DEMAND' | 'COMMITMENT_1_YEAR' | 'COMMITMENT_3_YEAR' — 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` SoleTenantNodeType[] — A list of sole tenant node types. An empty list means that all possible node types will be considered.
              - …
          - `vmwareEnginePreferences` VmwareEnginePreferences — The user preferences relating to Google Cloud VMware Engine target platform.
            - `cpuOvercommitRatio` number, double — CPU overcommit ratio. Acceptable values are between 1.0 and 8.0, with 0.1 increment.
            - `storageDeduplicationCompressionRatio` number, double — 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.
            - `memoryOvercommitRatio` number, double — Memory overcommit ratio. Acceptable values are 1.0, 1.25, 1.5, 1.75 and 2.0.
            - `commitmentPlan` 'COMMITMENT_PLAN_UNSPECIFIED' | 'ON_DEMAND' | 'COMMITMENT_1_YEAR_MONTHLY_PAYMENTS' | 'COMMITMENT_3_YEAR_MONTHLY_PAYMENTS' | 'COMMITMENT_1_YEAR_UPFRONT_PAYMENT' | 'COMMITMENT_3_YEAR_UPFRONT_PAYMENT' — 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.
          - `regionPreferences` RegionPreferences — The user preferences relating to target regions.
            - `preferredRegions` string[] — A list of preferred regions, ordered by the most preferred region first. Set only valid Google Cloud region names. See https://cloud.google.com/compute/docs/regions-zones for available regions.
          - `targetProduct` 'COMPUTE_MIGRATION_TARGET_PRODUCT_UNSPECIFIED' | 'COMPUTE_MIGRATION_TARGET_PRODUCT_COMPUTE_ENGINE' | 'COMPUTE_MIGRATION_TARGET_PRODUCT_VMWARE_ENGINE' | 'COMPUTE_MIGRATION_TARGET_PRODUCT_SOLE_TENANCY' — Target product for assets using this preference set. Specify either target product or business goal, but not both.
          - `commitmentPlan` 'COMMITMENT_PLAN_UNSPECIFIED' | 'COMMITMENT_PLAN_NONE' | 'COMMITMENT_PLAN_ONE_YEAR' | 'COMMITMENT_PLAN_THREE_YEARS' — 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.
        - `monthlyCostStorage` Money — Represents an amount of money with its currency type.
          - `nanos` integer — Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
          - `currencyCode` string — The three-letter currency code defined in ISO 4217.
          - `units` string, int64 — The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
        - `displayName` string — Display Name of the Preference Set
        - `monthlyCostOther` Money — Represents an amount of money with its currency type.
          - `nanos` integer — Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
          - `currencyCode` string — The three-letter currency code defined in ISO 4217.
          - `units` string, int64 — The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
        - `description` string — Description for the Preference Set.
        - `computeEngineFinding` ReportSummaryComputeEngineFinding — A set of findings that applies to assets destined for Compute Engine.
          - `machineSeriesAllocations` ReportSummaryMachineSeriesAllocation[] — Distribution of assets based on the Machine Series.
            - `machineSeries` MachineSeries — A machine series, for a target product (e.g. Compute Engine, Google Cloud VMware Engine).
              - …
            - `allocatedAssetCount` string, int64 — Count of assets allocated to this machine series.
          - `allocatedDiskTypes` string[] — Set of disk types allocated to assets.
          - `allocatedRegions` string[] — Set of regions in which the assets were allocated.
          - `allocatedAssetCount` string, int64 — Count of assets which were allocated.
        - `monthlyCostOsLicense` Money — Represents an amount of money with its currency type.
          - `nanos` integer — Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
          - `currencyCode` string — The three-letter currency code defined in ISO 4217.
          - `units` string, int64 — The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
        - `vmwareEngineFinding` ReportSummaryVmwareEngineFinding — A set of findings that applies to assets destined for VMWare Engine.
          - `allocatedRegions` string[] — Set of regions in which the assets were allocated
          - `allocatedAssetCount` string, int64 — Count of assets which are allocated
          - `nodeAllocations` ReportSummaryVmwareNodeAllocation[] — Set of per-nodetype allocation records
            - `vmwareNode` ReportSummaryVmwareNode — A VMWare Engine Node
              - …
            - `nodeCount` string, int64 — Count of this node type to be provisioned
            - `allocatedAssetCount` string, int64 — Count of assets allocated to these nodes
        - `soleTenantFinding` ReportSummarySoleTenantFinding — A set of findings that applies to assets destined for Sole-Tenant nodes.
          - `allocatedRegions` string[] — Set of regions in which the assets are allocated
          - `allocatedAssetCount` string, int64 — Count of assets which are allocated
          - `nodeAllocations` ReportSummarySoleTenantNodeAllocation[] — Set of per-nodetype allocation records
            - `node` SoleTenantNodeType — A Sole Tenant node type.
              - …
            - `nodeCount` string, int64 — Count of this node type to be provisioned
            - `allocatedAssetCount` string, int64 — Count of assets allocated to these nodes
        - `monthlyCostTotal` Money — Represents an amount of money with its currency type.
          - `nanos` integer — Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
          - `currencyCode` string — The three-letter currency code defined in ISO 4217.
          - `units` string, int64 — The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
        - `monthlyCostCompute` Money — Represents an amount of money with its currency type.
          - `nanos` integer — Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
          - `currencyCode` string — The three-letter currency code defined in ISO 4217.
          - `units` string, int64 — The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
        - `monthlyCostNetworkEgress` Money — Represents an amount of money with its currency type.
          - `nanos` integer — Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
          - `currencyCode` string — The three-letter currency code defined in ISO 4217.
          - `units` string, int64 — The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
      - `displayName` string — Display Name for the Group.
      - `overlappingAssetCount` string, int64 — This field is deprecated, do not rely on it having a value.
      - `assetAggregateStats` ReportSummaryAssetAggregateStats — Aggregate statistics for a collection of assets.
        - `totalStorageBytes` string, int64 — Sum of persistent storage in bytes of all the assets in this collection.
        - `softwareInstances` ReportSummaryChartData — Describes a collection of data points rendered as a Chart.
          - `dataPoints` ReportSummaryChartDataDataPoint[] — Each data point in the chart is represented as a name-value pair with the name being the x-axis label, and the value being the y-axis value.
            - `label` string — The X-axis label for this data point.
            - `value` number, double — The Y-axis value for this data point.
        - `storageUtilizationChart` ReportSummaryUtilizationChartData — Utilization Chart is a specific type of visualization which displays a metric classified into "Used" and "Free" buckets.
          - `free` string, int64 — Aggregate value which falls into the "Free" bucket.
          - `used` string, int64 — Aggregate value which falls into the "Used" bucket.
        - `totalCores` string, int64 — Sum of the CPU core count of all the assets in this collection.
        - `totalAssets` string, int64 — Count of the number of unique assets in this collection.
        - `storageBytesHistogram` ReportSummaryHistogramChartData — A Histogram Chart shows a distribution of values into buckets, showing a count of values which fall into a bucket.
          - `buckets` ReportSummaryHistogramChartDataBucket[] — Buckets in the histogram. There will be `n+1` buckets matching `n` lower bounds in the request. The first bucket will be from -infinity to the first bound. Subsequent buckets will be between one bound and the next. The final bucket will be from the final bound to infinity.
            - `upperBound` string, int64 — Upper bound - exclusive.
            - `count` string, int64 — Count of items in the bucket.
            - `lowerBound` string, int64 — Lower bound - inclusive.
        - `operatingSystem` ReportSummaryChartData — Describes a collection of data points rendered as a Chart.
          - `dataPoints` ReportSummaryChartDataDataPoint[] — Each data point in the chart is represented as a name-value pair with the name being the x-axis label, and the value being the y-axis value.
            - `label` string — The X-axis label for this data point.
            - `value` number, double — The Y-axis value for this data point.
        - `coreCountHistogram` ReportSummaryHistogramChartData — A Histogram Chart shows a distribution of values into buckets, showing a count of values which fall into a bucket.
          - `buckets` ReportSummaryHistogramChartDataBucket[] — Buckets in the histogram. There will be `n+1` buckets matching `n` lower bounds in the request. The first bucket will be from -infinity to the first bound. Subsequent buckets will be between one bound and the next. The final bucket will be from the final bound to infinity.
            - `upperBound` string, int64 — Upper bound - exclusive.
            - `count` string, int64 — Count of items in the bucket.
            - `lowerBound` string, int64 — Lower bound - inclusive.
        - `memoryBytesHistogram` ReportSummaryHistogramChartData — A Histogram Chart shows a distribution of values into buckets, showing a count of values which fall into a bucket.
          - `buckets` ReportSummaryHistogramChartDataBucket[] — Buckets in the histogram. There will be `n+1` buckets matching `n` lower bounds in the request. The first bucket will be from -infinity to the first bound. Subsequent buckets will be between one bound and the next. The final bucket will be from the final bound to infinity.
            - `upperBound` string, int64 — Upper bound - exclusive.
            - `count` string, int64 — Count of items in the bucket.
            - `lowerBound` string, int64 — Lower bound - inclusive.
        - `totalMemoryBytes` string, int64 — Sum of the memory in bytes of all the assets in this collection.
        - `memoryUtilizationChart` ReportSummaryUtilizationChartData — Utilization Chart is a specific type of visualization which displays a metric classified into "Used" and "Free" buckets.
          - `free` string, int64 — Aggregate value which falls into the "Free" bucket.
          - `used` string, int64 — Aggregate value which falls into the "Used" bucket.
      - `description` string — Description for the Group.
    - `allAssetsStats` ReportSummaryAssetAggregateStats — Aggregate statistics for a collection of assets.
      - `totalStorageBytes` string, int64 — Sum of persistent storage in bytes of all the assets in this collection.
      - `softwareInstances` ReportSummaryChartData — Describes a collection of data points rendered as a Chart.
        - `dataPoints` ReportSummaryChartDataDataPoint[] — Each data point in the chart is represented as a name-value pair with the name being the x-axis label, and the value being the y-axis value.
          - `label` string — The X-axis label for this data point.
          - `value` number, double — The Y-axis value for this data point.
      - `storageUtilizationChart` ReportSummaryUtilizationChartData — Utilization Chart is a specific type of visualization which displays a metric classified into "Used" and "Free" buckets.
        - `free` string, int64 — Aggregate value which falls into the "Free" bucket.
        - `used` string, int64 — Aggregate value which falls into the "Used" bucket.
      - `totalCores` string, int64 — Sum of the CPU core count of all the assets in this collection.
      - `totalAssets` string, int64 — Count of the number of unique assets in this collection.
      - `storageBytesHistogram` ReportSummaryHistogramChartData — A Histogram Chart shows a distribution of values into buckets, showing a count of values which fall into a bucket.
        - `buckets` ReportSummaryHistogramChartDataBucket[] — Buckets in the histogram. There will be `n+1` buckets matching `n` lower bounds in the request. The first bucket will be from -infinity to the first bound. Subsequent buckets will be between one bound and the next. The final bucket will be from the final bound to infinity.
          - `upperBound` string, int64 — Upper bound - exclusive.
          - `count` string, int64 — Count of items in the bucket.
          - `lowerBound` string, int64 — Lower bound - inclusive.
      - `operatingSystem` ReportSummaryChartData — Describes a collection of data points rendered as a Chart.
        - `dataPoints` ReportSummaryChartDataDataPoint[] — Each data point in the chart is represented as a name-value pair with the name being the x-axis label, and the value being the y-axis value.
          - `label` string — The X-axis label for this data point.
          - `value` number, double — The Y-axis value for this data point.
      - `coreCountHistogram` ReportSummaryHistogramChartData — A Histogram Chart shows a distribution of values into buckets, showing a count of values which fall into a bucket.
        - `buckets` ReportSummaryHistogramChartDataBucket[] — Buckets in the histogram. There will be `n+1` buckets matching `n` lower bounds in the request. The first bucket will be from -infinity to the first bound. Subsequent buckets will be between one bound and the next. The final bucket will be from the final bound to infinity.
          - `upperBound` string, int64 — Upper bound - exclusive.
          - `count` string, int64 — Count of items in the bucket.
          - `lowerBound` string, int64 — Lower bound - inclusive.
      - `memoryBytesHistogram` ReportSummaryHistogramChartData — A Histogram Chart shows a distribution of values into buckets, showing a count of values which fall into a bucket.
        - `buckets` ReportSummaryHistogramChartDataBucket[] — Buckets in the histogram. There will be `n+1` buckets matching `n` lower bounds in the request. The first bucket will be from -infinity to the first bound. Subsequent buckets will be between one bound and the next. The final bucket will be from the final bound to infinity.
          - `upperBound` string, int64 — Upper bound - exclusive.
          - `count` string, int64 — Count of items in the bucket.
          - `lowerBound` string, int64 — Lower bound - inclusive.
      - `totalMemoryBytes` string, int64 — Sum of the memory in bytes of all the assets in this collection.
      - `memoryUtilizationChart` ReportSummaryUtilizationChartData — Utilization Chart is a specific type of visualization which displays a metric classified into "Used" and "Free" buckets.
        - `free` string, int64 — Aggregate value which falls into the "Free" bucket.
        - `used` string, int64 — Aggregate value which falls into the "Used" bucket.
  - `state` 'STATE_UNSPECIFIED' | 'PENDING' | 'SUCCEEDED' | 'FAILED' — Report creation state.
  - `name` string — Output only. Name of resource.
  - `createTime` string, google-datetime — Output only. Creation timestamp.
  - `updateTime` string, google-datetime — Output only. Last update timestamp.
  - `type` 'TYPE_UNSPECIFIED' | 'TOTAL_COST_OF_OWNERSHIP' — Report type.
  - `displayName` string — User-friendly display name. Maximum length is 63 characters.

## Response `200`

Successful response

---

[API](https://skmtc.dev/google/apis/migrationcenter.md) · [All operations](https://skmtc.dev/google/apis/migrationcenter/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/google/migrationcenter/revisions/2a8b4eea0432/schema)
