datadog_api_client 1.0.0.beta.3 → 1.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.
Files changed (245) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.azure-pipelines/all.yml +0 -1
  4. data/.rubocop.yml +1 -1
  5. data/CHANGELOG.md +23 -0
  6. data/Gemfile +1 -1
  7. data/LICENSE-3rdparty.csv +0 -1
  8. data/check-examples.sh +7 -2
  9. data/data/v1/openapi.yaml +1963 -245
  10. data/data/v2/openapi.yaml +67 -13
  11. data/docs/v1/DashboardsAPI.md +10 -5
  12. data/docs/v1/DistributionWidgetDefinition.md +9 -3
  13. data/docs/v1/DistributionWidgetXAxis.md +24 -0
  14. data/docs/v1/DistributionWidgetYAxis.md +26 -0
  15. data/docs/v1/EventsAPI.md +7 -3
  16. data/docs/v1/GroupWidgetDefinition.md +8 -0
  17. data/docs/v1/ImageWidgetDefinition.md +11 -1
  18. data/docs/v1/LogsByRetention.md +22 -0
  19. data/docs/v1/LogsByRetentionMonthlyUsage.md +20 -0
  20. data/docs/v1/LogsByRetentionOrgUsage.md +18 -0
  21. data/docs/v1/LogsByRetentionOrgs.md +18 -0
  22. data/docs/v1/LogsRetentionAggSumUsage.md +24 -0
  23. data/docs/v1/LogsRetentionSumUsage.md +24 -0
  24. data/docs/v1/MonitorsAPI.md +1 -1
  25. data/docs/v1/NoteWidgetDefinition.md +5 -1
  26. data/docs/v1/NotebookAbsoluteTime.md +22 -0
  27. data/docs/v1/NotebookAuthor.md +34 -0
  28. data/docs/v1/NotebookCellCreateRequest.md +20 -0
  29. data/docs/v1/NotebookCellCreateRequestAttributes.md +57 -0
  30. data/docs/v1/NotebookCellResourceType.md +15 -0
  31. data/docs/v1/NotebookCellResponse.md +22 -0
  32. data/docs/v1/NotebookCellResponseAttributes.md +57 -0
  33. data/docs/v1/NotebookCellTime.md +49 -0
  34. data/docs/v1/NotebookCellUpdateRequest.md +22 -0
  35. data/docs/v1/NotebookCellUpdateRequestAttributes.md +57 -0
  36. data/docs/v1/NotebookCreateData.md +20 -0
  37. data/docs/v1/NotebookCreateDataAttributes.md +24 -0
  38. data/docs/v1/NotebookCreateRequest.md +18 -0
  39. data/docs/v1/NotebookDistributionCellAttributes.md +24 -0
  40. data/docs/v1/NotebookGlobalTime.md +49 -0
  41. data/docs/v1/NotebookGraphSize.md +15 -0
  42. data/docs/v1/NotebookHeatMapCellAttributes.md +24 -0
  43. data/docs/v1/NotebookLogStreamCellAttributes.md +22 -0
  44. data/docs/v1/NotebookMarkdownCellAttributes.md +18 -0
  45. data/docs/v1/NotebookMarkdownCellDefinition.md +21 -0
  46. data/docs/v1/NotebookMarkdownCellDefinitionType.md +15 -0
  47. data/docs/v1/NotebookRelativeTime.md +18 -0
  48. data/docs/v1/NotebookResourceType.md +15 -0
  49. data/docs/v1/NotebookResponse.md +18 -0
  50. data/docs/v1/NotebookResponseData.md +22 -0
  51. data/docs/v1/NotebookResponseDataAttributes.md +30 -0
  52. data/docs/v1/NotebookSplitBy.md +20 -0
  53. data/docs/v1/NotebookStatus.md +15 -0
  54. data/docs/v1/NotebookTimeseriesCellAttributes.md +24 -0
  55. data/docs/v1/NotebookToplistCellAttributes.md +24 -0
  56. data/docs/v1/NotebookUpdateCell.md +49 -0
  57. data/docs/v1/NotebookUpdateData.md +20 -0
  58. data/docs/v1/NotebookUpdateDataAttributes.md +24 -0
  59. data/docs/v1/NotebookUpdateRequest.md +18 -0
  60. data/docs/v1/NotebooksAPI.md +339 -0
  61. data/docs/v1/NotebooksResponse.md +20 -0
  62. data/docs/v1/NotebooksResponseMeta.md +18 -0
  63. data/docs/v1/NotebooksResponsePage.md +20 -0
  64. data/docs/v1/README.md +66 -9
  65. data/docs/v1/SLOListResponse.md +3 -1
  66. data/docs/v1/SLOListResponseMetadata.md +18 -0
  67. data/docs/v1/SLOListResponseMetadataPage.md +20 -0
  68. data/docs/v1/SLOResponse.md +1 -1
  69. data/docs/v1/SLOResponseData.md +44 -0
  70. data/docs/v1/ServiceLevelObjectivesAPI.md +8 -4
  71. data/docs/v1/SyntheticsAPI.md +28 -156
  72. data/docs/v1/SyntheticsAPIStep.md +4 -0
  73. data/docs/v1/SyntheticsBrowserTestConfig.md +2 -0
  74. data/docs/v1/SyntheticsTestConfig.md +1 -1
  75. data/docs/v1/SyntheticsTestOptions.md +1 -1
  76. data/docs/v1/SyntheticsTestRequest.md +6 -0
  77. data/docs/v1/UsageAttributionSupportedMetrics.md +15 -0
  78. data/docs/v1/UsageAttributionValues.md +8 -0
  79. data/docs/v1/UsageHostHour.md +3 -1
  80. data/docs/v1/UsageIoTHour.md +1 -1
  81. data/docs/v1/UsageLogsByRetentionHour.md +24 -0
  82. data/docs/v1/UsageLogsByRetentionResponse.md +18 -0
  83. data/docs/v1/UsageMeteringAPI.md +69 -2
  84. data/docs/v1/UsageSummaryDate.md +11 -9
  85. data/docs/v1/UsageSummaryDateOrg.md +3 -1
  86. data/docs/v1/UsageSummaryResponse.md +5 -1
  87. data/docs/v1/WidgetHorizontalAlign.md +15 -0
  88. data/docs/v1/WidgetLayout.md +2 -0
  89. data/docs/v1/WidgetMarker.md +1 -1
  90. data/docs/v1/WidgetVerticalAlign.md +15 -0
  91. data/docs/v2/IncidentServiceUpdateData.md +1 -1
  92. data/docs/v2/IncidentServicesAPI.md +1 -1
  93. data/docs/v2/IncidentTeamUpdateData.md +1 -1
  94. data/docs/v2/IncidentTeamsAPI.md +1 -1
  95. data/docs/v2/MetricsAPI.md +1 -11
  96. data/extract-code-blocks.sh +6 -2
  97. data/lib/datadog_api_client/v1.rb +54 -0
  98. data/lib/datadog_api_client/v1/api/dashboards_api.rb +3 -0
  99. data/lib/datadog_api_client/v1/api/events_api.rb +14 -4
  100. data/lib/datadog_api_client/v1/api/monitors_api.rb +2 -2
  101. data/lib/datadog_api_client/v1/api/notebooks_api.rb +418 -0
  102. data/lib/datadog_api_client/v1/api/service_level_objectives_api.rb +3 -0
  103. data/lib/datadog_api_client/v1/api/synthetics_api.rb +14 -170
  104. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +79 -2
  105. data/lib/datadog_api_client/v1/models/distribution_widget_definition.rb +36 -6
  106. data/lib/datadog_api_client/v1/models/distribution_widget_x_axis.rb +259 -0
  107. data/lib/datadog_api_client/v1/models/distribution_widget_y_axis.rb +269 -0
  108. data/lib/datadog_api_client/v1/models/group_widget_definition.rb +42 -1
  109. data/lib/datadog_api_client/v1/models/image_widget_definition.rb +56 -4
  110. data/lib/datadog_api_client/v1/models/logs_by_retention.rb +243 -0
  111. data/lib/datadog_api_client/v1/models/logs_by_retention_monthly_usage.rb +235 -0
  112. data/lib/datadog_api_client/v1/models/logs_by_retention_org_usage.rb +225 -0
  113. data/lib/datadog_api_client/v1/models/logs_by_retention_orgs.rb +225 -0
  114. data/lib/datadog_api_client/v1/models/logs_retention_agg_sum_usage.rb +253 -0
  115. data/lib/datadog_api_client/v1/models/logs_retention_sum_usage.rb +253 -0
  116. data/lib/datadog_api_client/v1/models/note_widget_definition.rb +25 -4
  117. data/lib/datadog_api_client/v1/models/notebook_absolute_time.rb +253 -0
  118. data/lib/datadog_api_client/v1/models/notebook_author.rb +303 -0
  119. data/lib/datadog_api_client/v1/models/notebook_cell_create_request.rb +243 -0
  120. data/lib/datadog_api_client/v1/models/notebook_cell_create_request_attributes.rb +113 -0
  121. data/lib/datadog_api_client/v1/models/notebook_cell_resource_type.rb +39 -0
  122. data/lib/datadog_api_client/v1/models/notebook_cell_response.rb +258 -0
  123. data/lib/datadog_api_client/v1/models/notebook_cell_response_attributes.rb +113 -0
  124. data/lib/datadog_api_client/v1/models/notebook_cell_time.rb +109 -0
  125. data/lib/datadog_api_client/v1/models/notebook_cell_update_request.rb +258 -0
  126. data/lib/datadog_api_client/v1/models/notebook_cell_update_request_attributes.rb +113 -0
  127. data/lib/datadog_api_client/v1/models/notebook_create_data.rb +243 -0
  128. data/lib/datadog_api_client/v1/models/notebook_create_data_attributes.rb +298 -0
  129. data/lib/datadog_api_client/v1/models/notebook_create_request.rb +227 -0
  130. data/lib/datadog_api_client/v1/models/notebook_distribution_cell_attributes.rb +255 -0
  131. data/lib/datadog_api_client/v1/models/notebook_global_time.rb +109 -0
  132. data/lib/datadog_api_client/v1/models/notebook_graph_size.rb +43 -0
  133. data/lib/datadog_api_client/v1/models/notebook_heat_map_cell_attributes.rb +255 -0
  134. data/lib/datadog_api_client/v1/models/notebook_log_stream_cell_attributes.rb +246 -0
  135. data/lib/datadog_api_client/v1/models/notebook_markdown_cell_attributes.rb +227 -0
  136. data/lib/datadog_api_client/v1/models/notebook_markdown_cell_definition.rb +244 -0
  137. data/lib/datadog_api_client/v1/models/notebook_markdown_cell_definition_type.rb +39 -0
  138. data/lib/datadog_api_client/v1/models/notebook_relative_time.rb +227 -0
  139. data/lib/datadog_api_client/v1/models/notebook_resource_type.rb +39 -0
  140. data/lib/datadog_api_client/v1/models/notebook_response.rb +222 -0
  141. data/lib/datadog_api_client/v1/models/notebook_response_data.rb +258 -0
  142. data/lib/datadog_api_client/v1/models/notebook_response_data_attributes.rb +327 -0
  143. data/lib/datadog_api_client/v1/models/notebook_split_by.rb +247 -0
  144. data/lib/datadog_api_client/v1/models/notebook_status.rb +39 -0
  145. data/lib/datadog_api_client/v1/models/notebook_timeseries_cell_attributes.rb +255 -0
  146. data/lib/datadog_api_client/v1/models/notebook_toplist_cell_attributes.rb +255 -0
  147. data/lib/datadog_api_client/v1/models/notebook_update_cell.rb +109 -0
  148. data/lib/datadog_api_client/v1/models/notebook_update_data.rb +243 -0
  149. data/lib/datadog_api_client/v1/models/notebook_update_data_attributes.rb +298 -0
  150. data/lib/datadog_api_client/v1/models/notebook_update_request.rb +227 -0
  151. data/lib/datadog_api_client/v1/models/notebooks_response.rb +234 -0
  152. data/lib/datadog_api_client/v1/models/notebooks_response_meta.rb +222 -0
  153. data/lib/datadog_api_client/v1/models/notebooks_response_page.rb +233 -0
  154. data/lib/datadog_api_client/v1/models/slo_list_response.rb +13 -4
  155. data/lib/datadog_api_client/v1/models/slo_list_response_metadata.rb +222 -0
  156. data/lib/datadog_api_client/v1/models/slo_list_response_metadata_page.rb +233 -0
  157. data/lib/datadog_api_client/v1/models/slo_response.rb +1 -1
  158. data/lib/datadog_api_client/v1/models/slo_response_data.rb +363 -0
  159. data/lib/datadog_api_client/v1/models/synthetics_api_step.rb +21 -1
  160. data/lib/datadog_api_client/v1/models/synthetics_assertion_type.rb +4 -0
  161. data/lib/datadog_api_client/v1/models/synthetics_browser_test_config.rb +11 -1
  162. data/lib/datadog_api_client/v1/models/synthetics_test_config.rb +0 -5
  163. data/lib/datadog_api_client/v1/models/synthetics_test_details_sub_type.rb +1 -0
  164. data/lib/datadog_api_client/v1/models/synthetics_test_options.rb +1 -1
  165. data/lib/datadog_api_client/v1/models/synthetics_test_request.rb +79 -1
  166. data/lib/datadog_api_client/v1/models/synthetics_tick_interval.rb +1 -0
  167. data/lib/datadog_api_client/v1/models/usage_attribution_supported_metrics.rb +67 -0
  168. data/lib/datadog_api_client/v1/models/usage_attribution_values.rb +41 -1
  169. data/lib/datadog_api_client/v1/models/usage_host_hour.rb +14 -4
  170. data/lib/datadog_api_client/v1/models/usage_io_t_hour.rb +1 -1
  171. data/lib/datadog_api_client/v1/models/usage_logs_by_retention_hour.rb +253 -0
  172. data/lib/datadog_api_client/v1/models/usage_logs_by_retention_response.rb +225 -0
  173. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +38 -28
  174. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +14 -4
  175. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +23 -4
  176. data/lib/datadog_api_client/v1/models/widget.rb +1 -1
  177. data/lib/datadog_api_client/v1/models/widget_horizontal_align.rb +41 -0
  178. data/lib/datadog_api_client/v1/models/widget_image_sizing.rb +5 -0
  179. data/lib/datadog_api_client/v1/models/widget_layout.rb +12 -2
  180. data/lib/datadog_api_client/v1/models/widget_margin.rb +3 -0
  181. data/lib/datadog_api_client/v1/models/widget_marker.rb +1 -1
  182. data/lib/datadog_api_client/v1/models/widget_vertical_align.rb +41 -0
  183. data/lib/datadog_api_client/v2/api/metrics_api.rb +2 -2
  184. data/lib/datadog_api_client/v2/configuration.rb +0 -2
  185. data/lib/datadog_api_client/v2/models/incident_service_update_data.rb +0 -5
  186. data/lib/datadog_api_client/v2/models/incident_team_update_data.rb +0 -5
  187. data/lib/datadog_api_client/v2/models/metric_tag_configuration_metric_types.rb +1 -0
  188. data/lib/datadog_api_client/v2/models/security_monitoring_rule_detection_method.rb +1 -0
  189. data/lib/datadog_api_client/version.rb +1 -1
  190. data/run-tests.sh +0 -6
  191. data/spec/v1/api/notebooks_api_spec.rb +106 -0
  192. data/spec/v1/models/distribution_widget_x_axis_spec.rb +55 -0
  193. data/spec/v1/models/distribution_widget_y_axis_spec.rb +61 -0
  194. data/spec/v1/models/logs_by_retention_monthly_usage_spec.rb +43 -0
  195. data/spec/v1/models/logs_by_retention_org_usage_spec.rb +37 -0
  196. data/spec/v1/models/logs_by_retention_orgs_spec.rb +37 -0
  197. data/spec/v1/models/logs_by_retention_spec.rb +49 -0
  198. data/spec/v1/models/logs_retention_agg_sum_usage_spec.rb +55 -0
  199. data/spec/v1/models/logs_retention_sum_usage_spec.rb +55 -0
  200. data/spec/v1/models/notebook_absolute_time_spec.rb +49 -0
  201. data/spec/v1/models/notebook_author_spec.rb +85 -0
  202. data/spec/v1/models/notebook_cell_create_request_attributes_spec.rb +34 -0
  203. data/spec/v1/models/notebook_cell_create_request_spec.rb +43 -0
  204. data/spec/v1/models/notebook_cell_resource_type_spec.rb +31 -0
  205. data/spec/v1/models/notebook_cell_response_attributes_spec.rb +34 -0
  206. data/spec/v1/models/notebook_cell_response_spec.rb +49 -0
  207. data/spec/v1/models/notebook_cell_time_spec.rb +34 -0
  208. data/spec/v1/models/notebook_cell_update_request_attributes_spec.rb +34 -0
  209. data/spec/v1/models/notebook_cell_update_request_spec.rb +49 -0
  210. data/spec/v1/models/notebook_create_data_attributes_spec.rb +55 -0
  211. data/spec/v1/models/notebook_create_data_spec.rb +43 -0
  212. data/spec/v1/models/notebook_create_request_spec.rb +37 -0
  213. data/spec/v1/models/notebook_distribution_cell_attributes_spec.rb +55 -0
  214. data/spec/v1/models/notebook_global_time_spec.rb +34 -0
  215. data/spec/v1/models/notebook_graph_size_spec.rb +31 -0
  216. data/spec/v1/models/notebook_heat_map_cell_attributes_spec.rb +55 -0
  217. data/spec/v1/models/notebook_log_stream_cell_attributes_spec.rb +49 -0
  218. data/spec/v1/models/notebook_markdown_cell_attributes_spec.rb +37 -0
  219. data/spec/v1/models/notebook_markdown_cell_definition_spec.rb +43 -0
  220. data/spec/v1/models/notebook_markdown_cell_definition_type_spec.rb +31 -0
  221. data/spec/v1/models/notebook_relative_time_spec.rb +37 -0
  222. data/spec/v1/models/notebook_resource_type_spec.rb +31 -0
  223. data/spec/v1/models/notebook_response_data_attributes_spec.rb +73 -0
  224. data/spec/v1/models/notebook_response_data_spec.rb +49 -0
  225. data/spec/v1/models/notebook_response_spec.rb +37 -0
  226. data/spec/v1/models/notebook_split_by_spec.rb +43 -0
  227. data/spec/v1/models/notebook_status_spec.rb +31 -0
  228. data/spec/v1/models/notebook_timeseries_cell_attributes_spec.rb +55 -0
  229. data/spec/v1/models/notebook_toplist_cell_attributes_spec.rb +55 -0
  230. data/spec/v1/models/notebook_update_cell_spec.rb +34 -0
  231. data/spec/v1/models/notebook_update_data_attributes_spec.rb +55 -0
  232. data/spec/v1/models/notebook_update_data_spec.rb +43 -0
  233. data/spec/v1/models/notebook_update_request_spec.rb +37 -0
  234. data/spec/v1/models/notebooks_response_meta_spec.rb +37 -0
  235. data/spec/v1/models/notebooks_response_page_spec.rb +43 -0
  236. data/spec/v1/models/notebooks_response_spec.rb +43 -0
  237. data/spec/v1/models/slo_list_response_metadata_page_spec.rb +43 -0
  238. data/spec/v1/models/slo_list_response_metadata_spec.rb +37 -0
  239. data/spec/v1/models/slo_response_data_spec.rb +115 -0
  240. data/spec/v1/models/usage_attribution_supported_metrics_spec.rb +31 -0
  241. data/spec/v1/models/usage_logs_by_retention_hour_spec.rb +55 -0
  242. data/spec/v1/models/usage_logs_by_retention_response_spec.rb +37 -0
  243. data/spec/v1/models/widget_horizontal_align_spec.rb +31 -0
  244. data/spec/v1/models/widget_vertical_align_spec.rb +31 -0
  245. metadata +220 -4
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **display_type** | **String** | Combination of: - A severity error, warning, ok, or info - A line type: dashed, solid, or bold | [optional] |
7
+ | **display_type** | **String** | Combination of: - A severity error, warning, ok, or info - A line type: dashed, solid, or bold In this case of a Distribution widget, this can be set to be `x_axis_percentile`. | [optional] |
8
8
  | **label** | **String** | Label to display over the marker. | [optional] |
