datadog_api_client 1.11.0 → 2.0.2

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 (292) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/conftest.py +2 -1
  4. data/.generator/schemas/v1/openapi.yaml +293 -116
  5. data/.generator/schemas/v2/openapi.yaml +1156 -41
  6. data/.generator/src/generator/cli.py +57 -40
  7. data/.generator/src/generator/openapi.py +12 -6
  8. data/.generator/src/generator/templates/api.j2 +14 -13
  9. data/.generator/src/generator/templates/api_client.j2 +63 -11
  10. data/.generator/src/generator/templates/configuration.j2 +12 -8
  11. data/.generator/src/generator/templates/example.j2 +6 -1
  12. data/.generator/src/generator/templates/inflector.j2 +28 -0
  13. data/.generator/src/generator/templates/model_base.j2 +2 -2
  14. data/.generator/src/generator/templates/model_oneof.j2 +1 -1
  15. data/.generator/src/generator/templates/package.j2 +7 -12
  16. data/.github/workflows/approved_status.yml +0 -2
  17. data/.github/workflows/codeql-analysis.yml +49 -0
  18. data/.github/workflows/docs.yml +1 -1
  19. data/.github/workflows/prepare_release.yml +1 -1
  20. data/.github/workflows/publish.yml +1 -1
  21. data/.github/workflows/release.yml +1 -1
  22. data/.github/workflows/test.yml +4 -6
  23. data/.github/workflows/test_integration.yml +1 -1
  24. data/.pre-commit-config.yaml +3 -12
  25. data/CHANGELOG.md +44 -0
  26. data/Gemfile +1 -0
  27. data/Makefile +1 -2
  28. data/README.md +13 -13
  29. data/datadog_api_client.gemspec +2 -0
  30. data/examples/v1/downtimes/CreateDowntime_1393233946.rb +3 -0
  31. data/examples/v1/downtimes/CreateDowntime_2908359488.rb +3 -0
  32. data/examples/v1/downtimes/CreateDowntime_3059354445.rb +3 -0
  33. data/examples/v1/events/ListEvents.rb +1 -1
  34. data/examples/v1/pagerduty-integration/DeletePagerDutyIntegrationService.rb +2 -2
  35. data/examples/v1/service-level-objectives/GetSLOHistory.rb +1 -1
  36. data/examples/v1/service-level-objectives/SearchSLO.rb +1 -1
  37. data/examples/v1/synthetics/CreateSyntheticsBrowserTest_2932742688.rb +1 -1
  38. data/examples/v1/synthetics/GetAPITestLatestResults.rb +1 -1
  39. data/examples/v1/synthetics/GetAPITestResult.rb +1 -1
  40. data/examples/v1/synthetics/GetBrowserTestLatestResults.rb +1 -1
  41. data/examples/v1/synthetics/GetBrowserTestResult.rb +1 -1
  42. data/examples/v1/usage-metering/GetDailyCustomReports.rb +1 -1
  43. data/examples/v1/usage-metering/GetHourlyUsageAttribution.rb +0 -3
  44. data/examples/v1/usage-metering/GetMonthlyCustomReports.rb +1 -1
  45. data/examples/v1/usage-metering/GetMonthlyUsageAttribution.rb +0 -3
  46. data/examples/v1/usage-metering/GetSpecifiedDailyCustomReports.rb +1 -1
  47. data/examples/v1/usage-metering/GetSpecifiedMonthlyCustomReports.rb +1 -1
  48. data/examples/v1/usage-metering/GetUsageAttribution.rb +1 -1
  49. data/examples/v1/usage-metering/GetUsageCIApp.rb +2 -5
  50. data/examples/v1/usage-metering/GetUsageCIApp_1064440884.rb +8 -0
  51. data/examples/v1/usage-metering/GetUsageCWS.rb +2 -5
  52. data/examples/v1/usage-metering/GetUsageCWS_736958514.rb +8 -0
  53. data/examples/v1/usage-metering/GetUsageDBM.rb +2 -5
  54. data/examples/v1/usage-metering/GetUsageDBM_3446806203.rb +8 -0
  55. data/examples/v1/usage-metering/GetUsageLambda.rb +2 -5
  56. data/examples/v1/usage-metering/GetUsageLambda_3132428705.rb +8 -0
  57. data/examples/v1/usage-metering/GetUsageLogs.rb +2 -5
  58. data/examples/v1/usage-metering/GetUsageLogsByIndex.rb +2 -5
  59. data/examples/v1/usage-metering/GetUsageLogsByIndex_1025184776.rb +8 -0
  60. data/examples/v1/usage-metering/GetUsageLogs_2562396405.rb +8 -0
  61. data/examples/v1/usage-metering/GetUsageNetworkFlows.rb +2 -5
  62. data/examples/v1/usage-metering/GetUsageNetworkFlows_1239422069.rb +8 -0
  63. data/examples/v1/usage-metering/GetUsageNetworkHosts.rb +2 -5
  64. data/examples/v1/usage-metering/GetUsageNetworkHosts_1249907835.rb +8 -0
  65. data/examples/v1/usage-metering/GetUsageOnlineArchive.rb +2 -5
  66. data/examples/v1/usage-metering/GetUsageOnlineArchive_1501172903.rb +8 -0
  67. data/examples/v1/usage-metering/GetUsageRumSessions.rb +2 -5
  68. data/examples/v1/usage-metering/GetUsageRumSessions_714937291.rb +8 -0
  69. data/examples/v1/usage-metering/GetUsageRumUnits.rb +2 -5
  70. data/examples/v1/usage-metering/GetUsageRumUnits_3959755399.rb +8 -0
  71. data/examples/v1/usage-metering/GetUsageSDS.rb +2 -5
  72. data/examples/v1/usage-metering/GetUsageSDS_271128478.rb +8 -0
  73. data/examples/v1/usage-metering/GetUsageSynthetics.rb +1 -1
  74. data/examples/v1/usage-metering/GetUsageSyntheticsAPI.rb +2 -5
  75. data/examples/v1/usage-metering/GetUsageSyntheticsAPI_4048033529.rb +8 -0
  76. data/examples/v1/usage-metering/GetUsageSyntheticsBrowser.rb +2 -5
  77. data/examples/v1/usage-metering/GetUsageSyntheticsBrowser_1704663299.rb +8 -0
  78. data/examples/v2/audit/ListAuditLogs_1275402458.rb +8 -0
  79. data/examples/v2/audit/SearchAuditLogs_3215529662.rb +22 -0
  80. data/examples/v2/events/ListEvents.rb +8 -0
  81. data/examples/v2/events/ListEvents_1527584014.rb +13 -0
  82. data/examples/v2/events/ListEvents_2663715109.rb +14 -0
  83. data/examples/v2/events/SearchEvents.rb +23 -0
  84. data/examples/v2/events/SearchEvents_3856995058.rb +25 -0
  85. data/examples/v2/incident-services/CreateIncidentService.rb +1 -1
  86. data/examples/v2/incident-services/DeleteIncidentService.rb +1 -1
  87. data/examples/v2/incident-services/GetIncidentService.rb +1 -1
  88. data/examples/v2/incident-services/ListIncidentServices.rb +1 -1
  89. data/examples/v2/incident-services/UpdateIncidentService.rb +1 -1
  90. data/examples/v2/incident-teams/CreateIncidentTeam.rb +1 -1
  91. data/examples/v2/incident-teams/DeleteIncidentTeam.rb +1 -1
  92. data/examples/v2/incident-teams/GetIncidentTeam.rb +1 -1
  93. data/examples/v2/incident-teams/ListIncidentTeams.rb +1 -1
  94. data/examples/v2/incident-teams/UpdateIncidentTeam.rb +1 -1
  95. data/examples/v2/incidents/CreateIncident.rb +1 -1
  96. data/examples/v2/incidents/DeleteIncident.rb +1 -1
  97. data/examples/v2/incidents/GetIncident.rb +1 -1
  98. data/examples/v2/incidents/ListIncidents.rb +1 -1
  99. data/examples/v2/incidents/ListIncidents_2665616954.rb +11 -0
  100. data/examples/v2/incidents/UpdateIncident.rb +1 -1
  101. data/examples/v2/incidents/UpdateIncident_1009194038.rb +1 -1
  102. data/examples/v2/incidents/UpdateIncident_3369341440.rb +1 -1
  103. data/examples/v2/logs/ListLogsGet_738202670.rb +8 -0
  104. data/examples/v2/logs/ListLogs_3138392594.rb +25 -0
  105. data/examples/v2/metrics/SubmitMetrics.rb +6 -0
  106. data/examples/v2/processes/ListProcesses_797840471.rb +8 -0
  107. data/examples/v2/rum/ListRUMEvents_2680821282.rb +8 -0
  108. data/examples/v2/rum/SearchRUMEvents_574690310.rb +21 -0
  109. data/examples/v2/security-monitoring/EditSecurityMonitoringSignalAssignee.rb +15 -0
  110. data/examples/v2/security-monitoring/EditSecurityMonitoringSignalIncidents.rb +15 -0
  111. data/examples/v2/security-monitoring/EditSecurityMonitoringSignalState.rb +14 -0
  112. data/examples/v2/security-monitoring/ListSecurityMonitoringSignals_3960412991.rb +8 -0
  113. data/examples/v2/security-monitoring/SearchSecurityMonitoringSignals_1309350146.rb +20 -0
  114. data/examples/v2/security-monitoring/UpdateSecurityMonitoringRule.rb +1 -0
  115. data/examples/v2/usage-metering/GetEstimatedCostByOrg.rb +5 -2
  116. data/examples/v2/usage-metering/GetEstimatedCostByOrg_2734954020.rb +11 -0
  117. data/examples/v2/usage-metering/GetEstimatedCostByOrg_3186693804.rb +11 -0
  118. data/examples/v2/usage-metering/GetUsageApplicationSecurityMonitoring.rb +2 -5
  119. data/examples/v2/usage-metering/GetUsageApplicationSecurityMonitoring_3959166796.rb +8 -0
  120. data/examples/v2/usage-metering/GetUsageLambdaTracedInvocations.rb +2 -5
  121. data/examples/v2/usage-metering/GetUsageLambdaTracedInvocations_1436752065.rb +8 -0
  122. data/examples/v2/usage-metering/GetUsageObservabilityPipelines.rb +2 -5
  123. data/examples/v2/usage-metering/GetUsageObservabilityPipelines_970725512.rb +8 -0
  124. data/lib/datadog_api_client/{v2/api_client.rb → api_client.rb} +63 -11
  125. data/lib/datadog_api_client/api_key_configuration.rb +1 -18
  126. data/lib/datadog_api_client/{v1/configuration.rb → configuration.rb} +84 -31
  127. data/lib/datadog_api_client/inflector.rb +1293 -0
  128. data/lib/datadog_api_client/models.rb +66 -0
  129. data/lib/datadog_api_client/v1/api/authentication_api.rb +3 -11
  130. data/lib/datadog_api_client/v1/api/aws_integration_api.rb +19 -91
  131. data/lib/datadog_api_client/v1/api/aws_logs_integration_api.rb +15 -71
  132. data/lib/datadog_api_client/v1/api/azure_integration_api.rb +11 -51
  133. data/lib/datadog_api_client/v1/api/dashboard_lists_api.rb +11 -51
  134. data/lib/datadog_api_client/v1/api/dashboards_api.rb +15 -71
  135. data/lib/datadog_api_client/v1/api/downtimes_api.rb +15 -71
  136. data/lib/datadog_api_client/v1/api/events_api.rb +9 -33
  137. data/lib/datadog_api_client/v1/api/gcp_integration_api.rb +9 -41
  138. data/lib/datadog_api_client/v1/api/hosts_api.rb +9 -41
  139. data/lib/datadog_api_client/v1/api/ip_ranges_api.rb +3 -11
  140. data/lib/datadog_api_client/v1/api/key_management_api.rb +21 -101
  141. data/lib/datadog_api_client/v1/api/logs_api.rb +5 -21
  142. data/lib/datadog_api_client/v1/api/logs_indexes_api.rb +13 -61
  143. data/lib/datadog_api_client/v1/api/logs_pipelines_api.rb +15 -71
  144. data/lib/datadog_api_client/v1/api/metrics_api.rb +15 -71
  145. data/lib/datadog_api_client/v1/api/monitors_api.rb +21 -101
  146. data/lib/datadog_api_client/v1/api/notebooks_api.rb +11 -51
  147. data/lib/datadog_api_client/v1/api/organizations_api.rb +13 -61
  148. data/lib/datadog_api_client/v1/api/pager_duty_integration_api.rb +9 -41
  149. data/lib/datadog_api_client/v1/api/security_monitoring_api.rb +8 -32
  150. data/lib/datadog_api_client/v1/api/service_checks_api.rb +3 -11
  151. data/lib/datadog_api_client/v1/api/service_level_objective_corrections_api.rb +11 -51
  152. data/lib/datadog_api_client/v1/api/service_level_objectives_api.rb +31 -99
  153. data/lib/datadog_api_client/v1/api/slack_integration_api.rb +11 -51
  154. data/lib/datadog_api_client/v1/api/snapshots_api.rb +3 -11
  155. data/lib/datadog_api_client/v1/api/synthetics_api.rb +55 -271
  156. data/lib/datadog_api_client/v1/api/tags_api.rb +11 -51
  157. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +171 -418
  158. data/lib/datadog_api_client/v1/api/users_api.rb +11 -51
  159. data/lib/datadog_api_client/v1/api/webhooks_integration_api.rb +17 -81
  160. data/lib/datadog_api_client/v1/model_base.rb +2 -2
  161. data/lib/datadog_api_client/v1/models/distribution_point_item.rb +1 -1
  162. data/lib/datadog_api_client/v1/models/distribution_widget_histogram_request_query.rb +1 -1
  163. data/lib/datadog_api_client/v1/models/formula_and_function_query_definition.rb +1 -1
  164. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_body.rb +5 -1
  165. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +7 -0
  166. data/lib/datadog_api_client/v1/models/logs_processor.rb +1 -1
  167. data/lib/datadog_api_client/v1/models/monitor_formula_and_function_query_definition.rb +1 -1
  168. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_body.rb +6 -2
  169. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +14 -0
  170. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +21 -1
  171. data/lib/datadog_api_client/v1/models/notebook_cell_create_request_attributes.rb +1 -1
  172. data/lib/datadog_api_client/v1/models/notebook_cell_response_attributes.rb +1 -1
  173. data/lib/datadog_api_client/v1/models/notebook_cell_time.rb +1 -1
  174. data/lib/datadog_api_client/v1/models/notebook_cell_update_request_attributes.rb +1 -1
  175. data/lib/datadog_api_client/v1/models/notebook_global_time.rb +1 -1
  176. data/lib/datadog_api_client/v1/models/notebook_update_cell.rb +1 -1
  177. data/lib/datadog_api_client/v1/models/sunburst_widget_legend.rb +1 -1
  178. data/lib/datadog_api_client/v1/models/synthetics_assertion.rb +1 -1
  179. data/lib/datadog_api_client/v1/models/synthetics_basic_auth.rb +1 -1
  180. data/lib/datadog_api_client/v1/models/tree_map_color_by.rb +1 -1
  181. data/lib/datadog_api_client/v1/models/tree_map_group_by.rb +1 -1
  182. data/lib/datadog_api_client/v1/models/tree_map_size_by.rb +1 -1
  183. data/lib/datadog_api_client/v1/models/tree_map_widget_definition.rb +28 -6
  184. data/lib/datadog_api_client/v1/models/usage_attribution_body.rb +6 -2
  185. data/lib/datadog_api_client/v1/models/usage_attribution_sort.rb +2 -0
  186. data/lib/datadog_api_client/v1/models/usage_attribution_supported_metrics.rb +2 -0
  187. data/lib/datadog_api_client/v1/models/usage_attribution_values.rb +22 -2
  188. data/lib/datadog_api_client/v1/models/widget_definition.rb +1 -1
  189. data/lib/datadog_api_client/v2/api/audit_api.rb +11 -25
  190. data/lib/datadog_api_client/v2/api/authn_mappings_api.rb +11 -51
  191. data/lib/datadog_api_client/v2/api/cloud_workload_security_api.rb +13 -61
  192. data/lib/datadog_api_client/v2/api/dashboard_lists_api.rb +9 -41
  193. data/lib/datadog_api_client/v2/api/events_api.rb +228 -0
  194. data/lib/datadog_api_client/v2/api/incident_services_api.rb +36 -46
  195. data/lib/datadog_api_client/v2/api/incident_teams_api.rb +36 -46
  196. data/lib/datadog_api_client/v2/api/incidents_api.rb +39 -48
  197. data/lib/datadog_api_client/v2/api/key_management_api.rb +29 -141
  198. data/lib/datadog_api_client/v2/api/logs_api.rb +15 -45
  199. data/lib/datadog_api_client/v2/api/logs_archives_api.rb +21 -101
  200. data/lib/datadog_api_client/v2/api/logs_metrics_api.rb +11 -51
  201. data/lib/datadog_api_client/v2/api/metrics_api.rb +26 -112
  202. data/lib/datadog_api_client/v2/api/opsgenie_integration_api.rb +11 -51
  203. data/lib/datadog_api_client/v2/api/organizations_api.rb +3 -11
  204. data/lib/datadog_api_client/v2/api/processes_api.rb +6 -13
  205. data/lib/datadog_api_client/v2/api/roles_api.rb +27 -131
  206. data/lib/datadog_api_client/v2/api/rum_api.rb +13 -35
  207. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +247 -125
  208. data/lib/datadog_api_client/v2/api/service_accounts_api.rb +11 -51
  209. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +132 -68
  210. data/lib/datadog_api_client/v2/api/users_api.rb +21 -101
  211. data/lib/datadog_api_client/v2/model_base.rb +2 -2
  212. data/lib/datadog_api_client/v2/models/api_key_response_included_item.rb +1 -1
  213. data/lib/datadog_api_client/v2/models/application_key_response_included_item.rb +1 -1
  214. data/lib/datadog_api_client/v2/models/authn_mapping_included.rb +1 -1
  215. data/lib/datadog_api_client/v2/models/event.rb +141 -0
  216. data/lib/datadog_api_client/v2/models/event_attributes.rb +305 -0
  217. data/lib/datadog_api_client/v2/models/event_priority.rb +27 -0
  218. data/lib/datadog_api_client/v2/models/event_response.rb +133 -0
  219. data/lib/datadog_api_client/v2/models/event_response_attributes.rb +133 -0
  220. data/lib/datadog_api_client/v2/models/event_status_type.rb +35 -0
  221. data/lib/datadog_api_client/v2/models/event_type.rb +26 -0
  222. data/lib/datadog_api_client/v2/models/events_list_request.rb +142 -0
  223. data/lib/datadog_api_client/v2/models/events_list_response.rb +133 -0
  224. data/lib/datadog_api_client/v2/models/events_list_response_links.rb +112 -0
  225. data/lib/datadog_api_client/v2/models/events_query_filter.rb +137 -0
  226. data/lib/datadog_api_client/v2/models/events_query_options.rb +124 -0
  227. data/lib/datadog_api_client/v2/models/events_request_page.rb +134 -0
  228. data/lib/datadog_api_client/v2/models/events_response_metadata.rb +144 -0
  229. data/lib/datadog_api_client/v2/models/events_response_metadata_page.rb +112 -0
  230. data/lib/datadog_api_client/v2/models/events_sort.rb +27 -0
  231. data/lib/datadog_api_client/v2/models/events_warning.rb +131 -0
  232. data/lib/datadog_api_client/v2/models/hourly_usage.rb +133 -0
  233. data/lib/datadog_api_client/v2/models/hourly_usage_attributes.rb +163 -0
  234. data/lib/datadog_api_client/v2/models/hourly_usage_measurement.rb +122 -0
  235. data/lib/datadog_api_client/v2/models/hourly_usage_metadata.rb +111 -0
  236. data/lib/datadog_api_client/v2/models/hourly_usage_pagination.rb +112 -0
  237. data/lib/datadog_api_client/v2/models/hourly_usage_response.rb +123 -0
  238. data/lib/datadog_api_client/v2/models/incident_field_attributes.rb +1 -1
  239. data/lib/datadog_api_client/v2/models/incident_response_included_item.rb +1 -1
  240. data/lib/datadog_api_client/v2/models/incident_service_included_items.rb +1 -1
  241. data/lib/datadog_api_client/v2/models/incident_team_included_items.rb +1 -1
  242. data/lib/datadog_api_client/v2/models/incident_timeline_cell_create_attributes.rb +1 -1
  243. data/lib/datadog_api_client/v2/models/logs_aggregate_bucket_value.rb +1 -1
  244. data/lib/datadog_api_client/v2/models/logs_archive_create_request_destination.rb +1 -1
  245. data/lib/datadog_api_client/v2/models/logs_archive_destination.rb +1 -1
  246. data/lib/datadog_api_client/v2/models/logs_group_by_missing.rb +1 -1
  247. data/lib/datadog_api_client/v2/models/logs_group_by_total.rb +1 -1
  248. data/lib/datadog_api_client/v2/models/metric_intake_type.rb +1 -2
  249. data/lib/datadog_api_client/v2/models/metric_resource.rb +2 -2
  250. data/lib/datadog_api_client/v2/models/metric_series.rb +1 -1
  251. data/lib/datadog_api_client/v2/models/metric_volumes.rb +1 -1
  252. data/lib/datadog_api_client/v2/models/metrics_and_metric_tag_configurations.rb +1 -1
  253. data/lib/datadog_api_client/v2/models/monitor_type.rb +215 -0
  254. data/lib/datadog_api_client/v2/models/rum_aggregate_bucket_value.rb +1 -1
  255. data/lib/datadog_api_client/v2/models/rum_group_by_missing.rb +1 -1
  256. data/lib/datadog_api_client/v2/models/rum_group_by_total.rb +1 -1
  257. data/lib/datadog_api_client/v2/models/security_monitoring_rule_query.rb +13 -1
  258. data/lib/datadog_api_client/v2/models/security_monitoring_rule_query_create.rb +13 -1
  259. data/lib/datadog_api_client/v2/models/security_monitoring_signal_archive_reason.rb +29 -0
  260. data/lib/datadog_api_client/v2/models/security_monitoring_signal_assignee_update_attributes.rb +132 -0
  261. data/lib/datadog_api_client/v2/models/security_monitoring_signal_assignee_update_data.rb +122 -0
  262. data/lib/datadog_api_client/v2/models/security_monitoring_signal_assignee_update_request.rb +122 -0
  263. data/lib/datadog_api_client/v2/models/security_monitoring_signal_incidents_update_attributes.rb +134 -0
  264. data/lib/datadog_api_client/v2/models/security_monitoring_signal_incidents_update_data.rb +122 -0
  265. data/lib/datadog_api_client/v2/models/security_monitoring_signal_incidents_update_request.rb +122 -0
  266. data/lib/datadog_api_client/v2/models/security_monitoring_signal_state.rb +28 -0
  267. data/lib/datadog_api_client/v2/models/security_monitoring_signal_state_update_attributes.rb +152 -0
  268. data/lib/datadog_api_client/v2/models/security_monitoring_signal_state_update_data.rb +122 -0
  269. data/lib/datadog_api_client/v2/models/security_monitoring_signal_state_update_request.rb +122 -0
  270. data/lib/datadog_api_client/v2/models/security_monitoring_signal_triage_attributes.rb +248 -0
  271. data/lib/datadog_api_client/v2/models/security_monitoring_signal_triage_update_data.rb +111 -0
  272. data/lib/datadog_api_client/v2/models/security_monitoring_signal_triage_update_response.rb +122 -0
  273. data/lib/datadog_api_client/v2/models/security_monitoring_triage_user.rb +152 -0
  274. data/lib/datadog_api_client/v2/models/user_response_included_item.rb +1 -1
  275. data/lib/datadog_api_client/version.rb +1 -1
  276. data/lib/datadog_api_client.rb +13 -5
  277. data/spec/{v1/api_client_spec.rb → api_client_spec.rb} +29 -29
  278. data/spec/{v1/configuration_spec.rb → configuration_spec.rb} +3 -3
  279. data/spec/spec_helper.rb +1 -3
  280. metadata +109 -22
  281. data/.dockerignore +0 -1
  282. data/.generator/src/generator/templates/api_error.j2 +0 -49
  283. data/examples/v2/usage-metering/GetEstimatedCostByOrg_1171921972.rb +0 -9
  284. data/examples/v2/usage-metering/GetEstimatedCostByOrg_627383212.rb +0 -9
  285. data/lib/datadog_api_client/v1/api_client.rb +0 -453
  286. data/lib/datadog_api_client/v1/api_error.rb +0 -60
  287. data/lib/datadog_api_client/v1.rb +0 -813
  288. data/lib/datadog_api_client/v2/api_error.rb +0 -60
  289. data/lib/datadog_api_client/v2/configuration.rb +0 -420
  290. data/lib/datadog_api_client/v2.rb +0 -555
  291. data/spec/v2/api_client_spec.rb +0 -210
  292. data/spec/v2/configuration_spec.rb +0 -45
