Cloud Billing API
POST
cloudbilling.billingAccounts.estimateCostScenario
{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario
QUERY PARAMS
billingAccount
BODY json
{
"costScenario": {
"commitments": [
{
"name": "",
"vmResourceBasedCud": {
"guestAccelerator": {
"acceleratorCount": "",
"acceleratorType": ""
},
"machineSeries": "",
"memorySizeGb": "",
"plan": "",
"region": "",
"virtualCpuCount": ""
}
}
],
"scenarioConfig": {
"estimateDuration": ""
},
"workloads": [
{
"cloudCdnEgressWorkload": {
"cacheEgressDestination": "",
"cacheEgressRate": {
"usageRateTimeline": {
"unit": "",
"usageRateTimelineEntries": [
{
"effectiveTime": {
"estimationTimeFrameOffset": ""
},
"usageRate": ""
}
]
}
}
},
"cloudCdnWorkload": {
"cacheFillOriginService": "",
"cacheFillRate": {},
"cacheFillRegions": {
"destinationRegion": "",
"sourceRegion": ""
},
"cacheLookUpRate": {}
},
"cloudInterconnectEgressWorkload": {
"egressRate": {},
"interconnectConnectionLocation": ""
},
"cloudInterconnectWorkload": {
"interconnectAttachments": [
{
"bandwidth": "",
"vlanCount": {}
}
],
"interconnectType": "",
"linkType": "",
"provisionedLinkCount": {}
},
"cloudStorageEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceContinent": ""
},
"cloudStorageWorkload": {
"dataRetrieval": {},
"dataStored": {},
"dualRegion": {
"name": ""
},
"multiRegion": {
"name": ""
},
"operationA": {},
"operationB": {},
"region": {
"name": ""
},
"storageClass": ""
},
"computeVmWorkload": {
"enableConfidentialCompute": false,
"guestAccelerator": {},
"instancesRunning": {},
"licenses": [],
"machineType": {
"customMachineType": {
"machineSeries": "",
"memorySizeGb": "",
"virtualCpuCount": ""
},
"predefinedMachineType": {
"machineType": ""
}
},
"persistentDisks": [
{
"diskSize": {},
"diskType": "",
"provisionedIops": {},
"scope": ""
}
],
"preemptible": false,
"region": ""
},
"name": "",
"premiumTierEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceRegion": ""
},
"standardTierEgressWorkload": {
"egressRate": {},
"sourceRegion": ""
},
"vmToVmEgressWorkload": {
"interRegionEgress": {
"destinationRegion": "",
"egressRate": {},
"sourceRegion": ""
},
"intraRegionEgress": {
"egressRate": {}
}
}
}
]
}
}
Examples
REQUEST
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}");
CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])
(client/post "{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario" {:content-type :json
:form-params {:costScenario {:commitments [{:name ""
:vmResourceBasedCud {:guestAccelerator {:acceleratorCount ""
:acceleratorType ""}
:machineSeries ""
:memorySizeGb ""
:plan ""
:region ""
:virtualCpuCount ""}}]
:scenarioConfig {:estimateDuration ""}
:workloads [{:cloudCdnEgressWorkload {:cacheEgressDestination ""
:cacheEgressRate {:usageRateTimeline {:unit ""
:usageRateTimelineEntries [{:effectiveTime {:estimationTimeFrameOffset ""}
:usageRate ""}]}}}
:cloudCdnWorkload {:cacheFillOriginService ""
:cacheFillRate {}
:cacheFillRegions {:destinationRegion ""
:sourceRegion ""}
:cacheLookUpRate {}}
:cloudInterconnectEgressWorkload {:egressRate {}
:interconnectConnectionLocation ""}
:cloudInterconnectWorkload {:interconnectAttachments [{:bandwidth ""
:vlanCount {}}]
:interconnectType ""
:linkType ""
:provisionedLinkCount {}}
:cloudStorageEgressWorkload {:destinationContinent ""
:egressRate {}
:sourceContinent ""}
:cloudStorageWorkload {:dataRetrieval {}
:dataStored {}
:dualRegion {:name ""}
:multiRegion {:name ""}
:operationA {}
:operationB {}
:region {:name ""}
:storageClass ""}
:computeVmWorkload {:enableConfidentialCompute false
:guestAccelerator {}
:instancesRunning {}
:licenses []
:machineType {:customMachineType {:machineSeries ""
:memorySizeGb ""
:virtualCpuCount ""}
:predefinedMachineType {:machineType ""}}
:persistentDisks [{:diskSize {}
:diskType ""
:provisionedIops {}
:scope ""}]
:preemptible false
:region ""}
:name ""
:premiumTierEgressWorkload {:destinationContinent ""
:egressRate {}
:sourceRegion ""}
:standardTierEgressWorkload {:egressRate {}
:sourceRegion ""}
:vmToVmEgressWorkload {:interRegionEgress {:destinationRegion ""
:egressRate {}
:sourceRegion ""}
:intraRegionEgress {:egressRate {}}}}]}}})
require "http/client"
url = "{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario"
headers = HTTP::Headers{
"content-type" => "application/json"
}
reqBody = "{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}"
response = HTTP::Client.post url, headers: headers, body: reqBody
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario"),
Content = new StringContent("{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario"
payload := strings.NewReader("{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
POST /baseUrl/v1beta/:billingAccount:estimateCostScenario HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 3377
{
"costScenario": {
"commitments": [
{
"name": "",
"vmResourceBasedCud": {
"guestAccelerator": {
"acceleratorCount": "",
"acceleratorType": ""
},
"machineSeries": "",
"memorySizeGb": "",
"plan": "",
"region": "",
"virtualCpuCount": ""
}
}
],
"scenarioConfig": {
"estimateDuration": ""
},
"workloads": [
{
"cloudCdnEgressWorkload": {
"cacheEgressDestination": "",
"cacheEgressRate": {
"usageRateTimeline": {
"unit": "",
"usageRateTimelineEntries": [
{
"effectiveTime": {
"estimationTimeFrameOffset": ""
},
"usageRate": ""
}
]
}
}
},
"cloudCdnWorkload": {
"cacheFillOriginService": "",
"cacheFillRate": {},
"cacheFillRegions": {
"destinationRegion": "",
"sourceRegion": ""
},
"cacheLookUpRate": {}
},
"cloudInterconnectEgressWorkload": {
"egressRate": {},
"interconnectConnectionLocation": ""
},
"cloudInterconnectWorkload": {
"interconnectAttachments": [
{
"bandwidth": "",
"vlanCount": {}
}
],
"interconnectType": "",
"linkType": "",
"provisionedLinkCount": {}
},
"cloudStorageEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceContinent": ""
},
"cloudStorageWorkload": {
"dataRetrieval": {},
"dataStored": {},
"dualRegion": {
"name": ""
},
"multiRegion": {
"name": ""
},
"operationA": {},
"operationB": {},
"region": {
"name": ""
},
"storageClass": ""
},
"computeVmWorkload": {
"enableConfidentialCompute": false,
"guestAccelerator": {},
"instancesRunning": {},
"licenses": [],
"machineType": {
"customMachineType": {
"machineSeries": "",
"memorySizeGb": "",
"virtualCpuCount": ""
},
"predefinedMachineType": {
"machineType": ""
}
},
"persistentDisks": [
{
"diskSize": {},
"diskType": "",
"provisionedIops": {},
"scope": ""
}
],
"preemptible": false,
"region": ""
},
"name": "",
"premiumTierEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceRegion": ""
},
"standardTierEgressWorkload": {
"egressRate": {},
"sourceRegion": ""
},
"vmToVmEgressWorkload": {
"interRegionEgress": {
"destinationRegion": "",
"egressRate": {},
"sourceRegion": ""
},
"intraRegionEgress": {
"egressRate": {}
}
}
}
]
}
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario")
.setHeader("content-type", "application/json")
.setBody("{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}")
.execute()
.toCompletableFuture()
.thenAccept(System.out::println)
.join();
client.close();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario"))
.header("content-type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}"))
.build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}");
Request request = new Request.Builder()
.url("{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario")
.post(body)
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario")
.header("content-type", "application/json")
.body("{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}")
.asString();
const data = JSON.stringify({
costScenario: {
commitments: [
{
name: '',
vmResourceBasedCud: {
guestAccelerator: {
acceleratorCount: '',
acceleratorType: ''
},
machineSeries: '',
memorySizeGb: '',
plan: '',
region: '',
virtualCpuCount: ''
}
}
],
scenarioConfig: {
estimateDuration: ''
},
workloads: [
{
cloudCdnEgressWorkload: {
cacheEgressDestination: '',
cacheEgressRate: {
usageRateTimeline: {
unit: '',
usageRateTimelineEntries: [
{
effectiveTime: {
estimationTimeFrameOffset: ''
},
usageRate: ''
}
]
}
}
},
cloudCdnWorkload: {
cacheFillOriginService: '',
cacheFillRate: {},
cacheFillRegions: {
destinationRegion: '',
sourceRegion: ''
},
cacheLookUpRate: {}
},
cloudInterconnectEgressWorkload: {
egressRate: {},
interconnectConnectionLocation: ''
},
cloudInterconnectWorkload: {
interconnectAttachments: [
{
bandwidth: '',
vlanCount: {}
}
],
interconnectType: '',
linkType: '',
provisionedLinkCount: {}
},
cloudStorageEgressWorkload: {
destinationContinent: '',
egressRate: {},
sourceContinent: ''
},
cloudStorageWorkload: {
dataRetrieval: {},
dataStored: {},
dualRegion: {
name: ''
},
multiRegion: {
name: ''
},
operationA: {},
operationB: {},
region: {
name: ''
},
storageClass: ''
},
computeVmWorkload: {
enableConfidentialCompute: false,
guestAccelerator: {},
instancesRunning: {},
licenses: [],
machineType: {
customMachineType: {
machineSeries: '',
memorySizeGb: '',
virtualCpuCount: ''
},
predefinedMachineType: {
machineType: ''
}
},
persistentDisks: [
{
diskSize: {},
diskType: '',
provisionedIops: {},
scope: ''
}
],
preemptible: false,
region: ''
},
name: '',
premiumTierEgressWorkload: {
destinationContinent: '',
egressRate: {},
sourceRegion: ''
},
standardTierEgressWorkload: {
egressRate: {},
sourceRegion: ''
},
vmToVmEgressWorkload: {
interRegionEgress: {
destinationRegion: '',
egressRate: {},
sourceRegion: ''
},
intraRegionEgress: {
egressRate: {}
}
}
}
]
}
});
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener('readystatechange', function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open('POST', '{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario');
xhr.setRequestHeader('content-type', 'application/json');
xhr.send(data);
import axios from 'axios';
const options = {
method: 'POST',
url: '{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario',
headers: {'content-type': 'application/json'},
data: {
costScenario: {
commitments: [
{
name: '',
vmResourceBasedCud: {
guestAccelerator: {acceleratorCount: '', acceleratorType: ''},
machineSeries: '',
memorySizeGb: '',
plan: '',
region: '',
virtualCpuCount: ''
}
}
],
scenarioConfig: {estimateDuration: ''},
workloads: [
{
cloudCdnEgressWorkload: {
cacheEgressDestination: '',
cacheEgressRate: {
usageRateTimeline: {
unit: '',
usageRateTimelineEntries: [{effectiveTime: {estimationTimeFrameOffset: ''}, usageRate: ''}]
}
}
},
cloudCdnWorkload: {
cacheFillOriginService: '',
cacheFillRate: {},
cacheFillRegions: {destinationRegion: '', sourceRegion: ''},
cacheLookUpRate: {}
},
cloudInterconnectEgressWorkload: {egressRate: {}, interconnectConnectionLocation: ''},
cloudInterconnectWorkload: {
interconnectAttachments: [{bandwidth: '', vlanCount: {}}],
interconnectType: '',
linkType: '',
provisionedLinkCount: {}
},
cloudStorageEgressWorkload: {destinationContinent: '', egressRate: {}, sourceContinent: ''},
cloudStorageWorkload: {
dataRetrieval: {},
dataStored: {},
dualRegion: {name: ''},
multiRegion: {name: ''},
operationA: {},
operationB: {},
region: {name: ''},
storageClass: ''
},
computeVmWorkload: {
enableConfidentialCompute: false,
guestAccelerator: {},
instancesRunning: {},
licenses: [],
machineType: {
customMachineType: {machineSeries: '', memorySizeGb: '', virtualCpuCount: ''},
predefinedMachineType: {machineType: ''}
},
persistentDisks: [{diskSize: {}, diskType: '', provisionedIops: {}, scope: ''}],
preemptible: false,
region: ''
},
name: '',
premiumTierEgressWorkload: {destinationContinent: '', egressRate: {}, sourceRegion: ''},
standardTierEgressWorkload: {egressRate: {}, sourceRegion: ''},
vmToVmEgressWorkload: {
interRegionEgress: {destinationRegion: '', egressRate: {}, sourceRegion: ''},
intraRegionEgress: {egressRate: {}}
}
}
]
}
}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const url = '{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario';
const options = {
method: 'POST',
headers: {'content-type': 'application/json'},
body: '{"costScenario":{"commitments":[{"name":"","vmResourceBasedCud":{"guestAccelerator":{"acceleratorCount":"","acceleratorType":""},"machineSeries":"","memorySizeGb":"","plan":"","region":"","virtualCpuCount":""}}],"scenarioConfig":{"estimateDuration":""},"workloads":[{"cloudCdnEgressWorkload":{"cacheEgressDestination":"","cacheEgressRate":{"usageRateTimeline":{"unit":"","usageRateTimelineEntries":[{"effectiveTime":{"estimationTimeFrameOffset":""},"usageRate":""}]}}},"cloudCdnWorkload":{"cacheFillOriginService":"","cacheFillRate":{},"cacheFillRegions":{"destinationRegion":"","sourceRegion":""},"cacheLookUpRate":{}},"cloudInterconnectEgressWorkload":{"egressRate":{},"interconnectConnectionLocation":""},"cloudInterconnectWorkload":{"interconnectAttachments":[{"bandwidth":"","vlanCount":{}}],"interconnectType":"","linkType":"","provisionedLinkCount":{}},"cloudStorageEgressWorkload":{"destinationContinent":"","egressRate":{},"sourceContinent":""},"cloudStorageWorkload":{"dataRetrieval":{},"dataStored":{},"dualRegion":{"name":""},"multiRegion":{"name":""},"operationA":{},"operationB":{},"region":{"name":""},"storageClass":""},"computeVmWorkload":{"enableConfidentialCompute":false,"guestAccelerator":{},"instancesRunning":{},"licenses":[],"machineType":{"customMachineType":{"machineSeries":"","memorySizeGb":"","virtualCpuCount":""},"predefinedMachineType":{"machineType":""}},"persistentDisks":[{"diskSize":{},"diskType":"","provisionedIops":{},"scope":""}],"preemptible":false,"region":""},"name":"","premiumTierEgressWorkload":{"destinationContinent":"","egressRate":{},"sourceRegion":""},"standardTierEgressWorkload":{"egressRate":{},"sourceRegion":""},"vmToVmEgressWorkload":{"interRegionEgress":{"destinationRegion":"","egressRate":{},"sourceRegion":""},"intraRegionEgress":{"egressRate":{}}}}]}}'
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
const settings = {
async: true,
crossDomain: true,
url: '{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario',
method: 'POST',
headers: {
'content-type': 'application/json'
},
processData: false,
data: '{\n "costScenario": {\n "commitments": [\n {\n "name": "",\n "vmResourceBasedCud": {\n "guestAccelerator": {\n "acceleratorCount": "",\n "acceleratorType": ""\n },\n "machineSeries": "",\n "memorySizeGb": "",\n "plan": "",\n "region": "",\n "virtualCpuCount": ""\n }\n }\n ],\n "scenarioConfig": {\n "estimateDuration": ""\n },\n "workloads": [\n {\n "cloudCdnEgressWorkload": {\n "cacheEgressDestination": "",\n "cacheEgressRate": {\n "usageRateTimeline": {\n "unit": "",\n "usageRateTimelineEntries": [\n {\n "effectiveTime": {\n "estimationTimeFrameOffset": ""\n },\n "usageRate": ""\n }\n ]\n }\n }\n },\n "cloudCdnWorkload": {\n "cacheFillOriginService": "",\n "cacheFillRate": {},\n "cacheFillRegions": {\n "destinationRegion": "",\n "sourceRegion": ""\n },\n "cacheLookUpRate": {}\n },\n "cloudInterconnectEgressWorkload": {\n "egressRate": {},\n "interconnectConnectionLocation": ""\n },\n "cloudInterconnectWorkload": {\n "interconnectAttachments": [\n {\n "bandwidth": "",\n "vlanCount": {}\n }\n ],\n "interconnectType": "",\n "linkType": "",\n "provisionedLinkCount": {}\n },\n "cloudStorageEgressWorkload": {\n "destinationContinent": "",\n "egressRate": {},\n "sourceContinent": ""\n },\n "cloudStorageWorkload": {\n "dataRetrieval": {},\n "dataStored": {},\n "dualRegion": {\n "name": ""\n },\n "multiRegion": {\n "name": ""\n },\n "operationA": {},\n "operationB": {},\n "region": {\n "name": ""\n },\n "storageClass": ""\n },\n "computeVmWorkload": {\n "enableConfidentialCompute": false,\n "guestAccelerator": {},\n "instancesRunning": {},\n "licenses": [],\n "machineType": {\n "customMachineType": {\n "machineSeries": "",\n "memorySizeGb": "",\n "virtualCpuCount": ""\n },\n "predefinedMachineType": {\n "machineType": ""\n }\n },\n "persistentDisks": [\n {\n "diskSize": {},\n "diskType": "",\n "provisionedIops": {},\n "scope": ""\n }\n ],\n "preemptible": false,\n "region": ""\n },\n "name": "",\n "premiumTierEgressWorkload": {\n "destinationContinent": "",\n "egressRate": {},\n "sourceRegion": ""\n },\n "standardTierEgressWorkload": {\n "egressRate": {},\n "sourceRegion": ""\n },\n "vmToVmEgressWorkload": {\n "interRegionEgress": {\n "destinationRegion": "",\n "egressRate": {},\n "sourceRegion": ""\n },\n "intraRegionEgress": {\n "egressRate": {}\n }\n }\n }\n ]\n }\n}'
};
$.ajax(settings).done(function (response) {
console.log(response);
});
val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}")
val request = Request.Builder()
.url("{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario")
.post(body)
.addHeader("content-type", "application/json")
.build()
val response = client.newCall(request).execute()
const http = require('https');
const options = {
method: 'POST',
hostname: 'example.com',
port: null,
path: '/baseUrl/v1beta/:billingAccount:estimateCostScenario',
headers: {
'content-type': 'application/json'
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({
costScenario: {
commitments: [
{
name: '',
vmResourceBasedCud: {
guestAccelerator: {acceleratorCount: '', acceleratorType: ''},
machineSeries: '',
memorySizeGb: '',
plan: '',
region: '',
virtualCpuCount: ''
}
}
],
scenarioConfig: {estimateDuration: ''},
workloads: [
{
cloudCdnEgressWorkload: {
cacheEgressDestination: '',
cacheEgressRate: {
usageRateTimeline: {
unit: '',
usageRateTimelineEntries: [{effectiveTime: {estimationTimeFrameOffset: ''}, usageRate: ''}]
}
}
},
cloudCdnWorkload: {
cacheFillOriginService: '',
cacheFillRate: {},
cacheFillRegions: {destinationRegion: '', sourceRegion: ''},
cacheLookUpRate: {}
},
cloudInterconnectEgressWorkload: {egressRate: {}, interconnectConnectionLocation: ''},
cloudInterconnectWorkload: {
interconnectAttachments: [{bandwidth: '', vlanCount: {}}],
interconnectType: '',
linkType: '',
provisionedLinkCount: {}
},
cloudStorageEgressWorkload: {destinationContinent: '', egressRate: {}, sourceContinent: ''},
cloudStorageWorkload: {
dataRetrieval: {},
dataStored: {},
dualRegion: {name: ''},
multiRegion: {name: ''},
operationA: {},
operationB: {},
region: {name: ''},
storageClass: ''
},
computeVmWorkload: {
enableConfidentialCompute: false,
guestAccelerator: {},
instancesRunning: {},
licenses: [],
machineType: {
customMachineType: {machineSeries: '', memorySizeGb: '', virtualCpuCount: ''},
predefinedMachineType: {machineType: ''}
},
persistentDisks: [{diskSize: {}, diskType: '', provisionedIops: {}, scope: ''}],
preemptible: false,
region: ''
},
name: '',
premiumTierEgressWorkload: {destinationContinent: '', egressRate: {}, sourceRegion: ''},
standardTierEgressWorkload: {egressRate: {}, sourceRegion: ''},
vmToVmEgressWorkload: {
interRegionEgress: {destinationRegion: '', egressRate: {}, sourceRegion: ''},
intraRegionEgress: {egressRate: {}}
}
}
]
}
}));
req.end();
const request = require('request');
const options = {
method: 'POST',
url: '{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario',
headers: {'content-type': 'application/json'},
body: {
costScenario: {
commitments: [
{
name: '',
vmResourceBasedCud: {
guestAccelerator: {acceleratorCount: '', acceleratorType: ''},
machineSeries: '',
memorySizeGb: '',
plan: '',
region: '',
virtualCpuCount: ''
}
}
],
scenarioConfig: {estimateDuration: ''},
workloads: [
{
cloudCdnEgressWorkload: {
cacheEgressDestination: '',
cacheEgressRate: {
usageRateTimeline: {
unit: '',
usageRateTimelineEntries: [{effectiveTime: {estimationTimeFrameOffset: ''}, usageRate: ''}]
}
}
},
cloudCdnWorkload: {
cacheFillOriginService: '',
cacheFillRate: {},
cacheFillRegions: {destinationRegion: '', sourceRegion: ''},
cacheLookUpRate: {}
},
cloudInterconnectEgressWorkload: {egressRate: {}, interconnectConnectionLocation: ''},
cloudInterconnectWorkload: {
interconnectAttachments: [{bandwidth: '', vlanCount: {}}],
interconnectType: '',
linkType: '',
provisionedLinkCount: {}
},
cloudStorageEgressWorkload: {destinationContinent: '', egressRate: {}, sourceContinent: ''},
cloudStorageWorkload: {
dataRetrieval: {},
dataStored: {},
dualRegion: {name: ''},
multiRegion: {name: ''},
operationA: {},
operationB: {},
region: {name: ''},
storageClass: ''
},
computeVmWorkload: {
enableConfidentialCompute: false,
guestAccelerator: {},
instancesRunning: {},
licenses: [],
machineType: {
customMachineType: {machineSeries: '', memorySizeGb: '', virtualCpuCount: ''},
predefinedMachineType: {machineType: ''}
},
persistentDisks: [{diskSize: {}, diskType: '', provisionedIops: {}, scope: ''}],
preemptible: false,
region: ''
},
name: '',
premiumTierEgressWorkload: {destinationContinent: '', egressRate: {}, sourceRegion: ''},
standardTierEgressWorkload: {egressRate: {}, sourceRegion: ''},
vmToVmEgressWorkload: {
interRegionEgress: {destinationRegion: '', egressRate: {}, sourceRegion: ''},
intraRegionEgress: {egressRate: {}}
}
}
]
}
},
json: true
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
const unirest = require('unirest');
const req = unirest('POST', '{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario');
req.headers({
'content-type': 'application/json'
});
req.type('json');
req.send({
costScenario: {
commitments: [
{
name: '',
vmResourceBasedCud: {
guestAccelerator: {
acceleratorCount: '',
acceleratorType: ''
},
machineSeries: '',
memorySizeGb: '',
plan: '',
region: '',
virtualCpuCount: ''
}
}
],
scenarioConfig: {
estimateDuration: ''
},
workloads: [
{
cloudCdnEgressWorkload: {
cacheEgressDestination: '',
cacheEgressRate: {
usageRateTimeline: {
unit: '',
usageRateTimelineEntries: [
{
effectiveTime: {
estimationTimeFrameOffset: ''
},
usageRate: ''
}
]
}
}
},
cloudCdnWorkload: {
cacheFillOriginService: '',
cacheFillRate: {},
cacheFillRegions: {
destinationRegion: '',
sourceRegion: ''
},
cacheLookUpRate: {}
},
cloudInterconnectEgressWorkload: {
egressRate: {},
interconnectConnectionLocation: ''
},
cloudInterconnectWorkload: {
interconnectAttachments: [
{
bandwidth: '',
vlanCount: {}
}
],
interconnectType: '',
linkType: '',
provisionedLinkCount: {}
},
cloudStorageEgressWorkload: {
destinationContinent: '',
egressRate: {},
sourceContinent: ''
},
cloudStorageWorkload: {
dataRetrieval: {},
dataStored: {},
dualRegion: {
name: ''
},
multiRegion: {
name: ''
},
operationA: {},
operationB: {},
region: {
name: ''
},
storageClass: ''
},
computeVmWorkload: {
enableConfidentialCompute: false,
guestAccelerator: {},
instancesRunning: {},
licenses: [],
machineType: {
customMachineType: {
machineSeries: '',
memorySizeGb: '',
virtualCpuCount: ''
},
predefinedMachineType: {
machineType: ''
}
},
persistentDisks: [
{
diskSize: {},
diskType: '',
provisionedIops: {},
scope: ''
}
],
preemptible: false,
region: ''
},
name: '',
premiumTierEgressWorkload: {
destinationContinent: '',
egressRate: {},
sourceRegion: ''
},
standardTierEgressWorkload: {
egressRate: {},
sourceRegion: ''
},
vmToVmEgressWorkload: {
interRegionEgress: {
destinationRegion: '',
egressRate: {},
sourceRegion: ''
},
intraRegionEgress: {
egressRate: {}
}
}
}
]
}
});
req.end(function (res) {
if (res.error) throw new Error(res.error);
console.log(res.body);
});
const axios = require('axios').default;
const options = {
method: 'POST',
url: '{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario',
headers: {'content-type': 'application/json'},
data: {
costScenario: {
commitments: [
{
name: '',
vmResourceBasedCud: {
guestAccelerator: {acceleratorCount: '', acceleratorType: ''},
machineSeries: '',
memorySizeGb: '',
plan: '',
region: '',
virtualCpuCount: ''
}
}
],
scenarioConfig: {estimateDuration: ''},
workloads: [
{
cloudCdnEgressWorkload: {
cacheEgressDestination: '',
cacheEgressRate: {
usageRateTimeline: {
unit: '',
usageRateTimelineEntries: [{effectiveTime: {estimationTimeFrameOffset: ''}, usageRate: ''}]
}
}
},
cloudCdnWorkload: {
cacheFillOriginService: '',
cacheFillRate: {},
cacheFillRegions: {destinationRegion: '', sourceRegion: ''},
cacheLookUpRate: {}
},
cloudInterconnectEgressWorkload: {egressRate: {}, interconnectConnectionLocation: ''},
cloudInterconnectWorkload: {
interconnectAttachments: [{bandwidth: '', vlanCount: {}}],
interconnectType: '',
linkType: '',
provisionedLinkCount: {}
},
cloudStorageEgressWorkload: {destinationContinent: '', egressRate: {}, sourceContinent: ''},
cloudStorageWorkload: {
dataRetrieval: {},
dataStored: {},
dualRegion: {name: ''},
multiRegion: {name: ''},
operationA: {},
operationB: {},
region: {name: ''},
storageClass: ''
},
computeVmWorkload: {
enableConfidentialCompute: false,
guestAccelerator: {},
instancesRunning: {},
licenses: [],
machineType: {
customMachineType: {machineSeries: '', memorySizeGb: '', virtualCpuCount: ''},
predefinedMachineType: {machineType: ''}
},
persistentDisks: [{diskSize: {}, diskType: '', provisionedIops: {}, scope: ''}],
preemptible: false,
region: ''
},
name: '',
premiumTierEgressWorkload: {destinationContinent: '', egressRate: {}, sourceRegion: ''},
standardTierEgressWorkload: {egressRate: {}, sourceRegion: ''},
vmToVmEgressWorkload: {
interRegionEgress: {destinationRegion: '', egressRate: {}, sourceRegion: ''},
intraRegionEgress: {egressRate: {}}
}
}
]
}
}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const fetch = require('node-fetch');
const url = '{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario';
const options = {
method: 'POST',
headers: {'content-type': 'application/json'},
body: '{"costScenario":{"commitments":[{"name":"","vmResourceBasedCud":{"guestAccelerator":{"acceleratorCount":"","acceleratorType":""},"machineSeries":"","memorySizeGb":"","plan":"","region":"","virtualCpuCount":""}}],"scenarioConfig":{"estimateDuration":""},"workloads":[{"cloudCdnEgressWorkload":{"cacheEgressDestination":"","cacheEgressRate":{"usageRateTimeline":{"unit":"","usageRateTimelineEntries":[{"effectiveTime":{"estimationTimeFrameOffset":""},"usageRate":""}]}}},"cloudCdnWorkload":{"cacheFillOriginService":"","cacheFillRate":{},"cacheFillRegions":{"destinationRegion":"","sourceRegion":""},"cacheLookUpRate":{}},"cloudInterconnectEgressWorkload":{"egressRate":{},"interconnectConnectionLocation":""},"cloudInterconnectWorkload":{"interconnectAttachments":[{"bandwidth":"","vlanCount":{}}],"interconnectType":"","linkType":"","provisionedLinkCount":{}},"cloudStorageEgressWorkload":{"destinationContinent":"","egressRate":{},"sourceContinent":""},"cloudStorageWorkload":{"dataRetrieval":{},"dataStored":{},"dualRegion":{"name":""},"multiRegion":{"name":""},"operationA":{},"operationB":{},"region":{"name":""},"storageClass":""},"computeVmWorkload":{"enableConfidentialCompute":false,"guestAccelerator":{},"instancesRunning":{},"licenses":[],"machineType":{"customMachineType":{"machineSeries":"","memorySizeGb":"","virtualCpuCount":""},"predefinedMachineType":{"machineType":""}},"persistentDisks":[{"diskSize":{},"diskType":"","provisionedIops":{},"scope":""}],"preemptible":false,"region":""},"name":"","premiumTierEgressWorkload":{"destinationContinent":"","egressRate":{},"sourceRegion":""},"standardTierEgressWorkload":{"egressRate":{},"sourceRegion":""},"vmToVmEgressWorkload":{"interRegionEgress":{"destinationRegion":"","egressRate":{},"sourceRegion":""},"intraRegionEgress":{"egressRate":{}}}}]}}'
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
#import
NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"costScenario": @{ @"commitments": @[ @{ @"name": @"", @"vmResourceBasedCud": @{ @"guestAccelerator": @{ @"acceleratorCount": @"", @"acceleratorType": @"" }, @"machineSeries": @"", @"memorySizeGb": @"", @"plan": @"", @"region": @"", @"virtualCpuCount": @"" } } ], @"scenarioConfig": @{ @"estimateDuration": @"" }, @"workloads": @[ @{ @"cloudCdnEgressWorkload": @{ @"cacheEgressDestination": @"", @"cacheEgressRate": @{ @"usageRateTimeline": @{ @"unit": @"", @"usageRateTimelineEntries": @[ @{ @"effectiveTime": @{ @"estimationTimeFrameOffset": @"" }, @"usageRate": @"" } ] } } }, @"cloudCdnWorkload": @{ @"cacheFillOriginService": @"", @"cacheFillRate": @{ }, @"cacheFillRegions": @{ @"destinationRegion": @"", @"sourceRegion": @"" }, @"cacheLookUpRate": @{ } }, @"cloudInterconnectEgressWorkload": @{ @"egressRate": @{ }, @"interconnectConnectionLocation": @"" }, @"cloudInterconnectWorkload": @{ @"interconnectAttachments": @[ @{ @"bandwidth": @"", @"vlanCount": @{ } } ], @"interconnectType": @"", @"linkType": @"", @"provisionedLinkCount": @{ } }, @"cloudStorageEgressWorkload": @{ @"destinationContinent": @"", @"egressRate": @{ }, @"sourceContinent": @"" }, @"cloudStorageWorkload": @{ @"dataRetrieval": @{ }, @"dataStored": @{ }, @"dualRegion": @{ @"name": @"" }, @"multiRegion": @{ @"name": @"" }, @"operationA": @{ }, @"operationB": @{ }, @"region": @{ @"name": @"" }, @"storageClass": @"" }, @"computeVmWorkload": @{ @"enableConfidentialCompute": @NO, @"guestAccelerator": @{ }, @"instancesRunning": @{ }, @"licenses": @[ ], @"machineType": @{ @"customMachineType": @{ @"machineSeries": @"", @"memorySizeGb": @"", @"virtualCpuCount": @"" }, @"predefinedMachineType": @{ @"machineType": @"" } }, @"persistentDisks": @[ @{ @"diskSize": @{ }, @"diskType": @"", @"provisionedIops": @{ }, @"scope": @"" } ], @"preemptible": @NO, @"region": @"" }, @"name": @"", @"premiumTierEgressWorkload": @{ @"destinationContinent": @"", @"egressRate": @{ }, @"sourceRegion": @"" }, @"standardTierEgressWorkload": @{ @"egressRate": @{ }, @"sourceRegion": @"" }, @"vmToVmEgressWorkload": @{ @"interRegionEgress": @{ @"destinationRegion": @"", @"egressRate": @{ }, @"sourceRegion": @"" }, @"intraRegionEgress": @{ @"egressRate": @{ } } } } ] } };
NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt
let uri = Uri.of_string "{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}" in
Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
(* Do stuff with the result *)
"{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'costScenario' => [
'commitments' => [
[
'name' => '',
'vmResourceBasedCud' => [
'guestAccelerator' => [
'acceleratorCount' => '',
'acceleratorType' => ''
],
'machineSeries' => '',
'memorySizeGb' => '',
'plan' => '',
'region' => '',
'virtualCpuCount' => ''
]
]
],
'scenarioConfig' => [
'estimateDuration' => ''
],
'workloads' => [
[
'cloudCdnEgressWorkload' => [
'cacheEgressDestination' => '',
'cacheEgressRate' => [
'usageRateTimeline' => [
'unit' => '',
'usageRateTimelineEntries' => [
[
'effectiveTime' => [
'estimationTimeFrameOffset' => ''
],
'usageRate' => ''
]
]
]
]
],
'cloudCdnWorkload' => [
'cacheFillOriginService' => '',
'cacheFillRate' => [
],
'cacheFillRegions' => [
'destinationRegion' => '',
'sourceRegion' => ''
],
'cacheLookUpRate' => [
]
],
'cloudInterconnectEgressWorkload' => [
'egressRate' => [
],
'interconnectConnectionLocation' => ''
],
'cloudInterconnectWorkload' => [
'interconnectAttachments' => [
[
'bandwidth' => '',
'vlanCount' => [
]
]
],
'interconnectType' => '',
'linkType' => '',
'provisionedLinkCount' => [
]
],
'cloudStorageEgressWorkload' => [
'destinationContinent' => '',
'egressRate' => [
],
'sourceContinent' => ''
],
'cloudStorageWorkload' => [
'dataRetrieval' => [
],
'dataStored' => [
],
'dualRegion' => [
'name' => ''
],
'multiRegion' => [
'name' => ''
],
'operationA' => [
],
'operationB' => [
],
'region' => [
'name' => ''
],
'storageClass' => ''
],
'computeVmWorkload' => [
'enableConfidentialCompute' => null,
'guestAccelerator' => [
],
'instancesRunning' => [
],
'licenses' => [
],
'machineType' => [
'customMachineType' => [
'machineSeries' => '',
'memorySizeGb' => '',
'virtualCpuCount' => ''
],
'predefinedMachineType' => [
'machineType' => ''
]
],
'persistentDisks' => [
[
'diskSize' => [
],
'diskType' => '',
'provisionedIops' => [
],
'scope' => ''
]
],
'preemptible' => null,
'region' => ''
],
'name' => '',
'premiumTierEgressWorkload' => [
'destinationContinent' => '',
'egressRate' => [
],
'sourceRegion' => ''
],
'standardTierEgressWorkload' => [
'egressRate' => [
],
'sourceRegion' => ''
],
'vmToVmEgressWorkload' => [
'interRegionEgress' => [
'destinationRegion' => '',
'egressRate' => [
],
'sourceRegion' => ''
],
'intraRegionEgress' => [
'egressRate' => [
]
]
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"content-type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
request('POST', '{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario', [
'body' => '{
"costScenario": {
"commitments": [
{
"name": "",
"vmResourceBasedCud": {
"guestAccelerator": {
"acceleratorCount": "",
"acceleratorType": ""
},
"machineSeries": "",
"memorySizeGb": "",
"plan": "",
"region": "",
"virtualCpuCount": ""
}
}
],
"scenarioConfig": {
"estimateDuration": ""
},
"workloads": [
{
"cloudCdnEgressWorkload": {
"cacheEgressDestination": "",
"cacheEgressRate": {
"usageRateTimeline": {
"unit": "",
"usageRateTimelineEntries": [
{
"effectiveTime": {
"estimationTimeFrameOffset": ""
},
"usageRate": ""
}
]
}
}
},
"cloudCdnWorkload": {
"cacheFillOriginService": "",
"cacheFillRate": {},
"cacheFillRegions": {
"destinationRegion": "",
"sourceRegion": ""
},
"cacheLookUpRate": {}
},
"cloudInterconnectEgressWorkload": {
"egressRate": {},
"interconnectConnectionLocation": ""
},
"cloudInterconnectWorkload": {
"interconnectAttachments": [
{
"bandwidth": "",
"vlanCount": {}
}
],
"interconnectType": "",
"linkType": "",
"provisionedLinkCount": {}
},
"cloudStorageEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceContinent": ""
},
"cloudStorageWorkload": {
"dataRetrieval": {},
"dataStored": {},
"dualRegion": {
"name": ""
},
"multiRegion": {
"name": ""
},
"operationA": {},
"operationB": {},
"region": {
"name": ""
},
"storageClass": ""
},
"computeVmWorkload": {
"enableConfidentialCompute": false,
"guestAccelerator": {},
"instancesRunning": {},
"licenses": [],
"machineType": {
"customMachineType": {
"machineSeries": "",
"memorySizeGb": "",
"virtualCpuCount": ""
},
"predefinedMachineType": {
"machineType": ""
}
},
"persistentDisks": [
{
"diskSize": {},
"diskType": "",
"provisionedIops": {},
"scope": ""
}
],
"preemptible": false,
"region": ""
},
"name": "",
"premiumTierEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceRegion": ""
},
"standardTierEgressWorkload": {
"egressRate": {},
"sourceRegion": ""
},
"vmToVmEgressWorkload": {
"interRegionEgress": {
"destinationRegion": "",
"egressRate": {},
"sourceRegion": ""
},
"intraRegionEgress": {
"egressRate": {}
}
}
}
]
}
}',
'headers' => [
'content-type' => 'application/json',
],
]);
echo $response->getBody();
setUrl('{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario');
$request->setMethod(HTTP_METH_POST);
$request->setHeaders([
'content-type' => 'application/json'
]);
$request->setContentType('application/json');
$request->setBody(json_encode([
'costScenario' => [
'commitments' => [
[
'name' => '',
'vmResourceBasedCud' => [
'guestAccelerator' => [
'acceleratorCount' => '',
'acceleratorType' => ''
],
'machineSeries' => '',
'memorySizeGb' => '',
'plan' => '',
'region' => '',
'virtualCpuCount' => ''
]
]
],
'scenarioConfig' => [
'estimateDuration' => ''
],
'workloads' => [
[
'cloudCdnEgressWorkload' => [
'cacheEgressDestination' => '',
'cacheEgressRate' => [
'usageRateTimeline' => [
'unit' => '',
'usageRateTimelineEntries' => [
[
'effectiveTime' => [
'estimationTimeFrameOffset' => ''
],
'usageRate' => ''
]
]
]
]
],
'cloudCdnWorkload' => [
'cacheFillOriginService' => '',
'cacheFillRate' => [
],
'cacheFillRegions' => [
'destinationRegion' => '',
'sourceRegion' => ''
],
'cacheLookUpRate' => [
]
],
'cloudInterconnectEgressWorkload' => [
'egressRate' => [
],
'interconnectConnectionLocation' => ''
],
'cloudInterconnectWorkload' => [
'interconnectAttachments' => [
[
'bandwidth' => '',
'vlanCount' => [
]
]
],
'interconnectType' => '',
'linkType' => '',
'provisionedLinkCount' => [
]
],
'cloudStorageEgressWorkload' => [
'destinationContinent' => '',
'egressRate' => [
],
'sourceContinent' => ''
],
'cloudStorageWorkload' => [
'dataRetrieval' => [
],
'dataStored' => [
],
'dualRegion' => [
'name' => ''
],
'multiRegion' => [
'name' => ''
],
'operationA' => [
],
'operationB' => [
],
'region' => [
'name' => ''
],
'storageClass' => ''
],
'computeVmWorkload' => [
'enableConfidentialCompute' => null,
'guestAccelerator' => [
],
'instancesRunning' => [
],
'licenses' => [
],
'machineType' => [
'customMachineType' => [
'machineSeries' => '',
'memorySizeGb' => '',
'virtualCpuCount' => ''
],
'predefinedMachineType' => [
'machineType' => ''
]
],
'persistentDisks' => [
[
'diskSize' => [
],
'diskType' => '',
'provisionedIops' => [
],
'scope' => ''
]
],
'preemptible' => null,
'region' => ''
],
'name' => '',
'premiumTierEgressWorkload' => [
'destinationContinent' => '',
'egressRate' => [
],
'sourceRegion' => ''
],
'standardTierEgressWorkload' => [
'egressRate' => [
],
'sourceRegion' => ''
],
'vmToVmEgressWorkload' => [
'interRegionEgress' => [
'destinationRegion' => '',
'egressRate' => [
],
'sourceRegion' => ''
],
'intraRegionEgress' => [
'egressRate' => [
]
]
]
]
]
]
]));
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
append(json_encode([
'costScenario' => [
'commitments' => [
[
'name' => '',
'vmResourceBasedCud' => [
'guestAccelerator' => [
'acceleratorCount' => '',
'acceleratorType' => ''
],
'machineSeries' => '',
'memorySizeGb' => '',
'plan' => '',
'region' => '',
'virtualCpuCount' => ''
]
]
],
'scenarioConfig' => [
'estimateDuration' => ''
],
'workloads' => [
[
'cloudCdnEgressWorkload' => [
'cacheEgressDestination' => '',
'cacheEgressRate' => [
'usageRateTimeline' => [
'unit' => '',
'usageRateTimelineEntries' => [
[
'effectiveTime' => [
'estimationTimeFrameOffset' => ''
],
'usageRate' => ''
]
]
]
]
],
'cloudCdnWorkload' => [
'cacheFillOriginService' => '',
'cacheFillRate' => [
],
'cacheFillRegions' => [
'destinationRegion' => '',
'sourceRegion' => ''
],
'cacheLookUpRate' => [
]
],
'cloudInterconnectEgressWorkload' => [
'egressRate' => [
],
'interconnectConnectionLocation' => ''
],
'cloudInterconnectWorkload' => [
'interconnectAttachments' => [
[
'bandwidth' => '',
'vlanCount' => [
]
]
],
'interconnectType' => '',
'linkType' => '',
'provisionedLinkCount' => [
]
],
'cloudStorageEgressWorkload' => [
'destinationContinent' => '',
'egressRate' => [
],
'sourceContinent' => ''
],
'cloudStorageWorkload' => [
'dataRetrieval' => [
],
'dataStored' => [
],
'dualRegion' => [
'name' => ''
],
'multiRegion' => [
'name' => ''
],
'operationA' => [
],
'operationB' => [
],
'region' => [
'name' => ''
],
'storageClass' => ''
],
'computeVmWorkload' => [
'enableConfidentialCompute' => null,
'guestAccelerator' => [
],
'instancesRunning' => [
],
'licenses' => [
],
'machineType' => [
'customMachineType' => [
'machineSeries' => '',
'memorySizeGb' => '',
'virtualCpuCount' => ''
],
'predefinedMachineType' => [
'machineType' => ''
]
],
'persistentDisks' => [
[
'diskSize' => [
],
'diskType' => '',
'provisionedIops' => [
],
'scope' => ''
]
],
'preemptible' => null,
'region' => ''
],
'name' => '',
'premiumTierEgressWorkload' => [
'destinationContinent' => '',
'egressRate' => [
],
'sourceRegion' => ''
],
'standardTierEgressWorkload' => [
'egressRate' => [
],
'sourceRegion' => ''
],
'vmToVmEgressWorkload' => [
'interRegionEgress' => [
'destinationRegion' => '',
'egressRate' => [
],
'sourceRegion' => ''
],
'intraRegionEgress' => [
'egressRate' => [
]
]
]
]
]
]
]));
$request->setRequestUrl('{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders([
'content-type' => 'application/json'
]);
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"costScenario": {
"commitments": [
{
"name": "",
"vmResourceBasedCud": {
"guestAccelerator": {
"acceleratorCount": "",
"acceleratorType": ""
},
"machineSeries": "",
"memorySizeGb": "",
"plan": "",
"region": "",
"virtualCpuCount": ""
}
}
],
"scenarioConfig": {
"estimateDuration": ""
},
"workloads": [
{
"cloudCdnEgressWorkload": {
"cacheEgressDestination": "",
"cacheEgressRate": {
"usageRateTimeline": {
"unit": "",
"usageRateTimelineEntries": [
{
"effectiveTime": {
"estimationTimeFrameOffset": ""
},
"usageRate": ""
}
]
}
}
},
"cloudCdnWorkload": {
"cacheFillOriginService": "",
"cacheFillRate": {},
"cacheFillRegions": {
"destinationRegion": "",
"sourceRegion": ""
},
"cacheLookUpRate": {}
},
"cloudInterconnectEgressWorkload": {
"egressRate": {},
"interconnectConnectionLocation": ""
},
"cloudInterconnectWorkload": {
"interconnectAttachments": [
{
"bandwidth": "",
"vlanCount": {}
}
],
"interconnectType": "",
"linkType": "",
"provisionedLinkCount": {}
},
"cloudStorageEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceContinent": ""
},
"cloudStorageWorkload": {
"dataRetrieval": {},
"dataStored": {},
"dualRegion": {
"name": ""
},
"multiRegion": {
"name": ""
},
"operationA": {},
"operationB": {},
"region": {
"name": ""
},
"storageClass": ""
},
"computeVmWorkload": {
"enableConfidentialCompute": false,
"guestAccelerator": {},
"instancesRunning": {},
"licenses": [],
"machineType": {
"customMachineType": {
"machineSeries": "",
"memorySizeGb": "",
"virtualCpuCount": ""
},
"predefinedMachineType": {
"machineType": ""
}
},
"persistentDisks": [
{
"diskSize": {},
"diskType": "",
"provisionedIops": {},
"scope": ""
}
],
"preemptible": false,
"region": ""
},
"name": "",
"premiumTierEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceRegion": ""
},
"standardTierEgressWorkload": {
"egressRate": {},
"sourceRegion": ""
},
"vmToVmEgressWorkload": {
"interRegionEgress": {
"destinationRegion": "",
"egressRate": {},
"sourceRegion": ""
},
"intraRegionEgress": {
"egressRate": {}
}
}
}
]
}
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"costScenario": {
"commitments": [
{
"name": "",
"vmResourceBasedCud": {
"guestAccelerator": {
"acceleratorCount": "",
"acceleratorType": ""
},
"machineSeries": "",
"memorySizeGb": "",
"plan": "",
"region": "",
"virtualCpuCount": ""
}
}
],
"scenarioConfig": {
"estimateDuration": ""
},
"workloads": [
{
"cloudCdnEgressWorkload": {
"cacheEgressDestination": "",
"cacheEgressRate": {
"usageRateTimeline": {
"unit": "",
"usageRateTimelineEntries": [
{
"effectiveTime": {
"estimationTimeFrameOffset": ""
},
"usageRate": ""
}
]
}
}
},
"cloudCdnWorkload": {
"cacheFillOriginService": "",
"cacheFillRate": {},
"cacheFillRegions": {
"destinationRegion": "",
"sourceRegion": ""
},
"cacheLookUpRate": {}
},
"cloudInterconnectEgressWorkload": {
"egressRate": {},
"interconnectConnectionLocation": ""
},
"cloudInterconnectWorkload": {
"interconnectAttachments": [
{
"bandwidth": "",
"vlanCount": {}
}
],
"interconnectType": "",
"linkType": "",
"provisionedLinkCount": {}
},
"cloudStorageEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceContinent": ""
},
"cloudStorageWorkload": {
"dataRetrieval": {},
"dataStored": {},
"dualRegion": {
"name": ""
},
"multiRegion": {
"name": ""
},
"operationA": {},
"operationB": {},
"region": {
"name": ""
},
"storageClass": ""
},
"computeVmWorkload": {
"enableConfidentialCompute": false,
"guestAccelerator": {},
"instancesRunning": {},
"licenses": [],
"machineType": {
"customMachineType": {
"machineSeries": "",
"memorySizeGb": "",
"virtualCpuCount": ""
},
"predefinedMachineType": {
"machineType": ""
}
},
"persistentDisks": [
{
"diskSize": {},
"diskType": "",
"provisionedIops": {},
"scope": ""
}
],
"preemptible": false,
"region": ""
},
"name": "",
"premiumTierEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceRegion": ""
},
"standardTierEgressWorkload": {
"egressRate": {},
"sourceRegion": ""
},
"vmToVmEgressWorkload": {
"interRegionEgress": {
"destinationRegion": "",
"egressRate": {},
"sourceRegion": ""
},
"intraRegionEgress": {
"egressRate": {}
}
}
}
]
}
}'
import http.client
conn = http.client.HTTPSConnection("example.com")
payload = "{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}"
headers = { 'content-type': "application/json" }
conn.request("POST", "/baseUrl/v1beta/:billingAccount:estimateCostScenario", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
import requests
url = "{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario"
payload = { "costScenario": {
"commitments": [
{
"name": "",
"vmResourceBasedCud": {
"guestAccelerator": {
"acceleratorCount": "",
"acceleratorType": ""
},
"machineSeries": "",
"memorySizeGb": "",
"plan": "",
"region": "",
"virtualCpuCount": ""
}
}
],
"scenarioConfig": { "estimateDuration": "" },
"workloads": [
{
"cloudCdnEgressWorkload": {
"cacheEgressDestination": "",
"cacheEgressRate": { "usageRateTimeline": {
"unit": "",
"usageRateTimelineEntries": [
{
"effectiveTime": { "estimationTimeFrameOffset": "" },
"usageRate": ""
}
]
} }
},
"cloudCdnWorkload": {
"cacheFillOriginService": "",
"cacheFillRate": {},
"cacheFillRegions": {
"destinationRegion": "",
"sourceRegion": ""
},
"cacheLookUpRate": {}
},
"cloudInterconnectEgressWorkload": {
"egressRate": {},
"interconnectConnectionLocation": ""
},
"cloudInterconnectWorkload": {
"interconnectAttachments": [
{
"bandwidth": "",
"vlanCount": {}
}
],
"interconnectType": "",
"linkType": "",
"provisionedLinkCount": {}
},
"cloudStorageEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceContinent": ""
},
"cloudStorageWorkload": {
"dataRetrieval": {},
"dataStored": {},
"dualRegion": { "name": "" },
"multiRegion": { "name": "" },
"operationA": {},
"operationB": {},
"region": { "name": "" },
"storageClass": ""
},
"computeVmWorkload": {
"enableConfidentialCompute": False,
"guestAccelerator": {},
"instancesRunning": {},
"licenses": [],
"machineType": {
"customMachineType": {
"machineSeries": "",
"memorySizeGb": "",
"virtualCpuCount": ""
},
"predefinedMachineType": { "machineType": "" }
},
"persistentDisks": [
{
"diskSize": {},
"diskType": "",
"provisionedIops": {},
"scope": ""
}
],
"preemptible": False,
"region": ""
},
"name": "",
"premiumTierEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceRegion": ""
},
"standardTierEgressWorkload": {
"egressRate": {},
"sourceRegion": ""
},
"vmToVmEgressWorkload": {
"interRegionEgress": {
"destinationRegion": "",
"egressRate": {},
"sourceRegion": ""
},
"intraRegionEgress": { "egressRate": {} }
}
}
]
} }
headers = {"content-type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
library(httr)
url <- "{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario"
payload <- "{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}"
encode <- "json"
response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode)
content(response, "text")
require 'uri'
require 'net/http'
url = URI("{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body
require 'faraday'
conn = Faraday.new(
url: 'https://example.com',
headers: {'Content-Type' => 'application/json'}
)
response = conn.post('/baseUrl/v1beta/:billingAccount:estimateCostScenario') do |req|
req.body = "{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}"
end
puts response.status
puts response.body
use serde_json::json;
use reqwest;
#[tokio::main]
pub async fn main() {
let url = "{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario";
let payload = json!({"costScenario": json!({
"commitments": (
json!({
"name": "",
"vmResourceBasedCud": json!({
"guestAccelerator": json!({
"acceleratorCount": "",
"acceleratorType": ""
}),
"machineSeries": "",
"memorySizeGb": "",
"plan": "",
"region": "",
"virtualCpuCount": ""
})
})
),
"scenarioConfig": json!({"estimateDuration": ""}),
"workloads": (
json!({
"cloudCdnEgressWorkload": json!({
"cacheEgressDestination": "",
"cacheEgressRate": json!({"usageRateTimeline": json!({
"unit": "",
"usageRateTimelineEntries": (
json!({
"effectiveTime": json!({"estimationTimeFrameOffset": ""}),
"usageRate": ""
})
)
})})
}),
"cloudCdnWorkload": json!({
"cacheFillOriginService": "",
"cacheFillRate": json!({}),
"cacheFillRegions": json!({
"destinationRegion": "",
"sourceRegion": ""
}),
"cacheLookUpRate": json!({})
}),
"cloudInterconnectEgressWorkload": json!({
"egressRate": json!({}),
"interconnectConnectionLocation": ""
}),
"cloudInterconnectWorkload": json!({
"interconnectAttachments": (
json!({
"bandwidth": "",
"vlanCount": json!({})
})
),
"interconnectType": "",
"linkType": "",
"provisionedLinkCount": json!({})
}),
"cloudStorageEgressWorkload": json!({
"destinationContinent": "",
"egressRate": json!({}),
"sourceContinent": ""
}),
"cloudStorageWorkload": json!({
"dataRetrieval": json!({}),
"dataStored": json!({}),
"dualRegion": json!({"name": ""}),
"multiRegion": json!({"name": ""}),
"operationA": json!({}),
"operationB": json!({}),
"region": json!({"name": ""}),
"storageClass": ""
}),
"computeVmWorkload": json!({
"enableConfidentialCompute": false,
"guestAccelerator": json!({}),
"instancesRunning": json!({}),
"licenses": (),
"machineType": json!({
"customMachineType": json!({
"machineSeries": "",
"memorySizeGb": "",
"virtualCpuCount": ""
}),
"predefinedMachineType": json!({"machineType": ""})
}),
"persistentDisks": (
json!({
"diskSize": json!({}),
"diskType": "",
"provisionedIops": json!({}),
"scope": ""
})
),
"preemptible": false,
"region": ""
}),
"name": "",
"premiumTierEgressWorkload": json!({
"destinationContinent": "",
"egressRate": json!({}),
"sourceRegion": ""
}),
"standardTierEgressWorkload": json!({
"egressRate": json!({}),
"sourceRegion": ""
}),
"vmToVmEgressWorkload": json!({
"interRegionEgress": json!({
"destinationRegion": "",
"egressRate": json!({}),
"sourceRegion": ""
}),
"intraRegionEgress": json!({"egressRate": json!({})})
})
})
)
})});
let mut headers = reqwest::header::HeaderMap::new();
headers.insert("content-type", "application/json".parse().unwrap());
let client = reqwest::Client::new();
let response = client.post(url)
.headers(headers)
.json(&payload)
.send()
.await;
let results = response.unwrap()
.json::()
.await
.unwrap();
dbg!(results);
}
curl --request POST \
--url {{baseUrl}}/v1beta/:billingAccount:estimateCostScenario \
--header 'content-type: application/json' \
--data '{
"costScenario": {
"commitments": [
{
"name": "",
"vmResourceBasedCud": {
"guestAccelerator": {
"acceleratorCount": "",
"acceleratorType": ""
},
"machineSeries": "",
"memorySizeGb": "",
"plan": "",
"region": "",
"virtualCpuCount": ""
}
}
],
"scenarioConfig": {
"estimateDuration": ""
},
"workloads": [
{
"cloudCdnEgressWorkload": {
"cacheEgressDestination": "",
"cacheEgressRate": {
"usageRateTimeline": {
"unit": "",
"usageRateTimelineEntries": [
{
"effectiveTime": {
"estimationTimeFrameOffset": ""
},
"usageRate": ""
}
]
}
}
},
"cloudCdnWorkload": {
"cacheFillOriginService": "",
"cacheFillRate": {},
"cacheFillRegions": {
"destinationRegion": "",
"sourceRegion": ""
},
"cacheLookUpRate": {}
},
"cloudInterconnectEgressWorkload": {
"egressRate": {},
"interconnectConnectionLocation": ""
},
"cloudInterconnectWorkload": {
"interconnectAttachments": [
{
"bandwidth": "",
"vlanCount": {}
}
],
"interconnectType": "",
"linkType": "",
"provisionedLinkCount": {}
},
"cloudStorageEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceContinent": ""
},
"cloudStorageWorkload": {
"dataRetrieval": {},
"dataStored": {},
"dualRegion": {
"name": ""
},
"multiRegion": {
"name": ""
},
"operationA": {},
"operationB": {},
"region": {
"name": ""
},
"storageClass": ""
},
"computeVmWorkload": {
"enableConfidentialCompute": false,
"guestAccelerator": {},
"instancesRunning": {},
"licenses": [],
"machineType": {
"customMachineType": {
"machineSeries": "",
"memorySizeGb": "",
"virtualCpuCount": ""
},
"predefinedMachineType": {
"machineType": ""
}
},
"persistentDisks": [
{
"diskSize": {},
"diskType": "",
"provisionedIops": {},
"scope": ""
}
],
"preemptible": false,
"region": ""
},
"name": "",
"premiumTierEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceRegion": ""
},
"standardTierEgressWorkload": {
"egressRate": {},
"sourceRegion": ""
},
"vmToVmEgressWorkload": {
"interRegionEgress": {
"destinationRegion": "",
"egressRate": {},
"sourceRegion": ""
},
"intraRegionEgress": {
"egressRate": {}
}
}
}
]
}
}'
echo '{
"costScenario": {
"commitments": [
{
"name": "",
"vmResourceBasedCud": {
"guestAccelerator": {
"acceleratorCount": "",
"acceleratorType": ""
},
"machineSeries": "",
"memorySizeGb": "",
"plan": "",
"region": "",
"virtualCpuCount": ""
}
}
],
"scenarioConfig": {
"estimateDuration": ""
},
"workloads": [
{
"cloudCdnEgressWorkload": {
"cacheEgressDestination": "",
"cacheEgressRate": {
"usageRateTimeline": {
"unit": "",
"usageRateTimelineEntries": [
{
"effectiveTime": {
"estimationTimeFrameOffset": ""
},
"usageRate": ""
}
]
}
}
},
"cloudCdnWorkload": {
"cacheFillOriginService": "",
"cacheFillRate": {},
"cacheFillRegions": {
"destinationRegion": "",
"sourceRegion": ""
},
"cacheLookUpRate": {}
},
"cloudInterconnectEgressWorkload": {
"egressRate": {},
"interconnectConnectionLocation": ""
},
"cloudInterconnectWorkload": {
"interconnectAttachments": [
{
"bandwidth": "",
"vlanCount": {}
}
],
"interconnectType": "",
"linkType": "",
"provisionedLinkCount": {}
},
"cloudStorageEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceContinent": ""
},
"cloudStorageWorkload": {
"dataRetrieval": {},
"dataStored": {},
"dualRegion": {
"name": ""
},
"multiRegion": {
"name": ""
},
"operationA": {},
"operationB": {},
"region": {
"name": ""
},
"storageClass": ""
},
"computeVmWorkload": {
"enableConfidentialCompute": false,
"guestAccelerator": {},
"instancesRunning": {},
"licenses": [],
"machineType": {
"customMachineType": {
"machineSeries": "",
"memorySizeGb": "",
"virtualCpuCount": ""
},
"predefinedMachineType": {
"machineType": ""
}
},
"persistentDisks": [
{
"diskSize": {},
"diskType": "",
"provisionedIops": {},
"scope": ""
}
],
"preemptible": false,
"region": ""
},
"name": "",
"premiumTierEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceRegion": ""
},
"standardTierEgressWorkload": {
"egressRate": {},
"sourceRegion": ""
},
"vmToVmEgressWorkload": {
"interRegionEgress": {
"destinationRegion": "",
"egressRate": {},
"sourceRegion": ""
},
"intraRegionEgress": {
"egressRate": {}
}
}
}
]
}
}' | \
http POST {{baseUrl}}/v1beta/:billingAccount:estimateCostScenario \
content-type:application/json
wget --quiet \
--method POST \
--header 'content-type: application/json' \
--body-data '{\n "costScenario": {\n "commitments": [\n {\n "name": "",\n "vmResourceBasedCud": {\n "guestAccelerator": {\n "acceleratorCount": "",\n "acceleratorType": ""\n },\n "machineSeries": "",\n "memorySizeGb": "",\n "plan": "",\n "region": "",\n "virtualCpuCount": ""\n }\n }\n ],\n "scenarioConfig": {\n "estimateDuration": ""\n },\n "workloads": [\n {\n "cloudCdnEgressWorkload": {\n "cacheEgressDestination": "",\n "cacheEgressRate": {\n "usageRateTimeline": {\n "unit": "",\n "usageRateTimelineEntries": [\n {\n "effectiveTime": {\n "estimationTimeFrameOffset": ""\n },\n "usageRate": ""\n }\n ]\n }\n }\n },\n "cloudCdnWorkload": {\n "cacheFillOriginService": "",\n "cacheFillRate": {},\n "cacheFillRegions": {\n "destinationRegion": "",\n "sourceRegion": ""\n },\n "cacheLookUpRate": {}\n },\n "cloudInterconnectEgressWorkload": {\n "egressRate": {},\n "interconnectConnectionLocation": ""\n },\n "cloudInterconnectWorkload": {\n "interconnectAttachments": [\n {\n "bandwidth": "",\n "vlanCount": {}\n }\n ],\n "interconnectType": "",\n "linkType": "",\n "provisionedLinkCount": {}\n },\n "cloudStorageEgressWorkload": {\n "destinationContinent": "",\n "egressRate": {},\n "sourceContinent": ""\n },\n "cloudStorageWorkload": {\n "dataRetrieval": {},\n "dataStored": {},\n "dualRegion": {\n "name": ""\n },\n "multiRegion": {\n "name": ""\n },\n "operationA": {},\n "operationB": {},\n "region": {\n "name": ""\n },\n "storageClass": ""\n },\n "computeVmWorkload": {\n "enableConfidentialCompute": false,\n "guestAccelerator": {},\n "instancesRunning": {},\n "licenses": [],\n "machineType": {\n "customMachineType": {\n "machineSeries": "",\n "memorySizeGb": "",\n "virtualCpuCount": ""\n },\n "predefinedMachineType": {\n "machineType": ""\n }\n },\n "persistentDisks": [\n {\n "diskSize": {},\n "diskType": "",\n "provisionedIops": {},\n "scope": ""\n }\n ],\n "preemptible": false,\n "region": ""\n },\n "name": "",\n "premiumTierEgressWorkload": {\n "destinationContinent": "",\n "egressRate": {},\n "sourceRegion": ""\n },\n "standardTierEgressWorkload": {\n "egressRate": {},\n "sourceRegion": ""\n },\n "vmToVmEgressWorkload": {\n "interRegionEgress": {\n "destinationRegion": "",\n "egressRate": {},\n "sourceRegion": ""\n },\n "intraRegionEgress": {\n "egressRate": {}\n }\n }\n }\n ]\n }\n}' \
--output-document \
- {{baseUrl}}/v1beta/:billingAccount:estimateCostScenario
import Foundation
let headers = ["content-type": "application/json"]
let parameters = ["costScenario": [
"commitments": [
[
"name": "",
"vmResourceBasedCud": [
"guestAccelerator": [
"acceleratorCount": "",
"acceleratorType": ""
],
"machineSeries": "",
"memorySizeGb": "",
"plan": "",
"region": "",
"virtualCpuCount": ""
]
]
],
"scenarioConfig": ["estimateDuration": ""],
"workloads": [
[
"cloudCdnEgressWorkload": [
"cacheEgressDestination": "",
"cacheEgressRate": ["usageRateTimeline": [
"unit": "",
"usageRateTimelineEntries": [
[
"effectiveTime": ["estimationTimeFrameOffset": ""],
"usageRate": ""
]
]
]]
],
"cloudCdnWorkload": [
"cacheFillOriginService": "",
"cacheFillRate": [],
"cacheFillRegions": [
"destinationRegion": "",
"sourceRegion": ""
],
"cacheLookUpRate": []
],
"cloudInterconnectEgressWorkload": [
"egressRate": [],
"interconnectConnectionLocation": ""
],
"cloudInterconnectWorkload": [
"interconnectAttachments": [
[
"bandwidth": "",
"vlanCount": []
]
],
"interconnectType": "",
"linkType": "",
"provisionedLinkCount": []
],
"cloudStorageEgressWorkload": [
"destinationContinent": "",
"egressRate": [],
"sourceContinent": ""
],
"cloudStorageWorkload": [
"dataRetrieval": [],
"dataStored": [],
"dualRegion": ["name": ""],
"multiRegion": ["name": ""],
"operationA": [],
"operationB": [],
"region": ["name": ""],
"storageClass": ""
],
"computeVmWorkload": [
"enableConfidentialCompute": false,
"guestAccelerator": [],
"instancesRunning": [],
"licenses": [],
"machineType": [
"customMachineType": [
"machineSeries": "",
"memorySizeGb": "",
"virtualCpuCount": ""
],
"predefinedMachineType": ["machineType": ""]
],
"persistentDisks": [
[
"diskSize": [],
"diskType": "",
"provisionedIops": [],
"scope": ""
]
],
"preemptible": false,
"region": ""
],
"name": "",
"premiumTierEgressWorkload": [
"destinationContinent": "",
"egressRate": [],
"sourceRegion": ""
],
"standardTierEgressWorkload": [
"egressRate": [],
"sourceRegion": ""
],
"vmToVmEgressWorkload": [
"interRegionEgress": [
"destinationRegion": "",
"egressRate": [],
"sourceRegion": ""
],
"intraRegionEgress": ["egressRate": []]
]
]
]
]] as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1beta/:billingAccount:estimateCostScenario")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error as Any)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()
POST
cloudbilling.estimateCostScenario
{{baseUrl}}/v1beta:estimateCostScenario
BODY json
{
"costScenario": {
"commitments": [
{
"name": "",
"vmResourceBasedCud": {
"guestAccelerator": {
"acceleratorCount": "",
"acceleratorType": ""
},
"machineSeries": "",
"memorySizeGb": "",
"plan": "",
"region": "",
"virtualCpuCount": ""
}
}
],
"scenarioConfig": {
"estimateDuration": ""
},
"workloads": [
{
"cloudCdnEgressWorkload": {
"cacheEgressDestination": "",
"cacheEgressRate": {
"usageRateTimeline": {
"unit": "",
"usageRateTimelineEntries": [
{
"effectiveTime": {
"estimationTimeFrameOffset": ""
},
"usageRate": ""
}
]
}
}
},
"cloudCdnWorkload": {
"cacheFillOriginService": "",
"cacheFillRate": {},
"cacheFillRegions": {
"destinationRegion": "",
"sourceRegion": ""
},
"cacheLookUpRate": {}
},
"cloudInterconnectEgressWorkload": {
"egressRate": {},
"interconnectConnectionLocation": ""
},
"cloudInterconnectWorkload": {
"interconnectAttachments": [
{
"bandwidth": "",
"vlanCount": {}
}
],
"interconnectType": "",
"linkType": "",
"provisionedLinkCount": {}
},
"cloudStorageEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceContinent": ""
},
"cloudStorageWorkload": {
"dataRetrieval": {},
"dataStored": {},
"dualRegion": {
"name": ""
},
"multiRegion": {
"name": ""
},
"operationA": {},
"operationB": {},
"region": {
"name": ""
},
"storageClass": ""
},
"computeVmWorkload": {
"enableConfidentialCompute": false,
"guestAccelerator": {},
"instancesRunning": {},
"licenses": [],
"machineType": {
"customMachineType": {
"machineSeries": "",
"memorySizeGb": "",
"virtualCpuCount": ""
},
"predefinedMachineType": {
"machineType": ""
}
},
"persistentDisks": [
{
"diskSize": {},
"diskType": "",
"provisionedIops": {},
"scope": ""
}
],
"preemptible": false,
"region": ""
},
"name": "",
"premiumTierEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceRegion": ""
},
"standardTierEgressWorkload": {
"egressRate": {},
"sourceRegion": ""
},
"vmToVmEgressWorkload": {
"interRegionEgress": {
"destinationRegion": "",
"egressRate": {},
"sourceRegion": ""
},
"intraRegionEgress": {
"egressRate": {}
}
}
}
]
}
}
Examples
REQUEST
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1beta:estimateCostScenario");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}");
CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])
(client/post "{{baseUrl}}/v1beta:estimateCostScenario" {:content-type :json
:form-params {:costScenario {:commitments [{:name ""
:vmResourceBasedCud {:guestAccelerator {:acceleratorCount ""
:acceleratorType ""}
:machineSeries ""
:memorySizeGb ""
:plan ""
:region ""
:virtualCpuCount ""}}]
:scenarioConfig {:estimateDuration ""}
:workloads [{:cloudCdnEgressWorkload {:cacheEgressDestination ""
:cacheEgressRate {:usageRateTimeline {:unit ""
:usageRateTimelineEntries [{:effectiveTime {:estimationTimeFrameOffset ""}
:usageRate ""}]}}}
:cloudCdnWorkload {:cacheFillOriginService ""
:cacheFillRate {}
:cacheFillRegions {:destinationRegion ""
:sourceRegion ""}
:cacheLookUpRate {}}
:cloudInterconnectEgressWorkload {:egressRate {}
:interconnectConnectionLocation ""}
:cloudInterconnectWorkload {:interconnectAttachments [{:bandwidth ""
:vlanCount {}}]
:interconnectType ""
:linkType ""
:provisionedLinkCount {}}
:cloudStorageEgressWorkload {:destinationContinent ""
:egressRate {}
:sourceContinent ""}
:cloudStorageWorkload {:dataRetrieval {}
:dataStored {}
:dualRegion {:name ""}
:multiRegion {:name ""}
:operationA {}
:operationB {}
:region {:name ""}
:storageClass ""}
:computeVmWorkload {:enableConfidentialCompute false
:guestAccelerator {}
:instancesRunning {}
:licenses []
:machineType {:customMachineType {:machineSeries ""
:memorySizeGb ""
:virtualCpuCount ""}
:predefinedMachineType {:machineType ""}}
:persistentDisks [{:diskSize {}
:diskType ""
:provisionedIops {}
:scope ""}]
:preemptible false
:region ""}
:name ""
:premiumTierEgressWorkload {:destinationContinent ""
:egressRate {}
:sourceRegion ""}
:standardTierEgressWorkload {:egressRate {}
:sourceRegion ""}
:vmToVmEgressWorkload {:interRegionEgress {:destinationRegion ""
:egressRate {}
:sourceRegion ""}
:intraRegionEgress {:egressRate {}}}}]}}})
require "http/client"
url = "{{baseUrl}}/v1beta:estimateCostScenario"
headers = HTTP::Headers{
"content-type" => "application/json"
}
reqBody = "{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}"
response = HTTP::Client.post url, headers: headers, body: reqBody
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("{{baseUrl}}/v1beta:estimateCostScenario"),
Content = new StringContent("{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1beta:estimateCostScenario");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "{{baseUrl}}/v1beta:estimateCostScenario"
payload := strings.NewReader("{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
POST /baseUrl/v1beta:estimateCostScenario HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 3377
{
"costScenario": {
"commitments": [
{
"name": "",
"vmResourceBasedCud": {
"guestAccelerator": {
"acceleratorCount": "",
"acceleratorType": ""
},
"machineSeries": "",
"memorySizeGb": "",
"plan": "",
"region": "",
"virtualCpuCount": ""
}
}
],
"scenarioConfig": {
"estimateDuration": ""
},
"workloads": [
{
"cloudCdnEgressWorkload": {
"cacheEgressDestination": "",
"cacheEgressRate": {
"usageRateTimeline": {
"unit": "",
"usageRateTimelineEntries": [
{
"effectiveTime": {
"estimationTimeFrameOffset": ""
},
"usageRate": ""
}
]
}
}
},
"cloudCdnWorkload": {
"cacheFillOriginService": "",
"cacheFillRate": {},
"cacheFillRegions": {
"destinationRegion": "",
"sourceRegion": ""
},
"cacheLookUpRate": {}
},
"cloudInterconnectEgressWorkload": {
"egressRate": {},
"interconnectConnectionLocation": ""
},
"cloudInterconnectWorkload": {
"interconnectAttachments": [
{
"bandwidth": "",
"vlanCount": {}
}
],
"interconnectType": "",
"linkType": "",
"provisionedLinkCount": {}
},
"cloudStorageEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceContinent": ""
},
"cloudStorageWorkload": {
"dataRetrieval": {},
"dataStored": {},
"dualRegion": {
"name": ""
},
"multiRegion": {
"name": ""
},
"operationA": {},
"operationB": {},
"region": {
"name": ""
},
"storageClass": ""
},
"computeVmWorkload": {
"enableConfidentialCompute": false,
"guestAccelerator": {},
"instancesRunning": {},
"licenses": [],
"machineType": {
"customMachineType": {
"machineSeries": "",
"memorySizeGb": "",
"virtualCpuCount": ""
},
"predefinedMachineType": {
"machineType": ""
}
},
"persistentDisks": [
{
"diskSize": {},
"diskType": "",
"provisionedIops": {},
"scope": ""
}
],
"preemptible": false,
"region": ""
},
"name": "",
"premiumTierEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceRegion": ""
},
"standardTierEgressWorkload": {
"egressRate": {},
"sourceRegion": ""
},
"vmToVmEgressWorkload": {
"interRegionEgress": {
"destinationRegion": "",
"egressRate": {},
"sourceRegion": ""
},
"intraRegionEgress": {
"egressRate": {}
}
}
}
]
}
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1beta:estimateCostScenario")
.setHeader("content-type", "application/json")
.setBody("{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}")
.execute()
.toCompletableFuture()
.thenAccept(System.out::println)
.join();
client.close();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("{{baseUrl}}/v1beta:estimateCostScenario"))
.header("content-type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}"))
.build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}");
Request request = new Request.Builder()
.url("{{baseUrl}}/v1beta:estimateCostScenario")
.post(body)
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1beta:estimateCostScenario")
.header("content-type", "application/json")
.body("{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}")
.asString();
const data = JSON.stringify({
costScenario: {
commitments: [
{
name: '',
vmResourceBasedCud: {
guestAccelerator: {
acceleratorCount: '',
acceleratorType: ''
},
machineSeries: '',
memorySizeGb: '',
plan: '',
region: '',
virtualCpuCount: ''
}
}
],
scenarioConfig: {
estimateDuration: ''
},
workloads: [
{
cloudCdnEgressWorkload: {
cacheEgressDestination: '',
cacheEgressRate: {
usageRateTimeline: {
unit: '',
usageRateTimelineEntries: [
{
effectiveTime: {
estimationTimeFrameOffset: ''
},
usageRate: ''
}
]
}
}
},
cloudCdnWorkload: {
cacheFillOriginService: '',
cacheFillRate: {},
cacheFillRegions: {
destinationRegion: '',
sourceRegion: ''
},
cacheLookUpRate: {}
},
cloudInterconnectEgressWorkload: {
egressRate: {},
interconnectConnectionLocation: ''
},
cloudInterconnectWorkload: {
interconnectAttachments: [
{
bandwidth: '',
vlanCount: {}
}
],
interconnectType: '',
linkType: '',
provisionedLinkCount: {}
},
cloudStorageEgressWorkload: {
destinationContinent: '',
egressRate: {},
sourceContinent: ''
},
cloudStorageWorkload: {
dataRetrieval: {},
dataStored: {},
dualRegion: {
name: ''
},
multiRegion: {
name: ''
},
operationA: {},
operationB: {},
region: {
name: ''
},
storageClass: ''
},
computeVmWorkload: {
enableConfidentialCompute: false,
guestAccelerator: {},
instancesRunning: {},
licenses: [],
machineType: {
customMachineType: {
machineSeries: '',
memorySizeGb: '',
virtualCpuCount: ''
},
predefinedMachineType: {
machineType: ''
}
},
persistentDisks: [
{
diskSize: {},
diskType: '',
provisionedIops: {},
scope: ''
}
],
preemptible: false,
region: ''
},
name: '',
premiumTierEgressWorkload: {
destinationContinent: '',
egressRate: {},
sourceRegion: ''
},
standardTierEgressWorkload: {
egressRate: {},
sourceRegion: ''
},
vmToVmEgressWorkload: {
interRegionEgress: {
destinationRegion: '',
egressRate: {},
sourceRegion: ''
},
intraRegionEgress: {
egressRate: {}
}
}
}
]
}
});
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener('readystatechange', function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open('POST', '{{baseUrl}}/v1beta:estimateCostScenario');
xhr.setRequestHeader('content-type', 'application/json');
xhr.send(data);
import axios from 'axios';
const options = {
method: 'POST',
url: '{{baseUrl}}/v1beta:estimateCostScenario',
headers: {'content-type': 'application/json'},
data: {
costScenario: {
commitments: [
{
name: '',
vmResourceBasedCud: {
guestAccelerator: {acceleratorCount: '', acceleratorType: ''},
machineSeries: '',
memorySizeGb: '',
plan: '',
region: '',
virtualCpuCount: ''
}
}
],
scenarioConfig: {estimateDuration: ''},
workloads: [
{
cloudCdnEgressWorkload: {
cacheEgressDestination: '',
cacheEgressRate: {
usageRateTimeline: {
unit: '',
usageRateTimelineEntries: [{effectiveTime: {estimationTimeFrameOffset: ''}, usageRate: ''}]
}
}
},
cloudCdnWorkload: {
cacheFillOriginService: '',
cacheFillRate: {},
cacheFillRegions: {destinationRegion: '', sourceRegion: ''},
cacheLookUpRate: {}
},
cloudInterconnectEgressWorkload: {egressRate: {}, interconnectConnectionLocation: ''},
cloudInterconnectWorkload: {
interconnectAttachments: [{bandwidth: '', vlanCount: {}}],
interconnectType: '',
linkType: '',
provisionedLinkCount: {}
},
cloudStorageEgressWorkload: {destinationContinent: '', egressRate: {}, sourceContinent: ''},
cloudStorageWorkload: {
dataRetrieval: {},
dataStored: {},
dualRegion: {name: ''},
multiRegion: {name: ''},
operationA: {},
operationB: {},
region: {name: ''},
storageClass: ''
},
computeVmWorkload: {
enableConfidentialCompute: false,
guestAccelerator: {},
instancesRunning: {},
licenses: [],
machineType: {
customMachineType: {machineSeries: '', memorySizeGb: '', virtualCpuCount: ''},
predefinedMachineType: {machineType: ''}
},
persistentDisks: [{diskSize: {}, diskType: '', provisionedIops: {}, scope: ''}],
preemptible: false,
region: ''
},
name: '',
premiumTierEgressWorkload: {destinationContinent: '', egressRate: {}, sourceRegion: ''},
standardTierEgressWorkload: {egressRate: {}, sourceRegion: ''},
vmToVmEgressWorkload: {
interRegionEgress: {destinationRegion: '', egressRate: {}, sourceRegion: ''},
intraRegionEgress: {egressRate: {}}
}
}
]
}
}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const url = '{{baseUrl}}/v1beta:estimateCostScenario';
const options = {
method: 'POST',
headers: {'content-type': 'application/json'},
body: '{"costScenario":{"commitments":[{"name":"","vmResourceBasedCud":{"guestAccelerator":{"acceleratorCount":"","acceleratorType":""},"machineSeries":"","memorySizeGb":"","plan":"","region":"","virtualCpuCount":""}}],"scenarioConfig":{"estimateDuration":""},"workloads":[{"cloudCdnEgressWorkload":{"cacheEgressDestination":"","cacheEgressRate":{"usageRateTimeline":{"unit":"","usageRateTimelineEntries":[{"effectiveTime":{"estimationTimeFrameOffset":""},"usageRate":""}]}}},"cloudCdnWorkload":{"cacheFillOriginService":"","cacheFillRate":{},"cacheFillRegions":{"destinationRegion":"","sourceRegion":""},"cacheLookUpRate":{}},"cloudInterconnectEgressWorkload":{"egressRate":{},"interconnectConnectionLocation":""},"cloudInterconnectWorkload":{"interconnectAttachments":[{"bandwidth":"","vlanCount":{}}],"interconnectType":"","linkType":"","provisionedLinkCount":{}},"cloudStorageEgressWorkload":{"destinationContinent":"","egressRate":{},"sourceContinent":""},"cloudStorageWorkload":{"dataRetrieval":{},"dataStored":{},"dualRegion":{"name":""},"multiRegion":{"name":""},"operationA":{},"operationB":{},"region":{"name":""},"storageClass":""},"computeVmWorkload":{"enableConfidentialCompute":false,"guestAccelerator":{},"instancesRunning":{},"licenses":[],"machineType":{"customMachineType":{"machineSeries":"","memorySizeGb":"","virtualCpuCount":""},"predefinedMachineType":{"machineType":""}},"persistentDisks":[{"diskSize":{},"diskType":"","provisionedIops":{},"scope":""}],"preemptible":false,"region":""},"name":"","premiumTierEgressWorkload":{"destinationContinent":"","egressRate":{},"sourceRegion":""},"standardTierEgressWorkload":{"egressRate":{},"sourceRegion":""},"vmToVmEgressWorkload":{"interRegionEgress":{"destinationRegion":"","egressRate":{},"sourceRegion":""},"intraRegionEgress":{"egressRate":{}}}}]}}'
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
const settings = {
async: true,
crossDomain: true,
url: '{{baseUrl}}/v1beta:estimateCostScenario',
method: 'POST',
headers: {
'content-type': 'application/json'
},
processData: false,
data: '{\n "costScenario": {\n "commitments": [\n {\n "name": "",\n "vmResourceBasedCud": {\n "guestAccelerator": {\n "acceleratorCount": "",\n "acceleratorType": ""\n },\n "machineSeries": "",\n "memorySizeGb": "",\n "plan": "",\n "region": "",\n "virtualCpuCount": ""\n }\n }\n ],\n "scenarioConfig": {\n "estimateDuration": ""\n },\n "workloads": [\n {\n "cloudCdnEgressWorkload": {\n "cacheEgressDestination": "",\n "cacheEgressRate": {\n "usageRateTimeline": {\n "unit": "",\n "usageRateTimelineEntries": [\n {\n "effectiveTime": {\n "estimationTimeFrameOffset": ""\n },\n "usageRate": ""\n }\n ]\n }\n }\n },\n "cloudCdnWorkload": {\n "cacheFillOriginService": "",\n "cacheFillRate": {},\n "cacheFillRegions": {\n "destinationRegion": "",\n "sourceRegion": ""\n },\n "cacheLookUpRate": {}\n },\n "cloudInterconnectEgressWorkload": {\n "egressRate": {},\n "interconnectConnectionLocation": ""\n },\n "cloudInterconnectWorkload": {\n "interconnectAttachments": [\n {\n "bandwidth": "",\n "vlanCount": {}\n }\n ],\n "interconnectType": "",\n "linkType": "",\n "provisionedLinkCount": {}\n },\n "cloudStorageEgressWorkload": {\n "destinationContinent": "",\n "egressRate": {},\n "sourceContinent": ""\n },\n "cloudStorageWorkload": {\n "dataRetrieval": {},\n "dataStored": {},\n "dualRegion": {\n "name": ""\n },\n "multiRegion": {\n "name": ""\n },\n "operationA": {},\n "operationB": {},\n "region": {\n "name": ""\n },\n "storageClass": ""\n },\n "computeVmWorkload": {\n "enableConfidentialCompute": false,\n "guestAccelerator": {},\n "instancesRunning": {},\n "licenses": [],\n "machineType": {\n "customMachineType": {\n "machineSeries": "",\n "memorySizeGb": "",\n "virtualCpuCount": ""\n },\n "predefinedMachineType": {\n "machineType": ""\n }\n },\n "persistentDisks": [\n {\n "diskSize": {},\n "diskType": "",\n "provisionedIops": {},\n "scope": ""\n }\n ],\n "preemptible": false,\n "region": ""\n },\n "name": "",\n "premiumTierEgressWorkload": {\n "destinationContinent": "",\n "egressRate": {},\n "sourceRegion": ""\n },\n "standardTierEgressWorkload": {\n "egressRate": {},\n "sourceRegion": ""\n },\n "vmToVmEgressWorkload": {\n "interRegionEgress": {\n "destinationRegion": "",\n "egressRate": {},\n "sourceRegion": ""\n },\n "intraRegionEgress": {\n "egressRate": {}\n }\n }\n }\n ]\n }\n}'
};
$.ajax(settings).done(function (response) {
console.log(response);
});
val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}")
val request = Request.Builder()
.url("{{baseUrl}}/v1beta:estimateCostScenario")
.post(body)
.addHeader("content-type", "application/json")
.build()
val response = client.newCall(request).execute()
const http = require('https');
const options = {
method: 'POST',
hostname: 'example.com',
port: null,
path: '/baseUrl/v1beta:estimateCostScenario',
headers: {
'content-type': 'application/json'
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({
costScenario: {
commitments: [
{
name: '',
vmResourceBasedCud: {
guestAccelerator: {acceleratorCount: '', acceleratorType: ''},
machineSeries: '',
memorySizeGb: '',
plan: '',
region: '',
virtualCpuCount: ''
}
}
],
scenarioConfig: {estimateDuration: ''},
workloads: [
{
cloudCdnEgressWorkload: {
cacheEgressDestination: '',
cacheEgressRate: {
usageRateTimeline: {
unit: '',
usageRateTimelineEntries: [{effectiveTime: {estimationTimeFrameOffset: ''}, usageRate: ''}]
}
}
},
cloudCdnWorkload: {
cacheFillOriginService: '',
cacheFillRate: {},
cacheFillRegions: {destinationRegion: '', sourceRegion: ''},
cacheLookUpRate: {}
},
cloudInterconnectEgressWorkload: {egressRate: {}, interconnectConnectionLocation: ''},
cloudInterconnectWorkload: {
interconnectAttachments: [{bandwidth: '', vlanCount: {}}],
interconnectType: '',
linkType: '',
provisionedLinkCount: {}
},
cloudStorageEgressWorkload: {destinationContinent: '', egressRate: {}, sourceContinent: ''},
cloudStorageWorkload: {
dataRetrieval: {},
dataStored: {},
dualRegion: {name: ''},
multiRegion: {name: ''},
operationA: {},
operationB: {},
region: {name: ''},
storageClass: ''
},
computeVmWorkload: {
enableConfidentialCompute: false,
guestAccelerator: {},
instancesRunning: {},
licenses: [],
machineType: {
customMachineType: {machineSeries: '', memorySizeGb: '', virtualCpuCount: ''},
predefinedMachineType: {machineType: ''}
},
persistentDisks: [{diskSize: {}, diskType: '', provisionedIops: {}, scope: ''}],
preemptible: false,
region: ''
},
name: '',
premiumTierEgressWorkload: {destinationContinent: '', egressRate: {}, sourceRegion: ''},
standardTierEgressWorkload: {egressRate: {}, sourceRegion: ''},
vmToVmEgressWorkload: {
interRegionEgress: {destinationRegion: '', egressRate: {}, sourceRegion: ''},
intraRegionEgress: {egressRate: {}}
}
}
]
}
}));
req.end();
const request = require('request');
const options = {
method: 'POST',
url: '{{baseUrl}}/v1beta:estimateCostScenario',
headers: {'content-type': 'application/json'},
body: {
costScenario: {
commitments: [
{
name: '',
vmResourceBasedCud: {
guestAccelerator: {acceleratorCount: '', acceleratorType: ''},
machineSeries: '',
memorySizeGb: '',
plan: '',
region: '',
virtualCpuCount: ''
}
}
],
scenarioConfig: {estimateDuration: ''},
workloads: [
{
cloudCdnEgressWorkload: {
cacheEgressDestination: '',
cacheEgressRate: {
usageRateTimeline: {
unit: '',
usageRateTimelineEntries: [{effectiveTime: {estimationTimeFrameOffset: ''}, usageRate: ''}]
}
}
},
cloudCdnWorkload: {
cacheFillOriginService: '',
cacheFillRate: {},
cacheFillRegions: {destinationRegion: '', sourceRegion: ''},
cacheLookUpRate: {}
},
cloudInterconnectEgressWorkload: {egressRate: {}, interconnectConnectionLocation: ''},
cloudInterconnectWorkload: {
interconnectAttachments: [{bandwidth: '', vlanCount: {}}],
interconnectType: '',
linkType: '',
provisionedLinkCount: {}
},
cloudStorageEgressWorkload: {destinationContinent: '', egressRate: {}, sourceContinent: ''},
cloudStorageWorkload: {
dataRetrieval: {},
dataStored: {},
dualRegion: {name: ''},
multiRegion: {name: ''},
operationA: {},
operationB: {},
region: {name: ''},
storageClass: ''
},
computeVmWorkload: {
enableConfidentialCompute: false,
guestAccelerator: {},
instancesRunning: {},
licenses: [],
machineType: {
customMachineType: {machineSeries: '', memorySizeGb: '', virtualCpuCount: ''},
predefinedMachineType: {machineType: ''}
},
persistentDisks: [{diskSize: {}, diskType: '', provisionedIops: {}, scope: ''}],
preemptible: false,
region: ''
},
name: '',
premiumTierEgressWorkload: {destinationContinent: '', egressRate: {}, sourceRegion: ''},
standardTierEgressWorkload: {egressRate: {}, sourceRegion: ''},
vmToVmEgressWorkload: {
interRegionEgress: {destinationRegion: '', egressRate: {}, sourceRegion: ''},
intraRegionEgress: {egressRate: {}}
}
}
]
}
},
json: true
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
const unirest = require('unirest');
const req = unirest('POST', '{{baseUrl}}/v1beta:estimateCostScenario');
req.headers({
'content-type': 'application/json'
});
req.type('json');
req.send({
costScenario: {
commitments: [
{
name: '',
vmResourceBasedCud: {
guestAccelerator: {
acceleratorCount: '',
acceleratorType: ''
},
machineSeries: '',
memorySizeGb: '',
plan: '',
region: '',
virtualCpuCount: ''
}
}
],
scenarioConfig: {
estimateDuration: ''
},
workloads: [
{
cloudCdnEgressWorkload: {
cacheEgressDestination: '',
cacheEgressRate: {
usageRateTimeline: {
unit: '',
usageRateTimelineEntries: [
{
effectiveTime: {
estimationTimeFrameOffset: ''
},
usageRate: ''
}
]
}
}
},
cloudCdnWorkload: {
cacheFillOriginService: '',
cacheFillRate: {},
cacheFillRegions: {
destinationRegion: '',
sourceRegion: ''
},
cacheLookUpRate: {}
},
cloudInterconnectEgressWorkload: {
egressRate: {},
interconnectConnectionLocation: ''
},
cloudInterconnectWorkload: {
interconnectAttachments: [
{
bandwidth: '',
vlanCount: {}
}
],
interconnectType: '',
linkType: '',
provisionedLinkCount: {}
},
cloudStorageEgressWorkload: {
destinationContinent: '',
egressRate: {},
sourceContinent: ''
},
cloudStorageWorkload: {
dataRetrieval: {},
dataStored: {},
dualRegion: {
name: ''
},
multiRegion: {
name: ''
},
operationA: {},
operationB: {},
region: {
name: ''
},
storageClass: ''
},
computeVmWorkload: {
enableConfidentialCompute: false,
guestAccelerator: {},
instancesRunning: {},
licenses: [],
machineType: {
customMachineType: {
machineSeries: '',
memorySizeGb: '',
virtualCpuCount: ''
},
predefinedMachineType: {
machineType: ''
}
},
persistentDisks: [
{
diskSize: {},
diskType: '',
provisionedIops: {},
scope: ''
}
],
preemptible: false,
region: ''
},
name: '',
premiumTierEgressWorkload: {
destinationContinent: '',
egressRate: {},
sourceRegion: ''
},
standardTierEgressWorkload: {
egressRate: {},
sourceRegion: ''
},
vmToVmEgressWorkload: {
interRegionEgress: {
destinationRegion: '',
egressRate: {},
sourceRegion: ''
},
intraRegionEgress: {
egressRate: {}
}
}
}
]
}
});
req.end(function (res) {
if (res.error) throw new Error(res.error);
console.log(res.body);
});
const axios = require('axios').default;
const options = {
method: 'POST',
url: '{{baseUrl}}/v1beta:estimateCostScenario',
headers: {'content-type': 'application/json'},
data: {
costScenario: {
commitments: [
{
name: '',
vmResourceBasedCud: {
guestAccelerator: {acceleratorCount: '', acceleratorType: ''},
machineSeries: '',
memorySizeGb: '',
plan: '',
region: '',
virtualCpuCount: ''
}
}
],
scenarioConfig: {estimateDuration: ''},
workloads: [
{
cloudCdnEgressWorkload: {
cacheEgressDestination: '',
cacheEgressRate: {
usageRateTimeline: {
unit: '',
usageRateTimelineEntries: [{effectiveTime: {estimationTimeFrameOffset: ''}, usageRate: ''}]
}
}
},
cloudCdnWorkload: {
cacheFillOriginService: '',
cacheFillRate: {},
cacheFillRegions: {destinationRegion: '', sourceRegion: ''},
cacheLookUpRate: {}
},
cloudInterconnectEgressWorkload: {egressRate: {}, interconnectConnectionLocation: ''},
cloudInterconnectWorkload: {
interconnectAttachments: [{bandwidth: '', vlanCount: {}}],
interconnectType: '',
linkType: '',
provisionedLinkCount: {}
},
cloudStorageEgressWorkload: {destinationContinent: '', egressRate: {}, sourceContinent: ''},
cloudStorageWorkload: {
dataRetrieval: {},
dataStored: {},
dualRegion: {name: ''},
multiRegion: {name: ''},
operationA: {},
operationB: {},
region: {name: ''},
storageClass: ''
},
computeVmWorkload: {
enableConfidentialCompute: false,
guestAccelerator: {},
instancesRunning: {},
licenses: [],
machineType: {
customMachineType: {machineSeries: '', memorySizeGb: '', virtualCpuCount: ''},
predefinedMachineType: {machineType: ''}
},
persistentDisks: [{diskSize: {}, diskType: '', provisionedIops: {}, scope: ''}],
preemptible: false,
region: ''
},
name: '',
premiumTierEgressWorkload: {destinationContinent: '', egressRate: {}, sourceRegion: ''},
standardTierEgressWorkload: {egressRate: {}, sourceRegion: ''},
vmToVmEgressWorkload: {
interRegionEgress: {destinationRegion: '', egressRate: {}, sourceRegion: ''},
intraRegionEgress: {egressRate: {}}
}
}
]
}
}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const fetch = require('node-fetch');
const url = '{{baseUrl}}/v1beta:estimateCostScenario';
const options = {
method: 'POST',
headers: {'content-type': 'application/json'},
body: '{"costScenario":{"commitments":[{"name":"","vmResourceBasedCud":{"guestAccelerator":{"acceleratorCount":"","acceleratorType":""},"machineSeries":"","memorySizeGb":"","plan":"","region":"","virtualCpuCount":""}}],"scenarioConfig":{"estimateDuration":""},"workloads":[{"cloudCdnEgressWorkload":{"cacheEgressDestination":"","cacheEgressRate":{"usageRateTimeline":{"unit":"","usageRateTimelineEntries":[{"effectiveTime":{"estimationTimeFrameOffset":""},"usageRate":""}]}}},"cloudCdnWorkload":{"cacheFillOriginService":"","cacheFillRate":{},"cacheFillRegions":{"destinationRegion":"","sourceRegion":""},"cacheLookUpRate":{}},"cloudInterconnectEgressWorkload":{"egressRate":{},"interconnectConnectionLocation":""},"cloudInterconnectWorkload":{"interconnectAttachments":[{"bandwidth":"","vlanCount":{}}],"interconnectType":"","linkType":"","provisionedLinkCount":{}},"cloudStorageEgressWorkload":{"destinationContinent":"","egressRate":{},"sourceContinent":""},"cloudStorageWorkload":{"dataRetrieval":{},"dataStored":{},"dualRegion":{"name":""},"multiRegion":{"name":""},"operationA":{},"operationB":{},"region":{"name":""},"storageClass":""},"computeVmWorkload":{"enableConfidentialCompute":false,"guestAccelerator":{},"instancesRunning":{},"licenses":[],"machineType":{"customMachineType":{"machineSeries":"","memorySizeGb":"","virtualCpuCount":""},"predefinedMachineType":{"machineType":""}},"persistentDisks":[{"diskSize":{},"diskType":"","provisionedIops":{},"scope":""}],"preemptible":false,"region":""},"name":"","premiumTierEgressWorkload":{"destinationContinent":"","egressRate":{},"sourceRegion":""},"standardTierEgressWorkload":{"egressRate":{},"sourceRegion":""},"vmToVmEgressWorkload":{"interRegionEgress":{"destinationRegion":"","egressRate":{},"sourceRegion":""},"intraRegionEgress":{"egressRate":{}}}}]}}'
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
#import
NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"costScenario": @{ @"commitments": @[ @{ @"name": @"", @"vmResourceBasedCud": @{ @"guestAccelerator": @{ @"acceleratorCount": @"", @"acceleratorType": @"" }, @"machineSeries": @"", @"memorySizeGb": @"", @"plan": @"", @"region": @"", @"virtualCpuCount": @"" } } ], @"scenarioConfig": @{ @"estimateDuration": @"" }, @"workloads": @[ @{ @"cloudCdnEgressWorkload": @{ @"cacheEgressDestination": @"", @"cacheEgressRate": @{ @"usageRateTimeline": @{ @"unit": @"", @"usageRateTimelineEntries": @[ @{ @"effectiveTime": @{ @"estimationTimeFrameOffset": @"" }, @"usageRate": @"" } ] } } }, @"cloudCdnWorkload": @{ @"cacheFillOriginService": @"", @"cacheFillRate": @{ }, @"cacheFillRegions": @{ @"destinationRegion": @"", @"sourceRegion": @"" }, @"cacheLookUpRate": @{ } }, @"cloudInterconnectEgressWorkload": @{ @"egressRate": @{ }, @"interconnectConnectionLocation": @"" }, @"cloudInterconnectWorkload": @{ @"interconnectAttachments": @[ @{ @"bandwidth": @"", @"vlanCount": @{ } } ], @"interconnectType": @"", @"linkType": @"", @"provisionedLinkCount": @{ } }, @"cloudStorageEgressWorkload": @{ @"destinationContinent": @"", @"egressRate": @{ }, @"sourceContinent": @"" }, @"cloudStorageWorkload": @{ @"dataRetrieval": @{ }, @"dataStored": @{ }, @"dualRegion": @{ @"name": @"" }, @"multiRegion": @{ @"name": @"" }, @"operationA": @{ }, @"operationB": @{ }, @"region": @{ @"name": @"" }, @"storageClass": @"" }, @"computeVmWorkload": @{ @"enableConfidentialCompute": @NO, @"guestAccelerator": @{ }, @"instancesRunning": @{ }, @"licenses": @[ ], @"machineType": @{ @"customMachineType": @{ @"machineSeries": @"", @"memorySizeGb": @"", @"virtualCpuCount": @"" }, @"predefinedMachineType": @{ @"machineType": @"" } }, @"persistentDisks": @[ @{ @"diskSize": @{ }, @"diskType": @"", @"provisionedIops": @{ }, @"scope": @"" } ], @"preemptible": @NO, @"region": @"" }, @"name": @"", @"premiumTierEgressWorkload": @{ @"destinationContinent": @"", @"egressRate": @{ }, @"sourceRegion": @"" }, @"standardTierEgressWorkload": @{ @"egressRate": @{ }, @"sourceRegion": @"" }, @"vmToVmEgressWorkload": @{ @"interRegionEgress": @{ @"destinationRegion": @"", @"egressRate": @{ }, @"sourceRegion": @"" }, @"intraRegionEgress": @{ @"egressRate": @{ } } } } ] } };
NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1beta:estimateCostScenario"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt
let uri = Uri.of_string "{{baseUrl}}/v1beta:estimateCostScenario" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}" in
Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
(* Do stuff with the result *)
"{{baseUrl}}/v1beta:estimateCostScenario",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'costScenario' => [
'commitments' => [
[
'name' => '',
'vmResourceBasedCud' => [
'guestAccelerator' => [
'acceleratorCount' => '',
'acceleratorType' => ''
],
'machineSeries' => '',
'memorySizeGb' => '',
'plan' => '',
'region' => '',
'virtualCpuCount' => ''
]
]
],
'scenarioConfig' => [
'estimateDuration' => ''
],
'workloads' => [
[
'cloudCdnEgressWorkload' => [
'cacheEgressDestination' => '',
'cacheEgressRate' => [
'usageRateTimeline' => [
'unit' => '',
'usageRateTimelineEntries' => [
[
'effectiveTime' => [
'estimationTimeFrameOffset' => ''
],
'usageRate' => ''
]
]
]
]
],
'cloudCdnWorkload' => [
'cacheFillOriginService' => '',
'cacheFillRate' => [
],
'cacheFillRegions' => [
'destinationRegion' => '',
'sourceRegion' => ''
],
'cacheLookUpRate' => [
]
],
'cloudInterconnectEgressWorkload' => [
'egressRate' => [
],
'interconnectConnectionLocation' => ''
],
'cloudInterconnectWorkload' => [
'interconnectAttachments' => [
[
'bandwidth' => '',
'vlanCount' => [
]
]
],
'interconnectType' => '',
'linkType' => '',
'provisionedLinkCount' => [
]
],
'cloudStorageEgressWorkload' => [
'destinationContinent' => '',
'egressRate' => [
],
'sourceContinent' => ''
],
'cloudStorageWorkload' => [
'dataRetrieval' => [
],
'dataStored' => [
],
'dualRegion' => [
'name' => ''
],
'multiRegion' => [
'name' => ''
],
'operationA' => [
],
'operationB' => [
],
'region' => [
'name' => ''
],
'storageClass' => ''
],
'computeVmWorkload' => [
'enableConfidentialCompute' => null,
'guestAccelerator' => [
],
'instancesRunning' => [
],
'licenses' => [
],
'machineType' => [
'customMachineType' => [
'machineSeries' => '',
'memorySizeGb' => '',
'virtualCpuCount' => ''
],
'predefinedMachineType' => [
'machineType' => ''
]
],
'persistentDisks' => [
[
'diskSize' => [
],
'diskType' => '',
'provisionedIops' => [
],
'scope' => ''
]
],
'preemptible' => null,
'region' => ''
],
'name' => '',
'premiumTierEgressWorkload' => [
'destinationContinent' => '',
'egressRate' => [
],
'sourceRegion' => ''
],
'standardTierEgressWorkload' => [
'egressRate' => [
],
'sourceRegion' => ''
],
'vmToVmEgressWorkload' => [
'interRegionEgress' => [
'destinationRegion' => '',
'egressRate' => [
],
'sourceRegion' => ''
],
'intraRegionEgress' => [
'egressRate' => [
]
]
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"content-type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
request('POST', '{{baseUrl}}/v1beta:estimateCostScenario', [
'body' => '{
"costScenario": {
"commitments": [
{
"name": "",
"vmResourceBasedCud": {
"guestAccelerator": {
"acceleratorCount": "",
"acceleratorType": ""
},
"machineSeries": "",
"memorySizeGb": "",
"plan": "",
"region": "",
"virtualCpuCount": ""
}
}
],
"scenarioConfig": {
"estimateDuration": ""
},
"workloads": [
{
"cloudCdnEgressWorkload": {
"cacheEgressDestination": "",
"cacheEgressRate": {
"usageRateTimeline": {
"unit": "",
"usageRateTimelineEntries": [
{
"effectiveTime": {
"estimationTimeFrameOffset": ""
},
"usageRate": ""
}
]
}
}
},
"cloudCdnWorkload": {
"cacheFillOriginService": "",
"cacheFillRate": {},
"cacheFillRegions": {
"destinationRegion": "",
"sourceRegion": ""
},
"cacheLookUpRate": {}
},
"cloudInterconnectEgressWorkload": {
"egressRate": {},
"interconnectConnectionLocation": ""
},
"cloudInterconnectWorkload": {
"interconnectAttachments": [
{
"bandwidth": "",
"vlanCount": {}
}
],
"interconnectType": "",
"linkType": "",
"provisionedLinkCount": {}
},
"cloudStorageEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceContinent": ""
},
"cloudStorageWorkload": {
"dataRetrieval": {},
"dataStored": {},
"dualRegion": {
"name": ""
},
"multiRegion": {
"name": ""
},
"operationA": {},
"operationB": {},
"region": {
"name": ""
},
"storageClass": ""
},
"computeVmWorkload": {
"enableConfidentialCompute": false,
"guestAccelerator": {},
"instancesRunning": {},
"licenses": [],
"machineType": {
"customMachineType": {
"machineSeries": "",
"memorySizeGb": "",
"virtualCpuCount": ""
},
"predefinedMachineType": {
"machineType": ""
}
},
"persistentDisks": [
{
"diskSize": {},
"diskType": "",
"provisionedIops": {},
"scope": ""
}
],
"preemptible": false,
"region": ""
},
"name": "",
"premiumTierEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceRegion": ""
},
"standardTierEgressWorkload": {
"egressRate": {},
"sourceRegion": ""
},
"vmToVmEgressWorkload": {
"interRegionEgress": {
"destinationRegion": "",
"egressRate": {},
"sourceRegion": ""
},
"intraRegionEgress": {
"egressRate": {}
}
}
}
]
}
}',
'headers' => [
'content-type' => 'application/json',
],
]);
echo $response->getBody();
setUrl('{{baseUrl}}/v1beta:estimateCostScenario');
$request->setMethod(HTTP_METH_POST);
$request->setHeaders([
'content-type' => 'application/json'
]);
$request->setContentType('application/json');
$request->setBody(json_encode([
'costScenario' => [
'commitments' => [
[
'name' => '',
'vmResourceBasedCud' => [
'guestAccelerator' => [
'acceleratorCount' => '',
'acceleratorType' => ''
],
'machineSeries' => '',
'memorySizeGb' => '',
'plan' => '',
'region' => '',
'virtualCpuCount' => ''
]
]
],
'scenarioConfig' => [
'estimateDuration' => ''
],
'workloads' => [
[
'cloudCdnEgressWorkload' => [
'cacheEgressDestination' => '',
'cacheEgressRate' => [
'usageRateTimeline' => [
'unit' => '',
'usageRateTimelineEntries' => [
[
'effectiveTime' => [
'estimationTimeFrameOffset' => ''
],
'usageRate' => ''
]
]
]
]
],
'cloudCdnWorkload' => [
'cacheFillOriginService' => '',
'cacheFillRate' => [
],
'cacheFillRegions' => [
'destinationRegion' => '',
'sourceRegion' => ''
],
'cacheLookUpRate' => [
]
],
'cloudInterconnectEgressWorkload' => [
'egressRate' => [
],
'interconnectConnectionLocation' => ''
],
'cloudInterconnectWorkload' => [
'interconnectAttachments' => [
[
'bandwidth' => '',
'vlanCount' => [
]
]
],
'interconnectType' => '',
'linkType' => '',
'provisionedLinkCount' => [
]
],
'cloudStorageEgressWorkload' => [
'destinationContinent' => '',
'egressRate' => [
],
'sourceContinent' => ''
],
'cloudStorageWorkload' => [
'dataRetrieval' => [
],
'dataStored' => [
],
'dualRegion' => [
'name' => ''
],
'multiRegion' => [
'name' => ''
],
'operationA' => [
],
'operationB' => [
],
'region' => [
'name' => ''
],
'storageClass' => ''
],
'computeVmWorkload' => [
'enableConfidentialCompute' => null,
'guestAccelerator' => [
],
'instancesRunning' => [
],
'licenses' => [
],
'machineType' => [
'customMachineType' => [
'machineSeries' => '',
'memorySizeGb' => '',
'virtualCpuCount' => ''
],
'predefinedMachineType' => [
'machineType' => ''
]
],
'persistentDisks' => [
[
'diskSize' => [
],
'diskType' => '',
'provisionedIops' => [
],
'scope' => ''
]
],
'preemptible' => null,
'region' => ''
],
'name' => '',
'premiumTierEgressWorkload' => [
'destinationContinent' => '',
'egressRate' => [
],
'sourceRegion' => ''
],
'standardTierEgressWorkload' => [
'egressRate' => [
],
'sourceRegion' => ''
],
'vmToVmEgressWorkload' => [
'interRegionEgress' => [
'destinationRegion' => '',
'egressRate' => [
],
'sourceRegion' => ''
],
'intraRegionEgress' => [
'egressRate' => [
]
]
]
]
]
]
]));
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
append(json_encode([
'costScenario' => [
'commitments' => [
[
'name' => '',
'vmResourceBasedCud' => [
'guestAccelerator' => [
'acceleratorCount' => '',
'acceleratorType' => ''
],
'machineSeries' => '',
'memorySizeGb' => '',
'plan' => '',
'region' => '',
'virtualCpuCount' => ''
]
]
],
'scenarioConfig' => [
'estimateDuration' => ''
],
'workloads' => [
[
'cloudCdnEgressWorkload' => [
'cacheEgressDestination' => '',
'cacheEgressRate' => [
'usageRateTimeline' => [
'unit' => '',
'usageRateTimelineEntries' => [
[
'effectiveTime' => [
'estimationTimeFrameOffset' => ''
],
'usageRate' => ''
]
]
]
]
],
'cloudCdnWorkload' => [
'cacheFillOriginService' => '',
'cacheFillRate' => [
],
'cacheFillRegions' => [
'destinationRegion' => '',
'sourceRegion' => ''
],
'cacheLookUpRate' => [
]
],
'cloudInterconnectEgressWorkload' => [
'egressRate' => [
],
'interconnectConnectionLocation' => ''
],
'cloudInterconnectWorkload' => [
'interconnectAttachments' => [
[
'bandwidth' => '',
'vlanCount' => [
]
]
],
'interconnectType' => '',
'linkType' => '',
'provisionedLinkCount' => [
]
],
'cloudStorageEgressWorkload' => [
'destinationContinent' => '',
'egressRate' => [
],
'sourceContinent' => ''
],
'cloudStorageWorkload' => [
'dataRetrieval' => [
],
'dataStored' => [
],
'dualRegion' => [
'name' => ''
],
'multiRegion' => [
'name' => ''
],
'operationA' => [
],
'operationB' => [
],
'region' => [
'name' => ''
],
'storageClass' => ''
],
'computeVmWorkload' => [
'enableConfidentialCompute' => null,
'guestAccelerator' => [
],
'instancesRunning' => [
],
'licenses' => [
],
'machineType' => [
'customMachineType' => [
'machineSeries' => '',
'memorySizeGb' => '',
'virtualCpuCount' => ''
],
'predefinedMachineType' => [
'machineType' => ''
]
],
'persistentDisks' => [
[
'diskSize' => [
],
'diskType' => '',
'provisionedIops' => [
],
'scope' => ''
]
],
'preemptible' => null,
'region' => ''
],
'name' => '',
'premiumTierEgressWorkload' => [
'destinationContinent' => '',
'egressRate' => [
],
'sourceRegion' => ''
],
'standardTierEgressWorkload' => [
'egressRate' => [
],
'sourceRegion' => ''
],
'vmToVmEgressWorkload' => [
'interRegionEgress' => [
'destinationRegion' => '',
'egressRate' => [
],
'sourceRegion' => ''
],
'intraRegionEgress' => [
'egressRate' => [
]
]
]
]
]
]
]));
$request->setRequestUrl('{{baseUrl}}/v1beta:estimateCostScenario');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders([
'content-type' => 'application/json'
]);
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1beta:estimateCostScenario' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"costScenario": {
"commitments": [
{
"name": "",
"vmResourceBasedCud": {
"guestAccelerator": {
"acceleratorCount": "",
"acceleratorType": ""
},
"machineSeries": "",
"memorySizeGb": "",
"plan": "",
"region": "",
"virtualCpuCount": ""
}
}
],
"scenarioConfig": {
"estimateDuration": ""
},
"workloads": [
{
"cloudCdnEgressWorkload": {
"cacheEgressDestination": "",
"cacheEgressRate": {
"usageRateTimeline": {
"unit": "",
"usageRateTimelineEntries": [
{
"effectiveTime": {
"estimationTimeFrameOffset": ""
},
"usageRate": ""
}
]
}
}
},
"cloudCdnWorkload": {
"cacheFillOriginService": "",
"cacheFillRate": {},
"cacheFillRegions": {
"destinationRegion": "",
"sourceRegion": ""
},
"cacheLookUpRate": {}
},
"cloudInterconnectEgressWorkload": {
"egressRate": {},
"interconnectConnectionLocation": ""
},
"cloudInterconnectWorkload": {
"interconnectAttachments": [
{
"bandwidth": "",
"vlanCount": {}
}
],
"interconnectType": "",
"linkType": "",
"provisionedLinkCount": {}
},
"cloudStorageEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceContinent": ""
},
"cloudStorageWorkload": {
"dataRetrieval": {},
"dataStored": {},
"dualRegion": {
"name": ""
},
"multiRegion": {
"name": ""
},
"operationA": {},
"operationB": {},
"region": {
"name": ""
},
"storageClass": ""
},
"computeVmWorkload": {
"enableConfidentialCompute": false,
"guestAccelerator": {},
"instancesRunning": {},
"licenses": [],
"machineType": {
"customMachineType": {
"machineSeries": "",
"memorySizeGb": "",
"virtualCpuCount": ""
},
"predefinedMachineType": {
"machineType": ""
}
},
"persistentDisks": [
{
"diskSize": {},
"diskType": "",
"provisionedIops": {},
"scope": ""
}
],
"preemptible": false,
"region": ""
},
"name": "",
"premiumTierEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceRegion": ""
},
"standardTierEgressWorkload": {
"egressRate": {},
"sourceRegion": ""
},
"vmToVmEgressWorkload": {
"interRegionEgress": {
"destinationRegion": "",
"egressRate": {},
"sourceRegion": ""
},
"intraRegionEgress": {
"egressRate": {}
}
}
}
]
}
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1beta:estimateCostScenario' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"costScenario": {
"commitments": [
{
"name": "",
"vmResourceBasedCud": {
"guestAccelerator": {
"acceleratorCount": "",
"acceleratorType": ""
},
"machineSeries": "",
"memorySizeGb": "",
"plan": "",
"region": "",
"virtualCpuCount": ""
}
}
],
"scenarioConfig": {
"estimateDuration": ""
},
"workloads": [
{
"cloudCdnEgressWorkload": {
"cacheEgressDestination": "",
"cacheEgressRate": {
"usageRateTimeline": {
"unit": "",
"usageRateTimelineEntries": [
{
"effectiveTime": {
"estimationTimeFrameOffset": ""
},
"usageRate": ""
}
]
}
}
},
"cloudCdnWorkload": {
"cacheFillOriginService": "",
"cacheFillRate": {},
"cacheFillRegions": {
"destinationRegion": "",
"sourceRegion": ""
},
"cacheLookUpRate": {}
},
"cloudInterconnectEgressWorkload": {
"egressRate": {},
"interconnectConnectionLocation": ""
},
"cloudInterconnectWorkload": {
"interconnectAttachments": [
{
"bandwidth": "",
"vlanCount": {}
}
],
"interconnectType": "",
"linkType": "",
"provisionedLinkCount": {}
},
"cloudStorageEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceContinent": ""
},
"cloudStorageWorkload": {
"dataRetrieval": {},
"dataStored": {},
"dualRegion": {
"name": ""
},
"multiRegion": {
"name": ""
},
"operationA": {},
"operationB": {},
"region": {
"name": ""
},
"storageClass": ""
},
"computeVmWorkload": {
"enableConfidentialCompute": false,
"guestAccelerator": {},
"instancesRunning": {},
"licenses": [],
"machineType": {
"customMachineType": {
"machineSeries": "",
"memorySizeGb": "",
"virtualCpuCount": ""
},
"predefinedMachineType": {
"machineType": ""
}
},
"persistentDisks": [
{
"diskSize": {},
"diskType": "",
"provisionedIops": {},
"scope": ""
}
],
"preemptible": false,
"region": ""
},
"name": "",
"premiumTierEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceRegion": ""
},
"standardTierEgressWorkload": {
"egressRate": {},
"sourceRegion": ""
},
"vmToVmEgressWorkload": {
"interRegionEgress": {
"destinationRegion": "",
"egressRate": {},
"sourceRegion": ""
},
"intraRegionEgress": {
"egressRate": {}
}
}
}
]
}
}'
import http.client
conn = http.client.HTTPSConnection("example.com")
payload = "{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}"
headers = { 'content-type': "application/json" }
conn.request("POST", "/baseUrl/v1beta:estimateCostScenario", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
import requests
url = "{{baseUrl}}/v1beta:estimateCostScenario"
payload = { "costScenario": {
"commitments": [
{
"name": "",
"vmResourceBasedCud": {
"guestAccelerator": {
"acceleratorCount": "",
"acceleratorType": ""
},
"machineSeries": "",
"memorySizeGb": "",
"plan": "",
"region": "",
"virtualCpuCount": ""
}
}
],
"scenarioConfig": { "estimateDuration": "" },
"workloads": [
{
"cloudCdnEgressWorkload": {
"cacheEgressDestination": "",
"cacheEgressRate": { "usageRateTimeline": {
"unit": "",
"usageRateTimelineEntries": [
{
"effectiveTime": { "estimationTimeFrameOffset": "" },
"usageRate": ""
}
]
} }
},
"cloudCdnWorkload": {
"cacheFillOriginService": "",
"cacheFillRate": {},
"cacheFillRegions": {
"destinationRegion": "",
"sourceRegion": ""
},
"cacheLookUpRate": {}
},
"cloudInterconnectEgressWorkload": {
"egressRate": {},
"interconnectConnectionLocation": ""
},
"cloudInterconnectWorkload": {
"interconnectAttachments": [
{
"bandwidth": "",
"vlanCount": {}
}
],
"interconnectType": "",
"linkType": "",
"provisionedLinkCount": {}
},
"cloudStorageEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceContinent": ""
},
"cloudStorageWorkload": {
"dataRetrieval": {},
"dataStored": {},
"dualRegion": { "name": "" },
"multiRegion": { "name": "" },
"operationA": {},
"operationB": {},
"region": { "name": "" },
"storageClass": ""
},
"computeVmWorkload": {
"enableConfidentialCompute": False,
"guestAccelerator": {},
"instancesRunning": {},
"licenses": [],
"machineType": {
"customMachineType": {
"machineSeries": "",
"memorySizeGb": "",
"virtualCpuCount": ""
},
"predefinedMachineType": { "machineType": "" }
},
"persistentDisks": [
{
"diskSize": {},
"diskType": "",
"provisionedIops": {},
"scope": ""
}
],
"preemptible": False,
"region": ""
},
"name": "",
"premiumTierEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceRegion": ""
},
"standardTierEgressWorkload": {
"egressRate": {},
"sourceRegion": ""
},
"vmToVmEgressWorkload": {
"interRegionEgress": {
"destinationRegion": "",
"egressRate": {},
"sourceRegion": ""
},
"intraRegionEgress": { "egressRate": {} }
}
}
]
} }
headers = {"content-type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
library(httr)
url <- "{{baseUrl}}/v1beta:estimateCostScenario"
payload <- "{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}"
encode <- "json"
response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode)
content(response, "text")
require 'uri'
require 'net/http'
url = URI("{{baseUrl}}/v1beta:estimateCostScenario")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body
require 'faraday'
conn = Faraday.new(
url: 'https://example.com',
headers: {'Content-Type' => 'application/json'}
)
response = conn.post('/baseUrl/v1beta:estimateCostScenario') do |req|
req.body = "{\n \"costScenario\": {\n \"commitments\": [\n {\n \"name\": \"\",\n \"vmResourceBasedCud\": {\n \"guestAccelerator\": {\n \"acceleratorCount\": \"\",\n \"acceleratorType\": \"\"\n },\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"plan\": \"\",\n \"region\": \"\",\n \"virtualCpuCount\": \"\"\n }\n }\n ],\n \"scenarioConfig\": {\n \"estimateDuration\": \"\"\n },\n \"workloads\": [\n {\n \"cloudCdnEgressWorkload\": {\n \"cacheEgressDestination\": \"\",\n \"cacheEgressRate\": {\n \"usageRateTimeline\": {\n \"unit\": \"\",\n \"usageRateTimelineEntries\": [\n {\n \"effectiveTime\": {\n \"estimationTimeFrameOffset\": \"\"\n },\n \"usageRate\": \"\"\n }\n ]\n }\n }\n },\n \"cloudCdnWorkload\": {\n \"cacheFillOriginService\": \"\",\n \"cacheFillRate\": {},\n \"cacheFillRegions\": {\n \"destinationRegion\": \"\",\n \"sourceRegion\": \"\"\n },\n \"cacheLookUpRate\": {}\n },\n \"cloudInterconnectEgressWorkload\": {\n \"egressRate\": {},\n \"interconnectConnectionLocation\": \"\"\n },\n \"cloudInterconnectWorkload\": {\n \"interconnectAttachments\": [\n {\n \"bandwidth\": \"\",\n \"vlanCount\": {}\n }\n ],\n \"interconnectType\": \"\",\n \"linkType\": \"\",\n \"provisionedLinkCount\": {}\n },\n \"cloudStorageEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceContinent\": \"\"\n },\n \"cloudStorageWorkload\": {\n \"dataRetrieval\": {},\n \"dataStored\": {},\n \"dualRegion\": {\n \"name\": \"\"\n },\n \"multiRegion\": {\n \"name\": \"\"\n },\n \"operationA\": {},\n \"operationB\": {},\n \"region\": {\n \"name\": \"\"\n },\n \"storageClass\": \"\"\n },\n \"computeVmWorkload\": {\n \"enableConfidentialCompute\": false,\n \"guestAccelerator\": {},\n \"instancesRunning\": {},\n \"licenses\": [],\n \"machineType\": {\n \"customMachineType\": {\n \"machineSeries\": \"\",\n \"memorySizeGb\": \"\",\n \"virtualCpuCount\": \"\"\n },\n \"predefinedMachineType\": {\n \"machineType\": \"\"\n }\n },\n \"persistentDisks\": [\n {\n \"diskSize\": {},\n \"diskType\": \"\",\n \"provisionedIops\": {},\n \"scope\": \"\"\n }\n ],\n \"preemptible\": false,\n \"region\": \"\"\n },\n \"name\": \"\",\n \"premiumTierEgressWorkload\": {\n \"destinationContinent\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"standardTierEgressWorkload\": {\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"vmToVmEgressWorkload\": {\n \"interRegionEgress\": {\n \"destinationRegion\": \"\",\n \"egressRate\": {},\n \"sourceRegion\": \"\"\n },\n \"intraRegionEgress\": {\n \"egressRate\": {}\n }\n }\n }\n ]\n }\n}"
end
puts response.status
puts response.body
use serde_json::json;
use reqwest;
#[tokio::main]
pub async fn main() {
let url = "{{baseUrl}}/v1beta:estimateCostScenario";
let payload = json!({"costScenario": json!({
"commitments": (
json!({
"name": "",
"vmResourceBasedCud": json!({
"guestAccelerator": json!({
"acceleratorCount": "",
"acceleratorType": ""
}),
"machineSeries": "",
"memorySizeGb": "",
"plan": "",
"region": "",
"virtualCpuCount": ""
})
})
),
"scenarioConfig": json!({"estimateDuration": ""}),
"workloads": (
json!({
"cloudCdnEgressWorkload": json!({
"cacheEgressDestination": "",
"cacheEgressRate": json!({"usageRateTimeline": json!({
"unit": "",
"usageRateTimelineEntries": (
json!({
"effectiveTime": json!({"estimationTimeFrameOffset": ""}),
"usageRate": ""
})
)
})})
}),
"cloudCdnWorkload": json!({
"cacheFillOriginService": "",
"cacheFillRate": json!({}),
"cacheFillRegions": json!({
"destinationRegion": "",
"sourceRegion": ""
}),
"cacheLookUpRate": json!({})
}),
"cloudInterconnectEgressWorkload": json!({
"egressRate": json!({}),
"interconnectConnectionLocation": ""
}),
"cloudInterconnectWorkload": json!({
"interconnectAttachments": (
json!({
"bandwidth": "",
"vlanCount": json!({})
})
),
"interconnectType": "",
"linkType": "",
"provisionedLinkCount": json!({})
}),
"cloudStorageEgressWorkload": json!({
"destinationContinent": "",
"egressRate": json!({}),
"sourceContinent": ""
}),
"cloudStorageWorkload": json!({
"dataRetrieval": json!({}),
"dataStored": json!({}),
"dualRegion": json!({"name": ""}),
"multiRegion": json!({"name": ""}),
"operationA": json!({}),
"operationB": json!({}),
"region": json!({"name": ""}),
"storageClass": ""
}),
"computeVmWorkload": json!({
"enableConfidentialCompute": false,
"guestAccelerator": json!({}),
"instancesRunning": json!({}),
"licenses": (),
"machineType": json!({
"customMachineType": json!({
"machineSeries": "",
"memorySizeGb": "",
"virtualCpuCount": ""
}),
"predefinedMachineType": json!({"machineType": ""})
}),
"persistentDisks": (
json!({
"diskSize": json!({}),
"diskType": "",
"provisionedIops": json!({}),
"scope": ""
})
),
"preemptible": false,
"region": ""
}),
"name": "",
"premiumTierEgressWorkload": json!({
"destinationContinent": "",
"egressRate": json!({}),
"sourceRegion": ""
}),
"standardTierEgressWorkload": json!({
"egressRate": json!({}),
"sourceRegion": ""
}),
"vmToVmEgressWorkload": json!({
"interRegionEgress": json!({
"destinationRegion": "",
"egressRate": json!({}),
"sourceRegion": ""
}),
"intraRegionEgress": json!({"egressRate": json!({})})
})
})
)
})});
let mut headers = reqwest::header::HeaderMap::new();
headers.insert("content-type", "application/json".parse().unwrap());
let client = reqwest::Client::new();
let response = client.post(url)
.headers(headers)
.json(&payload)
.send()
.await;
let results = response.unwrap()
.json::()
.await
.unwrap();
dbg!(results);
}
curl --request POST \
--url {{baseUrl}}/v1beta:estimateCostScenario \
--header 'content-type: application/json' \
--data '{
"costScenario": {
"commitments": [
{
"name": "",
"vmResourceBasedCud": {
"guestAccelerator": {
"acceleratorCount": "",
"acceleratorType": ""
},
"machineSeries": "",
"memorySizeGb": "",
"plan": "",
"region": "",
"virtualCpuCount": ""
}
}
],
"scenarioConfig": {
"estimateDuration": ""
},
"workloads": [
{
"cloudCdnEgressWorkload": {
"cacheEgressDestination": "",
"cacheEgressRate": {
"usageRateTimeline": {
"unit": "",
"usageRateTimelineEntries": [
{
"effectiveTime": {
"estimationTimeFrameOffset": ""
},
"usageRate": ""
}
]
}
}
},
"cloudCdnWorkload": {
"cacheFillOriginService": "",
"cacheFillRate": {},
"cacheFillRegions": {
"destinationRegion": "",
"sourceRegion": ""
},
"cacheLookUpRate": {}
},
"cloudInterconnectEgressWorkload": {
"egressRate": {},
"interconnectConnectionLocation": ""
},
"cloudInterconnectWorkload": {
"interconnectAttachments": [
{
"bandwidth": "",
"vlanCount": {}
}
],
"interconnectType": "",
"linkType": "",
"provisionedLinkCount": {}
},
"cloudStorageEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceContinent": ""
},
"cloudStorageWorkload": {
"dataRetrieval": {},
"dataStored": {},
"dualRegion": {
"name": ""
},
"multiRegion": {
"name": ""
},
"operationA": {},
"operationB": {},
"region": {
"name": ""
},
"storageClass": ""
},
"computeVmWorkload": {
"enableConfidentialCompute": false,
"guestAccelerator": {},
"instancesRunning": {},
"licenses": [],
"machineType": {
"customMachineType": {
"machineSeries": "",
"memorySizeGb": "",
"virtualCpuCount": ""
},
"predefinedMachineType": {
"machineType": ""
}
},
"persistentDisks": [
{
"diskSize": {},
"diskType": "",
"provisionedIops": {},
"scope": ""
}
],
"preemptible": false,
"region": ""
},
"name": "",
"premiumTierEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceRegion": ""
},
"standardTierEgressWorkload": {
"egressRate": {},
"sourceRegion": ""
},
"vmToVmEgressWorkload": {
"interRegionEgress": {
"destinationRegion": "",
"egressRate": {},
"sourceRegion": ""
},
"intraRegionEgress": {
"egressRate": {}
}
}
}
]
}
}'
echo '{
"costScenario": {
"commitments": [
{
"name": "",
"vmResourceBasedCud": {
"guestAccelerator": {
"acceleratorCount": "",
"acceleratorType": ""
},
"machineSeries": "",
"memorySizeGb": "",
"plan": "",
"region": "",
"virtualCpuCount": ""
}
}
],
"scenarioConfig": {
"estimateDuration": ""
},
"workloads": [
{
"cloudCdnEgressWorkload": {
"cacheEgressDestination": "",
"cacheEgressRate": {
"usageRateTimeline": {
"unit": "",
"usageRateTimelineEntries": [
{
"effectiveTime": {
"estimationTimeFrameOffset": ""
},
"usageRate": ""
}
]
}
}
},
"cloudCdnWorkload": {
"cacheFillOriginService": "",
"cacheFillRate": {},
"cacheFillRegions": {
"destinationRegion": "",
"sourceRegion": ""
},
"cacheLookUpRate": {}
},
"cloudInterconnectEgressWorkload": {
"egressRate": {},
"interconnectConnectionLocation": ""
},
"cloudInterconnectWorkload": {
"interconnectAttachments": [
{
"bandwidth": "",
"vlanCount": {}
}
],
"interconnectType": "",
"linkType": "",
"provisionedLinkCount": {}
},
"cloudStorageEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceContinent": ""
},
"cloudStorageWorkload": {
"dataRetrieval": {},
"dataStored": {},
"dualRegion": {
"name": ""
},
"multiRegion": {
"name": ""
},
"operationA": {},
"operationB": {},
"region": {
"name": ""
},
"storageClass": ""
},
"computeVmWorkload": {
"enableConfidentialCompute": false,
"guestAccelerator": {},
"instancesRunning": {},
"licenses": [],
"machineType": {
"customMachineType": {
"machineSeries": "",
"memorySizeGb": "",
"virtualCpuCount": ""
},
"predefinedMachineType": {
"machineType": ""
}
},
"persistentDisks": [
{
"diskSize": {},
"diskType": "",
"provisionedIops": {},
"scope": ""
}
],
"preemptible": false,
"region": ""
},
"name": "",
"premiumTierEgressWorkload": {
"destinationContinent": "",
"egressRate": {},
"sourceRegion": ""
},
"standardTierEgressWorkload": {
"egressRate": {},
"sourceRegion": ""
},
"vmToVmEgressWorkload": {
"interRegionEgress": {
"destinationRegion": "",
"egressRate": {},
"sourceRegion": ""
},
"intraRegionEgress": {
"egressRate": {}
}
}
}
]
}
}' | \
http POST {{baseUrl}}/v1beta:estimateCostScenario \
content-type:application/json
wget --quiet \
--method POST \
--header 'content-type: application/json' \
--body-data '{\n "costScenario": {\n "commitments": [\n {\n "name": "",\n "vmResourceBasedCud": {\n "guestAccelerator": {\n "acceleratorCount": "",\n "acceleratorType": ""\n },\n "machineSeries": "",\n "memorySizeGb": "",\n "plan": "",\n "region": "",\n "virtualCpuCount": ""\n }\n }\n ],\n "scenarioConfig": {\n "estimateDuration": ""\n },\n "workloads": [\n {\n "cloudCdnEgressWorkload": {\n "cacheEgressDestination": "",\n "cacheEgressRate": {\n "usageRateTimeline": {\n "unit": "",\n "usageRateTimelineEntries": [\n {\n "effectiveTime": {\n "estimationTimeFrameOffset": ""\n },\n "usageRate": ""\n }\n ]\n }\n }\n },\n "cloudCdnWorkload": {\n "cacheFillOriginService": "",\n "cacheFillRate": {},\n "cacheFillRegions": {\n "destinationRegion": "",\n "sourceRegion": ""\n },\n "cacheLookUpRate": {}\n },\n "cloudInterconnectEgressWorkload": {\n "egressRate": {},\n "interconnectConnectionLocation": ""\n },\n "cloudInterconnectWorkload": {\n "interconnectAttachments": [\n {\n "bandwidth": "",\n "vlanCount": {}\n }\n ],\n "interconnectType": "",\n "linkType": "",\n "provisionedLinkCount": {}\n },\n "cloudStorageEgressWorkload": {\n "destinationContinent": "",\n "egressRate": {},\n "sourceContinent": ""\n },\n "cloudStorageWorkload": {\n "dataRetrieval": {},\n "dataStored": {},\n "dualRegion": {\n "name": ""\n },\n "multiRegion": {\n "name": ""\n },\n "operationA": {},\n "operationB": {},\n "region": {\n "name": ""\n },\n "storageClass": ""\n },\n "computeVmWorkload": {\n "enableConfidentialCompute": false,\n "guestAccelerator": {},\n "instancesRunning": {},\n "licenses": [],\n "machineType": {\n "customMachineType": {\n "machineSeries": "",\n "memorySizeGb": "",\n "virtualCpuCount": ""\n },\n "predefinedMachineType": {\n "machineType": ""\n }\n },\n "persistentDisks": [\n {\n "diskSize": {},\n "diskType": "",\n "provisionedIops": {},\n "scope": ""\n }\n ],\n "preemptible": false,\n "region": ""\n },\n "name": "",\n "premiumTierEgressWorkload": {\n "destinationContinent": "",\n "egressRate": {},\n "sourceRegion": ""\n },\n "standardTierEgressWorkload": {\n "egressRate": {},\n "sourceRegion": ""\n },\n "vmToVmEgressWorkload": {\n "interRegionEgress": {\n "destinationRegion": "",\n "egressRate": {},\n "sourceRegion": ""\n },\n "intraRegionEgress": {\n "egressRate": {}\n }\n }\n }\n ]\n }\n}' \
--output-document \
- {{baseUrl}}/v1beta:estimateCostScenario
import Foundation
let headers = ["content-type": "application/json"]
let parameters = ["costScenario": [
"commitments": [
[
"name": "",
"vmResourceBasedCud": [
"guestAccelerator": [
"acceleratorCount": "",
"acceleratorType": ""
],
"machineSeries": "",
"memorySizeGb": "",
"plan": "",
"region": "",
"virtualCpuCount": ""
]
]
],
"scenarioConfig": ["estimateDuration": ""],
"workloads": [
[
"cloudCdnEgressWorkload": [
"cacheEgressDestination": "",
"cacheEgressRate": ["usageRateTimeline": [
"unit": "",
"usageRateTimelineEntries": [
[
"effectiveTime": ["estimationTimeFrameOffset": ""],
"usageRate": ""
]
]
]]
],
"cloudCdnWorkload": [
"cacheFillOriginService": "",
"cacheFillRate": [],
"cacheFillRegions": [
"destinationRegion": "",
"sourceRegion": ""
],
"cacheLookUpRate": []
],
"cloudInterconnectEgressWorkload": [
"egressRate": [],
"interconnectConnectionLocation": ""
],
"cloudInterconnectWorkload": [
"interconnectAttachments": [
[
"bandwidth": "",
"vlanCount": []
]
],
"interconnectType": "",
"linkType": "",
"provisionedLinkCount": []
],
"cloudStorageEgressWorkload": [
"destinationContinent": "",
"egressRate": [],
"sourceContinent": ""
],
"cloudStorageWorkload": [
"dataRetrieval": [],
"dataStored": [],
"dualRegion": ["name": ""],
"multiRegion": ["name": ""],
"operationA": [],
"operationB": [],
"region": ["name": ""],
"storageClass": ""
],
"computeVmWorkload": [
"enableConfidentialCompute": false,
"guestAccelerator": [],
"instancesRunning": [],
"licenses": [],
"machineType": [
"customMachineType": [
"machineSeries": "",
"memorySizeGb": "",
"virtualCpuCount": ""
],
"predefinedMachineType": ["machineType": ""]
],
"persistentDisks": [
[
"diskSize": [],
"diskType": "",
"provisionedIops": [],
"scope": ""
]
],
"preemptible": false,
"region": ""
],
"name": "",
"premiumTierEgressWorkload": [
"destinationContinent": "",
"egressRate": [],
"sourceRegion": ""
],
"standardTierEgressWorkload": [
"egressRate": [],
"sourceRegion": ""
],
"vmToVmEgressWorkload": [
"interRegionEgress": [
"destinationRegion": "",
"egressRate": [],
"sourceRegion": ""
],
"intraRegionEgress": ["egressRate": []]
]
]
]
]] as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1beta:estimateCostScenario")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error as Any)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()