9
9
  | **time** | **String** | Timestamp for the widget. | [optional] |
10
10
  | **value** | **String** | Value to apply. Can be a single value y = 15 or a range of values 0 < y < 10. | |
@@ -0,0 +1,15 @@
1
+ # DatadogAPIClient::V1::WidgetVerticalAlign
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'datadog_api_client/v1'
12
+
13
+ instance = DatadogAPIClient::V1::WidgetVerticalAlign.new()
14
+ ```
15
+
@@ -5,7 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **attributes** | [**IncidentServiceUpdateAttributes**](IncidentServiceUpdateAttributes.md) | | [optional] |
8
- | **id** | **String** | The incident service's ID. | |
8
+ | **id** | **String** | The incident service's ID. | [optional] |
9
9
  | **relationships** | [**IncidentServiceRelationships**](IncidentServiceRelationships.md) | | [optional] |
10
10
  | **type** | [**IncidentServiceType**](IncidentServiceType.md) | | [default to 'services'] |
11
11
 
@@ -309,7 +309,7 @@ end
309
309
 
310
310
  api_instance = DatadogAPIClient::V2::IncidentServicesAPI.new
311
311
  service_id = 'service_id_example' # String | The ID of the incident service.
312
- body = DatadogAPIClient::V2::IncidentServiceUpdateRequest.new({data: DatadogAPIClient::V2::IncidentServiceUpdateData.new({id: '00000000-0000-0000-0000-000000000000', type: DatadogAPIClient::V2::IncidentServiceType::SERVICES})}) # IncidentServiceUpdateRequest | Incident Service Payload.
312
+ body = DatadogAPIClient::V2::IncidentServiceUpdateRequest.new({data: DatadogAPIClient::V2::IncidentServiceUpdateData.new({type: DatadogAPIClient::V2::IncidentServiceType::SERVICES})}) # IncidentServiceUpdateRequest | Incident Service Payload.
313
313
 
314
314
  begin
315
315
  # Update an existing incident service
@@ -5,7 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **attributes** | [**IncidentTeamUpdateAttributes**](IncidentTeamUpdateAttributes.md) | | [optional] |
8
- | **id** | **String** | The incident team's ID. | |
8
+ | **id** | **String** | The incident team's ID. | [optional] |
9
9
  | **relationships** | [**IncidentTeamRelationships**](IncidentTeamRelationships.md) | | [optional] |
10
10
  | **type** | [**IncidentTeamType**](IncidentTeamType.md) | | [default to 'teams'] |
11
11
 
@@ -309,7 +309,7 @@ end
309
309
 
310
310
  api_instance = DatadogAPIClient::V2::IncidentTeamsAPI.new
311
311
  team_id = 'team_id_example' # String | The ID of the incident team.
312
- body = DatadogAPIClient::V2::IncidentTeamUpdateRequest.new({data: DatadogAPIClient::V2::IncidentTeamUpdateData.new({id: '00000000-0000-0000-0000-000000000000', type: DatadogAPIClient::V2::IncidentTeamType::TEAMS})}) # IncidentTeamUpdateRequest | Incident Team Payload.
312
+ body = DatadogAPIClient::V2::IncidentTeamUpdateRequest.new({data: DatadogAPIClient::V2::IncidentTeamUpdateData.new({type: DatadogAPIClient::V2::IncidentTeamType::TEAMS})}) # IncidentTeamUpdateRequest | Incident Team Payload.
313
313
 
314
314
  begin
315
315
  # Update an existing incident team
@@ -19,7 +19,7 @@ All URIs are relative to *https://api.datadoghq.com*
19
19
 
20
20
  Create a tag configuration
21
21
 
22
- Create and define a list of queryable tag keys for a count/gauge/rate/distribution metric. Optionally, include percentile aggregations on any distribution metric. Can only be used with application keys of users with the `Manage Tags for Metrics` permission.
22
+ Create and define a list of queryable tag keys for an existing count/gauge/rate/distribution metric. Optionally, include percentile aggregations on any distribution metric. Can only be used with application keys of users with the `Manage Tags for Metrics` permission.
23
23
 
24
24
  ### Examples
25
25
 
@@ -306,11 +306,6 @@ View indexed tag key-value pairs for a given metric name.
306
306
 
307
307
  ```ruby
