REST Resource: projects.locations.reportConfigs.reports

Resource: Report

Report represents a point-in-time rendering of the ReportConfig results.

JSON representation
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "displayName": string,
  "description": string,
  "type": enum (Type),
  "state": enum (State),
  "summary": {
    object (ReportSummary)
  }
}
Fields
name

string

Output only. Name of resource.

createTime

string (Timestamp format)

Output only. Creation timestamp.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Output only. Last update timestamp.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

displayName

string

User-friendly display name. Maximum length is 63 characters.

description

string

Free-text description.

type

enum (Type)

Report type.

state

enum (State)

Report creation state.

summary

object (ReportSummary)

Output only. Summary view of the Report.

Type

Report type.

Enums
TYPE_UNSPECIFIED Default report type.
TOTAL_COST_OF_OWNERSHIP Total cost of ownership report type.

State

Report creation state.

Enums
STATE_UNSPECIFIED Default Report creation state.
PENDING Creating Report.
SUCCEEDED Successfully created Report.
FAILED Failed to create Report.

ReportSummary

Describes the Summary view of a Report, which contains aggregated values for all the groups and preference sets included in this Report.

JSON representation
{
  "allAssetsStats": {
    object (AssetAggregateStats)
  },
  "virtualMachineStats": {
    object (AssetAggregateStats)
  },
  "databaseStats": {
    object (AssetAggregateStats)
  },
  "groupFindings": [
    {
      object (GroupFinding)
    }
  ]
}
Fields
allAssetsStats

object (AssetAggregateStats)

Aggregate statistics for unique assets across all the groups.

virtualMachineStats

object (AssetAggregateStats)

Output only. Aggregate statistics for unique virtual machine assets across all the groups.

databaseStats

object (AssetAggregateStats)

Output only. Aggregate statistics for unique database assets across all the groups.

groupFindings[]

object (GroupFinding)

Findings for each Group included in this report.

AssetAggregateStats

Aggregate statistics for a collection of assets.

JSON representation
{
  "totalMemoryBytes": string,
  "totalStorageBytes": string,
  "totalCores": string,
  "totalAssets": string,
  "memoryUtilization": {
    object (ChartData)
  },
  "memoryUtilizationChart": {
    object (UtilizationChartData)
  },
  "storageUtilization": {
    object (ChartData)
  },
  "storageUtilizationChart": {
    object (UtilizationChartData)
  },
  "assetAge": {
    object (ChartData)
  },
  "operatingSystem": {
    object (ChartData)
  },
  "coreCountHistogram": {
    object (HistogramChartData)
  },
  "memoryBytesHistogram": {
    object (HistogramChartData)
  },
  "storageBytesHistogram": {
    object (HistogramChartData)
  },
  "databaseTypes": {
    object (ChartData)
  }
}
Fields
totalMemoryBytes

string (int64 format)

Sum of the memory in bytes of all the assets in this collection.

totalStorageBytes

string (int64 format)

Sum of persistent storage in bytes of all the assets in this collection.

totalCores

string (int64 format)

Sum of the CPU core count of all the assets in this collection.

totalAssets

string (int64 format)

Count of the number of unique assets in this collection.

memoryUtilization
(deprecated)

object (ChartData)

Total memory split into Used/Free buckets.

memoryUtilizationChart

object (UtilizationChartData)

Total memory split into Used/Free buckets.

storageUtilization
(deprecated)

object (ChartData)

Total storage split into Used/Free buckets.

storageUtilizationChart

object (UtilizationChartData)

Total memory split into Used/Free buckets.

assetAge
(deprecated)

object (ChartData)

Count of assets grouped by age.

operatingSystem

object (ChartData)

Count of assets grouped by Operating System families. Only present for virtual machines.

coreCountHistogram

object (HistogramChartData)

Histogram showing a distribution of CPU core counts.

memoryBytesHistogram

object (HistogramChartData)

Histogram showing a distribution of memory sizes.

storageBytesHistogram

object (HistogramChartData)

Histogram showing a distribution of storage sizes.

databaseTypes

object (ChartData)

Output only. Count of assets grouped by database type. Keys here are taken from DatabaseType enum. Only present for databases.

ChartData

Describes a collection of data points rendered as a Chart.

JSON representation
{
  "dataPoints": [
    {
      object (DataPoint)
    }
  ]
}
Fields
dataPoints[]

object (DataPoint)

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.

DataPoint

Describes a single data point in the Chart.

JSON representation
{
  "label": string,
  "value": number
}
Fields
label

string

The X-axis label for this data point.

value

number

The Y-axis value for this data point.

UtilizationChartData

Utilization Chart is a specific type of visualization which displays a metric classified into "Used" and "Free" buckets.

JSON representation
{
  "used": string,
  "free": string
}
Fields
used

string (int64 format)

Aggregate value which falls into the "Used" bucket.

free

string (int64 format)

