datadog_api_client 1.9.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (440) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/schemas/v1/openapi.yaml +1486 -273
  4. data/.generator/schemas/v2/openapi.yaml +2348 -146
  5. data/.generator/src/generator/cli.py +57 -40
  6. data/.generator/src/generator/formatter.py +20 -1
  7. data/.generator/src/generator/openapi.py +15 -9
  8. data/.generator/src/generator/templates/api.j2 +14 -13
  9. data/.generator/src/generator/templates/api_client.j2 +64 -15
  10. data/.generator/src/generator/templates/configuration.j2 +12 -8
  11. data/.generator/src/generator/templates/example.j2 +1 -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_generic.j2 +42 -3
  15. data/.generator/src/generator/templates/model_oneof.j2 +1 -1
  16. data/.generator/src/generator/templates/package.j2 +7 -12
  17. data/.github/workflows/approved_status.yml +0 -2
  18. data/.github/workflows/codeql-analysis.yml +49 -0
  19. data/.github/workflows/docs.yml +1 -1
  20. data/.github/workflows/prepare_release.yml +16 -4
  21. data/.github/workflows/publish.yml +1 -1
  22. data/.github/workflows/release.yml +1 -1
  23. data/.github/workflows/test.yml +4 -6
  24. data/.github/workflows/test_integration.yml +1 -8
  25. data/.pre-commit-config.yaml +3 -12
  26. data/CHANGELOG.md +91 -0
  27. data/Gemfile +1 -0
  28. data/Makefile +2 -3
  29. data/README.md +16 -0
  30. data/check-examples.sh +0 -2
  31. data/datadog_api_client.gemspec +2 -0
  32. data/examples/v1/aws-integration/UpdateAWSAccount.rb +8 -4
  33. data/examples/v1/dashboards/CreateDashboard_1442588603.rb +61 -0
  34. data/examples/v1/dashboards/CreateDashboard_252716965.rb +52 -0
  35. data/examples/v1/dashboards/CreateDashboard_3882428227.rb +60 -0
  36. data/examples/v1/downtimes/CreateDowntime_1393233946.rb +3 -0
  37. data/examples/v1/downtimes/CreateDowntime_2908359488.rb +4 -0
  38. data/examples/v1/downtimes/CreateDowntime_3059354445.rb +4 -0
  39. data/examples/v1/downtimes/UpdateDowntime.rb +1 -0
  40. data/examples/v1/events/ListEvents.rb +1 -1
  41. data/examples/v1/metrics/SubmitDistributionPoints.rb +22 -0
  42. data/examples/v1/metrics/SubmitDistributionPoints_3109558960.rb +25 -0
  43. data/examples/v1/monitors/CreateMonitor_1969035628.rb +52 -0
  44. data/examples/v1/monitors/CreateMonitor_2520912138.rb +22 -0
  45. data/examples/v1/organizations/DowngradeOrg.rb +5 -0
  46. data/examples/v1/organizations/UpdateOrg.rb +1 -0
  47. data/examples/v1/security-monitoring/AddSecurityMonitoringSignalToIncident.rb +9 -0
  48. data/examples/v1/security-monitoring/EditSecurityMonitoringSignalAssignee.rb +9 -0
  49. data/examples/v1/security-monitoring/EditSecurityMonitoringSignalState.rb +10 -0
  50. data/examples/v1/service-level-objective-corrections/CreateSLOCorrection.rb +0 -3
  51. data/examples/v1/service-level-objective-corrections/CreateSLOCorrection_1326388368.rb +0 -3
  52. data/examples/v1/service-level-objective-corrections/DeleteSLOCorrection.rb +0 -3
  53. data/examples/v1/service-level-objective-corrections/GetSLOCorrection.rb +0 -3
  54. data/examples/v1/service-level-objective-corrections/ListSLOCorrection.rb +0 -3
  55. data/examples/v1/service-level-objective-corrections/UpdateSLOCorrection.rb +0 -3
  56. data/examples/v1/service-level-objectives/GetSLOCorrections.rb +0 -3
  57. data/examples/v1/service-level-objectives/GetSLOHistory.rb +1 -1
  58. data/examples/v1/service-level-objectives/SearchSLO.rb +16 -0
  59. data/examples/v1/snapshots/GetGraphSnapshot.rb +2 -0
  60. data/examples/v1/synthetics/CreateSyntheticsAPITest.rb +8 -0
  61. data/examples/v1/synthetics/CreateSyntheticsAPITest_1402674167.rb +44 -0
  62. data/examples/v1/synthetics/CreateSyntheticsBrowserTest_2932742688.rb +67 -0
  63. data/examples/v1/synthetics/GetAPITestLatestResults.rb +1 -1
  64. data/examples/v1/synthetics/GetAPITestResult.rb +1 -1
  65. data/examples/v1/synthetics/GetBrowserTestLatestResults.rb +1 -1
  66. data/examples/v1/synthetics/GetBrowserTestResult.rb +1 -1
  67. data/examples/v1/synthetics/UpdateBrowserTest.rb +8 -0
  68. data/examples/v1/usage-metering/GetDailyCustomReports.rb +1 -1
  69. data/examples/v1/usage-metering/GetHourlyUsageAttribution.rb +1 -4
  70. data/examples/v1/usage-metering/GetMonthlyCustomReports.rb +1 -1
  71. data/examples/v1/usage-metering/GetMonthlyUsageAttribution.rb +1 -4
  72. data/examples/v1/usage-metering/{GetMonthlyUsageAttribution_3738504447.rb → GetMonthlyUsageAttribution_3849653599.rb} +1 -1
  73. data/examples/v1/usage-metering/GetSpecifiedDailyCustomReports.rb +1 -1
  74. data/examples/v1/usage-metering/GetSpecifiedMonthlyCustomReports.rb +1 -1
  75. data/examples/v1/usage-metering/GetUsageAttribution.rb +2 -2
  76. data/examples/v1/usage-metering/GetUsageCIApp.rb +2 -5
  77. data/examples/v1/usage-metering/GetUsageCIApp_1064440884.rb +8 -0
  78. data/examples/v1/usage-metering/GetUsageCWS.rb +2 -5
  79. data/examples/v1/usage-metering/GetUsageCWS_736958514.rb +8 -0
  80. data/examples/v1/usage-metering/GetUsageDBM.rb +2 -5
  81. data/examples/v1/usage-metering/GetUsageDBM_3446806203.rb +8 -0
  82. data/examples/v1/usage-metering/GetUsageLambda.rb +2 -5
  83. data/examples/v1/usage-metering/GetUsageLambda_3132428705.rb +8 -0
  84. data/examples/v1/usage-metering/GetUsageLogs.rb +2 -5
  85. data/examples/v1/usage-metering/GetUsageLogsByIndex.rb +2 -5
  86. data/examples/v1/usage-metering/GetUsageLogsByIndex_1025184776.rb +8 -0
  87. data/examples/v1/usage-metering/GetUsageLogs_2562396405.rb +8 -0
  88. data/examples/v1/usage-metering/GetUsageNetworkFlows.rb +2 -5
  89. data/examples/v1/usage-metering/GetUsageNetworkFlows_1239422069.rb +8 -0
  90. data/examples/v1/usage-metering/GetUsageNetworkHosts.rb +2 -5
  91. data/examples/v1/usage-metering/GetUsageNetworkHosts_1249907835.rb +8 -0
  92. data/examples/v1/usage-metering/GetUsageOnlineArchive.rb +2 -5
  93. data/examples/v1/usage-metering/GetUsageOnlineArchive_1501172903.rb +8 -0
  94. data/examples/v1/usage-metering/GetUsageRumSessions.rb +2 -5
  95. data/examples/v1/usage-metering/GetUsageRumSessions_3271366243.rb +9 -0
  96. data/examples/v1/usage-metering/GetUsageRumSessions_714937291.rb +8 -0
  97. data/examples/v1/usage-metering/GetUsageRumUnits.rb +2 -5
  98. data/examples/v1/usage-metering/GetUsageRumUnits_3959755399.rb +8 -0
  99. data/examples/v1/usage-metering/GetUsageSDS.rb +2 -5
  100. data/examples/v1/usage-metering/GetUsageSDS_271128478.rb +8 -0
  101. data/examples/v1/usage-metering/GetUsageSynthetics.rb +1 -1
  102. data/examples/v1/usage-metering/GetUsageSyntheticsAPI.rb +2 -5
  103. data/examples/v1/usage-metering/GetUsageSyntheticsAPI_4048033529.rb +8 -0
  104. data/examples/v1/usage-metering/GetUsageSyntheticsBrowser.rb +2 -5
  105. data/examples/v1/usage-metering/GetUsageSyntheticsBrowser_1704663299.rb +8 -0
  106. data/examples/v2/events/ListEvents.rb +8 -0
  107. data/examples/v2/events/ListEvents_2663715109.rb +14 -0
  108. data/examples/v2/events/SearchEvents.rb +23 -0
  109. data/examples/v2/incident-services/CreateIncidentService.rb +1 -1
  110. data/examples/v2/incident-services/DeleteIncidentService.rb +1 -1
  111. data/examples/v2/incident-services/GetIncidentService.rb +1 -1
  112. data/examples/v2/incident-services/ListIncidentServices.rb +1 -1
  113. data/examples/v2/incident-services/UpdateIncidentService.rb +1 -1
  114. data/examples/v2/incident-teams/CreateIncidentTeam.rb +1 -1
  115. data/examples/v2/incident-teams/DeleteIncidentTeam.rb +1 -1
  116. data/examples/v2/incident-teams/GetIncidentTeam.rb +1 -1
  117. data/examples/v2/incident-teams/ListIncidentTeams.rb +1 -1
  118. data/examples/v2/incident-teams/UpdateIncidentTeam.rb +1 -1
  119. data/examples/v2/incidents/CreateIncident.rb +1 -1
  120. data/examples/v2/incidents/DeleteIncident.rb +1 -1
  121. data/examples/v2/incidents/GetIncident.rb +1 -1
  122. data/examples/v2/incidents/ListIncidents.rb +1 -1
  123. data/examples/v2/incidents/UpdateIncident.rb +1 -1
  124. data/examples/v2/incidents/UpdateIncident_1009194038.rb +1 -1
  125. data/examples/v2/incidents/UpdateIncident_3369341440.rb +1 -1
  126. data/examples/v2/logs/SubmitLog.rb +1 -0
  127. data/examples/v2/logs-archives/CreateLogsArchive.rb +1 -0
  128. data/examples/v2/logs-archives/UpdateLogsArchive.rb +1 -0
  129. data/examples/v2/metrics/CreateTagConfiguration.rb +0 -3
  130. data/examples/v2/metrics/DeleteTagConfiguration.rb +0 -3
  131. data/examples/v2/metrics/EstimateMetricsOutputSeries.rb +9 -0
  132. data/examples/v2/metrics/ListTagConfigurationByName.rb +0 -3
  133. data/examples/v2/metrics/ListTagConfigurations.rb +0 -3
  134. data/examples/v2/metrics/ListTagConfigurations_103226315.rb +0 -3
  135. data/examples/v2/metrics/ListTagConfigurations_1799362914.rb +0 -3
  136. data/examples/v2/metrics/SubmitMetrics.rb +26 -0
  137. data/examples/v2/metrics/UpdateTagConfiguration.rb +0 -3
  138. data/examples/v2/opsgenie-integration/CreateOpsgenieService.rb +16 -0
  139. data/examples/v2/opsgenie-integration/DeleteOpsgenieService.rb +8 -0
  140. data/examples/v2/opsgenie-integration/GetOpsgenieService.rb +8 -0
  141. data/examples/v2/opsgenie-integration/ListOpsgenieServices.rb +5 -0
  142. data/examples/v2/opsgenie-integration/UpdateOpsgenieService.rb +21 -0
  143. data/examples/v2/security-monitoring/EditSecurityMonitoringSignalAssignee.rb +15 -0
  144. data/examples/v2/security-monitoring/EditSecurityMonitoringSignalIncidents.rb +15 -0
  145. data/examples/v2/security-monitoring/EditSecurityMonitoringSignalState.rb +14 -0
  146. data/examples/v2/security-monitoring/ListSecurityMonitoringSignals.rb +0 -3
  147. data/examples/v2/security-monitoring/SearchSecurityMonitoringSignals.rb +0 -3
  148. data/examples/v2/security-monitoring/UpdateSecurityMonitoringRule.rb +5 -0
  149. data/examples/v2/usage-metering/GetCostByOrg.rb +5 -0
  150. data/examples/v2/usage-metering/GetEstimatedCostByOrg.rb +8 -0
  151. data/examples/v2/usage-metering/GetEstimatedCostByOrg_2734954020.rb +11 -0
  152. data/examples/v2/usage-metering/GetEstimatedCostByOrg_3186693804.rb +11 -0
  153. data/examples/v2/usage-metering/GetUsageApplicationSecurityMonitoring.rb +5 -0
  154. data/examples/v2/usage-metering/GetUsageApplicationSecurityMonitoring_3959166796.rb +8 -0
  155. data/examples/v2/usage-metering/GetUsageLambdaTracedInvocations.rb +5 -0
  156. data/examples/v2/usage-metering/GetUsageLambdaTracedInvocations_1436752065.rb +8 -0
  157. data/examples/v2/usage-metering/GetUsageObservabilityPipelines.rb +2 -5
  158. data/examples/v2/usage-metering/GetUsageObservabilityPipelines_970725512.rb +8 -0
  159. data/lib/datadog_api_client/{v2/api_client.rb → api_client.rb} +64 -15
  160. data/lib/datadog_api_client/api_key_configuration.rb +1 -18
  161. data/lib/datadog_api_client/{v1/configuration.rb → configuration.rb} +133 -35
  162. data/lib/datadog_api_client/inflector.rb +1293 -0
  163. data/lib/datadog_api_client/models.rb +66 -0
  164. data/lib/datadog_api_client/v1/api/authentication_api.rb +3 -11
  165. data/lib/datadog_api_client/v1/api/aws_integration_api.rb +19 -91
  166. data/lib/datadog_api_client/v1/api/aws_logs_integration_api.rb +15 -71
  167. data/lib/datadog_api_client/v1/api/azure_integration_api.rb +11 -51
  168. data/lib/datadog_api_client/v1/api/dashboard_lists_api.rb +11 -51
  169. data/lib/datadog_api_client/v1/api/dashboards_api.rb +15 -71
  170. data/lib/datadog_api_client/v1/api/downtimes_api.rb +15 -71
  171. data/lib/datadog_api_client/v1/api/events_api.rb +9 -33
  172. data/lib/datadog_api_client/v1/api/gcp_integration_api.rb +9 -41
  173. data/lib/datadog_api_client/v1/api/hosts_api.rb +9 -41
  174. data/lib/datadog_api_client/v1/api/ip_ranges_api.rb +3 -11
  175. data/lib/datadog_api_client/v1/api/key_management_api.rb +21 -101
  176. data/lib/datadog_api_client/v1/api/logs_api.rb +5 -21
  177. data/lib/datadog_api_client/v1/api/logs_indexes_api.rb +13 -61
  178. data/lib/datadog_api_client/v1/api/logs_pipelines_api.rb +15 -71
  179. data/lib/datadog_api_client/v1/api/metrics_api.rb +87 -62
  180. data/lib/datadog_api_client/v1/api/monitors_api.rb +90 -157
  181. data/lib/datadog_api_client/v1/api/notebooks_api.rb +11 -51
  182. data/lib/datadog_api_client/v1/api/organizations_api.rb +77 -52
  183. data/lib/datadog_api_client/v1/api/pager_duty_integration_api.rb +9 -41
  184. data/lib/datadog_api_client/v1/api/security_monitoring_api.rb +242 -0
  185. data/lib/datadog_api_client/v1/api/service_checks_api.rb +3 -11
  186. data/lib/datadog_api_client/v1/api/service_level_objective_corrections_api.rb +12 -52
  187. data/lib/datadog_api_client/v1/api/service_level_objectives_api.rb +100 -94
  188. data/lib/datadog_api_client/v1/api/slack_integration_api.rb +11 -51
  189. data/lib/datadog_api_client/v1/api/snapshots_api.rb +7 -11
  190. data/lib/datadog_api_client/v1/api/synthetics_api.rb +55 -271
  191. data/lib/datadog_api_client/v1/api/tags_api.rb +11 -51
  192. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +184 -427
  193. data/lib/datadog_api_client/v1/api/users_api.rb +11 -51
  194. data/lib/datadog_api_client/v1/api/webhooks_integration_api.rb +17 -81
  195. data/lib/datadog_api_client/v1/model_base.rb +2 -2
  196. data/lib/datadog_api_client/v1/models/add_signal_to_incident_request.rb +142 -0
  197. data/lib/datadog_api_client/v1/models/distribution_point_item.rb +63 -0
  198. data/lib/datadog_api_client/v1/models/distribution_points_content_encoding.rb +26 -0
  199. data/lib/datadog_api_client/v1/models/distribution_points_payload.rb +124 -0
  200. data/lib/datadog_api_client/v1/models/distribution_points_series.rb +179 -0
  201. data/lib/datadog_api_client/v1/models/distribution_points_type.rb +26 -0
  202. data/lib/datadog_api_client/v1/models/distribution_widget_histogram_request_query.rb +64 -0
  203. data/lib/datadog_api_client/v1/models/distribution_widget_histogram_request_type.rb +26 -0
  204. data/lib/datadog_api_client/v1/models/distribution_widget_request.rb +21 -1
  205. data/lib/datadog_api_client/v1/models/downtime.rb +11 -1
  206. data/lib/datadog_api_client/v1/models/downtime_child.rb +11 -1
  207. data/lib/datadog_api_client/v1/models/event.rb +1 -1
  208. data/lib/datadog_api_client/v1/models/formula_and_function_apm_resource_stat_name.rb +1 -0
  209. data/lib/datadog_api_client/v1/models/formula_and_function_query_definition.rb +1 -1
  210. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_body.rb +5 -1
  211. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +9 -0
  212. data/lib/datadog_api_client/v1/models/http_log_item.rb +29 -4
  213. data/lib/datadog_api_client/v1/models/ip_prefixes_synthetics_private_locations.rb +125 -0
  214. data/lib/datadog_api_client/v1/models/ip_ranges.rb +11 -1
  215. data/lib/datadog_api_client/v1/models/logs_category_processor.rb +1 -1
  216. data/lib/datadog_api_client/v1/models/logs_list_request.rb +1 -1
  217. data/lib/datadog_api_client/v1/models/logs_processor.rb +1 -1
  218. data/lib/datadog_api_client/v1/models/logs_sort.rb +1 -1
  219. data/lib/datadog_api_client/v1/models/monitor_formula_and_function_events_data_source.rb +1 -0
  220. data/lib/datadog_api_client/v1/models/monitor_formula_and_function_query_definition.rb +1 -1
  221. data/lib/datadog_api_client/v1/models/monitor_group_search_response_counts.rb +2 -2
  222. data/lib/datadog_api_client/v1/models/{monitor_search_response_counts_tag_item.rb → monitor_search_count_item.rb} +3 -3
  223. data/lib/datadog_api_client/v1/models/monitor_search_response_counts.rb +4 -4
  224. data/lib/datadog_api_client/v1/models/monitor_type.rb +1 -0
  225. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_body.rb +6 -2
  226. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_response.rb +1 -1
  227. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +18 -0
  228. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +61 -1
  229. data/lib/datadog_api_client/v1/models/notebook_cell_create_request.rb +146 -0
  230. data/lib/datadog_api_client/v1/models/notebook_cell_create_request_attributes.rb +68 -0
  231. data/lib/datadog_api_client/v1/models/notebook_cell_response_attributes.rb +1 -1
  232. data/lib/datadog_api_client/v1/models/notebook_cell_time.rb +1 -1
  233. data/lib/datadog_api_client/v1/models/notebook_cell_update_request_attributes.rb +1 -1
  234. data/lib/datadog_api_client/v1/models/notebook_global_time.rb +1 -1
  235. data/lib/datadog_api_client/v1/models/notebook_update_cell.rb +1 -1
  236. data/lib/datadog_api_client/v1/models/org_downgraded_response.rb +111 -0
  237. data/lib/datadog_api_client/v1/models/organization.rb +14 -4
  238. data/lib/datadog_api_client/v1/models/search_slo_response.rb +131 -0
  239. data/lib/datadog_api_client/v1/models/{monitor_group_search_response_counts_status_item.rb → search_slo_response_data.rb} +19 -19
  240. data/lib/datadog_api_client/v1/models/{monitor_group_search_response_counts_type_item.rb → search_slo_response_data_attributes.rb} +21 -19
  241. data/lib/datadog_api_client/v1/models/search_slo_response_data_attributes_facets.rb +197 -0
  242. data/lib/datadog_api_client/v1/models/{monitor_search_response_counts_type_item.rb → search_slo_response_data_attributes_facets_object_int.rb} +7 -7
  243. data/lib/datadog_api_client/v1/models/{monitor_search_response_counts_muted_item.rb → search_slo_response_data_attributes_facets_object_string.rb} +7 -7
  244. data/lib/datadog_api_client/v1/models/search_slo_response_links.rb +151 -0
  245. data/lib/datadog_api_client/v1/models/search_slo_response_meta.rb +111 -0
  246. data/lib/datadog_api_client/v1/models/search_slo_response_meta_page.rb +181 -0
  247. data/lib/datadog_api_client/v1/models/series.rb +2 -2
  248. data/lib/datadog_api_client/v1/models/service_level_objective.rb +3 -3
  249. data/lib/datadog_api_client/v1/models/service_level_objective_query.rb +1 -1
  250. data/lib/datadog_api_client/v1/models/service_level_objective_request.rb +3 -3
  251. data/lib/datadog_api_client/v1/models/signal_archive_reason.rb +29 -0
  252. data/lib/datadog_api_client/v1/models/signal_assignee_update_request.rb +132 -0
  253. data/lib/datadog_api_client/v1/models/signal_state_update_request.rb +152 -0
  254. data/lib/datadog_api_client/v1/models/signal_triage_state.rb +28 -0
  255. data/lib/datadog_api_client/v1/models/slo_correction_create_request_attributes.rb +1 -1
  256. data/lib/datadog_api_client/v1/models/slo_correction_response_attributes.rb +4 -4
  257. data/lib/datadog_api_client/v1/models/slo_correction_update_request_attributes.rb +1 -1
  258. data/lib/datadog_api_client/v1/models/slo_history_metrics.rb +1 -1
  259. data/lib/datadog_api_client/v1/models/slo_response_data.rb +1 -1
  260. data/lib/datadog_api_client/v1/models/successful_signal_update_response.rb +111 -0
  261. data/lib/datadog_api_client/v1/models/sunburst_widget_legend.rb +1 -1
  262. data/lib/datadog_api_client/v1/models/synthetics_api_test.rb +12 -1
  263. data/lib/datadog_api_client/v1/models/synthetics_assertion.rb +1 -1
  264. data/lib/datadog_api_client/v1/models/synthetics_assertion_type.rb +2 -0
  265. data/lib/datadog_api_client/v1/models/synthetics_basic_auth.rb +1 -1
  266. data/lib/datadog_api_client/v1/models/synthetics_browser_test.rb +11 -0
  267. data/lib/datadog_api_client/v1/models/synthetics_browser_test_rum_settings.rb +152 -0
  268. data/lib/datadog_api_client/v1/models/synthetics_core_web_vitals.rb +2 -2
  269. data/lib/datadog_api_client/v1/models/synthetics_test_ci_options.rb +111 -0
  270. data/lib/datadog_api_client/v1/models/synthetics_test_details.rb +1 -1
  271. data/lib/datadog_api_client/v1/models/synthetics_test_details_sub_type.rb +2 -1
  272. data/lib/datadog_api_client/v1/models/synthetics_test_options.rb +31 -1
  273. data/lib/datadog_api_client/v1/models/synthetics_test_request.rb +21 -1
  274. data/lib/datadog_api_client/v1/models/tree_map_color_by.rb +1 -1
  275. data/lib/datadog_api_client/v1/models/tree_map_group_by.rb +1 -1
  276. data/lib/datadog_api_client/v1/models/tree_map_size_by.rb +1 -1
  277. data/lib/datadog_api_client/v1/models/tree_map_widget_definition.rb +28 -6
  278. data/lib/datadog_api_client/v1/models/usage_attribution_body.rb +6 -2
  279. data/lib/datadog_api_client/v1/models/usage_attribution_response.rb +1 -1
  280. data/lib/datadog_api_client/v1/models/usage_attribution_sort.rb +6 -0
  281. data/lib/datadog_api_client/v1/models/usage_attribution_supported_metrics.rb +6 -0
  282. data/lib/datadog_api_client/v1/models/usage_attribution_values.rb +61 -1
  283. data/lib/datadog_api_client/v1/models/usage_billable_summary_keys.rb +474 -4
  284. data/lib/datadog_api_client/v1/models/usage_rum_sessions_hour.rb +18 -4
  285. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +11 -1
  286. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +11 -1
  287. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +11 -1
  288. data/lib/datadog_api_client/v1/models/widget_definition.rb +1 -1
  289. data/lib/datadog_api_client/v2/api/audit_api.rb +11 -25
  290. data/lib/datadog_api_client/v2/api/authn_mappings_api.rb +11 -53
  291. data/lib/datadog_api_client/v2/api/cloud_workload_security_api.rb +14 -62
  292. data/lib/datadog_api_client/v2/api/dashboard_lists_api.rb +9 -41
  293. data/lib/datadog_api_client/v2/api/events_api.rb +228 -0
  294. data/lib/datadog_api_client/v2/api/incident_services_api.rb +36 -46
  295. data/lib/datadog_api_client/v2/api/incident_teams_api.rb +36 -46
  296. data/lib/datadog_api_client/v2/api/incidents_api.rb +39 -48
  297. data/lib/datadog_api_client/v2/api/key_management_api.rb +29 -141
  298. data/lib/datadog_api_client/v2/api/logs_api.rb +15 -45
  299. data/lib/datadog_api_client/v2/api/logs_archives_api.rb +21 -101
  300. data/lib/datadog_api_client/v2/api/logs_metrics_api.rb +11 -51
  301. data/lib/datadog_api_client/v2/api/metrics_api.rb +179 -94
  302. data/lib/datadog_api_client/v2/api/opsgenie_integration_api.rb +355 -0
  303. data/lib/datadog_api_client/v2/api/organizations_api.rb +3 -11
  304. data/lib/datadog_api_client/v2/api/processes_api.rb +6 -13
  305. data/lib/datadog_api_client/v2/api/roles_api.rb +27 -131
  306. data/lib/datadog_api_client/v2/api/rum_api.rb +13 -35
  307. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +247 -125
  308. data/lib/datadog_api_client/v2/api/service_accounts_api.rb +11 -51
  309. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +382 -14
  310. data/lib/datadog_api_client/v2/api/users_api.rb +21 -101
  311. data/lib/datadog_api_client/v2/model_base.rb +2 -2
  312. data/lib/datadog_api_client/v2/models/api_key_response_included_item.rb +1 -1
  313. data/lib/datadog_api_client/v2/models/application_key_response_included_item.rb +1 -1
  314. data/lib/datadog_api_client/v2/models/authn_mapping.rb +1 -13
  315. data/lib/datadog_api_client/v2/models/authn_mapping_attributes.rb +1 -12
  316. data/lib/datadog_api_client/v2/models/authn_mapping_included.rb +1 -1
  317. data/lib/datadog_api_client/v2/models/authn_mapping_response.rb +16 -4
  318. data/lib/datadog_api_client/v2/models/authn_mappings_response.rb +13 -1
  319. data/lib/datadog_api_client/v2/models/chargeback_breakdown.rb +131 -0
  320. data/lib/datadog_api_client/v2/models/cost_by_org.rb +133 -0
  321. data/lib/datadog_api_client/v2/models/cost_by_org_attributes.rb +153 -0
  322. data/lib/datadog_api_client/v2/models/cost_by_org_response.rb +113 -0
  323. data/lib/datadog_api_client/v2/models/cost_by_org_type.rb +26 -0
  324. data/lib/datadog_api_client/v2/models/event.rb +141 -0
  325. data/lib/datadog_api_client/v2/models/event_attributes.rb +305 -0
  326. data/lib/datadog_api_client/v2/models/event_priority.rb +27 -0
  327. data/lib/datadog_api_client/v2/models/event_response.rb +133 -0
  328. data/lib/datadog_api_client/v2/models/event_response_attributes.rb +133 -0
  329. data/lib/datadog_api_client/v2/models/event_status_type.rb +35 -0
  330. data/lib/datadog_api_client/v2/models/event_type.rb +26 -0
  331. data/lib/datadog_api_client/v2/models/events_list_request.rb +142 -0
  332. data/lib/datadog_api_client/v2/models/events_list_response.rb +133 -0
  333. data/lib/datadog_api_client/v2/models/events_list_response_links.rb +112 -0
  334. data/lib/datadog_api_client/v2/models/events_query_filter.rb +137 -0
  335. data/lib/datadog_api_client/v2/models/events_query_options.rb +124 -0
  336. data/lib/datadog_api_client/v2/models/events_request_page.rb +134 -0
  337. data/lib/datadog_api_client/v2/models/events_response_metadata.rb +144 -0
  338. data/lib/datadog_api_client/v2/models/events_response_metadata_page.rb +112 -0
  339. data/lib/datadog_api_client/v2/models/events_sort.rb +27 -0
  340. data/lib/datadog_api_client/v2/models/events_warning.rb +131 -0
  341. data/lib/datadog_api_client/v2/models/hourly_usage.rb +133 -0
  342. data/lib/datadog_api_client/v2/models/hourly_usage_attributes.rb +163 -0
  343. data/lib/datadog_api_client/v2/models/hourly_usage_measurement.rb +122 -0
  344. data/lib/datadog_api_client/v2/models/hourly_usage_metadata.rb +111 -0
  345. data/lib/datadog_api_client/v2/models/hourly_usage_pagination.rb +112 -0
  346. data/lib/datadog_api_client/v2/models/hourly_usage_response.rb +123 -0
  347. data/lib/datadog_api_client/v2/models/hourly_usage_type.rb +2 -0
  348. data/lib/datadog_api_client/v2/models/http_log_item.rb +40 -4
  349. data/lib/datadog_api_client/v2/models/incident_field_attributes.rb +1 -1
  350. data/lib/datadog_api_client/v2/models/incident_response_included_item.rb +1 -1
  351. data/lib/datadog_api_client/v2/models/incident_service_included_items.rb +1 -1
  352. data/lib/datadog_api_client/v2/models/incident_team_included_items.rb +1 -1
  353. data/lib/datadog_api_client/v2/models/incident_timeline_cell_create_attributes.rb +1 -1
  354. data/lib/datadog_api_client/v2/models/intake_payload_accepted.rb +113 -0
  355. data/lib/datadog_api_client/v2/models/logs_aggregate_bucket_value.rb +1 -1
  356. data/lib/datadog_api_client/v2/models/logs_archive_attributes.rb +12 -1
  357. data/lib/datadog_api_client/v2/models/logs_archive_create_request_attributes.rb +12 -1
  358. data/lib/datadog_api_client/v2/models/logs_archive_create_request_destination.rb +1 -1
  359. data/lib/datadog_api_client/v2/models/logs_archive_destination.rb +1 -1
  360. data/lib/datadog_api_client/v2/models/logs_group_by_missing.rb +1 -1
  361. data/lib/datadog_api_client/v2/models/logs_group_by_total.rb +1 -1
  362. data/lib/datadog_api_client/v2/models/metric_content_encoding.rb +26 -0
  363. data/lib/datadog_api_client/v2/models/metric_estimate.rb +133 -0
  364. data/lib/datadog_api_client/v2/models/metric_estimate_attributes.rb +133 -0
  365. data/lib/datadog_api_client/v2/models/metric_estimate_resource_type.rb +26 -0
  366. data/lib/datadog_api_client/v2/models/metric_estimate_response.rb +111 -0
  367. data/lib/datadog_api_client/v2/models/metric_estimate_type.rb +28 -0
  368. data/lib/datadog_api_client/v2/models/metric_intake_type.rb +29 -0
  369. data/lib/datadog_api_client/v2/models/metric_metadata.rb +111 -0
  370. data/lib/datadog_api_client/v2/models/metric_origin.rb +170 -0
  371. data/lib/datadog_api_client/v2/models/metric_payload.rb +124 -0
  372. data/lib/datadog_api_client/v2/models/metric_point.rb +122 -0
  373. data/lib/datadog_api_client/{v1/models/monitor_search_response_counts_status_item.rb → v2/models/metric_resource.rb} +21 -21
  374. data/lib/datadog_api_client/v2/models/metric_series.rb +220 -0
  375. data/lib/datadog_api_client/v2/models/metric_tag_configuration_create_attributes.rb +0 -2
  376. data/lib/datadog_api_client/v2/models/metric_tag_configuration_update_attributes.rb +0 -2
  377. data/lib/datadog_api_client/v2/models/metric_volumes.rb +1 -1
  378. data/lib/datadog_api_client/v2/models/metrics_and_metric_tag_configurations.rb +1 -1
  379. data/lib/datadog_api_client/v2/models/monitor_type.rb +215 -0
  380. data/lib/datadog_api_client/v2/models/opsgenie_service_create_attributes.rb +174 -0
  381. data/lib/datadog_api_client/v2/models/opsgenie_service_create_data.rb +145 -0
  382. data/lib/datadog_api_client/v2/models/opsgenie_service_create_request.rb +122 -0
  383. data/lib/datadog_api_client/v2/models/opsgenie_service_region_type.rb +28 -0
  384. data/lib/datadog_api_client/v2/models/opsgenie_service_response.rb +122 -0
  385. data/lib/datadog_api_client/v2/models/opsgenie_service_response_attributes.rb +132 -0
  386. data/lib/datadog_api_client/v2/models/opsgenie_service_response_data.rb +166 -0
  387. data/lib/datadog_api_client/v2/models/opsgenie_service_type.rb +26 -0
  388. data/lib/datadog_api_client/v2/models/opsgenie_service_update_attributes.rb +142 -0
  389. data/lib/datadog_api_client/v2/models/opsgenie_service_update_data.rb +166 -0
  390. data/lib/datadog_api_client/v2/models/opsgenie_service_update_request.rb +122 -0
  391. data/lib/datadog_api_client/v2/models/opsgenie_services_response.rb +124 -0
  392. data/lib/datadog_api_client/v2/models/relationship_to_saml_assertion_attribute_data.rb +1 -5
  393. data/lib/datadog_api_client/v2/models/rum_aggregate_bucket_value.rb +1 -1
  394. data/lib/datadog_api_client/v2/models/rum_group_by_missing.rb +1 -1
  395. data/lib/datadog_api_client/v2/models/rum_group_by_total.rb +1 -1
  396. data/lib/datadog_api_client/v2/models/saml_assertion_attribute.rb +1 -5
  397. data/lib/datadog_api_client/v2/models/security_monitoring_rule_detection_method.rb +1 -0
  398. data/lib/datadog_api_client/v2/models/security_monitoring_rule_hardcoded_evaluator_type.rb +26 -0
  399. data/lib/datadog_api_client/v2/models/security_monitoring_rule_new_value_options.rb +30 -4
  400. data/lib/datadog_api_client/v2/models/security_monitoring_rule_new_value_options_learning_method.rb +27 -0
  401. data/lib/datadog_api_client/v2/models/security_monitoring_rule_new_value_options_learning_threshold.rb +27 -0
  402. data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +23 -1
  403. data/lib/datadog_api_client/v2/models/security_monitoring_rule_query.rb +13 -1
  404. data/lib/datadog_api_client/v2/models/security_monitoring_rule_query_create.rb +13 -1
  405. data/lib/datadog_api_client/v2/models/security_monitoring_signal_archive_reason.rb +29 -0
  406. data/lib/datadog_api_client/v2/models/security_monitoring_signal_assignee_update_attributes.rb +132 -0
  407. data/lib/datadog_api_client/v2/models/security_monitoring_signal_assignee_update_data.rb +122 -0
  408. data/lib/datadog_api_client/v2/models/security_monitoring_signal_assignee_update_request.rb +122 -0
  409. data/lib/datadog_api_client/v2/models/security_monitoring_signal_incidents_update_attributes.rb +134 -0
  410. data/lib/datadog_api_client/v2/models/security_monitoring_signal_incidents_update_data.rb +122 -0
  411. data/lib/datadog_api_client/v2/models/security_monitoring_signal_incidents_update_request.rb +122 -0
  412. data/lib/datadog_api_client/v2/models/security_monitoring_signal_state.rb +28 -0
  413. data/lib/datadog_api_client/v2/models/security_monitoring_signal_state_update_attributes.rb +152 -0
  414. data/lib/datadog_api_client/v2/models/security_monitoring_signal_state_update_data.rb +122 -0
  415. data/lib/datadog_api_client/v2/models/security_monitoring_signal_state_update_request.rb +122 -0
  416. data/lib/datadog_api_client/v2/models/security_monitoring_signal_triage_attributes.rb +248 -0
  417. data/lib/datadog_api_client/v2/models/security_monitoring_signal_triage_update_data.rb +111 -0
  418. data/lib/datadog_api_client/v2/models/security_monitoring_signal_triage_update_response.rb +122 -0
  419. data/lib/datadog_api_client/v2/models/security_monitoring_triage_user.rb +152 -0
  420. data/lib/datadog_api_client/v2/models/usage_application_security_monitoring_response.rb +113 -0
  421. data/lib/datadog_api_client/v2/models/usage_lambda_traced_invocations_response.rb +113 -0
  422. data/lib/datadog_api_client/v2/models/user_response_included_item.rb +1 -1
  423. data/lib/datadog_api_client/v2.rb +77 -0
  424. data/lib/datadog_api_client/version.rb +1 -1
  425. data/lib/datadog_api_client.rb +11 -5
  426. data/spec/{v1/api_client_spec.rb → api_client_spec.rb} +32 -32
  427. data/spec/{v1/configuration_spec.rb → configuration_spec.rb} +3 -3
  428. data/spec/spec_helper.rb +1 -3
  429. metadata +191 -28
  430. data/.dockerignore +0 -1
  431. data/.generator/src/generator/templates/api_error.j2 +0 -49
  432. data/extract-code-blocks.awk +0 -81
  433. data/extract-code-blocks.sh +0 -3
  434. data/lib/datadog_api_client/v1/api_client.rb +0 -456
  435. data/lib/datadog_api_client/v1/api_error.rb +0 -60
  436. data/lib/datadog_api_client/v1.rb +0 -789
  437. data/lib/datadog_api_client/v2/api_error.rb +0 -60
  438. data/lib/datadog_api_client/v2/configuration.rb +0 -427
  439. data/spec/v2/api_client_spec.rb +0 -210
  440. data/spec/v2/configuration_spec.rb +0 -45