308
308
  require 'datadog_api_client'
309
-
310
- DatadogAPIClient::V2.configure do |config|
311
- config.unstable_operations[:list_tags_by_metric_name] = true
312
- end
313
-
314
309
  api_instance = DatadogAPIClient::V2::MetricsAPI.new
315
310
  metric_name = 'dist.http.endpoint.request' # String | The name of the metric.
316
311
 
@@ -373,11 +368,6 @@ View distinct metrics volumes for the given metric name. Custom distribution me
373
368
 
374
369
  ```ruby
375
370
  require 'datadog_api_client'
376
-
377
- DatadogAPIClient::V2.configure do |config|
378
- config.unstable_operations[:list_volumes_by_metric_name] = true
379
- end
380
-
381
371
  api_instance = DatadogAPIClient::V2::MetricsAPI.new
382
372
  metric_name = 'dist.http.endpoint.request' # String | The name of the metric.
383
373
 
@@ -1,8 +1,12 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  OUTPUT=${1:-examples}
4
+ VERSIONS=${2:-v1,v2}
4
5
 
5
6
  cd ${0%/*}
6
7
 
7
- ls docs/v1/*API.md | xargs -n1 ./extract-code-blocks.awk -v output="${OUTPUT}/v1"
8
- ls docs/v2/*API.md | xargs -n1 ./extract-code-blocks.awk -v output="${OUTPUT}/v2"
8
+ VERSIONS=(${VERSIONS//,/ })
9
+
10
+ for version in "${VERSIONS[@]}"; do
11
+ ls docs/$version/*API.md | grep -v IPPrefixesAPI.md | xargs -n1 ./extract-code-blocks.awk -v output="${OUTPUT}/$version"
12
+ done
@@ -81,6 +81,8 @@ require 'datadog_api_client/v1/models/deleted_monitor'
81
81
  require 'datadog_api_client/v1/models/distribution_widget_definition'
82
82
  require 'datadog_api_client/v1/models/distribution_widget_definition_type'
83
83
  require 'datadog_api_client/v1/models/distribution_widget_request'
84
+ require 'datadog_api_client/v1/models/distribution_widget_x_axis'
85
+ require 'datadog_api_client/v1/models/distribution_widget_y_axis'
84
86
  require 'datadog_api_client/v1/models/downtime'
85
87
  require 'datadog_api_client/v1/models/downtime_recurrence'
86
88
  require 'datadog_api_client/v1/models/event'
@@ -168,6 +170,10 @@ require 'datadog_api_client/v1/models/logs_arithmetic_processor'
168
170
  require 'datadog_api_client/v1/models/logs_arithmetic_processor_type'
169
171
  require 'datadog_api_client/v1/models/logs_attribute_remapper'
170
172
  require 'datadog_api_client/v1/models/logs_attribute_remapper_type'
173
+ require 'datadog_api_client/v1/models/logs_by_retention'
174
+ require 'datadog_api_client/v1/models/logs_by_retention_monthly_usage'
175
+ require 'datadog_api_client/v1/models/logs_by_retention_org_usage'
176
+ require 'datadog_api_client/v1/models/logs_by_retention_orgs'
171
177
  require 'datadog_api_client/v1/models/logs_category_processor'
172
178
  require 'datadog_api_client/v1/models/logs_category_processor_category'
173
179
  require 'datadog_api_client/v1/models/logs_category_processor_type'
@@ -198,6 +204,8 @@ require 'datadog_api_client/v1/models/logs_pipeline_processor_type'
198
204
  require 'datadog_api_client/v1/models/logs_pipelines_order'
199
205
  require 'datadog_api_client/v1/models/logs_processor'
200
206
  require 'datadog_api_client/v1/models/logs_query_compute'
207
+ require 'datadog_api_client/v1/models/logs_retention_agg_sum_usage'
208
+ require 'datadog_api_client/v1/models/logs_retention_sum_usage'
201
209
  require 'datadog_api_client/v1/models/logs_service_remapper'
202
210
  require 'datadog_api_client/v1/models/logs_service_remapper_type'
203
211
  require 'datadog_api_client/v1/models/logs_sort'
@@ -234,6 +242,43 @@ require 'datadog_api_client/v1/models/monitor_type'
234
242
  require 'datadog_api_client/v1/models/monitor_update_request'
235
243
  require 'datadog_api_client/v1/models/note_widget_definition'
236
244
  require 'datadog_api_client/v1/models/note_widget_definition_type'
245
+ require 'datadog_api_client/v1/models/notebook_absolute_time'
246
+ require 'datadog_api_client/v1/models/notebook_author'
247
+ require 'datadog_api_client/v1/models/notebook_cell_create_request'
248
+ require 'datadog_api_client/v1/models/notebook_cell_create_request_attributes'
249
+ require 'datadog_api_client/v1/models/notebook_cell_resource_type'
250
+ require 'datadog_api_client/v1/models/notebook_cell_response'
251
+ require 'datadog_api_client/v1/models/notebook_cell_response_attributes'
252
+ require 'datadog_api_client/v1/models/notebook_cell_time'
253
+ require 'datadog_api_client/v1/models/notebook_cell_update_request'
254
+ require 'datadog_api_client/v1/models/notebook_cell_update_request_attributes'
255
+ require 'datadog_api_client/v1/models/notebook_create_data'
256
+ require 'datadog_api_client/v1/models/notebook_create_data_attributes'
257
+ require 'datadog_api_client/v1/models/notebook_create_request'
258
+ require 'datadog_api_client/v1/models/notebook_distribution_cell_attributes'
259
+ require 'datadog_api_client/v1/models/notebook_global_time'
260
+ require 'datadog_api_client/v1/models/notebook_graph_size'
261
+ require 'datadog_api_client/v1/models/notebook_heat_map_cell_attributes'
262
+ require 'datadog_api_client/v1/models/notebook_log_stream_cell_attributes'
263
+ require 'datadog_api_client/v1/models/notebook_markdown_cell_attributes'
264
+ require 'datadog_api_client/v1/models/notebook_markdown_cell_definition'
265
+ require 'datadog_api_client/v1/models/notebook_markdown_cell_definition_type'
266
+ require 'datadog_api_client/v1/models/notebook_relative_time'
267
+ require 'datadog_api_client/v1/models/notebook_resource_type'
268
+ require 'datadog_api_client/v1/models/notebook_response'
269
+ require 'datadog_api_client/v1/models/notebook_response_data'
270
+ require 'datadog_api_client/v1/models/notebook_response_data_attributes'
271
+ require 'datadog_api_client/v1/models/notebook_split_by'
272
+ require 'datadog_api_client/v1/models/notebook_status'
273
+ require 'datadog_api_client/v1/models/notebook_timeseries_cell_attributes'
274
+ require 'datadog_api_client/v1/models/notebook_toplist_cell_attributes'
275
+ require 'datadog_api_client/v1/models/notebook_update_cell'
276
+ require 'datadog_api_client/v1/models/notebook_update_data'
277
+ require 'datadog_api_client/v1/models/notebook_update_data_attributes'
278
+ require 'datadog_api_client/v1/models/notebook_update_request'
279
+ require 'datadog_api_client/v1/models/notebooks_response'
280
+ require 'datadog_api_client/v1/models/notebooks_response_meta'
281
+ require 'datadog_api_client/v1/models/notebooks_response_page'
237
282
  require 'datadog_api_client/v1/models/organization'
238
283
  require 'datadog_api_client/v1/models/organization_billing'
239
284
  require 'datadog_api_client/v1/models/organization_create_body'
@@ -280,7 +325,10 @@ require 'datadog_api_client/v1/models/slo_history_response_data'
280
325
  require 'datadog_api_client/v1/models/slo_history_response_error'
281
326
  require 'datadog_api_client/v1/models/slo_history_sli_data'
282
327
  require 'datadog_api_client/v1/models/slo_list_response'
328
+ require 'datadog_api_client/v1/models/slo_list_response_metadata'
329
+ require 'datadog_api_client/v1/models/slo_list_response_metadata_page'
283
330
  require 'datadog_api_client/v1/models/slo_response'
331
+ require 'datadog_api_client/v1/models/slo_response_data'
284
332
  require 'datadog_api_client/v1/models/slo_threshold'
285
333
  require 'datadog_api_client/v1/models/slo_timeframe'
286
334
  require 'datadog_api_client/v1/models/slo_type'
@@ -418,6 +466,7 @@ require 'datadog_api_client/v1/models/usage_attribution_metadata'
418
466
  require 'datadog_api_client/v1/models/usage_attribution_pagination'
419
467
  require 'datadog_api_client/v1/models/usage_attribution_response'
420
468
  require 'datadog_api_client/v1/models/usage_attribution_sort'
469
+ require 'datadog_api_client/v1/models/usage_attribution_supported_metrics'
421
470
  require 'datadog_api_client/v1/models/usage_attribution_values'
422
471
  require 'datadog_api_client/v1/models/usage_billable_summary_body'
423
472
  require 'datadog_api_client/v1/models/usage_billable_summary_hour'
@@ -446,6 +495,8 @@ require 'datadog_api_client/v1/models/usage_lambda_hour'
446
495
  require 'datadog_api_client/v1/models/usage_lambda_response'
447
496
  require 'datadog_api_client/v1/models/usage_logs_by_index_hour'
448
497
  require 'datadog_api_client/v1/models/usage_logs_by_index_response'
498
+ require 'datadog_api_client/v1/models/usage_logs_by_retention_hour'
499
+ require 'datadog_api_client/v1/models/usage_logs_by_retention_response'
449
500
  require 'datadog_api_client/v1/models/usage_logs_hour'
450
501
  require 'datadog_api_client/v1/models/usage_logs_response'
451
502
  require 'datadog_api_client/v1/models/usage_metric_category'
@@ -506,6 +557,7 @@ require 'datadog_api_client/v1/models/widget_field_sort'
506
557
  require 'datadog_api_client/v1/models/widget_formula'
507
558
  require 'datadog_api_client/v1/models/widget_formula_limit'
508
559
  require 'datadog_api_client/v1/models/widget_grouping'
560
+ require 'datadog_api_client/v1/models/widget_horizontal_align'
509
561
  require 'datadog_api_client/v1/models/widget_image_sizing'
510
562
  require 'datadog_api_client/v1/models/widget_layout'
511
563
  require 'datadog_api_client/v1/models/widget_layout_type'
@@ -530,6 +582,7 @@ require 'datadog_api_client/v1/models/widget_text_align'
530
582
  require 'datadog_api_client/v1/models/widget_tick_edge'
531
583
  require 'datadog_api_client/v1/models/widget_time'
532
584
  require 'datadog_api_client/v1/models/widget_time_windows'
585
+ require 'datadog_api_client/v1/models/widget_vertical_align'
533
586
  require 'datadog_api_client/v1/models/widget_view_mode'
534
587
  require 'datadog_api_client/v1/models/widget_viz_type'
535
588
 
@@ -551,6 +604,7 @@ require 'datadog_api_client/v1/api/logs_indexes_api'
551
604
  require 'datadog_api_client/v1/api/logs_pipelines_api'
552
605
  require 'datadog_api_client/v1/api/metrics_api'
553
606
  require 'datadog_api_client/v1/api/monitors_api'
607
+ require 'datadog_api_client/v1/api/notebooks_api'
554
608
  require 'datadog_api_client/v1/api/organizations_api'
555
609
  require 'datadog_api_client/v1/api/pager_duty_integration_api'
556
610
  require 'datadog_api_client/v1/api/service_checks_api'
@@ -246,6 +246,7 @@ module DatadogAPIClient::V1
246
246
  # Get all dashboards
247
247
  # Get all dashboards. **Note**: This query will only return custom created or cloned dashboards. This query will not return preset dashboards.
248
248
  # @param [Hash] opts the optional parameters
249
+ # @option opts [Boolean] :filter_shared When `true`, this query only returns shared custom created or cloned dashboards.
249
250
  # @return [DashboardSummary]
250
251
  def list_dashboards(opts = {})
251
252
  data, _status_code, _headers = list_dashboards_with_http_info(opts)
@@ -255,6 +256,7 @@ module DatadogAPIClient::V1
255
256
  # Get all dashboards
256
257
  # Get all dashboards. **Note**: This query will only return custom created or cloned dashboards. This query will not return preset dashboards.
257
258
  # @param [Hash] opts the optional parameters
259
+ # @option opts [Boolean] :filter_shared When `true`, this query only returns shared custom created or cloned dashboards.
258
260
  # @return [Array<(DashboardSummary, Integer, Hash)>] DashboardSummary data, response status code and response headers
259
261
  def list_dashboards_with_http_info(opts = {})
260
262
 
@@ -275,6 +277,7 @@ module DatadogAPIClient::V1
275
277
 
276
278
  # query parameters
277
279
  query_params = opts[:query_params] || {}
280
+ query_params[:'filter[shared]'] = opts[:'filter_shared'] if !opts[:'filter_shared'].nil?
278
281
 
279
282
  # header parameters
280
283
  header_params = opts[:header_params] || {}
@@ -171,14 +171,16 @@ module DatadogAPIClient::V1
171
171
  end
172
172
 
173
173
  # Query the event stream
174
- # The event stream can be queried and filtered by time, priority, sources and tags. **Notes**: - If the event you’re querying contains markdown formatting of any kind, you may see characters such as `%`,`\\`,`n` in your output. - This endpoint returns a maximum of `1000` most recent results. To return additional results, identify the last timestamp of the last result and set that as the `end` query time to paginate the results.
174
+ # The event stream can be queried and filtered by time, priority, sources and tags. **Notes**: - If the event you’re querying contains markdown formatting of any kind, you may see characters such as `%`,`\\`,`n` in your output. - This endpoint returns a maximum of `1000` most recent results. To return additional results, identify the last timestamp of the last result and set that as the `end` query time to paginate the results. You can also use the page parameter to specify which set of `1000` results to return.
175
175
  # @param start [Integer] POSIX timestamp.
176
176
  # @param _end [Integer] POSIX timestamp.
177
177
  # @param [Hash] opts the optional parameters
178
178
  # @option opts [EventPriority] :priority Priority of your events, either &#x60;low&#x60; or &#x60;normal&#x60;.
179
179
  # @option opts [String] :sources A comma separated string of sources.
180
180
  # @option opts [String] :tags A comma separated list indicating what tags, if any, should be used to filter the list of monitors by scope.
181
- # @option opts [Boolean] :unaggregated Set unaggregated to &#x60;true&#x60; to return all events within the specified [&#x60;start&#x60;,&#x60;end&#x60;] timeframe. Otherwise if an event is aggregated to a parent event with a timestamp outside of the timeframe, it won&#39;t be available in the output.
181
+ # @option opts [Boolean] :unaggregated Set unaggregated to &#x60;true&#x60; to return all events within the specified [&#x60;start&#x60;,&#x60;end&#x60;] timeframe. Otherwise if an event is aggregated to a parent event with a timestamp outside of the timeframe, it won&#39;t be available in the output. Aggregated events with &#x60;is_aggregate&#x3D;true&#x60; in the response will still be returned unless exclude_aggregate is set to &#x60;true.&#x60;
182
+ # @option opts [Boolean] :exclude_aggregate Set &#x60;exclude_aggregate&#x60; to &#x60;true&#x60; to only return unaggregated events where &#x60;is_aggregate&#x3D;false&#x60; in the response. If the &#x60;exclude_aggregate&#x60; parameter is set to &#x60;true&#x60;, then the unaggregated parameter is ignored and will be &#x60;true&#x60; by default.
183
+ # @option opts [Integer] :page By default 1000 results are returned per request. Set page to the number of the page to return with &#x60;0&#x60; being the first page. The page parameter can only be used when either unaggregated or exclude_aggregate is set to &#x60;true.&#x60;
182
184
  # @return [EventListResponse]
183
185
  def list_events(start, _end, opts = {})
184
186
  data, _status_code, _headers = list_events_with_http_info(start, _end, opts)
@@ -186,14 +188,16 @@ module DatadogAPIClient::V1
186
188
  end
187
189
 
188
190
  # Query the event stream
189
- # The event stream can be queried and filtered by time, priority, sources and tags. **Notes**: - If the event you’re querying contains markdown formatting of any kind, you may see characters such as &#x60;%&#x60;,&#x60;\\&#x60;,&#x60;n&#x60; in your output. - This endpoint returns a maximum of &#x60;1000&#x60; most recent results. To return additional results, identify the last timestamp of the last result and set that as the &#x60;end&#x60; query time to paginate the results.
191
+ # The event stream can be queried and filtered by time, priority, sources and tags. **Notes**: - If the event you’re querying contains markdown formatting of any kind, you may see characters such as &#x60;%&#x60;,&#x60;\\&#x60;,&#x60;n&#x60; in your output. - This endpoint returns a maximum of &#x60;1000&#x60; most recent results. To return additional results, identify the last timestamp of the last result and set that as the &#x60;end&#x60; query time to paginate the results. You can also use the page parameter to specify which set of &#x60;1000&#x60; results to return.
190
192
  # @param start [Integer] POSIX timestamp.
191
193
  # @param _end [Integer] POSIX timestamp.
192
194
  # @param [Hash] opts the optional parameters
193
195
  # @option opts [EventPriority] :priority Priority of your events, either &#x60;low&#x60; or &#x60;normal&#x60;.
194
196
  # @option opts [String] :sources A comma separated string of sources.
195
197
  # @option opts [String] :tags A comma separated list indicating what tags, if any, should be used to filter the list of monitors by scope.
196
- # @option opts [Boolean] :unaggregated Set unaggregated to &#x60;true&#x60; to return all events within the specified [&#x60;start&#x60;,&#x60;end&#x60;] timeframe. Otherwise if an event is aggregated to a parent event with a timestamp outside of the timeframe, it won&#39;t be available in the output.
198
+ # @option opts [Boolean] :unaggregated Set unaggregated to &#x60;true&#x60; to return all events within the specified [&#x60;start&#x60;,&#x60;end&#x60;] timeframe. Otherwise if an event is aggregated to a parent event with a timestamp outside of the timeframe, it won&#39;t be available in the output. Aggregated events with &#x60;is_aggregate&#x3D;true&#x60; in the response will still be returned unless exclude_aggregate is set to &#x60;true.&#x60;
199
+ # @option opts [Boolean] :exclude_aggregate Set &#x60;exclude_aggregate&#x60; to &#x60;true&#x60; to only return unaggregated events where &#x60;is_aggregate&#x3D;false&#x60; in the response. If the &#x60;exclude_aggregate&#x60; parameter is set to &#x60;true&#x60;, then the unaggregated parameter is ignored and will be &#x60;true&#x60; by default.
200
+ # @option opts [Integer] :page By default 1000 results are returned per request. Set page to the number of the page to return with &#x60;0&#x60; being the first page. The page parameter can only be used when either unaggregated or exclude_aggregate is set to &#x60;true.&#x60;
197
201
  # @return [Array<(EventListResponse, Integer, Hash)>] EventListResponse data, response status code and response headers
198
202
  def list_events_with_http_info(start, _end, opts = {})
199
203
 
@@ -217,6 +221,10 @@ module DatadogAPIClient::V1
217
221
  if @api_client.config.client_side_validation && _end.nil?
218
222
  fail ArgumentError, "Missing the required parameter '_end' when calling EventsAPI.list_events"
219
223
  end
224
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] > 2147483647
225
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling EventsAPI.list_events, must be smaller than or equal to 2147483647.'
226
+ end
227
+
220
228
  # resource path
221
229
  local_var_path = '/api/v1/events'
222
230
 
@@ -228,6 +236,8 @@ module DatadogAPIClient::V1
228
236
  query_params[:'sources'] = opts[:'sources'] if !opts[:'sources'].nil?
229
237
  query_params[:'tags'] = opts[:'tags'] if !opts[:'tags'].nil?
230
238
  query_params[:'unaggregated'] = opts[:'unaggregated'] if !opts[:'unaggregated'].nil?
239
+ query_params[:'exclude_aggregate'] = opts[:'exclude_aggregate'] if !opts[:'exclude_aggregate'].nil?
240
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
231
241
 
232
242
  # header parameters
233
243
  header_params = opts[:header_params] || {}
@@ -97,7 +97,7 @@ module DatadogAPIClient::V1
97
97
  end
98
98
 
99
99
  # Create a monitor
100
- # Create a monitor using the specified options. #### Monitor Types The type of monitor chosen from: - anomaly: `query alert` - APM: `query alert` or `trace-analytics alert` - composite: `composite` - custom: `service check` - event: `event alert` - forecast: `query alert` - host: `service check` - integration: `query alert` or `service check` - live process: `process alert` - logs: `log alert` - metric: `metric alert` - network: `service check` - outlier: `query alert` - process: `service check` - rum: `rum alert` - watchdog: `event alert` - event-v2: `event-v2 alert` #### Query Types **Metric Alert Query** Example: `time_aggr(time_window):space_aggr:metric{tags} [by {key}] operator #` - `time_aggr`: avg, sum, max, min, change, or pct_change - `time_window`: `last_#m` (with `#` between 1 and 2880 depending on the monitor type) or `last_#h`(with `#` between 1 and 48 depending on the monitor type), or `last_1d` - `space_aggr`: avg, sum, min, or max - `tags`: one or more tags (comma-separated), or * - `key`: a 'key' in key:value tag syntax; defines a separate alert for each tag in the group (multi-alert) - `operator`: <, <=, >, >=, ==, or != - `#`: an integer or decimal number used to set the threshold If you are using the `_change_` or `_pct_change_` time aggregator, instead use `change_aggr(time_aggr(time_window), timeshift):space_aggr:metric{tags} [by {key}] operator #` with: - `change_aggr` change, pct_change - `time_aggr` avg, sum, max, min [Learn more](https://docs.datadoghq.com/monitors/monitor_types/#define-the-conditions) - `time_window` last\\_#m (between 1 and 2880 depending on the monitor type), last\\_#h (between 1 and 48 depending on the monitor type), or last_#d (1 or 2) - `timeshift` #m_ago (5, 10, 15, or 30), #h_ago (1, 2, or 4), or 1d_ago Use this to create an outlier monitor using the following query: `avg(last_30m):outliers(avg:system.cpu.user{role:es-events-data} by {host}, 'dbscan', 7) > 0` **Service Check Query** Example: `\"check\".over(tags).last(count).count_by_status()` - **`check`** name of the check, e.g. `datadog.agent.up` - **`tags`** one or more quoted tags (comma-separated), or \"*\". e.g.: `.over(\"env:prod\", \"role:db\")` - **`count`** must be at greater than or equal to your max threshold (defined in the `options`). It is limited to 100. For example, if you've specified to notify on 1 critical, 3 ok, and 2 warn statuses, `count` should be 3. **Event Alert Query** Example: `events('sources:nagios status:error,warning priority:normal tags: \"string query\"').rollup(\"count\").last(\"1h\")\"` - **`event`**, the event query string: - **`string_query`** free text query to match against event title and text. - **`sources`** event sources (comma-separated). - **`status`** event statuses (comma-separated). Valid options: error, warn, and info. - **`priority`** event priorities (comma-separated). Valid options: low, normal, all. - **`host`** event reporting host (comma-separated). - **`tags`** event tags (comma-separated). - **`excluded_tags`** excluded event tags (comma-separated). - **`rollup`** the stats roll-up method. `count` is the only supported method now. - **`last`** the timeframe to roll up the counts. Examples: 45m, 4h. Supported timeframes: m, h and d. This value should not exceed 48 hours. **NOTE** Only available on US1 and EU. **Event V2 Alert Query** Example: `events(query).rollup(rollup_method[, measure]).last(time_window) operator #` - **`query`** The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/). - **`rollup_method`** The stats roll-up method - supports `count`, `avg` and `cardinality`. - **`measure`** For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use. - **`time_window`** #m (5, 10, 15, or 30), #h (1, 2, or 4, 24). - **`operator`** `<`, `<=`, `>`, `>=`, `==`, or `!=`. - **`#`** an integer or decimal number used to set the threshold. **NOTE** Only available on US1-FED, US3, and in closed beta on EU and US1. **Process Alert Query** Example: `processes(search).over(tags).rollup('count').last(timeframe) operator #` - **`search`** free text search string for querying processes. Matching processes match results on the [Live Processes](https://docs.datadoghq.com/infrastructure/process/?tab=linuxwindows) page. - **`tags`** one or more tags (comma-separated) - **`timeframe`** the timeframe to roll up the counts. Examples: 10m, 4h. Supported timeframes: s, m, h and d - **`operator`** <, <=, >, >=, ==, or != - **`#`** an integer or decimal number used to set the threshold **Logs Alert Query** Example: `logs(query).index(index_name).rollup(rollup_method[, measure]).last(time_window) operator #` - **`query`** The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/). - **`index_name`** For multi-index organizations, the log index in which the request is performed. - **`rollup_method`** The stats roll-up method - supports `count`, `avg` and `cardinality`. - **`measure`** For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use. - **`time_window`** #m (between 1 and 2880), #h (between 1 and 48) - **`operator`** `<`, `<=`, `>`, `>=`, `==`, or `!=`. - **`#`** an integer or decimal number used to set the threshold. **Composite Query** Example: `12345 && 67890`, where `12345` and `67890` are the IDs of non-composite monitors * **`name`** [*required*, *default* = **dynamic, based on query**]: The name of the alert. * **`message`** [*required*, *default* = **dynamic, based on query**]: A message to include with notifications for this monitor. Email notifications can be sent to specific users by using the same '@username' notation as events. * **`tags`** [*optional*, *default* = **empty list**]: A list of tags to associate with your monitor. When getting all monitor details via the API, use the `monitor_tags` argument to filter results by these tags. It is only available via the API and isn't visible or editable in the Datadog UI.
100
+ # Create a monitor using the specified options. #### Monitor Types The type of monitor chosen from: - anomaly: `query alert` - APM: `query alert` or `trace-analytics alert` - composite: `composite` - custom: `service check` - event: `event alert` - forecast: `query alert` - host: `service check` - integration: `query alert` or `service check` - live process: `process alert` - logs: `log alert` - metric: `metric alert` - network: `service check` - outlier: `query alert` - process: `service check` - rum: `rum alert` - SLO: `slo alert` - watchdog: `event alert` - event-v2: `event-v2 alert` #### Query Types **Metric Alert Query** Example: `time_aggr(time_window):space_aggr:metric{tags} [by {key}] operator #` - `time_aggr`: avg, sum, max, min, change, or pct_change - `time_window`: `last_#m` (with `#` between 1 and 2880 depending on the monitor type) or `last_#h`(with `#` between 1 and 48 depending on the monitor type), or `last_1d` - `space_aggr`: avg, sum, min, or max - `tags`: one or more tags (comma-separated), or * - `key`: a 'key' in key:value tag syntax; defines a separate alert for each tag in the group (multi-alert) - `operator`: <, <=, >, >=, ==, or != - `#`: an integer or decimal number used to set the threshold If you are using the `_change_` or `_pct_change_` time aggregator, instead use `change_aggr(time_aggr(time_window), timeshift):space_aggr:metric{tags} [by {key}] operator #` with: - `change_aggr` change, pct_change - `time_aggr` avg, sum, max, min [Learn more](https://docs.datadoghq.com/monitors/monitor_types/#define-the-conditions) - `time_window` last\\_#m (between 1 and 2880 depending on the monitor type), last\\_#h (between 1 and 48 depending on the monitor type), or last_#d (1 or 2) - `timeshift` #m_ago (5, 10, 15, or 30), #h_ago (1, 2, or 4), or 1d_ago Use this to create an outlier monitor using the following query: `avg(last_30m):outliers(avg:system.cpu.user{role:es-events-data} by {host}, 'dbscan', 7) > 0` **Service Check Query** Example: `\"check\".over(tags).last(count).count_by_status()` - **`check`** name of the check, e.g. `datadog.agent.up` - **`tags`** one or more quoted tags (comma-separated), or \"*\". e.g.: `.over(\"env:prod\", \"role:db\")` - **`count`** must be at greater than or equal to your max threshold (defined in the `options`). It is limited to 100. For example, if you've specified to notify on 1 critical, 3 ok, and 2 warn statuses, `count` should be 3. **Event Alert Query** Example: `events('sources:nagios status:error,warning priority:normal tags: \"string query\"').rollup(\"count\").last(\"1h\")\"` - **`event`**, the event query string: - **`string_query`** free text query to match against event title and text. - **`sources`** event sources (comma-separated). - **`status`** event statuses (comma-separated). Valid options: error, warn, and info. - **`priority`** event priorities (comma-separated). Valid options: low, normal, all. - **`host`** event reporting host (comma-separated). - **`tags`** event tags (comma-separated). - **`excluded_tags`** excluded event tags (comma-separated). - **`rollup`** the stats roll-up method. `count` is the only supported method now. - **`last`** the timeframe to roll up the counts. Examples: 45m, 4h. Supported timeframes: m, h and d. This value should not exceed 48 hours. **NOTE** Only available on US1 and EU. **Event V2 Alert Query** Example: `events(query).rollup(rollup_method[, measure]).last(time_window) operator #` - **`query`** The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/). - **`rollup_method`** The stats roll-up method - supports `count`, `avg` and `cardinality`. - **`measure`** For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use. - **`time_window`** #m (5, 10, 15, or 30), #h (1, 2, or 4, 24). - **`operator`** `<`, `<=`, `>`, `>=`, `==`, or `!=`. - **`#`** an integer or decimal number used to set the threshold. **NOTE** Only available on US1-FED, US3, and in closed beta on EU and US1. **Process Alert Query** Example: `processes(search).over(tags).rollup('count').last(timeframe) operator #` - **`search`** free text search string for querying processes. Matching processes match results on the [Live Processes](https://docs.datadoghq.com/infrastructure/process/?tab=linuxwindows) page. - **`tags`** one or more tags (comma-separated) - **`timeframe`** the timeframe to roll up the counts. Examples: 10m, 4h. Supported timeframes: s, m, h and d - **`operator`** <, <=, >, >=, ==, or != - **`#`** an integer or decimal number used to set the threshold **Logs Alert Query** Example: `logs(query).index(index_name).rollup(rollup_method[, measure]).last(time_window) operator #` - **`query`** The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/). - **`index_name`** For multi-index organizations, the log index in which the request is performed. - **`rollup_method`** The stats roll-up method - supports `count`, `avg` and `cardinality`. - **`measure`** For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use. - **`time_window`** #m (between 1 and 2880), #h (between 1 and 48) - **`operator`** `<`, `<=`, `>`, `>=`, `==`, or `!=`. - **`#`** an integer or decimal number used to set the threshold. **Composite Query** Example: `12345 && 67890`, where `12345` and `67890` are the IDs of non-composite monitors * **`name`** [*required*, *default* = **dynamic, based on query**]: The name of the alert. * **`message`** [*required*, *default* = **dynamic, based on query**]: A message to include with notifications for this monitor. Email notifications can be sent to specific users by using the same '@username' notation as events. * **`tags`** [*optional*, *default* = **empty list**]: A list of tags to associate with your monitor. When getting all monitor details via the API, use the `monitor_tags` argument to filter results by these tags. It is only available via the API and isn't visible or editable in the Datadog UI. **SLO Alert Query** Example: `error_budget(\"slo_id\").over(\"time_window\") operator #` - **`slo_id`**: The alphanumeric SLO ID of the SLO you are configuring the alert for. - **`time_window`**: The time window of the SLO target you wish to alert on. Valid options: `7d`, `30d`, `90d`. - **`operator`**: `>=` or `>`
101
101
  # @param body [Monitor] Create a monitor request body.