@@ -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
 
@@ -1,5 +1,5 @@
1
1
  =begin
2
- #Datadog API V1 Collection
2
+ #Datadog API V2 Collection
3
3
 
4
4
  #Collection of all Datadog Public endpoints.
5
5
 
@@ -13,7 +13,7 @@ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.ge
13
13
 
14
14
  =end
15
15
 
16
- module DatadogAPIClient::V1
16
+ module DatadogAPIClient
17
17
  class Configuration
18
18
  # Defines url scheme
19
19
  attr_accessor :scheme
@@ -158,15 +158,31 @@ module DatadogAPIClient::V1
158
158
  @compress = true
159
159
  @logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
160
160
  @unstable_operations = {
161
- get_daily_custom_reports: false,
162
- get_specified_daily_custom_reports: false,
163
- get_monthly_custom_reports: false,
164
- get_specified_monthly_custom_reports: false,
165
- search_slo: false,
166
- get_slo_history: false,
167
- get_usage_attribution: false,
168
- get_hourly_usage_attribution: false,
169
- get_monthly_usage_attribution: false,
161
+ "v1.get_daily_custom_reports": false,
162
+ "v1.get_monthly_custom_reports": false,
163
+ "v1.get_specified_daily_custom_reports": false,
164
+ "v1.get_specified_monthly_custom_reports": false,
165
+ "v1.get_usage_attribution": false,
166
+ "v1.get_slo_history": false,
167
+ "v1.search_slo": false,
168
+ "v2.list_events": false,
169
+ "v2.search_events": false,
170
+ "v2.create_incident": false,
171
+ "v2.delete_incident": false,
172
+ "v2.get_incident": false,
173
+ "v2.list_incidents": false,
174
+ "v2.update_incident": false,
175
+ "v2.create_incident_service": false,
176
+ "v2.delete_incident_service": false,
177
+ "v2.get_incident_service": false,
178
+ "v2.list_incident_services": false,
179
+ "v2.update_incident_service": false,
180
+ "v2.create_incident_team": false,
181
+ "v2.delete_incident_team": false,
182
+ "v2.get_incident_team": false,
183
+ "v2.list_incident_teams": false,
184
+ "v2.update_incident_team": false,
185
+ "v2.get_estimated_cost_by_org": false,
170
186
  }