@@ -9,6 +9,10 @@
9
9
  {{ definition.description|block_comment|indent(4) }}
10
10
  attr_accessor :{{ attr|attribute_name }}
11
11
  {%- endfor %}
12
+ {%- if model.get("additionalProperties") %}
13
+
14
+ attr_accessor :additional_properties
15
+ {%- endif %}
12
16
 
13
17
  # Attribute mapping from ruby-style variable name to JSON key.
14
18
  # @!visibility private
@@ -53,13 +57,23 @@
53
57
  if (!attributes.is_a?(Hash))
54
58
  fail ArgumentError, "The input argument (attributes) must be a hash in `{{ module_name }}::{{ version|upper }}::{{ name }}` initialize method"
55
59
  end
56
-
60
+ {# preserve blank line #}
61
+ {%- if model.get("additionalProperties") %}
62
+ self.additional_properties = {}
63
+ {%- endif %}
57
64
  # check to see if the attribute exists and convert string to symbol for hash key
58
65
  attributes = attributes.each_with_object({}) { |(k, v), h|
59
66
  if (!self.class.attribute_map.key?(k.to_sym))
67
+ {%- if model.get("additionalProperties") %}
68
+ self.additional_properties[k.to_sym] = v
69
+ else
70
+ h[k.to_sym] = v
71
+ end
72
+ {%- else %}
60
73
  fail ArgumentError, "`#{k}` is not a valid attribute in `{{ module_name }}::{{ version|upper }}::{{ name }}`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
61
74
  end
62
75
  h[k.to_sym] = v
76
+ {%- endif %}
63
77
  }
64
78
  {%- for attr, definition in model.get("properties", {}).items() %}
65
79
 
@@ -185,6 +199,28 @@
185
199
  end
186
200
  {%- endif %}
187
201
  {%- endfor %}
202
+ {%- if model.get("additionalProperties") %}
203
+
204
+ # Returns the object in the form of hash, with additionalProperties support.
205
+ # @return [Hash] Returns the object in the form of hash
206
+ # @!visibility private
207
+ def to_hash
208
+ hash = {}
209
+ self.class.attribute_map.each_pair do |attr, param|
210
+ value = self.send(attr)
211
+ if value.nil?
212
+ is_nullable = self.class.openapi_nullable.include?(attr)
213
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
214
+ end
215
+
216
+ hash[param] = _to_hash(value)
217
+ end
218
+ self.additional_properties.each_pair do |attr, value|
219
+ hash[attr] = value
220
+ end
221
+ hash
222
+ end
223
+ {%- endif %}
188
224
 
189
225
  # Checks equality by comparing each attribute.
190
226
  # @param o [Object] Object to be compared
@@ -193,8 +229,11 @@
193
229
  return true if self.equal?(o)
194
230
  self.class == o.class &&
195
231
  {%- for attr in model.properties %}
196
- {{ attr|attribute_name }} == o.{{ attr|attribute_name }}{% if not loop.last %} &&{% endif %}
232
+ {{ attr|attribute_name }} == o.{{ attr|attribute_name }}{% if not loop.last or model.get("additionalProperties") %} &&{% endif %}
197
233
  {%- endfor %}
234
+ {%- if model.get("additionalProperties") %}
235
+ additional_properties == o.additional_properties
236
+ {%- endif %}
198
237
  end
199
238
 
200
239
  # @see the `==` method
@@ -208,6 +247,6 @@
208
247
  # @return [Integer] Hash code
209
248
  # @!visibility private
210
249
  def hash
211
- [{% for attr in model.properties %}{{ attr|attribute_name }}{% if not loop.last %}, {% endif %}{% endfor %}].hash
250
+ [{% for attr in model.properties %}{{ attr|attribute_name }}{% if not loop.last or model.get("additionalProperties") %}, {% endif %}{% endfor %}{% if model.get("additionalProperties") %}additional_properties{% endif %}].hash
212
251
  end
213
252
  end
@@ -81,7 +81,7 @@
81
81
  data
82
82
  else
83
83
  self._unparsed = true
84
- {{ module_name }}::{{ version|upper }}::UnparsedObject.new(data)
84
+ {{ module_name }}::UnparsedObject.new(data)
85
85
  end
86
86
 
87
87
  {%- endif %}
@@ -5,22 +5,17 @@
5
5
  # Common files
6
6
  require 'datadog_api_client/version'
7
7
  require 'datadog_api_client/user_agent'
8
- require '{{ gem_name }}/{{ version }}/api_client'
9
- require '{{ gem_name }}/{{ version }}/api_error'
10
- require '{{ gem_name }}/{{ version }}/configuration'
8
+ require '{{ gem_name }}/api_client'
9
+ require '{{ gem_name }}/configuration'
10
+ require '{{ gem_name }}/api_key_configuration'
11
11
 
12
- # Models
12
+ # Model base
13
+ ## Load in the model_base modules which also initializes the V1 and V2 namespaces
14
+ {%- for version, models in all_models.items() %}
13
15
  require '{{ gem_name }}/{{ version }}/model_base'
14
- {%- for model in models|sort %}
15
- require '{{ gem_name }}/{{ version }}/models/{{ model|snake_case }}'
16
16
  {%- endfor %}
17
17
 
18
- # APIs
19
- {%- for api in apis|sort %}
20
- require '{{ gem_name }}/{{ version }}/api/{{ api|snake_case }}_api'
21
- {%- endfor %}
22
-
23
- module {{ module_name }}::{{ version|upper }}
18
+ module {{ module_name }}
24
19
  class << self
25
20
  # Customize default settings for the SDK using block.
26
21
  # {{ module_name }}::{{ version|upper }}.configure do |config|
@@ -26,8 +26,6 @@ jobs:
26
26
  app_id: ${{ secrets.PIPELINE_GITHUB_APP_ID }}
27
27
  private_key: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }}