102
102
  # @param [Hash] opts the optional parameters
103
103
  # @return [Monitor]
@@ -107,7 +107,7 @@ module DatadogAPIClient::V1
107
107
  end
108
108
 
109
109
  # Create a monitor
110
- # Create a monitor using the specified options. #### Monitor Types The type of monitor chosen from: - anomaly: &#x60;query alert&#x60; - APM: &#x60;query alert&#x60; or &#x60;trace-analytics alert&#x60; - composite: &#x60;composite&#x60; - custom: &#x60;service check&#x60; - event: &#x60;event alert&#x60; - forecast: &#x60;query alert&#x60; - host: &#x60;service check&#x60; - integration: &#x60;query alert&#x60; or &#x60;service check&#x60; - live process: &#x60;process alert&#x60; - logs: &#x60;log alert&#x60; - metric: &#x60;metric alert&#x60; - network: &#x60;service check&#x60; - outlier: &#x60;query alert&#x60; - process: &#x60;service check&#x60; - rum: &#x60;rum alert&#x60; - watchdog: &#x60;event alert&#x60; - event-v2: &#x60;event-v2 alert&#x60; #### Query Types **Metric Alert Query** Example: &#x60;time_aggr(time_window):space_aggr:metric{tags} [by {key}] operator #&#x60; - &#x60;time_aggr&#x60;: avg, sum, max, min, change, or pct_change - &#x60;time_window&#x60;: &#x60;last_#m&#x60; (with &#x60;#&#x60; between 1 and 2880 depending on the monitor type) or &#x60;last_#h&#x60;(with &#x60;#&#x60; between 1 and 48 depending on the monitor type), or &#x60;last_1d&#x60; - &#x60;space_aggr&#x60;: avg, sum, min, or max - &#x60;tags&#x60;: one or more tags (comma-separated), or * - &#x60;key&#x60;: a &#39;key&#39; in key:value tag syntax; defines a separate alert for each tag in the group (multi-alert) - &#x60;operator&#x60;: &lt;, &lt;&#x3D;, &gt;, &gt;&#x3D;, &#x3D;&#x3D;, or !&#x3D; - &#x60;#&#x60;: an integer or decimal number used to set the threshold If you are using the &#x60;_change_&#x60; or &#x60;_pct_change_&#x60; time aggregator, instead use &#x60;change_aggr(time_aggr(time_window), timeshift):space_aggr:metric{tags} [by {key}] operator #&#x60; with: - &#x60;change_aggr&#x60; change, pct_change - &#x60;time_aggr&#x60; avg, sum, max, min [Learn more](https://docs.datadoghq.com/monitors/monitor_types/#define-the-conditions) - &#x60;time_window&#x60; last\\_#m (between 1 and 2880 depending on the monitor type), last\\_#h (between 1 and 48 depending on the monitor type), or last_#d (1 or 2) - &#x60;timeshift&#x60; #m_ago (5, 10, 15, or 30), #h_ago (1, 2, or 4), or 1d_ago Use this to create an outlier monitor using the following query: &#x60;avg(last_30m):outliers(avg:system.cpu.user{role:es-events-data} by {host}, &#39;dbscan&#39;, 7) &gt; 0&#x60; **Service Check Query** Example: &#x60;\&quot;check\&quot;.over(tags).last(count).count_by_status()&#x60; - **&#x60;check&#x60;** name of the check, e.g. &#x60;datadog.agent.up&#x60; - **&#x60;tags&#x60;** one or more quoted tags (comma-separated), or \&quot;*\&quot;. e.g.: &#x60;.over(\&quot;env:prod\&quot;, \&quot;role:db\&quot;)&#x60; - **&#x60;count&#x60;** must be at greater than or equal to your max threshold (defined in the &#x60;options&#x60;). It is limited to 100. For example, if you&#39;ve specified to notify on 1 critical, 3 ok, and 2 warn statuses, &#x60;count&#x60; should be 3. **Event Alert Query** Example: &#x60;events(&#39;sources:nagios status:error,warning priority:normal tags: \&quot;string query\&quot;&#39;).rollup(\&quot;count\&quot;).last(\&quot;1h\&quot;)\&quot;&#x60; - **&#x60;event&#x60;**, the event query string: - **&#x60;string_query&#x60;** free text query to match against event title and text. - **&#x60;sources&#x60;** event sources (comma-separated). - **&#x60;status&#x60;** event statuses (comma-separated). Valid options: error, warn, and info. - **&#x60;priority&#x60;** event priorities (comma-separated). Valid options: low, normal, all. - **&#x60;host&#x60;** event reporting host (comma-separated). - **&#x60;tags&#x60;** event tags (comma-separated). - **&#x60;excluded_tags&#x60;** excluded event tags (comma-separated). - **&#x60;rollup&#x60;** the stats roll-up method. &#x60;count&#x60; is the only supported method now. - **&#x60;last&#x60;** the timeframe to roll up the counts. Examples: 45m, 4h. Supported timeframes: m, h and d. This value should not exceed 48 hours. **NOTE** Only available on US1 and EU. **Event V2 Alert Query** Example: &#x60;events(query).rollup(rollup_method[, measure]).last(time_window) operator #&#x60; - **&#x60;query&#x60;** The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/). - **&#x60;rollup_method&#x60;** The stats roll-up method - supports &#x60;count&#x60;, &#x60;avg&#x60; and &#x60;cardinality&#x60;. - **&#x60;measure&#x60;** For &#x60;avg&#x60; and cardinality &#x60;rollup_method&#x60; - specify the measure or the facet name you want to use. - **&#x60;time_window&#x60;** #m (5, 10, 15, or 30), #h (1, 2, or 4, 24). - **&#x60;operator&#x60;** &#x60;&lt;&#x60;, &#x60;&lt;&#x3D;&#x60;, &#x60;&gt;&#x60;, &#x60;&gt;&#x3D;&#x60;, &#x60;&#x3D;&#x3D;&#x60;, or &#x60;!&#x3D;&#x60;. - **&#x60;#&#x60;** an integer or decimal number used to set the threshold. **NOTE** Only available on US1-FED, US3, and in closed beta on EU and US1. **Process Alert Query** Example: &#x60;processes(search).over(tags).rollup(&#39;count&#39;).last(timeframe) operator #&#x60; - **&#x60;search&#x60;** free text search string for querying processes. Matching processes match results on the [Live Processes](https://docs.datadoghq.com/infrastructure/process/?tab&#x3D;linuxwindows) page. - **&#x60;tags&#x60;** one or more tags (comma-separated) - **&#x60;timeframe&#x60;** the timeframe to roll up the counts. Examples: 10m, 4h. Supported timeframes: s, m, h and d - **&#x60;operator&#x60;** &lt;, &lt;&#x3D;, &gt;, &gt;&#x3D;, &#x3D;&#x3D;, or !&#x3D; - **&#x60;#&#x60;** an integer or decimal number used to set the threshold **Logs Alert Query** Example: &#x60;logs(query).index(index_name).rollup(rollup_method[, measure]).last(time_window) operator #&#x60; - **&#x60;query&#x60;** The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/). - **&#x60;index_name&#x60;** For multi-index organizations, the log index in which the request is performed. - **&#x60;rollup_method&#x60;** The stats roll-up method - supports &#x60;count&#x60;, &#x60;avg&#x60; and &#x60;cardinality&#x60;. - **&#x60;measure&#x60;** For &#x60;avg&#x60; and cardinality &#x60;rollup_method&#x60; - specify the measure or the facet name you want to use. - **&#x60;time_window&#x60;** #m (between 1 and 2880), #h (between 1 and 48) - **&#x60;operator&#x60;** &#x60;&lt;&#x60;, &#x60;&lt;&#x3D;&#x60;, &#x60;&gt;&#x60;, &#x60;&gt;&#x3D;&#x60;, &#x60;&#x3D;&#x3D;&#x60;, or &#x60;!&#x3D;&#x60;. - **&#x60;#&#x60;** an integer or decimal number used to set the threshold. **Composite Query** Example: &#x60;12345 &amp;&amp; 67890&#x60;, where &#x60;12345&#x60; and &#x60;67890&#x60; are the IDs of non-composite monitors * **&#x60;name&#x60;** [*required*, *default* &#x3D; **dynamic, based on query**]: The name of the alert. * **&#x60;message&#x60;** [*required*, *default* &#x3D; **dynamic, based on query**]: A message to include with notifications for this monitor. Email notifications can be sent to specific users by using the same &#39;@username&#39; notation as events. * **&#x60;tags&#x60;** [*optional*, *default* &#x3D; **empty list**]: A list of tags to associate with your monitor. When getting all monitor details via the API, use the &#x60;monitor_tags&#x60; argument to filter results by these tags. It is only available via the API and isn&#39;t visible or editable in the Datadog UI.
110
+ # Create a monitor using the specified options. #### Monitor Types The type of monitor chosen from: - anomaly: &#x60;query alert&#x60; - APM: &#x60;query alert&#x60; or &#x60;trace-analytics alert&#x60; - composite: &#x60;composite&#x60; - custom: &#x60;service check&#x60; - event: &#x60;event alert&#x60; - forecast: &#x60;query alert&#x60; - host: &#x60;service check&#x60; - integration: &#x60;query alert&#x60; or &#x60;service check&#x60; - live process: &#x60;process alert&#x60; - logs: &#x60;log alert&#x60; - metric: &#x60;metric alert&#x60; - network: &#x60;service check&#x60; - outlier: &#x60;query alert&#x60; - process: &#x60;service check&#x60; - rum: &#x60;rum alert&#x60; - SLO: &#x60;slo alert&#x60; - watchdog: &#x60;event alert&#x60; - event-v2: &#x60;event-v2 alert&#x60; #### Query Types **Metric Alert Query** Example: &#x60;time_aggr(time_window):space_aggr:metric{tags} [by {key}] operator #&#x60; - &#x60;time_aggr&#x60;: avg, sum, max, min, change, or pct_change - &#x60;time_window&#x60;: &#x60;last_#m&#x60; (with &#x60;#&#x60; between 1 and 2880 depending on the monitor type) or &#x60;last_#h&#x60;(with &#x60;#&#x60; between 1 and 48 depending on the monitor type), or &#x60;last_1d&#x60; - &#x60;space_aggr&#x60;: avg, sum, min, or max - &#x60;tags&#x60;: one or more tags (comma-separated), or * - &#x60;key&#x60;: a &#39;key&#39; in key:value tag syntax; defines a separate alert for each tag in the group (multi-alert) - &#x60;operator&#x60;: &lt;, &lt;&#x3D;, &gt;, &gt;&#x3D;, &#x3D;&#x3D;, or !&#x3D; - &#x60;#&#x60;: an integer or decimal number used to set the threshold If you are using the &#x60;_change_&#x60; or &#x60;_pct_change_&#x60; time aggregator, instead use &#x60;change_aggr(time_aggr(time_window), timeshift):space_aggr:metric{tags} [by {key}] operator #&#x60; with: - &#x60;change_aggr&#x60; change, pct_change - &#x60;time_aggr&#x60; avg, sum, max, min [Learn more](https://docs.datadoghq.com/monitors/monitor_types/#define-the-conditions) - &#x60;time_window&#x60; last\\_#m (between 1 and 2880 depending on the monitor type), last\\_#h (between 1 and 48 depending on the monitor type), or last_#d (1 or 2) - &#x60;timeshift&#x60; #m_ago (5, 10, 15, or 30), #h_ago (1, 2, or 4), or 1d_ago Use this to create an outlier monitor using the following query: &#x60;avg(last_30m):outliers(avg:system.cpu.user{role:es-events-data} by {host}, &#39;dbscan&#39;, 7) &gt; 0&#x60; **Service Check Query** Example: &#x60;\&quot;check\&quot;.over(tags).last(count).count_by_status()&#x60; - **&#x60;check&#x60;** name of the check, e.g. &#x60;datadog.agent.up&#x60; - **&#x60;tags&#x60;** one or more quoted tags (comma-separated), or \&quot;*\&quot;. e.g.: &#x60;.over(\&quot;env:prod\&quot;, \&quot;role:db\&quot;)&#x60; - **&#x60;count&#x60;** must be at greater than or equal to your max threshold (defined in the &#x60;options&#x60;). It is limited to 100. For example, if you&#39;ve specified to notify on 1 critical, 3 ok, and 2 warn statuses, &#x60;count&#x60; should be 3. **Event Alert Query** Example: &#x60;events(&#39;sources:nagios status:error,warning priority:normal tags: \&quot;string query\&quot;&#39;).rollup(\&quot;count\&quot;).last(\&quot;1h\&quot;)\&quot;&#x60; - **&#x60;event&#x60;**, the event query string: - **&#x60;string_query&#x60;** free text query to match against event title and text. - **&#x60;sources&#x60;** event sources (comma-separated). - **&#x60;status&#x60;** event statuses (comma-separated). Valid options: error, warn, and info. - **&#x60;priority&#x60;** event priorities (comma-separated). Valid options: low, normal, all. - **&#x60;host&#x60;** event reporting host (comma-separated). - **&#x60;tags&#x60;** event tags (comma-separated). - **&#x60;excluded_tags&#x60;** excluded event tags (comma-separated). - **&#x60;rollup&#x60;** the stats roll-up method. &#x60;count&#x60; is the only supported method now. - **&#x60;last&#x60;** the timeframe to roll up the counts. Examples: 45m, 4h. Supported timeframes: m, h and d. This value should not exceed 48 hours. **NOTE** Only available on US1 and EU. **Event V2 Alert Query** Example: &#x60;events(query).rollup(rollup_method[, measure]).last(time_window) operator #&#x60; - **&#x60;query&#x60;** The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/). - **&#x60;rollup_method&#x60;** The stats roll-up method - supports &#x60;count&#x60;, &#x60;avg&#x60; and &#x60;cardinality&#x60;. - **&#x60;measure&#x60;** For &#x60;avg&#x60; and cardinality &#x60;rollup_method&#x60; - specify the measure or the facet name you want to use. - **&#x60;time_window&#x60;** #m (5, 10, 15, or 30), #h (1, 2, or 4, 24). - **&#x60;operator&#x60;** &#x60;&lt;&#x60;, &#x60;&lt;&#x3D;&#x60;, &#x60;&gt;&#x60;, &#x60;&gt;&#x3D;&#x60;, &#x60;&#x3D;&#x3D;&#x60;, or &#x60;!&#x3D;&#x60;. - **&#x60;#&#x60;** an integer or decimal number used to set the threshold. **NOTE** Only available on US1-FED, US3, and in closed beta on EU and US1. **Process Alert Query** Example: &#x60;processes(search).over(tags).rollup(&#39;count&#39;).last(timeframe) operator #&#x60; - **&#x60;search&#x60;** free text search string for querying processes. Matching processes match results on the [Live Processes](https://docs.datadoghq.com/infrastructure/process/?tab&#x3D;linuxwindows) page. - **&#x60;tags&#x60;** one or more tags (comma-separated) - **&#x60;timeframe&#x60;** the timeframe to roll up the counts. Examples: 10m, 4h. Supported timeframes: s, m, h and d - **&#x60;operator&#x60;** &lt;, &lt;&#x3D;, &gt;, &gt;&#x3D;, &#x3D;&#x3D;, or !&#x3D; - **&#x60;#&#x60;** an integer or decimal number used to set the threshold **Logs Alert Query** Example: &#x60;logs(query).index(index_name).rollup(rollup_method[, measure]).last(time_window) operator #&#x60; - **&#x60;query&#x60;** The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/). - **&#x60;index_name&#x60;** For multi-index organizations, the log index in which the request is performed. - **&#x60;rollup_method&#x60;** The stats roll-up method - supports &#x60;count&#x60;, &#x60;avg&#x60; and &#x60;cardinality&#x60;. - **&#x60;measure&#x60;** For &#x60;avg&#x60; and cardinality &#x60;rollup_method&#x60; - specify the measure or the facet name you want to use. - **&#x60;time_window&#x60;** #m (between 1 and 2880), #h (between 1 and 48) - **&#x60;operator&#x60;** &#x60;&lt;&#x60;, &#x60;&lt;&#x3D;&#x60;, &#x60;&gt;&#x60;, &#x60;&gt;&#x3D;&#x60;, &#x60;&#x3D;&#x3D;&#x60;, or &#x60;!&#x3D;&#x60;. - **&#x60;#&#x60;** an integer or decimal number used to set the threshold. **Composite Query** Example: &#x60;12345 &amp;&amp; 67890&#x60;, where &#x60;12345&#x60; and &#x60;67890&#x60; are the IDs of non-composite monitors * **&#x60;name&#x60;** [*required*, *default* &#x3D; **dynamic, based on query**]: The name of the alert. * **&#x60;message&#x60;** [*required*, *default* &#x3D; **dynamic, based on query**]: A message to include with notifications for this monitor. Email notifications can be sent to specific users by using the same &#39;@username&#39; notation as events. * **&#x60;tags&#x60;** [*optional*, *default* &#x3D; **empty list**]: A list of tags to associate with your monitor. When getting all monitor details via the API, use the &#x60;monitor_tags&#x60; argument to filter results by these tags. It is only available via the API and isn&#39;t visible or editable in the Datadog UI. **SLO Alert Query** Example: &#x60;error_budget(\&quot;slo_id\&quot;).over(\&quot;time_window\&quot;) operator #&#x60; - **&#x60;slo_id&#x60;**: The alphanumeric SLO ID of the SLO you are configuring the alert for. - **&#x60;time_window&#x60;**: The time window of the SLO target you wish to alert on. Valid options: &#x60;7d&#x60;, &#x60;30d&#x60;, &#x60;90d&#x60;. - **&#x60;operator&#x60;**: &#x60;&gt;&#x3D;&#x60; or &#x60;&gt;&#x60;
111
111
  # @param body [Monitor] Create a monitor request body.
