import { BaseAPIRequestFactory } from "../../datadog-api-client-common/baseapi"; import { Configuration } from "../../datadog-api-client-common/configuration"; import { RequestContext, ResponseContext } from "../../datadog-api-client-common/http/http"; import { ActiveBillingDimensionsResponse } from "../models/ActiveBillingDimensionsResponse"; import { BillingDimensionsMappingResponse } from "../models/BillingDimensionsMappingResponse"; import { CostAggregationType } from "../models/CostAggregationType"; import { CostByOrgResponse } from "../models/CostByOrgResponse"; import { HourlyUsageResponse } from "../models/HourlyUsageResponse"; import { MonthlyCostAttributionResponse } from "../models/MonthlyCostAttributionResponse"; import { ProjectedCostResponse } from "../models/ProjectedCostResponse"; import { SortDirection } from "../models/SortDirection"; import { UsageApplicationSecurityMonitoringResponse } from "../models/UsageApplicationSecurityMonitoringResponse"; import { UsageAttributionTypesResponse } from "../models/UsageAttributionTypesResponse"; import { UsageLambdaTracedInvocationsResponse } from "../models/UsageLambdaTracedInvocationsResponse"; import { UsageObservabilityPipelinesResponse } from "../models/UsageObservabilityPipelinesResponse"; import { UsageQuotaResponse } from "../models/UsageQuotaResponse"; import { UsageQuotaResponseData } from "../models/UsageQuotaResponseData"; import { UsageQuotasBulkResponse } from "../models/UsageQuotasBulkResponse"; import { UsageQuotasCreateRequest } from "../models/UsageQuotasCreateRequest"; import { UsageQuotasListResponse } from "../models/UsageQuotasListResponse"; import { UsageQuotaUpdateRequest } from "../models/UsageQuotaUpdateRequest"; import { UsageSummaryAvailableFieldsResponse } from "../models/UsageSummaryAvailableFieldsResponse"; export declare class UsageMeteringApiRequestFactory extends BaseAPIRequestFactory { createQuotas(quotaNamespace: string, body: UsageQuotasCreateRequest, includeDescendants?: boolean, _options?: Configuration): Promise; deleteQuota(quotaNamespace: string, id: string, _options?: Configuration): Promise; getActiveBillingDimensions(_options?: Configuration): Promise; getBillingDimensionMapping(filterMonth?: Date, filterView?: string, _options?: Configuration): Promise; getCostByOrg(startMonth: Date, endMonth?: Date, _options?: Configuration): Promise; getEstimatedCostByOrg(view?: string, startMonth?: Date, endMonth?: Date, startDate?: Date, endDate?: Date, costAggregation?: CostAggregationType, includeConnectedAccounts?: boolean, _options?: Configuration): Promise; getHistoricalCostByOrg(startMonth: Date, view?: string, endMonth?: Date, includeConnectedAccounts?: boolean, _options?: Configuration): Promise; getHourlyUsage(filterTimestampStart: Date, filterProductFamilies: string, filterTimestampEnd?: Date, filterIncludeDescendants?: boolean, filterIncludeConnectedAccounts?: boolean, filterIncludeBreakdown?: boolean, filterVersions?: string, pageLimit?: number, pageNextRecordId?: string, _options?: Configuration): Promise; getMonthlyCostAttribution(startMonth: Date, fields: string, endMonth?: Date, sortDirection?: SortDirection, sortName?: string, tagBreakdownKeys?: string, nextRecordId?: string, includeDescendants?: boolean, _options?: Configuration): Promise; getProjectedCost(view?: string, includeConnectedAccounts?: boolean, _options?: Configuration): Promise; getUsageApplicationSecurityMonitoring(startHr: Date, endHr?: Date, _options?: Configuration): Promise; getUsageAttributionTypes(_options?: Configuration): Promise; getUsageLambdaTracedInvocations(startHr: Date, endHr?: Date, _options?: Configuration): Promise; getUsageObservabilityPipelines(startHr: Date, endHr?: Date, _options?: Configuration): Promise; getUsageSummaryAvailableFields(_options?: Configuration): Promise; listQuotas(quotaNamespace: string, includeDescendants?: boolean, pageCursor?: string, pageLimit?: number, _options?: Configuration): Promise; updateQuota(quotaNamespace: string, id: string, body: UsageQuotaUpdateRequest, _options?: Configuration): Promise; } export declare class UsageMeteringApiResponseProcessor { /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to createQuotas * @throws ApiException if the response code was not in [200, 299] */ createQuotas(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to deleteQuota * @throws ApiException if the response code was not in [200, 299] */ deleteQuota(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getActiveBillingDimensions * @throws ApiException if the response code was not in [200, 299] */ getActiveBillingDimensions(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getBillingDimensionMapping * @throws ApiException if the response code was not in [200, 299] */ getBillingDimensionMapping(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getCostByOrg * @throws ApiException if the response code was not in [200, 299] */ getCostByOrg(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getEstimatedCostByOrg * @throws ApiException if the response code was not in [200, 299] */ getEstimatedCostByOrg(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getHistoricalCostByOrg * @throws ApiException if the response code was not in [200, 299] */ getHistoricalCostByOrg(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getHourlyUsage * @throws ApiException if the response code was not in [200, 299] */ getHourlyUsage(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getMonthlyCostAttribution * @throws ApiException if the response code was not in [200, 299] */ getMonthlyCostAttribution(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getProjectedCost * @throws ApiException if the response code was not in [200, 299] */ getProjectedCost(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getUsageApplicationSecurityMonitoring * @throws ApiException if the response code was not in [200, 299] */ getUsageApplicationSecurityMonitoring(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getUsageAttributionTypes * @throws ApiException if the response code was not in [200, 299] */ getUsageAttributionTypes(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getUsageLambdaTracedInvocations * @throws ApiException if the response code was not in [200, 299] */ getUsageLambdaTracedInvocations(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getUsageObservabilityPipelines * @throws ApiException if the response code was not in [200, 299] */ getUsageObservabilityPipelines(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to getUsageSummaryAvailableFields * @throws ApiException if the response code was not in [200, 299] */ getUsageSummaryAvailableFields(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to listQuotas * @throws ApiException if the response code was not in [200, 299] */ listQuotas(response: ResponseContext): Promise; /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * * @params response Response returned by the server for a request to updateQuota * @throws ApiException if the response code was not in [200, 299] */ updateQuota(response: ResponseContext): Promise; } export interface UsageMeteringApiCreateQuotasRequest { /** * The product-specific namespace whose usage quotas are being managed. * @type string */ quotaNamespace: string; /** * The usage quotas to create or update. * @type UsageQuotasCreateRequest */ body: UsageQuotasCreateRequest; /** * Whether to write every item in the request to the caller's organization and all of its descendant organizations, instead of only the caller's organization. Only descendants in the same datacenter are supported. For a user-handle scope, the quota is applied only to the caller's organization and to descendant organizations where that user handle exists; the item fails only if the handle exists in none of them. * @type boolean */ includeDescendants?: boolean; } export interface UsageMeteringApiDeleteQuotaRequest { /** * The product-specific namespace whose usage quotas are being managed. * @type string */ quotaNamespace: string; /** * The opaque quota identifier returned by a previous list or create request. Clients must pass this value verbatim. * @type string */ id: string; } export interface UsageMeteringApiGetBillingDimensionMappingRequest { /** * Datetime in ISO-8601 format, UTC, and for mappings beginning this month. Defaults to the current month. * @type Date */ filterMonth?: Date; /** * String to specify whether to retrieve active billing dimension mappings for the contract or for all available mappings. Allowed views have the string `active` or `all`. Defaults to `active`. * @type string */ filterView?: string; } export interface UsageMeteringApiGetCostByOrgRequest { /** * Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost beginning this month. * @type Date */ startMonth: Date; /** * Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost ending this month. * @type Date */ endMonth?: Date; } export interface UsageMeteringApiGetEstimatedCostByOrgRequest { /** * String to specify whether cost is broken down at a parent-org level or at the sub-org level. Available views are `summary` and `sub-org`. Defaults to `summary`. * @type string */ view?: string; /** * Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost beginning this month. **Either start_month or start_date should be specified, but not both.** (start_month cannot go beyond two months in the past). Provide an `end_month` to view month-over-month cost. * @type Date */ startMonth?: Date; /** * Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost ending this month. * @type Date */ endMonth?: Date; /** * Datetime in ISO-8601 format, UTC, precise to day: `[YYYY-MM-DD]` for cost beginning this day. **Either start_month or start_date should be specified, but not both.** (start_date cannot go beyond two months in the past). Provide an `end_date` to view day-over-day cumulative cost. * @type Date */ startDate?: Date; /** * Datetime in ISO-8601 format, UTC, precise to day: `[YYYY-MM-DD]` for cost ending this day. * @type Date */ endDate?: Date; /** * Controls how costs are aggregated when using `start_date`. The `cumulative` option returns month-to-date running totals. * @type CostAggregationType */ costAggregation?: CostAggregationType; /** * Boolean to specify whether to include accounts connected to the current account as partner customers in the Datadog partner network program. Defaults to `false`. * @type boolean */ includeConnectedAccounts?: boolean; } export interface UsageMeteringApiGetHistoricalCostByOrgRequest { /** * Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost beginning this month. * @type Date */ startMonth: Date; /** * String to specify whether cost is broken down at a parent-org level or at the sub-org level. Available views are `summary` and `sub-org`. Defaults to `summary`. * @type string */ view?: string; /** * Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost ending this month. * @type Date */ endMonth?: Date; /** * Boolean to specify whether to include accounts connected to the current account as partner customers in the Datadog partner network program. Defaults to `false`. * @type boolean */ includeConnectedAccounts?: boolean; } export interface UsageMeteringApiGetHourlyUsageRequest { /** * Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour. * @type Date */ filterTimestampStart: Date; /** * Comma separated list of product families to retrieve. Available families are `all`, `ai`, `analyzed_logs`, * `application_performance_monitoring`, `application_security`, `audit_trail`, `bits_ai`, `serverless`, `ci_app`, * `cloud_cost_management`, `cloud_siem`, `csm_container_enterprise`, `csm_host_enterprise`, `csm_host_pro`, `cspm`, * `custom_events`, `cws`, `data_observability`, `dbm`, `digital_experience_management`, `error_tracking`, * `fargate`, `infra_hosts`, `incident_management`, `indexed_logs`, `indexed_spans`, `infrastructure_monitoring`, * `ingested_spans`, `iot`, `lambda_traced_invocations`, `llm_observability`, `log_management`, `logs`, * `network_flows`, `network_hosts`, `network_monitoring`, `observability_pipelines`, `online_archive`, * `platform_capabilities`, `product_analytics`, `profiling`, `rum`, `rum_browser_sessions`, `rum_mobile_sessions`, * `sds`, `security`, `snmp`, `software_delivery`, `synthetics_api`, `synthetics_browser`, * `synthetics_mobile`, `synthetics_parallel_testing`, `timeseries`, `vuln_management` and `workflow_executions`. * The following product family has been **deprecated**: `audit_logs`. * @type string */ filterProductFamilies: string; /** * Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour. * @type Date */ filterTimestampEnd?: Date; /** * Include child org usage in the response. Defaults to false. * @type boolean */ filterIncludeDescendants?: boolean; /** * Boolean to specify whether to include accounts connected to the current account as partner customers in the Datadog partner network program. Defaults to false. * @type boolean */ filterIncludeConnectedAccounts?: boolean; /** * Include breakdown of usage by subcategories where applicable (for product family logs only). Defaults to false. * @type boolean */ filterIncludeBreakdown?: boolean; /** * Comma separated list of product family versions to use in the format `product_family:version`. For example, * `infra_hosts:1.0.0`. If this parameter is not used, the API will use the latest version of each requested * product family. Currently all families have one version `1.0.0`. * @type string */ filterVersions?: string; /** * Maximum number of results to return (between 1 and 500) - defaults to 500 if limit not specified. * @type number */ pageLimit?: number; /** * List following results with a next_record_id provided in the previous query. * @type string */ pageNextRecordId?: string; } export interface UsageMeteringApiGetMonthlyCostAttributionRequest { /** * Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost beginning in this month. * @type Date */ startMonth: Date; /** * Comma-separated list specifying cost types (e.g., `_on_demand_cost`, `_committed_cost`, `_total_cost`) and the * proportions (`_percentage_in_org`, `_percentage_in_account`). Use `*` to retrieve all fields. * Example: `infra_host_on_demand_cost,infra_host_percentage_in_account` * To obtain the complete list of active billing dimensions that can be used to replace * `` in the field names, make a request to the [Get active billing dimensions API](https://docs.datadoghq.com/api/latest/usage-metering/#get-active-billing-dimensions-for-cost-attribution). * @type string */ fields: string; /** * Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost ending this month. * @type Date */ endMonth?: Date; /** * The direction to sort by: `[desc, asc]`. * @type SortDirection */ sortDirection?: SortDirection; /** * The billing dimension to sort by. Always sorted by total cost. Example: `infra_host`. * @type string */ sortName?: string; /** * Comma separated list of tag keys used to group cost. If no value is provided the cost will not be broken down by tags. * To see which tags are available, look for the value of `tag_config_source` in the API response. * @type string */ tagBreakdownKeys?: string; /** * List following results with a next_record_id provided in the previous query. * @type string */ nextRecordId?: string; /** * Include child org cost in the response. Defaults to `true`. * @type boolean */ includeDescendants?: boolean; } export interface UsageMeteringApiGetProjectedCostRequest { /** * String to specify whether cost is broken down at a parent-org level or at the sub-org level. Available views are `summary` and `sub-org`. Defaults to `summary`. * @type string */ view?: string; /** * Boolean to specify whether to include accounts connected to the current account as partner customers in the Datadog partner network program. Defaults to `false`. * @type boolean */ includeConnectedAccounts?: boolean; } export interface UsageMeteringApiGetUsageApplicationSecurityMonitoringRequest { /** * Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour. * @type Date */ startHr: Date; /** * Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending * **before** this hour. * @type Date */ endHr?: Date; } export interface UsageMeteringApiGetUsageLambdaTracedInvocationsRequest { /** * Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour. * @type Date */ startHr: Date; /** * Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending * **before** this hour. * @type Date */ endHr?: Date; } export interface UsageMeteringApiGetUsageObservabilityPipelinesRequest { /** * Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour. * @type Date */ startHr: Date; /** * Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending * **before** this hour. * @type Date */ endHr?: Date; } export interface UsageMeteringApiListQuotasRequest { /** * The product-specific namespace whose usage quotas are being managed. * @type string */ quotaNamespace: string; /** * Whether to include quotas configured on descendant organizations in the caller's organization hierarchy. Only descendants in the same datacenter are supported. * @type boolean */ includeDescendants?: boolean; /** * An opaque cursor from a previous response's `meta.page.next_cursor` used to retrieve the next page. * @type string */ pageCursor?: string; /** * The number of usage quotas to return per page. * @type number */ pageLimit?: number; } export interface UsageMeteringApiUpdateQuotaRequest { /** * The product-specific namespace whose usage quotas are being managed. * @type string */ quotaNamespace: string; /** * The opaque quota identifier returned by a previous list or create request. Clients must pass this value verbatim. * @type string */ id: string; /** * The usage quota fields to update. Omitting an attribute leaves its current value unchanged. * @type UsageQuotaUpdateRequest */ body: UsageQuotaUpdateRequest; } export declare class UsageMeteringApi { private requestFactory; private responseProcessor; private configuration; constructor(configuration: Configuration, requestFactory?: UsageMeteringApiRequestFactory, responseProcessor?: UsageMeteringApiResponseProcessor); /** * Creates or updates one or more usage quotas by scope. If a quota already exists for a supplied scope, it is updated; otherwise, a new quota is created. Requires the `billing_edit` permission. * @param param The request object */ createQuotas(param: UsageMeteringApiCreateQuotasRequest, options?: Configuration): Promise; /** * Deletes a usage quota by its opaque identifier. The quota must belong to the caller's organization or one of its descendants, and its opaque identifier must belong to the requested quota namespace. Requires the `billing_edit` permission. * @param param The request object */ deleteQuota(param: UsageMeteringApiDeleteQuotaRequest, options?: Configuration): Promise; /** * Get active billing dimensions for cost attribution. Cost data for a given month becomes available no later than the 19th of the following month. * @param param The request object */ getActiveBillingDimensions(options?: Configuration): Promise; /** * Get a mapping of billing dimensions to the corresponding keys for the supported usage metering public API endpoints. * Mapping data is updated on a monthly cadence. * * This endpoint is only accessible to [parent-level organizations](https://docs.datadoghq.com/account_management/multi_organization/). * @param param The request object */ getBillingDimensionMapping(param?: UsageMeteringApiGetBillingDimensionMappingRequest, options?: Configuration): Promise; /** * Get cost across multi-org account. * Cost by org data for a given month becomes available no later than the 16th of the following month. * **Note:** This endpoint has been deprecated. Please use the new endpoint * [`/historical_cost`](https://docs.datadoghq.com/api/latest/usage-metering/#get-historical-cost-across-your-account) * instead. * * This endpoint is only accessible for [parent-level organizations](https://docs.datadoghq.com/account_management/multi_organization/). * @param param The request object */ getCostByOrg(param: UsageMeteringApiGetCostByOrgRequest, options?: Configuration): Promise; /** * Get estimated cost across multi-org and single root-org accounts. * Estimated cost data is only available for the current month and previous month * and is delayed by up to 72 hours from when it was incurred. * To access historical costs prior to this, use the `/historical_cost` endpoint. * * This endpoint is only accessible for [parent-level organizations](https://docs.datadoghq.com/account_management/multi_organization/). * @param param The request object */ getEstimatedCostByOrg(param?: UsageMeteringApiGetEstimatedCostByOrgRequest, options?: Configuration): Promise; /** * Get historical cost across multi-org and single root-org accounts. * Cost data for a given month becomes available no later than the 16th of the following month. * * This endpoint is only accessible for [parent-level organizations](https://docs.datadoghq.com/account_management/multi_organization/). * @param param The request object */ getHistoricalCostByOrg(param: UsageMeteringApiGetHistoricalCostByOrgRequest, options?: Configuration): Promise; /** * Get hourly usage by product family. * @param param The request object */ getHourlyUsage(param: UsageMeteringApiGetHourlyUsageRequest, options?: Configuration): Promise; /** * Get monthly cost attribution by tag across multi-org and single root-org accounts. * Cost Attribution data for a given month becomes available no later than the 19th of the following month. * This API endpoint is paginated. To make sure you receive all records, check if the value of `next_record_id` is * set in the response. If it is, make another request and pass `next_record_id` as a parameter. * Pseudo code example: * ``` * response := GetMonthlyCostAttribution(start_month, end_month) * cursor := response.metadata.pagination.next_record_id * WHILE cursor != null BEGIN * sleep(5 seconds) # Avoid running into rate limit * response := GetMonthlyCostAttribution(start_month, end_month, next_record_id=cursor) * cursor := response.metadata.pagination.next_record_id * END * ``` * * This endpoint is only accessible for [parent-level organizations](https://docs.datadoghq.com/account_management/multi_organization/). This endpoint is not available in the Government (US1-FED) site. * @param param The request object */ getMonthlyCostAttribution(param: UsageMeteringApiGetMonthlyCostAttributionRequest, options?: Configuration): Promise; /** * Get projected cost across multi-org and single root-org accounts. * Projected cost data is only available for the current month and becomes available around the 12th of the month. * * This endpoint is only accessible for [parent-level organizations](https://docs.datadoghq.com/account_management/multi_organization/). * @param param The request object */ getProjectedCost(param?: UsageMeteringApiGetProjectedCostRequest, options?: Configuration): Promise; /** * Get hourly usage for application security . * **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family) * @param param The request object */ getUsageApplicationSecurityMonitoring(param: UsageMeteringApiGetUsageApplicationSecurityMonitoringRequest, options?: Configuration): Promise; /** * Get usage attribution types. * @param param The request object */ getUsageAttributionTypes(options?: Configuration): Promise; /** * Get hourly usage for Lambda traced invocations. * **Note:** This endpoint has been deprecated.. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family) * @param param The request object */ getUsageLambdaTracedInvocations(param: UsageMeteringApiGetUsageLambdaTracedInvocationsRequest, options?: Configuration): Promise; /** * Get hourly usage for observability pipelines. * **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family) * @param param The request object */ getUsageObservabilityPipelines(param: UsageMeteringApiGetUsageObservabilityPipelinesRequest, options?: Configuration): Promise; /** * List the field names returned by `GET /api/v1/usage/summary` at each of its * three response levels. Each list contains every key the data endpoint * emits—both typed fields declared in the OpenAPI spec and untyped keys * exposed through `additionalProperties` (the latter used for billing * dimensions and usage types added after the v1 schema freeze). * * This endpoint is only accessible for [parent-level organizations](https://docs.datadoghq.com/account_management/multi_organization/). * * Go example: * * ```go * fields, _, err := api.GetUsageSummaryAvailableFields(ctx) * attr := fields.Data.GetAttributes() * * // resp is the *UsageSummaryResponse returned by api.GetUsageSummary(ctx, ...) * // Layer 1: UsageSummaryResponse * for _, key := range attr.GetResponseFields() { * if val, ok := resp.AdditionalProperties[key]; ok { * fmt.Println(key, val.(json.Number)) * } * } * // Layer 2: UsageSummaryDate (per month) * for _, date := range resp.GetUsage() { * for _, key := range attr.GetDateFields() { * if val, ok := date.AdditionalProperties[key]; ok { * fmt.Println(key, val.(json.Number)) * } * } * // Layer 3: UsageSummaryDateOrg (per org per month) * for _, org := range date.GetOrgs() { * for _, key := range attr.GetDateOrgFields() { * if val, ok := org.AdditionalProperties[key]; ok { * fmt.Println(key, val.(json.Number)) * } * } * } * } * ``` * @param param The request object */ getUsageSummaryAvailableFields(options?: Configuration): Promise; /** * Lists usage quotas for the caller's organization in a quota namespace. You can optionally include * descendant organizations in the same datacenter as the caller. Requires the `billing_read` or * `billing_edit` permission. * @param param The request object */ listQuotas(param: UsageMeteringApiListQuotasRequest, options?: Configuration): Promise; /** * Provide a paginated version of listQuotas returning a generator with all the items. */ listQuotasWithPagination(param: UsageMeteringApiListQuotasRequest, options?: Configuration): AsyncGenerator; /** * Updates the supplied fields on a usage quota and leaves omitted fields unchanged. The quota must belong to the caller's organization or one of its descendants, and its opaque identifier must belong to the requested quota namespace. Requires the `billing_edit` permission. * @param param The request object */ updateQuota(param: UsageMeteringApiUpdateQuotaRequest, options?: Configuration): Promise; }