28
28
  repository: DataDog/datadog-api-spec
29
- - name: Checkout code
30
- uses: actions/checkout@v2
31
29
  - name: Post PR review status check
32
30
  uses: DataDog/github-actions/post-review-status@v1.0.0
33
31
  with:
@@ -0,0 +1,49 @@
1
+ name: "CodeQL"
2
+
3
+ on:
4
+ push:
5
+ branches: [ "master" ]
6
+ pull_request:
7
+ # The branches below must be a subset of the branches above
8
+ branches: [ "master" ]
9
+
10
+ jobs:
11
+ analyze:
12
+ name: Analyze
13
+ runs-on: ubuntu-latest
14
+ permissions:
15
+ actions: read
16
+ contents: read
17
+ security-events: write
18
+
19
+ strategy:
20
+ fail-fast: false
21
+ matrix:
22
+ language: [ 'ruby' ]
23
+ # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
24
+ # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
25
+
26
+ steps:
27
+ - name: Checkout repository
28
+ uses: actions/checkout@v3
29
+
30
+ # Initializes the CodeQL tools for scanning.
31
+ - name: Initialize CodeQL
32
+ uses: github/codeql-action/init@v2
33
+ with:
34
+ languages: ${{ matrix.language }}
35
+ # If you wish to specify custom queries, you can do so here or in a config file.
36
+ # By default, queries listed here will override any specified in a config file.
37
+ # Prefix the list here with "+" to use these queries and those in the config file.
38
+
39
+ # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
40
+ # queries: security-extended,security-and-quality
41
+
42
+
43
+ # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
44
+ # If this step fails, then you should remove it and run the build manually (see below)
45
+ - name: Autobuild
46
+ uses: github/codeql-action/autobuild@v2
47
+
48
+ - name: Perform CodeQL Analysis
49
+ uses: github/codeql-action/analyze@v2
@@ -13,7 +13,7 @@ jobs:
13
13
  runs-on: ubuntu-latest