112
112
  # @param [Hash] opts the optional parameters
113
113
  # @return [Array<(Monitor, Integer, Hash)>] Monitor data, response status code and response headers
@@ -0,0 +1,418 @@
1
+ =begin
2
+ #Datadog API V1 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://openapi-generator.tech
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'cgi'
17
+
18
+ module DatadogAPIClient::V1
19
+ class NotebooksAPI
20
+ attr_accessor :api_client
21
+
22
+ def initialize(api_client = APIClient.default)
23
+ @api_client = api_client
24
+ end
25
+ # Create a notebook
26
+ # Create a notebook using the specified options.
27
+ # @param body [NotebookCreateRequest] The JSON description of the notebook you want to create.
28
+ # @param [Hash] opts the optional parameters
29
+ # @return [NotebookResponse]
30
+ def create_notebook(body, opts = {})
31
+ data, _status_code, _headers = create_notebook_with_http_info(body, opts)
32
+ data
33
+ end
34
+
35
+ # Create a notebook
36
+ # Create a notebook using the specified options.
37
+ # @param body [NotebookCreateRequest] The JSON description of the notebook you want to create.
38
+ # @param [Hash] opts the optional parameters
39
+ # @return [Array<(NotebookResponse, Integer, Hash)>] NotebookResponse data, response status code and response headers
40
+ def create_notebook_with_http_info(body, opts = {})
41
+
42
+ if @api_client.config.unstable_operations.has_key?(:create_notebook)
43
+ unstable_enabled = @api_client.config.unstable_operations[:create_notebook]
44
+ if unstable_enabled
45
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "create_notebook")
46
+ else
47
+ raise APIError.new(message: format("Unstable operation '%s' is disabled", "create_notebook"))
48
+ end
49
+ end
50
+
51
+ if @api_client.config.debugging
52
+ @api_client.config.logger.debug 'Calling API: NotebooksAPI.create_notebook ...'
53
+ end
54
+ # verify the required parameter 'body' is set
55
+ if @api_client.config.client_side_validation && body.nil?
56
+ fail ArgumentError, "Missing the required parameter 'body' when calling NotebooksAPI.create_notebook"
57
+ end
58
+ # resource path
59
+ local_var_path = '/api/v1/notebooks'
60
+
61
+ # query parameters
62
+ query_params = opts[:query_params] || {}
63
+
64
+ # header parameters
65
+ header_params = opts[:header_params] || {}
66
+ # HTTP header 'Accept' (if needed)
67
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
68
+ # HTTP header 'Content-Type'
69
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
70
+
71
+ # form parameters
72
+ form_params = opts[:form_params] || {}
73
+
74
+ # http body (model)
75
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
76
+
77
+ # return_type
78
+ return_type = opts[:debug_return_type] || 'NotebookResponse'
79
+
80
+ # auth_names
81
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth]
82
+
83
+ new_options = opts.merge(
84
+ :operation => :create_notebook,
85
+ :header_params => header_params,
86
+ :query_params => query_params,
87
+ :form_params => form_params,
88
+ :body => post_body,
89
+ :auth_names => auth_names,
90
+ :return_type => return_type
91
+ )
92
+
93
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
94
+ if @api_client.config.debugging
95
+ @api_client.config.logger.debug "API called: NotebooksAPI#create_notebook\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
96
+ end
97
+ return data, status_code, headers
98
+ end
99
+
100
+ # Delete a notebook
101
+ # Delete a notebook using the specified ID.
102
+ # @param notebook_id [Integer] Unique ID, assigned when you create the notebook.
103
+ # @param [Hash] opts the optional parameters
104
+ # @return [nil]
105
+ def delete_notebook(notebook_id, opts = {})
106
+ delete_notebook_with_http_info(notebook_id, opts)
107
+ nil
108
+ end
109
+
110
+ # Delete a notebook
111
+ # Delete a notebook using the specified ID.
112
+ # @param notebook_id [Integer] Unique ID, assigned when you create the notebook.
113
+ # @param [Hash] opts the optional parameters
114
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
115
+ def delete_notebook_with_http_info(notebook_id, opts = {})
116
+
117
+ if @api_client.config.unstable_operations.has_key?(:delete_notebook)
118
+ unstable_enabled = @api_client.config.unstable_operations[:delete_notebook]
119
+ if unstable_enabled
120
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "delete_notebook")
121
+ else
122
+ raise APIError.new(message: format("Unstable operation '%s' is disabled", "delete_notebook"))
123
+ end
124
+ end
125
+
126
+ if @api_client.config.debugging
127
+ @api_client.config.logger.debug 'Calling API: NotebooksAPI.delete_notebook ...'
128
+ end
129
+ # verify the required parameter 'notebook_id' is set
130
+ if @api_client.config.client_side_validation && notebook_id.nil?
131
+ fail ArgumentError, "Missing the required parameter 'notebook_id' when calling NotebooksAPI.delete_notebook"
132
+ end
133
+ # resource path
134
+ local_var_path = '/api/v1/notebooks/{notebook_id}'.sub('{' + 'notebook_id' + '}', CGI.escape(notebook_id.to_s))
135
+
136
+ # query parameters
137
+ query_params = opts[:query_params] || {}
138
+
139
+ # header parameters
140
+ header_params = opts[:header_params] || {}
141
+ # HTTP header 'Accept' (if needed)
142
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
143
+
144
+ # form parameters
145
+ form_params = opts[:form_params] || {}
146
+
147
+ # http body (model)
148
+ post_body = opts[:debug_body]
149
+
150
+ # return_type
151
+ return_type = opts[:debug_return_type]
152
+
153
+ # auth_names
154
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth]
155
+
156
+ new_options = opts.merge(
157
+ :operation => :delete_notebook,
158
+ :header_params => header_params,
159
+ :query_params => query_params,
160
+ :form_params => form_params,
161
+ :body => post_body,
162
+ :auth_names => auth_names,
163
+ :return_type => return_type
164
+ )
165
+
166
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
167
+ if @api_client.config.debugging
168
+ @api_client.config.logger.debug "API called: NotebooksAPI#delete_notebook\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
169
+ end
170
+ return data, status_code, headers
171
+ end
172
+
173
+ # Get a notebook
174
+ # Get a notebook using the specified notebook ID.
175
+ # @param notebook_id [Integer] Unique ID, assigned when you create the notebook.
176
+ # @param [Hash] opts the optional parameters
177
+ # @return [NotebookResponse]
178
+ def get_notebook(notebook_id, opts = {})
179
+ data, _status_code, _headers = get_notebook_with_http_info(notebook_id, opts)
180
+ data
181
+ end
182
+
183
+ # Get a notebook
184
+ # Get a notebook using the specified notebook ID.
185
+ # @param notebook_id [Integer] Unique ID, assigned when you create the notebook.
186
+ # @param [Hash] opts the optional parameters
187
+ # @return [Array<(NotebookResponse, Integer, Hash)>] NotebookResponse data, response status code and response headers
188
+ def get_notebook_with_http_info(notebook_id, opts = {})
189
+
190
+ if @api_client.config.unstable_operations.has_key?(:get_notebook)
191
+ unstable_enabled = @api_client.config.unstable_operations[:get_notebook]
192
+ if unstable_enabled
193
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "get_notebook")
194
+ else
195
+ raise APIError.new(message: format("Unstable operation '%s' is disabled", "get_notebook"))
196
+ end
197
+ end
198
+
199
+ if @api_client.config.debugging
200
+ @api_client.config.logger.debug 'Calling API: NotebooksAPI.get_notebook ...'
201
+ end
202
+ # verify the required parameter 'notebook_id' is set
203
+ if @api_client.config.client_side_validation && notebook_id.nil?
204
+ fail ArgumentError, "Missing the required parameter 'notebook_id' when calling NotebooksAPI.get_notebook"
205
+ end
206
+ # resource path
207
+ local_var_path = '/api/v1/notebooks/{notebook_id}'.sub('{' + 'notebook_id' + '}', CGI.escape(notebook_id.to_s))
208
+
209
+ # query parameters
210
+ query_params = opts[:query_params] || {}
211
+
212
+ # header parameters
213
+ header_params = opts[:header_params] || {}
214
+ # HTTP header 'Accept' (if needed)
215
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
216
+
217
+ # form parameters
218
+ form_params = opts[:form_params] || {}
219
+
220
+ # http body (model)
221
+ post_body = opts[:debug_body]
222
+
223
+ # return_type
224
+ return_type = opts[:debug_return_type] || 'NotebookResponse'
225
+
226
+ # auth_names
227
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth]
228
+
229
+ new_options = opts.merge(
230
+ :operation => :get_notebook,
231
+ :header_params => header_params,
232
+ :query_params => query_params,
233
+ :form_params => form_params,
234
+ :body => post_body,
235
+ :auth_names => auth_names,
236
+ :return_type => return_type
237
+ )
238
+
239
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
240
+ if @api_client.config.debugging
241
+ @api_client.config.logger.debug "API called: NotebooksAPI#get_notebook\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
242
+ end
243
+ return data, status_code, headers
244
+ end
245
+
246
+ # Get all notebooks
247
+ # Get all notebooks. This can also be used to search for notebooks with a particular `query` in the notebook `name` or author `handle`.
248
+ # @param [Hash] opts the optional parameters
249
+ # @option opts [String] :author_handle Return notebooks created by the given &#x60;author_handle&#x60;.
250
+ # @option opts [String] :exclude_author_handle Return notebooks not created by the given &#x60;author_handle&#x60;.
251
+ # @option opts [Integer] :start The index of the first notebook you want returned.
252
+ # @option opts [Integer] :count The number of notebooks to be returned.
253
+ # @option opts [String] :sort_field Sort by field &#x60;modified&#x60; or &#x60;name&#x60;. (default to 'modified')
254
+ # @option opts [String] :sort_dir Sort by direction &#x60;asc&#x60; or &#x60;desc&#x60;. (default to 'desc')
255
+ # @option opts [String] :query Return only notebooks with &#x60;query&#x60; string in notebook name or author handle.
256
+ # @option opts [Boolean] :include_cells Value of &#x60;false&#x60; excludes the &#x60;cells&#x60; and global &#x60;time&#x60; for each notebook. (default to true)
257
+ # @return [NotebooksResponse]
258
+ def list_notebooks(opts = {})
259
+ data, _status_code, _headers = list_notebooks_with_http_info(opts)
260
+ data
261
+ end
262
+
263
+ # Get all notebooks
264
+ # Get all notebooks. This can also be used to search for notebooks with a particular &#x60;query&#x60; in the notebook &#x60;name&#x60; or author &#x60;handle&#x60;.
265
+ # @param [Hash] opts the optional parameters
266
+ # @option opts [String] :author_handle Return notebooks created by the given &#x60;author_handle&#x60;.
267
+ # @option opts [String] :exclude_author_handle Return notebooks not created by the given &#x60;author_handle&#x60;.
268
+ # @option opts [Integer] :start The index of the first notebook you want returned.
269
+ # @option opts [Integer] :count The number of notebooks to be returned.
270
+ # @option opts [String] :sort_field Sort by field &#x60;modified&#x60; or &#x60;name&#x60;.
271
+ # @option opts [String] :sort_dir Sort by direction &#x60;asc&#x60; or &#x60;desc&#x60;.
272
+ # @option opts [String] :query Return only notebooks with &#x60;query&#x60; string in notebook name or author handle.
273
+ # @option opts [Boolean] :include_cells Value of &#x60;false&#x60; excludes the &#x60;cells&#x60; and global &#x60;time&#x60; for each notebook.
274
+ # @return [Array<(NotebooksResponse, Integer, Hash)>] NotebooksResponse data, response status code and response headers
275
+ def list_notebooks_with_http_info(opts = {})
276
+
277
+ if @api_client.config.unstable_operations.has_key?(:list_notebooks)
278
+ unstable_enabled = @api_client.config.unstable_operations[:list_notebooks]
279
+ if unstable_enabled
280
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "list_notebooks")
281
+ else
282
+ raise APIError.new(message: format("Unstable operation '%s' is disabled", "list_notebooks"))
283
+ end
284
+ end
285
+
286
+ if @api_client.config.debugging
287
+ @api_client.config.logger.debug 'Calling API: NotebooksAPI.list_notebooks ...'
288
+ end
289
+ # resource path
290
+ local_var_path = '/api/v1/notebooks'
291
+
292
+ # query parameters
293
+ query_params = opts[:query_params] || {}
294
+ query_params[:'author_handle'] = opts[:'author_handle'] if !opts[:'author_handle'].nil?
295
+ query_params[:'exclude_author_handle'] = opts[:'exclude_author_handle'] if !opts[:'exclude_author_handle'].nil?
296
+ query_params[:'start'] = opts[:'start'] if !opts[:'start'].nil?
297
+ query_params[:'count'] = opts[:'count'] if !opts[:'count'].nil?
298
+ query_params[:'sort_field'] = opts[:'sort_field'] if !opts[:'sort_field'].nil?
299
+ query_params[:'sort_dir'] = opts[:'sort_dir'] if !opts[:'sort_dir'].nil?
300
+ query_params[:'query'] = opts[:'query'] if !opts[:'query'].nil?
301
+ query_params[:'include_cells'] = opts[:'include_cells'] if !opts[:'include_cells'].nil?
302
+
303
+ # header parameters
304
+ header_params = opts[:header_params] || {}
305
+ # HTTP header 'Accept' (if needed)
306
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
307
+
308
+ # form parameters
309
+ form_params = opts[:form_params] || {}
310
+
311
+ # http body (model)
312
+ post_body = opts[:debug_body]
313
+
314
+ # return_type
315
+ return_type = opts[:debug_return_type] || 'NotebooksResponse'
316
+
317
+ # auth_names
318
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth]
319
+
320
+ new_options = opts.merge(
321
+ :operation => :list_notebooks,
322
+ :header_params => header_params,
323
+ :query_params => query_params,
324
+ :form_params => form_params,
325
+ :body => post_body,
326
+ :auth_names => auth_names,
327
+ :return_type => return_type
328
+ )
329
+
330
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
331
+ if @api_client.config.debugging
332
+ @api_client.config.logger.debug "API called: NotebooksAPI#list_notebooks\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
333
+ end
334
+ return data, status_code, headers
335
+ end
336
+
337
+ # Update a notebook
338
+ # Update a notebook using the specified ID.
339
+ # @param notebook_id [Integer] Unique ID, assigned when you create the notebook.
340
+ # @param body [NotebookUpdateRequest] Update notebook request body.
341
+ # @param [Hash] opts the optional parameters
342
+ # @return [NotebookResponse]
343
+ def update_notebook(notebook_id, body, opts = {})
344
+ data, _status_code, _headers = update_notebook_with_http_info(notebook_id, body, opts)
345
+ data
346
+ end
347
+
348
+ # Update a notebook
349
+ # Update a notebook using the specified ID.
350
+ # @param notebook_id [Integer] Unique ID, assigned when you create the notebook.
351
+ # @param body [NotebookUpdateRequest] Update notebook request body.
352
+ # @param [Hash] opts the optional parameters
353
+ # @return [Array<(NotebookResponse, Integer, Hash)>] NotebookResponse data, response status code and response headers
354
+ def update_notebook_with_http_info(notebook_id, body, opts = {})
355
+
356
+ if @api_client.config.unstable_operations.has_key?(:update_notebook)
357
+ unstable_enabled = @api_client.config.unstable_operations[:update_notebook]
358
+ if unstable_enabled
359
+ @api_client.config.logger.warn format("Using unstable operation '%s'", "update_notebook")
360
+ else
361
+ raise APIError.new(message: format("Unstable operation '%s' is disabled", "update_notebook"))
362
+ end
363
+ end
364
+
365
+ if @api_client.config.debugging
366
+ @api_client.config.logger.debug 'Calling API: NotebooksAPI.update_notebook ...'
367
+ end
368
+ # verify the required parameter 'notebook_id' is set
369
+ if @api_client.config.client_side_validation && notebook_id.nil?
370
+ fail ArgumentError, "Missing the required parameter 'notebook_id' when calling NotebooksAPI.update_notebook"
371
+ end
372
+ # verify the required parameter 'body' is set
373
+ if @api_client.config.client_side_validation && body.nil?
374
+ fail ArgumentError, "Missing the required parameter 'body' when calling NotebooksAPI.update_notebook"
375
+ end
376
+ # resource path
377
+ local_var_path = '/api/v1/notebooks/{notebook_id}'.sub('{' + 'notebook_id' + '}', CGI.escape(notebook_id.to_s))
378
+
379
+ # query parameters
380
+ query_params = opts[:query_params] || {}
381
+
382
+ # header parameters
383
+ header_params = opts[:header_params] || {}
384
+ # HTTP header 'Accept' (if needed)
385
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
386
+ # HTTP header 'Content-Type'
387
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
388
+
389
+ # form parameters
390
+ form_params = opts[:form_params] || {}
391
+
392
+ # http body (model)
393
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
394
+
395
+ # return_type
396
+ return_type = opts[:debug_return_type] || 'NotebookResponse'
397
+
398
+ # auth_names
399
+ auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth]
400
+
401
+ new_options = opts.merge(
402
+ :operation => :update_notebook,
403
+ :header_params => header_params,
404
+ :query_params => query_params,
405
+ :form_params => form_params,
406
+ :body => post_body,
407
+ :auth_names => auth_names,
408
+ :return_type => return_type
409
+ )
410
+
411
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
412
+ if @api_client.config.debugging
413
+ @api_client.config.logger.debug "API called: NotebooksAPI#update_notebook\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
414
+ end
415
+ return data, status_code, headers
416
+ end
417
+ end
418
+ end