datadog_api_client 2.29.1 → 2.30.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (325) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/schemas/v1/openapi.yaml +591 -464
  4. data/.generator/schemas/v2/openapi.yaml +4175 -744
  5. data/.github/CODEOWNERS +5 -5
  6. data/.github/workflows/docs.yml +2 -2
  7. data/.github/workflows/prepare_release.yml +1 -1
  8. data/.github/workflows/test.yml +4 -1
  9. data/CHANGELOG.md +42 -0
  10. data/Gemfile +1 -1
  11. data/LICENSE-3rdparty.csv +1 -1
  12. data/RELEASING.md +1 -1
  13. data/examples/v1/azure-integration/UpdateAzureHostFilters.rb +9 -6
  14. data/examples/v1/azure-integration/UpdateAzureIntegration.rb +0 -6
  15. data/examples/v1/logs-pipelines/CreateLogsPipeline.rb +1 -0
  16. data/examples/v1/logs-pipelines/UpdateLogsPipeline.rb +1 -0
  17. data/examples/v1/monitors/CreateMonitor_1303514967.rb +32 -0
  18. data/examples/v1/monitors/ListMonitors.rb +1 -1
  19. data/examples/v1/monitors/{ListMonitors_3448441939.rb → ListMonitors_2154432960.rb} +1 -1
  20. data/examples/v1/monitors/{ListMonitors_2966492814.rb → ListMonitors_463213563.rb} +1 -1
  21. data/examples/v2/action-connection/CreateActionConnection.rb +22 -0
  22. data/examples/v2/action-connection/DeleteActionConnection.rb +5 -0
  23. data/examples/v2/action-connection/DeleteActionConnection_2142905164.rb +8 -0
  24. data/examples/v2/action-connection/GetActionConnection.rb +5 -0
  25. data/examples/v2/action-connection/UpdateActionConnection.rb +22 -0
  26. data/examples/v2/agentless-scanning/ListAwsScanOptions.rb +5 -0
  27. data/examples/v2/{apps → app-builder}/CreateApp.rb +4 -4
  28. data/examples/v2/{apps → app-builder}/DeleteApp.rb +1 -1
  29. data/examples/v2/{apps → app-builder}/DeleteApps.rb +2 -2
  30. data/examples/v2/{apps → app-builder}/GetApp.rb +1 -1
  31. data/examples/v2/{apps → app-builder}/ListApps.rb +1 -1
  32. data/examples/v2/app-builder/PublishApp.rb +11 -0
  33. data/examples/v2/app-builder/UnpublishApp.rb +11 -0
  34. data/examples/v2/{apps → app-builder}/UpdateApp.rb +2 -2
  35. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_819339921.rb +29 -0
  36. data/examples/v2/csm-coverage-analysis/GetCSMCloudAccountsCoverageAnalysis.rb +5 -0
  37. data/examples/v2/csm-coverage-analysis/GetCSMHostsAndContainersCoverageAnalysis.rb +5 -0
  38. data/examples/v2/csm-coverage-analysis/GetCSMServerlessCoverageAnalysis.rb +5 -0
  39. data/examples/v2/data-deletion/CreateDataDeletionRequest.rb +1 -0
  40. data/examples/v2/events/CreateEvent.rb +1 -1
  41. data/examples/v2/logs/ListLogs.rb +12 -6
  42. data/examples/v2/logs/ListLogsGet.rb +1 -1
  43. data/examples/v2/logs/ListLogsGet_175182691.rb +5 -0
  44. data/examples/v2/logs/ListLogs_3400928236.rb +23 -0
  45. data/examples/v2/logs/ListLogs_534975433.rb +29 -0
  46. data/examples/v2/microsoft-teams-integration/CreateWorkflowsWebhookHandle.rb +15 -0
  47. data/examples/v2/microsoft-teams-integration/CreateWorkflowsWebhookHandle_1716851881.rb +15 -0
  48. data/examples/v2/microsoft-teams-integration/DeleteWorkflowsWebhookHandle.rb +5 -0
  49. data/examples/v2/microsoft-teams-integration/DeleteWorkflowsWebhookHandle_107549514.rb +8 -0
  50. data/examples/v2/microsoft-teams-integration/GetWorkflowsWebhookHandle.rb +5 -0
  51. data/examples/v2/microsoft-teams-integration/GetWorkflowsWebhookHandle_3421443805.rb +8 -0
  52. data/examples/v2/microsoft-teams-integration/ListWorkflowsWebhookHandles.rb +5 -0
  53. data/examples/v2/microsoft-teams-integration/ListWorkflowsWebhookHandles_620762083.rb +5 -0
  54. data/examples/v2/microsoft-teams-integration/UpdateWorkflowsWebhookHandle.rb +15 -0
  55. data/examples/v2/microsoft-teams-integration/UpdateWorkflowsWebhookHandle_163189594.rb +18 -0
  56. data/examples/v2/security-monitoring/CreateSecurityMonitoringSuppression.rb +1 -0
  57. data/examples/v2/security-monitoring/CreateSecurityMonitoringSuppression_3192265332.rb +1 -0
  58. data/examples/v2/security-monitoring/CreateSignalNotificationRule.rb +30 -0
  59. data/examples/v2/security-monitoring/CreateVulnerabilityNotificationRule.rb +30 -0
  60. data/examples/v2/security-monitoring/DeleteSignalNotificationRule.rb +8 -0
  61. data/examples/v2/security-monitoring/DeleteVulnerabilityNotificationRule.rb +8 -0
  62. data/examples/v2/security-monitoring/GetSBOM.rb +5 -0
  63. data/examples/v2/security-monitoring/GetSignalNotificationRule.rb +8 -0
  64. data/examples/v2/security-monitoring/GetSignalNotificationRules.rb +5 -0
  65. data/examples/v2/security-monitoring/GetVulnerabilityNotificationRule.rb +8 -0
  66. data/examples/v2/security-monitoring/GetVulnerabilityNotificationRules.rb +5 -0
  67. data/examples/v2/security-monitoring/ListVulnerabilities.rb +10 -0
  68. data/examples/v2/security-monitoring/ListVulnerableAssets.rb +10 -0
  69. data/examples/v2/security-monitoring/PatchSignalNotificationRule.rb +35 -0
  70. data/examples/v2/security-monitoring/PatchVulnerabilityNotificationRule.rb +35 -0
  71. data/examples/v2/security-monitoring/RunHistoricalJob.rb +2 -2
  72. data/examples/v2/usage-metering/GetActiveBillingDimensions.rb +0 -3
  73. data/examples/v2/usage-metering/GetBillingDimensionMapping.rb +0 -3
  74. data/examples/v2/usage-metering/GetMonthlyCostAttribution.rb +0 -3
  75. data/lib/datadog_api_client/configuration.rb +2 -5
  76. data/lib/datadog_api_client/inflector.rb +145 -44
  77. data/lib/datadog_api_client/v1/api/monitors_api.rb +28 -4
  78. data/lib/datadog_api_client/v1/models/azure_account.rb +42 -13
  79. data/lib/datadog_api_client/v1/models/dashboard.rb +0 -2
  80. data/lib/datadog_api_client/v1/models/logs_pipeline.rb +23 -1
  81. data/lib/datadog_api_client/v1/models/monitor_formula_and_function_cost_aggregator.rb +34 -0
  82. data/lib/datadog_api_client/v1/models/monitor_formula_and_function_cost_data_source.rb +28 -0
  83. data/lib/datadog_api_client/v1/models/{azure_account_metrics_config.rb → monitor_formula_and_function_cost_query_definition.rb} +81 -16
  84. data/lib/datadog_api_client/v1/models/monitor_formula_and_function_query_definition.rb +2 -1
  85. data/lib/datadog_api_client/v1/models/monitor_type.rb +1 -0
  86. data/lib/datadog_api_client/v1/models/monitor_update_request.rb +1 -1
  87. data/lib/datadog_api_client/v1/models/resource_provider_config.rb +115 -0
  88. data/lib/datadog_api_client/v1/models/synthetics_step.rb +11 -1
  89. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +184 -4
  90. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +183 -3
  91. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +183 -3
  92. data/lib/datadog_api_client/v2/api/action_connection_api.rb +295 -0
  93. data/lib/datadog_api_client/v2/api/agentless_scanning_api.rb +86 -0
  94. data/lib/datadog_api_client/v2/api/{apps_api.rb → app_builder_api.rb} +184 -38
  95. data/lib/datadog_api_client/v2/api/csm_coverage_analysis_api.rb +212 -0
  96. data/lib/datadog_api_client/v2/api/logs_api.rb +8 -8
  97. data/lib/datadog_api_client/v2/api/metrics_api.rb +1 -1
  98. data/lib/datadog_api_client/v2/api/microsoft_teams_integration_api.rb +331 -0
  99. data/lib/datadog_api_client/v2/api/restriction_policies_api.rb +13 -3
  100. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +1123 -1
  101. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +1 -19
  102. data/lib/datadog_api_client/v2/models/action_connection_attributes.rb +144 -0
  103. data/lib/datadog_api_client/v2/models/{app_builder_error_errors_items.rb → action_connection_attributes_update.rb} +18 -18
  104. data/lib/datadog_api_client/v2/models/action_connection_data.rb +154 -0
  105. data/lib/datadog_api_client/v2/models/{delete_app_response_data_type.rb → action_connection_data_type.rb} +3 -3
  106. data/lib/datadog_api_client/v2/models/action_connection_data_update.rb +144 -0
  107. data/lib/datadog_api_client/v2/models/action_connection_integration.rb +63 -0
  108. data/lib/datadog_api_client/v2/models/action_connection_integration_update.rb +63 -0
  109. data/lib/datadog_api_client/v2/models/advisory.rb +154 -0
  110. data/lib/datadog_api_client/v2/models/app_builder_event.rb +1 -1
  111. data/lib/datadog_api_client/v2/models/{get_app_response_data_type.rb → app_definition_type.rb} +2 -2
  112. data/lib/datadog_api_client/v2/models/{deployment_included_type.rb → app_deployment_type.rb} +2 -2
  113. data/lib/datadog_api_client/v2/models/app_meta.rb +15 -25
  114. data/lib/datadog_api_client/v2/models/{get_app_response_relationship.rb → app_relationship.rb} +5 -5
  115. data/lib/datadog_api_client/v2/models/asset.rb +165 -0
  116. data/lib/datadog_api_client/v2/models/asset_attributes.rb +218 -0
  117. data/lib/datadog_api_client/v2/models/{script_data_type.rb → asset_entity_type.rb} +3 -3
  118. data/lib/datadog_api_client/v2/models/asset_operating_system.rb +133 -0
  119. data/lib/datadog_api_client/v2/models/asset_risks.rb +163 -0
  120. data/lib/datadog_api_client/v2/models/asset_type.rb +30 -0
  121. data/lib/datadog_api_client/v2/models/{disable_app_response_data_attributes.rb → asset_version.rb} +21 -11
  122. data/lib/datadog_api_client/v2/models/aws_assume_role.rb +191 -0
  123. data/lib/datadog_api_client/v2/models/{input_schema_data_type.rb → aws_assume_role_type.rb} +3 -3
  124. data/lib/datadog_api_client/v2/models/aws_assume_role_update.rb +166 -0
  125. data/lib/datadog_api_client/v2/models/aws_credentials.rb +62 -0
  126. data/lib/datadog_api_client/v2/models/aws_credentials_update.rb +62 -0
  127. data/lib/datadog_api_client/v2/models/aws_integration.rb +144 -0
  128. data/lib/datadog_api_client/v2/models/{deploy_app_response_data_type.rb → aws_integration_type.rb} +3 -3
  129. data/lib/datadog_api_client/v2/models/aws_integration_update.rb +133 -0
  130. data/lib/datadog_api_client/v2/models/aws_scan_options_attributes.rb +135 -0
  131. data/lib/datadog_api_client/v2/models/{input_schema_data.rb → aws_scan_options_data.rb} +8 -8
  132. data/lib/datadog_api_client/v2/models/aws_scan_options_response.rb +107 -0
  133. data/lib/datadog_api_client/v2/models/{delete_apps_request_data_items_type.rb → aws_scan_options_type.rb} +3 -3
  134. data/lib/datadog_api_client/v2/models/change_event_custom_attributes.rb +1 -1
  135. data/lib/datadog_api_client/v2/models/change_event_custom_attributes_changed_resource.rb +1 -1
  136. data/lib/datadog_api_client/v2/models/change_event_custom_attributes_changed_resource_type.rb +1 -0
  137. data/lib/datadog_api_client/v2/models/ci_app_create_pipeline_event_request_attributes.rb +11 -1
  138. data/lib/datadog_api_client/v2/models/{deployment_included_meta.rb → code_location.rb} +41 -33
  139. data/lib/datadog_api_client/v2/models/component.rb +6 -6
  140. data/lib/datadog_api_client/v2/models/component_grid.rb +6 -6
  141. data/lib/datadog_api_client/v2/models/component_grid_properties.rb +4 -4
  142. data/lib/datadog_api_client/v2/models/component_grid_properties_is_visible.rb +1 -1
  143. data/lib/datadog_api_client/v2/models/component_grid_type.rb +1 -1
  144. data/lib/datadog_api_client/v2/models/component_properties.rb +3 -3
  145. data/lib/datadog_api_client/v2/models/component_properties_is_visible.rb +1 -1
  146. data/lib/datadog_api_client/v2/models/component_type.rb +1 -1
  147. data/lib/datadog_api_client/v2/models/create_action_connection_request.rb +123 -0
  148. data/lib/datadog_api_client/v2/models/{script.rb → create_action_connection_response.rb} +5 -5
  149. data/lib/datadog_api_client/v2/models/create_app_request.rb +2 -2
  150. data/lib/datadog_api_client/v2/models/create_app_request_data.rb +4 -4
  151. data/lib/datadog_api_client/v2/models/create_app_request_data_attributes.rb +19 -41
  152. data/lib/datadog_api_client/v2/models/create_app_response.rb +2 -2
  153. data/lib/datadog_api_client/v2/models/create_app_response_data.rb +5 -5
  154. data/lib/datadog_api_client/v2/models/create_data_deletion_request_body_data.rb +24 -3
  155. data/lib/datadog_api_client/v2/models/{disable_app_response_data_type.rb → create_data_deletion_request_body_data_type.rb} +3 -3
  156. data/lib/datadog_api_client/v2/models/create_notification_rule_parameters.rb +105 -0
  157. data/lib/datadog_api_client/v2/models/create_notification_rule_parameters_data.rb +144 -0
  158. data/lib/datadog_api_client/v2/models/create_notification_rule_parameters_data_attributes.rb +195 -0
  159. data/lib/datadog_api_client/v2/models/csm_cloud_accounts_coverage_analysis_attributes.rb +145 -0
  160. data/lib/datadog_api_client/v2/models/{disable_app_response_data.rb → csm_cloud_accounts_coverage_analysis_data.rb} +9 -19
  161. data/lib/datadog_api_client/v2/models/csm_cloud_accounts_coverage_analysis_response.rb +105 -0
  162. data/lib/datadog_api_client/v2/models/csm_coverage_analysis.rb +135 -0
  163. data/lib/datadog_api_client/v2/models/csm_hosts_and_containers_coverage_analysis_attributes.rb +145 -0
  164. data/lib/datadog_api_client/v2/models/csm_hosts_and_containers_coverage_analysis_data.rb +125 -0
  165. data/lib/datadog_api_client/v2/models/csm_hosts_and_containers_coverage_analysis_response.rb +105 -0
  166. data/lib/datadog_api_client/v2/models/csm_serverless_coverage_analysis_attributes.rb +125 -0
  167. data/lib/datadog_api_client/v2/models/csm_serverless_coverage_analysis_data.rb +125 -0
  168. data/lib/datadog_api_client/v2/models/csm_serverless_coverage_analysis_response.rb +105 -0
  169. data/lib/datadog_api_client/v2/models/custom_connection.rb +5 -5
  170. data/lib/datadog_api_client/v2/models/custom_connection_attributes.rb +3 -3
  171. data/lib/datadog_api_client/v2/models/custom_connection_attributes_on_prem_runner.rb +3 -3
  172. data/lib/datadog_api_client/v2/models/custom_connection_type.rb +1 -1
  173. data/lib/datadog_api_client/v2/models/cvss.rb +165 -0
  174. data/lib/datadog_api_client/v2/models/delete_app_response.rb +1 -1
  175. data/lib/datadog_api_client/v2/models/delete_app_response_data.rb +4 -4
  176. data/lib/datadog_api_client/v2/models/delete_apps_request.rb +2 -2
  177. data/lib/datadog_api_client/v2/models/delete_apps_request_data_items.rb +5 -5
  178. data/lib/datadog_api_client/v2/models/delete_apps_response.rb +2 -2
  179. data/lib/datadog_api_client/v2/models/delete_apps_response_data_items.rb +5 -5
  180. data/lib/datadog_api_client/v2/models/dependency_location.rb +207 -0
  181. data/lib/datadog_api_client/v2/models/{deploy_app_response_data.rb → deployment.rb} +11 -11
  182. data/lib/datadog_api_client/v2/models/{deploy_app_response_data_attributes.rb → deployment_attributes.rb} +5 -5
  183. data/lib/datadog_api_client/v2/models/{deployment_relationship_meta.rb → deployment_metadata.rb} +9 -9
  184. data/lib/datadog_api_client/v2/models/deployment_relationship.rb +4 -4
  185. data/lib/datadog_api_client/v2/models/deployment_relationship_data.rb +5 -5
  186. data/lib/datadog_api_client/v2/models/entity_v3.rb +2 -1
  187. data/lib/datadog_api_client/v2/models/entity_v3_api.rb +180 -0
  188. data/lib/datadog_api_client/v2/models/entity_v3_api_datadog.rb +126 -0
  189. data/lib/datadog_api_client/v2/models/entity_v3_api_kind.rb +26 -0
  190. data/lib/datadog_api_client/v2/models/entity_v3_api_spec.rb +151 -0
  191. data/lib/datadog_api_client/v2/models/entity_v3_api_spec_interface_definition.rb +80 -0
  192. data/lib/datadog_api_client/v2/models/{entity_v3_metadata_owner.rb → entity_v3_api_spec_interface_file_ref.rb} +12 -12
  193. data/lib/datadog_api_client/v2/models/entity_v3_metadata.rb +1 -1
  194. data/lib/datadog_api_client/v2/models/epss.rb +144 -0
  195. data/lib/datadog_api_client/v2/models/{input_schema.rb → get_action_connection_response.rb} +5 -5
  196. data/lib/datadog_api_client/v2/models/get_app_response.rb +7 -7
  197. data/lib/datadog_api_client/v2/models/get_app_response_data.rb +6 -6
  198. data/lib/datadog_api_client/v2/models/get_app_response_data_attributes.rb +20 -42
  199. data/lib/datadog_api_client/v2/models/get_sbom_response.rb +123 -0
  200. data/lib/datadog_api_client/v2/models/historical_job_options.rb +168 -0
  201. data/lib/datadog_api_client/v2/models/historical_job_query.rb +171 -0
  202. data/lib/datadog_api_client/v2/models/{app_builder_error.rb → http_body.rb} +21 -13
  203. data/lib/datadog_api_client/v2/models/http_credentials.rb +62 -0
  204. data/lib/datadog_api_client/v2/models/http_credentials_update.rb +62 -0
  205. data/lib/datadog_api_client/v2/models/http_header.rb +150 -0
  206. data/lib/datadog_api_client/v2/models/http_header_update.rb +149 -0
  207. data/lib/datadog_api_client/v2/models/http_integration.rb +171 -0
  208. data/lib/datadog_api_client/v2/models/http_integration_type.rb +26 -0
  209. data/lib/datadog_api_client/v2/models/http_integration_update.rb +156 -0
  210. data/lib/datadog_api_client/v2/models/http_token.rb +171 -0
  211. data/lib/datadog_api_client/v2/models/http_token_auth.rb +169 -0
  212. data/lib/datadog_api_client/v2/models/http_token_auth_type.rb +26 -0
  213. data/lib/datadog_api_client/v2/models/http_token_auth_update.rb +169 -0
  214. data/lib/datadog_api_client/v2/models/http_token_update.rb +181 -0
  215. data/lib/datadog_api_client/v2/models/job_definition.rb +6 -18
  216. data/lib/datadog_api_client/v2/models/jsonapi_error_item.rb +21 -1
  217. data/lib/datadog_api_client/v2/models/{app_builder_error_errors_items_source.rb → jsonapi_error_item_source.rb} +16 -6
  218. data/lib/datadog_api_client/v2/models/library.rb +133 -0
  219. data/lib/datadog_api_client/v2/models/links.rb +185 -0
  220. data/lib/datadog_api_client/v2/models/list_apps_response.rb +5 -5
  221. data/lib/datadog_api_client/v2/models/list_apps_response_data_items.rb +8 -8
  222. data/lib/datadog_api_client/v2/models/list_apps_response_data_items_attributes.rb +6 -6
  223. data/lib/datadog_api_client/v2/models/list_apps_response_data_items_relationships.rb +2 -2
  224. data/lib/datadog_api_client/v2/models/list_apps_response_meta.rb +2 -2
  225. data/lib/datadog_api_client/v2/models/list_apps_response_meta_page.rb +3 -3
  226. data/lib/datadog_api_client/v2/models/list_vulnerabilities_response.rb +145 -0
  227. data/lib/datadog_api_client/v2/models/list_vulnerable_assets_response.rb +145 -0
  228. data/lib/datadog_api_client/v2/models/logs_archive_destination_s3.rb +11 -1
  229. data/lib/datadog_api_client/v2/models/logs_archive_encryption_s3.rb +133 -0
  230. data/lib/datadog_api_client/v2/models/logs_archive_encryption_s3_type.rb +28 -0
  231. data/lib/datadog_api_client/v2/models/metadata.rb +165 -0
  232. data/lib/datadog_api_client/v2/models/microsoft_teams_create_workflows_webhook_handle_request.rb +123 -0
  233. data/lib/datadog_api_client/v2/models/microsoft_teams_update_workflows_webhook_handle_request.rb +123 -0
  234. data/lib/datadog_api_client/v2/models/microsoft_teams_update_workflows_webhook_handle_request_data.rb +144 -0
  235. data/lib/datadog_api_client/v2/models/microsoft_teams_workflows_webhook_handle_attributes.rb +144 -0
  236. data/lib/datadog_api_client/v2/models/{input_schema_data_attributes_parameters_items_data_attributes.rb → microsoft_teams_workflows_webhook_handle_request_attributes.rb} +46 -51
  237. data/lib/datadog_api_client/v2/models/microsoft_teams_workflows_webhook_handle_request_data.rb +144 -0
  238. data/lib/datadog_api_client/v2/models/microsoft_teams_workflows_webhook_handle_response.rb +123 -0
  239. data/lib/datadog_api_client/v2/models/microsoft_teams_workflows_webhook_handle_response_data.rb +147 -0
  240. data/lib/datadog_api_client/v2/models/{create_app_response_data_type.rb → microsoft_teams_workflows_webhook_handle_type.rb} +3 -3
  241. data/lib/datadog_api_client/v2/models/microsoft_teams_workflows_webhook_handles_response.rb +125 -0
  242. data/lib/datadog_api_client/v2/models/microsoft_teams_workflows_webhook_response_attributes.rb +123 -0
  243. data/lib/datadog_api_client/v2/models/notification_rule.rb +168 -0
  244. data/lib/datadog_api_client/v2/models/notification_rule_attributes.rb +311 -0
  245. data/lib/datadog_api_client/v2/models/{input_schema_data_attributes_parameters_items.rb → notification_rule_response.rb} +9 -5
  246. data/lib/datadog_api_client/v2/models/{create_app_request_data_type.rb → notification_rules_type.rb} +3 -3
  247. data/lib/datadog_api_client/v2/models/patch_notification_rule_parameters.rb +105 -0
  248. data/lib/datadog_api_client/v2/models/patch_notification_rule_parameters_data.rb +165 -0
  249. data/lib/datadog_api_client/v2/models/patch_notification_rule_parameters_data_attributes.rb +165 -0
  250. data/lib/datadog_api_client/v2/models/{disable_app_response.rb → publish_app_response.rb} +5 -5
  251. data/lib/datadog_api_client/v2/models/query.rb +7 -7
  252. data/lib/datadog_api_client/v2/models/query_type.rb +1 -1
  253. data/lib/datadog_api_client/v2/models/remediation.rb +278 -0
  254. data/lib/datadog_api_client/v2/models/rule_severity.rb +31 -0
  255. data/lib/datadog_api_client/v2/models/rule_types_items.rb +42 -0
  256. data/lib/datadog_api_client/v2/models/{deployment_included_attributes.rb → rule_user.rb} +21 -11
  257. data/lib/datadog_api_client/v2/models/{script_data.rb → sbom.rb} +8 -8
  258. data/lib/datadog_api_client/v2/models/sbom_attributes.rb +230 -0
  259. data/lib/datadog_api_client/v2/models/sbom_component.rb +185 -0
  260. data/lib/datadog_api_client/v2/models/sbom_component_type.rb +37 -0
  261. data/lib/datadog_api_client/v2/models/sbom_metadata.rb +105 -0
  262. data/lib/datadog_api_client/v2/models/{script_data_attributes.rb → sbom_metadata_component.rb} +6 -16
  263. data/lib/datadog_api_client/v2/models/sbom_type.rb +26 -0
  264. data/lib/datadog_api_client/v2/models/security_monitoring_reference_table.rb +2 -2
  265. data/lib/datadog_api_client/v2/models/security_monitoring_rule_case_create.rb +2 -2
  266. data/lib/datadog_api_client/v2/models/security_monitoring_rule_evaluation_window.rb +1 -1
  267. data/lib/datadog_api_client/v2/models/security_monitoring_rule_impossible_travel_options.rb +1 -1
  268. data/lib/datadog_api_client/v2/models/security_monitoring_rule_keep_alive.rb +1 -1
  269. data/lib/datadog_api_client/v2/models/security_monitoring_rule_new_value_options.rb +1 -1
  270. data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +6 -6
  271. data/lib/datadog_api_client/v2/models/security_monitoring_rule_third_party_options.rb +1 -1
  272. data/lib/datadog_api_client/v2/models/security_monitoring_rule_update_payload.rb +1 -1
  273. data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_create_payload.rb +1 -1
  274. data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_payload.rb +1 -1
  275. data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_response.rb +1 -1
  276. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_create_payload.rb +1 -1
  277. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_payload.rb +1 -1
  278. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_response.rb +1 -1
  279. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_test_payload.rb +1 -1
  280. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_attributes.rb +11 -1
  281. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_attributes.rb +11 -1
  282. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_attributes.rb +12 -1
  283. data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case_create.rb +1 -1
  284. data/lib/datadog_api_client/v2/models/selectors.rb +160 -0
  285. data/lib/datadog_api_client/v2/models/spec_version.rb +31 -0
  286. data/lib/datadog_api_client/v2/models/token_type.rb +26 -0
  287. data/lib/datadog_api_client/v2/models/trigger_source.rb +28 -0
  288. data/lib/datadog_api_client/v2/models/unpublish_app_response.rb +105 -0
  289. data/lib/datadog_api_client/v2/models/update_action_connection_request.rb +123 -0
  290. data/lib/datadog_api_client/v2/models/{deploy_app_response.rb → update_action_connection_response.rb} +5 -5
  291. data/lib/datadog_api_client/v2/models/update_app_request.rb +2 -2
  292. data/lib/datadog_api_client/v2/models/update_app_request_data.rb +6 -6
  293. data/lib/datadog_api_client/v2/models/update_app_request_data_attributes.rb +19 -41
  294. data/lib/datadog_api_client/v2/models/update_app_response.rb +7 -7
  295. data/lib/datadog_api_client/v2/models/update_app_response_data.rb +6 -6
  296. data/lib/datadog_api_client/v2/models/update_app_response_data_attributes.rb +20 -42
  297. data/lib/datadog_api_client/v2/models/url_param.rb +150 -0
  298. data/lib/datadog_api_client/v2/models/url_param_update.rb +149 -0
  299. data/lib/datadog_api_client/v2/models/vulnerabilities_type.rb +26 -0
  300. data/lib/datadog_api_client/v2/models/vulnerability.rb +186 -0
  301. data/lib/datadog_api_client/v2/models/vulnerability_attributes.rb +462 -0
  302. data/lib/datadog_api_client/v2/models/{deployment_meta.rb → vulnerability_cvss.rb} +43 -34
  303. data/lib/datadog_api_client/v2/models/vulnerability_dependency_locations.rb +143 -0
  304. data/lib/datadog_api_client/v2/models/vulnerability_ecosystem.rb +36 -0
  305. data/lib/datadog_api_client/v2/models/vulnerability_relationships.rb +123 -0
  306. data/lib/datadog_api_client/v2/models/vulnerability_relationships_affects.rb +123 -0
  307. data/lib/datadog_api_client/v2/models/{deployment_included.rb → vulnerability_relationships_affects_data.rb} +38 -29
  308. data/lib/datadog_api_client/v2/models/vulnerability_risks.rb +198 -0
  309. data/lib/datadog_api_client/v2/models/vulnerability_severity.rb +31 -0
  310. data/lib/datadog_api_client/v2/models/vulnerability_status.rb +30 -0
  311. data/lib/datadog_api_client/v2/models/vulnerability_tool.rb +28 -0
  312. data/lib/datadog_api_client/v2/models/vulnerability_type.rb +67 -0
  313. data/lib/datadog_api_client/version.rb +1 -1
  314. metadata +194 -56
  315. data/examples/v2/app-deployment/DeployApp.rb +0 -11
  316. data/examples/v2/app-deployment/DisableApp.rb +0 -11
  317. data/lib/datadog_api_client/v2/api/app_deployment_api.rb +0 -168
  318. data/lib/datadog_api_client/v2/models/delete_apps_response_data_items_type.rb +0 -26
  319. data/lib/datadog_api_client/v2/models/deployment_relationship_data_type.rb +0 -26
  320. data/lib/datadog_api_client/v2/models/input_schema_data_attributes.rb +0 -107
  321. data/lib/datadog_api_client/v2/models/input_schema_data_attributes_parameters_items_data.rb +0 -105
  322. data/lib/datadog_api_client/v2/models/list_apps_response_data_items_type.rb +0 -26
  323. data/lib/datadog_api_client/v2/models/update_app_request_data_type.rb +0 -26
  324. data/lib/datadog_api_client/v2/models/update_app_response_data_type.rb +0 -26
  325. data/lib/datadog_api_client/v2/models/update_app_response_relationship.rb +0 -117
