Skip to content

Commit fa580ed

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Widgets API - add complete create/update example for cloud_cost_summary (#3789)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent 4d864a9 commit fa580ed

2 files changed

Lines changed: 97 additions & 14 deletions

File tree

.generator/schemas/v2/openapi.yaml

Lines changed: 61 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -134587,16 +134587,45 @@ paths:
134587134587
application/json:
134588134588
examples:
134589134589
default:
134590+
summary: CCM cost summary widget
134590134591
value:
134591134592
data:
134592134593
attributes:
134593134594
definition:
134594-
title: My Widget
134595-
type: bar_chart
134595+
graph_options:
134596+
- type: query_value
134597+
view: total
134598+
- type: query_value
134599+
view: change
134600+
- display_type: bars
134601+
type: timeseries
134602+
- type: cloud_cost_table
134603+
view: summary
134604+
requests:
134605+
- formulas:
134606+
- formula: query1
134607+
queries:
134608+
- data_source: cloud_cost
134609+
name: query1
134610+
query: sum:aws.cost.amortized{*} by {aws_product}.rollup(sum, daily)
134611+
response_format: timeseries
134612+
time:
134613+
type: live
134614+
unit: day
134615+
value: 30
134616+
title: AWS spend by service (last 30 days)
134617+
type: cloud_cost_summary
134618+
tags: ["finops", "aws"]
134596134619
type: widgets
134597134620
schema:
134598134621
$ref: "#/components/schemas/CreateOrUpdateWidgetRequest"
134599-
description: Widget request body.
134622+
description: |-
134623+
Widget request body. The `definition` object's required fields vary
134624+
by `widget.definition.type`: every type requires `requests`, and
134625+
some types require additional fields (e.g. `cloud_cost_summary`
134626+
requires `graph_options`, `geomap` requires `style` and `view`).
134627+
The example below shows a complete `cloud_cost_summary` payload
134628+
for the `ccm_reports` experience type.
134600134629
required: true
134601134630
responses:
134602134631
"200":
@@ -134766,16 +134795,42 @@ paths:
134766134795
application/json:
134767134796
examples:
134768134797
default:
134798+
summary: CCM cost summary widget
134769134799
value:
134770134800
data:
134771134801
attributes:
134772134802
definition:
134773-
title: My Widget
134774-
type: bar_chart
134803+
graph_options:
134804+
- type: query_value
134805+
view: total
134806+
- type: query_value
134807+
view: change
134808+
- display_type: bars
134809+
type: timeseries
134810+
- type: cloud_cost_table
134811+
view: summary
134812+
requests:
134813+
- formulas:
134814+
- formula: query1
134815+
queries:
134816+
- data_source: cloud_cost
134817+
name: query1
134818+
query: sum:aws.cost.amortized{*} by {aws_product}.rollup(sum, daily)
134819+
response_format: timeseries
134820+
time:
134821+
type: live
134822+
unit: day
134823+
value: 30
134824+
title: AWS spend by service (last 30 days)
134825+
type: cloud_cost_summary
134826+
tags: ["finops", "aws"]
134775134827
type: widgets
134776134828
schema:
134777134829
$ref: "#/components/schemas/CreateOrUpdateWidgetRequest"
134778-
description: Widget request body.
134830+
description: |-
134831+
Widget request body. The `definition` object's required fields vary
134832+
by `widget.definition.type`; see `CreateWidget` above for a complete
134833+
worked payload. Update is a full replacement of the widget definition.
134779134834
required: true
134780134835
responses:
134781134836
"200":

src/main/java/com/datadog/api/client/v2/api/WidgetsApi.java

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,12 @@ public void setApiClient(ApiClient apiClient) {
5555
* <p>See {@link #createWidgetWithHttpInfo}.
5656
*
5757
* @param experienceType The experience type for the widget. (required)
58-
* @param body Widget request body. (required)
58+
* @param body Widget request body. The <code>definition</code> object's required fields vary by
59+
* <code>widget.definition.type</code>: every type requires <code>requests</code>, and some
60+
* types require additional fields (e.g. <code>cloud_cost_summary</code> requires <code>
61+
* graph_options</code>, <code>geomap</code> requires <code>style</code> and <code>view</code>
62+
* ). The example below shows a complete <code>cloud_cost_summary</code> payload for the
63+
* <code>ccm_reports</code> experience type. (required)
5964
* @return WidgetResponse
6065
* @throws ApiException if fails to make API call
6166
*/
@@ -70,7 +75,12 @@ public WidgetResponse createWidget(
7075
* <p>See {@link #createWidgetWithHttpInfoAsync}.
7176
*
7277
* @param experienceType The experience type for the widget. (required)
73-
* @param body Widget request body. (required)
78+
* @param body Widget request body. The <code>definition</code> object's required fields vary by
79+
* <code>widget.definition.type</code>: every type requires <code>requests</code>, and some
80+
* types require additional fields (e.g. <code>cloud_cost_summary</code> requires <code>
81+
* graph_options</code>, <code>geomap</code> requires <code>style</code> and <code>view</code>
82+
* ). The example below shows a complete <code>cloud_cost_summary</code> payload for the
83+
* <code>ccm_reports</code> experience type. (required)
7484
* @return CompletableFuture&lt;WidgetResponse&gt;
7585
*/
7686
public CompletableFuture<WidgetResponse> createWidgetAsync(
@@ -86,7 +96,12 @@ public CompletableFuture<WidgetResponse> createWidgetAsync(
8696
* Create a new widget for a given experience type.
8797
*
8898
* @param experienceType The experience type for the widget. (required)
89-
* @param body Widget request body. (required)
99+
* @param body Widget request body. The <code>definition</code> object's required fields vary by
100+
* <code>widget.definition.type</code>: every type requires <code>requests</code>, and some
101+
* types require additional fields (e.g. <code>cloud_cost_summary</code> requires <code>
102+
* graph_options</code>, <code>geomap</code> requires <code>style</code> and <code>view</code>
103+
* ). The example below shows a complete <code>cloud_cost_summary</code> payload for the
104+
* <code>ccm_reports</code> experience type. (required)
90105
* @return ApiResponse&lt;WidgetResponse&gt;
91106
* @throws ApiException if fails to make API call
92107
* @http.response.details
@@ -149,7 +164,12 @@ public ApiResponse<WidgetResponse> createWidgetWithHttpInfo(
149164
* <p>See {@link #createWidgetWithHttpInfo}.
150165
*
151166
* @param experienceType The experience type for the widget. (required)
152-
* @param body Widget request body. (required)
167+
* @param body Widget request body. The <code>definition</code> object's required fields vary by
168+
* <code>widget.definition.type</code>: every type requires <code>requests</code>, and some
169+
* types require additional fields (e.g. <code>cloud_cost_summary</code> requires <code>
170+
* graph_options</code>, <code>geomap</code> requires <code>style</code> and <code>view</code>
171+
* ). The example below shows a complete <code>cloud_cost_summary</code> payload for the
172+
* <code>ccm_reports</code> experience type. (required)
153173
* @return CompletableFuture&lt;ApiResponse&lt;WidgetResponse&gt;&gt;
154174
*/
155175
public CompletableFuture<ApiResponse<WidgetResponse>> createWidgetWithHttpInfoAsync(
@@ -859,7 +879,9 @@ public CompletableFuture<ApiResponse<WidgetListResponse>> searchWidgetsWithHttpI
859879
*
860880
* @param experienceType The experience type for the widget. (required)
861881
* @param uuid The UUID of the widget. (required)
862-
* @param body Widget request body. (required)
882+
* @param body Widget request body. The <code>definition</code> object's required fields vary by
883+
* <code>widget.definition.type</code>; see <code>CreateWidget</code> above for a complete
884+
* worked payload. Update is a full replacement of the widget definition. (required)
863885
* @return WidgetResponse
864886
* @throws ApiException if fails to make API call
865887
*/
@@ -876,7 +898,9 @@ public WidgetResponse updateWidget(
876898
*
877899
* @param experienceType The experience type for the widget. (required)
878900
* @param uuid The UUID of the widget. (required)
879-
* @param body Widget request body. (required)
901+
* @param body Widget request body. The <code>definition</code> object's required fields vary by
902+
* <code>widget.definition.type</code>; see <code>CreateWidget</code> above for a complete
903+
* worked payload. Update is a full replacement of the widget definition. (required)
880904
* @return CompletableFuture&lt;WidgetResponse&gt;
881905
*/
882906
public CompletableFuture<WidgetResponse> updateWidgetAsync(
@@ -894,7 +918,9 @@ public CompletableFuture<WidgetResponse> updateWidgetAsync(
894918
*
895919
* @param experienceType The experience type for the widget. (required)
896920
* @param uuid The UUID of the widget. (required)
897-
* @param body Widget request body. (required)
921+
* @param body Widget request body. The <code>definition</code> object's required fields vary by
922+
* <code>widget.definition.type</code>; see <code>CreateWidget</code> above for a complete
923+
* worked payload. Update is a full replacement of the widget definition. (required)
898924
* @return ApiResponse&lt;WidgetResponse&gt;
899925
* @throws ApiException if fails to make API call
900926
* @http.response.details
@@ -967,7 +993,9 @@ public ApiResponse<WidgetResponse> updateWidgetWithHttpInfo(
967993
*
968994
* @param experienceType The experience type for the widget. (required)
969995
* @param uuid The UUID of the widget. (required)
970-
* @param body Widget request body. (required)
996+
* @param body Widget request body. The <code>definition</code> object's required fields vary by
997+
* <code>widget.definition.type</code>; see <code>CreateWidget</code> above for a complete
998+
* worked payload. Update is a full replacement of the widget definition. (required)
971999
* @return CompletableFuture&lt;ApiResponse&lt;WidgetResponse&gt;&gt;
9721000
*/
9731001
public CompletableFuture<ApiResponse<WidgetResponse>> updateWidgetWithHttpInfoAsync(

0 commit comments

Comments
 (0)