171
187
  @server_variables[:site] = ENV['DD_SITE'] if ENV.key? 'DD_SITE'
172
188
  @api_key['apiKeyAuth'] = ENV['DD_API_KEY'] if ENV.key? 'DD_API_KEY'
@@ -202,10 +218,10 @@ module DatadogAPIClient::V1
202
218
 
203
219
  # Returns base URL for specified operation based on server settings
204
220
  def base_url(operation = nil)
205
- index = server_operation_index.fetch(operation, server_index)
221
+ index = server_operation_index.fetch(operation.to_sym, server_index)
206
222
  return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if index == nil
207
223
 
208
- server_url(index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
224
+ server_url(index, server_operation_variables.fetch(operation.to_sym, server_variables), operation_server_settings[operation.to_sym])
209
225
  end
210
226
 
211
227
  # Gets API key (with prefix if set).
@@ -242,13 +258,6 @@ module DatadogAPIClient::V1
242
258
  key: 'DD-API-KEY',
243
259
  value: api_key_with_prefix('apiKeyAuth')
244
260
  },
245
- apiKeyAuthQuery:
246
- {
247
- type: 'api_key',
248
- in: 'query',
249
- key: 'api_key',
250
- value: api_key_with_prefix('apiKeyAuthQuery', 'apiKeyAuth')
251
- },
252
261
  appKeyAuth:
253
262
  {
254
263
  type: 'api_key',
@@ -256,13 +265,6 @@ module DatadogAPIClient::V1
256
265
  key: 'DD-APPLICATION-KEY',
257
266
  value: api_key_with_prefix('appKeyAuth')
258
267
  },
259
- appKeyAuthQuery:
260
- {
261
- type: 'api_key',
262
- in: 'query',
263
- key: 'application_key',
264
- value: api_key_with_prefix('appKeyAuthQuery', 'appKeyAuth')
265
- },
266
268
  }
267
269
  end
268
270
 
@@ -274,7 +276,7 @@ module DatadogAPIClient::V1
274
276
  description: "No description provided",
275
277
  variables: {
276
278
  site: {
277
- description: "The regional site for a Datadog customer.",
279
+ description: "The regional site for Datadog customers.",
278
280
  default_value: "datadoghq.com",
279
281
  enum_values: [
280
282
  "datadoghq.com",
@@ -323,7 +325,7 @@ module DatadogAPIClient::V1
323
325
 
324
326
  def operation_server_settings
325
327
  {
326
- get_ip_ranges: [
328
+ "v1.get_ip_ranges": [
327
329
  {
328
330
  url: "https://{subdomain}.{site}",
329
331
  description: "No description provided",
@@ -370,7 +372,7 @@ module DatadogAPIClient::V1
370
372
  }
371
373
  }
372
374
  ],
373
- search_slo: [
375
+ "v1.search_slo": [
374
376
  {
375
377
  url: "https://{subdomain}.{site}",
376
378
  description: "No description provided",
@@ -420,7 +422,7 @@ module DatadogAPIClient::V1
420
422
  }
421
423
  }
422
424
  ],
423
- submit_log: [
425
+ "v1.submit_log": [
424
426
  {
425
427
  url: "https://{subdomain}.{site}",
426
428
  description: "No description provided",
@@ -471,6 +473,57 @@ module DatadogAPIClient::V1
471
473
  }
472
474
  }
473
475
  ],
476
+ "v2.submit_log": [
477
+ {
478
+ url: "https://{subdomain}.{site}",
479
+ description: "No description provided",
480
+ variables: {
481
+ site: {
482
+ description: "The regional site for customers.",
483
+ default_value: "datadoghq.com",
484
+ enum_values: [
485
+ "datadoghq.com",
486
+ "us3.datadoghq.com",
487
+ "us5.datadoghq.com",
488
+ "datadoghq.eu",
489
+ "ddog-gov.com"
490
+ ]
491
+ },
492
+ subdomain: {
493
+ description: "The subdomain where the API is deployed.",
494
+ default_value: "http-intake.logs",
495
+ }
496
+ }
497
+ },
498
+ {
499
+ url: "{protocol}://{name}",
500
+ description: "No description provided",
501
+ variables: {
502
+ name: {
503
+ description: "Full site DNS name.",
504
+ default_value: "http-intake.logs.datadoghq.com",
505
+ },
506
+ protocol: {
507
+ description: "The protocol for accessing the API.",
508
+ default_value: "https",
509
+ }
510
+ }
511
+ },
512
+ {
513
+ url: "https://{subdomain}.{site}",
514
+ description: "No description provided",
515
+ variables: {
516
+ site: {
517
+ description: "Any Datadog deployment.",
518
+ default_value: "datadoghq.com",
519
+ },
520
+ subdomain: {
521
+ description: "The subdomain where the API is deployed.",
522
+ default_value: "http-intake.logs",
523
+ }
524
+ }
525
+ }
526
+ ],
474
527
  }
475
528
  end
476
529