@@ -17,17 +17,17 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # The definition of `GetAppResponseData` object.
20
+ # The data object containing the app definition.
21
21
  class GetAppResponseData
22
22
  include BaseGenericModel
23
23
 
24
- # The definition of `GetAppResponseDataAttributes` object.
24
+ # The app definition attributes, such as name, description, and components.
25
25
  attr_reader :attributes
26
26
 
27
- # The `data` `id`.
27
+ # The ID of the app.
28
28
  attr_reader :id
29
29
 
30
- # The definition of `GetAppResponseDataType` object.
30
+ # The app definition type.
31
31
  attr_reader :type
32
32
 
33
33
  attr_accessor :additional_properties
@@ -47,8 +47,8 @@ module DatadogAPIClient::V2
47
47
  def self.openapi_types
48
48
  {
49
49
  :'attributes' => :'GetAppResponseDataAttributes',
50
- :'id' => :'String',
51
- :'type' => :'GetAppResponseDataType'
50
+ :'id' => :'UUID',
51
+ :'type' => :'AppDefinitionType'
52
52
  }
53
53
  end
54
54
 
@@ -17,35 +17,29 @@ require 'date'
17
17
  require 'time'
18
18
 
19
19
  module DatadogAPIClient::V2
20
- # The definition of `GetAppResponseDataAttributes` object.
20
+ # The app definition attributes, such as name, description, and components.
21
21
  class GetAppResponseDataAttributes