14
14
 
15
15
  steps:
16
- - uses: actions/checkout@v2
16
+ - uses: actions/checkout@v3
17
17
  with:
18
18
  # Fetch all history for applying timestamps to every page
19
19
  fetch-depth: 0
@@ -9,7 +9,6 @@ on:
9
9
  inputs:
10
10
  version:
11
11
  description: New version number (e.g. '1.2.3' without the 'v' prefix)
12
- required: true
13
12
 
14
13
  jobs:
15
14
  prepare_release:
@@ -22,7 +21,7 @@ jobs:
22
21
  with:
23
22
  app_id: ${{ secrets.PIPELINE_GITHUB_APP_ID }}
24
23
  private_key: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }}
25
- - uses: actions/checkout@v2
24
+ - uses: actions/checkout@v3
26
25
  with:
27
26
  fetch-depth: 0
28
27
  token: ${{ steps.get_token.outputs.token }}
@@ -37,6 +36,19 @@ jobs:
37
36
  with:
38
37
  ruby-version: 2.6
39
38
 
39
+ - name: Calculate version
40
+ id: get_version
41
+ run: |
42
+ if [ "${VERSION}" = "" ] ; then
43
+ LATEST_TAG=$(git describe --tags --abbrev=0)
44
+ NEXT_TAG=$(echo ${LATEST_TAG#v} | awk '{split($0, a, "."); print a[1] "." a[2] + 1 "." a[3]}')
45
+ echo ::set-output name=version::$NEXT_TAG
46
+ else
47
+ echo ::set-output name=version::$VERSION
48
+ fi
49
+ env:
50
+ VERSION: ${{ github.event.inputs.version }}
51
+
40
52
  - name: Bump version
41
53
  run: |
42
54
  git switch -c "release/${RELEASE_VERSION}"
@@ -44,12 +56,12 @@ jobs:
44
56
  bundle exec gem bump -v "${RELEASE_VERSION}"
45
57
  git push -f --set-upstream origin "release/${RELEASE_VERSION}"
46
58
  env:
47
- RELEASE_VERSION: ${{ github.event.inputs.version }}
59
+ RELEASE_VERSION: ${{ steps.get_version.outputs.version }}
48
60
 
49
61
  - name: Create PR
50
62
  uses: actions/github-script@v5
51
63
  env:
52
- RELEASE_VERSION: ${{ github.event.inputs.version }}
64
+ RELEASE_VERSION: ${{ steps.get_version.outputs.version }}
53
65
  BASE: ${{ github.event.ref }}
54
66
  with:
55
67
  github-token: ${{ steps.get_token.outputs.token }}
@@ -11,7 +11,7 @@ jobs:
11
11
  runs-on: ubuntu-latest
12
12
  if: github.event_name == 'workflow_dispatch' || (github.event_name == 'release' && github.event.action == 'published')
13
13
  steps:
14
- - uses: actions/checkout@v2
14
+ - uses: actions/checkout@v3
15
15
  with:
16
16
  ref: ${{ github.event.release.tag_name }}
17
17
 
@@ -44,7 +44,7 @@ jobs:
44
44
  tag_name: tagName,
45
45
  });
