datadog_api_client 2.42.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 (528) hide show
  1. checksums.yaml +4 -4
  2. data/.generator/schemas/v1/openapi.yaml +266 -36
  3. data/.generator/schemas/v2/openapi.yaml +8163 -626
  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/.github/CODEOWNERS +4 -4
  10. data/.github/workflows/reusable-ci.yml +71 -0
  11. data/.github/workflows/reusable-examples.yml +40 -0
  12. data/.github/workflows/{test_integration.yml → reusable-integration-test.yml} +66 -17
  13. data/.github/workflows/reusable-pre-commit.yml +84 -0
  14. data/.github/workflows/reusable-ruby-test.yml +65 -0
  15. data/.github/workflows/test.yml +31 -89
  16. data/CHANGELOG.md +46 -0
  17. data/examples/v1/dashboards/CreateDashboard_607525069.rb +61 -0
  18. data/examples/v1/logs-pipelines/CreateLogsPipeline.rb +2 -2
  19. data/examples/v1/logs-pipelines/CreateLogsPipeline_1745625064.rb +248 -0
  20. data/examples/v1/logs-pipelines/CreateLogsPipeline_2256674867.rb +248 -0
  21. data/examples/v1/logs-pipelines/CreateLogsPipeline_501419705.rb +236 -0
  22. data/examples/v1/logs-pipelines/UpdateLogsPipeline.rb +2 -2
  23. data/examples/v1/notebooks/CreateNotebook.rb +1 -1
  24. data/examples/v1/notebooks/UpdateNotebook.rb +1 -1
  25. data/examples/v1/synthetics/CreateSyntheticsAPITest.rb +1 -0
  26. data/examples/v1/synthetics/UpdateBrowserTest.rb +1 -0
  27. data/examples/v2/actions-datastores/BulkDeleteDatastoreItems.rb +19 -0
  28. data/examples/v2/agentless-scanning/CreateAwsOnDemandTask.rb +1 -1
  29. data/examples/v2/agentless-scanning/CreateAwsScanOptions.rb +1 -1
  30. data/examples/v2/agentless-scanning/CreateAzureScanOptions.rb +16 -0
  31. data/examples/v2/agentless-scanning/CreateGcpScanOptions.rb +16 -0
  32. data/examples/v2/agentless-scanning/DeleteAwsScanOptions.rb +1 -1
  33. data/examples/v2/agentless-scanning/DeleteAzureScanOptions.rb +5 -0
  34. data/examples/v2/agentless-scanning/DeleteGcpScanOptions.rb +5 -0
  35. data/examples/v2/agentless-scanning/GetAwsOnDemandTask.rb +1 -1
  36. data/examples/v2/agentless-scanning/GetAzureScanOptions.rb +5 -0
  37. data/examples/v2/agentless-scanning/GetGcpScanOptions.rb +5 -0
  38. data/examples/v2/agentless-scanning/ListAwsOnDemandTasks.rb +1 -1
  39. data/examples/v2/agentless-scanning/ListAwsScanOptions.rb +1 -1
  40. data/examples/v2/agentless-scanning/ListAzureScanOptions.rb +5 -0
  41. data/examples/v2/agentless-scanning/ListGcpScanOptions.rb +5 -0
  42. data/examples/v2/agentless-scanning/UpdateAwsScanOptions.rb +1 -1
  43. data/examples/v2/agentless-scanning/UpdateAzureScanOptions.rb +12 -0
  44. data/examples/v2/agentless-scanning/UpdateGcpScanOptions.rb +15 -0
  45. data/examples/v2/aws-integration/GetAWSIntegrationIAMPermissionsResourceCollection.rb +5 -0
  46. data/examples/v2/aws-integration/GetAWSIntegrationIAMPermissionsResourceCollection_1008672547.rb +5 -0
  47. data/examples/v2/aws-integration/GetAWSIntegrationIAMPermissionsStandard.rb +5 -0
  48. data/examples/v2/aws-integration/GetAWSIntegrationIAMPermissionsStandard_3136299151.rb +5 -0
  49. data/examples/v2/case-management/CommentCase.rb +17 -0
  50. data/examples/v2/case-management/CreateCase.rb +1 -1
  51. data/examples/v2/case-management/DeleteCaseComment.rb +11 -0
  52. data/examples/v2/case-management/DeleteCaseCustomAttribute.rb +11 -0
  53. data/examples/v2/case-management/UpdateCaseCustomAttribute.rb +25 -0
  54. data/examples/v2/case-management/UpdateCaseDescription.rb +17 -0
  55. data/examples/v2/case-management/UpdateCaseTitle.rb +17 -0
  56. data/examples/v2/case-management-attribute/CreateCustomAttributeConfig.rb +20 -0
  57. data/examples/v2/case-management-attribute/DeleteCustomAttributeConfig.rb +11 -0
  58. data/examples/v2/case-management-attribute/GetAllCustomAttributeConfigsByCaseType.rb +8 -0
  59. data/examples/v2/case-management-attribute/GetAllCustomAttributes.rb +5 -0
  60. data/examples/v2/case-management-type/CreateCaseType.rb +16 -0
  61. data/examples/v2/case-management-type/DeleteCaseType.rb +5 -0
  62. data/examples/v2/case-management-type/DeleteCaseType_2790986149.rb +8 -0
  63. data/examples/v2/case-management-type/GetAllCaseTypes.rb +5 -0
  64. data/examples/v2/cloud-cost-management/CreateCostAzureUCConfigs.rb +0 -1
  65. data/examples/v2/cloud-cost-management/CreateCostGCPUsageCostConfig.rb +1 -1
  66. data/examples/v2/cloud-cost-management/CreateCustomAllocationRule.rb +61 -0
  67. data/examples/v2/cloud-cost-management/CreateTagPipelinesRuleset.rb +32 -0
  68. data/examples/v2/cloud-cost-management/DeleteCostGCPUsageCostConfig.rb +1 -1
  69. data/examples/v2/cloud-cost-management/DeleteCustomAllocationRule.rb +5 -0
  70. data/examples/v2/cloud-cost-management/DeleteTagPipelinesRuleset.rb +5 -0
  71. data/examples/v2/cloud-cost-management/GetCostAWSCURConfig.rb +5 -0
  72. data/examples/v2/cloud-cost-management/GetCostAzureUCConfig.rb +5 -0
  73. data/examples/v2/cloud-cost-management/GetCostGCPUsageCostConfig.rb +5 -0
  74. data/examples/v2/cloud-cost-management/GetCustomAllocationRule.rb +5 -0
  75. data/examples/v2/cloud-cost-management/GetTagPipelinesRuleset.rb +5 -0
  76. data/examples/v2/cloud-cost-management/ListCostGCPUsageCostConfigs.rb +1 -1
  77. data/examples/v2/cloud-cost-management/ListCustomAllocationRules.rb +5 -0
  78. data/examples/v2/cloud-cost-management/ListTagPipelinesRulesets.rb +5 -0
  79. data/examples/v2/cloud-cost-management/ReorderCustomAllocationRules.rb +22 -0
  80. data/examples/v2/cloud-cost-management/ReorderTagPipelinesRulesets.rb +22 -0
  81. data/examples/v2/cloud-cost-management/UpdateCostGCPUsageCostConfig.rb +1 -1
  82. data/examples/v2/cloud-cost-management/UpdateCustomAllocationRule.rb +63 -0
  83. data/examples/v2/cloud-cost-management/UpdateTagPipelinesRuleset.rb +32 -0
  84. data/examples/v2/cloud-cost-management/ValidateQuery.rb +14 -0
  85. data/examples/v2/csm-threats/CreateCSMThreatsAgentPolicy.rb +1 -1
  86. data/examples/v2/csm-threats/CreateCSMThreatsAgentRule.rb +1 -0
  87. data/examples/v2/csm-threats/CreateCSMThreatsAgentRule_1295653933.rb +1 -0
  88. data/examples/v2/csm-threats/CreateCSMThreatsAgentRule_1363354233.rb +33 -0
  89. data/examples/v2/dora-metrics/CreateDORADeployment.rb +1 -1
  90. data/examples/v2/dora-metrics/CreateDORAFailure.rb +1 -1
  91. data/examples/v2/dora-metrics/CreateDORAIncident.rb +1 -1
  92. data/examples/v2/dora-metrics/{CreateDORAIncident_1768887482.rb → CreateDORAIncident_1101664022.rb} +1 -1
  93. data/examples/v2/dora-metrics/DeleteDORADeployment.rb +5 -0
  94. data/examples/v2/dora-metrics/DeleteDORAFailure.rb +5 -0
  95. data/examples/v2/error-tracking/DeleteIssueAssignee.rb +8 -0
  96. data/examples/v2/fleet-automation/CancelFleetDeployment.rb +8 -0
  97. data/examples/v2/fleet-automation/CreateFleetDeploymentConfigure.rb +26 -0
  98. data/examples/v2/fleet-automation/GetFleetDeployment.rb +11 -0
  99. data/examples/v2/fleet-automation/ListFleetDeployments.rb +8 -0
  100. data/examples/v2/incidents/CreateIncidentImpact.rb +22 -0
  101. data/examples/v2/incidents/DeleteIncidentImpact.rb +12 -0
  102. data/examples/v2/incidents/ListIncidentImpacts.rb +11 -0
  103. data/examples/v2/key-management/GetCurrentUserApplicationKey.rb +4 -1
  104. data/examples/v2/monitors/CreateMonitorNotificationRule_1181818787.rb +30 -0
  105. data/examples/v2/monitors/UpdateMonitorNotificationRule_1400905713.rb +35 -0
  106. data/examples/v2/reference-tables/CreateReferenceTable.rb +44 -0
  107. data/examples/v2/reference-tables/CreateReferenceTableUpload.rb +21 -0
  108. data/examples/v2/reference-tables/CreateReferenceTable_3196130987.rb +41 -0
  109. data/examples/v2/reference-tables/DeleteTable.rb +5 -0
  110. data/examples/v2/reference-tables/GetRowsByID.rb +5 -0
  111. data/examples/v2/reference-tables/GetTable.rb +5 -0
  112. data/examples/v2/reference-tables/ListTables.rb +5 -0
  113. data/examples/v2/reference-tables/UpdateReferenceTable.rb +44 -0
  114. data/examples/v2/roles/ListRoleTemplates.rb +8 -0
  115. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_2899714190.rb +68 -0
  116. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_868881438.rb +3 -1
  117. data/examples/v2/security-monitoring/ListScannedAssetsMetadata.rb +8 -0
  118. data/examples/v2/security-monitoring/ValidateSecurityMonitoringRule_4152369508.rb +70 -0
  119. data/examples/v2/static-analysis/CreateSCAResolveVulnerableSymbols.rb +17 -0
  120. data/examples/v2/static-analysis/CreateSCAResult.rb +61 -0
  121. data/examples/v2/test-optimization/SearchFlakyTests.rb +27 -0
  122. data/examples/v2/test-optimization/SearchFlakyTests_1224086727.rb +27 -0
  123. data/examples/v2/test-optimization/SearchFlakyTests_2665223746.rb +26 -0
  124. data/lib/datadog_api_client/configuration.rb +12 -0
  125. data/lib/datadog_api_client/inflector.rb +312 -1
  126. data/lib/datadog_api_client/v1/api/hosts_api.rb +1 -0
  127. data/lib/datadog_api_client/v1/api/synthetics_api.rb +1 -3
  128. data/lib/datadog_api_client/v1/models/formula_and_function_events_data_source.rb +1 -0
  129. data/lib/datadog_api_client/v1/models/logs_processor.rb +2 -1
  130. data/lib/datadog_api_client/v1/models/logs_schema_category_mapper.rb +211 -0
  131. data/lib/datadog_api_client/v1/models/logs_schema_category_mapper_category.rb +165 -0
  132. data/lib/datadog_api_client/v1/models/logs_schema_category_mapper_fallback.rb +115 -0
  133. data/lib/datadog_api_client/v1/models/logs_schema_category_mapper_targets.rb +115 -0
  134. data/lib/datadog_api_client/v1/models/logs_schema_category_mapper_type.rb +26 -0
  135. data/lib/datadog_api_client/v1/models/logs_schema_data.rb +198 -0
  136. data/lib/datadog_api_client/v1/models/logs_schema_mapper.rb +63 -0
  137. data/lib/datadog_api_client/v1/models/logs_schema_processor.rb +198 -0
  138. data/lib/datadog_api_client/v1/models/logs_schema_processor_type.rb +26 -0
  139. data/lib/datadog_api_client/v1/models/logs_schema_remapper.rb +220 -0
  140. data/lib/datadog_api_client/v1/models/logs_schema_remapper_type.rb +26 -0
  141. data/lib/datadog_api_client/v1/models/monitor.rb +0 -1
  142. data/lib/datadog_api_client/v1/models/monitor_update_request.rb +0 -1
  143. data/lib/datadog_api_client/v1/models/synthetics_test_options.rb +13 -1
  144. data/lib/datadog_api_client/v1/models/widget_marker.rb +0 -1
  145. data/lib/datadog_api_client/v2/api/actions_datastores_api.rb +72 -0
  146. data/lib/datadog_api_client/v2/api/agentless_scanning_api.rb +680 -22
  147. data/lib/datadog_api_client/v2/api/api_management_api.rb +0 -2
  148. data/lib/datadog_api_client/v2/api/aws_integration_api.rb +120 -0
  149. data/lib/datadog_api_client/v2/api/case_management_api.rb +433 -0
  150. data/lib/datadog_api_client/v2/api/case_management_attribute_api.rb +293 -0
  151. data/lib/datadog_api_client/v2/api/case_management_type_api.rb +218 -0
  152. data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +1 -0
  153. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +1229 -144
  154. data/lib/datadog_api_client/v2/api/container_images_api.rb +1 -0
  155. data/lib/datadog_api_client/v2/api/dora_metrics_api.rb +139 -9
  156. data/lib/datadog_api_client/v2/api/error_tracking_api.rb +65 -0
  157. data/lib/datadog_api_client/v2/api/fleet_automation_api.rb +318 -0
  158. data/lib/datadog_api_client/v2/api/incidents_api.rb +237 -8
  159. data/lib/datadog_api_client/v2/api/observability_pipelines_api.rb +0 -1
  160. data/lib/datadog_api_client/v2/api/on_call_paging_api.rb +0 -4
  161. data/lib/datadog_api_client/v2/api/reference_tables_api.rb +519 -0
  162. data/lib/datadog_api_client/v2/api/roles_api.rb +66 -0
  163. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +151 -10
  164. data/lib/datadog_api_client/v2/api/static_analysis_api.rb +166 -0
  165. data/lib/datadog_api_client/v2/api/test_optimization_api.rb +116 -0
  166. data/lib/datadog_api_client/v2/models/account_filtering_config.rb +8 -0
  167. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request.rb +105 -0
  168. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request_data.rb +143 -0
  169. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request_data_attributes.rb +241 -0
  170. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request_data_attributes_costs_to_allocate_items.rb +174 -0
  171. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request_data_attributes_strategy.rb +215 -0
  172. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request_data_attributes_strategy_allocated_by_filters_items.rb +174 -0
  173. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request_data_attributes_strategy_allocated_by_items.rb +146 -0
  174. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request_data_attributes_strategy_allocated_by_items_allocated_tags_items.rb +144 -0
  175. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request_data_attributes_strategy_based_on_costs_items.rb +174 -0
  176. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request_data_attributes_strategy_evaluate_grouped_by_filters_items.rb +174 -0
  177. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request_data_type.rb +26 -0
  178. data/lib/datadog_api_client/v2/models/arbitrary_rule_response.rb +105 -0
  179. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_array.rb +135 -0
  180. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_array_meta.rb +105 -0
  181. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data.rb +143 -0
  182. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data_attributes.rb +361 -0
  183. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data_attributes_costs_to_allocate_items.rb +174 -0
  184. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data_attributes_strategy.rb +215 -0
  185. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data_attributes_strategy_allocated_by_filters_items.rb +174 -0
  186. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data_attributes_strategy_allocated_by_items.rb +146 -0
  187. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data_attributes_strategy_allocated_by_items_allocated_tags_items.rb +144 -0
  188. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data_attributes_strategy_based_on_costs_items.rb +174 -0
  189. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data_attributes_strategy_evaluate_grouped_by_filters_items.rb +174 -0
  190. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data_type.rb +26 -0
  191. data/lib/datadog_api_client/v2/models/aws_cur_config_attributes.rb +8 -0
  192. data/lib/datadog_api_client/v2/models/aws_cur_config_post_data.rb +1 -12
  193. data/lib/datadog_api_client/v2/models/aws_cur_config_response.rb +5 -5
  194. data/lib/datadog_api_client/v2/models/aws_cur_config_response_data.rb +143 -0
  195. data/lib/datadog_api_client/v2/models/aws_cur_config_response_data_attributes.rb +225 -0
  196. data/lib/datadog_api_client/v2/models/aws_cur_config_response_data_attributes_account_filters.rb +137 -0
  197. data/lib/datadog_api_client/v2/models/aws_cur_config_response_data_type.rb +26 -0
  198. data/lib/datadog_api_client/v2/models/aws_cur_configs_response.rb +19 -1
  199. data/lib/datadog_api_client/v2/models/azure_scan_options.rb +105 -0
  200. data/lib/datadog_api_client/v2/models/azure_scan_options_array.rb +125 -0
  201. data/lib/datadog_api_client/v2/models/azure_scan_options_data.rb +154 -0
  202. data/lib/datadog_api_client/v2/models/azure_scan_options_data_attributes.rb +115 -0
  203. data/lib/datadog_api_client/v2/models/azure_scan_options_data_type.rb +26 -0
  204. data/lib/datadog_api_client/v2/models/azure_scan_options_input_update.rb +105 -0
  205. data/lib/datadog_api_client/v2/models/azure_scan_options_input_update_data.rb +154 -0
  206. data/lib/datadog_api_client/v2/models/azure_scan_options_input_update_data_attributes.rb +115 -0
  207. data/lib/datadog_api_client/v2/models/azure_scan_options_input_update_data_type.rb +26 -0
  208. data/lib/datadog_api_client/v2/models/azure_uc_config.rb +9 -1
  209. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_data.rb +1 -12
  210. data/lib/datadog_api_client/v2/models/azure_uc_config_post_data.rb +1 -12
  211. data/lib/datadog_api_client/v2/models/azure_uc_config_post_request_attributes.rb +3 -13
  212. data/lib/datadog_api_client/v2/models/azure_uc_configs_response.rb +19 -1
  213. data/lib/datadog_api_client/v2/models/bulk_delete_apps_datastore_items_request.rb +105 -0
  214. data/lib/datadog_api_client/v2/models/bulk_delete_apps_datastore_items_request_data.rb +143 -0
  215. data/lib/datadog_api_client/v2/models/bulk_delete_apps_datastore_items_request_data_attributes.rb +125 -0
  216. data/lib/datadog_api_client/v2/models/bulk_delete_apps_datastore_items_request_data_type.rb +26 -0
  217. data/lib/datadog_api_client/v2/models/bulk_mute_findings_request_properties.rb +0 -1
  218. data/lib/datadog_api_client/v2/models/case_attributes.rb +23 -3
  219. data/lib/datadog_api_client/v2/models/case_comment.rb +144 -0
  220. data/lib/datadog_api_client/v2/models/case_comment_attributes.rb +123 -0
  221. data/lib/datadog_api_client/v2/models/case_comment_request.rb +123 -0
  222. data/lib/datadog_api_client/v2/models/case_create_attributes.rb +14 -14
  223. data/lib/datadog_api_client/v2/models/case_type.rb +2 -0
  224. data/lib/datadog_api_client/v2/models/case_type_create.rb +144 -0
  225. data/lib/datadog_api_client/v2/models/case_type_create_request.rb +123 -0
  226. data/lib/datadog_api_client/v2/models/case_type_resource.rb +125 -0
  227. data/lib/datadog_api_client/v2/models/case_type_resource_attributes.rb +161 -0
  228. data/lib/datadog_api_client/v2/models/case_type_resource_type.rb +26 -0
  229. data/lib/datadog_api_client/v2/models/case_type_response.rb +105 -0
  230. data/lib/datadog_api_client/v2/models/case_types_response.rb +107 -0
  231. data/lib/datadog_api_client/v2/models/case_update_custom_attribute.rb +144 -0
  232. data/lib/datadog_api_client/v2/models/case_update_custom_attribute_request.rb +123 -0
  233. data/lib/datadog_api_client/v2/models/case_update_description.rb +144 -0
  234. data/lib/datadog_api_client/v2/models/case_update_description_attributes.rb +123 -0
  235. data/lib/datadog_api_client/v2/models/case_update_description_request.rb +123 -0
  236. data/lib/datadog_api_client/v2/models/case_update_title.rb +144 -0
  237. data/lib/datadog_api_client/v2/models/case_update_title_attributes.rb +123 -0
  238. data/lib/datadog_api_client/v2/models/case_update_title_request.rb +123 -0
  239. data/lib/datadog_api_client/v2/models/cloud_asset_type.rb +28 -0
  240. data/lib/datadog_api_client/v2/models/cloud_configuration_compliance_rule_options.rb +0 -2
  241. data/lib/datadog_api_client/v2/models/cloud_configuration_rule_create_payload.rb +0 -1
  242. data/lib/datadog_api_client/v2/models/cloud_configuration_rule_options.rb +0 -1
  243. data/lib/datadog_api_client/v2/models/cloud_configuration_rule_payload.rb +0 -1
  244. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_attributes.rb +25 -3
  245. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_policy_version.rb +123 -0
  246. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_action_set.rb +35 -5
  247. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_attributes.rb +11 -1
  248. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_create_attributes.rb +30 -10
  249. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_update_attributes.rb +23 -3
  250. data/lib/datadog_api_client/v2/models/create_ruleset_request.rb +105 -0
  251. data/lib/datadog_api_client/v2/models/create_ruleset_request_data.rb +143 -0
  252. data/lib/datadog_api_client/v2/models/create_ruleset_request_data_attributes.rb +135 -0
  253. data/lib/datadog_api_client/v2/models/create_ruleset_request_data_attributes_rules_items.rb +195 -0
  254. data/lib/datadog_api_client/v2/models/create_ruleset_request_data_attributes_rules_items_mapping.rb +167 -0
  255. data/lib/datadog_api_client/v2/models/create_ruleset_request_data_attributes_rules_items_query.rb +172 -0
  256. data/lib/datadog_api_client/v2/models/create_ruleset_request_data_attributes_rules_items_query_addition.rb +144 -0
  257. data/lib/datadog_api_client/v2/models/create_ruleset_request_data_attributes_rules_items_reference_table.rb +189 -0
  258. data/lib/datadog_api_client/v2/models/create_ruleset_request_data_attributes_rules_items_reference_table_field_pairs_items.rb +144 -0
  259. data/lib/datadog_api_client/v2/models/create_ruleset_request_data_type.rb +26 -0
  260. data/lib/datadog_api_client/v2/models/create_table_request.rb +105 -0
  261. data/lib/datadog_api_client/v2/models/create_table_request_data.rb +143 -0
  262. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes.rb +197 -0
  263. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_file_metadata.rb +63 -0
  264. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_file_metadata_cloud_storage.rb +119 -0
  265. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_file_metadata_local_file.rb +98 -0
  266. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_file_metadata_one_of_access_details.rb +125 -0
  267. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_file_metadata_one_of_access_details_aws_detail.rb +165 -0
  268. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_file_metadata_one_of_access_details_azure_detail.rb +207 -0
  269. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_file_metadata_one_of_access_details_gcp_detail.rb +186 -0
  270. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_schema.rb +148 -0
  271. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_schema_fields_items.rb +144 -0
  272. data/lib/datadog_api_client/v2/models/create_table_request_data_type.rb +26 -0
  273. data/lib/datadog_api_client/v2/models/create_upload_request.rb +105 -0
  274. data/lib/datadog_api_client/v2/models/create_upload_request_data.rb +143 -0
  275. data/lib/datadog_api_client/v2/models/create_upload_request_data_attributes.rb +192 -0
  276. data/lib/datadog_api_client/v2/models/create_upload_request_data_type.rb +26 -0
  277. data/lib/datadog_api_client/v2/models/create_upload_response.rb +105 -0
  278. data/lib/datadog_api_client/v2/models/create_upload_response_data.rb +143 -0
  279. data/lib/datadog_api_client/v2/models/create_upload_response_data_attributes.rb +107 -0
  280. data/lib/datadog_api_client/v2/models/create_upload_response_data_type.rb +26 -0
  281. data/lib/datadog_api_client/v2/models/custom_attribute_config.rb +125 -0
  282. data/lib/datadog_api_client/v2/models/custom_attribute_config_attributes_create.rb +196 -0
  283. data/lib/datadog_api_client/v2/models/custom_attribute_config_create.rb +144 -0
  284. data/lib/datadog_api_client/v2/models/custom_attribute_config_create_request.rb +123 -0
  285. data/lib/datadog_api_client/v2/models/custom_attribute_config_resource_attributes.rb +217 -0
  286. data/lib/datadog_api_client/v2/models/custom_attribute_config_resource_type.rb +26 -0
  287. data/lib/datadog_api_client/v2/models/custom_attribute_config_response.rb +105 -0
  288. data/lib/datadog_api_client/v2/models/custom_attribute_configs_response.rb +107 -0
  289. data/lib/datadog_api_client/v2/models/custom_attribute_type.rb +28 -0
  290. data/lib/datadog_api_client/v2/models/custom_attribute_value.rb +165 -0
  291. data/lib/datadog_api_client/v2/models/custom_attribute_values_union.rb +65 -0
  292. data/lib/datadog_api_client/v2/models/datastore_trigger.rb +105 -0
  293. data/lib/datadog_api_client/v2/models/datastore_trigger_wrapper.rb +135 -0
  294. data/lib/datadog_api_client/v2/models/delete_apps_datastore_item_response_array.rb +125 -0
  295. data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +1 -1
  296. data/lib/datadog_api_client/v2/models/flaky_test.rb +125 -0
  297. data/lib/datadog_api_client/v2/models/flaky_test_attributes.rb +301 -0
  298. data/lib/datadog_api_client/v2/models/flaky_test_attributes_flaky_state.rb +29 -0
  299. data/lib/datadog_api_client/v2/models/flaky_test_pipeline_stats.rb +124 -0
  300. data/lib/datadog_api_client/v2/models/flaky_test_run_metadata.rb +168 -0
  301. data/lib/datadog_api_client/v2/models/flaky_test_stats.rb +113 -0
  302. data/lib/datadog_api_client/v2/models/flaky_test_type.rb +26 -0
  303. data/lib/datadog_api_client/v2/models/flaky_tests_pagination.rb +113 -0
  304. data/lib/datadog_api_client/v2/models/flaky_tests_search_filter.rb +115 -0
  305. data/lib/datadog_api_client/v2/models/flaky_tests_search_page_options.rb +137 -0
  306. data/lib/datadog_api_client/v2/models/flaky_tests_search_request.rb +105 -0
  307. data/lib/datadog_api_client/v2/models/flaky_tests_search_request_attributes.rb +125 -0
  308. data/lib/datadog_api_client/v2/models/flaky_tests_search_request_data.rb +115 -0
  309. data/lib/datadog_api_client/v2/models/flaky_tests_search_request_data_type.rb +26 -0
  310. data/lib/datadog_api_client/v2/models/flaky_tests_search_response.rb +117 -0
  311. data/lib/datadog_api_client/v2/models/flaky_tests_search_response_meta.rb +105 -0
  312. data/lib/datadog_api_client/v2/models/flaky_tests_search_sort.rb +37 -0
  313. data/lib/datadog_api_client/v2/models/fleet_deployment.rb +165 -0
  314. data/lib/datadog_api_client/v2/models/fleet_deployment_attributes.rb +147 -0
  315. data/lib/datadog_api_client/v2/models/fleet_deployment_configure_attributes.rb +135 -0
  316. data/lib/datadog_api_client/v2/models/fleet_deployment_configure_create.rb +144 -0
  317. data/lib/datadog_api_client/v2/models/fleet_deployment_configure_create_request.rb +123 -0
  318. data/lib/datadog_api_client/v2/models/fleet_deployment_file_op.rb +30 -0
  319. data/lib/datadog_api_client/v2/models/fleet_deployment_operation.rb +161 -0
  320. data/lib/datadog_api_client/v2/models/fleet_deployment_resource_type.rb +26 -0
  321. data/lib/datadog_api_client/v2/models/fleet_deployment_response.rb +105 -0
  322. data/lib/datadog_api_client/v2/models/fleet_deployments_page.rb +105 -0
  323. data/lib/datadog_api_client/v2/models/fleet_deployments_response.rb +135 -0
  324. data/lib/datadog_api_client/v2/models/fleet_deployments_response_meta.rb +105 -0
  325. data/lib/datadog_api_client/v2/models/full_api_key_attributes.rb +19 -1
  326. data/lib/datadog_api_client/v2/models/full_application_key_attributes.rb +12 -1
  327. data/lib/datadog_api_client/v2/models/gcp_scan_options.rb +105 -0
  328. data/lib/datadog_api_client/v2/models/gcp_scan_options_array.rb +125 -0
  329. data/lib/datadog_api_client/v2/models/gcp_scan_options_data.rb +154 -0
  330. data/lib/datadog_api_client/v2/models/gcp_scan_options_data_attributes.rb +115 -0
  331. data/lib/datadog_api_client/v2/models/gcp_scan_options_data_type.rb +26 -0
  332. data/lib/datadog_api_client/v2/models/gcp_scan_options_input_update.rb +105 -0
  333. data/lib/datadog_api_client/v2/models/gcp_scan_options_input_update_data.rb +154 -0
  334. data/lib/datadog_api_client/v2/models/gcp_scan_options_input_update_data_attributes.rb +115 -0
  335. data/lib/datadog_api_client/v2/models/gcp_scan_options_input_update_data_type.rb +26 -0
  336. data/lib/datadog_api_client/v2/models/gcp_uc_config_response.rb +105 -0
  337. data/lib/datadog_api_client/v2/models/gcp_uc_config_response_data.rb +143 -0
  338. data/lib/datadog_api_client/v2/models/gcp_uc_config_response_data_attributes.rb +235 -0
  339. data/lib/datadog_api_client/v2/models/gcp_uc_config_response_data_type.rb +26 -0
  340. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config.rb +4 -4
  341. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_attributes.rb +13 -13
  342. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_patch_data.rb +3 -3
  343. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_patch_request.rb +2 -2
  344. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_patch_request_attributes.rb +1 -1
  345. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_patch_request_type.rb +1 -1
  346. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_post_data.rb +4 -15
  347. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_post_request.rb +2 -2
  348. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_post_request_attributes.rb +7 -7
  349. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_post_request_type.rb +1 -1
  350. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_response.rb +2 -2
  351. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_type.rb +1 -1
  352. data/lib/datadog_api_client/v2/models/gcp_usage_cost_configs_response.rb +21 -3
  353. data/lib/datadog_api_client/v2/models/historical_job_options.rb +11 -1
  354. data/lib/datadog_api_client/v2/models/incident_impact_attributes.rb +203 -0
  355. data/lib/datadog_api_client/v2/models/incident_impact_create_attributes.rb +173 -0
  356. data/lib/datadog_api_client/v2/models/incident_impact_create_data.rb +144 -0
  357. data/lib/datadog_api_client/v2/models/incident_impact_create_request.rb +123 -0
  358. data/lib/datadog_api_client/v2/models/incident_impact_related_object.rb +28 -0
  359. data/lib/datadog_api_client/v2/models/incident_impact_relationships.rb +125 -0
  360. data/lib/datadog_api_client/v2/models/incident_impact_response.rb +135 -0
  361. data/lib/datadog_api_client/v2/models/incident_impact_response_data.rb +164 -0
  362. data/lib/datadog_api_client/v2/models/incident_impact_type.rb +26 -0
  363. data/lib/datadog_api_client/v2/models/incident_impacts_response.rb +137 -0
  364. data/lib/datadog_api_client/v2/models/incident_response_attributes.rb +33 -1
  365. data/lib/datadog_api_client/v2/models/incident_response_relationships.rb +11 -1
  366. data/lib/datadog_api_client/v2/models/metric_tag_cardinalities_meta.rb +0 -1
  367. data/lib/datadog_api_client/v2/models/monitor_notification_rule_attributes.rb +15 -9
  368. data/lib/datadog_api_client/v2/models/monitor_notification_rule_condition.rb +162 -0
  369. data/lib/datadog_api_client/v2/models/monitor_notification_rule_conditional_recipients.rb +160 -0
  370. data/lib/datadog_api_client/v2/models/monitor_notification_rule_response_attributes.rb +11 -1
  371. data/lib/datadog_api_client/v2/models/notification_rule_response.rb +0 -1
  372. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_data_firehose_source.rb +0 -1
  373. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_open_search_destination.rb +0 -1
  374. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_s3_destination.rb +0 -1
  375. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_s3_source.rb +0 -1
  376. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_security_lake_destination.rb +0 -1
  377. data/lib/datadog_api_client/v2/models/observability_pipeline_config_destination_item.rb +2 -1
  378. data/lib/datadog_api_client/v2/models/observability_pipeline_google_chronicle_destination.rb +0 -1
  379. data/lib/datadog_api_client/v2/models/observability_pipeline_google_cloud_storage_destination.rb +0 -1
  380. data/lib/datadog_api_client/v2/models/observability_pipeline_google_pub_sub_destination.rb +250 -0
  381. data/lib/datadog_api_client/v2/models/observability_pipeline_google_pub_sub_destination_encoding.rb +27 -0
  382. data/lib/datadog_api_client/v2/models/observability_pipeline_google_pub_sub_destination_type.rb +26 -0
  383. data/lib/datadog_api_client/v2/models/observability_pipeline_google_pub_sub_source.rb +0 -1
  384. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_grok_processor_rule.rb +0 -2
  385. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor.rb +0 -1
  386. data/lib/datadog_api_client/v2/models/observability_pipeline_splunk_hec_destination.rb +0 -1
  387. data/lib/datadog_api_client/v2/models/partial_api_key_attributes.rb +19 -1
  388. data/lib/datadog_api_client/v2/models/partial_application_key_attributes.rb +12 -1
  389. data/lib/datadog_api_client/v2/models/patch_table_request.rb +105 -0
  390. data/lib/datadog_api_client/v2/models/patch_table_request_data.rb +143 -0
  391. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes.rb +147 -0
  392. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_file_metadata.rb +63 -0
  393. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_file_metadata_cloud_storage.rb +90 -0
  394. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_file_metadata_local_file.rb +98 -0
  395. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_file_metadata_one_of_access_details.rb +125 -0
  396. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_file_metadata_one_of_access_details_aws_detail.rb +125 -0
  397. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_file_metadata_one_of_access_details_azure_detail.rb +145 -0
  398. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_file_metadata_one_of_access_details_gcp_detail.rb +135 -0
  399. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_schema.rb +148 -0
  400. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_schema_fields_items.rb +144 -0
  401. data/lib/datadog_api_client/v2/models/patch_table_request_data_type.rb +26 -0
  402. data/lib/datadog_api_client/v2/models/reference_table_create_source_type.rb +29 -0
  403. data/lib/datadog_api_client/v2/models/reference_table_schema_field_type.rb +27 -0
  404. data/lib/datadog_api_client/v2/models/reference_table_sort_type.rb +31 -0
  405. data/lib/datadog_api_client/v2/models/reference_table_source_type.rb +33 -0
  406. data/lib/datadog_api_client/v2/models/relationship_to_incident.rb +123 -0
  407. data/lib/datadog_api_client/v2/models/relationship_to_incident_data.rb +144 -0
  408. data/lib/datadog_api_client/v2/models/reorder_rule_resource_array.rb +125 -0
  409. data/lib/datadog_api_client/v2/models/reorder_rule_resource_data.rb +133 -0
  410. data/lib/datadog_api_client/v2/models/reorder_rule_resource_data_type.rb +26 -0
  411. data/lib/datadog_api_client/v2/models/reorder_ruleset_resource_array.rb +125 -0
  412. data/lib/datadog_api_client/v2/models/reorder_ruleset_resource_data.rb +133 -0
  413. data/lib/datadog_api_client/v2/models/reorder_ruleset_resource_data_type.rb +26 -0
  414. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_request.rb +105 -0
  415. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_request_data.rb +143 -0
  416. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_request_data_attributes.rb +107 -0
  417. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_request_data_type.rb +26 -0
  418. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_response.rb +105 -0
  419. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_response_data.rb +143 -0
  420. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_response_data_attributes.rb +107 -0
  421. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_response_data_type.rb +26 -0
  422. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_response_results.rb +117 -0
  423. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_response_results_vulnerable_symbols.rb +117 -0
  424. data/lib/datadog_api_client/v2/models/resolve_vulnerable_symbols_response_results_vulnerable_symbols_symbols.rb +125 -0
  425. data/lib/datadog_api_client/v2/models/role_template_array.rb +125 -0
  426. data/lib/datadog_api_client/v2/models/role_template_data.rb +143 -0
  427. data/lib/datadog_api_client/v2/models/role_template_data_attributes.rb +115 -0
  428. data/lib/datadog_api_client/v2/models/role_template_data_type.rb +26 -0
  429. data/lib/datadog_api_client/v2/models/rules_validate_query_request.rb +105 -0
  430. data/lib/datadog_api_client/v2/models/rules_validate_query_request_data.rb +143 -0
  431. data/lib/datadog_api_client/v2/models/rules_validate_query_request_data_attributes.rb +123 -0
  432. data/lib/datadog_api_client/v2/models/rules_validate_query_request_data_type.rb +26 -0
  433. data/lib/datadog_api_client/v2/models/rules_validate_query_response.rb +105 -0
  434. data/lib/datadog_api_client/v2/models/rules_validate_query_response_data.rb +143 -0
  435. data/lib/datadog_api_client/v2/models/rules_validate_query_response_data_attributes.rb +123 -0
  436. data/lib/datadog_api_client/v2/models/rules_validate_query_response_data_type.rb +26 -0
  437. data/lib/datadog_api_client/v2/models/ruleset_resp.rb +105 -0
  438. data/lib/datadog_api_client/v2/models/ruleset_resp_array.rb +125 -0
  439. data/lib/datadog_api_client/v2/models/ruleset_resp_data.rb +143 -0
  440. data/lib/datadog_api_client/v2/models/ruleset_resp_data_attributes.rb +286 -0
  441. data/lib/datadog_api_client/v2/models/ruleset_resp_data_attributes_created.rb +133 -0
  442. data/lib/datadog_api_client/v2/models/ruleset_resp_data_attributes_modified.rb +133 -0
  443. data/lib/datadog_api_client/v2/models/ruleset_resp_data_attributes_rules_items.rb +195 -0
  444. data/lib/datadog_api_client/v2/models/ruleset_resp_data_attributes_rules_items_mapping.rb +167 -0
  445. data/lib/datadog_api_client/v2/models/ruleset_resp_data_attributes_rules_items_query.rb +172 -0
  446. data/lib/datadog_api_client/v2/models/ruleset_resp_data_attributes_rules_items_query_addition.rb +144 -0
  447. data/lib/datadog_api_client/v2/models/ruleset_resp_data_attributes_rules_items_reference_table.rb +189 -0
  448. data/lib/datadog_api_client/v2/models/ruleset_resp_data_attributes_rules_items_reference_table_field_pairs_items.rb +144 -0
  449. data/lib/datadog_api_client/v2/models/ruleset_resp_data_type.rb +26 -0
  450. data/lib/datadog_api_client/v2/models/rum_application_attributes.rb +22 -1
  451. data/lib/datadog_api_client/v2/models/sbom_format.rb +27 -0
  452. data/lib/datadog_api_client/v2/models/sca_request.rb +105 -0
  453. data/lib/datadog_api_client/v2/models/sca_request_data.rb +143 -0
  454. data/lib/datadog_api_client/v2/models/sca_request_data_attributes.rb +193 -0
  455. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_commit.rb +165 -0
  456. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_dependencies_items.rb +211 -0
  457. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_dependencies_items_locations_items.rb +135 -0
  458. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_dependencies_items_locations_items_file_position.rb +125 -0
  459. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_dependencies_items_locations_items_position.rb +144 -0
  460. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_dependencies_items_reachable_symbol_properties_items.rb +115 -0
  461. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_files_items.rb +115 -0
  462. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_relations_items.rb +117 -0
  463. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_repository.rb +105 -0
  464. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_vulnerabilities_items.rb +127 -0
  465. data/lib/datadog_api_client/v2/models/sca_request_data_attributes_vulnerabilities_items_affects_items.rb +105 -0
  466. data/lib/datadog_api_client/v2/models/sca_request_data_type.rb +26 -0
  467. data/lib/datadog_api_client/v2/models/scanned_asset_metadata.rb +144 -0
  468. data/lib/datadog_api_client/v2/models/scanned_asset_metadata_asset.rb +144 -0
  469. data/lib/datadog_api_client/v2/models/scanned_asset_metadata_attributes.rb +165 -0
  470. data/lib/datadog_api_client/v2/models/scanned_asset_metadata_last_success.rb +145 -0
  471. data/lib/datadog_api_client/v2/models/scanned_assets_metadata.rb +145 -0
  472. data/lib/datadog_api_client/v2/models/security_monitoring_rule_detection_method.rb +1 -0
  473. data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +11 -2
  474. data/lib/datadog_api_client/v2/models/security_monitoring_rule_sequence_detection_options.rb +119 -0
  475. data/lib/datadog_api_client/v2/models/security_monitoring_rule_sequence_detection_step.rb +126 -0
  476. data/lib/datadog_api_client/v2/models/security_monitoring_rule_sequence_detection_step_transition.rb +126 -0
  477. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_query.rb +13 -1
  478. data/lib/datadog_api_client/v2/models/table_result_v2.rb +105 -0
  479. data/lib/datadog_api_client/v2/models/table_result_v2_array.rb +125 -0
  480. data/lib/datadog_api_client/v2/models/table_result_v2_data.rb +143 -0
  481. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes.rb +207 -0
  482. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata.rb +63 -0
  483. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_cloud_storage.rb +145 -0
  484. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_cloud_storage_error_type.rb +34 -0
  485. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_local_file.rb +125 -0
  486. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_one_of_access_details.rb +125 -0
  487. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_one_of_access_details_aws_detail.rb +125 -0
  488. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_one_of_access_details_azure_detail.rb +145 -0
  489. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_one_of_access_details_gcp_detail.rb +135 -0
  490. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_schema.rb +148 -0
  491. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_schema_fields_items.rb +144 -0
  492. data/lib/datadog_api_client/v2/models/table_result_v2_data_type.rb +26 -0
  493. data/lib/datadog_api_client/v2/models/table_row_resource_array.rb +125 -0
  494. data/lib/datadog_api_client/v2/models/table_row_resource_data.rb +143 -0
  495. data/lib/datadog_api_client/v2/models/table_row_resource_data_attributes.rb +105 -0
  496. data/lib/datadog_api_client/v2/models/table_row_resource_data_type.rb +26 -0
  497. data/lib/datadog_api_client/v2/models/timeline_cell.rb +155 -0
  498. data/lib/datadog_api_client/v2/models/timeline_cell_author.rb +62 -0
  499. data/lib/datadog_api_client/v2/models/timeline_cell_author_user.rb +115 -0
  500. data/lib/datadog_api_client/v2/models/timeline_cell_author_user_content.rb +135 -0
  501. data/lib/datadog_api_client/v2/models/timeline_cell_author_user_type.rb +26 -0
  502. data/lib/datadog_api_client/v2/models/timeline_cell_content.rb +62 -0
  503. data/lib/datadog_api_client/v2/models/timeline_cell_content_comment.rb +105 -0
  504. data/lib/datadog_api_client/v2/models/timeline_cell_resource.rb +165 -0
  505. data/lib/datadog_api_client/v2/models/timeline_cell_resource_type.rb +26 -0
  506. data/lib/datadog_api_client/v2/models/timeline_cell_type.rb +26 -0
  507. data/lib/datadog_api_client/v2/models/timeline_response.rb +107 -0
  508. data/lib/datadog_api_client/v2/models/trigger.rb +1 -0
  509. data/lib/datadog_api_client/v2/models/uc_config_pair.rb +105 -0
  510. data/lib/datadog_api_client/v2/models/uc_config_pair_data.rb +143 -0
  511. data/lib/datadog_api_client/v2/models/uc_config_pair_data_attributes.rb +107 -0
  512. data/lib/datadog_api_client/v2/models/uc_config_pair_data_attributes_configs_items.rb +255 -0
  513. data/lib/datadog_api_client/v2/models/uc_config_pair_data_type.rb +26 -0
  514. data/lib/datadog_api_client/v2/models/update_ruleset_request.rb +105 -0
  515. data/lib/datadog_api_client/v2/models/update_ruleset_request_data.rb +143 -0
  516. data/lib/datadog_api_client/v2/models/update_ruleset_request_data_attributes.rb +156 -0
  517. data/lib/datadog_api_client/v2/models/update_ruleset_request_data_attributes_rules_items.rb +195 -0
  518. data/lib/datadog_api_client/v2/models/update_ruleset_request_data_attributes_rules_items_mapping.rb +167 -0
  519. data/lib/datadog_api_client/v2/models/update_ruleset_request_data_attributes_rules_items_query.rb +172 -0
  520. data/lib/datadog_api_client/v2/models/update_ruleset_request_data_attributes_rules_items_query_addition.rb +144 -0
  521. data/lib/datadog_api_client/v2/models/update_ruleset_request_data_attributes_rules_items_reference_table.rb +189 -0
  522. data/lib/datadog_api_client/v2/models/update_ruleset_request_data_attributes_rules_items_reference_table_field_pairs_items.rb +144 -0
  523. data/lib/datadog_api_client/v2/models/update_ruleset_request_data_type.rb +26 -0
  524. data/lib/datadog_api_client/v2/models/vulnerability_advisory.rb +143 -0
  525. data/lib/datadog_api_client/v2/models/vulnerability_attributes.rb +11 -1
  526. data/lib/datadog_api_client/version.rb +1 -1
  527. metadata +398 -4
  528. data/examples/v1/synthetics/SearchTests_195957771.rb +0 -14