22
22
  include BaseGenericModel
23
23
 
24
- # The `attributes` `components`.
24
+ # The UI components that make up the app.
25
25
  attr_accessor :components
26
26
 
27
- # The `attributes` `description`.
27
+ # A human-readable description for the app.
28
28
  attr_accessor :description
29
29
 
30
- # The `attributes` `embeddedQueries`.
31
- attr_accessor :embedded_queries
32
-
33
- # The `attributes` `favorite`.
30
+ # Whether the app is marked as a favorite by the current user.
34
31
  attr_accessor :favorite
35
32
 
36
- # The definition of `InputSchema` object.
37
- attr_accessor :input_schema
38
-
39
- # The `attributes` `name`.
33
+ # The name of the app.
40
34
  attr_accessor :name
41
35
 
42
- # The `attributes` `rootInstanceName`.
43
- attr_accessor :root_instance_name
36
+ # An array of queries, such as external actions and state variables, that the app uses.
37
+ attr_accessor :queries
44
38
 
45
- # The `attributes` `scripts`.
46
- attr_accessor :scripts
39
+ # The name of the root component of the app. This must be a `grid` component that contains all other components.
40
+ attr_accessor :root_instance_name
47
41
 
48
- # The `attributes` `tags`.
42
+ # A list of tags for the app, which can be used to filter apps.
49
43
  attr_accessor :tags
