datadog_api_client 2.43.0 → 2.44.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 (369) hide show
  1. checksums.yaml +4 -4
  2. data/.generator/schemas/v1/openapi.yaml +263 -29
  3. data/.generator/schemas/v2/openapi.yaml +5051 -432
  4. data/.generator/src/generator/formatter.py +15 -1
  5. data/.generator/src/generator/templates/api.j2 +2 -2
  6. data/.generator/src/generator/templates/model.j2 +1 -1
  7. data/.generator/src/generator/templates/model_generic.j2 +1 -1
  8. data/.generator/tests/test_formatter.rb +69 -0
  9. data/CHANGELOG.md +27 -0
  10. data/examples/v1/logs-pipelines/CreateLogsPipeline.rb +2 -2
  11. data/examples/v1/logs-pipelines/CreateLogsPipeline_1745625064.rb +248 -0
  12. data/examples/v1/logs-pipelines/CreateLogsPipeline_2256674867.rb +248 -0
  13. data/examples/v1/logs-pipelines/CreateLogsPipeline_501419705.rb +236 -0
  14. data/examples/v1/logs-pipelines/UpdateLogsPipeline.rb +2 -2
  15. data/examples/v1/notebooks/CreateNotebook.rb +1 -1
  16. data/examples/v1/notebooks/UpdateNotebook.rb +1 -1
  17. data/examples/v1/synthetics/CreateSyntheticsAPITest.rb +1 -0
  18. data/examples/v1/synthetics/UpdateBrowserTest.rb +1 -0
  19. data/examples/v2/actions-datastores/BulkDeleteDatastoreItems.rb +19 -0
  20. data/examples/v2/agentless-scanning/CreateAwsOnDemandTask.rb +1 -1
  21. data/examples/v2/agentless-scanning/CreateAwsScanOptions.rb +1 -1
  22. data/examples/v2/agentless-scanning/CreateAzureScanOptions.rb +16 -0
  23. data/examples/v2/agentless-scanning/CreateGcpScanOptions.rb +16 -0
  24. data/examples/v2/agentless-scanning/DeleteAwsScanOptions.rb +1 -1
  25. data/examples/v2/agentless-scanning/DeleteAzureScanOptions.rb +5 -0
  26. data/examples/v2/agentless-scanning/DeleteGcpScanOptions.rb +5 -0
  27. data/examples/v2/agentless-scanning/GetAwsOnDemandTask.rb +1 -1
  28. data/examples/v2/agentless-scanning/GetAzureScanOptions.rb +5 -0
  29. data/examples/v2/agentless-scanning/GetGcpScanOptions.rb +5 -0
  30. data/examples/v2/agentless-scanning/ListAwsOnDemandTasks.rb +1 -1
  31. data/examples/v2/agentless-scanning/ListAwsScanOptions.rb +1 -1
  32. data/examples/v2/agentless-scanning/ListAzureScanOptions.rb +5 -0
  33. data/examples/v2/agentless-scanning/ListGcpScanOptions.rb +5 -0
  34. data/examples/v2/agentless-scanning/UpdateAwsScanOptions.rb +1 -1
  35. data/examples/v2/agentless-scanning/UpdateAzureScanOptions.rb +12 -0
  36. data/examples/v2/agentless-scanning/UpdateGcpScanOptions.rb +15 -0
  37. data/examples/v2/case-management/CommentCase.rb +17 -0
  38. data/examples/v2/case-management/CreateCase.rb +1 -1
  39. data/examples/v2/case-management/DeleteCaseComment.rb +11 -0
  40. data/examples/v2/case-management/DeleteCaseCustomAttribute.rb +11 -0
  41. data/examples/v2/case-management/UpdateCaseCustomAttribute.rb +25 -0
  42. data/examples/v2/case-management/UpdateCaseDescription.rb +17 -0
  43. data/examples/v2/case-management/UpdateCaseTitle.rb +17 -0
  44. data/examples/v2/case-management-attribute/CreateCustomAttributeConfig.rb +20 -0
  45. data/examples/v2/case-management-attribute/DeleteCustomAttributeConfig.rb +11 -0
  46. data/examples/v2/case-management-attribute/GetAllCustomAttributeConfigsByCaseType.rb +8 -0
  47. data/examples/v2/case-management-attribute/GetAllCustomAttributes.rb +5 -0
  48. data/examples/v2/case-management-type/CreateCaseType.rb +16 -0
  49. data/examples/v2/case-management-type/DeleteCaseType.rb +5 -0
  50. data/examples/v2/case-management-type/DeleteCaseType_2790986149.rb +8 -0
  51. data/examples/v2/case-management-type/GetAllCaseTypes.rb +5 -0
  52. data/examples/v2/cloud-cost-management/{UpdateArbitraryCostRule.rb → CreateCustomAllocationRule.rb} +2 -4
  53. data/examples/v2/cloud-cost-management/{CreateRuleset.rb → CreateTagPipelinesRuleset.rb} +2 -2
  54. data/examples/v2/cloud-cost-management/DeleteCustomAllocationRule.rb +5 -0
  55. data/examples/v2/cloud-cost-management/DeleteTagPipelinesRuleset.rb +5 -0
  56. data/examples/v2/cloud-cost-management/GetCustomAllocationRule.rb +5 -0
  57. data/examples/v2/cloud-cost-management/GetTagPipelinesRuleset.rb +5 -0
  58. data/examples/v2/cloud-cost-management/ListCustomAllocationRules.rb +5 -0
  59. data/examples/v2/cloud-cost-management/ListTagPipelinesRulesets.rb +5 -0
  60. data/examples/v2/cloud-cost-management/{ReorderArbitraryCostRules.rb → ReorderCustomAllocationRules.rb} +2 -2
  61. data/examples/v2/cloud-cost-management/ReorderTagPipelinesRulesets.rb +22 -0
  62. data/examples/v2/cloud-cost-management/{CreateArbitraryCostRule.rb → UpdateCustomAllocationRule.rb} +2 -2
  63. data/examples/v2/cloud-cost-management/{UpdateRuleset.rb → UpdateTagPipelinesRuleset.rb} +4 -3
  64. data/examples/v2/csm-threats/CreateCSMThreatsAgentPolicy.rb +1 -1
  65. data/examples/v2/csm-threats/CreateCSMThreatsAgentRule.rb +1 -0
  66. data/examples/v2/csm-threats/CreateCSMThreatsAgentRule_1295653933.rb +1 -0
  67. data/examples/v2/csm-threats/CreateCSMThreatsAgentRule_1363354233.rb +33 -0
  68. data/examples/v2/dora-metrics/CreateDORADeployment.rb +1 -1
  69. data/examples/v2/dora-metrics/CreateDORAFailure.rb +1 -1
  70. data/examples/v2/dora-metrics/CreateDORAIncident.rb +1 -1
  71. data/examples/v2/dora-metrics/{CreateDORAIncident_1768887482.rb → CreateDORAIncident_1101664022.rb} +1 -1
  72. data/examples/v2/error-tracking/DeleteIssueAssignee.rb +8 -0
  73. data/examples/v2/fleet-automation/CancelFleetDeployment.rb +8 -0
  74. data/examples/v2/fleet-automation/CreateFleetDeploymentConfigure.rb +26 -0
  75. data/examples/v2/fleet-automation/GetFleetDeployment.rb +11 -0
  76. data/examples/v2/fleet-automation/ListFleetDeployments.rb +8 -0
  77. data/examples/v2/monitors/CreateMonitorNotificationRule_1181818787.rb +30 -0
  78. data/examples/v2/monitors/UpdateMonitorNotificationRule_1400905713.rb +35 -0
  79. data/examples/v2/reference-tables/CreateReferenceTable.rb +44 -0
  80. data/examples/v2/reference-tables/CreateReferenceTableUpload.rb +21 -0
  81. data/examples/v2/reference-tables/CreateReferenceTable_3196130987.rb +41 -0
  82. data/examples/v2/reference-tables/DeleteTable.rb +5 -0
  83. data/examples/v2/reference-tables/GetRowsByID.rb +5 -0
  84. data/examples/v2/reference-tables/GetTable.rb +5 -0
  85. data/examples/v2/reference-tables/ListTables.rb +5 -0
  86. data/examples/v2/reference-tables/UpdateReferenceTable.rb +44 -0
  87. data/examples/v2/roles/ListRoleTemplates.rb +8 -0
  88. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_868881438.rb +3 -1
  89. data/examples/v2/security-monitoring/ListScannedAssetsMetadata.rb +8 -0
  90. data/examples/v2/static-analysis/CreateSCAResolveVulnerableSymbols.rb +17 -0
  91. data/examples/v2/static-analysis/CreateSCAResult.rb +61 -0
  92. data/examples/v2/test-optimization/SearchFlakyTests.rb +27 -0
  93. data/examples/v2/test-optimization/SearchFlakyTests_1224086727.rb +27 -0
  94. data/examples/v2/test-optimization/SearchFlakyTests_2665223746.rb +26 -0
  95. data/lib/datadog_api_client/configuration.rb +9 -0
  96. data/lib/datadog_api_client/inflector.rb +208 -0
  97. data/lib/datadog_api_client/v1/api/hosts_api.rb +1 -0
  98. data/lib/datadog_api_client/v1/models/logs_processor.rb +2 -1
  99. data/lib/datadog_api_client/v1/models/logs_schema_category_mapper.rb +211 -0
  100. data/lib/datadog_api_client/v1/models/logs_schema_category_mapper_category.rb +165 -0
  101. data/lib/datadog_api_client/v1/models/logs_schema_category_mapper_fallback.rb +115 -0
  102. data/lib/datadog_api_client/v1/models/logs_schema_category_mapper_targets.rb +115 -0
  103. data/lib/datadog_api_client/v1/models/logs_schema_category_mapper_type.rb +26 -0
  104. data/lib/datadog_api_client/v1/models/logs_schema_data.rb +198 -0
  105. data/lib/datadog_api_client/v1/models/logs_schema_mapper.rb +63 -0
  106. data/lib/datadog_api_client/v1/models/logs_schema_processor.rb +198 -0
  107. data/lib/datadog_api_client/v1/models/logs_schema_processor_type.rb +26 -0
  108. data/lib/datadog_api_client/v1/models/logs_schema_remapper.rb +220 -0
  109. data/lib/datadog_api_client/v1/models/logs_schema_remapper_type.rb +26 -0
  110. data/lib/datadog_api_client/v1/models/monitor.rb +0 -1
  111. data/lib/datadog_api_client/v1/models/monitor_update_request.rb +0 -1
  112. data/lib/datadog_api_client/v1/models/synthetics_test_options.rb +13 -1
  113. data/lib/datadog_api_client/v1/models/widget_marker.rb +0 -1
  114. data/lib/datadog_api_client/v2/api/actions_datastores_api.rb +72 -0
  115. data/lib/datadog_api_client/v2/api/agentless_scanning_api.rb +680 -22
  116. data/lib/datadog_api_client/v2/api/api_management_api.rb +0 -2
  117. data/lib/datadog_api_client/v2/api/case_management_api.rb +433 -0
  118. data/lib/datadog_api_client/v2/api/case_management_attribute_api.rb +293 -0
  119. data/lib/datadog_api_client/v2/api/case_management_type_api.rb +218 -0
  120. data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +1 -0
  121. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +336 -336
  122. data/lib/datadog_api_client/v2/api/container_images_api.rb +1 -0
  123. data/lib/datadog_api_client/v2/api/dora_metrics_api.rb +9 -9
  124. data/lib/datadog_api_client/v2/api/error_tracking_api.rb +65 -0
  125. data/lib/datadog_api_client/v2/api/fleet_automation_api.rb +318 -0
  126. data/lib/datadog_api_client/v2/api/incidents_api.rb +8 -8
  127. data/lib/datadog_api_client/v2/api/observability_pipelines_api.rb +0 -1
  128. data/lib/datadog_api_client/v2/api/on_call_paging_api.rb +0 -4
  129. data/lib/datadog_api_client/v2/api/reference_tables_api.rb +519 -0
  130. data/lib/datadog_api_client/v2/api/roles_api.rb +66 -0
  131. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +149 -10
  132. data/lib/datadog_api_client/v2/api/static_analysis_api.rb +166 -0
  133. data/lib/datadog_api_client/v2/api/test_optimization_api.rb +116 -0
  134. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_array.rb +13 -3
  135. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_array_meta.rb +105 -0
  136. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data_attributes.rb +11 -1
  137. data/lib/datadog_api_client/v2/models/azure_scan_options.rb +105 -0
  138. data/lib/datadog_api_client/v2/models/azure_scan_options_array.rb +125 -0
  139. data/lib/datadog_api_client/v2/models/azure_scan_options_data.rb +154 -0
  140. data/lib/datadog_api_client/v2/models/azure_scan_options_data_attributes.rb +115 -0
  141. data/lib/datadog_api_client/v2/models/azure_scan_options_data_type.rb +26 -0
  142. data/lib/datadog_api_client/v2/models/azure_scan_options_input_update.rb +105 -0
  143. data/lib/datadog_api_client/v2/models/azure_scan_options_input_update_data.rb +154 -0
  144. data/lib/datadog_api_client/v2/models/azure_scan_options_input_update_data_attributes.rb +115 -0
  145. data/lib/datadog_api_client/v2/models/azure_scan_options_input_update_data_type.rb +26 -0
  146. data/lib/datadog_api_client/v2/models/bulk_delete_apps_datastore_items_request.rb +105 -0
  147. data/lib/datadog_api_client/v2/models/bulk_delete_apps_datastore_items_request_data.rb +143 -0
  148. data/lib/datadog_api_client/v2/models/bulk_delete_apps_datastore_items_request_data_attributes.rb +125 -0
  149. data/lib/datadog_api_client/v2/models/bulk_delete_apps_datastore_items_request_data_type.rb +26 -0
  150. data/lib/datadog_api_client/v2/models/bulk_mute_findings_request_properties.rb +0 -1
  151. data/lib/datadog_api_client/v2/models/case_attributes.rb +23 -3
  152. data/lib/datadog_api_client/v2/models/case_comment.rb +144 -0
  153. data/lib/datadog_api_client/v2/models/case_comment_attributes.rb +123 -0
  154. data/lib/datadog_api_client/v2/models/case_comment_request.rb +123 -0
  155. data/lib/datadog_api_client/v2/models/case_create_attributes.rb +14 -14
  156. data/lib/datadog_api_client/v2/models/case_type.rb +2 -0
  157. data/lib/datadog_api_client/v2/models/case_type_create.rb +144 -0
  158. data/lib/datadog_api_client/v2/models/case_type_create_request.rb +123 -0
  159. data/lib/datadog_api_client/v2/models/case_type_resource.rb +125 -0
  160. data/lib/datadog_api_client/v2/models/case_type_resource_attributes.rb +161 -0
  161. data/lib/datadog_api_client/v2/models/case_type_resource_type.rb +26 -0
  162. data/lib/datadog_api_client/v2/models/case_type_response.rb +105 -0
  163. data/lib/datadog_api_client/v2/models/case_types_response.rb +107 -0
  164. data/lib/datadog_api_client/v2/models/case_update_custom_attribute.rb +144 -0
  165. data/lib/datadog_api_client/v2/models/case_update_custom_attribute_request.rb +123 -0
  166. data/lib/datadog_api_client/v2/models/case_update_description.rb +144 -0
  167. data/lib/datadog_api_client/v2/models/case_update_description_attributes.rb +123 -0
  168. data/lib/datadog_api_client/v2/models/case_update_description_request.rb +123 -0
  169. data/lib/datadog_api_client/v2/models/case_update_title.rb +144 -0
  170. data/lib/datadog_api_client/v2/models/case_update_title_attributes.rb +123 -0
  171. data/lib/datadog_api_client/v2/models/case_update_title_request.rb +123 -0
  172. data/lib/datadog_api_client/v2/models/cloud_asset_type.rb +28 -0
  173. data/lib/datadog_api_client/v2/models/cloud_configuration_compliance_rule_options.rb +0 -2
  174. data/lib/datadog_api_client/v2/models/cloud_configuration_rule_create_payload.rb +0 -1
  175. data/lib/datadog_api_client/v2/models/cloud_configuration_rule_options.rb +0 -1
  176. data/lib/datadog_api_client/v2/models/cloud_configuration_rule_payload.rb +0 -1
  177. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_attributes.rb +25 -3
  178. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_version.rb +123 -0
  179. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_action_set.rb +35 -5
  180. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_attributes.rb +11 -1
  181. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_create_attributes.rb +30 -10
  182. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_update_attributes.rb +23 -3
  183. data/lib/datadog_api_client/v2/models/create_table_request.rb +105 -0
  184. data/lib/datadog_api_client/v2/models/create_table_request_data.rb +143 -0
  185. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes.rb +197 -0
  186. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_file_metadata.rb +63 -0
  187. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_file_metadata_cloud_storage.rb +119 -0
  188. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_file_metadata_local_file.rb +98 -0
  189. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_file_metadata_one_of_access_details.rb +125 -0
  190. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_file_metadata_one_of_access_details_aws_detail.rb +165 -0
  191. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_file_metadata_one_of_access_details_azure_detail.rb +207 -0
  192. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_file_metadata_one_of_access_details_gcp_detail.rb +186 -0
  193. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_schema.rb +148 -0
  194. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_schema_fields_items.rb +144 -0
  195. data/lib/datadog_api_client/v2/models/create_table_request_data_type.rb +26 -0
  196. data/lib/datadog_api_client/v2/models/create_upload_request.rb +105 -0
  197. data/lib/datadog_api_client/v2/models/create_upload_request_data.rb +143 -0
  198. data/lib/datadog_api_client/v2/models/create_upload_request_data_attributes.rb +192 -0
  199. data/lib/datadog_api_client/v2/models/create_upload_request_data_type.rb +26 -0
  200. data/lib/datadog_api_client/v2/models/create_upload_response.rb +105 -0
  201. data/lib/datadog_api_client/v2/models/create_upload_response_data.rb +143 -0
  202. data/lib/datadog_api_client/v2/models/create_upload_response_data_attributes.rb +107 -0
  203. data/lib/datadog_api_client/v2/models/create_upload_response_data_type.rb +26 -0
  204. data/lib/datadog_api_client/v2/models/custom_attribute_config.rb +125 -0
  205. data/lib/datadog_api_client/v2/models/custom_attribute_config_attributes_create.rb +196 -0
  206. data/lib/datadog_api_client/v2/models/custom_attribute_config_create.rb +144 -0
  207. data/lib/datadog_api_client/v2/models/custom_attribute_config_create_request.rb +123 -0
  208. data/lib/datadog_api_client/v2/models/custom_attribute_config_resource_attributes.rb +217 -0
  209. data/lib/datadog_api_client/v2/models/custom_attribute_config_resource_type.rb +26 -0
  210. data/lib/datadog_api_client/v2/models/custom_attribute_config_response.rb +105 -0
  211. data/lib/datadog_api_client/v2/models/custom_attribute_configs_response.rb +107 -0
  212. data/lib/datadog_api_client/v2/models/custom_attribute_type.rb +28 -0
  213. data/lib/datadog_api_client/v2/models/custom_attribute_value.rb +165 -0
  214. data/lib/datadog_api_client/v2/models/custom_attribute_values_union.rb +65 -0
  215. data/lib/datadog_api_client/v2/models/delete_apps_datastore_item_response_array.rb +125 -0
  216. data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +1 -1
  217. data/lib/datadog_api_client/v2/models/flaky_test.rb +125 -0
  218. data/lib/datadog_api_client/v2/models/flaky_test_attributes.rb +301 -0
  219. data/lib/datadog_api_client/v2/models/flaky_test_attributes_flaky_state.rb +29 -0
  220. data/lib/datadog_api_client/v2/models/flaky_test_pipeline_stats.rb +124 -0
  221. data/lib/datadog_api_client/v2/models/flaky_test_run_metadata.rb +168 -0
  222. data/lib/datadog_api_client/v2/models/flaky_test_stats.rb +113 -0
  223. data/lib/datadog_api_client/v2/models/flaky_test_type.rb +26 -0
  224. data/lib/datadog_api_client/v2/models/flaky_tests_pagination.rb +113 -0
  225. data/lib/datadog_api_client/v2/models/flaky_tests_search_filter.rb +115 -0
  226. data/lib/datadog_api_client/v2/models/flaky_tests_search_page_options.rb +137 -0
  227. data/lib/datadog_api_client/v2/models/flaky_tests_search_request.rb +105 -0
  228. data/lib/datadog_api_client/v2/models/flaky_tests_search_request_attributes.rb +125 -0
  229. data/lib/datadog_api_client/v2/models/flaky_tests_search_request_data.rb +115 -0
  230. data/lib/datadog_api_client/v2/models/flaky_tests_search_request_data_type.rb +26 -0
  231. data/lib/datadog_api_client/v2/models/flaky_tests_search_response.rb +117 -0
  232. data/lib/datadog_api_client/v2/models/flaky_tests_search_response_meta.rb +105 -0
  233. data/lib/datadog_api_client/v2/models/flaky_tests_search_sort.rb +37 -0
  234. data/lib/datadog_api_client/v2/models/fleet_deployment.rb +165 -0
  235. data/lib/datadog_api_client/v2/models/fleet_deployment_attributes.rb +147 -0
  236. data/lib/datadog_api_client/v2/models/fleet_deployment_configure_attributes.rb +135 -0
  237. data/lib/datadog_api_client/v2/models/fleet_deployment_configure_create.rb +144 -0
  238. data/lib/datadog_api_client/v2/models/fleet_deployment_configure_create_request.rb +123 -0
  239. data/lib/datadog_api_client/v2/models/fleet_deployment_file_op.rb +30 -0
  240. data/lib/datadog_api_client/v2/models/fleet_deployment_operation.rb +161 -0
  241. data/lib/datadog_api_client/v2/models/fleet_deployment_resource_type.rb +26 -0
  242. data/lib/datadog_api_client/v2/models/fleet_deployment_response.rb +105 -0
  243. data/lib/datadog_api_client/v2/models/fleet_deployments_page.rb +105 -0
  244. data/lib/datadog_api_client/v2/models/fleet_deployments_response.rb +135 -0
  245. data/lib/datadog_api_client/v2/models/fleet_deployments_response_meta.rb +105 -0
  246. data/lib/datadog_api_client/v2/models/gcp_scan_options.rb +105 -0
  247. data/lib/datadog_api_client/v2/models/gcp_scan_options_array.rb +125 -0
  248. data/lib/datadog_api_client/v2/models/gcp_scan_options_data.rb +154 -0
  249. data/lib/datadog_api_client/v2/models/gcp_scan_options_data_attributes.rb +115 -0
  250. data/lib/datadog_api_client/v2/models/gcp_scan_options_data_type.rb +26 -0
  251. data/lib/datadog_api_client/v2/models/gcp_scan_options_input_update.rb +105 -0
  252. data/lib/datadog_api_client/v2/models/gcp_scan_options_input_update_data.rb +154 -0
  253. data/lib/datadog_api_client/v2/models/gcp_scan_options_input_update_data_attributes.rb +115 -0
  254. data/lib/datadog_api_client/v2/models/gcp_scan_options_input_update_data_type.rb +26 -0
  255. data/lib/datadog_api_client/v2/models/metric_tag_cardinalities_meta.rb +0 -1
  256. data/lib/datadog_api_client/v2/models/monitor_notification_rule_attributes.rb +15 -9
  257. data/lib/datadog_api_client/v2/models/monitor_notification_rule_condition.rb +162 -0
  258. data/lib/datadog_api_client/v2/models/monitor_notification_rule_conditional_recipients.rb +160 -0
  259. data/lib/datadog_api_client/v2/models/monitor_notification_rule_response_attributes.rb +11 -1
  260. data/lib/datadog_api_client/v2/models/notification_rule_response.rb +0 -1
  261. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_data_firehose_source.rb +0 -1
  262. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_open_search_destination.rb +0 -1
  263. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_s3_destination.rb +0 -1
  264. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_s3_source.rb +0 -1
  265. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_security_lake_destination.rb +0 -1
  266. data/lib/datadog_api_client/v2/models/observability_pipeline_google_chronicle_destination.rb +0 -1
  267. data/lib/datadog_api_client/v2/models/observability_pipeline_google_cloud_storage_destination.rb +0 -1
  268. data/lib/datadog_api_client/v2/models/observability_pipeline_google_pub_sub_destination.rb +0 -1
  269. data/lib/datadog_api_client/v2/models/observability_pipeline_google_pub_sub_source.rb +0 -1
  270. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_grok_processor_rule.rb +0 -2
  271. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor.rb +0 -1
  272. data/lib/datadog_api_client/v2/models/observability_pipeline_splunk_hec_destination.rb +0 -1
  273. data/lib/datadog_api_client/v2/models/patch_table_request.rb +105 -0
  274. data/lib/datadog_api_client/v2/models/patch_table_request_data.rb +143 -0
  275. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes.rb +147 -0
  276. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_file_metadata.rb +63 -0
  277. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_file_metadata_cloud_storage.rb +90 -0
  278. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_file_metadata_local_file.rb +98 -0
  279. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_file_metadata_one_of_access_details.rb +125 -0
  280. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_file_metadata_one_of_access_details_aws_detail.rb +125 -0
  281. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_file_metadata_one_of_access_details_azure_detail.rb +145 -0
  282. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_file_metadata_one_of_access_details_gcp_detail.rb +135 -0
  283. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_schema.rb +148 -0
  284. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_schema_fields_items.rb +144 -0
  285. data/lib/datadog_api_client/v2/models/patch_table_request_data_type.rb +26 -0
  286. data/lib/datadog_api_client/v2/models/reference_table_create_source_type.rb +29 -0
  287. data/lib/datadog_api_client/v2/models/reference_table_schema_field_type.rb +27 -0
  288. data/lib/datadog_api_client/v2/models/reference_table_sort_type.rb +31 -0
  289. data/lib/datadog_api_client/v2/models/reference_table_source_type.rb +33 -0
  290. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_request.rb +105 -0
  291. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_request_data.rb +143 -0
  292. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_request_data_attributes.rb +107 -0
  293. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_request_data_type.rb +26 -0
  294. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_response.rb +105 -0
  295. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_response_data.rb +143 -0
  296. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_response_data_attributes.rb +107 -0
  297. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_response_data_type.rb +26 -0
  298. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_response_results.rb +117 -0
  299. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_response_results_vulnerable_symbols.rb +117 -0
  300. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_response_results_vulnerable_symbols_symbols.rb +125 -0
  301. data/lib/datadog_api_client/v2/models/role_template_array.rb +125 -0
  302. data/lib/datadog_api_client/v2/models/role_template_data.rb +143 -0
  303. data/lib/datadog_api_client/v2/models/role_template_data_attributes.rb +115 -0
  304. data/lib/datadog_api_client/v2/models/role_template_data_type.rb +26 -0
  305. data/lib/datadog_api_client/v2/models/ruleset_resp_data_attributes.rb +11 -1
  306. data/lib/datadog_api_client/v2/models/sbom_format.rb +27 -0
  307. data/lib/datadog_api_client/v2/models/sca_request.rb +105 -0
  308. data/lib/datadog_api_client/v2/models/sca_request_data.rb +143 -0
  309. data/lib/datadog_api_client/v2/models/sca_request_data_attributes.rb +193 -0
  310. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_commit.rb +165 -0
  311. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_dependencies_items.rb +211 -0
  312. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_dependencies_items_locations_items.rb +135 -0
  313. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_dependencies_items_locations_items_file_position.rb +125 -0
  314. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_dependencies_items_locations_items_position.rb +144 -0
  315. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_dependencies_items_reachable_symbol_properties_items.rb +115 -0
  316. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_files_items.rb +115 -0
  317. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_relations_items.rb +117 -0
  318. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_repository.rb +105 -0
  319. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_vulnerabilities_items.rb +127 -0
  320. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_vulnerabilities_items_affects_items.rb +105 -0
  321. data/lib/datadog_api_client/v2/models/sca_request_data_type.rb +26 -0
  322. data/lib/datadog_api_client/v2/models/scanned_asset_metadata.rb +144 -0
  323. data/lib/datadog_api_client/v2/models/scanned_asset_metadata_asset.rb +144 -0
  324. data/lib/datadog_api_client/v2/models/scanned_asset_metadata_attributes.rb +165 -0
  325. data/lib/datadog_api_client/v2/models/scanned_asset_metadata_last_success.rb +145 -0
  326. data/lib/datadog_api_client/v2/models/scanned_assets_metadata.rb +145 -0
  327. data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +0 -1
  328. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_query.rb +13 -1
  329. data/lib/datadog_api_client/v2/models/table_result_v2.rb +105 -0
  330. data/lib/datadog_api_client/v2/models/table_result_v2_array.rb +125 -0
  331. data/lib/datadog_api_client/v2/models/table_result_v2_data.rb +143 -0
  332. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes.rb +207 -0
  333. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata.rb +63 -0
  334. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_cloud_storage.rb +145 -0
  335. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_cloud_storage_error_type.rb +34 -0
  336. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_local_file.rb +125 -0
  337. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_one_of_access_details.rb +125 -0
  338. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_one_of_access_details_aws_detail.rb +125 -0
  339. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_one_of_access_details_azure_detail.rb +145 -0
  340. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_one_of_access_details_gcp_detail.rb +135 -0
  341. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_schema.rb +148 -0
  342. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_schema_fields_items.rb +144 -0
  343. data/lib/datadog_api_client/v2/models/table_result_v2_data_type.rb +26 -0
  344. data/lib/datadog_api_client/v2/models/table_row_resource_array.rb +125 -0
  345. data/lib/datadog_api_client/v2/models/table_row_resource_data.rb +143 -0
  346. data/lib/datadog_api_client/v2/models/table_row_resource_data_attributes.rb +105 -0
  347. data/lib/datadog_api_client/v2/models/table_row_resource_data_type.rb +26 -0
  348. data/lib/datadog_api_client/v2/models/timeline_cell.rb +155 -0
  349. data/lib/datadog_api_client/v2/models/timeline_cell_author.rb +62 -0
  350. data/lib/datadog_api_client/v2/models/timeline_cell_author_user.rb +115 -0
  351. data/lib/datadog_api_client/v2/models/timeline_cell_author_user_content.rb +135 -0
  352. data/lib/datadog_api_client/v2/models/timeline_cell_author_user_type.rb +26 -0
  353. data/lib/datadog_api_client/v2/models/timeline_cell_content.rb +62 -0
  354. data/lib/datadog_api_client/v2/models/timeline_cell_content_comment.rb +105 -0
  355. data/lib/datadog_api_client/v2/models/timeline_cell_resource.rb +165 -0
  356. data/lib/datadog_api_client/v2/models/timeline_cell_resource_type.rb +26 -0
  357. data/lib/datadog_api_client/v2/models/timeline_cell_type.rb +26 -0
  358. data/lib/datadog_api_client/v2/models/timeline_response.rb +107 -0
  359. data/lib/datadog_api_client/v2/models/vulnerability_advisory.rb +143 -0
  360. data/lib/datadog_api_client/v2/models/vulnerability_attributes.rb +11 -1
  361. data/lib/datadog_api_client/version.rb +1 -1
  362. metadata +274 -14
  363. data/examples/v2/cloud-cost-management/DeleteArbitraryCostRule.rb +0 -5
  364. data/examples/v2/cloud-cost-management/DeleteRuleset.rb +0 -5
  365. data/examples/v2/cloud-cost-management/GetArbitraryCostRule.rb +0 -5
  366. data/examples/v2/cloud-cost-management/GetRuleset.rb +0 -5
  367. data/examples/v2/cloud-cost-management/ListArbitraryCostRules.rb +0 -5
  368. data/examples/v2/cloud-cost-management/ListRulesets.rb +0 -5
  369. data/examples/v2/cloud-cost-management/ReorderRulesets.rb +0 -13