Aggregate value which falls into the "Free" bucket.

HistogramChartData

A Histogram Chart shows a distribution of values into buckets, showing a count of values which fall into a bucket.

JSON representation
{
  "buckets": [
    {
      object (Bucket)
    }
  ]
}
Fields
buckets[]

object (Bucket)

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.

Bucket

A histogram bucket with a lower and upper bound, and a count of items with a field value between those bounds. The lower bound is inclusive and the upper bound is exclusive. Lower bound may be -infinity and upper bound may be infinity.

JSON representation
{
  "lowerBound": string,
  "upperBound": string,
  "count": string
}
Fields
lowerBound

string (int64 format)

Lower bound - inclusive.

upperBound

string (int64 format)

Upper bound - exclusive.

count

string (int64 format)

Count of items in the bucket.

GroupFinding

Summary Findings for a specific Group.

JSON representation
{
  "group": string,
  "displayName": string,
  "description": string,
  "assetAggregateStats": {
    object (AssetAggregateStats)
  },
  "assetType": enum (AssetType),
  "databaseType": enum (DatabaseType),
  "overlappingAssetCount": string,
  "preferenceSetFindings": [
    {
      object (GroupPreferenceSetFinding)
    }
  ]
}
Fields
group

string

Output only. Full name of the group.

displayName

string

Display Name for this group finding.

description

string

Description for this group finding.

assetAggregateStats

object (AssetAggregateStats)

Summary statistics for all the assets in this group.

assetType

enum (AssetType)

Output only. Asset type for the group finding.

databaseType

enum (DatabaseType)

Output only. Source asset database type for the group finding. Only present for databases.

overlappingAssetCount
(deprecated)

string (int64 format)

This field is deprecated, do not rely on it having a value.

preferenceSetFindings[]

object (GroupPreferenceSetFinding)

Findings for each of the PreferenceSets for this group.

AssetType

Supported asset types.

Enums
ASSET_TYPE_UNSPECIFIED Unknown asset type.
VIRTUAL_MACHINE Virtual Machine asset type
DATABASE Database asset type

DatabaseType

Supported database types.

Enums
DATABASE_TYPE_UNSPECIFIED Unknown database type.
SQL_SERVER SQL Server database.
MYSQL MySQL database.
POSTGRES Postgres database.

GroupPreferenceSetFinding

Summary Findings for a specific Group/PreferenceSet combination.

JSON representation
{
  "displayName": string,
  "description": string,
  "preferredRegion": string,
  "pricingTrack": string,
  "topPriority": string,
  "machinePreferences": {
    object (VirtualMachinePreferences)
  },
  "preferenceSet": {
    object (PreferenceSet)
  },
  "monthlyCostTotal": {
    object (Money)
  },
  "monthlyCostCompute": {
    object (Money)
  },
  "monthlyCostOsLicense": {
    object (Money)
  },
  "monthlyCostNetworkEgress": {
    object (Money)
  },
  "monthlyCostStorage": {
    object (Money)
  },
  "monthlyCostDatabaseBackup": {
    object (Money)
  },
  "monthlyCostDatabaseLicensing": {
    object (Money)
  },
  "monthlyCostOther": {
    object (Money)
  },
  "machineFinding": {
    object (MachineFinding)
  },
  "vmwareEngineFinding": {
    object (VMWareEngineFinding)
  },
  "soleTenantFinding": {
    object (SoleTenantFinding)
  },
  "databaseFinding": {
    object (DatabaseFinding)
  }
}
Fields
displayName

string

Display Name of the Preference Set

description

string

Description for the Preference Set.

preferredRegion
(deprecated)

string

Target region for this Preference Set

pricingTrack
(deprecated)

string

Text describing the pricing track specified for this Preference Set

topPriority
(deprecated)

string

Text describing the business priority specified for this Preference Set

machinePreferences

object (VirtualMachinePreferences)

A set of preferences that applies to all machines in the context.

preferenceSet

object (PreferenceSet)

Output only. A copy of the preference set used for this finding.

monthlyCostTotal

object (Money)

Total monthly cost for this preference set.

monthlyCostCompute

object (Money)

Compute monthly cost for this preference set.

monthlyCostOsLicense

object (Money)

Operating system licensing monthly cost for this preference set. Only present for virtual machines.

monthlyCostNetworkEgress

object (Money)

Network Egress monthly cost for this preference set. Only present for virtual machines.

monthlyCostStorage

object (Money)

Storage monthly cost for this preference set.

monthlyCostDatabaseBackup

object (Money)

Output only. Backup monthly cost for this preference set. Only present for databases.

monthlyCostDatabaseLicensing

object (Money)

Output only. Database licensing monthly cost for this preference set. For virtual machines denotes the cost of licenses for hosted databases.

monthlyCostOther

object (Money)

Miscellaneous monthly cost for this preference set.

machineFinding

object (MachineFinding)