50
44
 
51
45
  attr_accessor :additional_properties
@@ -56,12 +50,10 @@ module DatadogAPIClient::V2
56
50
  {
57
51
  :'components' => :'components',
58
52
  :'description' => :'description',
59
- :'embedded_queries' => :'embeddedQueries',
60
53
  :'favorite' => :'favorite',
61
- :'input_schema' => :'inputSchema',
62
54
  :'name' => :'name',
55
+ :'queries' => :'queries',
63
56
  :'root_instance_name' => :'rootInstanceName',
64
- :'scripts' => :'scripts',
65
57
  :'tags' => :'tags'
66
58
  }
67
59
  end
@@ -72,12 +64,10 @@ module DatadogAPIClient::V2
72
64
  {
73
65
  :'components' => :'Array<ComponentGrid>',
74
66
  :'description' => :'String',
75
- :'embedded_queries' => :'Array<Query>',
76
67
  :'favorite' => :'Boolean',
77
- :'input_schema' => :'InputSchema',
78
68
  :'name' => :'String',
69
+ :'queries' => :'Array<Query>',
79
70
  :'root_instance_name' => :'String',
80
- :'scripts' => :'Array<Script>',
81
71
  :'tags' => :'Array<String>'
82
72
  }
83
73
  end
@@ -110,32 +100,22 @@ module DatadogAPIClient::V2
110
100
  self.description = attributes[:'description']
