datadog_api_client 2.30.0 → 2.31.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 (301) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/schemas/v1/openapi.yaml +338 -22
  4. data/.generator/schemas/v2/openapi.yaml +3672 -98
  5. data/CHANGELOG.md +37 -0
  6. data/examples/v1/dashboards/CreateDashboard_1490099434.rb +65 -0
  7. data/examples/v1/dashboards/CreateDashboard_3520534424.rb +61 -0
  8. data/examples/v1/logs-indexes/DeleteLogsIndex.rb +5 -0
  9. data/examples/v1/logs-pipelines/CreateLogsPipeline_2707101123.rb +23 -0
  10. data/examples/v1/synthetics/CreateSyntheticsAPITest_1279271422.rb +1 -0
  11. data/examples/v2/agentless-scanning/CreateAwsOnDemandTask.rb +14 -0
  12. data/examples/v2/agentless-scanning/CreateAwsScanOptions.rb +18 -0
  13. data/examples/v2/agentless-scanning/DeleteAwsScanOptions.rb +5 -0
  14. data/examples/v2/agentless-scanning/GetAwsOnDemandTask.rb +5 -0
  15. data/examples/v2/agentless-scanning/ListAwsOnDemandTasks.rb +5 -0
  16. data/examples/v2/agentless-scanning/UpdateAwsScanOptions.rb +17 -0
  17. data/examples/v2/app-builder/CreateApp.rb +121 -13
  18. data/examples/v2/app-builder/DeleteApp.rb +0 -3
  19. data/examples/v2/app-builder/DeleteApps.rb +0 -3
  20. data/examples/v2/app-builder/GetApp.rb +0 -3
  21. data/examples/v2/app-builder/ListApps.rb +0 -3
  22. data/examples/v2/app-builder/PublishApp.rb +0 -3
  23. data/examples/v2/app-builder/UnpublishApp.rb +0 -3
  24. data/examples/v2/app-builder/UpdateApp.rb +0 -3
  25. data/examples/v2/application-security/CreateApplicationSecurityWafCustomRule.rb +55 -0
  26. data/examples/v2/application-security/CreateApplicationSecurityWafExclusionFilter.rb +33 -0
  27. data/examples/v2/application-security/DeleteApplicationSecurityWafCustomRule.rb +5 -0
  28. data/examples/v2/application-security/DeleteApplicationSecurityWafExclusionFilter.rb +8 -0
  29. data/examples/v2/application-security/GetApplicationSecurityWafCustomRule.rb +5 -0
  30. data/examples/v2/application-security/GetApplicationSecurityWafExclusionFilter.rb +8 -0
  31. data/examples/v2/application-security/ListApplicationSecurityWAFCustomRules.rb +5 -0
  32. data/examples/v2/application-security/ListApplicationSecurityWafExclusionFilters.rb +5 -0
  33. data/examples/v2/application-security/UpdateApplicationSecurityWafCustomRule.rb +46 -0
  34. data/examples/v2/application-security/UpdateApplicationSecurityWafExclusionFilter.rb +22 -0
  35. data/examples/v2/rum-retention-filters/CreateRetentionFilter.rb +21 -0
  36. data/examples/v2/rum-retention-filters/DeleteRetentionFilter.rb +5 -0
  37. data/examples/v2/rum-retention-filters/GetRetentionFilter.rb +5 -0
  38. data/examples/v2/rum-retention-filters/ListRetentionFilters.rb +5 -0
  39. data/examples/v2/rum-retention-filters/OrderRetentionFilters.rb +22 -0
  40. data/examples/v2/rum-retention-filters/UpdateRetentionFilter.rb +19 -0
  41. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_1965169892.rb +50 -0
  42. data/examples/v2/security-monitoring/CreateSignalNotificationRule.rb +1 -1
  43. data/examples/v2/security-monitoring/CreateVulnerabilityNotificationRule.rb +1 -1
  44. data/examples/v2/security-monitoring/DeleteSignalNotificationRule.rb +1 -1
  45. data/examples/v2/security-monitoring/DeleteVulnerabilityNotificationRule.rb +1 -1
  46. data/examples/v2/security-monitoring/GetRuleVersionHistory.rb +8 -0
  47. data/examples/v2/security-monitoring/GetRuleVersionHistory_2467565841.rb +11 -0
  48. data/examples/v2/security-monitoring/GetSBOM.rb +3 -0
  49. data/examples/v2/security-monitoring/GetSignalNotificationRule.rb +1 -1
  50. data/examples/v2/security-monitoring/GetSignalNotificationRules.rb +1 -1
  51. data/examples/v2/security-monitoring/GetVulnerabilityNotificationRule.rb +1 -1
  52. data/examples/v2/security-monitoring/GetVulnerabilityNotificationRules.rb +1 -1
  53. data/examples/v2/security-monitoring/ListVulnerabilities.rb +3 -0
  54. data/examples/v2/security-monitoring/ListVulnerableAssets.rb +3 -0
  55. data/examples/v2/security-monitoring/PatchSignalNotificationRule.rb +1 -1
  56. data/examples/v2/security-monitoring/PatchVulnerabilityNotificationRule.rb +1 -1
  57. data/examples/v2/software-catalog/UpsertCatalogEntity.rb +5 -1
  58. data/examples/v2/workflow-automation/CreateWorkflow.rb +95 -0
  59. data/examples/v2/workflow-automation/DeleteWorkflow.rb +8 -0
  60. data/examples/v2/workflow-automation/GetWorkflow.rb +8 -0
  61. data/examples/v2/workflow-automation/UpdateWorkflow.rb +99 -0
  62. data/lib/datadog_api_client/configuration.rb +4 -8
  63. data/lib/datadog_api_client/inflector.rb +188 -1
  64. data/lib/datadog_api_client/v1/api/logs_indexes_api.rb +66 -0
  65. data/lib/datadog_api_client/v1/api/monitors_api.rb +1 -1
  66. data/lib/datadog_api_client/v1/models/check_can_delete_monitor_response_data.rb +1 -1
  67. data/lib/datadog_api_client/v1/models/check_can_delete_slo_response_data.rb +1 -1
  68. data/lib/datadog_api_client/v1/models/dashboard_share_type.rb +1 -0
  69. data/lib/datadog_api_client/v1/models/logs_processor.rb +2 -1
  70. data/lib/datadog_api_client/v1/models/logs_span_remapper.rb +160 -0
  71. data/lib/datadog_api_client/v1/models/logs_span_remapper_type.rb +26 -0
  72. data/lib/datadog_api_client/v1/models/monitor_options_scheduling_options_evaluation_window.rb +14 -4
  73. data/lib/datadog_api_client/v1/models/monitor_search_result.rb +13 -1
  74. data/lib/datadog_api_client/v1/models/number_format_unit.rb +63 -0
  75. data/lib/datadog_api_client/v1/models/number_format_unit_canonical.rb +125 -0
  76. data/lib/datadog_api_client/v1/models/number_format_unit_custom.rb +137 -0
  77. data/lib/datadog_api_client/v1/models/number_format_unit_custom_type.rb +26 -0
  78. data/lib/datadog_api_client/v1/models/number_format_unit_scale.rb +115 -0
  79. data/lib/datadog_api_client/v1/models/number_format_unit_scale_type.rb +26 -0
  80. data/lib/datadog_api_client/v1/models/shared_dashboard.rb +85 -9
  81. data/lib/datadog_api_client/v1/models/shared_dashboard_invitees_items.rb +151 -0
  82. data/lib/datadog_api_client/v1/models/shared_dashboard_status.rb +27 -0
  83. data/lib/datadog_api_client/v1/models/shared_dashboard_update_request.rb +68 -3
  84. data/lib/datadog_api_client/v1/models/slo_correction_list_response.rb +1 -1
  85. data/lib/datadog_api_client/v1/models/synthetics_api_test_step.rb +11 -1
  86. data/lib/datadog_api_client/v1/models/synthetics_browser_variable_type.rb +0 -1
  87. data/lib/datadog_api_client/v1/models/synthetics_ci_test_body.rb +1 -1
  88. data/lib/datadog_api_client/v1/models/synthetics_mobile_step_params_element_user_locator.rb +1 -1
  89. data/lib/datadog_api_client/v1/models/synthetics_trigger_body.rb +1 -1
  90. data/lib/datadog_api_client/v1/models/table_widget_cell_display_mode.rb +1 -0
  91. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +3 -3
  92. data/lib/datadog_api_client/v1/models/viewing_preferences.rb +115 -0
  93. data/lib/datadog_api_client/v1/models/viewing_preferences_theme.rb +28 -0
  94. data/lib/datadog_api_client/v1/models/widget_formula.rb +21 -1
  95. data/lib/datadog_api_client/v1/models/widget_formula_cell_display_mode_options.rb +115 -0
  96. data/lib/datadog_api_client/v1/models/widget_formula_cell_display_mode_options_trend_type.rb +28 -0
  97. data/lib/datadog_api_client/v1/models/widget_formula_cell_display_mode_options_y_scale.rb +27 -0
  98. data/lib/datadog_api_client/v1/models/widget_number_format.rb +123 -0
  99. data/lib/datadog_api_client/v2/api/agentless_scanning_api.rb +398 -2
  100. data/lib/datadog_api_client/v2/api/api_management_api.rb +15 -0
  101. data/lib/datadog_api_client/v2/api/app_builder_api.rb +0 -48
  102. data/lib/datadog_api_client/v2/api/application_security_api.rb +689 -0
  103. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +1 -1
  104. data/lib/datadog_api_client/v2/api/confluent_cloud_api.rb +8 -8
  105. data/lib/datadog_api_client/v2/api/metrics_api.rb +3 -1
  106. data/lib/datadog_api_client/v2/api/rum_retention_filters_api.rb +455 -0
  107. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +116 -23
  108. data/lib/datadog_api_client/v2/api/software_catalog_api.rb +1 -2
  109. data/lib/datadog_api_client/v2/api/workflow_automation_api.rb +269 -0
  110. data/lib/datadog_api_client/v2/models/account_filtering_config.rb +129 -0
  111. data/lib/datadog_api_client/v2/models/action_query.rb +198 -0
  112. data/lib/datadog_api_client/v2/models/action_query_condition.rb +63 -0
  113. data/lib/datadog_api_client/v2/models/action_query_debounce_in_ms.rb +63 -0
  114. data/lib/datadog_api_client/v2/models/action_query_mocked_outputs.rb +63 -0
  115. data/lib/datadog_api_client/v2/models/action_query_mocked_outputs_enabled.rb +63 -0
  116. data/lib/datadog_api_client/v2/models/action_query_mocked_outputs_object.rb +133 -0
  117. data/lib/datadog_api_client/v2/models/action_query_only_trigger_manually.rb +63 -0
  118. data/lib/datadog_api_client/v2/models/action_query_polling_interval_in_ms.rb +63 -0
  119. data/lib/datadog_api_client/v2/models/action_query_properties.rb +203 -0
  120. data/lib/datadog_api_client/v2/models/action_query_requires_confirmation.rb +63 -0
  121. data/lib/datadog_api_client/v2/models/action_query_show_toast_on_error.rb +63 -0
  122. data/lib/datadog_api_client/v2/models/action_query_spec.rb +63 -0
  123. data/lib/datadog_api_client/v2/models/action_query_spec_connection_group.rb +117 -0
  124. data/lib/datadog_api_client/v2/models/action_query_spec_inputs.rb +63 -0
  125. data/lib/datadog_api_client/v2/models/action_query_spec_object.rb +153 -0
  126. data/lib/datadog_api_client/v2/models/action_query_type.rb +26 -0
  127. data/lib/datadog_api_client/v2/models/annotation.rb +165 -0
  128. data/lib/datadog_api_client/v2/models/annotation_display.rb +105 -0
  129. data/lib/datadog_api_client/v2/models/annotation_display_bounds.rb +135 -0
  130. data/lib/datadog_api_client/v2/models/annotation_markdown_text_annotation.rb +105 -0
  131. data/lib/datadog_api_client/v2/models/api_trigger.rb +105 -0
  132. data/lib/datadog_api_client/v2/models/api_trigger_wrapper.rb +135 -0
  133. data/lib/datadog_api_client/v2/models/app_trigger_wrapper.rb +135 -0
  134. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_action.rb +115 -0
  135. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_action_action.rb +27 -0
  136. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_action_parameters.rb +115 -0
  137. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_attributes.rb +253 -0
  138. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_condition.rb +144 -0
  139. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_condition_input.rb +135 -0
  140. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_condition_input_address.rb +46 -0
  141. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_condition_operator.rb +36 -0
  142. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_condition_options.rb +115 -0
  143. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_condition_parameters.rb +178 -0
  144. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_create_attributes.rb +243 -0
  145. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_create_data.rb +144 -0
  146. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_create_request.rb +123 -0
  147. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_data.rb +125 -0
  148. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_list_response.rb +107 -0
  149. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_metadata.rb +155 -0
  150. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_response.rb +105 -0
  151. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_scope.rb +144 -0
  152. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_tags.rb +145 -0
  153. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_tags_category.rb +28 -0
  154. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_type.rb +26 -0
  155. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_update_attributes.rb +243 -0
  156. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_update_data.rb +144 -0
  157. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_update_request.rb +123 -0
  158. data/lib/datadog_api_client/v2/models/application_security_waf_exclusion_filter_attributes.rb +213 -0
  159. data/lib/datadog_api_client/v2/models/application_security_waf_exclusion_filter_create_attributes.rb +212 -0
  160. data/lib/datadog_api_client/v2/models/application_security_waf_exclusion_filter_create_data.rb +144 -0
  161. data/lib/datadog_api_client/v2/models/application_security_waf_exclusion_filter_create_request.rb +123 -0
  162. data/lib/datadog_api_client/v2/models/application_security_waf_exclusion_filter_metadata.rb +155 -0
  163. data/lib/datadog_api_client/v2/models/application_security_waf_exclusion_filter_on_match.rb +26 -0
  164. data/lib/datadog_api_client/v2/models/application_security_waf_exclusion_filter_resource.rb +125 -0
  165. data/lib/datadog_api_client/v2/models/application_security_waf_exclusion_filter_response.rb +105 -0
  166. data/lib/datadog_api_client/v2/models/application_security_waf_exclusion_filter_rules_target.rb +115 -0
  167. data/lib/datadog_api_client/v2/models/application_security_waf_exclusion_filter_rules_target_tags.rb +115 -0
  168. data/lib/datadog_api_client/v2/models/application_security_waf_exclusion_filter_scope.rb +115 -0
  169. data/lib/datadog_api_client/v2/models/application_security_waf_exclusion_filter_type.rb +26 -0
  170. data/lib/datadog_api_client/v2/models/application_security_waf_exclusion_filter_update_attributes.rb +212 -0
  171. data/lib/datadog_api_client/v2/models/application_security_waf_exclusion_filter_update_data.rb +144 -0
  172. data/lib/datadog_api_client/v2/models/application_security_waf_exclusion_filter_update_request.rb +123 -0
  173. data/lib/datadog_api_client/v2/models/application_security_waf_exclusion_filters_response.rb +107 -0
  174. data/lib/datadog_api_client/v2/models/aws_cur_config_attributes.rb +11 -1
  175. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request_attributes.rb +12 -20
  176. data/lib/datadog_api_client/v2/models/aws_cur_config_post_request_attributes.rb +11 -1
  177. data/lib/datadog_api_client/v2/models/aws_on_demand_attributes.rb +138 -0
  178. data/lib/datadog_api_client/v2/models/aws_on_demand_create_attributes.rb +123 -0
  179. data/lib/datadog_api_client/v2/models/aws_on_demand_create_data.rb +144 -0
  180. data/lib/datadog_api_client/v2/models/aws_on_demand_create_request.rb +123 -0
  181. data/lib/datadog_api_client/v2/models/aws_on_demand_data.rb +125 -0
  182. data/lib/datadog_api_client/v2/models/aws_on_demand_list_response.rb +107 -0
  183. data/lib/datadog_api_client/v2/models/aws_on_demand_response.rb +105 -0
  184. data/lib/datadog_api_client/v2/models/aws_on_demand_type.rb +26 -0
  185. data/lib/datadog_api_client/v2/models/aws_scan_options_create_attributes.rb +186 -0
  186. data/lib/datadog_api_client/v2/models/aws_scan_options_create_data.rb +165 -0
  187. data/lib/datadog_api_client/v2/models/aws_scan_options_create_request.rb +123 -0
  188. data/lib/datadog_api_client/v2/models/aws_scan_options_list_response.rb +107 -0
  189. data/lib/datadog_api_client/v2/models/aws_scan_options_response.rb +4 -6
  190. data/lib/datadog_api_client/v2/models/aws_scan_options_update_attributes.rb +135 -0
  191. data/lib/datadog_api_client/v2/models/aws_scan_options_update_data.rb +165 -0
  192. data/lib/datadog_api_client/v2/models/aws_scan_options_update_request.rb +123 -0
  193. data/lib/datadog_api_client/v2/models/case_trigger.rb +105 -0
  194. data/lib/datadog_api_client/v2/models/case_trigger_wrapper.rb +135 -0
  195. data/lib/datadog_api_client/v2/models/change_event_trigger_wrapper.rb +135 -0
  196. data/lib/datadog_api_client/v2/models/completion_condition.rb +154 -0
  197. data/lib/datadog_api_client/v2/models/completion_condition_operator.rb +37 -0
  198. data/lib/datadog_api_client/v2/models/completion_gate.rb +144 -0
  199. data/lib/datadog_api_client/v2/models/connection.rb +144 -0
  200. data/lib/datadog_api_client/v2/models/connection_env.rb +147 -0
  201. data/lib/datadog_api_client/v2/models/connection_env_env.rb +26 -0
  202. data/lib/datadog_api_client/v2/models/connection_group.rb +167 -0
  203. data/lib/datadog_api_client/v2/models/create_workflow_request.rb +123 -0
  204. data/lib/datadog_api_client/v2/models/create_workflow_response.rb +123 -0
  205. data/lib/datadog_api_client/v2/models/dashboard_trigger_wrapper.rb +135 -0
  206. data/lib/datadog_api_client/v2/models/data_transform.rb +186 -0
  207. data/lib/datadog_api_client/v2/models/data_transform_properties.rb +105 -0
  208. data/lib/datadog_api_client/v2/models/{query_type.rb → data_transform_type.rb} +2 -4
  209. data/lib/datadog_api_client/v2/models/error_handler.rb +144 -0
  210. data/lib/datadog_api_client/v2/models/fastly_service.rb +1 -1
  211. data/lib/datadog_api_client/v2/models/get_rule_version_history_data.rb +125 -0
  212. data/lib/datadog_api_client/v2/models/get_rule_version_history_data_type.rb +26 -0
  213. data/lib/datadog_api_client/v2/models/get_rule_version_history_response.rb +105 -0
  214. data/lib/datadog_api_client/v2/models/get_workflow_response.rb +105 -0
  215. data/lib/datadog_api_client/v2/models/github_webhook_trigger.rb +105 -0
  216. data/lib/datadog_api_client/v2/models/github_webhook_trigger_wrapper.rb +135 -0
  217. data/lib/datadog_api_client/v2/models/incident_trigger.rb +105 -0
  218. data/lib/datadog_api_client/v2/models/incident_trigger_wrapper.rb +135 -0
  219. data/lib/datadog_api_client/v2/models/input_schema.rb +107 -0
  220. data/lib/datadog_api_client/v2/models/input_schema_parameters.rb +174 -0
  221. data/lib/datadog_api_client/v2/models/input_schema_parameters_type.rb +33 -0
  222. data/lib/datadog_api_client/v2/models/job_definition.rb +13 -1
  223. data/lib/datadog_api_client/v2/models/logs_archive_destination_s3.rb +11 -1
  224. data/lib/datadog_api_client/v2/models/logs_archive_storage_class_s3_type.rb +30 -0
  225. data/lib/datadog_api_client/v2/models/metric_bulk_tag_config_create_attributes.rb +50 -1
  226. data/lib/datadog_api_client/v2/models/monitor_trigger.rb +105 -0
  227. data/lib/datadog_api_client/v2/models/monitor_trigger_wrapper.rb +135 -0
  228. data/lib/datadog_api_client/v2/models/outbound_edge.rb +144 -0
  229. data/lib/datadog_api_client/v2/models/output_schema.rb +107 -0
  230. data/lib/datadog_api_client/v2/models/output_schema_parameters.rb +184 -0
  231. data/lib/datadog_api_client/v2/models/output_schema_parameters_type.rb +33 -0
  232. data/lib/datadog_api_client/v2/models/parameter.rb +144 -0
  233. data/lib/datadog_api_client/v2/models/query.rb +37 -160
  234. data/lib/datadog_api_client/v2/models/readiness_gate.rb +123 -0
  235. data/lib/datadog_api_client/v2/models/readiness_gate_threshold_type.rb +27 -0
  236. data/lib/datadog_api_client/v2/models/retry_strategy.rb +133 -0
  237. data/lib/datadog_api_client/v2/models/retry_strategy_kind.rb +26 -0
  238. data/lib/datadog_api_client/v2/models/retry_strategy_linear.rb +144 -0
  239. data/lib/datadog_api_client/v2/models/rule_types_items.rb +1 -1
  240. data/lib/datadog_api_client/v2/models/rule_version_history.rb +133 -0
  241. data/lib/datadog_api_client/v2/models/rule_version_update.rb +125 -0
  242. data/lib/datadog_api_client/v2/models/rule_version_update_type.rb +28 -0
  243. data/lib/datadog_api_client/v2/models/rule_versions.rb +117 -0
  244. data/lib/datadog_api_client/v2/models/rum_retention_filter_attributes.rb +167 -0
  245. data/lib/datadog_api_client/v2/models/rum_retention_filter_create_attributes.rb +193 -0
  246. data/lib/datadog_api_client/v2/models/rum_retention_filter_create_data.rb +154 -0
  247. data/lib/datadog_api_client/v2/models/rum_retention_filter_create_request.rb +123 -0
  248. data/lib/datadog_api_client/v2/models/rum_retention_filter_data.rb +135 -0
  249. data/lib/datadog_api_client/v2/models/rum_retention_filter_event_type.rb +32 -0
  250. data/lib/datadog_api_client/v2/models/rum_retention_filter_meta.rb +105 -0
  251. data/lib/datadog_api_client/v2/models/rum_retention_filter_response.rb +105 -0
  252. data/lib/datadog_api_client/v2/models/rum_retention_filter_source.rb +29 -0
  253. data/lib/datadog_api_client/v2/models/rum_retention_filter_type.rb +26 -0
  254. data/lib/datadog_api_client/v2/models/rum_retention_filter_update_attributes.rb +167 -0
  255. data/lib/datadog_api_client/v2/models/rum_retention_filter_update_data.rb +175 -0
  256. data/lib/datadog_api_client/v2/models/rum_retention_filter_update_request.rb +123 -0
  257. data/lib/datadog_api_client/v2/models/rum_retention_filters_order_data.rb +144 -0
  258. data/lib/datadog_api_client/v2/models/rum_retention_filters_order_request.rb +108 -0
  259. data/lib/datadog_api_client/v2/models/rum_retention_filters_order_response.rb +107 -0
  260. data/lib/datadog_api_client/v2/models/rum_retention_filters_response.rb +107 -0
  261. data/lib/datadog_api_client/v2/models/schedule_trigger.rb +123 -0
  262. data/lib/datadog_api_client/v2/models/schedule_trigger_wrapper.rb +135 -0
  263. data/lib/datadog_api_client/v2/models/security_monitoring_rule_case.rb +13 -1
  264. data/lib/datadog_api_client/v2/models/security_monitoring_rule_case_action.rb +115 -0
  265. data/lib/datadog_api_client/v2/models/security_monitoring_rule_case_action_options.rb +123 -0
  266. data/lib/datadog_api_client/v2/models/security_monitoring_rule_case_action_type.rb +27 -0
  267. data/lib/datadog_api_client/v2/models/security_monitoring_rule_case_create.rb +13 -1
  268. data/lib/datadog_api_client/v2/models/security_monitoring_rule_evaluation_window.rb +4 -0
  269. data/lib/datadog_api_client/v2/models/security_monitoring_rule_keep_alive.rb +2 -0
  270. data/lib/datadog_api_client/v2/models/security_monitoring_rule_update_payload.rb +13 -1
  271. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_create_payload.rb +13 -1
  272. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_payload.rb +13 -1
  273. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_response.rb +13 -1
  274. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_test_payload.rb +13 -1
  275. data/lib/datadog_api_client/v2/models/security_trigger.rb +105 -0
  276. data/lib/datadog_api_client/v2/models/security_trigger_wrapper.rb +135 -0
  277. data/lib/datadog_api_client/v2/models/selectors.rb +1 -1
  278. data/lib/datadog_api_client/v2/models/slack_trigger_wrapper.rb +135 -0
  279. data/lib/datadog_api_client/v2/models/spec.rb +173 -0
  280. data/lib/datadog_api_client/v2/models/state_variable.rb +186 -0
  281. data/lib/datadog_api_client/v2/models/state_variable_properties.rb +105 -0
  282. data/lib/datadog_api_client/v2/models/state_variable_type.rb +26 -0
  283. data/lib/datadog_api_client/v2/models/step.rb +220 -0
  284. data/lib/datadog_api_client/v2/models/step_display.rb +105 -0
  285. data/lib/datadog_api_client/v2/models/step_display_bounds.rb +115 -0
  286. data/lib/datadog_api_client/v2/models/trigger.rb +73 -0
  287. data/lib/datadog_api_client/v2/models/trigger_rate_limit.rb +115 -0
  288. data/lib/datadog_api_client/v2/models/update_workflow_request.rb +123 -0
  289. data/lib/datadog_api_client/v2/models/update_workflow_response.rb +105 -0
  290. data/lib/datadog_api_client/v2/models/workflow_data.rb +164 -0
  291. data/lib/datadog_api_client/v2/models/workflow_data_attributes.rb +206 -0
  292. data/lib/datadog_api_client/v2/models/workflow_data_relationships.rb +115 -0
  293. data/lib/datadog_api_client/v2/models/workflow_data_type.rb +26 -0
  294. data/lib/datadog_api_client/v2/models/workflow_data_update.rb +164 -0
  295. data/lib/datadog_api_client/v2/models/workflow_data_update_attributes.rb +177 -0
  296. data/lib/datadog_api_client/v2/models/workflow_trigger_wrapper.rb +135 -0
  297. data/lib/datadog_api_client/v2/models/workflow_user_relationship.rb +105 -0
  298. data/lib/datadog_api_client/v2/models/workflow_user_relationship_data.rb +144 -0
  299. data/lib/datadog_api_client/v2/models/workflow_user_relationship_type.rb +26 -0
  300. data/lib/datadog_api_client/version.rb +1 -1
  301. metadata +223 -3