Output only. A set of findings that applies to all virtual machines in the input. Only present for virtual machines.

vmwareEngineFinding

object (VMWareEngineFinding)

A set of findings that applies to VMWare machines in the input. Only present for virtual machines.

soleTenantFinding

object (SoleTenantFinding)

A set of findings that applies to Stole-Tenant machines in the input. Only present for virtual machines.

databaseFinding

object (DatabaseFinding)

Output only. Details about databases in this finding. Only present for databases.

Money

Represents an amount of money with its currency type.

JSON representation
{
  "currencyCode": string,
  "units": string,
  "nanos": integer
}
Fields
currencyCode

string

The three-letter currency code defined in ISO 4217.

units

string (int64 format)

The whole units of the amount. For example if currencyCode is "USD", then 1 unit is one US dollar.

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.

MachineFinding

A set of findings that applies to assets of type Virtual/Physical Machine.

JSON representation
{
  "allocatedRegions": [
    string
  ],
  "allocatedAssetCount": string,
  "machineSeriesAllocations": [
    {
      object (MachineSeriesAllocation)
    }
  ],
  "allocatedDiskTypes": [
    enum (PersistentDiskType)
  ]
}
Fields
allocatedRegions[]

string

Set of regions in which the assets were allocated.

allocatedAssetCount

string (int64 format)

Count of assets which were allocated.

machineSeriesAllocations[]

object (MachineSeriesAllocation)

Distribution of assets based on the Machine Series.

allocatedDiskTypes[]

enum (PersistentDiskType)

Set of disk types allocated to assets.

MachineSeriesAllocation

Represents a data point tracking the count of assets allocated for a specific Machine Series.

JSON representation
{
  "machineSeries": {
    object (MachineSeries)
  },
  "allocatedAssetCount": string
}
Fields
machineSeries

object (MachineSeries)

The Machine Series (e.g. "E2", "N2")

allocatedAssetCount

string (int64 format)

Count of assets allocated to this machine series.

VMWareEngineFinding

A set of findings that applies to assets destined for VMWare Engine.

JSON representation
{
  "allocatedRegions": [
    string
  ],
  "allocatedAssetCount": string,
  "nodeAllocations": [
    {
      object (VMWareNodeAllocation)
    }
  ]
}
Fields
allocatedRegions[]

string

Set of regions in which the assets were allocated

allocatedAssetCount

string (int64 format)

Count of assets which are allocated

nodeAllocations[]

object (VMWareNodeAllocation)

Set of per-nodetype allocation records

VMWareNodeAllocation

Represents assets allocated to a specific VMWare Node type.

JSON representation
{
  "vmwareNode": {
    object (VMWareNode)
  },
  "nodeCount": string,
  "allocatedAssetCount": string
}
Fields
vmwareNode

object (VMWareNode)

VMWare node type, e.g. "ve1-standard-72"

nodeCount

string (int64 format)

Count of this node type to be provisioned

allocatedAssetCount

string (int64 format)

Count of assets allocated to these nodes

VMWareNode

A VMWare Engine Node

JSON representation
{
  "code": string
}
Fields
code

string

Code to identify VMware Engine node series, e.g. "ve1-standard-72". Based on the displayName of cloud.google.com/vmware-engine/docs/reference/rest/v1/projects.locations.nodeTypes

SoleTenantFinding

A set of findings that applies to assets destined for Sole-Tenant nodes.

JSON representation
{
  "allocatedRegions": [
    string
  ],
  "allocatedAssetCount": string,
  "nodeAllocations": [
    {
      object (SoleTenantNodeAllocation)
    }
  ]
}
Fields
allocatedRegions[]

string

Set of regions in which the assets are allocated

allocatedAssetCount

string (int64 format)

Count of assets which are allocated

nodeAllocations[]

object (SoleTenantNodeAllocation)

Set of per-nodetype allocation records

SoleTenantNodeAllocation

Represents the assets allocated to a specific Sole-Tenant node type.

JSON representation
{
  "node": {
    object (SoleTenantNodeType)
  },
  "nodeCount": string,
  "allocatedAssetCount": string
}
Fields
node

object (SoleTenantNodeType)

Sole Tenant node type, e.g. "m3-node-128-3904"

nodeCount

string (int64 format)

Count of this node type to be provisioned

allocatedAssetCount

string (int64 format)

Count of assets allocated to these nodes

DatabaseFinding

DatabaseFinding contains an aggregate costs and shapes for a single database type.

JSON representation
{
  "allocatedAssetCount": string,
  "totalAssets": string
}
Fields
allocatedAssetCount

string (int64 format)

Output only. Number of database assets which were successfully assigned in this finding.

totalAssets

string (int64 format)

Output only. Number of database assets in this finding.

Methods

create

Creates a report.

delete

Deletes a Report.

get

Gets details of a single Report.

list

Lists Reports in a given ReportConfig.