@@ -275,6 +275,16 @@ def format_data_with_schema_list(
275
275
  return f"[\n{parameters}]"
276
276
 
277
277
 
278
+ def _is_valid_ruby_symbol(key):
279
+ """Check if a key can be used as a Ruby symbol without quotes."""
280
+ if not key:
281
+ return False
282
+ # Ruby symbols can start with letter or underscore, contain alphanumeric and underscores
283
+ if not (key[0].isalpha() or key[0] == '_'):
284
+ return False
285
+ return all(c.isalnum() or c == '_' for c in key)
286
+
287
+
278
288
  @format_data_with_schema.register(dict)
279
289
  def format_data_with_schema_dict(
280
290
  data,
@@ -318,7 +328,11 @@ def format_data_with_schema_dict(
318
328
  name_prefix=name_prefix,
319
329
  replace_values=replace_values,
320
330
  )
321
- parameters += f"{k}: {value}, "
331
+ # Use hash rocket syntax for keys with special characters
332
+ if _is_valid_ruby_symbol(k):
333
+ parameters += f"{k}: {value}, "
334
+ else:
335
+ parameters += f'"{k}" => {value}, '
322
336
  if not has_properties:
323
337
  name = None
324
338
 
@@ -36,11 +36,11 @@ module {{ module_name }}::{{ version|upper }}
36
36
  #
37
37
  {%- endif %}
38
38
  {%- for name, parameter in operation|parameters if parameter.required %}
39
- # @param {{ name|attribute_name }} [{{ get_type_for_parameter(parameter) }}] {{ parameter.get("description", "").replace('\n', ' ') }}
39
+ # @param {{ name|attribute_name }} [{{ get_type_for_parameter(parameter) }}] {{ (parameter.get("description") or "").replace('\n', ' ') }}
40
40
  {%- endfor %}
41
41
  # @param opts [Hash] the optional parameters
42
42
  {%- for name, parameter in operation|parameters if not parameter.required %}
43
- # @option opts [{{ get_type_for_parameter(parameter) }}] :{{ name|attribute_name }} {{ parameter.get("description", "").replace('\n', ' ') }}{% if "default" in parameter%} (default to {{ parameter.default|json }}) {% endif %}
43
+ # @option opts [{{ get_type_for_parameter(parameter) }}] :{{ name|attribute_name }} {{ (parameter.get("description") or "").replace('\n', ' ') }}{% if "default" in parameter%} (default to {{ parameter.default|json }}) {% endif %}
44
44
  {%- endfor %}
45
45
  # @return [Array<({% if returnType %}{{ returnType }}{% else %}nil{% endif %}, Integer, Hash)>] {% if returnType %}{{ returnType }} data{% else %}nil{% endif %}, response status code and response headers
46
46
  def {{ operation.operationId|snake_case }}_with_http_info({% for name, parameter in operation|parameters if parameter.required %}{{ name|attribute_name }}, {% endfor %}opts = {})
@@ -6,7 +6,7 @@ require 'date'
6
6
  require 'time'
7
7
 
8
8
  module {{ module_name }}::{{ version|upper }}
9
- # {{ model.description.rstrip()|replace('\n', '\n# ')|indent(2) }}
9
+ # {{ (model.description or "").rstrip()|replace('\n', '\n# ')|indent(2) }}
10
10
  {%- if model.deprecated %}
11
11
  #
12
12
  # @deprecated This model is deprecated.
@@ -16,7 +16,7 @@
16
16
  or
17
17
  definition.enum is defined #}
18
18
 
19
- {{ definition.description|block_comment|indent(4) }}
19
+ {{ (definition.description or "")|block_comment|indent(4) }}
20
20
  {%- if has_validation %}
21
21
  attr_reader :{{ attr|attribute_name }}
22
22
  {%- else %}
@@ -0,0 +1,69 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ def assert(condition, message = "Assertion failed")
4
+ raise message unless condition
5
+ print "."
6
+ end
7
+
8
+ def assert_equal(expected, actual, message = nil)
9
+ msg = message || "Expected #{expected.inspect}, got #{actual.inspect}"
10
+ raise msg unless expected == actual
11
+ print "."
12
+ end
13
+
14
+ def assert_includes(collection, item, message = nil)
15
+ msg = message || "Expected #{collection.inspect} to include #{item.inspect}"
16
+ raise msg unless collection.include?(item)
17
+ print "."
18
+ end
19
+
20
+ test_cases = [
21
+ ['valid_key', true],
22
+ ['_valid_key', true],
23
+ ['ValidKey123', true],
24
+ ['key123', true],
25
+ ['key.with.dots', false],
26
+ ['123invalid', false],
27
+ ['.starts_with_dot', false],
28
+ ['', false],
29
+ ['key-with-dash', false],
30
+ ['key with space', false],
31
+ ['key@special', false]
32
+ ]
33
+
34
+ test_cases.each do |key, expected|
35
+ begin
36
+ eval("{#{key}: 'value'}")
37
+ assert(expected, "Expected '#{key}' to fail but it succeeded")
38
+ rescue SyntaxError
39
+ assert(!expected, "Expected '#{key}' to succeed but it failed")
40
+ end
41
+ end
42
+
43
+ hash = {
44
+ "ocsf.activity_name" => 'Other',
45
+ "ocsf.activity_id" => '99'
46
+ }
47
+
48
+ assert(hash.is_a?(Hash))
49
+ assert_equal('Other', hash["ocsf.activity_name"])
50
+ assert_equal('99', hash["ocsf.activity_id"])
51
+ assert_includes(hash.inspect, '"ocsf.activity_name"=>"Other"')
52
+ assert_includes(hash.inspect, '"ocsf.activity_id"=>"99"')
53
+
54
+ hash = {
55
+ "ocsf.activity_name" => ['eventName']
56
+ }
57
+
58
+ assert(hash.is_a?(Hash))
59
+ assert_equal(['eventName'], hash["ocsf.activity_name"])
60
+ assert_includes(hash.inspect, '"ocsf.activity_name"=>["eventName"]')
61
+
62
+ hash = {
63
+ normal_key: 'value1',
64
+ another_key: 'value2'
65
+ }
66
+
67
+ assert(hash.is_a?(Hash))
68
+ assert_equal('value1', hash[:normal_key])
69
+ assert_equal('value2', hash[:another_key])
data/.github/CODEOWNERS CHANGED
@@ -6,7 +6,7 @@
6
6
  * @DataDog/web-frameworks-approvers @DataDog/web-frameworks
7
7
 
8
8
  # Documentation
9
- *.md @DataDog/documentation @DataDog/web-frameworks-approvers @DataDog/web-frameworks
10
- LICENSE @DataDog/documentation @DataDog/web-frameworks-approvers @DataDog/web-frameworks
11
- NOTICE @DataDog/documentation @DataDog/web-frameworks-approvers @DataDog/web-frameworks
12
- LICENSE-3rdparty.csv @DataDog/documentation @DataDog/web-frameworks-approvers @DataDog/web-frameworks
9
+ *.md @DataDog/web-frameworks-approvers @DataDog/web-frameworks
10
+ LICENSE @DataDog/web-frameworks-approvers @DataDog/web-frameworks
11
+ NOTICE @DataDog/web-frameworks-approvers @DataDog/web-frameworks
12
+ LICENSE-3rdparty.csv @DataDog/web-frameworks-approvers @DataDog/web-frameworks
@@ -0,0 +1,71 @@
1
+ name: Reusable Complete CI Workflow
2
+
3
+ on:
4
+ workflow_call:
5
+ inputs:
6
+ target-branch:
7
+ description: 'Branch to checkout and test (defaults to the calling branch)'
8
+ required: false
9
+ type: string
10
+ default: ''
11
+ cache-version:
12
+ description: 'Cache version for gem dependencies'
13
+ required: false
14
+ type: string
15
+ default: ''
16
+
17
+ secrets:
18
+ PIPELINE_GITHUB_APP_ID:
19
+ required: false
20
+ PIPELINE_GITHUB_APP_PRIVATE_KEY:
21
+ required: false
22
+ # Integration test secrets
23
+ DD_API_KEY:
24
+ required: false
25
+ DD_CLIENT_API_KEY:
26
+ required: false
27
+ DD_CLIENT_APP_KEY:
28
+ required: false
29
+ SLEEP_AFTER_REQUEST:
30
+ required: false
31
+
32
+ jobs:
33
+ pre-commit:
34
+ uses: ./.github/workflows/reusable-pre-commit.yml
35
+ with:
36
+ target-branch: ${{ inputs.target-branch }}
37
+ enable-commit-changes: false # Don't auto-commit in external CI
38
+ secrets:
39
+ PIPELINE_GITHUB_APP_ID: ${{ secrets.PIPELINE_GITHUB_APP_ID }}
40
+ PIPELINE_GITHUB_APP_PRIVATE_KEY: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }}
41
+
42
+ test:
43
+ uses: ./.github/workflows/reusable-ruby-test.yml
44
+ with:
45
+ target-branch: ${{ inputs.target-branch }}
46
+ cache-version: ${{ inputs.cache-version }}
47
+ secrets:
48
+ PIPELINE_GITHUB_APP_ID: ${{ secrets.PIPELINE_GITHUB_APP_ID }}
49
+ PIPELINE_GITHUB_APP_PRIVATE_KEY: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }}
50
+ DD_API_KEY: ${{ secrets.DD_API_KEY }}
51
+
52
+ examples:
53
+ uses: ./.github/workflows/reusable-examples.yml
54
+ with:
55
+ target-branch: ${{ inputs.target-branch }}
56
+ cache-version: ${{ inputs.cache-version }}
57
+
58
+ integration:
59
+ uses: ./.github/workflows/reusable-integration-test.yml
60
+ with:
61
+ target-branch: ${{ inputs.target-branch }}
62
+ cache-version: ${{ inputs.cache-version }}
63
+ has-integration-label: ${{ contains(github.event.pull_request.labels.*.name, 'ci/integrations') }}
64
+ secrets:
65
+ PIPELINE_GITHUB_APP_ID: ${{ secrets.PIPELINE_GITHUB_APP_ID }}
66
+ PIPELINE_GITHUB_APP_PRIVATE_KEY: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }}
67
+ DD_API_KEY: ${{ secrets.DD_API_KEY }}
68
+ DD_CLIENT_API_KEY: ${{ secrets.DD_CLIENT_API_KEY }}
69
+ DD_CLIENT_APP_KEY: ${{ secrets.DD_CLIENT_APP_KEY }}
70
+ SLEEP_AFTER_REQUEST: ${{ secrets.SLEEP_AFTER_REQUEST }}
71
+
@@ -0,0 +1,40 @@
1
+ name: Reusable Examples Workflow
2
+
3
+ on:
4
+ workflow_call:
5
+ inputs:
6
+ target-branch:
7
+ description: 'Branch to checkout and test (defaults to the calling branch)'
8
+ required: false
9
+ type: string
10
+ default: ''
11
+ examples-script:
12
+ description: 'Examples script to execute'
13
+ required: false
14
+ type: string
15
+ default: './check-examples.sh'
16
+ cache-version:
17
+ description: 'Cache version for gem dependencies'
18
+ required: false
19
+ type: string
20
+ default: ''
21
+
22
+ jobs:
23
+ examples:
24
+ runs-on: ubuntu-latest
25
+ env:
26
+ DD_PROFILING_NO_EXTENSION: true
27
+ steps:
28
+ - uses: actions/checkout@v3
29
+ with:
30
+ repository: DataDog/datadog-api-client-ruby
31
+ ref: ${{ inputs.target-branch || github.ref }}
32
+ - name: Set up Ruby
33
+ uses: ruby/setup-ruby@v1
34
+ with:
35
+ ruby-version: "2.7"
36
+ bundler-cache: true
37
+ cache-version: ${{ inputs.cache-version }}
38
+ - name: Check examples
39
+ run: ${{ inputs.examples-script }}
40
+ shell: bash
@@ -1,10 +1,12 @@
1
- name: Run Integration Tests
1
+ name: Reusable Integration Test Workflow
2
2
 
