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

# POST /v1/{+parent}/utilizationReports

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

Creates a new UtilizationReport.

## Path parameters

- `parent` string, required

## Query parameters

- `requestId` string
- `utilizationReportId` string

## Request body

- UtilizationReport — Utilization report details the utilization (CPU, memory, etc.) of selected source VMs.
  - `error` Status — The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).
    - `details` object[] — A list of messages that carry the error details. There is a common set of message types for APIs to use.
    - `message` string — A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
    - `code` integer — The status code, which should be an enum value of google.rpc.Code.
  - `name` string — Output only. The report unique name.
  - `createTime` string, google-datetime — Output only. The time the report was created (this refers to the time of the request, not the time the report creation completed).
  - `displayName` string — The report display name, as assigned by the user.
  - `state` 'STATE_UNSPECIFIED' | 'CREATING' | 'SUCCEEDED' | 'FAILED' — Output only. Current state of the report.
  - `timeFrame` 'TIME_FRAME_UNSPECIFIED' | 'WEEK' | 'MONTH' | 'YEAR' — Time frame of the report.
  - `frameEndTime` string, google-datetime — Output only. The point in time when the time frame ends. Notice that the time frame is counted backwards. For instance if the "frame_end_time" value is 2021/01/20 and the time frame is WEEK then the report covers the week between 2021/01/20 and 2021/01/14.
  - `vms` VmUtilizationInfo[] — List of utilization information per VM. When sent as part of the request, the "vm_id" field is used in order to specify which VMs to include in the report. In that case all other fields are ignored.
    - `vmwareVmDetails` VmwareVmDetails — VmwareVmDetails describes a VM in vCenter.
      - `displayName` string — The display name of the VM. Note that this is not necessarily unique.
      - `datacenterId` string — The id of the vCenter's datacenter this VM is contained in.
      - `diskCount` integer — The number of disks the VM has.
      - `committedStorageMb` string, int64 — The total size of the storage allocated to the VM in MB.
      - `vmId` string — The VM's id in the source (note that this is not the MigratingVm's id). This is the moref id of the VM.
      - `guestDescription` string — The VM's OS. See for example https://vdc-repo.vmware.com/vmwb-repository/dcr-public/da47f910-60ac-438b-8b9b-6122f4d14524/16b7274a-bf8b-4b4c-a05e-746f2aa93c8c/doc/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html for types of strings this might hold.
      - `datacenterDescription` string — The descriptive name of the vCenter's datacenter this VM is contained in.
      - `architecture` 'VM_ARCHITECTURE_UNSPECIFIED' | 'VM_ARCHITECTURE_X86_FAMILY' | 'VM_ARCHITECTURE_ARM64' — Output only. The CPU architecture.
      - `bootOption` 'BOOT_OPTION_UNSPECIFIED' | 'EFI' | 'BIOS' — Output only. The VM Boot Option.
      - `memoryMb` integer — The size of the memory of the VM in MB.
      - `powerState` 'POWER_STATE_UNSPECIFIED' | 'ON' | 'OFF' | 'SUSPENDED' — The power state of the VM at the moment list was taken.
      - `uuid` string — The unique identifier of the VM in vCenter.
      - `cpuCount` integer — The number of cpus in the VM.
    - `vmId` string — The VM's ID in the source.
    - `utilization` VmUtilizationMetrics — Utilization metrics values for a single VM.
      - `diskIoRateMaxKbps` string, int64 — Max disk IO rate, in kilobytes per second.
      - `diskIoRateAverageKbps` string, int64 — Average disk IO rate, in kilobytes per second.
      - `networkThroughputMaxKbps` string, int64 — Max network throughput (combined transmit-rates and receive-rates), in kilobytes per second.
      - `networkThroughputAverageKbps` string, int64 — Average network throughput (combined transmit-rates and receive-rates), in kilobytes per second.
      - `cpuMaxPercent` integer — Max CPU usage, percent.
      - `memoryAveragePercent` integer — Average memory usage, percent.
      - `cpuAveragePercent` integer — Average CPU usage, percent.
      - `memoryMaxPercent` integer — Max memory usage, percent.
  - `vmCount` integer — Output only. Total number of VMs included in the report.
  - `stateTime` string, google-datetime — Output only. The time the state was last set.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/vmmigration.md) · [All operations](https://skmtc.net/google/apis/vmmigration/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/vmmigration/revisions/c812c34615f3/schema)
