datadog_api_client 1.11.0 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
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