3
3
  permissions:
4
4
  contents: read
5
5
 
6
6
  on:
7
7
  pull_request:
8
+ branches:
9
+ - master
8
10
  types:
9
11
  - opened
10
12
  - reopened
@@ -12,13 +14,56 @@ on:
12
14
  - synchronize
13
15
  - labeled
14
16
  - unlabeled
15
- branches:
16
- - master
17
17
  schedule:
18
18
  - cron: "0 2 * * *"
19
+ workflow_call:
20
+ inputs:
21
+ target-branch:
22
+ description: 'Branch to checkout and test (defaults to the calling branch)'
23
+ required: false
24
+ type: string
25
+ default: ''
26
+ enable-status-reporting:
27
+ description: 'Whether to post status checks to datadog-api-spec repo'
28
+ required: false
29
+ type: boolean
30
+ default: false
31
+ status-context:
32
+ description: 'Context for status checks'
33
+ required: false
34
+ type: string
35
+ default: 'integration'
36
+ target-repo:
37
+ description: 'Repository to post status to'
38
+ required: false
39
+ type: string
40
+ default: 'datadog-api-spec'
41
+ cache-version:
42
+ description: 'Cache version for gem dependencies'
43
+ required: false
44
+ type: string
45
+ default: ''
46
+ has-integration-label:
47
+ description: 'Whether the calling PR has ci/integrations label'
48
+ required: false
49
+ type: boolean
50
+ default: false
51
+ secrets:
52
+ PIPELINE_GITHUB_APP_ID:
53
+ required: false
54
+ PIPELINE_GITHUB_APP_PRIVATE_KEY:
55
+ required: false
56
+ DD_API_KEY:
57
+ required: true
58
+ DD_CLIENT_API_KEY:
59
+ required: true
60
+ DD_CLIENT_APP_KEY:
61
+ required: true
62
+ SLEEP_AFTER_REQUEST:
63
+ required: false
19
64
 
