@vantage-sh/vantage-client 0.1.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +201 -80
- package/dist/index.d.mts +20895 -0
- package/dist/index.d.ts +20895 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +38 -43
- package/.swagger-codegen/VERSION +0 -1
- package/.swagger-codegen-ignore +0 -23
- package/.travis.yml +0 -4
- package/babel.config.json +0 -10
- package/docs/Cost.md +0 -11
- package/docs/Costs.md +0 -11
- package/docs/CostsApi.md +0 -168
- package/docs/PingApi.md +0 -51
- package/docs/Price.md +0 -14
- package/docs/Prices.md +0 -9
- package/docs/PricesApi.md +0 -328
- package/docs/Product.md +0 -13
- package/docs/Products.md +0 -9
- package/docs/Provider.md +0 -10
- package/docs/Providers.md +0 -9
- package/docs/Report.md +0 -13
- package/docs/Reports.md +0 -9
- package/docs/Service.md +0 -11
- package/docs/Services.md +0 -9
- package/lib/Vantage/ApiClient.js +0 -645
- package/lib/Vantage/Vantage/CostsApi.js +0 -183
- package/lib/Vantage/Vantage/PingApi.js +0 -71
- package/lib/Vantage/Vantage/PricesApi.js +0 -325
- package/lib/Vantage/index.js +0 -133
- package/lib/Vantage/model/Cost.js +0 -81
- package/lib/Vantage/model/Costs.js +0 -82
- package/lib/Vantage/model/Price.js +0 -102
- package/lib/Vantage/model/Prices.js +0 -68
- package/lib/Vantage/model/Product.js +0 -95
- package/lib/Vantage/model/Products.js +0 -68
- package/lib/Vantage/model/Provider.js +0 -73
- package/lib/Vantage/model/Providers.js +0 -68
- package/lib/Vantage/model/Report.js +0 -95
- package/lib/Vantage/model/Reports.js +0 -68
- package/lib/Vantage/model/Service.js +0 -80
- package/lib/Vantage/model/Services.js +0 -68
- package/mocha.opts +0 -1
- package/test/Vantage/Vantage/CostsApi.spec.js +0 -164
- package/test/Vantage/Vantage/PingApi.spec.js +0 -61
- package/test/Vantage/Vantage/PricesApi.spec.js +0 -280
- package/test/Vantage/model/Cost.spec.js +0 -71
- package/test/Vantage/model/Costs.spec.js +0 -71
- package/test/Vantage/model/Price.spec.js +0 -89
- package/test/Vantage/model/Prices.spec.js +0 -59
- package/test/Vantage/model/Product.spec.js +0 -83
- package/test/Vantage/model/Products.spec.js +0 -59
- package/test/Vantage/model/Provider.spec.js +0 -65
- package/test/Vantage/model/Providers.spec.js +0 -59
- package/test/Vantage/model/Report.spec.js +0 -83
- package/test/Vantage/model/Reports.spec.js +0 -59
- package/test/Vantage/model/Service.spec.js +0 -71
- package/test/Vantage/model/Services.spec.js +0 -59
- package/test/assert-equals.js +0 -81
- package/vantage-sh-vantage-client-0.1.0-beta7.tgz +0 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var l=Object.defineProperty;var ie=Object.getOwnPropertyDescriptor;var ae=Object.getOwnPropertyNames;var pe=Object.prototype.hasOwnProperty;var de=(r,e)=>{for(var t in e)l(r,t,{get:e[t],enumerable:!0})},he=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of ae(e))!pe.call(r,n)&&n!==t&&l(r,n,{get:()=>e[n],enumerable:!(o=ie(e,n))||o.enumerable});return r};var ue=r=>he(l({},"__esModule",{value:!0}),r);var ge={};de(ge,{APIV2Client:()=>R,VantageAPIError:()=>h,pathEncode:()=>s});module.exports=ue(ge);function s(r){return encodeURIComponent(r)}var ce={"/v2/exchange_rates/csv":{POST:!0},"/v2/business_metrics/{}/values.csv":{PUT:!0},"/v2/integrations/{}/costs.csv":{POST:!0}},u={};function le(r){return r.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}for(let[r,e]of Object.entries(ce)){let t=r.split("{}").map(le).join("(.+?)");for(let[o,n]of Object.entries(e))n&&(u[o]||(u[o]=[]),u[o].push(new RegExp(`^${t}$`)))}function ve(r,e){if(Object.prototype.hasOwnProperty.call(u,r))for(let t of u[r]){let o=t.test(e);if(t.lastIndex=0,o)return!0}return!1}function Re(r,e){if(e)for(let[t,o]of Object.entries(e))r.searchParams.append(t,Array.isArray(o)?o.map(String).join(","):String(o))}var h=class extends Error{constructor(t,o,n){let i=null;if(t!==null)try{let p=JSON.parse(n);Array.isArray(p.errors)&&(i=p.errors)}catch{}let a=t===null?`Vantage API Error: ${n}`:`Vantage API Error: ${t} ${o}`+(i?` - ${i.join(", ")}`:"");super(a);this.status=t;this.statusText=o;this.body=n;this.errors=i}errors};async function v(r,e,t,o,n){let i;try{i=await fetch(r.toString(),{method:e,headers:t,body:o})}catch(a){let p=a instanceof Error?a.message:String(a),d=new h(null,null,p);if(n)return[null,d];throw d}if(!i.ok){let a=new h(i.status,i.statusText,await i.text());if(n)return[null,a];throw a}if(i.status===204)return n?[void 0,null]:void 0;try{let a=await i.text(),p;return a&&(p=JSON.parse(a)),n?[p,null]:p}catch(a){let p=a instanceof Error?a.message:String(a),d=new h(i.status,i.statusText,p);if(n)return[null,d];throw d}}var c=class{constructor(e,t,o){this.bearerToken=e;this.neverThrow=t;this.baseUrl=o}async request(e,t,o){let n=new URL(e,this.baseUrl),i={Authorization:`Bearer ${this.bearerToken}`};if(t==="GET")return Re(n,o),v(n,t,i,void 0,this.neverThrow);if(ve(t,e)){let p=new FormData;for(let[d,ne]of Object.entries(o))p.append(d,ne);return i["Content-Type"]="multipart/form-data",v(n,t,i,p,this.neverThrow)}return i["Content-Type"]="application/json",v(n,t,i,JSON.stringify(o),this.neverThrow)}};var R=class extends c{constructor(e,t=!1,o="https://api.vantage.sh"){super(e,t,o)}_accessGrants;_anomalyAlerts;_anomalyNotifications;_auditLogs;_billingProfiles;_billingRules;_budgetAlerts;_budgets;_businessMetrics;_costAlerts;_costProviderAccounts;_costReports;_costs;_dashboards;_dataExports;_exchangeRates;_financialCommitmentReports;_financialCommitments;_folders;_integrations;_invoices;_kubernetesEfficiencyReports;_managedAccounts;_me;_costProviders;_costServices;_userFeedback;_networkFlowReports;_products;_recommendations;_recommendationViews;_reportNotifications;_resourceReports;_resources;_savedFilters;_segments;_tags;_teams;_unitCosts;_users;_virtualTagConfigs;_workspaces;_ping;get accessGrants(){return this._accessGrants||(this._accessGrants=new g(this)),this._accessGrants}get anomalyAlerts(){return this._anomalyAlerts||(this._anomalyAlerts=new y(this)),this._anomalyAlerts}get anomalyNotifications(){return this._anomalyNotifications||(this._anomalyNotifications=new T(this)),this._anomalyNotifications}get auditLogs(){return this._auditLogs||(this._auditLogs=new P(this)),this._auditLogs}get billingProfiles(){return this._billingProfiles||(this._billingProfiles=new _(this)),this._billingProfiles}get billingRules(){return this._billingRules||(this._billingRules=new q(this)),this._billingRules}get budgetAlerts(){return this._budgetAlerts||(this._budgetAlerts=new S(this)),this._budgetAlerts}get budgets(){return this._budgets||(this._budgets=new m(this)),this._budgets}get businessMetrics(){return this._businessMetrics||(this._businessMetrics=new A(this)),this._businessMetrics}get costAlerts(){return this._costAlerts||(this._costAlerts=new E(this)),this._costAlerts}get costProviderAccounts(){return this._costProviderAccounts||(this._costProviderAccounts=new x(this)),this._costProviderAccounts}get costReports(){return this._costReports||(this._costReports=new G(this)),this._costReports}get costs(){return this._costs||(this._costs=new B(this)),this._costs}get dashboards(){return this._dashboards||(this._dashboards=new f(this)),this._dashboards}get dataExports(){return this._dataExports||(this._dataExports=new M(this)),this._dataExports}get exchangeRates(){return this._exchangeRates||(this._exchangeRates=new N(this)),this._exchangeRates}get financialCommitmentReports(){return this._financialCommitmentReports||(this._financialCommitmentReports=new F(this)),this._financialCommitmentReports}get financialCommitments(){return this._financialCommitments||(this._financialCommitments=new w(this)),this._financialCommitments}get folders(){return this._folders||(this._folders=new C(this)),this._folders}get integrations(){return this._integrations||(this._integrations=new $(this)),this._integrations}get invoices(){return this._invoices||(this._invoices=new b(this)),this._invoices}get kubernetesEfficiencyReports(){return this._kubernetesEfficiencyReports||(this._kubernetesEfficiencyReports=new U(this)),this._kubernetesEfficiencyReports}get managedAccounts(){return this._managedAccounts||(this._managedAccounts=new O(this)),this._managedAccounts}get me(){return this._me||(this._me=new k(this)),this._me}get costProviders(){return this._costProviders||(this._costProviders=new D(this)),this._costProviders}get costServices(){return this._costServices||(this._costServices=new L(this)),this._costServices}get userFeedback(){return this._userFeedback||(this._userFeedback=new V(this)),this._userFeedback}get networkFlowReports(){return this._networkFlowReports||(this._networkFlowReports=new I(this)),this._networkFlowReports}get products(){return this._products||(this._products=new K(this)),this._products}get recommendations(){return this._recommendations||(this._recommendations=new j(this)),this._recommendations}get recommendationViews(){return this._recommendationViews||(this._recommendationViews=new W(this)),this._recommendationViews}get reportNotifications(){return this._reportNotifications||(this._reportNotifications=new z(this)),this._reportNotifications}get resourceReports(){return this._resourceReports||(this._resourceReports=new J(this)),this._resourceReports}get resources(){return this._resources||(this._resources=new H(this)),this._resources}get savedFilters(){return this._savedFilters||(this._savedFilters=new Q(this)),this._savedFilters}get segments(){return this._segments||(this._segments=new X(this)),this._segments}get tags(){return this._tags||(this._tags=new Z(this)),this._tags}get teams(){return this._teams||(this._teams=new Y(this)),this._teams}get unitCosts(){return this._unitCosts||(this._unitCosts=new ee(this)),this._unitCosts}get users(){return this._users||(this._users=new te(this)),this._users}get virtualTagConfigs(){return this._virtualTagConfigs||(this._virtualTagConfigs=new se(this)),this._virtualTagConfigs}get workspaces(){return this._workspaces||(this._workspaces=new re(this)),this._workspaces}get ping(){return this._ping||(this._ping=new oe(this)),this._ping}},g=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/access_grants","GET",e)}create(e){return this.client.request("/v2/access_grants","POST",e)}get(e){return this.client.request(`/v2/access_grants/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/access_grants/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/access_grants/${s(e)}`,"DELETE",{})}},y=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/anomaly_alerts","GET",e)}get(e){return this.client.request(`/v2/anomaly_alerts/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/anomaly_alerts/${s(e)}`,"PUT",t)}},T=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/anomaly_notifications","GET",e)}create(e){return this.client.request("/v2/anomaly_notifications","POST",e)}get(e){return this.client.request(`/v2/anomaly_notifications/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/anomaly_notifications/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/anomaly_notifications/${s(e)}`,"DELETE",{})}},P=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/audit_logs","GET",e)}get(e){return this.client.request(`/v2/audit_logs/${s(e)}`,"GET",{})}},_=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/billing_profiles","GET",e)}create(e){return this.client.request("/v2/billing_profiles","POST",e)}get(e){return this.client.request(`/v2/billing_profiles/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/billing_profiles/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/billing_profiles/${s(e)}`,"DELETE",{})}},q=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/billing_rules","GET",e)}create(e){return this.client.request("/v2/billing_rules","POST",e)}get(e){return this.client.request(`/v2/billing_rules/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/billing_rules/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/billing_rules/${s(e)}`,"DELETE",{})}},S=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/budget_alerts","GET",e)}create(e){return this.client.request("/v2/budget_alerts","POST",e)}get(e){return this.client.request(`/v2/budget_alerts/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/budget_alerts/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/budget_alerts/${s(e)}`,"DELETE",{})}},m=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/budgets","GET",e)}create(e){return this.client.request("/v2/budgets","POST",e)}update(e,t){return this.client.request(`/v2/budgets/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/budgets/${s(e)}`,"DELETE",{})}},A=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/business_metrics","GET",e)}create(e){return this.client.request("/v2/business_metrics","POST",e)}get(e){return this.client.request(`/v2/business_metrics/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/business_metrics/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/business_metrics/${s(e)}`,"DELETE",{})}getValues(e,t){return this.client.request(`/v2/business_metrics/${s(e)}/values`,"GET",t)}getForecastedValues(e,t){return this.client.request(`/v2/business_metrics/${s(e)}/forecasted_values`,"GET",t)}updateValuesCSV(e,t){return this.client.request(`/v2/business_metrics/${s(e)}/values.csv`,"PUT",t)}},E=class{constructor(e){this.client=e}create(e){return this.client.request("/v2/cost_alerts","POST",e)}get(e,t){return this.client.request(`/v2/cost_alerts/${s(e)}/events/${s(t)}`,"GET",{})}update(e,t){return this.client.request(`/v2/cost_alerts/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/cost_alerts/${s(e)}`,"DELETE",{})}getEvents(e,t){return this.client.request(`/v2/cost_alerts/${s(e)}/events`,"GET",t)}getEvent(e,t){return this.client.request(`/v2/cost_alerts/${s(e)}/events/${s(t)}`,"GET",{})}},x=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/cost_provider_accounts","GET",e)}},G=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/cost_reports","GET",e)}create(e){return this.client.request("/v2/cost_reports","POST",e)}get(e){return this.client.request(`/v2/cost_reports/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/cost_reports/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/cost_reports/${s(e)}`,"DELETE",{})}getForecastedCosts(e,t){return this.client.request(`/v2/cost_reports/${s(e)}/forecasted_costs`,"GET",t)}},B=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/costs","GET",e)}createExport(e){return this.client.request("/v2/costs/data_exports","POST",e)}},f=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/dashboards","GET",e)}create(e){return this.client.request("/v2/dashboards","POST",e)}get(e){return this.client.request(`/v2/dashboards/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/dashboards/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/dashboards/${s(e)}`,"DELETE",{})}},M=class{constructor(e){this.client=e}get(e){return this.client.request(`/v2/data_exports/${s(e)}`,"GET",{})}},N=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/exchange_rates","GET",e)}createViaCsv(e){return this.client.request("/v2/exchange_rates/csv","POST",e)}},F=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/financial_commitment_reports","GET",e)}create(e){return this.client.request("/v2/financial_commitment_reports","POST",e)}get(e){return this.client.request(`/v2/financial_commitment_reports/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/financial_commitment_reports/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/financial_commitment_reports/${s(e)}`,"DELETE",{})}},w=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/financial_commitments","GET",e)}},C=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/folders","GET",e)}create(e){return this.client.request("/v2/folders","POST",e)}get(e){return this.client.request(`/v2/folders/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/folders/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/folders/${s(e)}`,"DELETE",{})}},$=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/integrations","GET",e)}get(e){return this.client.request(`/v2/integrations/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/integrations/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/integrations/${s(e)}`,"DELETE",{})}createCustomProviderIntegration(e){return this.client.request("/v2/integrations/custom_provider","POST",e)}createUserCostsUploadViaCsv(e,t){return this.client.request(`/v2/integrations/${s(e)}/costs.csv`,"POST",t)}deleteUserCostsUpload(e,t){return this.client.request(`/v2/integrations/${s(e)}/costs/${s(t)}`,"DELETE",{})}getUserCostsUploads(e){return this.client.request(`/v2/integrations/${s(e)}/costs`,"GET",{})}createGCPIntegration(e){return this.client.request("/v2/integrations/gcp","POST",e)}createAzureIntegration(e){return this.client.request("/v2/integrations/azure","POST",e)}},b=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/invoices","GET",e)}create(e){return this.client.request("/v2/invoices","POST",e)}get(e){return this.client.request(`/v2/invoices/${s(e)}`,"GET",{})}downloadInvoice(e,t){return this.client.request(`/v2/invoices/${s(e)}/download`,"POST",t)}sendInvoice(e){return this.client.request(`/v2/invoices/${s(e)}/send`,"POST",{})}sendAndApproveInvoice(e){return this.client.request(`/v2/invoices/${s(e)}/send_and_approve`,"POST",{})}getCostReport(e){return this.client.request(`/v2/invoices/${s(e)}/cost_report`,"GET",{})}regenerateInvoice(e){return this.client.request(`/v2/invoices/${s(e)}/regenerate`,"POST",{})}},U=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/kubernetes_efficiency_reports","GET",e)}create(e){return this.client.request("/v2/kubernetes_efficiency_reports","POST",e)}get(e){return this.client.request(`/v2/kubernetes_efficiency_reports/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/kubernetes_efficiency_reports/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/kubernetes_efficiency_reports/${s(e)}`,"DELETE",{})}createExport(e){return this.client.request("/v2/kubernetes_efficiency_reports/data_exports","POST",e)}},O=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/managed_accounts","GET",e)}create(e){return this.client.request("/v2/managed_accounts","POST",e)}get(e){return this.client.request(`/v2/managed_accounts/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/managed_accounts/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/managed_accounts/${s(e)}`,"DELETE",{})}},k=class{constructor(e){this.client=e}get(){return this.client.request("/v2/me","GET",{})}},D=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/cost_providers","GET",e)}},L=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/cost_services","GET",e)}},V=class{constructor(e){this.client=e}create(e){return this.client.request("/v2/user_feedback","POST",e)}},I=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/network_flow_reports","GET",e)}create(e){return this.client.request("/v2/network_flow_reports","POST",e)}get(e){return this.client.request(`/v2/network_flow_reports/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/network_flow_reports/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/network_flow_reports/${s(e)}`,"DELETE",{})}},K=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/products","GET",e)}get(e,t){return this.client.request(`/v2/products/${s(e)}/prices/${s(t)}`,"GET",{})}getPrices(e,t){return this.client.request(`/v2/products/${s(e)}/prices`,"GET",t)}getPrice(e,t){return this.client.request(`/v2/products/${s(e)}/prices/${s(t)}`,"GET",{})}},j=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/recommendations","GET",e)}get(e){return this.client.request(`/v2/recommendations/${s(e)}`,"GET",{})}getResources(e,t){return this.client.request(`/v2/recommendations/${s(e)}/resources`,"GET",t)}getResource(e,t){return this.client.request(`/v2/recommendations/${s(e)}/resources/${s(t)}`,"GET",{})}},W=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/recommendation_views","GET",e)}create(e){return this.client.request("/v2/recommendation_views","POST",e)}get(e){return this.client.request(`/v2/recommendation_views/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/recommendation_views/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/recommendation_views/${s(e)}`,"DELETE",{})}},z=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/report_notifications","GET",e)}create(e){return this.client.request("/v2/report_notifications","POST",e)}get(e){return this.client.request(`/v2/report_notifications/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/report_notifications/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/report_notifications/${s(e)}`,"DELETE",{})}},J=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/resource_reports","GET",e)}create(e){return this.client.request("/v2/resource_reports","POST",e)}get(e){return this.client.request(`/v2/resource_reports/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/resource_reports/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/resource_reports/${s(e)}`,"DELETE",{})}getColumns(e){return this.client.request("/v2/resource_reports/columns","GET",e)}},H=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/resources","GET",e)}},Q=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/saved_filters","GET",e)}create(e){return this.client.request("/v2/saved_filters","POST",e)}get(e){return this.client.request(`/v2/saved_filters/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/saved_filters/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/saved_filters/${s(e)}`,"DELETE",{})}},X=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/segments","GET",e)}create(e){return this.client.request("/v2/segments","POST",e)}get(e){return this.client.request(`/v2/segments/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/segments/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/segments/${s(e)}`,"DELETE",{})}},Z=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/tags","GET",e)}getValues(e,t){return this.client.request(`/v2/tags/${s(e)}/values`,"GET",t)}},Y=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/teams","GET",e)}create(e){return this.client.request("/v2/teams","POST",e)}get(e){return this.client.request(`/v2/teams/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/teams/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/teams/${s(e)}`,"DELETE",{})}getMembers(e,t){return this.client.request(`/v2/teams/${s(e)}/members`,"GET",t)}addTeamMember(e,t){return this.client.request(`/v2/teams/${s(e)}/members`,"POST",t)}removeTeamMember(e,t){return this.client.request(`/v2/teams/${s(e)}/members/${s(t)}`,"DELETE",{})}},ee=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/unit_costs","GET",e)}createExport(e){return this.client.request("/v2/unit_costs/data_exports","POST",e)}},te=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/users","GET",e)}get(e){return this.client.request(`/v2/users/${s(e)}`,"GET",{})}},se=class{constructor(e){this.client=e}create(e){return this.client.request("/v2/virtual_tag_configs","POST",e)}get(){return this.client.request("/v2/virtual_tag_configs","GET",{})}update(e,t){return this.client.request(`/v2/virtual_tag_configs/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/virtual_tag_configs/${s(e)}`,"DELETE",{})}updateAsyncVirtualTagConfig(e,t){return this.client.request(`/v2/virtual_tag_configs/${s(e)}/async`,"PUT",t)}getAsyncVirtualTagConfigStatus(e){return this.client.request(`/v2/virtual_tag_configs/async/${s(e)}`,"GET",{})}},re=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/workspaces","GET",e)}create(e){return this.client.request("/v2/workspaces","POST",e)}get(e){return this.client.request(`/v2/workspaces/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/workspaces/${s(e)}`,"PUT",t)}},oe=class{constructor(e){this.client=e}get(){return this.client.request("/v2/ping","GET",{})}};0&&(module.exports={APIV2Client,VantageAPIError,pathEncode});
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../index.ts","../BaseClient.ts","../clientAutogen.ts"],"sourcesContent":["export {\n type Path,\n type RequestBodyForPathAndMethod,\n type ResponseBodyForPathAndMethod,\n type SupportedMethods,\n type NoSlashString,\n pathEncode,\n VantageAPIError,\n} from \"./BaseClient\";\nexport * from \"./clientAutogen\";\n","import type { paths } from \"./swaggerSchema\";\n\n/** A string that is guaranteed to not contain slashes. Can be generated with {@link pathEncode} */\nexport type NoSlashString = string & { readonly __noSlash: unique symbol };\n\n/** Encodes a path segment then returns a type that guarantees to TS it does not contain slashes. */\nexport function pathEncode(value: string) {\n return encodeURIComponent(value) as NoSlashString;\n}\n\ntype UnBracket<S extends string> = S extends `${infer X}{${string}}${infer Z}`\n ? UnBracket<`${X}${NoSlashString}${Z}`>\n : S;\n\ntype PathsRedefined = {\n [K in keyof paths as `/v2${UnBracket<K>}`]: [paths[K], K];\n};\n\n/** Defines a union of paths supported by the client. */\nexport type Path = keyof PathsRedefined;\n\ntype MethodsCased = {\n get: \"GET\";\n post: \"POST\";\n put: \"PUT\";\n delete: \"DELETE\";\n patch: \"PATCH\";\n head: \"HEAD\";\n options: \"OPTIONS\";\n trace: \"TRACE\";\n};\n\ntype MethodsInverted = {\n [K in keyof MethodsCased as MethodsCased[K]]: K;\n};\n\ntype MethodsPossiblyUndefined = {\n [K in keyof MethodsCased]?: any;\n};\n\ntype Methods<P extends MethodsPossiblyUndefined> = {\n [K in keyof MethodsCased]: P[K] extends undefined ? never : MethodsCased[K];\n}[keyof MethodsCased];\n\n/** Defines the supported request methods for a given path. */\nexport type SupportedMethods<P extends Path> = Methods<PathsRedefined[P][0]>;\n\ntype Query<\n T extends\n | {\n parameters?: {\n query?: any;\n };\n }\n | undefined,\n> = T[\"parameters\"][\"query\"] extends never | undefined\n ? {}\n : T[\"parameters\"][\"query\"];\n\ntype ReqBody<\n T extends\n | {\n requestBody?: {\n content: any;\n };\n }\n | undefined,\n> = T extends { requestBody: { content: { \"application/json\": infer R } } }\n ? R\n : T extends { requestBody: { content: { \"multipart/form-data\": infer R } } }\n ? R\n : {};\n\n/** Defines the request body type for a given path and method. */\nexport type RequestBodyForPathAndMethod<\n P extends Path,\n M extends SupportedMethods<P>,\n> = M extends \"GET\"\n ? Query<PathsRedefined[P][0][MethodsInverted[M]]>\n : ReqBody<PathsRedefined[P][0][MethodsInverted[M]]>;\n\ntype ExtendsGoodResponseCode<Code extends number, Output> = {\n [C in Code]: {\n responses: {\n [_ in C]: {\n content: {\n \"application/json\": Output;\n };\n };\n };\n };\n}[Code];\n\n/** Patches for specific endpoints go here. This is useful for when the OpenAPI spec is not specific enough for our liking. */\ntype PathAndMethodSpecificPatches = {\n \"/v2/costs\": {\n GET: {\n total_usage?: {\n [usageUnit: string]: string;\n };\n };\n };\n};\n\ntype LookupTableType = {\n [P in Path]: Partial<{\n [M in SupportedMethods<P>]: any;\n }>;\n};\n\ntype ExecutePatch<Patch, Response> = keyof Patch extends never\n ? Response\n : Omit<Response, keyof Patch> & Patch;\n\ntype DoPathSpecificPatches<\n P extends Path,\n M extends SupportedMethods<P>,\n Response,\n LookupTable extends Partial<LookupTableType>,\n> = LookupTable[P] extends never\n ? Response\n : // @ts-expect-error: I'm not sure why this is a error case, but we can ignore it. If the path isn't there, the above check will error.\n ExecutePatch<LookupTable[P][M], Response>;\n\n/** Defines the response body type for a given path and method. */\nexport type ResponseBodyForPathAndMethod<\n P extends Path,\n M extends SupportedMethods<P>,\n> =\n PathsRedefined[P][0][MethodsInverted[M]] extends ExtendsGoodResponseCode<\n 200 | 201 | 202 | 203 | 204,\n infer R\n >\n ? DoPathSpecificPatches<P, M, R, PathAndMethodSpecificPatches>\n : void;\n\n/** We need to make this a string rather than a TS type so we can use it at runtime. */\ntype StringifyType<T extends string> =\n T extends `${infer A}{${string}}${infer B}`\n ? `${StringifyType<A>}{}${StringifyType<B>}`\n : T;\n\ntype Multipart = {\n [key in \"post\" | \"put\" | \"patch\" | \"delete\"]: {\n [_ in key]: {\n requestBody: {\n content: {\n \"multipart/form-data\": any;\n };\n };\n };\n };\n};\n\ntype MultipartPathInfo<T> = T extends Multipart[keyof Multipart]\n ? {\n // This won't be blank, figure out what cases we extend\n [MultipartMethodStructureName in keyof Multipart as T extends Multipart[MultipartMethodStructureName]\n ? MethodsCased[MultipartMethodStructureName]\n : never]: true;\n }\n : never;\n\ntype MultipartEdgeCases = {\n [P in Path as MultipartPathInfo<PathsRedefined[P][0]> extends never\n ? never\n : `/v2${StringifyType<PathsRedefined[P][1]>}`]: MultipartPathInfo<\n PathsRedefined[P][0]\n >;\n};\n\n/**\n * You need to add new edgecase routes here! If a route uses multipart/form-data, you will need to add it here.\n * Note that you will get a type error to this object if you do not.\n */\nconst multipartEdgeCases: MultipartEdgeCases = {\n \"/v2/exchange_rates/csv\": {\n POST: true,\n },\n \"/v2/business_metrics/{}/values.csv\": {\n PUT: true,\n },\n \"/v2/integrations/{}/costs.csv\": {\n POST: true,\n },\n};\n\nconst regexes: { [key: string]: RegExp[] } = {};\n\nfunction escapeRegex(s: string): string {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n}\n\nfor (const [path, methods] of Object.entries(multipartEdgeCases)) {\n const pathSplit = path.split(\"{}\").map(escapeRegex).join(\"(.+?)\");\n for (const [method, ok] of Object.entries(methods)) {\n if (ok) {\n if (!regexes[method]) {\n regexes[method] = [];\n }\n regexes[method].push(new RegExp(`^${pathSplit}$`));\n }\n }\n}\n\nfunction isMultipartMethod(method: string, path: string): boolean {\n if (Object.prototype.hasOwnProperty.call(regexes, method)) {\n for (const regex of regexes[method]) {\n const t = regex.test(path);\n regex.lastIndex = 0;\n if (t) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction handleGetBodyParams(url: URL, body: any) {\n if (body) {\n for (const [key, value] of Object.entries(body)) {\n url.searchParams.append(\n key,\n Array.isArray(value)\n ? value.map(String).join(\",\")\n : String(value),\n );\n }\n }\n}\n\n/** Defines a vantage API failure */\nexport class VantageAPIError extends Error {\n public readonly errors: string[] | null;\n\n constructor(\n public readonly status: number | null,\n public readonly statusText: string | null,\n public readonly body: string,\n ) {\n let e: string[] | null = null;\n if (status !== null) {\n try {\n const parsed = JSON.parse(body);\n if (Array.isArray(parsed.errors)) {\n e = parsed.errors;\n }\n } catch {}\n }\n const text =\n status === null\n ? `Vantage API Error: ${body}`\n : `Vantage API Error: ${status} ${statusText}` +\n (e ? ` - ${e.join(\", \")}` : \"\");\n super(text);\n this.errors = e;\n }\n}\n\nasync function execute(\n url: URL,\n method: string,\n headers: Record<string, string>,\n body: any,\n neverThrow: boolean,\n): Promise<any> {\n let res: Response;\n try {\n res = await fetch(url.toString(), {\n method,\n headers,\n body,\n });\n } catch (e) {\n const message = e instanceof Error ? e.message : String(e);\n const err = new VantageAPIError(null, null, message);\n if (neverThrow) {\n return [null, err] as NeverThrowResult<any>;\n }\n throw err;\n }\n\n if (!res.ok) {\n const err = new VantageAPIError(\n res.status,\n res.statusText,\n await res.text(),\n );\n if (neverThrow) {\n return [null, err] as NeverThrowResult<any>;\n }\n throw err;\n }\n\n if (res.status === 204) {\n if (neverThrow) {\n return [undefined, null] as NeverThrowResult<any>;\n }\n return;\n }\n\n try {\n const text = await res.text();\n let value: any;\n if (text) {\n value = JSON.parse(text);\n }\n return neverThrow ? ([value, null] as NeverThrowResult<any>) : value;\n } catch (e) {\n const message = e instanceof Error ? e.message : String(e);\n const err = new VantageAPIError(res.status, res.statusText, message);\n if (neverThrow) {\n return [null, err] as NeverThrowResult<any>;\n }\n throw err;\n }\n}\n\ntype NeverThrowResult<T> = [null, VantageAPIError] | [T, null];\n\n/** Defines the base client for all API requests. */\nexport class BaseClient<NeverThrow extends boolean> {\n constructor(\n private readonly bearerToken: string,\n private readonly neverThrow: NeverThrow,\n public readonly baseUrl: string,\n ) {}\n\n /** Sends a request to the API. */\n async request<\n RequestPath extends Path,\n RequestMethod extends SupportedMethods<RequestPath>,\n >(\n path: RequestPath,\n method: RequestMethod,\n body: RequestBodyForPathAndMethod<RequestPath, RequestMethod>,\n ): Promise<\n NeverThrow extends true\n ? NeverThrowResult<\n ResponseBodyForPathAndMethod<RequestPath, RequestMethod>\n >\n : ResponseBodyForPathAndMethod<RequestPath, RequestMethod>\n > {\n const url = new URL(path, this.baseUrl);\n\n const headers: Record<string, string> = {\n Authorization: `Bearer ${this.bearerToken}`,\n };\n if (method === \"GET\") {\n // Set query parameters for GET requests\n handleGetBodyParams(url, body);\n return execute(url, method, headers, undefined, this.neverThrow);\n }\n\n // Figure out if this route is a multipart route\n const isMultipart = isMultipartMethod(method, path);\n\n if (isMultipart) {\n // Handle multipart/form-data request\n const formData = new FormData();\n for (const [key, value] of Object.entries(\n body as Record<string, any>,\n )) {\n formData.append(key, value);\n }\n headers[\"Content-Type\"] = \"multipart/form-data\";\n return execute(url, method, headers, formData, this.neverThrow);\n }\n headers[\"Content-Type\"] = \"application/json\";\n return execute(\n url,\n method,\n headers,\n JSON.stringify(body),\n this.neverThrow,\n );\n }\n}\n","// Auto-generated Vantage API Client\n// Do not edit this file directly\n\nimport {\n BaseClient,\n pathEncode,\n type NoSlashString,\n type RequestBodyForPathAndMethod,\n type ResponseBodyForPathAndMethod,\n} from \"./BaseClient\";\n\n// Request/Response types for each endpoint\n/**\n * Return all Access Grants that the current API token has access to.\n */\nexport type GetAccessGrantsRequest = RequestBodyForPathAndMethod<\"/v2/access_grants\", \"GET\">;\n/**\n * Response type for Get all access grants\n */\nexport type GetAccessGrantsResponse = ResponseBodyForPathAndMethod<\"/v2/access_grants\", \"GET\">;\n/**\n * Create an Access Grant.\n */\nexport type CreateAccessGrantRequest = RequestBodyForPathAndMethod<\"/v2/access_grants\", \"POST\">;\n/**\n * Response type for Create access grant\n */\nexport type CreateAccessGrantResponse = ResponseBodyForPathAndMethod<\"/v2/access_grants\", \"POST\">;\n/**\n * Response type for Get access grant by token\n */\nexport type GetAccessGrantResponse = ResponseBodyForPathAndMethod<`/v2/access_grants/${NoSlashString}`, \"GET\">;\n/**\n * Update an AccessGrant.\n */\nexport type UpdateAccessGrantRequest = RequestBodyForPathAndMethod<`/v2/access_grants/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update access grant\n */\nexport type UpdateAccessGrantResponse = ResponseBodyForPathAndMethod<`/v2/access_grants/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete access grant\n */\nexport type DeleteAccessGrantResponse = ResponseBodyForPathAndMethod<`/v2/access_grants/${NoSlashString}`, \"DELETE\">;\n/**\n * Return all Anomaly Alerts that the current API token has access to.\n */\nexport type GetAnomalyAlertsRequest = RequestBodyForPathAndMethod<\"/v2/anomaly_alerts\", \"GET\">;\n/**\n * Response type for Get all anomaly alerts\n */\nexport type GetAnomalyAlertsResponse = ResponseBodyForPathAndMethod<\"/v2/anomaly_alerts\", \"GET\">;\n/**\n * Response type for Get anomaly alert by token\n */\nexport type GetAnomalyAlertResponse = ResponseBodyForPathAndMethod<`/v2/anomaly_alerts/${NoSlashString}`, \"GET\">;\n/**\n * Update an AnomalyAlert.\n */\nexport type UpdateAnomalyAlertRequest = RequestBodyForPathAndMethod<`/v2/anomaly_alerts/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update anomaly alert\n */\nexport type UpdateAnomalyAlertResponse = ResponseBodyForPathAndMethod<`/v2/anomaly_alerts/${NoSlashString}`, \"PUT\">;\n/**\n * Return all Anomaly Notifications.\n */\nexport type GetAnomalyNotificationsRequest = RequestBodyForPathAndMethod<\"/v2/anomaly_notifications\", \"GET\">;\n/**\n * Response type for Get all anomaly notifications\n */\nexport type GetAnomalyNotificationsResponse = ResponseBodyForPathAndMethod<\"/v2/anomaly_notifications\", \"GET\">;\n/**\n * Create an Anomaly Notification for a Cost Report.\n */\nexport type CreateAnomalyNotificationRequest = RequestBodyForPathAndMethod<\"/v2/anomaly_notifications\", \"POST\">;\n/**\n * Response type for Create anomaly notification\n */\nexport type CreateAnomalyNotificationResponse = ResponseBodyForPathAndMethod<\"/v2/anomaly_notifications\", \"POST\">;\n/**\n * Response type for Get anomaly notification by token\n */\nexport type GetAnomalyNotificationResponse = ResponseBodyForPathAndMethod<`/v2/anomaly_notifications/${NoSlashString}`, \"GET\">;\n/**\n * Update an Anomaly Notification.\n */\nexport type UpdateAnomalyNotificationRequest = RequestBodyForPathAndMethod<`/v2/anomaly_notifications/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update anomaly notification\n */\nexport type UpdateAnomalyNotificationResponse = ResponseBodyForPathAndMethod<`/v2/anomaly_notifications/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete anomaly notification\n */\nexport type DeleteAnomalyNotificationResponse = ResponseBodyForPathAndMethod<`/v2/anomaly_notifications/${NoSlashString}`, \"DELETE\">;\n/**\n * Return all AuditLogs.\n */\nexport type GetAuditLogsRequest = RequestBodyForPathAndMethod<\"/v2/audit_logs\", \"GET\">;\n/**\n * Response type for Get all audit logs\n */\nexport type GetAuditLogsResponse = ResponseBodyForPathAndMethod<\"/v2/audit_logs\", \"GET\">;\n/**\n * Response type for Get audit log by token\n */\nexport type GetAuditLogResponse = ResponseBodyForPathAndMethod<`/v2/audit_logs/${NoSlashString}`, \"GET\">;\n/**\n * Returns a list of billing profiles (MSP invoicing required).\n */\nexport type GetBillingProfilesRequest = RequestBodyForPathAndMethod<\"/v2/billing_profiles\", \"GET\">;\n/**\n * Response type for Get all billing profiles\n */\nexport type GetBillingProfilesResponse = ResponseBodyForPathAndMethod<\"/v2/billing_profiles\", \"GET\">;\n/**\n * Create a billing profile (MSP invoicing required).\n */\nexport type CreateBillingProfileRequest = RequestBodyForPathAndMethod<\"/v2/billing_profiles\", \"POST\">;\n/**\n * Response type for Create billing profile\n */\nexport type CreateBillingProfileResponse = ResponseBodyForPathAndMethod<\"/v2/billing_profiles\", \"POST\">;\n/**\n * Response type for Get billing profile by token\n */\nexport type GetBillingProfileResponse = ResponseBodyForPathAndMethod<`/v2/billing_profiles/${NoSlashString}`, \"GET\">;\n/**\n * Requires MSP invoicing to be enabled on the account.\n */\nexport type UpdateBillingProfileRequest = RequestBodyForPathAndMethod<`/v2/billing_profiles/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update billing profile\n */\nexport type UpdateBillingProfileResponse = ResponseBodyForPathAndMethod<`/v2/billing_profiles/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete billing profile\n */\nexport type DeleteBillingProfileResponse = ResponseBodyForPathAndMethod<`/v2/billing_profiles/${NoSlashString}`, \"DELETE\">;\n/**\n * Returns a list of billing rules.\n */\nexport type GetBillingRulesRequest = RequestBodyForPathAndMethod<\"/v2/billing_rules\", \"GET\">;\n/**\n * Response type for Get all billing rules\n */\nexport type GetBillingRulesResponse = ResponseBodyForPathAndMethod<\"/v2/billing_rules\", \"GET\">;\n/**\n * Create a BillingRule.\n */\nexport type CreateBillingRuleRequest = RequestBodyForPathAndMethod<\"/v2/billing_rules\", \"POST\">;\n/**\n * Response type for Create billing rule\n */\nexport type CreateBillingRuleResponse = ResponseBodyForPathAndMethod<\"/v2/billing_rules\", \"POST\">;\n/**\n * Response type for Get billing rule by token\n */\nexport type GetBillingRuleResponse = ResponseBodyForPathAndMethod<`/v2/billing_rules/${NoSlashString}`, \"GET\">;\n/**\n * Update a BillingRule.\n */\nexport type UpdateBillingRuleRequest = RequestBodyForPathAndMethod<`/v2/billing_rules/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update billing rule\n */\nexport type UpdateBillingRuleResponse = ResponseBodyForPathAndMethod<`/v2/billing_rules/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete billing rule\n */\nexport type DeleteBillingRuleResponse = ResponseBodyForPathAndMethod<`/v2/billing_rules/${NoSlashString}`, \"DELETE\">;\n/**\n * Return all BudgetAlerts.\n */\nexport type GetBudgetAlertsRequest = RequestBodyForPathAndMethod<\"/v2/budget_alerts\", \"GET\">;\n/**\n * Response type for Get all budget alerts\n */\nexport type GetBudgetAlertsResponse = ResponseBodyForPathAndMethod<\"/v2/budget_alerts\", \"GET\">;\n/**\n * Create a Budget Alert.\n */\nexport type CreateBudgetAlertRequest = RequestBodyForPathAndMethod<\"/v2/budget_alerts\", \"POST\">;\n/**\n * Response type for Create budget alert\n */\nexport type CreateBudgetAlertResponse = ResponseBodyForPathAndMethod<\"/v2/budget_alerts\", \"POST\">;\n/**\n * Response type for Get budget alert by token\n */\nexport type GetBudgetAlertResponse = ResponseBodyForPathAndMethod<`/v2/budget_alerts/${NoSlashString}`, \"GET\">;\n/**\n * Updates an existing BudgetAlert.\n */\nexport type UpdateBudgetAlertRequest = RequestBodyForPathAndMethod<`/v2/budget_alerts/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update budget alert\n */\nexport type UpdateBudgetAlertResponse = ResponseBodyForPathAndMethod<`/v2/budget_alerts/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete budget alert\n */\nexport type DeleteBudgetAlertResponse = ResponseBodyForPathAndMethod<`/v2/budget_alerts/${NoSlashString}`, \"DELETE\">;\n/**\n * Return all Budgets.\n */\nexport type GetBudgetsRequest = RequestBodyForPathAndMethod<\"/v2/budgets\", \"GET\">;\n/**\n * Response type for Get all budgets\n */\nexport type GetBudgetsResponse = ResponseBodyForPathAndMethod<\"/v2/budgets\", \"GET\">;\n/**\n * Create a Budget.\n */\nexport type CreateBudgetRequest = RequestBodyForPathAndMethod<\"/v2/budgets\", \"POST\">;\n/**\n * Response type for Create budget\n */\nexport type CreateBudgetResponse = ResponseBodyForPathAndMethod<\"/v2/budgets\", \"POST\">;\n/**\n * Return a Budget.\n */\nexport type GetBudgetRequest = RequestBodyForPathAndMethod<`/v2/budgets/${NoSlashString}`, \"GET\">;\n/**\n * Response type for Get budget by token\n */\nexport type GetBudgetResponse = ResponseBodyForPathAndMethod<`/v2/budgets/${NoSlashString}`, \"GET\">;\n/**\n * Update a Budget.\n */\nexport type UpdateBudgetRequest = RequestBodyForPathAndMethod<`/v2/budgets/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update budget\n */\nexport type UpdateBudgetResponse = ResponseBodyForPathAndMethod<`/v2/budgets/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete budget\n */\nexport type DeleteBudgetResponse = ResponseBodyForPathAndMethod<`/v2/budgets/${NoSlashString}`, \"DELETE\">;\n/**\n * Return all BusinessMetrics that the current API token has access to.\n */\nexport type GetBusinessMetricsRequest = RequestBodyForPathAndMethod<\"/v2/business_metrics\", \"GET\">;\n/**\n * Response type for Get all business metrics\n */\nexport type GetBusinessMetricsResponse = ResponseBodyForPathAndMethod<\"/v2/business_metrics\", \"GET\">;\n/**\n * Create a new BusinessMetric.\n */\nexport type CreateBusinessMetricRequest = RequestBodyForPathAndMethod<\"/v2/business_metrics\", \"POST\">;\n/**\n * Response type for Create business metric\n */\nexport type CreateBusinessMetricResponse = ResponseBodyForPathAndMethod<\"/v2/business_metrics\", \"POST\">;\n/**\n * Response type for Get business metric by token\n */\nexport type GetBusinessMetricResponse = ResponseBodyForPathAndMethod<`/v2/business_metrics/${NoSlashString}`, \"GET\">;\n/**\n * Updates an existing BusinessMetric.\n */\nexport type UpdateBusinessMetricRequest = RequestBodyForPathAndMethod<`/v2/business_metrics/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update business metric\n */\nexport type UpdateBusinessMetricResponse = ResponseBodyForPathAndMethod<`/v2/business_metrics/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete business metric\n */\nexport type DeleteBusinessMetricResponse = ResponseBodyForPathAndMethod<`/v2/business_metrics/${NoSlashString}`, \"DELETE\">;\n/**\n * Return values of a BusinessMetric\n */\nexport type GetBusinessMetricValuesRequest = RequestBodyForPathAndMethod<`/v2/business_metrics/${NoSlashString}/values`, \"GET\">;\n/**\n * Response type for Get business metric values\n */\nexport type GetBusinessMetricValuesResponse = ResponseBodyForPathAndMethod<`/v2/business_metrics/${NoSlashString}/values`, \"GET\">;\n/**\n * Return forecasted values of a BusinessMetric\n */\nexport type GetBusinessMetricForecastedValuesRequest = RequestBodyForPathAndMethod<`/v2/business_metrics/${NoSlashString}/forecasted_values`, \"GET\">;\n/**\n * Response type for Get business metric forecasted values\n */\nexport type GetBusinessMetricForecastedValuesResponse = ResponseBodyForPathAndMethod<`/v2/business_metrics/${NoSlashString}/forecasted_values`, \"GET\">;\n/**\n * Updates the values for an existing BusinessMetric from a CSV file.\n */\nexport type UpdateBusinessMetricValuesCSVRequest = RequestBodyForPathAndMethod<`/v2/business_metrics/${NoSlashString}/values.csv`, \"PUT\">;\n/**\n * Response type for Update business metric values from CSV\n */\nexport type UpdateBusinessMetricValuesCSVResponse = ResponseBodyForPathAndMethod<`/v2/business_metrics/${NoSlashString}/values.csv`, \"PUT\">;\n/**\n * Get all CostAlertEvents\n */\nexport type GetCostAlertEventsRequest = RequestBodyForPathAndMethod<`/v2/cost_alerts/${NoSlashString}/events`, \"GET\">;\n/**\n * Response type for Get all cost alert events\n */\nexport type GetCostAlertEventsResponse = ResponseBodyForPathAndMethod<`/v2/cost_alerts/${NoSlashString}/events`, \"GET\">;\n/**\n * Response type for Get cost alert event by token\n */\nexport type GetCostAlertEventResponse = ResponseBodyForPathAndMethod<`/v2/cost_alerts/${NoSlashString}/events/${NoSlashString}`, \"GET\">;\n/**\n * Response type for Get all cost alerts\n */\nexport type GetCostAlertsResponse = ResponseBodyForPathAndMethod<\"/v2/cost_alerts\", \"GET\">;\n/**\n * Create a new Cost Alert\n */\nexport type CreateCostAlertRequest = RequestBodyForPathAndMethod<\"/v2/cost_alerts\", \"POST\">;\n/**\n * Response type for Create cost alert\n */\nexport type CreateCostAlertResponse = ResponseBodyForPathAndMethod<\"/v2/cost_alerts\", \"POST\">;\n/**\n * Response type for Get cost alert by token\n */\nexport type GetCostAlertResponse = ResponseBodyForPathAndMethod<`/v2/cost_alerts/${NoSlashString}`, \"GET\">;\n/**\n * Update a Cost Alert\n */\nexport type UpdateCostAlertRequest = RequestBodyForPathAndMethod<`/v2/cost_alerts/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update cost alert\n */\nexport type UpdateCostAlertResponse = ResponseBodyForPathAndMethod<`/v2/cost_alerts/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete cost alert\n */\nexport type DeleteCostAlertResponse = ResponseBodyForPathAndMethod<`/v2/cost_alerts/${NoSlashString}`, \"DELETE\">;\n/**\n * List CostProviderAccounts available in a given Workspace.\n */\nexport type GetCostProviderAccountsRequest = RequestBodyForPathAndMethod<\"/v2/cost_provider_accounts\", \"GET\">;\n/**\n * Response type for Get all cost provider accounts\n */\nexport type GetCostProviderAccountsResponse = ResponseBodyForPathAndMethod<\"/v2/cost_provider_accounts\", \"GET\">;\n/**\n * Return all CostReports.\n */\nexport type GetCostReportsRequest = RequestBodyForPathAndMethod<\"/v2/cost_reports\", \"GET\">;\n/**\n * Response type for Get all cost reports\n */\nexport type GetCostReportsResponse = ResponseBodyForPathAndMethod<\"/v2/cost_reports\", \"GET\">;\n/**\n * Create a CostReport.\n */\nexport type CreateCostReportRequest = RequestBodyForPathAndMethod<\"/v2/cost_reports\", \"POST\">;\n/**\n * Response type for Create cost report\n */\nexport type CreateCostReportResponse = ResponseBodyForPathAndMethod<\"/v2/cost_reports\", \"POST\">;\n/**\n * Response type for Get cost report by token\n */\nexport type GetCostReportResponse = ResponseBodyForPathAndMethod<`/v2/cost_reports/${NoSlashString}`, \"GET\">;\n/**\n * Update a CostReport.\n */\nexport type UpdateCostReportRequest = RequestBodyForPathAndMethod<`/v2/cost_reports/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update cost report\n */\nexport type UpdateCostReportResponse = ResponseBodyForPathAndMethod<`/v2/cost_reports/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete cost report\n */\nexport type DeleteCostReportResponse = ResponseBodyForPathAndMethod<`/v2/cost_reports/${NoSlashString}`, \"DELETE\">;\n/**\n * Return all ForecastedCosts.\n */\nexport type GetForecastedCostsRequest = RequestBodyForPathAndMethod<`/v2/cost_reports/${NoSlashString}/forecasted_costs`, \"GET\">;\n/**\n * Response type for Get forecasted costs for a cost report\n */\nexport type GetForecastedCostsResponse = ResponseBodyForPathAndMethod<`/v2/cost_reports/${NoSlashString}/forecasted_costs`, \"GET\">;\n/**\n * Generate a DataExport of costs.\n */\nexport type CreateCostExportRequest = RequestBodyForPathAndMethod<\"/v2/costs/data_exports\", \"POST\">;\n/**\n * Response type for Generate cost data export\n */\nexport type CreateCostExportResponse = ResponseBodyForPathAndMethod<\"/v2/costs/data_exports\", \"POST\">;\n/**\n * Return all Costs for a CostReport or VQL filter.\n */\nexport type GetCostsRequest = RequestBodyForPathAndMethod<\"/v2/costs\", \"GET\">;\n/**\n * Response type for Get costs for cost report or VQL filter\n */\nexport type GetCostsResponse = ResponseBodyForPathAndMethod<\"/v2/costs\", \"GET\">;\n/**\n * Return all Dashboards.\n */\nexport type GetDashboardsRequest = RequestBodyForPathAndMethod<\"/v2/dashboards\", \"GET\">;\n/**\n * Response type for Get all dashboards\n */\nexport type GetDashboardsResponse = ResponseBodyForPathAndMethod<\"/v2/dashboards\", \"GET\">;\n/**\n * Create a Dashboard.\n */\nexport type CreateDashboardRequest = RequestBodyForPathAndMethod<\"/v2/dashboards\", \"POST\">;\n/**\n * Response type for Create dashboard\n */\nexport type CreateDashboardResponse = ResponseBodyForPathAndMethod<\"/v2/dashboards\", \"POST\">;\n/**\n * Response type for Get dashboard by token\n */\nexport type GetDashboardResponse = ResponseBodyForPathAndMethod<`/v2/dashboards/${NoSlashString}`, \"GET\">;\n/**\n * Update a Dashboard.\n */\nexport type UpdateDashboardRequest = RequestBodyForPathAndMethod<`/v2/dashboards/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update dashboard\n */\nexport type UpdateDashboardResponse = ResponseBodyForPathAndMethod<`/v2/dashboards/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete dashboard\n */\nexport type DeleteDashboardResponse = ResponseBodyForPathAndMethod<`/v2/dashboards/${NoSlashString}`, \"DELETE\">;\n/**\n * Response type for Get status of data export\n */\nexport type GetDataExportResponse = ResponseBodyForPathAndMethod<`/v2/data_exports/${NoSlashString}`, \"GET\">;\n/**\n * Return all Exchange Rates.\n */\nexport type GetExchangeRatesRequest = RequestBodyForPathAndMethod<\"/v2/exchange_rates\", \"GET\">;\n/**\n * Response type for Get all exchange rates\n */\nexport type GetExchangeRatesResponse = ResponseBodyForPathAndMethod<\"/v2/exchange_rates\", \"GET\">;\n/**\n * Upload Exchange Rates via CSV.\n */\nexport type CreateExchangeRatesViaCsvRequest = RequestBodyForPathAndMethod<\"/v2/exchange_rates/csv\", \"POST\">;\n/**\n * Response type for Upload exchange rates via CSV\n */\nexport type CreateExchangeRatesViaCsvResponse = ResponseBodyForPathAndMethod<\"/v2/exchange_rates/csv\", \"POST\">;\n/**\n * Return all FinancialCommitmentReports.\n */\nexport type GetFinancialCommitmentReportsRequest = RequestBodyForPathAndMethod<\"/v2/financial_commitment_reports\", \"GET\">;\n/**\n * Response type for Get all financial commitment reports\n */\nexport type GetFinancialCommitmentReportsResponse = ResponseBodyForPathAndMethod<\"/v2/financial_commitment_reports\", \"GET\">;\n/**\n * Create a FinancialCommitmentReport.\n */\nexport type CreateFinancialCommitmentReportRequest = RequestBodyForPathAndMethod<\"/v2/financial_commitment_reports\", \"POST\">;\n/**\n * Response type for Create financial commitment report\n */\nexport type CreateFinancialCommitmentReportResponse = ResponseBodyForPathAndMethod<\"/v2/financial_commitment_reports\", \"POST\">;\n/**\n * Response type for Get financial commitment report by token\n */\nexport type GetFinancialCommitmentReportResponse = ResponseBodyForPathAndMethod<`/v2/financial_commitment_reports/${NoSlashString}`, \"GET\">;\n/**\n * Update a FinancialCommitmentReport.\n */\nexport type UpdateFinancialCommitmentReportRequest = RequestBodyForPathAndMethod<`/v2/financial_commitment_reports/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update financial commitment report\n */\nexport type UpdateFinancialCommitmentReportResponse = ResponseBodyForPathAndMethod<`/v2/financial_commitment_reports/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete financial commitment report\n */\nexport type DeleteFinancialCommitmentReportResponse = ResponseBodyForPathAndMethod<`/v2/financial_commitment_reports/${NoSlashString}`, \"DELETE\">;\n/**\n * Return all FinancialCommitments.\n */\nexport type GetFinancialCommitmentsRequest = RequestBodyForPathAndMethod<\"/v2/financial_commitments\", \"GET\">;\n/**\n * Response type for Get all financial commitments\n */\nexport type GetFinancialCommitmentsResponse = ResponseBodyForPathAndMethod<\"/v2/financial_commitments\", \"GET\">;\n/**\n * Return all Folders for CostReports.\n */\nexport type GetFoldersRequest = RequestBodyForPathAndMethod<\"/v2/folders\", \"GET\">;\n/**\n * Response type for Get all folders\n */\nexport type GetFoldersResponse = ResponseBodyForPathAndMethod<\"/v2/folders\", \"GET\">;\n/**\n * Create a Folder for CostReports.\n */\nexport type CreateFolderRequest = RequestBodyForPathAndMethod<\"/v2/folders\", \"POST\">;\n/**\n * Response type for Create folder\n */\nexport type CreateFolderResponse = ResponseBodyForPathAndMethod<\"/v2/folders\", \"POST\">;\n/**\n * Response type for Get folder by token\n */\nexport type GetFolderResponse = ResponseBodyForPathAndMethod<`/v2/folders/${NoSlashString}`, \"GET\">;\n/**\n * Update a Folder for CostReports.\n */\nexport type UpdateFolderRequest = RequestBodyForPathAndMethod<`/v2/folders/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update folder\n */\nexport type UpdateFolderResponse = ResponseBodyForPathAndMethod<`/v2/folders/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete folder\n */\nexport type DeleteFolderResponse = ResponseBodyForPathAndMethod<`/v2/folders/${NoSlashString}`, \"DELETE\">;\n/**\n * Return all Integrations.\n */\nexport type GetIntegrationsRequest = RequestBodyForPathAndMethod<\"/v2/integrations\", \"GET\">;\n/**\n * Response type for Get all integrations\n */\nexport type GetIntegrationsResponse = ResponseBodyForPathAndMethod<\"/v2/integrations\", \"GET\">;\n/**\n * Response type for Get integration by token\n */\nexport type GetIntegrationResponse = ResponseBodyForPathAndMethod<`/v2/integrations/${NoSlashString}`, \"GET\">;\n/**\n * Update an Integration.\n */\nexport type UpdateIntegrationRequest = RequestBodyForPathAndMethod<`/v2/integrations/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update integration\n */\nexport type UpdateIntegrationResponse = ResponseBodyForPathAndMethod<`/v2/integrations/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete integration\n */\nexport type DeleteIntegrationResponse = ResponseBodyForPathAndMethod<`/v2/integrations/${NoSlashString}`, \"DELETE\">;\n/**\n * Create a Custom Provider Integration\n */\nexport type CreateCustomProviderIntegrationRequest = RequestBodyForPathAndMethod<\"/v2/integrations/custom_provider\", \"POST\">;\n/**\n * Response type for Create custom provider integration\n */\nexport type CreateCustomProviderIntegrationResponse = ResponseBodyForPathAndMethod<\"/v2/integrations/custom_provider\", \"POST\">;\n/**\n * Create UserCostsUpload via CSV for a Custom Provider Integration.\n */\nexport type CreateUserCostsUploadViaCsvRequest = RequestBodyForPathAndMethod<`/v2/integrations/${NoSlashString}/costs.csv`, \"POST\">;\n/**\n * Response type for Upload custom provider costs\n */\nexport type CreateUserCostsUploadViaCsvResponse = ResponseBodyForPathAndMethod<`/v2/integrations/${NoSlashString}/costs.csv`, \"POST\">;\n/**\n * Response type for Delete user costs upload\n */\nexport type DeleteUserCostsUploadResponse = ResponseBodyForPathAndMethod<`/v2/integrations/${NoSlashString}/costs/${NoSlashString}`, \"DELETE\">;\n/**\n * Response type for Get all user costs uploads\n */\nexport type GetUserCostsUploadsResponse = ResponseBodyForPathAndMethod<`/v2/integrations/${NoSlashString}/costs`, \"GET\">;\n/**\n * Create a GCP Integration\n */\nexport type CreateGCPIntegrationRequest = RequestBodyForPathAndMethod<\"/v2/integrations/gcp\", \"POST\">;\n/**\n * Response type for Create GCP integration\n */\nexport type CreateGCPIntegrationResponse = ResponseBodyForPathAndMethod<\"/v2/integrations/gcp\", \"POST\">;\n/**\n * Create an Azure Integration\n */\nexport type CreateAzureIntegrationRequest = RequestBodyForPathAndMethod<\"/v2/integrations/azure\", \"POST\">;\n/**\n * Response type for Create Azure integration\n */\nexport type CreateAzureIntegrationResponse = ResponseBodyForPathAndMethod<\"/v2/integrations/azure\", \"POST\">;\n/**\n * Returns a list of invoices (MSP invoicing required).\n */\nexport type GetInvoicesRequest = RequestBodyForPathAndMethod<\"/v2/invoices\", \"GET\">;\n/**\n * Response type for Get all invoices\n */\nexport type GetInvoicesResponse = ResponseBodyForPathAndMethod<\"/v2/invoices\", \"GET\">;\n/**\n * Create an invoice (MSP accounts only).\n */\nexport type CreateInvoiceRequest = RequestBodyForPathAndMethod<\"/v2/invoices\", \"POST\">;\n/**\n * Response type for Create invoice\n */\nexport type CreateInvoiceResponse = ResponseBodyForPathAndMethod<\"/v2/invoices\", \"POST\">;\n/**\n * Response type for Get invoice by token\n */\nexport type GetInvoiceResponse = ResponseBodyForPathAndMethod<`/v2/invoices/${NoSlashString}`, \"GET\">;\n/**\n * Download invoice file (PDF or CSV).\n */\nexport type DownloadInvoiceRequest = RequestBodyForPathAndMethod<`/v2/invoices/${NoSlashString}/download`, \"POST\">;\n/**\n * Response type for Get invoice file\n */\nexport type DownloadInvoiceResponse = ResponseBodyForPathAndMethod<`/v2/invoices/${NoSlashString}/download`, \"POST\">;\n/**\n * Response type for Send invoice\n */\nexport type SendInvoiceResponse = ResponseBodyForPathAndMethod<`/v2/invoices/${NoSlashString}/send`, \"POST\">;\n/**\n * Response type for Send and approve invoice\n */\nexport type SendAndApproveInvoiceResponse = ResponseBodyForPathAndMethod<`/v2/invoices/${NoSlashString}/send_and_approve`, \"POST\">;\n/**\n * Response type for Get cost report URL\n */\nexport type GetInvoiceCostReportResponse = ResponseBodyForPathAndMethod<`/v2/invoices/${NoSlashString}/cost_report`, \"GET\">;\n/**\n * Response type for Regenerate invoice\n */\nexport type RegenerateInvoiceResponse = ResponseBodyForPathAndMethod<`/v2/invoices/${NoSlashString}/regenerate`, \"POST\">;\n/**\n * Return all KubernetesEfficiencyReports.\n */\nexport type GetKubernetesEfficiencyReportsRequest = RequestBodyForPathAndMethod<\"/v2/kubernetes_efficiency_reports\", \"GET\">;\n/**\n * Response type for Get all Kubernetes efficiency reports\n */\nexport type GetKubernetesEfficiencyReportsResponse = ResponseBodyForPathAndMethod<\"/v2/kubernetes_efficiency_reports\", \"GET\">;\n/**\n * Create a KubernetesEfficiencyReport.\n */\nexport type CreateKubernetesEfficiencyReportRequest = RequestBodyForPathAndMethod<\"/v2/kubernetes_efficiency_reports\", \"POST\">;\n/**\n * Response type for Create Kubernetes efficiency report\n */\nexport type CreateKubernetesEfficiencyReportResponse = ResponseBodyForPathAndMethod<\"/v2/kubernetes_efficiency_reports\", \"POST\">;\n/**\n * Generate a DataExport of Kubernetes efficiency data.\n */\nexport type CreateKubernetesEfficiencyReportExportRequest = RequestBodyForPathAndMethod<\"/v2/kubernetes_efficiency_reports/data_exports\", \"POST\">;\n/**\n * Response type for Generate Kubernetes efficiency data export\n */\nexport type CreateKubernetesEfficiencyReportExportResponse = ResponseBodyForPathAndMethod<\"/v2/kubernetes_efficiency_reports/data_exports\", \"POST\">;\n/**\n * Response type for Get Kubernetes efficiency report by token\n */\nexport type GetKubernetesEfficiencyReportResponse = ResponseBodyForPathAndMethod<`/v2/kubernetes_efficiency_reports/${NoSlashString}`, \"GET\">;\n/**\n * Update a KubernetesEfficiencyReport.\n */\nexport type UpdateKubernetesEfficiencyReportRequest = RequestBodyForPathAndMethod<`/v2/kubernetes_efficiency_reports/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update Kubernetes efficiency report\n */\nexport type UpdateKubernetesEfficiencyReportResponse = ResponseBodyForPathAndMethod<`/v2/kubernetes_efficiency_reports/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete Kubernetes efficiency report\n */\nexport type DeleteKubernetesEfficiencyReportResponse = ResponseBodyForPathAndMethod<`/v2/kubernetes_efficiency_reports/${NoSlashString}`, \"DELETE\">;\n/**\n * Returns a list of managed accounts.\n */\nexport type GetManagedAccountsRequest = RequestBodyForPathAndMethod<\"/v2/managed_accounts\", \"GET\">;\n/**\n * Response type for Get all managed accounts\n */\nexport type GetManagedAccountsResponse = ResponseBodyForPathAndMethod<\"/v2/managed_accounts\", \"GET\">;\n/**\n * Create a Managed Account.\n */\nexport type CreateManagedAccountRequest = RequestBodyForPathAndMethod<\"/v2/managed_accounts\", \"POST\">;\n/**\n * Response type for Create managed account\n */\nexport type CreateManagedAccountResponse = ResponseBodyForPathAndMethod<\"/v2/managed_accounts\", \"POST\">;\n/**\n * Response type for Get managed account by token\n */\nexport type GetManagedAccountResponse = ResponseBodyForPathAndMethod<`/v2/managed_accounts/${NoSlashString}`, \"GET\">;\n/**\n * Update a Managed Account.\n */\nexport type UpdateManagedAccountRequest = RequestBodyForPathAndMethod<`/v2/managed_accounts/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update managed account\n */\nexport type UpdateManagedAccountResponse = ResponseBodyForPathAndMethod<`/v2/managed_accounts/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete managed account\n */\nexport type DeleteManagedAccountResponse = ResponseBodyForPathAndMethod<`/v2/managed_accounts/${NoSlashString}`, \"DELETE\">;\n/**\n * Response type for Get authenticated user info\n */\nexport type GetMeResponse = ResponseBodyForPathAndMethod<\"/v2/me\", \"GET\">;\n/**\n * List CostProviders available to query in a given Workspace.\n */\nexport type GetCostProvidersRequest = RequestBodyForPathAndMethod<\"/v2/cost_providers\", \"GET\">;\n/**\n * Response type for Get cost providers\n */\nexport type GetCostProvidersResponse = ResponseBodyForPathAndMethod<\"/v2/cost_providers\", \"GET\">;\n/**\n * List CostServices available to query in a given Workspace.\n */\nexport type GetCostServicesRequest = RequestBodyForPathAndMethod<\"/v2/cost_services\", \"GET\">;\n/**\n * Response type for Get cost services\n */\nexport type GetCostServicesResponse = ResponseBodyForPathAndMethod<\"/v2/cost_services\", \"GET\">;\n/**\n * Provide UserFeedback for our product and features.\n */\nexport type CreateUserFeedbackRequest = RequestBodyForPathAndMethod<\"/v2/user_feedback\", \"POST\">;\n/**\n * Response type for Submit user feedback\n */\nexport type CreateUserFeedbackResponse = ResponseBodyForPathAndMethod<\"/v2/user_feedback\", \"POST\">;\n/**\n * Return all NetworkFlowReports.\n */\nexport type GetNetworkFlowReportsRequest = RequestBodyForPathAndMethod<\"/v2/network_flow_reports\", \"GET\">;\n/**\n * Response type for Get all network flow reports\n */\nexport type GetNetworkFlowReportsResponse = ResponseBodyForPathAndMethod<\"/v2/network_flow_reports\", \"GET\">;\n/**\n * Create a NetworkFlowReport.\n */\nexport type CreateNetworkFlowReportRequest = RequestBodyForPathAndMethod<\"/v2/network_flow_reports\", \"POST\">;\n/**\n * Response type for Create network flow report\n */\nexport type CreateNetworkFlowReportResponse = ResponseBodyForPathAndMethod<\"/v2/network_flow_reports\", \"POST\">;\n/**\n * Response type for Get network flow report by token\n */\nexport type GetNetworkFlowReportResponse = ResponseBodyForPathAndMethod<`/v2/network_flow_reports/${NoSlashString}`, \"GET\">;\n/**\n * Update a NetworkFlowReport.\n */\nexport type UpdateNetworkFlowReportRequest = RequestBodyForPathAndMethod<`/v2/network_flow_reports/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update network flow report\n */\nexport type UpdateNetworkFlowReportResponse = ResponseBodyForPathAndMethod<`/v2/network_flow_reports/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete network flow report\n */\nexport type DeleteNetworkFlowReportResponse = ResponseBodyForPathAndMethod<`/v2/network_flow_reports/${NoSlashString}`, \"DELETE\">;\n/**\n * Return available Prices across all Regions for a Product.\n */\nexport type GetPricesRequest = RequestBodyForPathAndMethod<`/v2/products/${NoSlashString}/prices`, \"GET\">;\n/**\n * Response type for Get prices for a product\n */\nexport type GetPricesResponse = ResponseBodyForPathAndMethod<`/v2/products/${NoSlashString}/prices`, \"GET\">;\n/**\n * Response type for Get price by ID\n */\nexport type GetPriceResponse = ResponseBodyForPathAndMethod<`/v2/products/${NoSlashString}/prices/${NoSlashString}`, \"GET\">;\n/**\n * Return available Products for a Service. For example, with a Provider of AWS and a Service of EC2, Products will be a list of all EC2 Instances. By default, this endpoint returns all Products across all Services and Providers but has optional query parameters for filtering listed below.\n */\nexport type GetProductsRequest = RequestBodyForPathAndMethod<\"/v2/products\", \"GET\">;\n/**\n * Response type for Get all products\n */\nexport type GetProductsResponse = ResponseBodyForPathAndMethod<\"/v2/products\", \"GET\">;\n/**\n * Response type for Get product by ID\n */\nexport type GetProductResponse = ResponseBodyForPathAndMethod<`/v2/products/${NoSlashString}`, \"GET\">;\n/**\n * Return all Recommendations.\n */\nexport type GetRecommendationsRequest = RequestBodyForPathAndMethod<\"/v2/recommendations\", \"GET\">;\n/**\n * Response type for Get all recommendations\n */\nexport type GetRecommendationsResponse = ResponseBodyForPathAndMethod<\"/v2/recommendations\", \"GET\">;\n/**\n * Response type for Get recommendation by token\n */\nexport type GetRecommendationResponse = ResponseBodyForPathAndMethod<`/v2/recommendations/${NoSlashString}`, \"GET\">;\n/**\n * Return all Active Resources, including Recommendation Actions, referenced in this Recommendation.\n */\nexport type GetRecommendationResourcesRequest = RequestBodyForPathAndMethod<`/v2/recommendations/${NoSlashString}/resources`, \"GET\">;\n/**\n * Response type for Get all resources for a recommendation\n */\nexport type GetRecommendationResourcesResponse = ResponseBodyForPathAndMethod<`/v2/recommendations/${NoSlashString}/resources`, \"GET\">;\n/**\n * Response type for Get specific resource for a recommendation\n */\nexport type GetRecommendationResourceResponse = ResponseBodyForPathAndMethod<`/v2/recommendations/${NoSlashString}/resources/${NoSlashString}`, \"GET\">;\n/**\n * Return all RecommendationViews.\n */\nexport type GetRecommendationViewsRequest = RequestBodyForPathAndMethod<\"/v2/recommendation_views\", \"GET\">;\n/**\n * Response type for Get all recommendation views\n */\nexport type GetRecommendationViewsResponse = ResponseBodyForPathAndMethod<\"/v2/recommendation_views\", \"GET\">;\n/**\n * Create a RecommendationView.\n */\nexport type CreateRecommendationViewRequest = RequestBodyForPathAndMethod<\"/v2/recommendation_views\", \"POST\">;\n/**\n * Response type for Create recommendation view\n */\nexport type CreateRecommendationViewResponse = ResponseBodyForPathAndMethod<\"/v2/recommendation_views\", \"POST\">;\n/**\n * Response type for Get recommendation view by token\n */\nexport type GetRecommendationViewResponse = ResponseBodyForPathAndMethod<`/v2/recommendation_views/${NoSlashString}`, \"GET\">;\n/**\n * Update a RecommendationView.\n */\nexport type UpdateRecommendationViewRequest = RequestBodyForPathAndMethod<`/v2/recommendation_views/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update recommendation view\n */\nexport type UpdateRecommendationViewResponse = ResponseBodyForPathAndMethod<`/v2/recommendation_views/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete recommendation view\n */\nexport type DeleteRecommendationViewResponse = ResponseBodyForPathAndMethod<`/v2/recommendation_views/${NoSlashString}`, \"DELETE\">;\n/**\n * Return all ReportNotifications.\n */\nexport type GetReportNotificationsRequest = RequestBodyForPathAndMethod<\"/v2/report_notifications\", \"GET\">;\n/**\n * Response type for Get all report notifications\n */\nexport type GetReportNotificationsResponse = ResponseBodyForPathAndMethod<\"/v2/report_notifications\", \"GET\">;\n/**\n * Create a ReportNotification.\n */\nexport type CreateReportNotificationRequest = RequestBodyForPathAndMethod<\"/v2/report_notifications\", \"POST\">;\n/**\n * Response type for Create report notification\n */\nexport type CreateReportNotificationResponse = ResponseBodyForPathAndMethod<\"/v2/report_notifications\", \"POST\">;\n/**\n * Response type for Get report notification by token\n */\nexport type GetReportNotificationResponse = ResponseBodyForPathAndMethod<`/v2/report_notifications/${NoSlashString}`, \"GET\">;\n/**\n * Update a ReportNotification.\n */\nexport type UpdateReportNotificationRequest = RequestBodyForPathAndMethod<`/v2/report_notifications/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update report notification\n */\nexport type UpdateReportNotificationResponse = ResponseBodyForPathAndMethod<`/v2/report_notifications/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete report notification\n */\nexport type DeleteReportNotificationResponse = ResponseBodyForPathAndMethod<`/v2/report_notifications/${NoSlashString}`, \"DELETE\">;\n/**\n * List available columns for a resource type.\n */\nexport type GetResourceReportColumnsRequest = RequestBodyForPathAndMethod<\"/v2/resource_reports/columns\", \"GET\">;\n/**\n * Response type for Get resource report columns\n */\nexport type GetResourceReportColumnsResponse = ResponseBodyForPathAndMethod<\"/v2/resource_reports/columns\", \"GET\">;\n/**\n * Return all ResourceReports.\n */\nexport type GetResourceReportsRequest = RequestBodyForPathAndMethod<\"/v2/resource_reports\", \"GET\">;\n/**\n * Response type for Get all resource reports\n */\nexport type GetResourceReportsResponse = ResponseBodyForPathAndMethod<\"/v2/resource_reports\", \"GET\">;\n/**\n * Create a ResourceReport.\n */\nexport type CreateResourceReportRequest = RequestBodyForPathAndMethod<\"/v2/resource_reports\", \"POST\">;\n/**\n * Response type for Create resource report\n */\nexport type CreateResourceReportResponse = ResponseBodyForPathAndMethod<\"/v2/resource_reports\", \"POST\">;\n/**\n * Response type for Get resource report by token\n */\nexport type GetResourceReportResponse = ResponseBodyForPathAndMethod<`/v2/resource_reports/${NoSlashString}`, \"GET\">;\n/**\n * Update a ResourceReport.\n */\nexport type UpdateResourceReportRequest = RequestBodyForPathAndMethod<`/v2/resource_reports/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update resource report\n */\nexport type UpdateResourceReportResponse = ResponseBodyForPathAndMethod<`/v2/resource_reports/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete resource report\n */\nexport type DeleteResourceReportResponse = ResponseBodyForPathAndMethod<`/v2/resource_reports/${NoSlashString}`, \"DELETE\">;\n/**\n * Return Resources contained in a ResourceReport\n */\nexport type GetReportResourcesRequest = RequestBodyForPathAndMethod<\"/v2/resources\", \"GET\">;\n/**\n * Response type for Get resources\n */\nexport type GetReportResourcesResponse = ResponseBodyForPathAndMethod<\"/v2/resources\", \"GET\">;\n/**\n * Return a single Resource\n */\nexport type GetResourceRequest = RequestBodyForPathAndMethod<`/v2/resources/${NoSlashString}`, \"GET\">;\n/**\n * Response type for Get resource by token\n */\nexport type GetResourceResponse = ResponseBodyForPathAndMethod<`/v2/resources/${NoSlashString}`, \"GET\">;\n/**\n * Return all SavedFilters that can be applied to a CostReport.\n */\nexport type GetSavedFiltersRequest = RequestBodyForPathAndMethod<\"/v2/saved_filters\", \"GET\">;\n/**\n * Response type for Get all saved filters\n */\nexport type GetSavedFiltersResponse = ResponseBodyForPathAndMethod<\"/v2/saved_filters\", \"GET\">;\n/**\n * Create a SavedFilter for CostReports.\n */\nexport type CreateSavedFilterRequest = RequestBodyForPathAndMethod<\"/v2/saved_filters\", \"POST\">;\n/**\n * Response type for Create saved filter\n */\nexport type CreateSavedFilterResponse = ResponseBodyForPathAndMethod<\"/v2/saved_filters\", \"POST\">;\n/**\n * Response type for Get saved filter by token\n */\nexport type GetSavedFilterResponse = ResponseBodyForPathAndMethod<`/v2/saved_filters/${NoSlashString}`, \"GET\">;\n/**\n * Update a SavedFilter for CostReports.\n */\nexport type UpdateSavedFilterRequest = RequestBodyForPathAndMethod<`/v2/saved_filters/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update saved filter\n */\nexport type UpdateSavedFilterResponse = ResponseBodyForPathAndMethod<`/v2/saved_filters/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete saved filter\n */\nexport type DeleteSavedFilterResponse = ResponseBodyForPathAndMethod<`/v2/saved_filters/${NoSlashString}`, \"DELETE\">;\n/**\n * Return all Segments.\n */\nexport type GetSegmentsRequest = RequestBodyForPathAndMethod<\"/v2/segments\", \"GET\">;\n/**\n * Response type for Get all segments\n */\nexport type GetSegmentsResponse = ResponseBodyForPathAndMethod<\"/v2/segments\", \"GET\">;\n/**\n * Create a Segment.\n */\nexport type CreateSegmentRequest = RequestBodyForPathAndMethod<\"/v2/segments\", \"POST\">;\n/**\n * Response type for Create segment\n */\nexport type CreateSegmentResponse = ResponseBodyForPathAndMethod<\"/v2/segments\", \"POST\">;\n/**\n * Response type for Get segment by token\n */\nexport type GetSegmentResponse = ResponseBodyForPathAndMethod<`/v2/segments/${NoSlashString}`, \"GET\">;\n/**\n * Update a Segment.\n */\nexport type UpdateSegmentRequest = RequestBodyForPathAndMethod<`/v2/segments/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update segment\n */\nexport type UpdateSegmentResponse = ResponseBodyForPathAndMethod<`/v2/segments/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete segment\n */\nexport type DeleteSegmentResponse = ResponseBodyForPathAndMethod<`/v2/segments/${NoSlashString}`, \"DELETE\">;\n/**\n * Return all Tags that the current API token has access to.\n */\nexport type GetTagsRequest = RequestBodyForPathAndMethod<\"/v2/tags\", \"GET\">;\n/**\n * Response type for Get all tags\n */\nexport type GetTagsResponse = ResponseBodyForPathAndMethod<\"/v2/tags\", \"GET\">;\n/**\n * Updates an existing Tag.\n */\nexport type UpdateTagRequest = RequestBodyForPathAndMethod<\"/v2/tags\", \"PUT\">;\n/**\n * Response type for Update tag\n */\nexport type UpdateTagResponse = ResponseBodyForPathAndMethod<\"/v2/tags\", \"PUT\">;\n/**\n * Returns corresponding TagValues for a given Tag.\n */\nexport type GetTagValuesRequest = RequestBodyForPathAndMethod<`/v2/tags/${NoSlashString}/values`, \"GET\">;\n/**\n * Response type for Get tag values\n */\nexport type GetTagValuesResponse = ResponseBodyForPathAndMethod<`/v2/tags/${NoSlashString}/values`, \"GET\">;\n/**\n * Return all Teams that the current API token has access to.\n */\nexport type GetTeamsRequest = RequestBodyForPathAndMethod<\"/v2/teams\", \"GET\">;\n/**\n * Response type for Get all teams\n */\nexport type GetTeamsResponse = ResponseBodyForPathAndMethod<\"/v2/teams\", \"GET\">;\n/**\n * Create a new Team.\n */\nexport type CreateTeamRequest = RequestBodyForPathAndMethod<\"/v2/teams\", \"POST\">;\n/**\n * Response type for Create team\n */\nexport type CreateTeamResponse = ResponseBodyForPathAndMethod<\"/v2/teams\", \"POST\">;\n/**\n * Response type for Get team by token\n */\nexport type GetTeamResponse = ResponseBodyForPathAndMethod<`/v2/teams/${NoSlashString}`, \"GET\">;\n/**\n * Update a Team.\n */\nexport type UpdateTeamRequest = RequestBodyForPathAndMethod<`/v2/teams/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update team\n */\nexport type UpdateTeamResponse = ResponseBodyForPathAndMethod<`/v2/teams/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete team\n */\nexport type DeleteTeamResponse = ResponseBodyForPathAndMethod<`/v2/teams/${NoSlashString}`, \"DELETE\">;\n/**\n * Return all members of a Team.\n */\nexport type GetTeamMembersRequest = RequestBodyForPathAndMethod<`/v2/teams/${NoSlashString}/members`, \"GET\">;\n/**\n * Response type for Get team members\n */\nexport type GetTeamMembersResponse = ResponseBodyForPathAndMethod<`/v2/teams/${NoSlashString}/members`, \"GET\">;\n/**\n * Add a member to a Team.\n */\nexport type AddTeamMemberRequest = RequestBodyForPathAndMethod<`/v2/teams/${NoSlashString}/members`, \"POST\">;\n/**\n * Response type for Add team member\n */\nexport type AddTeamMemberResponse = ResponseBodyForPathAndMethod<`/v2/teams/${NoSlashString}/members`, \"POST\">;\n/**\n * Response type for Remove team member\n */\nexport type RemoveTeamMemberResponse = ResponseBodyForPathAndMethod<`/v2/teams/${NoSlashString}/members/${NoSlashString}`, \"DELETE\">;\n/**\n * Generate a DataExport of unit costs.\n */\nexport type CreateUnitCostsExportRequest = RequestBodyForPathAndMethod<\"/v2/unit_costs/data_exports\", \"POST\">;\n/**\n * Response type for Generate data export of unit costs\n */\nexport type CreateUnitCostsExportResponse = ResponseBodyForPathAndMethod<\"/v2/unit_costs/data_exports\", \"POST\">;\n/**\n * Return all UnitCosts for a CostReport.\n */\nexport type GetUnitCostsRequest = RequestBodyForPathAndMethod<\"/v2/unit_costs\", \"GET\">;\n/**\n * Response type for Get all unit costs for a cost report\n */\nexport type GetUnitCostsResponse = ResponseBodyForPathAndMethod<\"/v2/unit_costs\", \"GET\">;\n/**\n * Return all Users that the current API token has access to.\n */\nexport type GetUsersRequest = RequestBodyForPathAndMethod<\"/v2/users\", \"GET\">;\n/**\n * Response type for Get all users\n */\nexport type GetUsersResponse = ResponseBodyForPathAndMethod<\"/v2/users\", \"GET\">;\n/**\n * Response type for Get user by token\n */\nexport type GetUserResponse = ResponseBodyForPathAndMethod<`/v2/users/${NoSlashString}`, \"GET\">;\n/**\n * Response type for Get all virtual tag configs\n */\nexport type GetVirtualTagConfigsResponse = ResponseBodyForPathAndMethod<\"/v2/virtual_tag_configs\", \"GET\">;\n/**\n * Create a new VirtualTagConfig.\n */\nexport type CreateVirtualTagConfigRequest = RequestBodyForPathAndMethod<\"/v2/virtual_tag_configs\", \"POST\">;\n/**\n * Response type for Create virtual tag config\n */\nexport type CreateVirtualTagConfigResponse = ResponseBodyForPathAndMethod<\"/v2/virtual_tag_configs\", \"POST\">;\n/**\n * Response type for Get virtual tag config by token\n */\nexport type GetVirtualTagConfigResponse = ResponseBodyForPathAndMethod<`/v2/virtual_tag_configs/${NoSlashString}`, \"GET\">;\n/**\n * Updates an existing VirtualTagConfig.\n */\nexport type UpdateVirtualTagConfigRequest = RequestBodyForPathAndMethod<`/v2/virtual_tag_configs/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update virtual tag config\n */\nexport type UpdateVirtualTagConfigResponse = ResponseBodyForPathAndMethod<`/v2/virtual_tag_configs/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Delete virtual tag config\n */\nexport type DeleteVirtualTagConfigResponse = ResponseBodyForPathAndMethod<`/v2/virtual_tag_configs/${NoSlashString}`, \"DELETE\">;\n/**\n * Asynchronously updates an existing VirtualTagConfig.\n */\nexport type UpdateAsyncVirtualTagConfigRequest = RequestBodyForPathAndMethod<`/v2/virtual_tag_configs/${NoSlashString}/async`, \"PUT\">;\n/**\n * Response type for Update virtual tag config asynchronously\n */\nexport type UpdateAsyncVirtualTagConfigResponse = ResponseBodyForPathAndMethod<`/v2/virtual_tag_configs/${NoSlashString}/async`, \"PUT\">;\n/**\n * Response type for Get async virtual tag config update status\n */\nexport type GetAsyncVirtualTagConfigStatusResponse = ResponseBodyForPathAndMethod<`/v2/virtual_tag_configs/async/${NoSlashString}`, \"GET\">;\n/**\n * Return all Workspaces that the current API token has access to.\n */\nexport type GetWorkspacesRequest = RequestBodyForPathAndMethod<\"/v2/workspaces\", \"GET\">;\n/**\n * Response type for Get all workspaces\n */\nexport type GetWorkspacesResponse = ResponseBodyForPathAndMethod<\"/v2/workspaces\", \"GET\">;\n/**\n * Create a workspace\n */\nexport type CreateWorkspaceRequest = RequestBodyForPathAndMethod<\"/v2/workspaces\", \"POST\">;\n/**\n * Response type for Create workspace\n */\nexport type CreateWorkspaceResponse = ResponseBodyForPathAndMethod<\"/v2/workspaces\", \"POST\">;\n/**\n * Response type for Get workspace by token\n */\nexport type GetWorkspaceResponse = ResponseBodyForPathAndMethod<`/v2/workspaces/${NoSlashString}`, \"GET\">;\n/**\n * Update a workspace\n */\nexport type UpdateWorkspaceRequest = RequestBodyForPathAndMethod<`/v2/workspaces/${NoSlashString}`, \"PUT\">;\n/**\n * Response type for Update workspace\n */\nexport type UpdateWorkspaceResponse = ResponseBodyForPathAndMethod<`/v2/workspaces/${NoSlashString}`, \"PUT\">;\nexport type PingResponse = ResponseBodyForPathAndMethod<\"/v2/ping\", \"GET\">;\n\n/** Vantage API Client with typed methods */\nexport class APIV2Client<NeverThrow extends boolean = false> extends BaseClient<NeverThrow> {\n /**\n * Initializes a new instance of the APIV2Client.\n * @param bearerToken The bearer token for authentication.\n * @param neverThrow Whether to never throw exceptions on API errors and instead return an array with [value, error].\n * @param baseUrl The base URL for the API. Defaults to \"https://api.vantage.sh\".\n */\n constructor(\n bearerToken: string,\n neverThrow: NeverThrow = false as NeverThrow,\n baseUrl: string = \"https://api.vantage.sh\",\n ) {\n super(bearerToken, neverThrow, baseUrl);\n }\n\n private _accessGrants?: AccessGrantsApi<NeverThrow>;\n private _anomalyAlerts?: AnomalyAlertsApi<NeverThrow>;\n private _anomalyNotifications?: AnomalyNotificationsApi<NeverThrow>;\n private _auditLogs?: AuditLogsApi<NeverThrow>;\n private _billingProfiles?: BillingProfilesApi<NeverThrow>;\n private _billingRules?: BillingRulesApi<NeverThrow>;\n private _budgetAlerts?: BudgetAlertsApi<NeverThrow>;\n private _budgets?: BudgetsApi<NeverThrow>;\n private _businessMetrics?: BusinessMetricsApi<NeverThrow>;\n private _costAlerts?: CostAlertsApi<NeverThrow>;\n private _costProviderAccounts?: CostProviderAccountsApi<NeverThrow>;\n private _costReports?: CostReportsApi<NeverThrow>;\n private _costs?: CostsApi<NeverThrow>;\n private _dashboards?: DashboardsApi<NeverThrow>;\n private _dataExports?: DataExportsApi<NeverThrow>;\n private _exchangeRates?: ExchangeRatesApi<NeverThrow>;\n private _financialCommitmentReports?: FinancialCommitmentReportsApi<NeverThrow>;\n private _financialCommitments?: FinancialCommitmentsApi<NeverThrow>;\n private _folders?: FoldersApi<NeverThrow>;\n private _integrations?: IntegrationsApi<NeverThrow>;\n private _invoices?: InvoicesApi<NeverThrow>;\n private _kubernetesEfficiencyReports?: KubernetesEfficiencyReportsApi<NeverThrow>;\n private _managedAccounts?: ManagedAccountsApi<NeverThrow>;\n private _me?: MeApi<NeverThrow>;\n private _costProviders?: CostProvidersApi<NeverThrow>;\n private _costServices?: CostServicesApi<NeverThrow>;\n private _userFeedback?: UserFeedbackApi<NeverThrow>;\n private _networkFlowReports?: NetworkFlowReportsApi<NeverThrow>;\n private _products?: ProductsApi<NeverThrow>;\n private _recommendations?: RecommendationsApi<NeverThrow>;\n private _recommendationViews?: RecommendationViewsApi<NeverThrow>;\n private _reportNotifications?: ReportNotificationsApi<NeverThrow>;\n private _resourceReports?: ResourceReportsApi<NeverThrow>;\n private _resources?: ResourcesApi<NeverThrow>;\n private _savedFilters?: SavedFiltersApi<NeverThrow>;\n private _segments?: SegmentsApi<NeverThrow>;\n private _tags?: TagsApi<NeverThrow>;\n private _teams?: TeamsApi<NeverThrow>;\n private _unitCosts?: UnitCostsApi<NeverThrow>;\n private _users?: UsersApi<NeverThrow>;\n private _virtualTagConfigs?: VirtualTagConfigsApi<NeverThrow>;\n private _workspaces?: WorkspacesApi<NeverThrow>;\n private _ping?: PingApi<NeverThrow>;\n\n get accessGrants(): AccessGrantsApi<NeverThrow> {\n if (!this._accessGrants) {\n this._accessGrants = new AccessGrantsApi(this);\n }\n return this._accessGrants;\n }\n\n get anomalyAlerts(): AnomalyAlertsApi<NeverThrow> {\n if (!this._anomalyAlerts) {\n this._anomalyAlerts = new AnomalyAlertsApi(this);\n }\n return this._anomalyAlerts;\n }\n\n get anomalyNotifications(): AnomalyNotificationsApi<NeverThrow> {\n if (!this._anomalyNotifications) {\n this._anomalyNotifications = new AnomalyNotificationsApi(this);\n }\n return this._anomalyNotifications;\n }\n\n get auditLogs(): AuditLogsApi<NeverThrow> {\n if (!this._auditLogs) {\n this._auditLogs = new AuditLogsApi(this);\n }\n return this._auditLogs;\n }\n\n get billingProfiles(): BillingProfilesApi<NeverThrow> {\n if (!this._billingProfiles) {\n this._billingProfiles = new BillingProfilesApi(this);\n }\n return this._billingProfiles;\n }\n\n get billingRules(): BillingRulesApi<NeverThrow> {\n if (!this._billingRules) {\n this._billingRules = new BillingRulesApi(this);\n }\n return this._billingRules;\n }\n\n get budgetAlerts(): BudgetAlertsApi<NeverThrow> {\n if (!this._budgetAlerts) {\n this._budgetAlerts = new BudgetAlertsApi(this);\n }\n return this._budgetAlerts;\n }\n\n get budgets(): BudgetsApi<NeverThrow> {\n if (!this._budgets) {\n this._budgets = new BudgetsApi(this);\n }\n return this._budgets;\n }\n\n get businessMetrics(): BusinessMetricsApi<NeverThrow> {\n if (!this._businessMetrics) {\n this._businessMetrics = new BusinessMetricsApi(this);\n }\n return this._businessMetrics;\n }\n\n get costAlerts(): CostAlertsApi<NeverThrow> {\n if (!this._costAlerts) {\n this._costAlerts = new CostAlertsApi(this);\n }\n return this._costAlerts;\n }\n\n get costProviderAccounts(): CostProviderAccountsApi<NeverThrow> {\n if (!this._costProviderAccounts) {\n this._costProviderAccounts = new CostProviderAccountsApi(this);\n }\n return this._costProviderAccounts;\n }\n\n get costReports(): CostReportsApi<NeverThrow> {\n if (!this._costReports) {\n this._costReports = new CostReportsApi(this);\n }\n return this._costReports;\n }\n\n get costs(): CostsApi<NeverThrow> {\n if (!this._costs) {\n this._costs = new CostsApi(this);\n }\n return this._costs;\n }\n\n get dashboards(): DashboardsApi<NeverThrow> {\n if (!this._dashboards) {\n this._dashboards = new DashboardsApi(this);\n }\n return this._dashboards;\n }\n\n get dataExports(): DataExportsApi<NeverThrow> {\n if (!this._dataExports) {\n this._dataExports = new DataExportsApi(this);\n }\n return this._dataExports;\n }\n\n get exchangeRates(): ExchangeRatesApi<NeverThrow> {\n if (!this._exchangeRates) {\n this._exchangeRates = new ExchangeRatesApi(this);\n }\n return this._exchangeRates;\n }\n\n get financialCommitmentReports(): FinancialCommitmentReportsApi<NeverThrow> {\n if (!this._financialCommitmentReports) {\n this._financialCommitmentReports = new FinancialCommitmentReportsApi(this);\n }\n return this._financialCommitmentReports;\n }\n\n get financialCommitments(): FinancialCommitmentsApi<NeverThrow> {\n if (!this._financialCommitments) {\n this._financialCommitments = new FinancialCommitmentsApi(this);\n }\n return this._financialCommitments;\n }\n\n get folders(): FoldersApi<NeverThrow> {\n if (!this._folders) {\n this._folders = new FoldersApi(this);\n }\n return this._folders;\n }\n\n get integrations(): IntegrationsApi<NeverThrow> {\n if (!this._integrations) {\n this._integrations = new IntegrationsApi(this);\n }\n return this._integrations;\n }\n\n get invoices(): InvoicesApi<NeverThrow> {\n if (!this._invoices) {\n this._invoices = new InvoicesApi(this);\n }\n return this._invoices;\n }\n\n get kubernetesEfficiencyReports(): KubernetesEfficiencyReportsApi<NeverThrow> {\n if (!this._kubernetesEfficiencyReports) {\n this._kubernetesEfficiencyReports = new KubernetesEfficiencyReportsApi(this);\n }\n return this._kubernetesEfficiencyReports;\n }\n\n get managedAccounts(): ManagedAccountsApi<NeverThrow> {\n if (!this._managedAccounts) {\n this._managedAccounts = new ManagedAccountsApi(this);\n }\n return this._managedAccounts;\n }\n\n get me(): MeApi<NeverThrow> {\n if (!this._me) {\n this._me = new MeApi(this);\n }\n return this._me;\n }\n\n get costProviders(): CostProvidersApi<NeverThrow> {\n if (!this._costProviders) {\n this._costProviders = new CostProvidersApi(this);\n }\n return this._costProviders;\n }\n\n get costServices(): CostServicesApi<NeverThrow> {\n if (!this._costServices) {\n this._costServices = new CostServicesApi(this);\n }\n return this._costServices;\n }\n\n get userFeedback(): UserFeedbackApi<NeverThrow> {\n if (!this._userFeedback) {\n this._userFeedback = new UserFeedbackApi(this);\n }\n return this._userFeedback;\n }\n\n get networkFlowReports(): NetworkFlowReportsApi<NeverThrow> {\n if (!this._networkFlowReports) {\n this._networkFlowReports = new NetworkFlowReportsApi(this);\n }\n return this._networkFlowReports;\n }\n\n get products(): ProductsApi<NeverThrow> {\n if (!this._products) {\n this._products = new ProductsApi(this);\n }\n return this._products;\n }\n\n get recommendations(): RecommendationsApi<NeverThrow> {\n if (!this._recommendations) {\n this._recommendations = new RecommendationsApi(this);\n }\n return this._recommendations;\n }\n\n get recommendationViews(): RecommendationViewsApi<NeverThrow> {\n if (!this._recommendationViews) {\n this._recommendationViews = new RecommendationViewsApi(this);\n }\n return this._recommendationViews;\n }\n\n get reportNotifications(): ReportNotificationsApi<NeverThrow> {\n if (!this._reportNotifications) {\n this._reportNotifications = new ReportNotificationsApi(this);\n }\n return this._reportNotifications;\n }\n\n get resourceReports(): ResourceReportsApi<NeverThrow> {\n if (!this._resourceReports) {\n this._resourceReports = new ResourceReportsApi(this);\n }\n return this._resourceReports;\n }\n\n get resources(): ResourcesApi<NeverThrow> {\n if (!this._resources) {\n this._resources = new ResourcesApi(this);\n }\n return this._resources;\n }\n\n get savedFilters(): SavedFiltersApi<NeverThrow> {\n if (!this._savedFilters) {\n this._savedFilters = new SavedFiltersApi(this);\n }\n return this._savedFilters;\n }\n\n get segments(): SegmentsApi<NeverThrow> {\n if (!this._segments) {\n this._segments = new SegmentsApi(this);\n }\n return this._segments;\n }\n\n get tags(): TagsApi<NeverThrow> {\n if (!this._tags) {\n this._tags = new TagsApi(this);\n }\n return this._tags;\n }\n\n get teams(): TeamsApi<NeverThrow> {\n if (!this._teams) {\n this._teams = new TeamsApi(this);\n }\n return this._teams;\n }\n\n get unitCosts(): UnitCostsApi<NeverThrow> {\n if (!this._unitCosts) {\n this._unitCosts = new UnitCostsApi(this);\n }\n return this._unitCosts;\n }\n\n get users(): UsersApi<NeverThrow> {\n if (!this._users) {\n this._users = new UsersApi(this);\n }\n return this._users;\n }\n\n get virtualTagConfigs(): VirtualTagConfigsApi<NeverThrow> {\n if (!this._virtualTagConfigs) {\n this._virtualTagConfigs = new VirtualTagConfigsApi(this);\n }\n return this._virtualTagConfigs;\n }\n\n get workspaces(): WorkspacesApi<NeverThrow> {\n if (!this._workspaces) {\n this._workspaces = new WorkspacesApi(this);\n }\n return this._workspaces;\n }\n\n get ping(): PingApi<NeverThrow> {\n if (!this._ping) {\n this._ping = new PingApi(this);\n }\n return this._ping;\n }\n\n}\n\nclass AccessGrantsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all Access Grants that the current API token has access to.\n */\n list(body?: GetAccessGrantsRequest) {\n return this.client.request(\n `/v2/access_grants`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create an Access Grant.\n */\n create(body: CreateAccessGrantRequest) {\n return this.client.request(\n `/v2/access_grants`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return a specific Access Grant.\n */\n get(accessGrantToken: string) {\n return this.client.request(\n `/v2/access_grants/${pathEncode(accessGrantToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Update an AccessGrant.\n */\n update(accessGrantToken: string, body: UpdateAccessGrantRequest) {\n return this.client.request(\n `/v2/access_grants/${pathEncode(accessGrantToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Delete an Access Grant.\n */\n delete(accessGrantToken: string) {\n return this.client.request(\n `/v2/access_grants/${pathEncode(accessGrantToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n}\n\nclass AnomalyAlertsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all Anomaly Alerts that the current API token has access to.\n */\n list(body?: GetAnomalyAlertsRequest) {\n return this.client.request(\n `/v2/anomaly_alerts`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Return an AnomalyAlert that the current API token has access to.\n */\n get(anomalyAlertToken: string) {\n return this.client.request(\n `/v2/anomaly_alerts/${pathEncode(anomalyAlertToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Update an AnomalyAlert.\n */\n update(anomalyAlertToken: string, body: UpdateAnomalyAlertRequest) {\n return this.client.request(\n `/v2/anomaly_alerts/${pathEncode(anomalyAlertToken)}`,\n \"PUT\",\n body,\n );\n }\n\n}\n\nclass AnomalyNotificationsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all Anomaly Notifications.\n */\n list(body?: GetAnomalyNotificationsRequest) {\n return this.client.request(\n `/v2/anomaly_notifications`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create an Anomaly Notification for a Cost Report.\n */\n create(body: CreateAnomalyNotificationRequest) {\n return this.client.request(\n `/v2/anomaly_notifications`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return an Anomaly Notification that the current API token has access to.\n */\n get(anomalyNotificationToken: string) {\n return this.client.request(\n `/v2/anomaly_notifications/${pathEncode(anomalyNotificationToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Update an Anomaly Notification.\n */\n update(anomalyNotificationToken: string, body: UpdateAnomalyNotificationRequest) {\n return this.client.request(\n `/v2/anomaly_notifications/${pathEncode(anomalyNotificationToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Delete an Anomaly Notification.\n */\n delete(anomalyNotificationToken: string) {\n return this.client.request(\n `/v2/anomaly_notifications/${pathEncode(anomalyNotificationToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n}\n\nclass AuditLogsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all AuditLogs.\n */\n list(body?: GetAuditLogsRequest) {\n return this.client.request(\n `/v2/audit_logs`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Return a specific AuditLog.\n */\n get(auditLogToken: string) {\n return this.client.request(\n `/v2/audit_logs/${pathEncode(auditLogToken)}`,\n \"GET\",\n {},\n );\n }\n\n}\n\nclass BillingProfilesApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Returns a list of billing profiles (MSP invoicing required).\n */\n list(body?: GetBillingProfilesRequest) {\n return this.client.request(\n `/v2/billing_profiles`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create a billing profile (MSP invoicing required).\n */\n create(body: CreateBillingProfileRequest) {\n return this.client.request(\n `/v2/billing_profiles`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Requires MSP invoicing to be enabled on the account.\n */\n get(billingProfileToken: string) {\n return this.client.request(\n `/v2/billing_profiles/${pathEncode(billingProfileToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Requires MSP invoicing to be enabled on the account.\n */\n update(billingProfileToken: string, body: UpdateBillingProfileRequest) {\n return this.client.request(\n `/v2/billing_profiles/${pathEncode(billingProfileToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Requires MSP invoicing to be enabled on the account.\n */\n delete(billingProfileToken: string) {\n return this.client.request(\n `/v2/billing_profiles/${pathEncode(billingProfileToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n}\n\nclass BillingRulesApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Returns a list of billing rules.\n */\n list(body?: GetBillingRulesRequest) {\n return this.client.request(\n `/v2/billing_rules`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create a BillingRule.\n */\n create(body: CreateBillingRuleRequest) {\n return this.client.request(\n `/v2/billing_rules`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return a BillingRule.\n */\n get(billingRuleToken: string) {\n return this.client.request(\n `/v2/billing_rules/${pathEncode(billingRuleToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Update a BillingRule.\n */\n update(billingRuleToken: string, body: UpdateBillingRuleRequest) {\n return this.client.request(\n `/v2/billing_rules/${pathEncode(billingRuleToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Delete a BillingRule.\n */\n delete(billingRuleToken: string) {\n return this.client.request(\n `/v2/billing_rules/${pathEncode(billingRuleToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n}\n\nclass BudgetAlertsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all BudgetAlerts.\n */\n list(body?: GetBudgetAlertsRequest) {\n return this.client.request(\n `/v2/budget_alerts`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create a Budget Alert.\n */\n create(body: CreateBudgetAlertRequest) {\n return this.client.request(\n `/v2/budget_alerts`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return a BudgetAlert.\n */\n get(budgetAlertToken: string) {\n return this.client.request(\n `/v2/budget_alerts/${pathEncode(budgetAlertToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Updates an existing BudgetAlert.\n */\n update(budgetAlertToken: string, body: UpdateBudgetAlertRequest) {\n return this.client.request(\n `/v2/budget_alerts/${pathEncode(budgetAlertToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Delete a BudgetAlert.\n */\n delete(budgetAlertToken: string) {\n return this.client.request(\n `/v2/budget_alerts/${pathEncode(budgetAlertToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n}\n\nclass BudgetsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all Budgets.\n */\n list(body?: GetBudgetsRequest) {\n return this.client.request(\n `/v2/budgets`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create a Budget.\n */\n create(body: CreateBudgetRequest) {\n return this.client.request(\n `/v2/budgets`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Update a Budget.\n */\n update(budgetToken: string, body: UpdateBudgetRequest) {\n return this.client.request(\n `/v2/budgets/${pathEncode(budgetToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Delete a Budget.\n */\n delete(budgetToken: string) {\n return this.client.request(\n `/v2/budgets/${pathEncode(budgetToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n}\n\nclass BusinessMetricsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all BusinessMetrics that the current API token has access to.\n */\n list(body?: GetBusinessMetricsRequest) {\n return this.client.request(\n `/v2/business_metrics`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create a new BusinessMetric.\n */\n create(body: CreateBusinessMetricRequest) {\n return this.client.request(\n `/v2/business_metrics`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return a BusinessMetric.\n */\n get(businessMetricToken: string) {\n return this.client.request(\n `/v2/business_metrics/${pathEncode(businessMetricToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Updates an existing BusinessMetric.\n */\n update(businessMetricToken: string, body: UpdateBusinessMetricRequest) {\n return this.client.request(\n `/v2/business_metrics/${pathEncode(businessMetricToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Deletes an existing BusinessMetric.\n */\n delete(businessMetricToken: string) {\n return this.client.request(\n `/v2/business_metrics/${pathEncode(businessMetricToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n/**\n * Return values of a BusinessMetric\n */\n getValues(businessMetricToken: string, body?: GetBusinessMetricValuesRequest) {\n return this.client.request(\n `/v2/business_metrics/${pathEncode(businessMetricToken)}/values`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Return forecasted values of a BusinessMetric\n */\n getForecastedValues(businessMetricToken: string, body?: GetBusinessMetricForecastedValuesRequest) {\n return this.client.request(\n `/v2/business_metrics/${pathEncode(businessMetricToken)}/forecasted_values`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Updates the values for an existing BusinessMetric from a CSV file.\n */\n updateValuesCSV(businessMetricToken: string, body: UpdateBusinessMetricValuesCSVRequest) {\n return this.client.request(\n `/v2/business_metrics/${pathEncode(businessMetricToken)}/values.csv`,\n \"PUT\",\n body,\n );\n }\n\n}\n\nclass CostAlertsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Create a new Cost Alert\n */\n create(body: CreateCostAlertRequest) {\n return this.client.request(\n `/v2/cost_alerts`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Get a CostAlertEvent\n */\n get(costAlertToken: string, eventToken: string) {\n return this.client.request(\n `/v2/cost_alerts/${pathEncode(costAlertToken)}/events/${pathEncode(eventToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Update a Cost Alert\n */\n update(costAlertToken: string, body: UpdateCostAlertRequest) {\n return this.client.request(\n `/v2/cost_alerts/${pathEncode(costAlertToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Delete a Cost Alert\n */\n delete(costAlertToken: string) {\n return this.client.request(\n `/v2/cost_alerts/${pathEncode(costAlertToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n/**\n * Get all CostAlertEvents\n */\n getEvents(costAlertToken: string, body?: GetCostAlertEventsRequest) {\n return this.client.request(\n `/v2/cost_alerts/${pathEncode(costAlertToken)}/events`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Get a CostAlertEvent\n */\n getEvent(costAlertToken: string, eventToken: string) {\n return this.client.request(\n `/v2/cost_alerts/${pathEncode(costAlertToken)}/events/${pathEncode(eventToken)}`,\n \"GET\",\n {},\n );\n }\n\n}\n\nclass CostProviderAccountsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * List CostProviderAccounts available in a given Workspace.\n */\n list(body?: GetCostProviderAccountsRequest) {\n return this.client.request(\n `/v2/cost_provider_accounts`,\n \"GET\",\n body,\n );\n }\n\n}\n\nclass CostReportsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all CostReports.\n */\n list(body?: GetCostReportsRequest) {\n return this.client.request(\n `/v2/cost_reports`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create a CostReport.\n */\n create(body: CreateCostReportRequest) {\n return this.client.request(\n `/v2/cost_reports`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return a CostReport.\n */\n get(costReportToken: string) {\n return this.client.request(\n `/v2/cost_reports/${pathEncode(costReportToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Update a CostReport.\n */\n update(costReportToken: string, body: UpdateCostReportRequest) {\n return this.client.request(\n `/v2/cost_reports/${pathEncode(costReportToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Delete a CostReport.\n */\n delete(costReportToken: string) {\n return this.client.request(\n `/v2/cost_reports/${pathEncode(costReportToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n/**\n * Return all ForecastedCosts.\n */\n getForecastedCosts(costReportToken: string, body?: GetForecastedCostsRequest) {\n return this.client.request(\n `/v2/cost_reports/${pathEncode(costReportToken)}/forecasted_costs`,\n \"GET\",\n body,\n );\n }\n\n}\n\nclass CostsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all Costs for a CostReport or VQL filter.\n */\n list(body?: GetCostsRequest) {\n return this.client.request(\n `/v2/costs`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Generate a DataExport of costs.\n */\n createExport(body: CreateCostExportRequest) {\n return this.client.request(\n `/v2/costs/data_exports`,\n \"POST\",\n body,\n );\n }\n\n}\n\nclass DashboardsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all Dashboards.\n */\n list(body?: GetDashboardsRequest) {\n return this.client.request(\n `/v2/dashboards`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create a Dashboard.\n */\n create(body: CreateDashboardRequest) {\n return this.client.request(\n `/v2/dashboards`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return a specific Dashboard.\n */\n get(dashboardToken: string) {\n return this.client.request(\n `/v2/dashboards/${pathEncode(dashboardToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Update a Dashboard.\n */\n update(dashboardToken: string, body: UpdateDashboardRequest) {\n return this.client.request(\n `/v2/dashboards/${pathEncode(dashboardToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Delete a Dashboard.\n */\n delete(dashboardToken: string) {\n return this.client.request(\n `/v2/dashboards/${pathEncode(dashboardToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n}\n\nclass DataExportsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Get the status of a data export.\n */\n get(dataExportToken: string) {\n return this.client.request(\n `/v2/data_exports/${pathEncode(dataExportToken)}`,\n \"GET\",\n {},\n );\n }\n\n}\n\nclass ExchangeRatesApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all Exchange Rates.\n */\n list(body?: GetExchangeRatesRequest) {\n return this.client.request(\n `/v2/exchange_rates`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Upload Exchange Rates via CSV.\n */\n createViaCsv(body: CreateExchangeRatesViaCsvRequest) {\n return this.client.request(\n `/v2/exchange_rates/csv`,\n \"POST\",\n body,\n );\n }\n\n}\n\nclass FinancialCommitmentReportsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all FinancialCommitmentReports.\n */\n list(body?: GetFinancialCommitmentReportsRequest) {\n return this.client.request(\n `/v2/financial_commitment_reports`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create a FinancialCommitmentReport.\n */\n create(body: CreateFinancialCommitmentReportRequest) {\n return this.client.request(\n `/v2/financial_commitment_reports`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return a FinancialCommitmentReport.\n */\n get(financialCommitmentReportToken: string) {\n return this.client.request(\n `/v2/financial_commitment_reports/${pathEncode(financialCommitmentReportToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Update a FinancialCommitmentReport.\n */\n update(financialCommitmentReportToken: string, body: UpdateFinancialCommitmentReportRequest) {\n return this.client.request(\n `/v2/financial_commitment_reports/${pathEncode(financialCommitmentReportToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Delete a FinancialCommitmentReport.\n */\n delete(financialCommitmentReportToken: string) {\n return this.client.request(\n `/v2/financial_commitment_reports/${pathEncode(financialCommitmentReportToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n}\n\nclass FinancialCommitmentsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all FinancialCommitments.\n */\n list(body?: GetFinancialCommitmentsRequest) {\n return this.client.request(\n `/v2/financial_commitments`,\n \"GET\",\n body,\n );\n }\n\n}\n\nclass FoldersApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all Folders for CostReports.\n */\n list(body?: GetFoldersRequest) {\n return this.client.request(\n `/v2/folders`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create a Folder for CostReports.\n */\n create(body: CreateFolderRequest) {\n return this.client.request(\n `/v2/folders`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return a specific Folder for CostReports.\n */\n get(folderToken: string) {\n return this.client.request(\n `/v2/folders/${pathEncode(folderToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Update a Folder for CostReports.\n */\n update(folderToken: string, body: UpdateFolderRequest) {\n return this.client.request(\n `/v2/folders/${pathEncode(folderToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Delete a Folder for CostReports.\n */\n delete(folderToken: string) {\n return this.client.request(\n `/v2/folders/${pathEncode(folderToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n}\n\nclass IntegrationsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all Integrations.\n */\n list(body?: GetIntegrationsRequest) {\n return this.client.request(\n `/v2/integrations`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Return an Integration.\n */\n get(integrationToken: string) {\n return this.client.request(\n `/v2/integrations/${pathEncode(integrationToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Update an Integration.\n */\n update(integrationToken: string, body: UpdateIntegrationRequest) {\n return this.client.request(\n `/v2/integrations/${pathEncode(integrationToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Delete an Integration.\n */\n delete(integrationToken: string) {\n return this.client.request(\n `/v2/integrations/${pathEncode(integrationToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n/**\n * Create a Custom Provider Integration\n */\n createCustomProviderIntegration(body: CreateCustomProviderIntegrationRequest) {\n return this.client.request(\n `/v2/integrations/custom_provider`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Create UserCostsUpload via CSV for a Custom Provider Integration.\n */\n createUserCostsUploadViaCsv(integrationToken: string, body: CreateUserCostsUploadViaCsvRequest) {\n return this.client.request(\n `/v2/integrations/${pathEncode(integrationToken)}/costs.csv`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Delete a UserCostsUpload.\n */\n deleteUserCostsUpload(integrationToken: string, userCostsUploadToken: string) {\n return this.client.request(\n `/v2/integrations/${pathEncode(integrationToken)}/costs/${pathEncode(userCostsUploadToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n/**\n * List UserCostUploads.\n */\n getUserCostsUploads(integrationToken: string) {\n return this.client.request(\n `/v2/integrations/${pathEncode(integrationToken)}/costs`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Create a GCP Integration\n */\n createGCPIntegration(body: CreateGCPIntegrationRequest) {\n return this.client.request(\n `/v2/integrations/gcp`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Create an Azure Integration\n */\n createAzureIntegration(body: CreateAzureIntegrationRequest) {\n return this.client.request(\n `/v2/integrations/azure`,\n \"POST\",\n body,\n );\n }\n\n}\n\nclass InvoicesApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Returns a list of invoices (MSP invoicing required).\n */\n list(body?: GetInvoicesRequest) {\n return this.client.request(\n `/v2/invoices`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create an invoice (MSP accounts only).\n */\n create(body: CreateInvoiceRequest) {\n return this.client.request(\n `/v2/invoices`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return an invoice.\n */\n get(invoiceToken: string) {\n return this.client.request(\n `/v2/invoices/${pathEncode(invoiceToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Download invoice file (PDF or CSV).\n */\n downloadInvoice(invoiceToken: string, body: DownloadInvoiceRequest) {\n return this.client.request(\n `/v2/invoices/${pathEncode(invoiceToken)}/download`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Send invoice via email.\n */\n sendInvoice(invoiceToken: string) {\n return this.client.request(\n `/v2/invoices/${pathEncode(invoiceToken)}/send`,\n \"POST\",\n {},\n );\n }\n\n/**\n * Send and approve invoice via email (MSP accounts only).\n */\n sendAndApproveInvoice(invoiceToken: string) {\n return this.client.request(\n `/v2/invoices/${pathEncode(invoiceToken)}/send_and_approve`,\n \"POST\",\n {},\n );\n }\n\n/**\n * Get cost report URL for invoice period.\n */\n getCostReport(invoiceToken: string) {\n return this.client.request(\n `/v2/invoices/${pathEncode(invoiceToken)}/cost_report`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Regenerate an existing invoice (MSP accounts only).\n */\n regenerateInvoice(invoiceToken: string) {\n return this.client.request(\n `/v2/invoices/${pathEncode(invoiceToken)}/regenerate`,\n \"POST\",\n {},\n );\n }\n\n}\n\nclass KubernetesEfficiencyReportsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all KubernetesEfficiencyReports.\n */\n list(body?: GetKubernetesEfficiencyReportsRequest) {\n return this.client.request(\n `/v2/kubernetes_efficiency_reports`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create a KubernetesEfficiencyReport.\n */\n create(body: CreateKubernetesEfficiencyReportRequest) {\n return this.client.request(\n `/v2/kubernetes_efficiency_reports`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return a KubernetesEfficiencyReport.\n */\n get(kubernetesEfficiencyReportToken: string) {\n return this.client.request(\n `/v2/kubernetes_efficiency_reports/${pathEncode(kubernetesEfficiencyReportToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Update a KubernetesEfficiencyReport.\n */\n update(kubernetesEfficiencyReportToken: string, body: UpdateKubernetesEfficiencyReportRequest) {\n return this.client.request(\n `/v2/kubernetes_efficiency_reports/${pathEncode(kubernetesEfficiencyReportToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Delete a KubernetesEfficiencyReport.\n */\n delete(kubernetesEfficiencyReportToken: string) {\n return this.client.request(\n `/v2/kubernetes_efficiency_reports/${pathEncode(kubernetesEfficiencyReportToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n/**\n * Generate a DataExport of Kubernetes efficiency data.\n */\n createExport(body: CreateKubernetesEfficiencyReportExportRequest) {\n return this.client.request(\n `/v2/kubernetes_efficiency_reports/data_exports`,\n \"POST\",\n body,\n );\n }\n\n}\n\nclass ManagedAccountsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Returns a list of managed accounts.\n */\n list(body?: GetManagedAccountsRequest) {\n return this.client.request(\n `/v2/managed_accounts`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create a Managed Account.\n */\n create(body: CreateManagedAccountRequest) {\n return this.client.request(\n `/v2/managed_accounts`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return a Managed Account.\n */\n get(managedAccountToken: string) {\n return this.client.request(\n `/v2/managed_accounts/${pathEncode(managedAccountToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Update a Managed Account.\n */\n update(managedAccountToken: string, body: UpdateManagedAccountRequest) {\n return this.client.request(\n `/v2/managed_accounts/${pathEncode(managedAccountToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Delete a Managed Account.\n */\n delete(managedAccountToken: string) {\n return this.client.request(\n `/v2/managed_accounts/${pathEncode(managedAccountToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n}\n\nclass MeApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Get information about the authenticated BearerToken.\n */\n get() {\n return this.client.request(\n `/v2/me`,\n \"GET\",\n {},\n );\n }\n\n}\n\nclass CostProvidersApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * List CostProviders available to query in a given Workspace.\n */\n list(body?: GetCostProvidersRequest) {\n return this.client.request(\n `/v2/cost_providers`,\n \"GET\",\n body,\n );\n }\n\n}\n\nclass CostServicesApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * List CostServices available to query in a given Workspace.\n */\n list(body?: GetCostServicesRequest) {\n return this.client.request(\n `/v2/cost_services`,\n \"GET\",\n body,\n );\n }\n\n}\n\nclass UserFeedbackApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Provide UserFeedback for our product and features.\n */\n create(body: CreateUserFeedbackRequest) {\n return this.client.request(\n `/v2/user_feedback`,\n \"POST\",\n body,\n );\n }\n\n}\n\nclass NetworkFlowReportsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all NetworkFlowReports.\n */\n list(body?: GetNetworkFlowReportsRequest) {\n return this.client.request(\n `/v2/network_flow_reports`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create a NetworkFlowReport.\n */\n create(body: CreateNetworkFlowReportRequest) {\n return this.client.request(\n `/v2/network_flow_reports`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return a NetworkFlowReport.\n */\n get(networkFlowReportToken: string) {\n return this.client.request(\n `/v2/network_flow_reports/${pathEncode(networkFlowReportToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Update a NetworkFlowReport.\n */\n update(networkFlowReportToken: string, body: UpdateNetworkFlowReportRequest) {\n return this.client.request(\n `/v2/network_flow_reports/${pathEncode(networkFlowReportToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Delete a NetworkFlowReport.\n */\n delete(networkFlowReportToken: string) {\n return this.client.request(\n `/v2/network_flow_reports/${pathEncode(networkFlowReportToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n}\n\nclass ProductsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return available Products for a Service. For example, with a Provider of AWS and a Service of EC2, Products will be a list of all EC2 Instances. By default, this endpoint returns all Products across all Services and Providers but has optional query parameters for filtering listed below.\n */\n list(body?: GetProductsRequest) {\n return this.client.request(\n `/v2/products`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Returns a price\n */\n get(productId: string, id: string) {\n return this.client.request(\n `/v2/products/${pathEncode(productId)}/prices/${pathEncode(id)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Return available Prices across all Regions for a Product.\n */\n getPrices(productId: string, body?: GetPricesRequest) {\n return this.client.request(\n `/v2/products/${pathEncode(productId)}/prices`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Returns a price\n */\n getPrice(productId: string, id: string) {\n return this.client.request(\n `/v2/products/${pathEncode(productId)}/prices/${pathEncode(id)}`,\n \"GET\",\n {},\n );\n }\n\n}\n\nclass RecommendationsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all Recommendations.\n */\n list(body?: GetRecommendationsRequest) {\n return this.client.request(\n `/v2/recommendations`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Return a Recommendation.\n */\n get(recommendationToken: string) {\n return this.client.request(\n `/v2/recommendations/${pathEncode(recommendationToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Return all Active Resources, including Recommendation Actions, referenced in this Recommendation.\n */\n getResources(recommendationToken: string, body?: GetRecommendationResourcesRequest) {\n return this.client.request(\n `/v2/recommendations/${pathEncode(recommendationToken)}/resources`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Return an Active Resource, including Recommendation Actions, referenced in this Recommendation.\n */\n getResource(recommendationToken: string, resourceToken: string) {\n return this.client.request(\n `/v2/recommendations/${pathEncode(recommendationToken)}/resources/${pathEncode(resourceToken)}`,\n \"GET\",\n {},\n );\n }\n\n}\n\nclass RecommendationViewsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all RecommendationViews.\n */\n list(body?: GetRecommendationViewsRequest) {\n return this.client.request(\n `/v2/recommendation_views`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create a RecommendationView.\n */\n create(body: CreateRecommendationViewRequest) {\n return this.client.request(\n `/v2/recommendation_views`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return a specific RecommendationView.\n */\n get(recommendationViewToken: string) {\n return this.client.request(\n `/v2/recommendation_views/${pathEncode(recommendationViewToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Update a RecommendationView.\n */\n update(recommendationViewToken: string, body: UpdateRecommendationViewRequest) {\n return this.client.request(\n `/v2/recommendation_views/${pathEncode(recommendationViewToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Delete a RecommendationView.\n */\n delete(recommendationViewToken: string) {\n return this.client.request(\n `/v2/recommendation_views/${pathEncode(recommendationViewToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n}\n\nclass ReportNotificationsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all ReportNotifications.\n */\n list(body?: GetReportNotificationsRequest) {\n return this.client.request(\n `/v2/report_notifications`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create a ReportNotification.\n */\n create(body: CreateReportNotificationRequest) {\n return this.client.request(\n `/v2/report_notifications`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return a ReportNotification.\n */\n get(reportNotificationToken: string) {\n return this.client.request(\n `/v2/report_notifications/${pathEncode(reportNotificationToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Update a ReportNotification.\n */\n update(reportNotificationToken: string, body: UpdateReportNotificationRequest) {\n return this.client.request(\n `/v2/report_notifications/${pathEncode(reportNotificationToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Delete a ReportNotification.\n */\n delete(reportNotificationToken: string) {\n return this.client.request(\n `/v2/report_notifications/${pathEncode(reportNotificationToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n}\n\nclass ResourceReportsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all ResourceReports.\n */\n list(body?: GetResourceReportsRequest) {\n return this.client.request(\n `/v2/resource_reports`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create a ResourceReport.\n */\n create(body: CreateResourceReportRequest) {\n return this.client.request(\n `/v2/resource_reports`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return a ResourceReport.\n */\n get(resourceReportToken: string) {\n return this.client.request(\n `/v2/resource_reports/${pathEncode(resourceReportToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Update a ResourceReport.\n */\n update(resourceReportToken: string, body: UpdateResourceReportRequest) {\n return this.client.request(\n `/v2/resource_reports/${pathEncode(resourceReportToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Delete a ResourceReport.\n */\n delete(resourceReportToken: string) {\n return this.client.request(\n `/v2/resource_reports/${pathEncode(resourceReportToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n/**\n * List available columns for a resource type.\n */\n getColumns(body?: GetResourceReportColumnsRequest) {\n return this.client.request(\n `/v2/resource_reports/columns`,\n \"GET\",\n body,\n );\n }\n\n}\n\nclass ResourcesApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return Resources contained in a ResourceReport\n */\n list(body?: GetReportResourcesRequest) {\n return this.client.request(\n `/v2/resources`,\n \"GET\",\n body,\n );\n }\n\n}\n\nclass SavedFiltersApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all SavedFilters that can be applied to a CostReport.\n */\n list(body?: GetSavedFiltersRequest) {\n return this.client.request(\n `/v2/saved_filters`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create a SavedFilter for CostReports.\n */\n create(body: CreateSavedFilterRequest) {\n return this.client.request(\n `/v2/saved_filters`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return a specific SavedFilter.\n */\n get(savedFilterToken: string) {\n return this.client.request(\n `/v2/saved_filters/${pathEncode(savedFilterToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Update a SavedFilter for CostReports.\n */\n update(savedFilterToken: string, body: UpdateSavedFilterRequest) {\n return this.client.request(\n `/v2/saved_filters/${pathEncode(savedFilterToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Delete a SavedFilter for CostReports.\n */\n delete(savedFilterToken: string) {\n return this.client.request(\n `/v2/saved_filters/${pathEncode(savedFilterToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n}\n\nclass SegmentsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all Segments.\n */\n list(body?: GetSegmentsRequest) {\n return this.client.request(\n `/v2/segments`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create a Segment.\n */\n create(body: CreateSegmentRequest) {\n return this.client.request(\n `/v2/segments`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return a Segment.\n */\n get(segmentToken: string) {\n return this.client.request(\n `/v2/segments/${pathEncode(segmentToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Update a Segment.\n */\n update(segmentToken: string, body: UpdateSegmentRequest) {\n return this.client.request(\n `/v2/segments/${pathEncode(segmentToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Delete a Segment.\n */\n delete(segmentToken: string) {\n return this.client.request(\n `/v2/segments/${pathEncode(segmentToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n}\n\nclass TagsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all Tags that the current API token has access to.\n */\n list(body?: GetTagsRequest) {\n return this.client.request(\n `/v2/tags`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Returns corresponding TagValues for a given Tag.\n */\n getValues(key: string, body?: GetTagValuesRequest) {\n return this.client.request(\n `/v2/tags/${pathEncode(key)}/values`,\n \"GET\",\n body,\n );\n }\n\n}\n\nclass TeamsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all Teams that the current API token has access to.\n */\n list(body?: GetTeamsRequest) {\n return this.client.request(\n `/v2/teams`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create a new Team.\n */\n create(body: CreateTeamRequest) {\n return this.client.request(\n `/v2/teams`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return a specific Team.\n */\n get(teamToken: string) {\n return this.client.request(\n `/v2/teams/${pathEncode(teamToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Update a Team.\n */\n update(teamToken: string, body: UpdateTeamRequest) {\n return this.client.request(\n `/v2/teams/${pathEncode(teamToken)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Delete a Team.\n */\n delete(teamToken: string) {\n return this.client.request(\n `/v2/teams/${pathEncode(teamToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n/**\n * Return all members of a Team.\n */\n getMembers(teamToken: string, body?: GetTeamMembersRequest) {\n return this.client.request(\n `/v2/teams/${pathEncode(teamToken)}/members`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Add a member to a Team.\n */\n addTeamMember(teamToken: string, body: AddTeamMemberRequest) {\n return this.client.request(\n `/v2/teams/${pathEncode(teamToken)}/members`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Remove a member from a Team.\n */\n removeTeamMember(teamToken: string, userToken: string) {\n return this.client.request(\n `/v2/teams/${pathEncode(teamToken)}/members/${pathEncode(userToken)}`,\n \"DELETE\",\n {},\n );\n }\n\n}\n\nclass UnitCostsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all UnitCosts for a CostReport.\n */\n list(body?: GetUnitCostsRequest) {\n return this.client.request(\n `/v2/unit_costs`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Generate a DataExport of unit costs.\n */\n createExport(body: CreateUnitCostsExportRequest) {\n return this.client.request(\n `/v2/unit_costs/data_exports`,\n \"POST\",\n body,\n );\n }\n\n}\n\nclass UsersApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all Users that the current API token has access to.\n */\n list(body?: GetUsersRequest) {\n return this.client.request(\n `/v2/users`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Return a specific User.\n */\n get(userToken: string) {\n return this.client.request(\n `/v2/users/${pathEncode(userToken)}`,\n \"GET\",\n {},\n );\n }\n\n}\n\nclass VirtualTagConfigsApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Create a new VirtualTagConfig.\n */\n create(body: CreateVirtualTagConfigRequest) {\n return this.client.request(\n `/v2/virtual_tag_configs`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return all VirtualTagConfigs that the current API token has access to.\n */\n get() {\n return this.client.request(\n `/v2/virtual_tag_configs`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Updates an existing VirtualTagConfig.\n */\n update(token: string, body: UpdateVirtualTagConfigRequest) {\n return this.client.request(\n `/v2/virtual_tag_configs/${pathEncode(token)}`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Deletes an existing VirtualTagConfig.\n */\n delete(token: string) {\n return this.client.request(\n `/v2/virtual_tag_configs/${pathEncode(token)}`,\n \"DELETE\",\n {},\n );\n }\n\n/**\n * Asynchronously updates an existing VirtualTagConfig.\n */\n updateAsyncVirtualTagConfig(token: string, body: UpdateAsyncVirtualTagConfigRequest) {\n return this.client.request(\n `/v2/virtual_tag_configs/${pathEncode(token)}/async`,\n \"PUT\",\n body,\n );\n }\n\n/**\n * Check the status of an async VirtualTagConfig update.\n */\n getAsyncVirtualTagConfigStatus(requestId: string) {\n return this.client.request(\n `/v2/virtual_tag_configs/async/${pathEncode(requestId)}`,\n \"GET\",\n {},\n );\n }\n\n}\n\nclass WorkspacesApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * Return all Workspaces that the current API token has access to.\n */\n list(body?: GetWorkspacesRequest) {\n return this.client.request(\n `/v2/workspaces`,\n \"GET\",\n body,\n );\n }\n\n/**\n * Create a workspace\n */\n create(body: CreateWorkspaceRequest) {\n return this.client.request(\n `/v2/workspaces`,\n \"POST\",\n body,\n );\n }\n\n/**\n * Return a specific Workspace.\n */\n get(workspaceToken: string) {\n return this.client.request(\n `/v2/workspaces/${pathEncode(workspaceToken)}`,\n \"GET\",\n {},\n );\n }\n\n/**\n * Update a workspace\n */\n update(workspaceToken: string, body: UpdateWorkspaceRequest) {\n return this.client.request(\n `/v2/workspaces/${pathEncode(workspaceToken)}`,\n \"PUT\",\n body,\n );\n }\n\n}\n\nclass PingApi<NeverThrow extends boolean> {\n constructor(private client: BaseClient<NeverThrow>) {}\n\n/**\n * This is a health check endpoint that can be used to determine Vantage API healthiness. It will return 200 if everything is running smoothly.\n */\n get() {\n return this.client.request(\n `/v2/ping`,\n \"GET\",\n {},\n );\n }\n\n}\n\n"],"mappings":"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","names":["index_exports","__export","APIV2Client","VantageAPIError","pathEncode","__toCommonJS","pathEncode","value","multipartEdgeCases","regexes","escapeRegex","s","path","methods","pathSplit","method","ok","isMultipartMethod","regex","t","handleGetBodyParams","url","body","key","VantageAPIError","status","statusText","e","parsed","text","execute","headers","neverThrow","res","message","err","BaseClient","bearerToken","baseUrl","formData","APIV2Client","BaseClient","bearerToken","neverThrow","baseUrl","AccessGrantsApi","AnomalyAlertsApi","AnomalyNotificationsApi","AuditLogsApi","BillingProfilesApi","BillingRulesApi","BudgetAlertsApi","BudgetsApi","BusinessMetricsApi","CostAlertsApi","CostProviderAccountsApi","CostReportsApi","CostsApi","DashboardsApi","DataExportsApi","ExchangeRatesApi","FinancialCommitmentReportsApi","FinancialCommitmentsApi","FoldersApi","IntegrationsApi","InvoicesApi","KubernetesEfficiencyReportsApi","ManagedAccountsApi","MeApi","CostProvidersApi","CostServicesApi","UserFeedbackApi","NetworkFlowReportsApi","ProductsApi","RecommendationsApi","RecommendationViewsApi","ReportNotificationsApi","ResourceReportsApi","ResourcesApi","SavedFiltersApi","SegmentsApi","TagsApi","TeamsApi","UnitCostsApi","UsersApi","VirtualTagConfigsApi","WorkspacesApi","PingApi","client","body","accessGrantToken","pathEncode","anomalyAlertToken","anomalyNotificationToken","auditLogToken","billingProfileToken","billingRuleToken","budgetAlertToken","budgetToken","businessMetricToken","costAlertToken","eventToken","costReportToken","dashboardToken","dataExportToken","financialCommitmentReportToken","folderToken","integrationToken","userCostsUploadToken","invoiceToken","kubernetesEfficiencyReportToken","managedAccountToken","networkFlowReportToken","productId","id","recommendationToken","resourceToken","recommendationViewToken","reportNotificationToken","resourceReportToken","savedFilterToken","segmentToken","key","teamToken","userToken","token","requestId","workspaceToken"]}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function s(r){return encodeURIComponent(r)}var ne={"/v2/exchange_rates/csv":{POST:!0},"/v2/business_metrics/{}/values.csv":{PUT:!0},"/v2/integrations/{}/costs.csv":{POST:!0}},u={};function ie(r){return r.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}for(let[r,e]of Object.entries(ne)){let t=r.split("{}").map(ie).join("(.+?)");for(let[o,a]of Object.entries(e))a&&(u[o]||(u[o]=[]),u[o].push(new RegExp(`^${t}$`)))}function ae(r,e){if(Object.prototype.hasOwnProperty.call(u,r))for(let t of u[r]){let o=t.test(e);if(t.lastIndex=0,o)return!0}return!1}function pe(r,e){if(e)for(let[t,o]of Object.entries(e))r.searchParams.append(t,Array.isArray(o)?o.map(String).join(","):String(o))}var h=class extends Error{constructor(t,o,a){let n=null;if(t!==null)try{let p=JSON.parse(a);Array.isArray(p.errors)&&(n=p.errors)}catch{}let i=t===null?`Vantage API Error: ${a}`:`Vantage API Error: ${t} ${o}`+(n?` - ${n.join(", ")}`:"");super(i);this.status=t;this.statusText=o;this.body=a;this.errors=n}errors};async function l(r,e,t,o,a){let n;try{n=await fetch(r.toString(),{method:e,headers:t,body:o})}catch(i){let p=i instanceof Error?i.message:String(i),d=new h(null,null,p);if(a)return[null,d];throw d}if(!n.ok){let i=new h(n.status,n.statusText,await n.text());if(a)return[null,i];throw i}if(n.status===204)return a?[void 0,null]:void 0;try{let i=await n.text(),p;return i&&(p=JSON.parse(i)),a?[p,null]:p}catch(i){let p=i instanceof Error?i.message:String(i),d=new h(n.status,n.statusText,p);if(a)return[null,d];throw d}}var c=class{constructor(e,t,o){this.bearerToken=e;this.neverThrow=t;this.baseUrl=o}async request(e,t,o){let a=new URL(e,this.baseUrl),n={Authorization:`Bearer ${this.bearerToken}`};if(t==="GET")return pe(a,o),l(a,t,n,void 0,this.neverThrow);if(ae(t,e)){let p=new FormData;for(let[d,oe]of Object.entries(o))p.append(d,oe);return n["Content-Type"]="multipart/form-data",l(a,t,n,p,this.neverThrow)}return n["Content-Type"]="application/json",l(a,t,n,JSON.stringify(o),this.neverThrow)}};var re=class extends c{constructor(e,t=!1,o="https://api.vantage.sh"){super(e,t,o)}_accessGrants;_anomalyAlerts;_anomalyNotifications;_auditLogs;_billingProfiles;_billingRules;_budgetAlerts;_budgets;_businessMetrics;_costAlerts;_costProviderAccounts;_costReports;_costs;_dashboards;_dataExports;_exchangeRates;_financialCommitmentReports;_financialCommitments;_folders;_integrations;_invoices;_kubernetesEfficiencyReports;_managedAccounts;_me;_costProviders;_costServices;_userFeedback;_networkFlowReports;_products;_recommendations;_recommendationViews;_reportNotifications;_resourceReports;_resources;_savedFilters;_segments;_tags;_teams;_unitCosts;_users;_virtualTagConfigs;_workspaces;_ping;get accessGrants(){return this._accessGrants||(this._accessGrants=new v(this)),this._accessGrants}get anomalyAlerts(){return this._anomalyAlerts||(this._anomalyAlerts=new R(this)),this._anomalyAlerts}get anomalyNotifications(){return this._anomalyNotifications||(this._anomalyNotifications=new g(this)),this._anomalyNotifications}get auditLogs(){return this._auditLogs||(this._auditLogs=new y(this)),this._auditLogs}get billingProfiles(){return this._billingProfiles||(this._billingProfiles=new T(this)),this._billingProfiles}get billingRules(){return this._billingRules||(this._billingRules=new P(this)),this._billingRules}get budgetAlerts(){return this._budgetAlerts||(this._budgetAlerts=new _(this)),this._budgetAlerts}get budgets(){return this._budgets||(this._budgets=new q(this)),this._budgets}get businessMetrics(){return this._businessMetrics||(this._businessMetrics=new S(this)),this._businessMetrics}get costAlerts(){return this._costAlerts||(this._costAlerts=new m(this)),this._costAlerts}get costProviderAccounts(){return this._costProviderAccounts||(this._costProviderAccounts=new A(this)),this._costProviderAccounts}get costReports(){return this._costReports||(this._costReports=new E(this)),this._costReports}get costs(){return this._costs||(this._costs=new x(this)),this._costs}get dashboards(){return this._dashboards||(this._dashboards=new G(this)),this._dashboards}get dataExports(){return this._dataExports||(this._dataExports=new B(this)),this._dataExports}get exchangeRates(){return this._exchangeRates||(this._exchangeRates=new f(this)),this._exchangeRates}get financialCommitmentReports(){return this._financialCommitmentReports||(this._financialCommitmentReports=new M(this)),this._financialCommitmentReports}get financialCommitments(){return this._financialCommitments||(this._financialCommitments=new N(this)),this._financialCommitments}get folders(){return this._folders||(this._folders=new F(this)),this._folders}get integrations(){return this._integrations||(this._integrations=new w(this)),this._integrations}get invoices(){return this._invoices||(this._invoices=new C(this)),this._invoices}get kubernetesEfficiencyReports(){return this._kubernetesEfficiencyReports||(this._kubernetesEfficiencyReports=new $(this)),this._kubernetesEfficiencyReports}get managedAccounts(){return this._managedAccounts||(this._managedAccounts=new b(this)),this._managedAccounts}get me(){return this._me||(this._me=new U(this)),this._me}get costProviders(){return this._costProviders||(this._costProviders=new O(this)),this._costProviders}get costServices(){return this._costServices||(this._costServices=new k(this)),this._costServices}get userFeedback(){return this._userFeedback||(this._userFeedback=new D(this)),this._userFeedback}get networkFlowReports(){return this._networkFlowReports||(this._networkFlowReports=new L(this)),this._networkFlowReports}get products(){return this._products||(this._products=new V(this)),this._products}get recommendations(){return this._recommendations||(this._recommendations=new I(this)),this._recommendations}get recommendationViews(){return this._recommendationViews||(this._recommendationViews=new K(this)),this._recommendationViews}get reportNotifications(){return this._reportNotifications||(this._reportNotifications=new j(this)),this._reportNotifications}get resourceReports(){return this._resourceReports||(this._resourceReports=new W(this)),this._resourceReports}get resources(){return this._resources||(this._resources=new z(this)),this._resources}get savedFilters(){return this._savedFilters||(this._savedFilters=new J(this)),this._savedFilters}get segments(){return this._segments||(this._segments=new H(this)),this._segments}get tags(){return this._tags||(this._tags=new Q(this)),this._tags}get teams(){return this._teams||(this._teams=new X(this)),this._teams}get unitCosts(){return this._unitCosts||(this._unitCosts=new Z(this)),this._unitCosts}get users(){return this._users||(this._users=new Y(this)),this._users}get virtualTagConfigs(){return this._virtualTagConfigs||(this._virtualTagConfigs=new ee(this)),this._virtualTagConfigs}get workspaces(){return this._workspaces||(this._workspaces=new te(this)),this._workspaces}get ping(){return this._ping||(this._ping=new se(this)),this._ping}},v=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/access_grants","GET",e)}create(e){return this.client.request("/v2/access_grants","POST",e)}get(e){return this.client.request(`/v2/access_grants/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/access_grants/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/access_grants/${s(e)}`,"DELETE",{})}},R=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/anomaly_alerts","GET",e)}get(e){return this.client.request(`/v2/anomaly_alerts/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/anomaly_alerts/${s(e)}`,"PUT",t)}},g=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/anomaly_notifications","GET",e)}create(e){return this.client.request("/v2/anomaly_notifications","POST",e)}get(e){return this.client.request(`/v2/anomaly_notifications/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/anomaly_notifications/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/anomaly_notifications/${s(e)}`,"DELETE",{})}},y=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/audit_logs","GET",e)}get(e){return this.client.request(`/v2/audit_logs/${s(e)}`,"GET",{})}},T=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/billing_profiles","GET",e)}create(e){return this.client.request("/v2/billing_profiles","POST",e)}get(e){return this.client.request(`/v2/billing_profiles/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/billing_profiles/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/billing_profiles/${s(e)}`,"DELETE",{})}},P=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/billing_rules","GET",e)}create(e){return this.client.request("/v2/billing_rules","POST",e)}get(e){return this.client.request(`/v2/billing_rules/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/billing_rules/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/billing_rules/${s(e)}`,"DELETE",{})}},_=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/budget_alerts","GET",e)}create(e){return this.client.request("/v2/budget_alerts","POST",e)}get(e){return this.client.request(`/v2/budget_alerts/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/budget_alerts/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/budget_alerts/${s(e)}`,"DELETE",{})}},q=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/budgets","GET",e)}create(e){return this.client.request("/v2/budgets","POST",e)}update(e,t){return this.client.request(`/v2/budgets/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/budgets/${s(e)}`,"DELETE",{})}},S=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/business_metrics","GET",e)}create(e){return this.client.request("/v2/business_metrics","POST",e)}get(e){return this.client.request(`/v2/business_metrics/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/business_metrics/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/business_metrics/${s(e)}`,"DELETE",{})}getValues(e,t){return this.client.request(`/v2/business_metrics/${s(e)}/values`,"GET",t)}getForecastedValues(e,t){return this.client.request(`/v2/business_metrics/${s(e)}/forecasted_values`,"GET",t)}updateValuesCSV(e,t){return this.client.request(`/v2/business_metrics/${s(e)}/values.csv`,"PUT",t)}},m=class{constructor(e){this.client=e}create(e){return this.client.request("/v2/cost_alerts","POST",e)}get(e,t){return this.client.request(`/v2/cost_alerts/${s(e)}/events/${s(t)}`,"GET",{})}update(e,t){return this.client.request(`/v2/cost_alerts/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/cost_alerts/${s(e)}`,"DELETE",{})}getEvents(e,t){return this.client.request(`/v2/cost_alerts/${s(e)}/events`,"GET",t)}getEvent(e,t){return this.client.request(`/v2/cost_alerts/${s(e)}/events/${s(t)}`,"GET",{})}},A=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/cost_provider_accounts","GET",e)}},E=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/cost_reports","GET",e)}create(e){return this.client.request("/v2/cost_reports","POST",e)}get(e){return this.client.request(`/v2/cost_reports/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/cost_reports/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/cost_reports/${s(e)}`,"DELETE",{})}getForecastedCosts(e,t){return this.client.request(`/v2/cost_reports/${s(e)}/forecasted_costs`,"GET",t)}},x=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/costs","GET",e)}createExport(e){return this.client.request("/v2/costs/data_exports","POST",e)}},G=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/dashboards","GET",e)}create(e){return this.client.request("/v2/dashboards","POST",e)}get(e){return this.client.request(`/v2/dashboards/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/dashboards/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/dashboards/${s(e)}`,"DELETE",{})}},B=class{constructor(e){this.client=e}get(e){return this.client.request(`/v2/data_exports/${s(e)}`,"GET",{})}},f=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/exchange_rates","GET",e)}createViaCsv(e){return this.client.request("/v2/exchange_rates/csv","POST",e)}},M=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/financial_commitment_reports","GET",e)}create(e){return this.client.request("/v2/financial_commitment_reports","POST",e)}get(e){return this.client.request(`/v2/financial_commitment_reports/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/financial_commitment_reports/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/financial_commitment_reports/${s(e)}`,"DELETE",{})}},N=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/financial_commitments","GET",e)}},F=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/folders","GET",e)}create(e){return this.client.request("/v2/folders","POST",e)}get(e){return this.client.request(`/v2/folders/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/folders/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/folders/${s(e)}`,"DELETE",{})}},w=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/integrations","GET",e)}get(e){return this.client.request(`/v2/integrations/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/integrations/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/integrations/${s(e)}`,"DELETE",{})}createCustomProviderIntegration(e){return this.client.request("/v2/integrations/custom_provider","POST",e)}createUserCostsUploadViaCsv(e,t){return this.client.request(`/v2/integrations/${s(e)}/costs.csv`,"POST",t)}deleteUserCostsUpload(e,t){return this.client.request(`/v2/integrations/${s(e)}/costs/${s(t)}`,"DELETE",{})}getUserCostsUploads(e){return this.client.request(`/v2/integrations/${s(e)}/costs`,"GET",{})}createGCPIntegration(e){return this.client.request("/v2/integrations/gcp","POST",e)}createAzureIntegration(e){return this.client.request("/v2/integrations/azure","POST",e)}},C=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/invoices","GET",e)}create(e){return this.client.request("/v2/invoices","POST",e)}get(e){return this.client.request(`/v2/invoices/${s(e)}`,"GET",{})}downloadInvoice(e,t){return this.client.request(`/v2/invoices/${s(e)}/download`,"POST",t)}sendInvoice(e){return this.client.request(`/v2/invoices/${s(e)}/send`,"POST",{})}sendAndApproveInvoice(e){return this.client.request(`/v2/invoices/${s(e)}/send_and_approve`,"POST",{})}getCostReport(e){return this.client.request(`/v2/invoices/${s(e)}/cost_report`,"GET",{})}regenerateInvoice(e){return this.client.request(`/v2/invoices/${s(e)}/regenerate`,"POST",{})}},$=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/kubernetes_efficiency_reports","GET",e)}create(e){return this.client.request("/v2/kubernetes_efficiency_reports","POST",e)}get(e){return this.client.request(`/v2/kubernetes_efficiency_reports/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/kubernetes_efficiency_reports/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/kubernetes_efficiency_reports/${s(e)}`,"DELETE",{})}createExport(e){return this.client.request("/v2/kubernetes_efficiency_reports/data_exports","POST",e)}},b=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/managed_accounts","GET",e)}create(e){return this.client.request("/v2/managed_accounts","POST",e)}get(e){return this.client.request(`/v2/managed_accounts/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/managed_accounts/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/managed_accounts/${s(e)}`,"DELETE",{})}},U=class{constructor(e){this.client=e}get(){return this.client.request("/v2/me","GET",{})}},O=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/cost_providers","GET",e)}},k=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/cost_services","GET",e)}},D=class{constructor(e){this.client=e}create(e){return this.client.request("/v2/user_feedback","POST",e)}},L=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/network_flow_reports","GET",e)}create(e){return this.client.request("/v2/network_flow_reports","POST",e)}get(e){return this.client.request(`/v2/network_flow_reports/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/network_flow_reports/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/network_flow_reports/${s(e)}`,"DELETE",{})}},V=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/products","GET",e)}get(e,t){return this.client.request(`/v2/products/${s(e)}/prices/${s(t)}`,"GET",{})}getPrices(e,t){return this.client.request(`/v2/products/${s(e)}/prices`,"GET",t)}getPrice(e,t){return this.client.request(`/v2/products/${s(e)}/prices/${s(t)}`,"GET",{})}},I=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/recommendations","GET",e)}get(e){return this.client.request(`/v2/recommendations/${s(e)}`,"GET",{})}getResources(e,t){return this.client.request(`/v2/recommendations/${s(e)}/resources`,"GET",t)}getResource(e,t){return this.client.request(`/v2/recommendations/${s(e)}/resources/${s(t)}`,"GET",{})}},K=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/recommendation_views","GET",e)}create(e){return this.client.request("/v2/recommendation_views","POST",e)}get(e){return this.client.request(`/v2/recommendation_views/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/recommendation_views/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/recommendation_views/${s(e)}`,"DELETE",{})}},j=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/report_notifications","GET",e)}create(e){return this.client.request("/v2/report_notifications","POST",e)}get(e){return this.client.request(`/v2/report_notifications/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/report_notifications/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/report_notifications/${s(e)}`,"DELETE",{})}},W=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/resource_reports","GET",e)}create(e){return this.client.request("/v2/resource_reports","POST",e)}get(e){return this.client.request(`/v2/resource_reports/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/resource_reports/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/resource_reports/${s(e)}`,"DELETE",{})}getColumns(e){return this.client.request("/v2/resource_reports/columns","GET",e)}},z=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/resources","GET",e)}},J=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/saved_filters","GET",e)}create(e){return this.client.request("/v2/saved_filters","POST",e)}get(e){return this.client.request(`/v2/saved_filters/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/saved_filters/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/saved_filters/${s(e)}`,"DELETE",{})}},H=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/segments","GET",e)}create(e){return this.client.request("/v2/segments","POST",e)}get(e){return this.client.request(`/v2/segments/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/segments/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/segments/${s(e)}`,"DELETE",{})}},Q=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/tags","GET",e)}getValues(e,t){return this.client.request(`/v2/tags/${s(e)}/values`,"GET",t)}},X=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/teams","GET",e)}create(e){return this.client.request("/v2/teams","POST",e)}get(e){return this.client.request(`/v2/teams/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/teams/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/teams/${s(e)}`,"DELETE",{})}getMembers(e,t){return this.client.request(`/v2/teams/${s(e)}/members`,"GET",t)}addTeamMember(e,t){return this.client.request(`/v2/teams/${s(e)}/members`,"POST",t)}removeTeamMember(e,t){return this.client.request(`/v2/teams/${s(e)}/members/${s(t)}`,"DELETE",{})}},Z=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/unit_costs","GET",e)}createExport(e){return this.client.request("/v2/unit_costs/data_exports","POST",e)}},Y=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/users","GET",e)}get(e){return this.client.request(`/v2/users/${s(e)}`,"GET",{})}},ee=class{constructor(e){this.client=e}create(e){return this.client.request("/v2/virtual_tag_configs","POST",e)}get(){return this.client.request("/v2/virtual_tag_configs","GET",{})}update(e,t){return this.client.request(`/v2/virtual_tag_configs/${s(e)}`,"PUT",t)}delete(e){return this.client.request(`/v2/virtual_tag_configs/${s(e)}`,"DELETE",{})}updateAsyncVirtualTagConfig(e,t){return this.client.request(`/v2/virtual_tag_configs/${s(e)}/async`,"PUT",t)}getAsyncVirtualTagConfigStatus(e){return this.client.request(`/v2/virtual_tag_configs/async/${s(e)}`,"GET",{})}},te=class{constructor(e){this.client=e}list(e){return this.client.request("/v2/workspaces","GET",e)}create(e){return this.client.request("/v2/workspaces","POST",e)}get(e){return this.client.request(`/v2/workspaces/${s(e)}`,"GET",{})}update(e,t){return this.client.request(`/v2/workspaces/${s(e)}`,"PUT",t)}},se=class{constructor(e){this.client=e}get(){return this.client.request("/v2/ping","GET",{})}};export{re as APIV2Client,h as VantageAPIError,s as pathEncode};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|