46
46
 
47
- - uses: actions/checkout@v2
47
+ - uses: actions/checkout@v3
48
48
  with:
49
49
  fetch-depth: 0
50
50
  token: ${{ steps.get_token.outputs.token }}
@@ -27,7 +27,7 @@ jobs:
27
27
  with:
28
28
  app_id: ${{ secrets.PIPELINE_GITHUB_APP_ID }}
29
29
  private_key: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }}
30
- - uses: actions/checkout@v2
30
+ - uses: actions/checkout@v3
31
31
  with:
32
32
  fetch-depth: 0
33
33
  ref: ${{ github.event.pull_request.head.sha }}
@@ -80,7 +80,7 @@ jobs:
80
80
  env:
81
81
  BUNDLE_WITHOUT: docs
82
82
  steps:
83
- - uses: actions/checkout@v2
83
+ - uses: actions/checkout@v3
84
84
  - name: Set up Ruby ${{ matrix.ruby-version }}
85
85
  uses: ruby/setup-ruby@v1
86
86
  with:
@@ -96,7 +96,7 @@ jobs:
96
96
  runs-on: ubuntu-latest
97
97
  if: github.event.pull_request.draft == false && !contains(github.event.pull_request.labels.*.name, 'ci/skip') && !contains(github.event.pull_request.head.ref, 'datadog-api-spec/test/')