20
65
  concurrency:
21
- group: integration-${{ github.head_ref }}
66
+ group: integration-ruby-${{ inputs.target-branch || github.head_ref }}
22
67
  cancel-in-progress: true
23
68
 
24
69
  jobs:
@@ -30,7 +75,8 @@ jobs:
30
75
  !contains(github.event.pull_request.labels.*.name, 'ci/skip') &&
31
76
  !contains(github.event.pull_request.head.ref, 'datadog-api-spec/test/') &&
32
77
  contains(github.event.pull_request.labels.*.name, 'ci/integrations')) ||
33
- github.event_name == 'schedule'
78
+ github.event_name == 'schedule' ||
79
+ (github.event_name == 'workflow_call' && inputs.has-integration-label)
34
80
  services:
35
81
  datadog-agent:
36
82
  image: gcr.io/datadoghq/agent:latest
@@ -48,17 +94,20 @@ jobs:
48
94
  with:
49
95
  app-id: ${{ secrets.PIPELINE_GITHUB_APP_ID }}
50
96
  private-key: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }}
51
- repositories: datadog-api-spec
97
+ repositories: ${{ inputs.target-repo || 'datadog-api-spec' }}
52
98
  - name: Checkout code
53
99
  uses: actions/checkout@v3
100
+ with:
101
+ repository: DataDog/datadog-api-client-ruby
102
+ ref: ${{ inputs.target-branch || github.ref }}
54
103
  - name: Post pending status check
