datadog_api_client 1.11.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (277) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/schemas/v1/openapi.yaml +291 -114
  4. data/.generator/schemas/v2/openapi.yaml +1156 -41
  5. data/.generator/src/generator/cli.py +57 -40
  6. data/.generator/src/generator/openapi.py +12 -6
  7. data/.generator/src/generator/templates/api.j2 +14 -13
  8. data/.generator/src/generator/templates/api_client.j2 +63 -11
  9. data/.generator/src/generator/templates/configuration.j2 +12 -8
  10. data/.generator/src/generator/templates/example.j2 +1 -1
  11. data/.generator/src/generator/templates/inflector.j2 +28 -0
  12. data/.generator/src/generator/templates/model_base.j2 +2 -2
  13. data/.generator/src/generator/templates/model_oneof.j2 +1 -1
  14. data/.generator/src/generator/templates/package.j2 +7 -12
  15. data/.github/workflows/approved_status.yml +0 -2
  16. data/.github/workflows/codeql-analysis.yml +49 -0
  17. data/.github/workflows/docs.yml +1 -1
  18. data/.github/workflows/prepare_release.yml +1 -1
  19. data/.github/workflows/publish.yml +1 -1
  20. data/.github/workflows/release.yml +1 -1
  21. data/.github/workflows/test.yml +4 -6
  22. data/.github/workflows/test_integration.yml +1 -1
  23. data/.pre-commit-config.yaml +3 -12
  24. data/CHANGELOG.md +25 -0
  25. data/Gemfile +1 -0
  26. data/Makefile +1 -2
  27. data/datadog_api_client.gemspec +2 -0
  28. data/examples/v1/downtimes/CreateDowntime_1393233946.rb +3 -0
  29. data/examples/v1/downtimes/CreateDowntime_2908359488.rb +3 -0
  30. data/examples/v1/downtimes/CreateDowntime_3059354445.rb +3 -0
  31. data/examples/v1/events/ListEvents.rb +1 -1
  32. data/examples/v1/service-level-objectives/GetSLOHistory.rb +1 -1
  33. data/examples/v1/service-level-objectives/SearchSLO.rb +1 -1
  34. data/examples/v1/synthetics/CreateSyntheticsBrowserTest_2932742688.rb +1 -1
  35. data/examples/v1/synthetics/GetAPITestLatestResults.rb +1 -1
  36. data/examples/v1/synthetics/GetAPITestResult.rb +1 -1
  37. data/examples/v1/synthetics/GetBrowserTestLatestResults.rb +1 -1
  38. data/examples/v1/synthetics/GetBrowserTestResult.rb +1 -1
  39. data/examples/v1/usage-metering/GetDailyCustomReports.rb +1 -1
  40. data/examples/v1/usage-metering/GetHourlyUsageAttribution.rb +0 -3
  41. data/examples/v1/usage-metering/GetMonthlyCustomReports.rb +1 -1
  42. data/examples/v1/usage-metering/GetMonthlyUsageAttribution.rb +0 -3
  43. data/examples/v1/usage-metering/GetSpecifiedDailyCustomReports.rb +1 -1
  44. data/examples/v1/usage-metering/GetSpecifiedMonthlyCustomReports.rb +1 -1
  45. data/examples/v1/usage-metering/GetUsageAttribution.rb +1 -1
  46. data/examples/v1/usage-metering/GetUsageCIApp.rb +2 -5
  47. data/examples/v1/usage-metering/GetUsageCIApp_1064440884.rb +8 -0
  48. data/examples/v1/usage-metering/GetUsageCWS.rb +2 -5
  49. data/examples/v1/usage-metering/GetUsageCWS_736958514.rb +8 -0
  50. data/examples/v1/usage-metering/GetUsageDBM.rb +2 -5
  51. data/examples/v1/usage-metering/GetUsageDBM_3446806203.rb +8 -0
  52. data/examples/v1/usage-metering/GetUsageLambda.rb +2 -5
  53. data/examples/v1/usage-metering/GetUsageLambda_3132428705.rb +8 -0
  54. data/examples/v1/usage-metering/GetUsageLogs.rb +2 -5
  55. data/examples/v1/usage-metering/GetUsageLogsByIndex.rb +2 -5
  56. data/examples/v1/usage-metering/GetUsageLogsByIndex_1025184776.rb +8 -0
  57. data/examples/v1/usage-metering/GetUsageLogs_2562396405.rb +8 -0
  58. data/examples/v1/usage-metering/GetUsageNetworkFlows.rb +2 -5
  59. data/examples/v1/usage-metering/GetUsageNetworkFlows_1239422069.rb +8 -0
  60. data/examples/v1/usage-metering/GetUsageNetworkHosts.rb +2 -5
  61. data/examples/v1/usage-metering/GetUsageNetworkHosts_1249907835.rb +8 -0
  62. data/examples/v1/usage-metering/GetUsageOnlineArchive.rb +2 -5
  63. data/examples/v1/usage-metering/GetUsageOnlineArchive_1501172903.rb +8 -0
  64. data/examples/v1/usage-metering/GetUsageRumSessions.rb +2 -5
  65. data/examples/v1/usage-metering/GetUsageRumSessions_714937291.rb +8 -0
  66. data/examples/v1/usage-metering/GetUsageRumUnits.rb +2 -5
  67. data/examples/v1/usage-metering/GetUsageRumUnits_3959755399.rb +8 -0
  68. data/examples/v1/usage-metering/GetUsageSDS.rb +2 -5
  69. data/examples/v1/usage-metering/GetUsageSDS_271128478.rb +8 -0
  70. data/examples/v1/usage-metering/GetUsageSynthetics.rb +1 -1
  71. data/examples/v1/usage-metering/GetUsageSyntheticsAPI.rb +2 -5
  72. data/examples/v1/usage-metering/GetUsageSyntheticsAPI_4048033529.rb +8 -0
  73. data/examples/v1/usage-metering/GetUsageSyntheticsBrowser.rb +2 -5
  74. data/examples/v1/usage-metering/GetUsageSyntheticsBrowser_1704663299.rb +8 -0
  75. data/examples/v2/events/ListEvents.rb +8 -0
  76. data/examples/v2/events/ListEvents_2663715109.rb +14 -0
  77. data/examples/v2/events/SearchEvents.rb +23 -0
  78. data/examples/v2/incident-services/CreateIncidentService.rb +1 -1
  79. data/examples/v2/incident-services/DeleteIncidentService.rb +1 -1
  80. data/examples/v2/incident-services/GetIncidentService.rb +1 -1
  81. data/examples/v2/incident-services/ListIncidentServices.rb +1 -1
  82. data/examples/v2/incident-services/UpdateIncidentService.rb +1 -1
  83. data/examples/v2/incident-teams/CreateIncidentTeam.rb +1 -1
  84. data/examples/v2/incident-teams/DeleteIncidentTeam.rb +1 -1
  85. data/examples/v2/incident-teams/GetIncidentTeam.rb +1 -1
  86. data/examples/v2/incident-teams/ListIncidentTeams.rb +1 -1
  87. data/examples/v2/incident-teams/UpdateIncidentTeam.rb +1 -1
  88. data/examples/v2/incidents/CreateIncident.rb +1 -1
  89. data/examples/v2/incidents/DeleteIncident.rb +1 -1
  90. data/examples/v2/incidents/GetIncident.rb +1 -1
  91. data/examples/v2/incidents/ListIncidents.rb +1 -1
  92. data/examples/v2/incidents/UpdateIncident.rb +1 -1
  93. data/examples/v2/incidents/UpdateIncident_1009194038.rb +1 -1
  94. data/examples/v2/incidents/UpdateIncident_3369341440.rb +1 -1
  95. data/examples/v2/metrics/SubmitMetrics.rb +6 -0
  96. data/examples/v2/security-monitoring/EditSecurityMonitoringSignalAssignee.rb +15 -0
  97. data/examples/v2/security-monitoring/EditSecurityMonitoringSignalIncidents.rb +15 -0
  98. data/examples/v2/security-monitoring/EditSecurityMonitoringSignalState.rb +14 -0
  99. data/examples/v2/security-monitoring/UpdateSecurityMonitoringRule.rb +1 -0
  100. data/examples/v2/usage-metering/GetEstimatedCostByOrg.rb +5 -2
  101. data/examples/v2/usage-metering/GetEstimatedCostByOrg_2734954020.rb +11 -0
  102. data/examples/v2/usage-metering/GetEstimatedCostByOrg_3186693804.rb +11 -0
  103. data/examples/v2/usage-metering/GetUsageApplicationSecurityMonitoring.rb +2 -5
  104. data/examples/v2/usage-metering/GetUsageApplicationSecurityMonitoring_3959166796.rb +8 -0
  105. data/examples/v2/usage-metering/GetUsageLambdaTracedInvocations.rb +2 -5
  106. data/examples/v2/usage-metering/GetUsageLambdaTracedInvocations_1436752065.rb +8 -0
  107. data/examples/v2/usage-metering/GetUsageObservabilityPipelines.rb +2 -5
  108. data/examples/v2/usage-metering/GetUsageObservabilityPipelines_970725512.rb +8 -0
  109. data/lib/datadog_api_client/{v2/api_client.rb → api_client.rb} +63 -11
  110. data/lib/datadog_api_client/api_key_configuration.rb +1 -18
  111. data/lib/datadog_api_client/{v1/configuration.rb → configuration.rb} +84 -31
  112. data/lib/datadog_api_client/inflector.rb +1293 -0
  113. data/lib/datadog_api_client/models.rb +66 -0
  114. data/lib/datadog_api_client/v1/api/authentication_api.rb +3 -11
  115. data/lib/datadog_api_client/v1/api/aws_integration_api.rb +19 -91
  116. data/lib/datadog_api_client/v1/api/aws_logs_integration_api.rb +15 -71
  117. data/lib/datadog_api_client/v1/api/azure_integration_api.rb +11 -51
  118. data/lib/datadog_api_client/v1/api/dashboard_lists_api.rb +11 -51
  119. data/lib/datadog_api_client/v1/api/dashboards_api.rb +15 -71
  120. data/lib/datadog_api_client/v1/api/downtimes_api.rb +15 -71
  121. data/lib/datadog_api_client/v1/api/events_api.rb +9 -33
  122. data/lib/datadog_api_client/v1/api/gcp_integration_api.rb +9 -41
  123. data/lib/datadog_api_client/v1/api/hosts_api.rb +9 -41
  124. data/lib/datadog_api_client/v1/api/ip_ranges_api.rb +3 -11
  125. data/lib/datadog_api_client/v1/api/key_management_api.rb +21 -101
  126. data/lib/datadog_api_client/v1/api/logs_api.rb +5 -21
  127. data/lib/datadog_api_client/v1/api/logs_indexes_api.rb +13 -61
  128. data/lib/datadog_api_client/v1/api/logs_pipelines_api.rb +15 -71
  129. data/lib/datadog_api_client/v1/api/metrics_api.rb +15 -71
  130. data/lib/datadog_api_client/v1/api/monitors_api.rb +21 -101
  131. data/lib/datadog_api_client/v1/api/notebooks_api.rb +11 -51
  132. data/lib/datadog_api_client/v1/api/organizations_api.rb +13 -61
  133. data/lib/datadog_api_client/v1/api/pager_duty_integration_api.rb +9 -41
  134. data/lib/datadog_api_client/v1/api/security_monitoring_api.rb +8 -32
  135. data/lib/datadog_api_client/v1/api/service_checks_api.rb +3 -11
  136. data/lib/datadog_api_client/v1/api/service_level_objective_corrections_api.rb +11 -51
  137. data/lib/datadog_api_client/v1/api/service_level_objectives_api.rb +31 -99
  138. data/lib/datadog_api_client/v1/api/slack_integration_api.rb +11 -51
  139. data/lib/datadog_api_client/v1/api/snapshots_api.rb +3 -11
  140. data/lib/datadog_api_client/v1/api/synthetics_api.rb +55 -271
  141. data/lib/datadog_api_client/v1/api/tags_api.rb +11 -51
  142. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +171 -418
  143. data/lib/datadog_api_client/v1/api/users_api.rb +11 -51
  144. data/lib/datadog_api_client/v1/api/webhooks_integration_api.rb +17 -81
  145. data/lib/datadog_api_client/v1/model_base.rb +2 -2
  146. data/lib/datadog_api_client/v1/models/distribution_point_item.rb +1 -1
  147. data/lib/datadog_api_client/v1/models/distribution_widget_histogram_request_query.rb +1 -1
  148. data/lib/datadog_api_client/v1/models/formula_and_function_query_definition.rb +1 -1
  149. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_body.rb +5 -1
  150. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +7 -0
  151. data/lib/datadog_api_client/v1/models/logs_processor.rb +1 -1
  152. data/lib/datadog_api_client/v1/models/monitor_formula_and_function_query_definition.rb +1 -1
  153. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_body.rb +6 -2
  154. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +14 -0
  155. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +21 -1
  156. data/lib/datadog_api_client/v1/models/notebook_cell_create_request_attributes.rb +1 -1
  157. data/lib/datadog_api_client/v1/models/notebook_cell_response_attributes.rb +1 -1
  158. data/lib/datadog_api_client/v1/models/notebook_cell_time.rb +1 -1
  159. data/lib/datadog_api_client/v1/models/notebook_cell_update_request_attributes.rb +1 -1
  160. data/lib/datadog_api_client/v1/models/notebook_global_time.rb +1 -1
  161. data/lib/datadog_api_client/v1/models/notebook_update_cell.rb +1 -1
  162. data/lib/datadog_api_client/v1/models/sunburst_widget_legend.rb +1 -1
  163. data/lib/datadog_api_client/v1/models/synthetics_assertion.rb +1 -1
  164. data/lib/datadog_api_client/v1/models/synthetics_basic_auth.rb +1 -1
  165. data/lib/datadog_api_client/v1/models/tree_map_color_by.rb +1 -1
  166. data/lib/datadog_api_client/v1/models/tree_map_group_by.rb +1 -1
  167. data/lib/datadog_api_client/v1/models/tree_map_size_by.rb +1 -1
  168. data/lib/datadog_api_client/v1/models/tree_map_widget_definition.rb +28 -6
  169. data/lib/datadog_api_client/v1/models/usage_attribution_body.rb +6 -2
  170. data/lib/datadog_api_client/v1/models/usage_attribution_sort.rb +2 -0
  171. data/lib/datadog_api_client/v1/models/usage_attribution_supported_metrics.rb +2 -0
  172. data/lib/datadog_api_client/v1/models/usage_attribution_values.rb +22 -2
  173. data/lib/datadog_api_client/v1/models/widget_definition.rb +1 -1
  174. data/lib/datadog_api_client/v2/api/audit_api.rb +11 -25
  175. data/lib/datadog_api_client/v2/api/authn_mappings_api.rb +11 -51
  176. data/lib/datadog_api_client/v2/api/cloud_workload_security_api.rb +13 -61
  177. data/lib/datadog_api_client/v2/api/dashboard_lists_api.rb +9 -41
  178. data/lib/datadog_api_client/v2/api/events_api.rb +228 -0
  179. data/lib/datadog_api_client/v2/api/incident_services_api.rb +36 -46
  180. data/lib/datadog_api_client/v2/api/incident_teams_api.rb +36 -46
  181. data/lib/datadog_api_client/v2/api/incidents_api.rb +39 -48
  182. data/lib/datadog_api_client/v2/api/key_management_api.rb +29 -141
  183. data/lib/datadog_api_client/v2/api/logs_api.rb +15 -45
  184. data/lib/datadog_api_client/v2/api/logs_archives_api.rb +21 -101
  185. data/lib/datadog_api_client/v2/api/logs_metrics_api.rb +11 -51
  186. data/lib/datadog_api_client/v2/api/metrics_api.rb +26 -112
  187. data/lib/datadog_api_client/v2/api/opsgenie_integration_api.rb +11 -51
  188. data/lib/datadog_api_client/v2/api/organizations_api.rb +3 -11
  189. data/lib/datadog_api_client/v2/api/processes_api.rb +6 -13
  190. data/lib/datadog_api_client/v2/api/roles_api.rb +27 -131
  191. data/lib/datadog_api_client/v2/api/rum_api.rb +13 -35
  192. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +247 -125
  193. data/lib/datadog_api_client/v2/api/service_accounts_api.rb +11 -51
  194. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +132 -68
  195. data/lib/datadog_api_client/v2/api/users_api.rb +21 -101
  196. data/lib/datadog_api_client/v2/model_base.rb +2 -2
  197. data/lib/datadog_api_client/v2/models/api_key_response_included_item.rb +1 -1
  198. data/lib/datadog_api_client/v2/models/application_key_response_included_item.rb +1 -1
  199. data/lib/datadog_api_client/v2/models/authn_mapping_included.rb +1 -1
  200. data/lib/datadog_api_client/v2/models/event.rb +141 -0
  201. data/lib/datadog_api_client/v2/models/event_attributes.rb +305 -0
  202. data/lib/datadog_api_client/v2/models/event_priority.rb +27 -0
  203. data/lib/datadog_api_client/v2/models/event_response.rb +133 -0
  204. data/lib/datadog_api_client/v2/models/event_response_attributes.rb +133 -0
  205. data/lib/datadog_api_client/v2/models/event_status_type.rb +35 -0
  206. data/lib/datadog_api_client/v2/models/event_type.rb +26 -0
  207. data/lib/datadog_api_client/v2/models/events_list_request.rb +142 -0
  208. data/lib/datadog_api_client/v2/models/events_list_response.rb +133 -0
  209. data/lib/datadog_api_client/v2/models/events_list_response_links.rb +112 -0
  210. data/lib/datadog_api_client/v2/models/events_query_filter.rb +137 -0
  211. data/lib/datadog_api_client/v2/models/events_query_options.rb +124 -0
  212. data/lib/datadog_api_client/v2/models/events_request_page.rb +134 -0
  213. data/lib/datadog_api_client/v2/models/events_response_metadata.rb +144 -0
  214. data/lib/datadog_api_client/v2/models/events_response_metadata_page.rb +112 -0
  215. data/lib/datadog_api_client/v2/models/events_sort.rb +27 -0
  216. data/lib/datadog_api_client/v2/models/events_warning.rb +131 -0
  217. data/lib/datadog_api_client/v2/models/hourly_usage.rb +133 -0
  218. data/lib/datadog_api_client/v2/models/hourly_usage_attributes.rb +163 -0
  219. data/lib/datadog_api_client/v2/models/hourly_usage_measurement.rb +122 -0
  220. data/lib/datadog_api_client/v2/models/hourly_usage_metadata.rb +111 -0
  221. data/lib/datadog_api_client/v2/models/hourly_usage_pagination.rb +112 -0
  222. data/lib/datadog_api_client/v2/models/hourly_usage_response.rb +123 -0
  223. data/lib/datadog_api_client/v2/models/incident_field_attributes.rb +1 -1
  224. data/lib/datadog_api_client/v2/models/incident_response_included_item.rb +1 -1
  225. data/lib/datadog_api_client/v2/models/incident_service_included_items.rb +1 -1
  226. data/lib/datadog_api_client/v2/models/incident_team_included_items.rb +1 -1
  227. data/lib/datadog_api_client/v2/models/incident_timeline_cell_create_attributes.rb +1 -1
  228. data/lib/datadog_api_client/v2/models/logs_aggregate_bucket_value.rb +1 -1
  229. data/lib/datadog_api_client/v2/models/logs_archive_create_request_destination.rb +1 -1
  230. data/lib/datadog_api_client/v2/models/logs_archive_destination.rb +1 -1
  231. data/lib/datadog_api_client/v2/models/logs_group_by_missing.rb +1 -1
  232. data/lib/datadog_api_client/v2/models/logs_group_by_total.rb +1 -1
  233. data/lib/datadog_api_client/v2/models/metric_intake_type.rb +1 -2
  234. data/lib/datadog_api_client/v2/models/metric_resource.rb +2 -2
  235. data/lib/datadog_api_client/v2/models/metric_series.rb +1 -1
  236. data/lib/datadog_api_client/v2/models/metric_volumes.rb +1 -1
  237. data/lib/datadog_api_client/v2/models/metrics_and_metric_tag_configurations.rb +1 -1
  238. data/lib/datadog_api_client/v2/models/monitor_type.rb +215 -0
  239. data/lib/datadog_api_client/v2/models/rum_aggregate_bucket_value.rb +1 -1
  240. data/lib/datadog_api_client/v2/models/rum_group_by_missing.rb +1 -1
  241. data/lib/datadog_api_client/v2/models/rum_group_by_total.rb +1 -1
  242. data/lib/datadog_api_client/v2/models/security_monitoring_rule_query.rb +13 -1
  243. data/lib/datadog_api_client/v2/models/security_monitoring_rule_query_create.rb +13 -1
  244. data/lib/datadog_api_client/v2/models/security_monitoring_signal_archive_reason.rb +29 -0
  245. data/lib/datadog_api_client/v2/models/security_monitoring_signal_assignee_update_attributes.rb +132 -0
  246. data/lib/datadog_api_client/v2/models/security_monitoring_signal_assignee_update_data.rb +122 -0
  247. data/lib/datadog_api_client/v2/models/security_monitoring_signal_assignee_update_request.rb +122 -0
  248. data/lib/datadog_api_client/v2/models/security_monitoring_signal_incidents_update_attributes.rb +134 -0
  249. data/lib/datadog_api_client/v2/models/security_monitoring_signal_incidents_update_data.rb +122 -0
  250. data/lib/datadog_api_client/v2/models/security_monitoring_signal_incidents_update_request.rb +122 -0
  251. data/lib/datadog_api_client/v2/models/security_monitoring_signal_state.rb +28 -0
  252. data/lib/datadog_api_client/v2/models/security_monitoring_signal_state_update_attributes.rb +152 -0
  253. data/lib/datadog_api_client/v2/models/security_monitoring_signal_state_update_data.rb +122 -0
  254. data/lib/datadog_api_client/v2/models/security_monitoring_signal_state_update_request.rb +122 -0
  255. data/lib/datadog_api_client/v2/models/security_monitoring_signal_triage_attributes.rb +248 -0
  256. data/lib/datadog_api_client/v2/models/security_monitoring_signal_triage_update_data.rb +111 -0
  257. data/lib/datadog_api_client/v2/models/security_monitoring_signal_triage_update_response.rb +122 -0
  258. data/lib/datadog_api_client/v2/models/security_monitoring_triage_user.rb +152 -0
  259. data/lib/datadog_api_client/v2/models/user_response_included_item.rb +1 -1
  260. data/lib/datadog_api_client/v2.rb +40 -0
  261. data/lib/datadog_api_client/version.rb +1 -1
  262. data/lib/datadog_api_client.rb +11 -5
  263. data/spec/{v1/api_client_spec.rb → api_client_spec.rb} +29 -29
  264. data/spec/{v1/configuration_spec.rb → configuration_spec.rb} +3 -3
  265. data/spec/spec_helper.rb +1 -3
  266. metadata +97 -21
  267. data/.dockerignore +0 -1
  268. data/.generator/src/generator/templates/api_error.j2 +0 -49
  269. data/examples/v2/usage-metering/GetEstimatedCostByOrg_1171921972.rb +0 -9
  270. data/examples/v2/usage-metering/GetEstimatedCostByOrg_627383212.rb +0 -9
  271. data/lib/datadog_api_client/v1/api_client.rb +0 -453
  272. data/lib/datadog_api_client/v1/api_error.rb +0 -60
  273. data/lib/datadog_api_client/v1.rb +0 -813
  274. data/lib/datadog_api_client/v2/api_error.rb +0 -60
  275. data/lib/datadog_api_client/v2/configuration.rb +0 -420
  276. data/spec/v2/api_client_spec.rb +0 -210
  277. data/spec/v2/configuration_spec.rb +0 -45