98
98
  steps:
99
- - uses: actions/checkout@v2
99
+ - uses: actions/checkout@v3
100
100
  - name: Set up Ruby
101
101
  uses: ruby/setup-ruby@v1
102
102
  with:
@@ -123,9 +123,7 @@ jobs:
123
123
  app_id: ${{ secrets.PIPELINE_GITHUB_APP_ID }}
124
124
  private_key: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }}
125
125
  repository: DataDog/datadog-api-spec
126
- - name: Checkout code
127
- uses: actions/checkout@v2
128
- - name: Post status check
126
+ - name: Post status 3heck
129
127
  uses: DataDog/github-actions/post-status-check@v1.0.0
130
128
  with:
131
129
  github-token: ${{ steps.get_token.outputs.token }}
@@ -40,7 +40,7 @@ jobs:
40
40
  private_key: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }}
41
41
  repository: DataDog/datadog-api-spec
42
42
  - name: Checkout code
43
- uses: actions/checkout@v2
43
+ uses: actions/checkout@v3
44
44
  - name: Post pending status check
45
45
  if: github.event_name == 'pull_request' && contains(github.event.pull_request.head.ref, 'datadog-api-spec/generated/')
46
46
  uses: DataDog/github-actions/post-status-check@v1.0.0
@@ -49,13 +49,6 @@ jobs:
49
49
  repo: datadog-api-spec