55
- if: github.event_name == 'pull_request' && contains(github.event.pull_request.head.ref, 'datadog-api-spec/generated/')
104
+ if: github.event_name == 'pull_request' && contains(github.event.pull_request.head.ref, 'datadog-api-spec/generated/') && (inputs.enable-status-reporting || github.event_name != 'workflow_call')
56
105
  uses: DataDog/github-actions/post-status-check@v2
57
106
  with:
58
107
  github-token: ${{ steps.get_token.outputs.token }}
59
- repo: datadog-api-spec
108
+ repo: ${{ inputs.target-repo || 'datadog-api-spec' }}
60
109
  status: pending
61
- context: integration
110
+ context: ${{ inputs.status-context || 'integration' }}
62
111
  - name: Install system zstd
63
112
  run: |
64
113
  sudo apt-get -y install zstd
@@ -68,7 +117,7 @@ jobs:
68
117
  with:
69
118
  ruby-version: "3.2"
70
119
  bundler-cache: true
71
- cache-version: ${{ secrets.CACHE_VERSION }}
120
+ cache-version: ${{ inputs.cache-version }}
72
121
  - name: Install deps
73
122
  run: bundle install
74
123
  - name: Run integration tests
@@ -84,20 +133,20 @@ jobs:
84
133
  DD_TEST_CLIENT_APP_KEY: ${{ secrets.DD_CLIENT_APP_KEY }}