@@ -0,0 +1,8 @@
1
+ # Get a list of events returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient::V2.configure do |config|
5
+ config.unstable_operations["v2.list_events".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::EventsAPI.new
8
+ p api_instance.list_events()
@@ -0,0 +1,14 @@
1
+ # Get a quick list of events returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient::V2.configure do |config|
5
+ config.unstable_operations["v2.list_events".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::EventsAPI.new
8
+ opts = {
9
+ filter_query: "datadog-agent",
10
+ filter_from: "2020-09-17T11:48:36+01:00",
11
+ filter_to: "2020-09-17T12:48:36+01:00",
12
+ page_limit: 5,
13
+ }
14
+ p api_instance.list_events(opts)
@@ -0,0 +1,23 @@
1
+ # Search events returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient::V2.configure do |config|
5
+ config.unstable_operations["v2.search_events".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::EventsAPI.new
8
+
9
+ body = DatadogAPIClient::V2::EventsListRequest.new({
10
+ filter: DatadogAPIClient::V2::EventsQueryFilter.new({
11
+ query: "datadog-agent",
12
+ from: "2020-09-17T11:48:36+01:00",
13
+ to: "2020-09-17T12:48:36+01:00",
14
+ }),
15
+ sort: DatadogAPIClient::V2::EventsSort::TIMESTAMP_ASCENDING,
16
+ page: DatadogAPIClient::V2::EventsRequestPage.new({
17
+ limit: 5,
18
+ }),
19
+ })
20
+ opts = {
21
+ body: body,
22
+ }
23
+ p api_instance.search_events(opts)
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations[:create_incident_service] = true
5
+ config.unstable_operations["v2.create_incident_service".to_sym] = true
6
6
  end
7
7
  api_instance = DatadogAPIClient::V2::IncidentServicesAPI.new
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations[:delete_incident_service] = true
5
+ config.unstable_operations["v2.delete_incident_service".to_sym] = true
6
6
  end
7
7
  api_instance = DatadogAPIClient::V2::IncidentServicesAPI.new
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations[:get_incident_service] = true
5
+ config.unstable_operations["v2.get_incident_service".to_sym] = true
6
6
  end
7
7
  api_instance = DatadogAPIClient::V2::IncidentServicesAPI.new
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations[:list_incident_services] = true
5
+ config.unstable_operations["v2.list_incident_services".to_sym] = true
6
6
  end
7
7
  api_instance = DatadogAPIClient::V2::IncidentServicesAPI.new
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations[:update_incident_service] = true
5
+ config.unstable_operations["v2.update_incident_service".to_sym] = true
6
6
  end
7
7
  api_instance = DatadogAPIClient::V2::IncidentServicesAPI.new
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations[:create_incident_team] = true
5
+ config.unstable_operations["v2.create_incident_team".to_sym] = true
6
6
  end
7
7
  api_instance = DatadogAPIClient::V2::IncidentTeamsAPI.new
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations[:delete_incident_team] = true
5
+ config.unstable_operations["v2.delete_incident_team".to_sym] = true
6
6
  end
7
7
  api_instance = DatadogAPIClient::V2::IncidentTeamsAPI.new
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations[:get_incident_team] = true
5
+ config.unstable_operations["v2.get_incident_team".to_sym] = true
6
6
  end
7
7
  api_instance = DatadogAPIClient::V2::IncidentTeamsAPI.new
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations[:list_incident_teams] = true
5
+ config.unstable_operations["v2.list_incident_teams".to_sym] = true
6
6
  end
7
7
  api_instance = DatadogAPIClient::V2::IncidentTeamsAPI.new
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations[:update_incident_team] = true
5
+ config.unstable_operations["v2.update_incident_team".to_sym] = true
6
6
  end
7
7
  api_instance = DatadogAPIClient::V2::IncidentTeamsAPI.new
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations[:create_incident] = true
5
+ config.unstable_operations["v2.create_incident".to_sym] = true
6
6
  end
7
7
  api_instance = DatadogAPIClient::V2::IncidentsAPI.new
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations[:delete_incident] = true
5
+ config.unstable_operations["v2.delete_incident".to_sym] = true
6
6
  end
7
7
  api_instance = DatadogAPIClient::V2::IncidentsAPI.new
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations[:get_incident] = true
5
+ config.unstable_operations["v2.get_incident".to_sym] = true
6
6
  end
7
7
  api_instance = DatadogAPIClient::V2::IncidentsAPI.new
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations[:list_incidents] = true
5
+ config.unstable_operations["v2.list_incidents".to_sym] = true
6
6
  end
7
7
  api_instance = DatadogAPIClient::V2::IncidentsAPI.new
8
8
  p api_instance.list_incidents()
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations[:update_incident] = true
5
+ config.unstable_operations["v2.update_incident".to_sym] = true
6
6
  end
7
7
  api_instance = DatadogAPIClient::V2::IncidentsAPI.new
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations[:update_incident] = true
5
+ config.unstable_operations["v2.update_incident".to_sym] = true
6
6
  end
7
7
  api_instance = DatadogAPIClient::V2::IncidentsAPI.new
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations[:update_incident] = true
5
+ config.unstable_operations["v2.update_incident".to_sym] = true
6
6
  end
7
7
  api_instance = DatadogAPIClient::V2::IncidentsAPI.new
8
8
 
@@ -14,6 +14,12 @@ body = DatadogAPIClient::V2::MetricPayload.new({
14
14
  value: 0.7,
15
15
  }),
16
16
  ],
17
+ resources: [
18
+ DatadogAPIClient::V2::MetricResource.new({
19
+ name: "dummyhost",
20
+ type: "host",
21
+ }),
22
+ ],
17
23
  }),
