CostEstimationResult

The result of a estimating the costs of a CostScenario.

JSON representation
{
  "segmentCostEstimates": [
    {
      object (SegmentCostEstimate)
    }
  ],
  "skus": [
    {
      object (Sku)
    }
  ],
  "currencyCode": string
}
Fields
segmentCostEstimates[]

object (SegmentCostEstimate)

Required. Estimated costs for each idealized month of a CostScenario.

skus[]

object (Sku)

Required. Information about SKUs used in the estimate.

currencyCode

string

Required. The ISO 4217 currency code for the cost estimate.

SegmentCostEstimate

Workload cost estimates for a single time segment.

JSON representation
{
  "segmentStartTime": {
    object (EstimationTimePoint)
  },
  "workloadCostEstimates": [
    {
      object (WorkloadCostEstimate)
    }
  ],
  "commitmentCostEstimates": [
    {
      object (CommitmentCostEstimate)
    }
  ],
  "segmentTotalCostEstimate": {
    object (CostEstimate)
  }
}
Fields
segmentStartTime

object (EstimationTimePoint)

Timestamp for the start of the segment.

workloadCostEstimates[]

object (WorkloadCostEstimate)

Estimated costs for each workload.

commitmentCostEstimates[]

object (CommitmentCostEstimate)

Estimated costs for each commitment.

segmentTotalCostEstimate

object (CostEstimate)

Total estimated costs for the time segment.

WorkloadCostEstimate

Estimated cost for a workload.

JSON representation
{
  "name": string,
  "skuCostEstimates": [
    {
      object (SkuCostEstimate)
    }
  ],
  "workloadTotalCostEstimate": {
    object (CostEstimate)
  }
}
Fields
name

string

The name of the workload, as specified in the CostScenario.

skuCostEstimates[]

object (SkuCostEstimate)

Estimated costs for each SKU in the workload.

workloadTotalCostEstimate

object (CostEstimate)

Total estimated costs for the workload.

SkuCostEstimate

Estimated cost for usage on a SKU.

JSON representation
{
  "sku": string,
  "usageAmount": number,
  "usageUnit": string,
  "costEstimate": {
    object (CostEstimate)
  }
}
Fields
sku

string

The resource name for the SKU. Example: "services/DA34-426B-A397/skus/AA95-CD31-42FE"

More information about the SKU can be found in the skus field of the CostEstimationResult.

usageAmount

number

The amount of usage on this SKU.

usageUnit

string

The unit for the usage on this SKU.

costEstimate

object (CostEstimate)

The estimated cost for the usage on this SKU.

CostEstimate

An estimated cost.

JSON representation
{
  "preCreditCostEstimate": {
    object (Money)
  },
  "creditEstimates": [
    {
      object (CreditEstimate)
    }
  ],
  "netCostEstimate": {
    object (Money)
  }
}
Fields
preCreditCostEstimate

object (Money)

The estimated cost prior to applying credits.

creditEstimates[]

object (CreditEstimate)

The estimated credits applied.

netCostEstimate

object (Money)

The estimated net cost after applying credits.

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.

CreditEstimate

An estimated credit applied to the costs on a SKU.

JSON representation
{
  "creditAmount": {
    object (Money)
  },
  "creditType": string,
  "creditDescription": string
}
Fields
creditAmount

object (Money)

The estimated credit amount.

creditType

string

The credit type.

creditDescription

string

The credit description.

CommitmentCostEstimate

Estimated cost for a commitment.

JSON representation
{
  "name": string,
  "skuCostEstimates": [
    {
      object (SkuCostEstimate)
    }
  ],
  "commitmentTotalCostEstimate": {
    object (CostEstimate)
  }
}
Fields
name

string

The name of the commitment, as specified in the CostScenario.

skuCostEstimates[]

object (SkuCostEstimate)

Estimated costs for each SKU in the commitment.

commitmentTotalCostEstimate

object (CostEstimate)

Total estimated costs for the commitment.

Sku

Information about SKUs appearing in the cost estimate.

JSON representation
{
  "sku": string,
  "displayName": string,
  "prices": [
    {
      object (Price)
    }
  ]
}
Fields
sku

string

The resource name for the SKU. Example: "services/DA34-426B-A397/skus/AA95-CD31-42FE"

displayName

string

The display name for the SKU. Example: A2 Instance Core running in Americas

prices[]

object (Price)

A timeline of prices for a SKU in chronological order.

Note: The API currently only supports using a constant price for the entire estimation time frame so this list will contain a single value.

Price

The price of a SKU at a point int time.

JSON representation
{
  "priceType": string,
  "effectiveTime": {
    object (EstimationTimePoint)
  },

  // Union field price can be only one of the following:
  "rate": {
    object (Rate)
  }
  // End of list of possible types for union field price.
}
Fields
priceType

string

The type of price. Possible values: "RATE"

effectiveTime

object (EstimationTimePoint)

The timestamp within the estimation time frame when the price was set.

Union field price.

price can be only one of the following:

rate

object (Rate)

A set of tiered rates.

Rate

A SKU price consisting of tiered rates.

JSON representation
{
  "tiers": [
    {
      object (RateTier)
    }
  ],
  "unit": string,
  "unitCount": number
}
Fields
tiers[]

object (RateTier)

The service tiers.

unit

string

The SKU's pricing unit. For example, if the tier price is $1 per 1000000 Bytes, then this field will show 'By'. The startAmount field in each tier will be in this unit.

unitCount

number

The SKU's count for the pricing unit. For example, if the tier price is $1 per 1000000 Bytes, then this column will show 1000000.

RateTier

Pricing details for a service tier.

JSON representation
{
  "startAmount": number,
  "price": {
    object (Money)
  }
}
Fields
startAmount

number

The magnitude of usage in which the tier interval begins. Example: "From 100 GiBi the price is $1 per byte" implies startAmount = 100

price

object (Money)

The price for this tier.