85
134
  DD_TRACE_ANALYTICS_ENABLED: "true"
86
135
  RECORD: "none"
87
- SLEEP_AFTER_REQUEST: "${{ vars.SLEEP_AFTER_REQUEST }}"
136
+ SLEEP_AFTER_REQUEST: ${{ secrets.SLEEP_AFTER_REQUEST || vars.SLEEP_AFTER_REQUEST }}
88
137
  - name: Post failure status check
89
- if: failure() && github.event_name == 'pull_request' && contains(github.event.pull_request.head.ref, 'datadog-api-spec/generated/')
138
+ if: failure() && github.event_name == 'pull_request' && contains(github.event.pull_request.head.ref, 'datadog-api-spec/generated/') && (inputs.enable-status-reporting || github.event_name != 'workflow_call')
90
139
  uses: DataDog/github-actions/post-status-check@v2
91
140
  with:
92
141
  github-token: ${{ steps.get_token.outputs.token }}
93
- repo: datadog-api-spec
142
+ repo: ${{ inputs.target-repo || 'datadog-api-spec' }}
94
143
  status: failure
95
- context: integration
144
+ context: ${{ inputs.status-context || 'integration' }}
96
145
  - name: Post success status check
97
- if: "!failure() && github.event_name == 'pull_request' && contains(github.event.pull_request.head.ref, 'datadog-api-spec/generated/')"
146
+ if: "!failure() && github.event_name == 'pull_request' && contains(github.event.pull_request.head.ref, 'datadog-api-spec/generated/') && (inputs.enable-status-reporting || github.event_name != 'workflow_call')"
98
147
  uses: DataDog/github-actions/post-status-check@v2