50
50
  status: pending
51
51
  context: integration
52
- - name: Report source code metadata
53
- run: |
54
- curl -L "https://github.com/DataDog/datadog-ci/releases/latest/download/datadog-ci_linux-x64" --output ./datadog-ci
55
- chmod +x "./datadog-ci"
56
- ./datadog-ci git-metadata upload
57
- env:
58
- DATADOG_API_KEY: ${{ secrets.DD_API_KEY }}
59
52
  - name: Set up Ruby 3.1
60
53
  uses: ruby/setup-ruby@v1
61
54
  with:
@@ -28,24 +28,15 @@ repos:
28
28
  # When updating the version of prettier, make sure to check the pre-commit file
29
29
  # And keep the `entry` here up to date https://github.com/pre-commit/mirrors-prettier/blob/master/.pre-commit-hooks.yaml
30
30
  - prettier@2.5.1
31
- - id: generator-v1
32
- name: generator-v1
31
+ - id: generator
32
+ name: generator
33
33
  language: python
34
- entry: bash -c "cd .generator && poetry install && poetry run python -m generator -i ./schemas/v1/openapi.yaml -o ../lib/"
34
+ entry: bash -c "cd .generator && poetry install && poetry run python -m generator ./schemas/v1/openapi.yaml ./schemas/v2/openapi.yaml -o ../lib/"
35
35
  files: "^.generator/(config|schemas/v1|src|poetry.lock|pyproject.toml)"
36
36
  stages: [manual]
37
37
  pass_filenames: false
38
38
  additional_dependencies:
39
39
  - "poetry"
40
- - id: generator-v2
41
- name: generator-v2
42
- language: python
43
- entry: bash -c "cd .generator && poetry install && poetry run python -m generator -i ./schemas/v2/openapi.yaml -o ../lib/"
44
- files: "^.generator/(config|schemas/v2|src|poetry.lock|pyproject.toml)"
45
- stages: [manual]
46
- pass_filenames: false
47
- additional_dependencies:
48
- - "poetry"
49
40
  - id: examples
50
41
  name: examples
51
42
  language: python
data/CHANGELOG.md CHANGED
@@ -1,5 +1,96 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2.0.0 / 2022-08-01
4
+
5
+ ### Fixed
6
+ * Add synthetics results api replay only tests by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/991
7
+ ### Added
8
+ * Update usage attribution enums by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/966
9
+ * Add estimated ingested spans to usage attribution by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/981
10
+ * Add v2 Security monitoring signals triage operations. by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/972
11
+ * docs(dataviz): update Treemap widget definition with deprecated properties + updated description [VIZZ-2305] by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/992
12
+ * Add hourly usage v2 endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/977
13
+ * Add support for zstd compression by @therve in https://github.com/DataDog/datadog-api-client-ruby/pull/994
14
+ * Add metrics field in the RuleQuery by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/978
15
+ * Add support for Events V2 endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/954
16
+ * [RQ-2492]: Add custom_events to list of product families in hourly-usage api. by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1000
17
+ * Re-introduce Estimated Cost API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/1006
18
+ * Move shared modules out and introduce code loader by @skarimo in https://github.com/DataDog/datadog-api-client-ruby/pull/989
19
+ ### Changed
20
+ * Add description of metric type enums by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/982
21
+ * remove x-unstable property for usage attribution endpoints by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/990
22
+
23
+ ## New Contributors
24
+ * @ganeshkumarsv made their first contribution in https://github.com/DataDog/datadog-api-client-ruby/pull/987
25
+
26
+ **Full Changelog**: https://github.com/DataDog/datadog-api-client-ruby/compare/v1.11.0...v2.0.0
27
+
28
+ ## 1.11.0 / 2022-07-01
29
+
30
+ ### Fixed
31
+ * Fix additionalProperties on SyntheticsAPITestResultData by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/935
32
+ * Fix synthetics vitals type by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/936
33
+ * Remove include_percentiles default by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/961
34
+ * Mark message as required for Synthetics tests by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/956
35
+ ### Added
36
+ * Add include descendants to monthly and hourly usage attribution APIs by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/931
37
+ * Add v2 endpoints for Opsgenie Integration by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/918
38
+ * Add distribution points intake endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/916
39
+ * Add height and width params to graph snapshot by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/945
40
+ * Add support for defining histogram requests in Distribution widgets by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/929
41
+ * Add DowngradeOrg endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/947
42
+ * Add new options for new value detection type on security monitoring rules by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/939
43
+ * Add ci execution rule in Synthetics options by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/940
44
+ * Add SLO Search API endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/856
45
+ * New usage metering endpoint for estimated cost by org by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/964
46
+ * Add estimated indexed spans usage attribution by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/963
47
+ * Handle raw json for additionalProperties in typescript by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/937
48
+ * Add Application Security Monitoring Hosts Attribution by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/965
49
+ * Add support for security monitoring rule dynamic criticality by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/951
50
+ * Update IP ranges with synthetics private locations section by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/968
51
+ * Add new products to billable summary by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/971
52
+ ### Changed
53
+ * Remove unstable/beta note since Metrics Without Limits is GA by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/928
54
+ * Remove unstable marker on security list signal endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/944
55
+ * Update metric intake v2 accept response by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/969
56
+
57
+ ## New Contributors
58
+ * @jybp made their first contribution in https://github.com/DataDog/datadog-api-client-ruby/pull/959
59
+
60
+ **Full Changelog**: https://github.com/DataDog/datadog-api-client-ruby/compare/v1.10.0...v1.11.0
61
+
62
+ ## 1.10.0 / 2022-05-30
63
+
64
+ ### Fixed
65
+ * Add support for nested additionalProperties by @therve in https://github.com/DataDog/datadog-api-client-ruby/pull/873
66
+ * Fix monitor search count generation by @therve in https://github.com/DataDog/datadog-api-client-ruby/pull/888
67
+ * Remove unused pararameter from authn mapping by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/891
68
+ * AuthN Mapping spec cleanup to match implementation by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/908
69
+ * Enable header matching in tests by @therve in https://github.com/DataDog/datadog-api-client-ruby/pull/920
70
+ ### Added
71
+ * Add Historical Chargeback Summary endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/870
72
+ * Expose v2 usage endpoint for application security monitoring by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/883
73
+ * Add `rehydration_max_scan_size_in_gb` field to Logs Archives by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/879
74
+ * Add `mute_first_recovery_notification` option to downtime by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/850
75
+ * Add lambda traced invocations usage endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/889
76
+ * Expose new usage field for react sessions by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/892
77
+ * Add missing option and enum value for SecurityMonitoringRule by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/898
78
+ * Adds docs for metric estimate endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/880
79
+ * Allow additional log attributes by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/869
80
+ * Add v2 endpoint for submitting series by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/824
81
+ * Add `ci-tests` monitor type by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/897
82
+ * Add RUM settings schema to synthetics tests by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/906
83
+ * Add v1 signal triage endpoints by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/902
84
+ * Add connection to synthetics assertion type enum by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/911
85
+ * Add grpc subtype to synthetics tests by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/890
86
+ ### Changed
87
+ * Remove unstable marker from SLO corrections API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/917
88
+ ### Deprecated
89
+ * Deprecate old usage apis by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/894
90
+
91
+
92
+ **Full Changelog**: https://github.com/DataDog/datadog-api-client-ruby/compare/v1.9.0...v1.10.0
93
+
3
94
  ## 1.9.0 / 2022-04-26