18
24
  ],
19
25
  })
@@ -0,0 +1,15 @@
1
+ # Modify the triage assignee of a security signal returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
5
+
6
+ body = DatadogAPIClient::V2::SecurityMonitoringSignalAssigneeUpdateRequest.new({
7
+ data: DatadogAPIClient::V2::SecurityMonitoringSignalAssigneeUpdateData.new({
8
+ attributes: DatadogAPIClient::V2::SecurityMonitoringSignalAssigneeUpdateAttributes.new({
9
+ assignee: DatadogAPIClient::V2::SecurityMonitoringTriageUser.new({
10
+ uuid: "",
11
+ }),
12
+ }),
13
+ }),
14
+ })
15
+ p api_instance.edit_security_monitoring_signal_assignee("AQAAAYG1bl5K4HuUewAAAABBWUcxYmw1S0FBQmt2RmhRN0V4ZUVnQUE", body)
@@ -0,0 +1,15 @@
1
+ # Change the related incidents of a security signal returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
5
+
6
+ body = DatadogAPIClient::V2::SecurityMonitoringSignalIncidentsUpdateRequest.new({
7
+ data: DatadogAPIClient::V2::SecurityMonitoringSignalIncidentsUpdateData.new({
8
+ attributes: DatadogAPIClient::V2::SecurityMonitoringSignalIncidentsUpdateAttributes.new({
9
+ incident_ids: [
10
+ 2066,
11
+ ],
12
+ }),
13
+ }),
14
+ })
15
+ p api_instance.edit_security_monitoring_signal_incidents("AQAAAYG1bl5K4HuUewAAAABBWUcxYmw1S0FBQmt2RmhRN0V4ZUVnQUE", body)
@@ -0,0 +1,14 @@
1
+ # Change the triage state of a security signal returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
5
+
6
+ body = DatadogAPIClient::V2::SecurityMonitoringSignalStateUpdateRequest.new({
7
+ data: DatadogAPIClient::V2::SecurityMonitoringSignalStateUpdateData.new({
8
+ attributes: DatadogAPIClient::V2::SecurityMonitoringSignalStateUpdateAttributes.new({
9
+ archive_reason: DatadogAPIClient::V2::SecurityMonitoringSignalArchiveReason::NONE,
10
+ state: DatadogAPIClient::V2::SecurityMonitoringSignalState::OPEN,
11
+ }),
12
+ }),
13
+ })
14
+ p api_instance.edit_security_monitoring_signal_state("AQAAAYG1bl5K4HuUewAAAABBWUcxYmw1S0FBQmt2RmhRN0V4ZUVnQUE", body)
@@ -38,6 +38,7 @@ body = DatadogAPIClient::V2::SecurityMonitoringRuleUpdatePayload.new({
38
38
  aggregation: DatadogAPIClient::V2::SecurityMonitoringRuleQueryAggregation::COUNT,
39
39
  distinct_fields: [],
40
40
  group_by_fields: [],
41
+ metrics: [],
41
42
  }),