99
148
  with:
100
149
  github-token: ${{ steps.get_token.outputs.token }}
101
- repo: datadog-api-spec
150
+ repo: ${{ inputs.target-repo || 'datadog-api-spec' }}
102
151
  status: success
103
- context: integration
152
+ context: ${{ inputs.status-context || 'integration' }}
@@ -0,0 +1,84 @@
1
+ name: Reusable Pre-commit Workflow
2
+
3
+ on:
4
+ workflow_call:
5
+ inputs:
6
+ target-branch:
7
+ description: 'Branch to checkout and test (defaults to the calling branch)'
8
+ required: false
9
+ type: string
10
+ default: ''
11
+ enable-commit-changes:
12
+ description: 'Whether to commit and push pre-commit fixes'
13
+ required: false
14
+ type: boolean
15
+ default: true
16
+ secrets:
17
+ PIPELINE_GITHUB_APP_ID:
18
+ required: false
19
+ PIPELINE_GITHUB_APP_PRIVATE_KEY:
20
+ required: false
21
+
22
+ env:
23
+ GIT_AUTHOR_EMAIL: "packages@datadoghq.com"
24
+ GIT_AUTHOR_NAME: "ci.datadog-api-spec"
25
+
26
+ jobs:
27
+ pre-commit:
28
+ runs-on: ubuntu-latest
29
+ steps:
30
+ - name: Get GitHub App token
31
+ id: get_token
32
+ if: inputs.enable-commit-changes
33
+ uses: actions/create-github-app-token@v1
34
+ with:
35
+ app-id: ${{ secrets.PIPELINE_GITHUB_APP_ID }}
36
+ private-key: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }}
37
+ - uses: actions/checkout@v3
38
+ with:
39
+ fetch-depth: 0
40
+ repository: DataDog/datadog-api-client-ruby
41
+ ref: ${{ inputs.target-branch || github.event.pull_request.head.sha || github.ref }}
42
+ token: ${{ inputs.enable-commit-changes && steps.get_token.outputs.token || github.token }}
43
+ - uses: actions/setup-python@v4
44
+ with:
45
+ python-version: '3.11'
46
+ - name: Install pre-commit
47
+ run: python -m pip install pre-commit
48
+ - name: set PY
49
+ run: echo "PY=$(python -c 'import platform;print(platform.python_version())')" >> $GITHUB_ENV
50
+ - uses: actions/cache@v3
51
+ with:
52
+ path: ~/.cache/pre-commit
53
+ key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }}
54
+ - name: Determine pre-commit range
55
+ id: commit_range
56
+ run: |
57
+ FROM_REF=$(git merge-base HEAD origin/master)
58
+ echo "from_ref=$FROM_REF" >> $GITHUB_OUTPUT
59
+ echo "to_ref=HEAD" >> $GITHUB_OUTPUT
60
+ echo "Pre-commit will check from $FROM_REF to HEAD"
61
+ - id: pre_commit
62
+ name: Run pre-commit
63
+ if: github.event.action != 'closed' && github.event.pull_request.merged != true
64
+ run: |
65
+ pre-commit run --from-ref "${FROM_REF}" --to-ref "${TO_REF}" --show-diff-on-failure --color=always
66
+ env:
67
+ FROM_REF: ${{ steps.commit_range.outputs.from_ref }}
68
+ TO_REF: ${{ steps.commit_range.outputs.to_ref }}
69
+ - name: Commit changes
70
+ if: ${{ failure() && inputs.enable-commit-changes }}
71
+ run: |-
72
+ git add -A
73
+ git config user.name "${GIT_AUTHOR_NAME}"
74
+ git config user.email "${GIT_AUTHOR_EMAIL}"
75
+ git commit -m "pre-commit fixes"
76
+ git push origin "HEAD:${HEAD_REF}"
77
+ exit 1
78
+ env:
79
+ HEAD_REF: ${{ github.event.pull_request.head.ref }}
80
+ - id: pre_commit_schedule
81
+ name: Run pre-commit in schedule
82
+ if: github.event_name == 'schedule'
83
+ run: |
84
+ pre-commit run --all-files --show-diff-on-failure --color=always
@@ -0,0 +1,65 @@
1
+ name: Reusable Ruby Testing Workflow
2
+
3
+ on:
4
+ workflow_call:
5
+ inputs:
6
+ target-branch:
7
+ description: 'Branch to checkout and test (defaults to the calling branch)'
8
+ required: false
9
+ type: string
10
+ default: ''
11
+ ruby-versions:
12
+ description: 'JSON array of Ruby versions to test against'
13
+ required: false
14
+ type: string
15
+ default: '["2.7", "3.2", "jruby-9.4.12.0"]'
16
+ platforms:
17
+ description: 'JSON array of platforms to run tests on'
18
+ required: false
19
+ type: string
20
+ default: '["ubuntu-latest"]'
21
+ test-script:
22
+ description: 'Test script to execute'
23
+ required: false
24
+ type: string
25
+ default: './run-tests.sh'
26
+ cache-version:
27
+ description: 'Cache version for gem dependencies'
28
+ required: false
29
+ type: string
30
+ default: ''
31
+ secrets:
32
+ PIPELINE_GITHUB_APP_ID:
33
+ required: false
34
+ PIPELINE_GITHUB_APP_PRIVATE_KEY:
35
+ required: false
36
+ DD_API_KEY:
37
+ required: false
38
+
39
+ jobs:
40
+ test:
41
+ strategy:
42
+ matrix:
43
+ ruby-version: ${{ fromJSON(inputs.ruby-versions) }}
44
+ platform: ${{ fromJSON(inputs.platforms) }}
45
+ runs-on: ${{ matrix.platform }}
46
+ env:
47
+ BUNDLE_WITHOUT: docs
48
+ DD_PROFILING_NO_EXTENSION: true
49
+ DD_CIVISIBILITY_AGENTLESS_ENABLED: true
50
+ DD_ENV: prod
51
+ DD_API_KEY: ${{ secrets.DD_API_KEY }}
52
+ steps:
53
+ - uses: actions/checkout@v3
54
+ with:
55
+ repository: DataDog/datadog-api-client-ruby
56
+ ref: ${{ inputs.target-branch || github.ref }}
57
+ - name: Set up Ruby ${{ matrix.ruby-version }}
58
+ uses: ruby/setup-ruby@v1
59
+ with:
60
+ ruby-version: ${{ matrix.ruby-version }}
61
+ bundler-cache: true
62
+ cache-version: ${{ inputs.cache-version }}
63
+ - name: Test
64
+ run: ${{ inputs.test-script }}
65
+ shell: bash