111
101
  end
112
102
 
113
- if attributes.key?(:'embedded_queries')
114
- if (value = attributes[:'embedded_queries']).is_a?(Array)
115
- self.embedded_queries = value
116
- end
117
- end
118
-
119
103
  if attributes.key?(:'favorite')
120
104
  self.favorite = attributes[:'favorite']
121
105
  end
122
106
 
123
- if attributes.key?(:'input_schema')
124
- self.input_schema = attributes[:'input_schema']
125
- end
126
-
127
107
  if attributes.key?(:'name')
128
108
  self.name = attributes[:'name']
129
109
  end
130
110
 
131
- if attributes.key?(:'root_instance_name')
132
- self.root_instance_name = attributes[:'root_instance_name']
111
+ if attributes.key?(:'queries')
112
+ if (value = attributes[:'queries']).is_a?(Array)
113
+ self.queries = value
114
+ end
133
115
  end
134
116
 
135
- if attributes.key?(:'scripts')
136
- if (value = attributes[:'scripts']).is_a?(Array)
137
- self.scripts = value
138
- end
117
+ if attributes.key?(:'root_instance_name')
118
+ self.root_instance_name = attributes[:'root_instance_name']
139
119
  end
140
120
 
141
121
  if attributes.key?(:'tags')
@@ -173,12 +153,10 @@ module DatadogAPIClient::V2
173
153
  self.class == o.class &&