@@ -0,0 +1,129 @@
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
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # The account filtering configuration.
21
+ class AccountFilteringConfig
22
+ include BaseGenericModel
23
+
24
+ # The AWS account IDs to be excluded from your billing dataset. This field is used when `include_new_accounts` is `true`.
25
+ attr_accessor :excluded_accounts
26
+
27
+ # Whether or not to automatically include new member accounts by default in your billing dataset.
28
+ attr_accessor :include_new_accounts
29
+
30
+ # The AWS account IDs to be included in your billing dataset. This field is used when `include_new_accounts` is `false`.
31
+ attr_accessor :included_accounts
32
+
33
+ attr_accessor :additional_properties
34
+
35
+ # Attribute mapping from ruby-style variable name to JSON key.
36
+ # @!visibility private
37
+ def self.attribute_map
38
+ {
39
+ :'excluded_accounts' => :'excluded_accounts',
40
+ :'include_new_accounts' => :'include_new_accounts',
41
+ :'included_accounts' => :'included_accounts'
42
+ }
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ # @!visibility private
47
+ def self.openapi_types
48
+ {
49
+ :'excluded_accounts' => :'Array<String>',
50
+ :'include_new_accounts' => :'Boolean',
51
+ :'included_accounts' => :'Array<String>'
52
+ }
53
+ end
54
+
55
+ # Initializes the object
56
+ # @param attributes [Hash] Model attributes in the form of hash
57
+ # @!visibility private
58
+ def initialize(attributes = {})
59
+ if (!attributes.is_a?(Hash))
60
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::AccountFilteringConfig` initialize method"
61
+ end
62
+
63
+ self.additional_properties = {}
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!self.class.attribute_map.key?(k.to_sym))
67
+ self.additional_properties[k.to_sym] = v
68
+ else
69
+ h[k.to_sym] = v
70
+ end
71
+ }
72
+
73
+ if attributes.key?(:'excluded_accounts')
74
+ if (value = attributes[:'excluded_accounts']).is_a?(Array)
75
+ self.excluded_accounts = value
76
+ end
77
+ end
78
+
79
+ if attributes.key?(:'include_new_accounts')
80
+ self.include_new_accounts = attributes[:'include_new_accounts']
81
+ end
82
+
83
+ if attributes.key?(:'included_accounts')
84
+ if (value = attributes[:'included_accounts']).is_a?(Array)
85
+ self.included_accounts = value
86
+ end
87
+ end
88
+ end
89
+
90
+ # Returns the object in the form of hash, with additionalProperties support.
91
+ # @return [Hash] Returns the object in the form of hash
92
+ # @!visibility private
93
+ def to_hash
94
+ hash = {}
95
+ self.class.attribute_map.each_pair do |attr, param|
96
+ value = self.send(attr)
97
+ if value.nil?
98
+ is_nullable = self.class.openapi_nullable.include?(attr)
99
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
100
+ end
101
+
102
+ hash[param] = _to_hash(value)
103
+ end
104
+ self.additional_properties.each_pair do |attr, value|
105
+ hash[attr] = value
106
+ end
107
+ hash
108
+ end
109
+
110
+ # Checks equality by comparing each attribute.
111
+ # @param o [Object] Object to be compared
112
+ # @!visibility private
113
+ def ==(o)
114
+ return true if self.equal?(o)
115
+ self.class == o.class &&
116
+ excluded_accounts == o.excluded_accounts &&
117
+ include_new_accounts == o.include_new_accounts &&
118
+ included_accounts == o.included_accounts &&
119
+ additional_properties == o.additional_properties
120
+ end
121
+
122
+ # Calculates hash code according to all attributes.
123
+ # @return [Integer] Hash code
124
+ # @!visibility private
125
+ def hash
126
+ [excluded_accounts, include_new_accounts, included_accounts, additional_properties].hash
127
+ end
128
+ end
129
+ end
@@ -0,0 +1,198 @@
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
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # An action query. This query type is used to trigger an action, such as sending a HTTP request.
21
+ class ActionQuery
22
+ include BaseGenericModel
23
+
24
+ # Events to listen for downstream of the action query.
25
+ attr_accessor :events
26
+
27
+ # The ID of the action query.
28
+ attr_reader :id
29
+
30
+ # A unique identifier for this action query. This name is also used to access the query's result throughout the app.
31
+ attr_reader :name
32
+
33
+ # The properties of the action query.
34
+ attr_reader :properties
35
+
36
+ # The action query type.
37
+ attr_reader :type
38
+
39
+ attr_accessor :additional_properties
40
+
41
+ # Attribute mapping from ruby-style variable name to JSON key.
42
+ # @!visibility private
43
+ def self.attribute_map
44
+ {
45
+ :'events' => :'events',
46
+ :'id' => :'id',
47
+ :'name' => :'name',
48
+ :'properties' => :'properties',
49
+ :'type' => :'type'
50
+ }
51
+ end
52
+
53
+ # Attribute type mapping.
54
+ # @!visibility private
55
+ def self.openapi_types
56
+ {
57
+ :'events' => :'Array<AppBuilderEvent>',
58
+ :'id' => :'UUID',
59
+ :'name' => :'String',
60
+ :'properties' => :'ActionQueryProperties',
61
+ :'type' => :'ActionQueryType'
62
+ }
63
+ end
64
+
65
+ # Initializes the object
66
+ # @param attributes [Hash] Model attributes in the form of hash
67
+ # @!visibility private
68
+ def initialize(attributes = {})
69
+ if (!attributes.is_a?(Hash))
70
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::ActionQuery` initialize method"
71
+ end
72
+
73
+ self.additional_properties = {}
74
+ # check to see if the attribute exists and convert string to symbol for hash key
75
+ attributes = attributes.each_with_object({}) { |(k, v), h|
76
+ if (!self.class.attribute_map.key?(k.to_sym))
77
+ self.additional_properties[k.to_sym] = v
78
+ else
79
+ h[k.to_sym] = v
80
+ end
81
+ }
82
+
83
+ if attributes.key?(:'events')
84
+ if (value = attributes[:'events']).is_a?(Array)
85
+ self.events = value
86
+ end
87
+ end
88
+
89
+ if attributes.key?(:'id')
90
+ self.id = attributes[:'id']
91
+ end
92
+
93
+ if attributes.key?(:'name')
94
+ self.name = attributes[:'name']
95
+ end
96
+
97
+ if attributes.key?(:'properties')
98
+ self.properties = attributes[:'properties']
99
+ end
100
+
101
+ if attributes.key?(:'type')
102
+ self.type = attributes[:'type']
103
+ end
104
+ end
105
+
106
+ # Check to see if the all the properties in the model are valid
107
+ # @return true if the model is valid
108
+ # @!visibility private
109
+ def valid?
110
+ return false if @id.nil?
111
+ return false if @name.nil?
112
+ return false if @properties.nil?
113
+ return false if @type.nil?
114
+ true
115
+ end
116
+
117
+ # Custom attribute writer method with validation
118
+ # @param id [Object] Object to be assigned
119
+ # @!visibility private
120
+ def id=(id)
121
+ if id.nil?
122
+ fail ArgumentError, 'invalid value for "id", id cannot be nil.'
123
+ end
124
+ @id = id
125
+ end
126
+
127
+ # Custom attribute writer method with validation
128
+ # @param name [Object] Object to be assigned
129
+ # @!visibility private
130
+ def name=(name)
131
+ if name.nil?
132
+ fail ArgumentError, 'invalid value for "name", name cannot be nil.'
133
+ end
134
+ @name = name
135
+ end
136
+
137
+ # Custom attribute writer method with validation
138
+ # @param properties [Object] Object to be assigned
139
+ # @!visibility private
140
+ def properties=(properties)
141
+ if properties.nil?
142
+ fail ArgumentError, 'invalid value for "properties", properties cannot be nil.'
143
+ end
144
+ @properties = properties
145
+ end
146
+
147
+ # Custom attribute writer method with validation
148
+ # @param type [Object] Object to be assigned
149
+ # @!visibility private
150
+ def type=(type)
151
+ if type.nil?
152
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
153
+ end
154
+ @type = type
155
+ end
156
+
157
+ # Returns the object in the form of hash, with additionalProperties support.
158
+ # @return [Hash] Returns the object in the form of hash
159
+ # @!visibility private
160
+ def to_hash
161
+ hash = {}
162
+ self.class.attribute_map.each_pair do |attr, param|
163
+ value = self.send(attr)
164
+ if value.nil?
165
+ is_nullable = self.class.openapi_nullable.include?(attr)
166
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
167
+ end
168
+
169
+ hash[param] = _to_hash(value)
170
+ end
171
+ self.additional_properties.each_pair do |attr, value|
172
+ hash[attr] = value
173
+ end
174
+ hash
175
+ end
176
+
177
+ # Checks equality by comparing each attribute.
178
+ # @param o [Object] Object to be compared
179
+ # @!visibility private
180
+ def ==(o)
181
+ return true if self.equal?(o)
182
+ self.class == o.class &&
183
+ events == o.events &&
184
+ id == o.id &&
185
+ name == o.name &&
186
+ properties == o.properties &&
187
+ type == o.type &&
188
+ additional_properties == o.additional_properties
189
+ end
190
+
191
+ # Calculates hash code according to all attributes.
192
+ # @return [Integer] Hash code
193
+ # @!visibility private
194
+ def hash
195
+ [events, id, name, properties, type, additional_properties].hash
196
+ end
197
+ end
198
+ end
@@ -0,0 +1,63 @@
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
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # Whether to run this query. If specified, the query will only run if this condition evaluates to `true` in JavaScript and all other conditions are also met.
21
+ module ActionQueryCondition
22
+ class << self
23
+ include BaseOneOfModel
24
+ include BaseOneOfModelNoDiscriminator
25
+
26
+ # List of class defined in oneOf (OpenAPI v3)
27
+ def openapi_one_of
28
+ [
29
+ :'Boolean',
30
+ :'String'
31
+ ]
32
+ end
33
+ # Builds the object
34
+ # @param data [Mixed] Data to be matched against the list of oneOf items
35
+ # @return [Object] Returns the model or the data itself
36
+ def build(data)
37
+ # Go through the list of oneOf items and attempt to identify the appropriate one.
38
+ # Note:
39
+ # - We do not attempt to check whether exactly one item matches.
40
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
41
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
42
+ # - TODO: scalar values are de facto behaving as if they were nullable.
43
+ # - TODO: logging when debugging is set.
44
+ openapi_one_of.each do |klass|
45
+ begin
46
+ next if klass == :AnyType # "nullable: true"
47
+ typed_data = find_and_cast_into_type(klass, data)
48
+ next if typed_data.respond_to?(:_unparsed) && typed_data._unparsed
49
+ return typed_data if typed_data
50
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
51
+ end
52
+ end
53
+
54
+ if openapi_one_of.include?(:AnyType)
55
+ data
56
+ else
57
+ self._unparsed = true
58
+ DatadogAPIClient::UnparsedObject.new(data)
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,63 @@
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
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # The minimum time in milliseconds that must pass before the query can be triggered again. This is useful for preventing accidental double-clicks from triggering the query multiple times.
21
+ module ActionQueryDebounceInMs
22
+ class << self
23
+ include BaseOneOfModel
24
+ include BaseOneOfModelNoDiscriminator
25
+
26
+ # List of class defined in oneOf (OpenAPI v3)
27
+ def openapi_one_of
28
+ [
29
+ :'Float',
30
+ :'String'
31
+ ]
32
+ end
33
+ # Builds the object
34
+ # @param data [Mixed] Data to be matched against the list of oneOf items
35
+ # @return [Object] Returns the model or the data itself
36
+ def build(data)
37
+ # Go through the list of oneOf items and attempt to identify the appropriate one.
38
+ # Note:
39
+ # - We do not attempt to check whether exactly one item matches.
40
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
41
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
42
+ # - TODO: scalar values are de facto behaving as if they were nullable.
43
+ # - TODO: logging when debugging is set.
44
+ openapi_one_of.each do |klass|
45
+ begin
46
+ next if klass == :AnyType # "nullable: true"
47
+ typed_data = find_and_cast_into_type(klass, data)
48
+ next if typed_data.respond_to?(:_unparsed) && typed_data._unparsed
49
+ return typed_data if typed_data
50
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
51
+ end
52
+ end
53
+
54
+ if openapi_one_of.include?(:AnyType)
55
+ data
56
+ else
57
+ self._unparsed = true
58
+ DatadogAPIClient::UnparsedObject.new(data)
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,63 @@
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
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # The mocked outputs of the action query. This is useful for testing the app without actually running the action.
21
+ module ActionQueryMockedOutputs
22
+ class << self
23
+ include BaseOneOfModel
24
+ include BaseOneOfModelNoDiscriminator
25
+
26
+ # List of class defined in oneOf (OpenAPI v3)
27
+ def openapi_one_of
28
+ [
29
+ :'String',
30
+ :'ActionQueryMockedOutputsObject'
31
+ ]
32
+ end
33
+ # Builds the object
34
+ # @param data [Mixed] Data to be matched against the list of oneOf items
35
+ # @return [Object] Returns the model or the data itself
36
+ def build(data)
37
+ # Go through the list of oneOf items and attempt to identify the appropriate one.
38
+ # Note:
39
+ # - We do not attempt to check whether exactly one item matches.
40
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
41
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
42
+ # - TODO: scalar values are de facto behaving as if they were nullable.
43
+ # - TODO: logging when debugging is set.
44
+ openapi_one_of.each do |klass|
45
+ begin
46
+ next if klass == :AnyType # "nullable: true"
47
+ typed_data = find_and_cast_into_type(klass, data)
48
+ next if typed_data.respond_to?(:_unparsed) && typed_data._unparsed
49
+ return typed_data if typed_data
50
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
51
+ end
52
+ end
53
+
54
+ if openapi_one_of.include?(:AnyType)
55
+ data
56
+ else
57
+ self._unparsed = true
58
+ DatadogAPIClient::UnparsedObject.new(data)
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,63 @@
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
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # Whether to enable the mocked outputs for testing.
21
+ module ActionQueryMockedOutputsEnabled
22
+ class << self
23
+ include BaseOneOfModel
24
+ include BaseOneOfModelNoDiscriminator
25
+
26
+ # List of class defined in oneOf (OpenAPI v3)
27
+ def openapi_one_of
28
+ [
29
+ :'Boolean',
30
+ :'String'
31
+ ]
32
+ end
33
+ # Builds the object
34
+ # @param data [Mixed] Data to be matched against the list of oneOf items
35
+ # @return [Object] Returns the model or the data itself
36
+ def build(data)
37
+ # Go through the list of oneOf items and attempt to identify the appropriate one.
38
+ # Note:
39
+ # - We do not attempt to check whether exactly one item matches.
40
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
41
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
42
+ # - TODO: scalar values are de facto behaving as if they were nullable.
43
+ # - TODO: logging when debugging is set.
44
+ openapi_one_of.each do |klass|
45
+ begin
46
+ next if klass == :AnyType # "nullable: true"
47
+ typed_data = find_and_cast_into_type(klass, data)
48
+ next if typed_data.respond_to?(:_unparsed) && typed_data._unparsed
49
+ return typed_data if typed_data
50
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
51
+ end
52
+ end
53
+
54
+ if openapi_one_of.include?(:AnyType)
55
+ data
56
+ else
57
+ self._unparsed = true
58
+ DatadogAPIClient::UnparsedObject.new(data)
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end