datadog_api_client 1.9.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -1,60 +0,0 @@
1
- =begin
2
- #Datadog API V2 Collection
3
-
4
- #Collection of all Datadog Public endpoints.
5
-
6
- The version of the OpenAPI document: 1.0
7
- Contact: support@datadoghq.com
8
- Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
-
10
- Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
- This product includes software developed at Datadog (https://www.datadoghq.com/).
12
- Copyright 2020-Present Datadog, Inc.
13
-
14
- =end
15
-
16
- module DatadogAPIClient::V2
17
- class APIError < StandardError
18
- attr_reader :code, :response_headers, :response_body
19
-
20
- # Usage examples:
21
- # APIError.new
22
- # APIError.new("message")
23
- # APIError.new(:code => 500, :response_headers => {}, :response_body => "")
24
- # APIError.new(:code => 404, :message => "Not Found")
25
- def initialize(arg = nil)
26
- if arg.is_a? Hash
27
- if arg.key?(:message) || arg.key?('message')
28
- super(arg[:message] || arg['message'])
29
- else
30
- super arg
31
- end
32
-
33
- arg.each do |k, v|
34
- instance_variable_set "@#{k}", v
35
- end
36
- else
37
- super arg
38
- end
39
- end
40
-
41
- # Override to_s to display a friendly error message
42
- def to_s
43
- message
44
- end
45
-
46
- def message
47
- if @message.nil?
48
- msg = "Error message: the server returns an error"
49
- else
50
- msg = @message
51
- end
52
-
53
- msg += "\nHTTP status code: #{code}" if code
54
- msg += "\nResponse headers: #{response_headers}" if response_headers
55
- msg += "\nResponse body: #{response_body}" if response_body
56
-
57
- msg
58
- end
59
- end
60
- end
@@ -1,427 +0,0 @@
1
- =begin
2
- #Datadog API V2 Collection
3
-
4
- #Collection of all Datadog Public endpoints.
5
-
6
- The version of the OpenAPI document: 1.0
7
- Contact: support@datadoghq.com
8
- Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
-
10
- Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
- This product includes software developed at Datadog (https://www.datadoghq.com/).
12
- Copyright 2020-Present Datadog, Inc.
13
-
14
- =end
15
-
16
- module DatadogAPIClient::V2
17
- class Configuration
18
- # Defines url scheme
19
- attr_accessor :scheme
20
-
21
- # Defines url host
22
- attr_accessor :host
23
-
24
- # Defines url base path
25
- attr_accessor :base_path
26
-
27
- # Define server configuration index
28
- attr_accessor :server_index
29
-
30
- # Define server operation configuration index
31
- attr_accessor :server_operation_index
32
-
33
- # Default server variables
34
- attr_accessor :server_variables
35
-
36
- # Default server operation variables
37
- attr_accessor :server_operation_variables
38
-
39
- # Defines API keys used with API Key authentications.
40
- #
41
- # @return [Hash] key: parameter name, value: parameter value (API key)
42
- #
43
- # @example parameter name is "api_key", API key is "xxx" (e.g. "api_key=xxx" in query string)
44
- # config.api_key['api_key'] = 'xxx'
45
- attr_accessor :api_key
46
-
47
- # Defines API key prefixes used with API Key authentications.
48
- #
49
- # @return [Hash] key: parameter name, value: API key prefix
50
- #
51
- # @example parameter name is "Authorization", API key prefix is "Token" (e.g. "Authorization: Token xxx" in headers)
52
- # config.api_key_prefix['api_key'] = 'Token'
53
- attr_accessor :api_key_prefix
54
-
55
- # Defines the username used with HTTP basic authentication.
56
- #
57
- # @return [String]
58
- attr_accessor :username
59
-
60
- # Defines the password used with HTTP basic authentication.
61
- #
62
- # @return [String]
63
- attr_accessor :password
64
-
65
- # Defines the access token (Bearer) used with OAuth2.
66
- attr_accessor :access_token
67
-
68
- # Set this to enable/disable debugging. When enabled (set to true), HTTP request/response
69
- # details will be logged with `logger.debug` (see the `logger` attribute).
70
- # Default to false.
71
- #
72
- # @return [true, false]
73
- attr_accessor :debugging
74
-
75
- # Defines the logger used for debugging.
76
- # Default to `Rails.logger` (when in Rails) or logging to STDOUT.
77
- #
78
- # @return [#debug]
79
- attr_accessor :logger
80
-
81
- # Defines the temporary folder to store downloaded files
82
- # (for API endpoints that have file response).
83
- # Default to use `Tempfile`.
84
- #
85
- # @return [String]
86
- attr_accessor :temp_folder_path
87
-
88
- # The time limit for HTTP request in seconds.
89
- # Default to 0 (never times out).
90
- attr_accessor :timeout
91
-
92
- # Set this to false to skip client side validation in the operation.
93
- # Default to true.
94
- # @return [true, false]
95
- attr_accessor :client_side_validation
96
-
97
- # Keep track of the unstable operations, and if they have been enabled
98
- attr_accessor :unstable_operations
99
-
100
- ### TLS/SSL setting
101
- # Set this to false to skip verifying SSL certificate when calling API from https server.
102
- # Default to true.
103
- #
104
- # @note Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.
105
- #
106
- # @return [true, false]
107
- attr_accessor :verify_ssl
108
-
109
- ### TLS/SSL setting
110
- # Set this to false to skip verifying SSL host name
111
- # Default to true.
112
- #
113
- # @note Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.
114
- #
115
- # @return [true, false]
116
- attr_accessor :verify_ssl_host
117
-
118
- ### TLS/SSL setting
119
- # Set this to customize the certificate file to verify the peer.
120
- #
121
- # @return [String] the path to the certificate file
122
- attr_accessor :ssl_ca_cert
123
-
124
- ### TLS/SSL setting
125
- # Client certificate file (for client certificate)
126
- attr_accessor :cert_file
127
-
128
- ### TLS/SSL setting
129
- # Client private key file (for client certificate)
130
- attr_accessor :key_file
131
-
132
- attr_accessor :inject_format
133
-
134
- attr_accessor :force_ending_format
135
-
136
- # Set this to add accept encoding header for compression
137
- attr_accessor :compress
138
-
139
- def initialize
140
- @scheme = 'https'
141
- @host = 'api.datadoghq.com'
142
- @base_path = ''
143
- @server_index = 0
144
- @server_operation_index = {}
145
- @server_variables = {}
146
- @server_operation_variables = {}
147
- @api_key = {}
148
- @api_key_prefix = {}
149
- @timeout = nil
150
- @client_side_validation = true
151
- @verify_ssl = true
152
- @verify_ssl_host = true
153
- @cert_file = nil
154
- @key_file = nil
155
- @debugging = false
156
- @inject_format = false
157
- @force_ending_format = false
158
- @compress = true
159
- @logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
160
- @unstable_operations = {
161
- list_incidents: false,
162
- create_incident: false,
163
- delete_incident: false,
164
- get_incident: false,
165
- update_incident: false,
166
- list_tag_configurations: false,
167
- delete_tag_configuration: false,
168
- list_tag_configuration_by_name: false,
169
- update_tag_configuration: false,
170
- create_tag_configuration: false,
171
- list_security_monitoring_signals: false,
172
- search_security_monitoring_signals: false,
173
- list_incident_services: false,
174
- create_incident_service: false,
175
- delete_incident_service: false,
176
- get_incident_service: false,
177
- update_incident_service: false,
178
- list_incident_teams: false,
179
- create_incident_team: false,
180
- delete_incident_team: false,
181
- get_incident_team: false,
182
- update_incident_team: false,
183
- }
184
- @server_variables[:site] = ENV['DD_SITE'] if ENV.key? 'DD_SITE'
185
- @api_key['apiKeyAuth'] = ENV['DD_API_KEY'] if ENV.key? 'DD_API_KEY'
186
- @api_key['appKeyAuth'] = ENV['DD_APP_KEY'] if ENV.key? 'DD_APP_KEY'
187
-
188
- yield(self) if block_given?
189
- end
190
-
191
- # The default Configuration object.
192
- def self.default
193
- @@default ||= Configuration.new
194
- end
195
-
196
- def configure
197
- yield(self) if block_given?
198
- end
199
-
200
- def scheme=(scheme)
201
- # remove :// from scheme
202
- @scheme = scheme.sub(/:\/\//, '')
203
- end
204
-
205
- def host=(host)
206
- # remove http(s):// and anything after a slash
207
- @host = host.sub(/https?:\/\//, '').split('/').first
208
- end
209
-
210
- def base_path=(base_path)
211
- # Add leading and trailing slashes to base_path
212
- @base_path = "/#{base_path}".gsub(/\/+/, '/')
213
- @base_path = '' if @base_path == '/'
214
- end
215
-
216
- # Returns base URL for specified operation based on server settings
217
- def base_url(operation = nil)
218
- index = server_operation_index.fetch(operation, server_index)
219
- return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if index == nil
220
-
221
- server_url(index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
222
- end
223
-
224
- # Gets API key (with prefix if set).
225
- # @param [String] param_name the parameter name of API key auth
226
- def api_key_with_prefix(param_name, param_alias = nil)
227
- key = @api_key[param_name]
228
- key = @api_key.fetch(param_alias, key) unless param_alias.nil?
229
- if @api_key_prefix[param_name]
230
- "#{@api_key_prefix[param_name]} #{key}"
231
- else
232
- key
233
- end
234
- end
235
-
236
- # Gets Basic Auth token string
237
- def basic_auth_token
238
- 'Basic ' + ["#{username}:#{password}"].pack('m').delete("\r\n")
239
- end
240
-
241
- # Returns Auth Settings hash for api client.
242
- def auth_settings
243
- {
244
- AuthZ:
245
- {
246
- type: 'oauth2',
247
- in: 'header',
248
- key: 'Authorization',
249
- value: "Bearer #{access_token}"
250
- },
251
- apiKeyAuth:
252
- {
253
- type: 'api_key',
254
- in: 'header',
255
- key: 'DD-API-KEY',
256
- value: api_key_with_prefix('apiKeyAuth')
257
- },
258
- appKeyAuth:
259
- {
260
- type: 'api_key',
261
- in: 'header',
262
- key: 'DD-APPLICATION-KEY',
263
- value: api_key_with_prefix('appKeyAuth')
264
- },
265
- }
266
- end
267
-
268
- # Returns an array of Server setting
269
- def server_settings
270
- [
271
- {
272
- url: "https://{subdomain}.{site}",
273
- description: "No description provided",
274
- variables: {
275
- site: {
276
- description: "The regional site for Datadog customers.",
277
- default_value: "datadoghq.com",
278
- enum_values: [
279
- "datadoghq.com",
280
- "us3.datadoghq.com",
281
- "us5.datadoghq.com",
282
- "datadoghq.eu",
283
- "ddog-gov.com"
284
- ]
285
- },
286
- subdomain: {
287
- description: "The subdomain where the API is deployed.",
288
- default_value: "api",
289
- }
290
- }
291
- },
292
- {
293
- url: "{protocol}://{name}",
294
- description: "No description provided",
295
- variables: {
296
- name: {
297
- description: "Full site DNS name.",
298
- default_value: "api.datadoghq.com",
299
- },
300
- protocol: {
301
- description: "The protocol for accessing the API.",
302
- default_value: "https",
303
- }
304
- }
305
- },
306
- {
307
- url: "https://{subdomain}.{site}",
308
- description: "No description provided",
309
- variables: {
310
- site: {
311
- description: "Any Datadog deployment.",
312
- default_value: "datadoghq.com",
313
- },
314
- subdomain: {
315
- description: "The subdomain where the API is deployed.",
316
- default_value: "api",
317
- }
318
- }
319
- }
320
- ]
321
- end
322
-
323
- def operation_server_settings
324
- {
325
- submit_log: [
326
- {
327
- url: "https://{subdomain}.{site}",
328
- description: "No description provided",
329
- variables: {
330
- site: {
331
- description: "The regional site for customers.",
332
- default_value: "datadoghq.com",
333
- enum_values: [
334
- "datadoghq.com",
335
- "us3.datadoghq.com",
336
- "us5.datadoghq.com",
337
- "datadoghq.eu",
338
- "ddog-gov.com"
339
- ]
340
- },
341
- subdomain: {
342
- description: "The subdomain where the API is deployed.",
343
- default_value: "http-intake.logs",
344
- }
345
- }
346
- },
347
- {
348
- url: "{protocol}://{name}",
349
- description: "No description provided",
350
- variables: {
351
- name: {
352
- description: "Full site DNS name.",
353
- default_value: "http-intake.logs.datadoghq.com",
354
- },
355
- protocol: {
356
- description: "The protocol for accessing the API.",
357
- default_value: "https",
358
- }
359
- }
360
- },
361
- {
362
- url: "https://{subdomain}.{site}",
363
- description: "No description provided",
364
- variables: {
365
- site: {
366
- description: "Any Datadog deployment.",
367
- default_value: "datadoghq.com",
368
- },
369
- subdomain: {
370
- description: "The subdomain where the API is deployed.",
371
- default_value: "http-intake.logs",
372
- }
373
- }
374
- }
375
- ],
376
- }
377
- end
378
-
379
- # Returns URL based on server settings
380
- #
381
- # @param index array index of the server settings
382
- # @param variables hash of variable and the corresponding value
383
- def server_url(index, variables = {}, servers = nil)
384
- servers = server_settings if servers == nil
385
-
386
- # check array index out of bound
387
- if (index < 0 || index >= servers.size)
388
- fail ArgumentError, "Invalid index #{index} when selecting the server. Must be less than #{servers.size}"
389
- end
390
-
391
- server = servers[index]
392
- url = server[:url]
393
-
394
- return url unless server.key? :variables
395
-
396
- # go through variable and assign a value
397
- server[:variables].each do |name, variable|
398
- if variables.key?(name)
399
- if (!server[:variables][name].key?(:enum_values) || server[:variables][name][:enum_values].include?(variables[name]))
400
- url.gsub! "{" + name.to_s + "}", variables[name]
401
- else
402
- fail ArgumentError, "The variable `#{name}` in the server URL has invalid value #{variables[name]}. Must be #{server[:variables][name][:enum_values]}."
403
- end
404
- else
405
- # use default value
406
- url.gsub! "{" + name.to_s + "}", server[:variables][name][:default_value]
407
- end
408
- end
409
-
410
- url
411
- end
412
- end
413
-
414
- class UnparsedObject
415
- # Defines unparsed object
416
- attr_accessor :data
417
-
418
- def initialize(data)
419
- @data = data
420
- end
421
-
422
- def to_hash
423
- self.data
424
- end
425
- end
426
-
427
- end
@@ -1,210 +0,0 @@
1
- =begin
2
- #Datadog API V2 Collection
3
-
4
- #Collection of all Datadog Public endpoints.
5
-
6
- The version of the OpenAPI document: 1.0
7
- Contact: support@datadoghq.com
8
- Generated by: https://openapi-generator.tech
9
-
10
- Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
- This product includes software developed at Datadog (https://www.datadoghq.com/).
12
- Copyright 2020-Present Datadog, Inc.
13
-
14
- =end
15
-
16
- require 'spec_helper'
17
-
18
- describe DatadogAPIClient::V2::APIClient do
19
- context 'initialization' do
20
- context 'URL stuff' do
21
- context 'host' do
22
- it 'removes http from host' do
23
- DatadogAPIClient::V2.configure { |c| c.host = 'http://example.com' }
24
- expect(DatadogAPIClient::V2::Configuration.default.host).to eq('example.com')
25
- end
26
-
27
- it 'removes https from host' do
28
- DatadogAPIClient::V2.configure { |c| c.host = 'https://wookiee.com' }
29
- expect(DatadogAPIClient::V2::APIClient.default.config.host).to eq('wookiee.com')
30
- end
31
-
32
- it 'removes trailing path from host' do
33
- DatadogAPIClient::V2.configure { |c| c.host = 'hobo.com/v4' }
34
- expect(DatadogAPIClient::V2::Configuration.default.host).to eq('hobo.com')
35
- end
36
- end
37
-
38
- context 'base_path' do
39
- it "prepends a slash to base_path" do
40
- DatadogAPIClient::V2.configure { |c| c.base_path = 'v4/dog' }
41
- expect(DatadogAPIClient::V2::Configuration.default.base_path).to eq('/v4/dog')
42
- end
43
-
44
- it "doesn't prepend a slash if one is already there" do
45
- DatadogAPIClient::V2.configure { |c| c.base_path = '/v4/dog' }
46
- expect(DatadogAPIClient::V2::Configuration.default.base_path).to eq('/v4/dog')
47
- end
48
-
49
- it "ends up as a blank string if nil" do
50
- DatadogAPIClient::V2.configure { |c| c.base_path = nil }
51
- expect(DatadogAPIClient::V2::Configuration.default.base_path).to eq('')
52
- end
53
- end
54
- end
55
- end
56
-
57
- describe 'timeout in #build_request' do
58
- let(:config) { DatadogAPIClient::V2::Configuration.new }
59
- let(:api_client) { DatadogAPIClient::V2::APIClient.new(config) }
60
-
61
- it 'defaults to nil' do
62
- expect(DatadogAPIClient::V2::Configuration.default.timeout).to eq(nil)
63
- expect(config.timeout).to eq(nil)
64
-
65
- request = api_client.build_request(Net::HTTP::Get, '/test')
66
- expect(request.options[:timeout]).to eq(nil)
67
- end
68
-
69
- it 'can be customized' do
70
- config.timeout = 100
71
- request = api_client.build_request(Net::HTTP::Get, '/test')
72
- expect(request.options[:timeout]).to eq(100)
73
- end
74
- end
75
-
76
- describe '#deserialize' do
77
- it "handles Array<Integer>" do
78
- api_client = DatadogAPIClient::V2::APIClient.new
79
- headers = { 'Content-Type' => 'application/json' }
80
- response = double('response', headers: headers, body: '[12, 34]')
81
- data = api_client.deserialize(response, 'Array<Integer>')
82
- expect(data).to be_instance_of(Array)
83
- expect(data).to eq([12, 34])
84
- end
85
-
86
- it 'handles Array<Array<Integer>>' do
87
- api_client = DatadogAPIClient::V2::APIClient.new
88
- headers = { 'Content-Type' => 'application/json' }
89
- response = double('response', headers: headers, body: '[[12, 34], [56]]')
90
- data = api_client.deserialize(response, 'Array<Array<Integer>>')
91
- expect(data).to be_instance_of(Array)
92
- expect(data).to eq([[12, 34], [56]])
93
- end
94
-
95
- it 'handles Hash<String, String>' do
96
- api_client = DatadogAPIClient::V2::APIClient.new
97
- headers = { 'Content-Type' => 'application/json' }
98
- response = double('response', headers: headers, body: '{"message": "Hello"}')
99
- data = api_client.deserialize(response, 'Hash<String, String>')
100
- expect(data).to be_instance_of(Hash)
101
- expect(data).to eq(:message => 'Hello')
102
- end
103
- end
104
-
105
- describe "#object_to_hash" do
106
- it 'ignores nils and includes empty arrays' do
107
- # uncomment below to test object_to_hash for model
108
- # api_client = DatadogAPIClient::V2::APIClient.new
109
- # _model = DatadogAPIClient::V2::ModelName.new
110
- # update the model attribute below
111
- # _model.id = 1
112
- # update the expected value (hash) below
113
- # expected = {id: 1, name: '', tags: []}
114
- # expect(api_client.object_to_hash(_model)).to eq(expected)
115
- end
116
- end
117
-
118
- describe '#build_collection_param' do
119
- let(:param) { ['aa', 'bb', 'cc'] }
120
- let(:api_client) { DatadogAPIClient::V2::APIClient.new }
121
-
122
- it 'works for csv' do
123
- expect(api_client.build_collection_param(param, :csv)).to eq('aa,bb,cc')
124
- end
125
-
126
- it 'works for ssv' do
127
- expect(api_client.build_collection_param(param, :ssv)).to eq('aa bb cc')
128
- end
129
-
130
- it 'works for tsv' do
131
- expect(api_client.build_collection_param(param, :tsv)).to eq("aa\tbb\tcc")
132
- end
133
-
134
- it 'works for pipes' do
135
- expect(api_client.build_collection_param(param, :pipes)).to eq('aa|bb|cc')
136
- end
137
-
138
- it 'works for multi' do
139
- expect(api_client.build_collection_param(param, :multi)).to eq(['aa', 'bb', 'cc'])
140
- end
141
-
142
- it 'fails for invalid collection format' do
143
- expect { api_client.build_collection_param(param, :INVALID) }.to raise_error(RuntimeError, 'unknown collection format: :INVALID')
144
- end
145
- end
146
-
147
- describe '#json_mime?' do
148
- let(:api_client) { DatadogAPIClient::V2::APIClient.new }
149
-
150
- it 'works' do
151
- expect(api_client.json_mime?(nil)).to eq false
152
- expect(api_client.json_mime?('')).to eq false
153
-
154
- expect(api_client.json_mime?('application/json')).to eq true
155
- expect(api_client.json_mime?('application/json; charset=UTF8')).to eq true
156
- expect(api_client.json_mime?('APPLICATION/JSON')).to eq true
157
-
158
- expect(api_client.json_mime?('application/xml')).to eq false
159
- expect(api_client.json_mime?('text/plain')).to eq false
160
- expect(api_client.json_mime?('application/jsonp')).to eq false
161
- end
162
- end
163
-
164
- describe '#select_header_accept' do
165
- let(:api_client) { DatadogAPIClient::V2::APIClient.new }
166
-
167
- it 'works' do
168
- expect(api_client.select_header_accept(nil)).to be_nil
169
- expect(api_client.select_header_accept([])).to be_nil
170
-
171
- expect(api_client.select_header_accept(['application/json'])).to eq('application/json')
172
- expect(api_client.select_header_accept(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
173
- expect(api_client.select_header_accept(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON')
174
-
175
- expect(api_client.select_header_accept(['application/xml'])).to eq('application/xml')
176
- expect(api_client.select_header_accept(['text/html', 'application/xml'])).to eq('text/html,application/xml')
177
- end
178
- end
179
-
180
- describe '#select_header_content_type' do
181
- let(:api_client) { DatadogAPIClient::V2::APIClient.new }
182
-
183
- it 'works' do
184
- expect(api_client.select_header_content_type(nil)).to eq('application/json')
185
- expect(api_client.select_header_content_type([])).to eq('application/json')
186
-
187
- expect(api_client.select_header_content_type(['application/json'])).to eq('application/json')
188
- expect(api_client.select_header_content_type(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
189
- expect(api_client.select_header_content_type(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON')
190
- expect(api_client.select_header_content_type(['application/xml'])).to eq('application/xml')
191
- expect(api_client.select_header_content_type(['text/plain', 'application/xml'])).to eq('text/plain')
192
- end
193
- end
194
-
195
- describe '#sanitize_filename' do
196
- let(:api_client) { DatadogAPIClient::V2::APIClient.new }
197
-
198
- it 'works' do
199
- expect(api_client.sanitize_filename('sun')).to eq('sun')
200
- expect(api_client.sanitize_filename('sun.gif')).to eq('sun.gif')
201
- expect(api_client.sanitize_filename('../sun.gif')).to eq('sun.gif')
202
- expect(api_client.sanitize_filename('/var/tmp/sun.gif')).to eq('sun.gif')
203
- expect(api_client.sanitize_filename('./sun.gif')).to eq('sun.gif')
204
- expect(api_client.sanitize_filename('..\sun.gif')).to eq('sun.gif')
205
- expect(api_client.sanitize_filename('\var\tmp\sun.gif')).to eq('sun.gif')
206
- expect(api_client.sanitize_filename('c:\var\tmp\sun.gif')).to eq('sun.gif')
207
- expect(api_client.sanitize_filename('.\sun.gif')).to eq('sun.gif')
208
- end
209
- end
210
- end