174
154
  components == o.components &&
175
155
  description == o.description &&
176
- embedded_queries == o.embedded_queries &&
177
156
  favorite == o.favorite &&
178
- input_schema == o.input_schema &&
179
157
  name == o.name &&
158
+ queries == o.queries &&
180
159
  root_instance_name == o.root_instance_name &&
181
- scripts == o.scripts &&
182
160
  tags == o.tags &&
183
161
  additional_properties == o.additional_properties
184
162
  end
@@ -187,7 +165,7 @@ module DatadogAPIClient::V2
187
165
  # @return [Integer] Hash code
188
166
  # @!visibility private
189
167
  def hash
190
- [components, description, embedded_queries, favorite, input_schema, name, root_instance_name, scripts, tags, additional_properties].hash
168
+ [components, description, favorite, name, queries, root_instance_name, tags, additional_properties].hash
191
169
  end
192
170
  end
193
171
  end
@@ -0,0 +1,123 @@
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 expected response schema when getting an SBOM.
21
+ class GetSBOMResponse
22
+ include BaseGenericModel
23
+
24
+ # A single SBOM
25
+ attr_reader :data
26
+
27
+ attr_accessor :additional_properties
28
+
29
+ # Attribute mapping from ruby-style variable name to JSON key.
30
+ # @!visibility private
31
+ def self.attribute_map
32
+ {
33
+ :'data' => :'data'
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ # @!visibility private
39
+ def self.openapi_types
40
+ {
41
+ :'data' => :'SBOM'
42
+ }
43
+ end
44
+
45
+ # Initializes the object
46
+ # @param attributes [Hash] Model attributes in the form of hash
47
+ # @!visibility private
48
+ def initialize(attributes = {})
49
+ if (!attributes.is_a?(Hash))
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::GetSBOMResponse` initialize method"
51
+ end
52
+
53
+ self.additional_properties = {}
54
+ # check to see if the attribute exists and convert string to symbol for hash key
55
+ attributes = attributes.each_with_object({}) { |(k, v), h|
56
+ if (!self.class.attribute_map.key?(k.to_sym))
57
+ self.additional_properties[k.to_sym] = v
58
+ else
59
+ h[k.to_sym] = v
60
+ end
61
+ }
62
+
63
+ if attributes.key?(:'data')
64
+ self.data = attributes[:'data']
65
+ end
66
+ end
67
+
68
+ # Check to see if the all the properties in the model are valid
69
+ # @return true if the model is valid
70
+ # @!visibility private
71
+ def valid?
72
+ return false if @data.nil?
73
+ true
74
+ end
75
+
76
+ # Custom attribute writer method with validation
77
+ # @param data [Object] Object to be assigned
78
+ # @!visibility private
79
+ def data=(data)
80
+ if data.nil?
81
+ fail ArgumentError, 'invalid value for "data", data cannot be nil.'
82
+ end
83
+ @data = data
84
+ end
85
+
86
+ # Returns the object in the form of hash, with additionalProperties support.
87
+ # @return [Hash] Returns the object in the form of hash
88
+ # @!visibility private
89
+ def to_hash
90
+ hash = {}
91
+ self.class.attribute_map.each_pair do |attr, param|
92
+ value = self.send(attr)
93
+ if value.nil?
94
+ is_nullable = self.class.openapi_nullable.include?(attr)
95
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
96
+ end
97
+
98
+ hash[param] = _to_hash(value)
99
+ end
100
+ self.additional_properties.each_pair do |attr, value|
101
+ hash[attr] = value
102
+ end
103
+ hash
104
+ end
105
+
106
+ # Checks equality by comparing each attribute.
107
+ # @param o [Object] Object to be compared
108
+ # @!visibility private
109
+ def ==(o)
110
+ return true if self.equal?(o)
111
+ self.class == o.class &&
112
+ data == o.data &&
113
+ additional_properties == o.additional_properties
114
+ end
115
+
116
+ # Calculates hash code according to all attributes.
117
+ # @return [Integer] Hash code
118
+ # @!visibility private
119
+ def hash
120
+ [data, additional_properties].hash
121
+ end
122
+ end
123
+ end
@@ -0,0 +1,168 @@
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
+ # Job options.
21
+ class HistoricalJobOptions
22
+ include BaseGenericModel
23
+
24
+ # The detection method.
25
+ attr_accessor :detection_method
26
+
27
+ # A time window is specified to match when at least one of the cases matches true. This is a sliding window
28
+ # and evaluates in real time. For third party detection method, this field is not used.
29
+ attr_accessor :evaluation_window
30
+
31
+ # Options on impossible travel detection method.
32
+ attr_accessor :impossible_travel_options
33
+
34
+ # Once a signal is generated, the signal will remain “open” if a case is matched at least once within
35
+ # this keep alive window. For third party detection method, this field is not used.
36
+ attr_accessor :keep_alive
37
+
38
+ # A signal will “close” regardless of the query being matched once the time exceeds the maximum duration.
39
+ # This time is calculated from the first seen timestamp.
40
+ attr_accessor :max_signal_duration
41
+
42
+ # Options on new value detection method.
43
+ attr_accessor :new_value_options
44
+
45
+ # Options on third party detection method.
46
+ attr_accessor :third_party_rule_options
47
+
48
+ attr_accessor :additional_properties
49
+
50
+ # Attribute mapping from ruby-style variable name to JSON key.
51
+ # @!visibility private
52
+ def self.attribute_map
53
+ {
54
+ :'detection_method' => :'detectionMethod',
55
+ :'evaluation_window' => :'evaluationWindow',
56
+ :'impossible_travel_options' => :'impossibleTravelOptions',
57
+ :'keep_alive' => :'keepAlive',
58
+ :'max_signal_duration' => :'maxSignalDuration',
59
+ :'new_value_options' => :'newValueOptions',
60
+ :'third_party_rule_options' => :'thirdPartyRuleOptions'
61
+ }
62
+ end
63
+
64
+ # Attribute type mapping.
65
+ # @!visibility private
66
+ def self.openapi_types
67
+ {
68
+ :'detection_method' => :'SecurityMonitoringRuleDetectionMethod',
69
+ :'evaluation_window' => :'SecurityMonitoringRuleEvaluationWindow',
70
+ :'impossible_travel_options' => :'SecurityMonitoringRuleImpossibleTravelOptions',
71
+ :'keep_alive' => :'SecurityMonitoringRuleKeepAlive',
72
+ :'max_signal_duration' => :'SecurityMonitoringRuleMaxSignalDuration',
73
+ :'new_value_options' => :'SecurityMonitoringRuleNewValueOptions',
74
+ :'third_party_rule_options' => :'SecurityMonitoringRuleThirdPartyOptions'
75
+ }
76
+ end
77
+
78
+ # Initializes the object
79
+ # @param attributes [Hash] Model attributes in the form of hash
80
+ # @!visibility private
81
+ def initialize(attributes = {})
82
+ if (!attributes.is_a?(Hash))
83
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::HistoricalJobOptions` initialize method"
84
+ end
85
+
86
+ self.additional_properties = {}
87
+ # check to see if the attribute exists and convert string to symbol for hash key
88
+ attributes = attributes.each_with_object({}) { |(k, v), h|
89
+ if (!self.class.attribute_map.key?(k.to_sym))
90
+ self.additional_properties[k.to_sym] = v
91
+ else
92
+ h[k.to_sym] = v
93
+ end
94
+ }
95
+
96
+ if attributes.key?(:'detection_method')
97
+ self.detection_method = attributes[:'detection_method']
98
+ end
99
+
100
+ if attributes.key?(:'evaluation_window')
101
+ self.evaluation_window = attributes[:'evaluation_window']
102
+ end
103
+
104
+ if attributes.key?(:'impossible_travel_options')
105
+ self.impossible_travel_options = attributes[:'impossible_travel_options']
106
+ end
107
+
108
+ if attributes.key?(:'keep_alive')
109
+ self.keep_alive = attributes[:'keep_alive']
110
+ end
111
+
112
+ if attributes.key?(:'max_signal_duration')
113
+ self.max_signal_duration = attributes[:'max_signal_duration']
114
+ end
115
+
116
+ if attributes.key?(:'new_value_options')
117
+ self.new_value_options = attributes[:'new_value_options']
118
+ end
119
+
120
+ if attributes.key?(:'third_party_rule_options')
121
+ self.third_party_rule_options = attributes[:'third_party_rule_options']
122
+ end
123
+ end
124
+
125
+ # Returns the object in the form of hash, with additionalProperties support.
126
+ # @return [Hash] Returns the object in the form of hash
127
+ # @!visibility private
128
+ def to_hash
129
+ hash = {}
130
+ self.class.attribute_map.each_pair do |attr, param|
131
+ value = self.send(attr)
132
+ if value.nil?
133
+ is_nullable = self.class.openapi_nullable.include?(attr)
134
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
135
+ end
136
+
137
+ hash[param] = _to_hash(value)
138
+ end
139
+ self.additional_properties.each_pair do |attr, value|
140
+ hash[attr] = value
141
+ end
142
+ hash
143
+ end
144
+
145
+ # Checks equality by comparing each attribute.
146
+ # @param o [Object] Object to be compared
147
+ # @!visibility private
148
+ def ==(o)
149
+ return true if self.equal?(o)
150
+ self.class == o.class &&
151
+ detection_method == o.detection_method &&
152
+ evaluation_window == o.evaluation_window &&
153
+ impossible_travel_options == o.impossible_travel_options &&
154
+ keep_alive == o.keep_alive &&
155
+ max_signal_duration == o.max_signal_duration &&
156
+ new_value_options == o.new_value_options &&
157
+ third_party_rule_options == o.third_party_rule_options &&
158
+ additional_properties == o.additional_properties
159
+ end
160
+
161
+ # Calculates hash code according to all attributes.
162
+ # @return [Integer] Hash code
163
+ # @!visibility private
164
+ def hash
165
+ [detection_method, evaluation_window, impossible_travel_options, keep_alive, max_signal_duration, new_value_options, third_party_rule_options, additional_properties].hash
166
+ end
167
+ end
168
+ end
@@ -0,0 +1,171 @@
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
+ # Query for selecting logs analyzed by the historical job.
21
+ class HistoricalJobQuery
22
+ include BaseGenericModel
23
+
24
+ # The aggregation type.
25
+ attr_accessor :aggregation
26
+
27
+ # Field for which the cardinality is measured. Sent as an array.
28
+ attr_accessor :distinct_fields
29
+
30
+ # Fields to group by.
31
+ attr_accessor :group_by_fields
32
+
33
+ # When false, events without a group-by value are ignored by the query. When true, events with missing group-by fields are processed with `N/A`, replacing the missing values.
34
+ attr_accessor :has_optional_group_by_fields
35
+
36
+ # Group of target fields to aggregate over when using the sum, max, geo data, or new value aggregations. The sum, max, and geo data aggregations only accept one value in this list, whereas the new value aggregation accepts up to five values.
37
+ attr_accessor :metrics
38
+
39
+ # Name of the query.
40
+ attr_accessor :name
41
+
42
+ # Query to run on logs.
43
+ attr_accessor :query
44
+
45
+ attr_accessor :additional_properties
46
+
47
+ # Attribute mapping from ruby-style variable name to JSON key.
48
+ # @!visibility private
49
+ def self.attribute_map
50
+ {
51
+ :'aggregation' => :'aggregation',
52
+ :'distinct_fields' => :'distinctFields',
53
+ :'group_by_fields' => :'groupByFields',
54
+ :'has_optional_group_by_fields' => :'hasOptionalGroupByFields',
55
+ :'metrics' => :'metrics',
56
+ :'name' => :'name',
57
+ :'query' => :'query'
58
+ }
59
+ end
60
+
61
+ # Attribute type mapping.
62
+ # @!visibility private
63
+ def self.openapi_types
64
+ {
65
+ :'aggregation' => :'SecurityMonitoringRuleQueryAggregation',
66
+ :'distinct_fields' => :'Array<String>',
67
+ :'group_by_fields' => :'Array<String>',
68
+ :'has_optional_group_by_fields' => :'Boolean',
69
+ :'metrics' => :'Array<String>',
70
+ :'name' => :'String',
71
+ :'query' => :'String'
72
+ }
73
+ end
74
+
75
+ # Initializes the object
76
+ # @param attributes [Hash] Model attributes in the form of hash
77
+ # @!visibility private
78
+ def initialize(attributes = {})
79
+ if (!attributes.is_a?(Hash))
80
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::HistoricalJobQuery` initialize method"
81
+ end
82
+
83
+ self.additional_properties = {}
84
+ # check to see if the attribute exists and convert string to symbol for hash key
85
+ attributes = attributes.each_with_object({}) { |(k, v), h|
86
+ if (!self.class.attribute_map.key?(k.to_sym))
87
+ self.additional_properties[k.to_sym] = v
88
+ else
89
+ h[k.to_sym] = v
90
+ end
91
+ }
92
+
93
+ if attributes.key?(:'aggregation')
94
+ self.aggregation = attributes[:'aggregation']
95
+ end
96
+
97
+ if attributes.key?(:'distinct_fields')
98
+ if (value = attributes[:'distinct_fields']).is_a?(Array)
99
+ self.distinct_fields = value
100
+ end
101
+ end
102
+
103
+ if attributes.key?(:'group_by_fields')
104
+ if (value = attributes[:'group_by_fields']).is_a?(Array)
105
+ self.group_by_fields = value
106
+ end
107
+ end
108
+
109
+ if attributes.key?(:'has_optional_group_by_fields')
110
+ self.has_optional_group_by_fields = attributes[:'has_optional_group_by_fields']
111
+ end
112
+
113
+ if attributes.key?(:'metrics')
114
+ if (value = attributes[:'metrics']).is_a?(Array)
115
+ self.metrics = value
116
+ end
117
+ end
118
+
119
+ if attributes.key?(:'name')
120
+ self.name = attributes[:'name']
121
+ end
122
+
123
+ if attributes.key?(:'query')
124
+ self.query = attributes[:'query']
125
+ end
126
+ end
127
+
128
+ # Returns the object in the form of hash, with additionalProperties support.
129
+ # @return [Hash] Returns the object in the form of hash
130
+ # @!visibility private
131
+ def to_hash
132
+ hash = {}
133
+ self.class.attribute_map.each_pair do |attr, param|
134
+ value = self.send(attr)
135
+ if value.nil?
136
+ is_nullable = self.class.openapi_nullable.include?(attr)
137
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
138
+ end
139
+
140
+ hash[param] = _to_hash(value)
141
+ end
142
+ self.additional_properties.each_pair do |attr, value|
143
+ hash[attr] = value
144
+ end
145
+ hash
146
+ end
147
+
148
+ # Checks equality by comparing each attribute.
149
+ # @param o [Object] Object to be compared
150
+ # @!visibility private
151
+ def ==(o)
152
+ return true if self.equal?(o)
153
+ self.class == o.class &&
154
+ aggregation == o.aggregation &&
155
+ distinct_fields == o.distinct_fields &&
156
+ group_by_fields == o.group_by_fields &&
157
+ has_optional_group_by_fields == o.has_optional_group_by_fields &&
158
+ metrics == o.metrics &&
159
+ name == o.name &&
160
+ query == o.query &&
161
+ additional_properties == o.additional_properties
162
+ end
163
+
164
+ # Calculates hash code according to all attributes.
165
+ # @return [Integer] Hash code
166
+ # @!visibility private
167
+ def hash
168
+ [aggregation, distinct_fields, group_by_fields, has_optional_group_by_fields, metrics, name, query, additional_properties].hash
169
+ end
170
+ end
171
+ end