42
43
  ],
43
44
  tags: [],
@@ -1,5 +1,8 @@
1
- # Get estimated cost across multi-org account returns "OK" response
1
+ # Get estimated cost across your account returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
+ DatadogAPIClient::V2.configure do |config|
5
+ config.unstable_operations["v2.get_estimated_cost_by_org".to_sym] = true
6
+ end
4
7
  api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
5
- p api_instance.get_estimated_cost_by_org()
8
+ p api_instance.get_estimated_cost_by_org("view")
@@ -0,0 +1,11 @@
1
+ # GetEstimatedCostByOrg with start_date returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient::V2.configure do |config|
5
+ config.unstable_operations["v2.get_estimated_cost_by_org".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
8
+ opts = {
9
+ start_date: (Time.now + -5 * 86400),
10
+ }
11
+ p api_instance.get_estimated_cost_by_org("sub-org", opts)
@@ -0,0 +1,11 @@
1
+ # GetEstimatedCostByOrg with start_month returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient::V2.configure do |config|
5
+ config.unstable_operations["v2.get_estimated_cost_by_org".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
8
+ opts = {
9
+ start_month: (Time.now + -5 * 86400),
10
+ }
11
+ p api_instance.get_estimated_cost_by_org("sub-org", opts)
@@ -1,8 +1,5 @@
1
- # Get hourly usage for Application Security returns "OK" response
1
+ # Get hourly usage for application security returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
5
- opts = {
6
- end_hr: (Time.now + -3 * 86400),
7
- }
8
- p api_instance.get_usage_application_security_monitoring((Time.now + -5 * 86400), opts)
5
+ p api_instance.get_usage_application_security_monitoring("2021-11-11T11:11:11.111+00:00")
@@ -0,0 +1,8 @@
1
+ # Get hourly usage for Application Security returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
5
+ opts = {
6
+ end_hr: (Time.now + -3 * 86400),
7
+ }
8
+ p api_instance.get_usage_application_security_monitoring((Time.now + -5 * 86400), opts)
@@ -1,8 +1,5 @@
1
- # Get hourly usage for Lambda Traced Invocations returns "OK" response
1
+ # Get hourly usage for lambda traced invocations returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
5
- opts = {
6
- end_hr: (Time.now + -3 * 86400),
7
- }
8
- p api_instance.get_usage_lambda_traced_invocations((Time.now + -5 * 86400), opts)
5
+ p api_instance.get_usage_lambda_traced_invocations("2021-11-11T11:11:11.111+00:00")
@@ -0,0 +1,8 @@
1
+ # Get hourly usage for Lambda Traced Invocations returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
5
+ opts = {
6
+ end_hr: (Time.now + -3 * 86400),
7
+ }
8
+ p api_instance.get_usage_lambda_traced_invocations((Time.now + -5 * 86400), opts)
@@ -1,8 +1,5 @@
1
- # Get hourly usage for Observability Pipelines returns "OK" response
1
+ # Get hourly usage for observability pipelines returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
5
- opts = {
6
- end_hr: (Time.now + -3 * 86400),
7
- }
8
- p api_instance.get_usage_observability_pipelines((Time.now + -5 * 86400), opts)
5
+ p api_instance.get_usage_observability_pipelines("2021-11-11T11:11:11.111+00:00")
@@ -0,0 +1,8 @@
1
+ # Get hourly usage for Observability Pipelines returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
5
+ opts = {
6
+ end_hr: (Time.now + -3 * 86400),
7
+ }
8
+ p api_instance.get_usage_observability_pipelines((Time.now + -5 * 86400), opts)
@@ -19,8 +19,12 @@ require 'logger'
19
19
  require 'tempfile'
20
20
  require 'time'
21
21
  require 'httparty'
22
+ begin
23
+ require 'zstandard'
24
+ rescue LoadError
25
+ end
22
26
 
23
- module DatadogAPIClient::V2
27
+ module DatadogAPIClient
24
28
  class APIClient
25
29
  # The Configuration object holding settings to be used in the API client.
26
30
  attr_accessor :config
@@ -111,7 +115,7 @@ module DatadogAPIClient::V2
111
115
  end
112
116
 
113
117
  if opts[:return_type]
114
- data = deserialize(response, opts[:return_type])
118
+ data = deserialize(opts[:api_version], response, opts[:return_type])
115
119
  else
116
120
  data = nil
117
121
  end
@@ -198,6 +202,8 @@ module DatadogAPIClient::V2
198
202
  gzip.close
199
203
  elsif header_params['Content-Encoding'] == 'deflate'
200
204
  data = Zlib::deflate(data)
205
+ elsif header_params['Content-Encoding'] == 'zstd1'
206
+ data = Zstandard.deflate(data)
201
207
  end
202
208
  data
203
209
  end
@@ -216,9 +222,10 @@ module DatadogAPIClient::V2
216
222
 
217
223
  # Deserialize the response to the given return type.
218
224
  #
225
+ # @param [String] the api version
219
226
  # @param [Response] response HTTP response
220
227
  # @param [String] return_type some examples: "User", "Array<User>", "Hash<String, Integer>"
221
- def deserialize(response, return_type)
228
+ def deserialize(api_version, response, return_type)
222
229
  body = response.body
223
230
 
224
231
  # handle file downloading - return the File instance processed in request callbacks
@@ -251,14 +258,14 @@ module DatadogAPIClient::V2
251
258
  end
252
259
  end
253
260
 
254
- convert_to_type data, return_type
261
+ convert_to_type data, return_type, api_version
255
262
  end
256
263
 
257
264
  # Convert data to the given return type.
258
265
  # @param [Object] data Data to be converted
259
266
  # @param [String] return_type Return type
260
267
  # @return [Mixed] Data in a particular type
261
- def convert_to_type(data, return_type)
268
+ def convert_to_type(data, return_type, api_version)
262
269
  return nil if data.nil?
263
270
  case return_type
264
271
  when 'String'
@@ -281,16 +288,16 @@ module DatadogAPIClient::V2
281
288
  when /\AArray<(.+)>\z/
282
289
  # e.g. Array<Pet>
283
290
  sub_type = $1
284
- data.map { |item| convert_to_type(item, sub_type) }
291
+ data.map { |item| convert_to_type(item, sub_type, api_version) }
285
292
  when /\AHash\<String, (.+)\>\z/
286
293
  # e.g. Hash<String, Integer>
287
294
  sub_type = $1
288
295
  {}.tap do |hash|
289
- data.each { |k, v| hash[k] = convert_to_type(v, sub_type) }
296
+ data.each { |k, v| hash[k] = convert_to_type(v, sub_type, api_version) }
290
297
  end
291
298
  else
292
299
  # models (e.g. Pet) or oneOf
293
- klass = DatadogAPIClient::V2.const_get(return_type)
300
+ klass = DatadogAPIClient.const_get(api_version).const_get(return_type)
294
301
  klass.respond_to?(:openapi_one_of) ? klass.build(data) : klass.build_from_hash(data)
295
302
  end
296
303
  end
@@ -307,7 +314,7 @@ module DatadogAPIClient::V2
307
314
  def build_request_url(path, opts = {})
308
315
  # Add leading and trailing slashes to path
309
316
  path = "/#{path}".gsub(/\/+/, '/')
310
- @config.base_url(opts[:operation]) + path
317
+ @config.base_url("#{opts[:api_version].respond_to?(:downcase) ? opts[:api_version].downcase : opts[:api_version]}.#{opts[:operation]}") + path
311
318
  end
312
319
 
313
320
  # Update header and query params based on authentication settings.
@@ -422,12 +429,13 @@ module DatadogAPIClient::V2
422
429
 
423
430
  # Set an attribute at the given path
424
431
  #
432
+ # @param [String] api_version The api version
425
433
  # @param [Object] obj The source object
426
434
  # @param [String] attribute_path The path spefication, separated by "."
427
435
  # @param [Object] builder The class matching the top level attribute
428
436
  # @param [Object] value The value to set
429
437
  # @!visibility private
430
- def set_attribute_from_path(obj, attribute_path, builder, value)
438
+ def set_attribute_from_path(api_version, obj, attribute_path, builder, value)
431
439
  attrs = attribute_path.split(".")
432
440
  last = attrs.pop
433
441
  i = 0
@@ -438,7 +446,7 @@ module DatadogAPIClient::V2
438
446
  else
439
447
  obj = obj.send(attr)
440
448
  end
441
- builder = DatadogAPIClient::V2.const_get(builder.openapi_types[attr.to_sym]) if i > 0
449
+ builder = DatadogAPIClient.const_get(api_version).const_get(builder.openapi_types[attr.to_sym]) if i > 0
442
450
  obj = builder.new if obj.nil?
443
451
  i += 1
444
452
  end
@@ -450,4 +458,48 @@ module DatadogAPIClient::V2
450
458
  end
451
459
  end
452
460
  end
461
+
462
+ class APIError < StandardError
463
+ attr_reader :code, :response_headers, :response_body
464
+
465
+ # Usage examples:
466
+ # APIError.new
467
+ # APIError.new("message")
468
+ # APIError.new(:code => 500, :response_headers => {}, :response_body => "")
469
+ # APIError.new(:code => 404, :message => "Not Found")
470
+ def initialize(arg = nil)
471
+ if arg.is_a? Hash
472
+ if arg.key?(:message) || arg.key?('message')
473
+ super(arg[:message] || arg['message'])
474
+ else
475
+ super arg
476
+ end
477
+
478
+ arg.each do |k, v|
479
+ instance_variable_set "@#{k}", v
480
+ end
481
+ else
482
+ super arg
483
+ end
484
+ end
485
+
486
+ # Override to_s to display a friendly error message
487
+ def to_s
488
+ message
489
+ end
490
+
491
+ def message
492
+ if @message.nil?
493
+ msg = "Error message: the server returns an error"
494
+ else
495
+ msg = @message
496
+ end
497
+
498
+ msg += "\nHTTP status code: #{code}" if code
499
+ msg += "\nResponse headers: #{response_headers}" if response_headers
500
+ msg += "\nResponse body: #{response_body}" if response_body
501
+
502
+ msg
503
+ end
504
+ end
453
505
  end
@@ -1,24 +1,7 @@
1
- require 'datadog_api_client/v1'
2
- require 'datadog_api_client/v2'
3
-
4
1
  # Extend the automatically-generated client configuration classes with a user-friendly
5
2
  # authentication configuration, hiding the original #api_key method.
6
3
 
7
- module DatadogAPIClient::V1
8
- class Configuration
9
- private :api_key # Make original getter private
10
-
11
- def api_key=(api_key)
12
- @api_key['apiKeyAuth'] = api_key
13
- end
14
-
15
- def application_key=(app_key)
16
- @api_key['appKeyAuth'] = app_key
17
- end
18
- end
19
- end
20
-
21
- module DatadogAPIClient::V2
4
+ module DatadogAPIClient
22
5
  class Configuration
23
6
  private :api_key # Make original getter private
24
7