@@ -0,0 +1,154 @@
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
+ # Data object for updating the scan options of a single GCP project.
21
+ class GcpScanOptionsInputUpdateData
22
+ include BaseGenericModel
23
+
24
+ # Attributes for updating GCP scan options configuration.
25
+ attr_accessor :attributes
26
+
27
+ # The GCP project ID.
28
+ attr_reader :id
29
+
30
+ # GCP scan options resource type.
31
+ attr_reader :type
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
+ :'attributes' => :'attributes',
40
+ :'id' => :'id',
41
+ :'type' => :'type'
42
+ }
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ # @!visibility private
47
+ def self.openapi_types
48
+ {
49
+ :'attributes' => :'GcpScanOptionsInputUpdateDataAttributes',
50
+ :'id' => :'String',
51
+ :'type' => :'GcpScanOptionsInputUpdateDataType'
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::GcpScanOptionsInputUpdateData` 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?(:'attributes')
74
+ self.attributes = attributes[:'attributes']
75
+ end
76
+
77
+ if attributes.key?(:'id')
78
+ self.id = attributes[:'id']
79
+ end
80
+
81
+ if attributes.key?(:'type')
82
+ self.type = attributes[:'type']
83
+ end
84
+ end
85
+
86
+ # Check to see if the all the properties in the model are valid
87
+ # @return true if the model is valid
88
+ # @!visibility private
89
+ def valid?
90
+ return false if @id.nil?
91
+ return false if @type.nil?
92
+ true
93
+ end
94
+
95
+ # Custom attribute writer method with validation
96
+ # @param id [Object] Object to be assigned
97
+ # @!visibility private
98
+ def id=(id)
99
+ if id.nil?
100
+ fail ArgumentError, 'invalid value for "id", id cannot be nil.'
101
+ end
102
+ @id = id
103
+ end
104
+
105
+ # Custom attribute writer method with validation
106
+ # @param type [Object] Object to be assigned
107
+ # @!visibility private
108
+ def type=(type)
109
+ if type.nil?
110
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
111
+ end
112
+ @type = type
113
+ end
114
+
115
+ # Returns the object in the form of hash, with additionalProperties support.
116
+ # @return [Hash] Returns the object in the form of hash
117
+ # @!visibility private
118
+ def to_hash
119
+ hash = {}
120
+ self.class.attribute_map.each_pair do |attr, param|
121
+ value = self.send(attr)
122
+ if value.nil?
123
+ is_nullable = self.class.openapi_nullable.include?(attr)
124
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
125
+ end
126
+
127
+ hash[param] = _to_hash(value)
128
+ end
129
+ self.additional_properties.each_pair do |attr, value|
130
+ hash[attr] = value
131
+ end
132
+ hash
133
+ end
134
+
135
+ # Checks equality by comparing each attribute.
136
+ # @param o [Object] Object to be compared
137
+ # @!visibility private
138
+ def ==(o)
139
+ return true if self.equal?(o)
140
+ self.class == o.class &&
141
+ attributes == o.attributes &&
142
+ id == o.id &&
143
+ type == o.type &&
144
+ additional_properties == o.additional_properties
145
+ end
146
+
147
+ # Calculates hash code according to all attributes.
148
+ # @return [Integer] Hash code
149
+ # @!visibility private
150
+ def hash
151
+ [attributes, id, type, additional_properties].hash
152
+ end
153
+ end
154
+ end
@@ -0,0 +1,115 @@
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
+ # Attributes for updating GCP scan options configuration.
21
+ class GcpScanOptionsInputUpdateDataAttributes
22
+ include BaseGenericModel
23
+
24
+ # Indicates if scanning for vulnerabilities in containers is enabled.
25
+ attr_accessor :vuln_containers_os
26
+
27
+ # Indicates if scanning for vulnerabilities in hosts is enabled.
28
+ attr_accessor :vuln_host_os
29
+
30
+ attr_accessor :additional_properties
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ # @!visibility private
34
+ def self.attribute_map
35
+ {
36
+ :'vuln_containers_os' => :'vuln_containers_os',
37
+ :'vuln_host_os' => :'vuln_host_os'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'vuln_containers_os' => :'Boolean',
46
+ :'vuln_host_os' => :'Boolean'
47
+ }
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param attributes [Hash] Model attributes in the form of hash
52
+ # @!visibility private
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::GcpScanOptionsInputUpdateDataAttributes` initialize method"
56
+ end
57
+
58
+ self.additional_properties = {}
59
+ # check to see if the attribute exists and convert string to symbol for hash key
60
+ attributes = attributes.each_with_object({}) { |(k, v), h|
61
+ if (!self.class.attribute_map.key?(k.to_sym))
62
+ self.additional_properties[k.to_sym] = v
63
+ else
64
+ h[k.to_sym] = v
65
+ end
66
+ }
67
+
68
+ if attributes.key?(:'vuln_containers_os')
69
+ self.vuln_containers_os = attributes[:'vuln_containers_os']
70
+ end
71
+
72
+ if attributes.key?(:'vuln_host_os')
73
+ self.vuln_host_os = attributes[:'vuln_host_os']
74
+ end
75
+ end
76
+
77
+ # Returns the object in the form of hash, with additionalProperties support.
78
+ # @return [Hash] Returns the object in the form of hash
79
+ # @!visibility private
80
+ def to_hash
81
+ hash = {}
82
+ self.class.attribute_map.each_pair do |attr, param|
83
+ value = self.send(attr)
84
+ if value.nil?
85
+ is_nullable = self.class.openapi_nullable.include?(attr)
86
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
87
+ end
88
+
89
+ hash[param] = _to_hash(value)
90
+ end
91
+ self.additional_properties.each_pair do |attr, value|
92
+ hash[attr] = value
93
+ end
94
+ hash
95
+ end
96
+
97
+ # Checks equality by comparing each attribute.
98
+ # @param o [Object] Object to be compared
99
+ # @!visibility private
100
+ def ==(o)
101
+ return true if self.equal?(o)
102
+ self.class == o.class &&
103
+ vuln_containers_os == o.vuln_containers_os &&
104
+ vuln_host_os == o.vuln_host_os &&
105
+ additional_properties == o.additional_properties
106
+ end
107
+
108
+ # Calculates hash code according to all attributes.
109
+ # @return [Integer] Hash code
110
+ # @!visibility private
111
+ def hash
112
+ [vuln_containers_os, vuln_host_os, additional_properties].hash
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,26 @@
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
+ # GCP scan options resource type.
21
+ class GcpScanOptionsInputUpdateDataType
22
+ include BaseEnumModel
23
+
24
+ GCP_SCAN_OPTIONS = "gcp_scan_options".freeze
25
+ end
26
+ end
@@ -23,7 +23,6 @@ module DatadogAPIClient::V2
23
23
 
24
24
  # The name of metric for which the tag cardinalities are returned.
25
25
  # This matches the metric name provided in the request.
26
- #
27
26
  attr_accessor :metric_name
28
27
 
29
28
  attr_accessor :additional_properties
@@ -21,6 +21,9 @@ module DatadogAPIClient::V2
21
21
  class MonitorNotificationRuleAttributes
22
22
  include BaseGenericModel
23
23
 
24
+ # Use conditional recipients to define different recipients for different situations.
25
+ attr_accessor :conditional_recipients
26
+
24
27
  # Filter used to associate the notification rule with monitors.
25
28
  attr_accessor :filter
26
29
 
@@ -34,6 +37,7 @@ module DatadogAPIClient::V2
34
37
  # @!visibility private
35
38
  def self.attribute_map
36
39
  {
40
+ :'conditional_recipients' => :'conditional_recipients',
37
41
  :'filter' => :'filter',
38
42
  :'name' => :'name',
39
43
  :'recipients' => :'recipients'
@@ -44,6 +48,7 @@ module DatadogAPIClient::V2
44
48
  # @!visibility private
45
49
  def self.openapi_types
46
50
  {
51
+ :'conditional_recipients' => :'MonitorNotificationRuleConditionalRecipients',
47
52
  :'filter' => :'MonitorNotificationRuleFilter',
48
53
  :'name' => :'String',
49
54
  :'recipients' => :'Array<String>'
@@ -66,6 +71,10 @@ module DatadogAPIClient::V2
66
71
  h[k.to_sym] = v
67
72
  }
68
73
 
74
+ if attributes.key?(:'conditional_recipients')
75
+ self.conditional_recipients = attributes[:'conditional_recipients']
76
+ end
77
+
69
78
  if attributes.key?(:'filter')
70
79
  self.filter = attributes[:'filter']
71
80
  end
@@ -88,9 +97,8 @@ module DatadogAPIClient::V2
88
97
  return false if @name.nil?
89
98
  return false if @name.to_s.length > 1000
90
99
  return false if @name.to_s.length < 1
91
- return false if @recipients.nil?
92
- return false if @recipients.length > 20
93
- return false if @recipients.length < 1
100
+ return false if !@recipients.nil? && @recipients.length > 20
101
+ return false if !@recipients.nil? && @recipients.length < 1
94
102
  true
95
103
  end
96
104
 
@@ -114,13 +122,10 @@ module DatadogAPIClient::V2
114
122
  # @param recipients [Object] Object to be assigned
115
123
  # @!visibility private
116
124
  def recipients=(recipients)
117
- if recipients.nil?
118
- fail ArgumentError, 'invalid value for "recipients", recipients cannot be nil.'
119
- end
120
- if recipients.length > 20
125
+ if !recipients.nil? && recipients.length > 20
121
126
  fail ArgumentError, 'invalid value for "recipients", number of items must be less than or equal to 20.'
122
127
  end
123
- if recipients.length < 1
128
+ if !recipients.nil? && recipients.length < 1
124
129
  fail ArgumentError, 'invalid value for "recipients", number of items must be greater than or equal to 1.'
125
130
  end
126
131
  @recipients = recipients
@@ -132,6 +137,7 @@ module DatadogAPIClient::V2
132
137
  def ==(o)
133
138
  return true if self.equal?(o)
134
139
  self.class == o.class &&
140
+ conditional_recipients == o.conditional_recipients &&
135
141
  filter == o.filter &&
136
142
  name == o.name &&
137
143
  recipients == o.recipients
@@ -141,7 +147,7 @@ module DatadogAPIClient::V2
141
147
  # @return [Integer] Hash code
142
148
  # @!visibility private
143
149
  def hash
144
- [filter, name, recipients].hash
150
+ [conditional_recipients, filter, name, recipients].hash
145
151
  end
146
152
  end
147
153
  end
@@ -0,0 +1,162 @@
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
+ # Conditions for `conditional_recipients`.
21
+ class MonitorNotificationRuleCondition
22
+ include BaseGenericModel
23
+
24
+ # A list of recipients to notify. Uses the same format as the monitor `message` field. Must not start with an '@'.
25
+ attr_reader :recipients
26
+
27
+ # The scope to which the monitor applied.
28
+ attr_reader :scope
29
+
30
+ attr_accessor :additional_properties
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ # @!visibility private
34
+ def self.attribute_map
35
+ {
36
+ :'recipients' => :'recipients',
37
+ :'scope' => :'scope'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'recipients' => :'Array<String>',
46
+ :'scope' => :'String'
47
+ }
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param attributes [Hash] Model attributes in the form of hash
52
+ # @!visibility private
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::MonitorNotificationRuleCondition` initialize method"
56
+ end
57
+
58
+ self.additional_properties = {}
59
+ # check to see if the attribute exists and convert string to symbol for hash key
60
+ attributes = attributes.each_with_object({}) { |(k, v), h|
61
+ if (!self.class.attribute_map.key?(k.to_sym))
62
+ self.additional_properties[k.to_sym] = v
63
+ else
64
+ h[k.to_sym] = v
65
+ end
66
+ }
67
+
68
+ if attributes.key?(:'recipients')
69
+ if (value = attributes[:'recipients']).is_a?(Array)
70
+ self.recipients = value
71
+ end
72
+ end
73
+
74
+ if attributes.key?(:'scope')
75
+ self.scope = attributes[:'scope']
76
+ end
77
+ end
78
+
79
+ # Check to see if the all the properties in the model are valid
80
+ # @return true if the model is valid
81
+ # @!visibility private
82
+ def valid?
83
+ return false if @recipients.nil?
84
+ return false if @recipients.length > 20
85
+ return false if @recipients.length < 1
86
+ return false if @scope.nil?
87
+ return false if @scope.to_s.length > 3000
88
+ return false if @scope.to_s.length < 1
89
+ true
90
+ end
91
+
92
+ # Custom attribute writer method with validation
93
+ # @param recipients [Object] Object to be assigned
94
+ # @!visibility private
95
+ def recipients=(recipients)
96
+ if recipients.nil?
97
+ fail ArgumentError, 'invalid value for "recipients", recipients cannot be nil.'
98
+ end
99
+ if recipients.length > 20
100
+ fail ArgumentError, 'invalid value for "recipients", number of items must be less than or equal to 20.'
101
+ end
102
+ if recipients.length < 1
103
+ fail ArgumentError, 'invalid value for "recipients", number of items must be greater than or equal to 1.'
104
+ end
105
+ @recipients = recipients
106
+ end
107
+
108
+ # Custom attribute writer method with validation
109
+ # @param scope [Object] Object to be assigned
110
+ # @!visibility private
111
+ def scope=(scope)
112
+ if scope.nil?
113
+ fail ArgumentError, 'invalid value for "scope", scope cannot be nil.'
114
+ end
115
+ if scope.to_s.length > 3000
116
+ fail ArgumentError, 'invalid value for "scope", the character length must be smaller than or equal to 3000.'
117
+ end
118
+ if scope.to_s.length < 1
119
+ fail ArgumentError, 'invalid value for "scope", the character length must be great than or equal to 1.'
120
+ end
121
+ @scope = scope
122
+ end
123
+
124
+ # Returns the object in the form of hash, with additionalProperties support.
125
+ # @return [Hash] Returns the object in the form of hash
126
+ # @!visibility private
127
+ def to_hash
128
+ hash = {}
129
+ self.class.attribute_map.each_pair do |attr, param|
130
+ value = self.send(attr)
131
+ if value.nil?
132
+ is_nullable = self.class.openapi_nullable.include?(attr)
133
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
134
+ end
135
+
136
+ hash[param] = _to_hash(value)
137
+ end
138
+ self.additional_properties.each_pair do |attr, value|
139
+ hash[attr] = value
140
+ end
141
+ hash
142
+ end
143
+
144
+ # Checks equality by comparing each attribute.
145
+ # @param o [Object] Object to be compared
146
+ # @!visibility private
147
+ def ==(o)
148
+ return true if self.equal?(o)
149
+ self.class == o.class &&
150
+ recipients == o.recipients &&
151
+ scope == o.scope &&
152
+ additional_properties == o.additional_properties
153
+ end
154
+
155
+ # Calculates hash code according to all attributes.
156
+ # @return [Integer] Hash code
157
+ # @!visibility private
158
+ def hash
159
+ [recipients, scope, additional_properties].hash
160
+ end
161
+ end
162
+ end