4
95
 
5
96
  ### Fixed
data/Gemfile CHANGED
@@ -17,6 +17,7 @@ group :development, :test do
17
17
  gem 'timecop'
18
18
  gem 'vcr'
19
19
  gem 'webmock'
20
+ gem 'zstandard'
20
21
  end
21
22
 
22
23
  group :docs do
data/Makefile CHANGED
@@ -1,8 +1,7 @@
1
1
  .PHONY: all
2
2
  all:
3
- @rm -rf ./lib/datadog_api_client/v1 ./lib/datadog_api_client/v2
4
- @pre-commit run --all-files --hook-stage=manual generator-v1 || true
5
- @pre-commit run --all-files --hook-stage=manual generator-v2 || true
3
+ @rm -rf ./lib/datadog_api_client/v1 ./lib/datadog_api_client/v2 examples/*
4
+ @pre-commit run --all-files --hook-stage=manual generator || true
6
5
  @pre-commit run --all-files --hook-stage=manual examples || true
7
6
  @pre-commit run --all-files --hook-stage=manual format-examples || true
8
7
  @pre-commit run --all-files --hook-stage=manual docs || echo "modified files"
data/README.md CHANGED
@@ -138,6 +138,22 @@ config.debugging = true
138
138
  client = DatadogAPIClient::V1::APIClient.new(config)
139
139
  ```
140
140
 
141
+ ### Pagination
142
+
143
+ Several listing operations have a pagination method to help consume all the items available.
144
+ For example, to retrieve all your incidents:
145
+
146
+ ```ruby
147
+ require "datadog_api_client"
148
+ DatadogAPIClient::V2.configure do |config|
149
+ config.unstable_operations[:list_incidents] = true
150
+ end
151
+ api_instance = DatadogAPIClient::V2::IncidentsAPI.new
152
+ api_instance.list_incidents_with_pagination() do |incident|
153
+ p incident.id
154
+ end
155
+ ```
156
+
141
157
  ## Documentation
142
158
 
143
159
  If you are interested in general documentation for all public Datadog API endpoints, checkout the [general documentation site][api docs].
data/check-examples.sh CHANGED
@@ -1,7 +1,5 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- ./extract-code-blocks.sh examples
4
-
5
3
  bundle install
6
4
  ls examples/*/*/*.rb | xargs -P $(($(nproc)*2)) -n 1 bundle exec ruby -cw && bundle exec rubocop examples/*/*/*.rb
7
5
  if [ $? -ne 0 ]; then
@@ -24,6 +24,8 @@ Gem::Specification.new do |spec|
24
24
 
25
25
  spec.add_runtime_dependency "httparty", "~> 0.20", ">= 0.20.0"
26
26
 
27
+ spec.add_runtime_dependency "zeitwerk", "~> 2.6", ">= 2.6.0"
28
+
27
29
  spec.add_development_dependency "rspec", "~> 3.6", ">= 3.6.0"
28
30
 
29
31
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|cassettes)/}) }
@@ -4,9 +4,9 @@ require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V1::AWSIntegrationAPI.new
5
5
 
6
6
  body = DatadogAPIClient::V1::AWSAccount.new({
7
- account_id: "1234567",
7
+ account_id: "123456789012",
8
8
  account_specific_namespace_rules: {
9
- auto_scaling: false, opswork: false,
9
+ auto_scaling: false,
10
10
  },
11
11
  cspm_resource_collection_enabled: true,
12
12
  excluded_regions: [
@@ -21,6 +21,10 @@ body = DatadogAPIClient::V1::AWSAccount.new({
21
21
  ],
22
22
  metrics_collection_enabled: false,
23
23
  resource_collection_enabled: true,
24
- role_name: "DatadogAWSIntegrationRole",
24
+ role_name: "datadog-role",
25
25
  })
26
- p api_instance.update_aws_account(body)
26
+ opts = {
27
+ account_id: "123456789012",
28
+ role_name: "datadog-role",
29
+ }
30
+ p api_instance.update_aws_account(body, opts)
@@ -0,0 +1,61 @@
1
+ # Create a distribution widget using a histogram request containing a formulas and functions APM Stats query
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::DashboardsAPI.new
5
+
6
+ body = DatadogAPIClient::V1::Dashboard.new({
7
+ title: "Example-Create_a_distribution_widget_using_a_histogram_request_containing_a_formulas_and_functions_APM_Stats",
8
+ description: "",
9
+ widgets: [
10
+ DatadogAPIClient::V1::Widget.new({
11
+ definition: DatadogAPIClient::V1::DistributionWidgetDefinition.new({
12
+ title: "APM Stats - Request latency HOP",
13
+ title_size: "16",
14
+ title_align: DatadogAPIClient::V1::WidgetTextAlign::LEFT,
15
+ show_legend: false,
16
+ type: DatadogAPIClient::V1::DistributionWidgetDefinitionType::DISTRIBUTION,
17
+ xaxis: DatadogAPIClient::V1::DistributionWidgetXAxis.new({
18
+ max: "auto",
19
+ include_zero: true,
20
+ scale: "linear",
21
+ min: "auto",
22
+ }),
23
+ yaxis: DatadogAPIClient::V1::DistributionWidgetYAxis.new({
24
+ max: "auto",
25
+ include_zero: true,
26
+ scale: "linear",
27
+ min: "auto",
28
+ }),
29
+ requests: [
30
+ DatadogAPIClient::V1::DistributionWidgetRequest.new({
31
+ query: DatadogAPIClient::V1::FormulaAndFunctionApmResourceStatsQueryDefinition.new({
32
+ primary_tag_value: "*",
33
+ stat: DatadogAPIClient::V1::FormulaAndFunctionApmResourceStatName::LATENCY_DISTRIBUTION,
34
+ data_source: DatadogAPIClient::V1::FormulaAndFunctionApmResourceStatsDataSource::APM_RESOURCE_STATS,
35
+ name: "query1",
36
+ service: "azure-bill-import",
37
+ group_by: [
38
+ "resource_name",
39
+ ],
40
+ env: "staging",
41
+ primary_tag_name: "datacenter",
42
+ operation_name: "universal.http.client",
43
+ }),
44
+ request_type: DatadogAPIClient::V1::DistributionWidgetHistogramRequestType::HISTOGRAM,
45
+ style: DatadogAPIClient::V1::WidgetStyle.new({
46
+ palette: "dog_classic",
47
+ }),
48
+ }),
49
+ ],
50
+ }),
51
+ layout: DatadogAPIClient::V1::WidgetLayout.new({
52
+ x: 8,
53
+ y: 0,
54
+ width: 4,
55
+ height: 2,
56
+ }),
57
+ }),
58
+ ],
59
+ layout_type: DatadogAPIClient::V1::DashboardLayoutType::ORDERED,
60
+ })
61
+ p api_instance.create_dashboard(body)