datadog_api_client 2.55.0 → 2.56.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 (298) hide show
  1. checksums.yaml +4 -4
  2. data/.generator/schemas/v1/openapi.yaml +186 -0
  3. data/.generator/schemas/v2/openapi.yaml +6914 -290
  4. data/CHANGELOG.md +35 -0
  5. data/examples/v1/logs-pipelines/CreateLogsPipeline_104735144.rb +32 -0
  6. data/examples/v1/logs-pipelines/CreateLogsPipeline_1185292896.rb +42 -0
  7. data/examples/v1/logs-pipelines/CreateLogsPipeline_2402034476.rb +29 -0
  8. data/examples/v1/logs-pipelines/CreateLogsPipeline_3996915493.rb +38 -0
  9. data/examples/v1/monitors/CreateMonitor_1539578087.rb +1 -0
  10. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_129899466.rb +1 -1
  11. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_4007074677.rb +23 -0
  12. data/examples/v2/cloud-cost-management/DeleteCustomForecast.rb +8 -0
  13. data/examples/v2/cloud-cost-management/UpsertBudget.rb +14 -0
  14. data/examples/v2/cloud-cost-management/UpsertCustomForecast.rb +30 -0
  15. data/examples/v2/code-coverage/GetCodeCoverageBranchSummary.rb +1 -0
  16. data/examples/v2/code-coverage/GetCodeCoverageCommitSummary.rb +1 -0
  17. data/examples/v2/feature-flags/CreateVariantForFeatureFlag.rb +11 -0
  18. data/examples/v2/feature-flags/DeleteVariantFromFeatureFlag.rb +5 -0
  19. data/examples/v2/feature-flags/UpdateVariantForFeatureFlag.rb +10 -0
  20. data/examples/v2/governance-controls/GetGovernanceControl.rb +8 -0
  21. data/examples/v2/governance-controls/ListGovernanceControls.rb +8 -0
  22. data/examples/v2/governance-controls/UpdateGovernanceControl.rb +22 -0
  23. data/examples/v2/governance-insights/ListGovernanceInsights.rb +8 -0
  24. data/examples/v2/metrics/CreateTagIndexingRule.rb +3 -0
  25. data/examples/v2/metrics/CreateTagIndexingRuleExemption.rb +3 -0
  26. data/examples/v2/metrics/DeleteTagIndexingRule.rb +3 -0
  27. data/examples/v2/metrics/DeleteTagIndexingRuleExemption.rb +3 -0
  28. data/examples/v2/metrics/GetTagIndexingRule.rb +3 -0
  29. data/examples/v2/metrics/GetTagIndexingRuleExemption.rb +3 -0
  30. data/examples/v2/metrics/ListTagIndexingRules.rb +3 -0
  31. data/examples/v2/metrics/ListTagIndexingRulesForMetric.rb +3 -0
  32. data/examples/v2/metrics/ReorderTagIndexingRules.rb +3 -0
  33. data/examples/v2/metrics/UpdateTagIndexingRule.rb +3 -0
  34. data/examples/v2/observability-pipelines/ValidatePipeline_1238441879.rb +61 -0
  35. data/examples/v2/observability-pipelines/ValidatePipeline_253109967.rb +83 -0
  36. data/examples/v2/observability-pipelines/ValidatePipeline_337125830.rb +56 -0
  37. data/examples/v2/observability-pipelines/ValidatePipeline_620504950.rb +66 -0
  38. data/examples/v2/report-schedules/CreateReportSchedule.rb +1 -1
  39. data/examples/v2/report-schedules/DeleteReportSchedule.rb +5 -0
  40. data/examples/v2/report-schedules/GetReportSchedule.rb +5 -0
  41. data/examples/v2/report-schedules/GetReportSchedulesForResource.rb +5 -0
  42. data/examples/v2/report-schedules/ListReportSchedules.rb +5 -0
  43. data/examples/v2/report-schedules/PatchReportSchedule.rb +1 -1
  44. data/examples/v2/report-schedules/ToggleReportSchedule.rb +14 -0
  45. data/examples/v2/rum-remote-config/GetRumSdkConfig.rb +8 -0
  46. data/examples/v2/rum-remote-config/UpdateRumSdkConfig.rb +94 -0
  47. data/examples/v2/security-monitoring/CreateSecurityFindingsAutomationDueDateRule.rb +33 -0
  48. data/examples/v2/security-monitoring/CreateSecurityFindingsAutomationMuteRule.rb +27 -0
  49. data/examples/v2/security-monitoring/CreateSecurityFindingsAutomationTicketCreationRule.rb +29 -0
  50. data/examples/v2/security-monitoring/DeleteSecurityFindingsAutomationDueDateRule.rb +11 -0
  51. data/examples/v2/security-monitoring/DeleteSecurityFindingsAutomationMuteRule.rb +11 -0
  52. data/examples/v2/security-monitoring/DeleteSecurityFindingsAutomationTicketCreationRule.rb +11 -0
  53. data/examples/v2/security-monitoring/GetSecurityFindingsAutomationDueDateRule.rb +11 -0
  54. data/examples/v2/security-monitoring/GetSecurityFindingsAutomationMuteRule.rb +11 -0
  55. data/examples/v2/security-monitoring/GetSecurityFindingsAutomationTicketCreationRule.rb +11 -0
  56. data/examples/v2/security-monitoring/ImportSecurityVulnerabilities.rb +77 -0
  57. data/examples/v2/security-monitoring/ListSecurityFindingsAutomationDueDateRules.rb +8 -0
  58. data/examples/v2/security-monitoring/ListSecurityFindingsAutomationMuteRules.rb +8 -0
  59. data/examples/v2/security-monitoring/ListSecurityFindingsAutomationTicketCreationRules.rb +8 -0
  60. data/examples/v2/security-monitoring/ReorderSecurityFindingsAutomationDueDateRules.rb +20 -0
  61. data/examples/v2/security-monitoring/ReorderSecurityFindingsAutomationMuteRules.rb +20 -0
  62. data/examples/v2/security-monitoring/ReorderSecurityFindingsAutomationTicketCreationRules.rb +20 -0
  63. data/examples/v2/security-monitoring/UpdateSecurityFindingsAutomationDueDateRule.rb +36 -0
  64. data/examples/v2/security-monitoring/UpdateSecurityFindingsAutomationMuteRule.rb +30 -0
  65. data/examples/v2/security-monitoring/UpdateSecurityFindingsAutomationTicketCreationRule.rb +32 -0
  66. data/examples/v2/status-pages/EditDegradationUpdate.rb +16 -0
  67. data/examples/v2/status-pages/SoftDeleteDegradationUpdate.rb +5 -0
  68. data/examples/v2/test-optimization/UpdateTestOptimizationServiceSettings.rb +7 -2
  69. data/examples/v2/workflow-automation/CreateWorkflow.rb +1 -1
  70. data/examples/v2/workflow-automation/UpdateWorkflow.rb +1 -1
  71. data/lib/datadog_api_client/configuration.rb +39 -1
  72. data/lib/datadog_api_client/inflector.rb +190 -0
  73. data/lib/datadog_api_client/v1/models/logs_array_map_arithmetic_sub_processor.rb +186 -0
  74. data/lib/datadog_api_client/v1/models/logs_array_map_attribute_remapper.rb +211 -0
  75. data/lib/datadog_api_client/v1/models/logs_array_map_category_sub_processor.rb +178 -0
  76. data/lib/datadog_api_client/v1/models/logs_array_map_processor.rb +228 -0
  77. data/lib/datadog_api_client/v1/models/logs_array_map_processor_type.rb +26 -0
  78. data/lib/datadog_api_client/v1/models/logs_array_map_string_builder_sub_processor.rb +186 -0
  79. data/lib/datadog_api_client/v1/models/logs_array_map_sub_processor.rb +67 -0
  80. data/lib/datadog_api_client/v1/models/logs_processor.rb +2 -1
  81. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +154 -1
  82. data/lib/datadog_api_client/v2/api/compliance_api.rb +5 -0
  83. data/lib/datadog_api_client/v2/api/feature_flags_api.rb +229 -0
  84. data/lib/datadog_api_client/v2/api/governance_controls_api.rb +246 -0
  85. data/lib/datadog_api_client/v2/api/governance_insights_api.rb +101 -0
  86. data/lib/datadog_api_client/v2/api/metrics_api.rb +67 -1
  87. data/lib/datadog_api_client/v2/api/report_schedules_api.rb +362 -0
  88. data/lib/datadog_api_client/v2/api/rum_remote_config_api.rb +176 -0
  89. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +1544 -119
  90. data/lib/datadog_api_client/v2/api/status_pages_api.rb +159 -0
  91. data/lib/datadog_api_client/v2/api/test_optimization_api.rb +3 -1
  92. data/lib/datadog_api_client/v2/models/automation_rule_actor_type.rb +27 -0
  93. data/lib/datadog_api_client/v2/models/automation_rule_created_by.rb +165 -0
  94. data/lib/datadog_api_client/v2/models/automation_rule_modified_by.rb +165 -0
  95. data/lib/datadog_api_client/v2/models/automation_rule_scope.rb +150 -0
  96. data/lib/datadog_api_client/v2/models/branch_coverage_summary_request_attributes.rb +27 -10
  97. data/lib/datadog_api_client/v2/models/budget_attributes.rb +41 -1
  98. data/lib/datadog_api_client/v2/models/budget_attributes_costs.rb +146 -0
  99. data/lib/datadog_api_client/v2/models/budget_attributes_costs_unit.rb +155 -0
  100. data/lib/datadog_api_client/v2/models/budget_with_entries_data_attributes_entries_items.rb +11 -1
  101. data/lib/datadog_api_client/v2/models/budget_with_entries_data_attributes_entries_items_costs.rb +157 -0
  102. data/lib/datadog_api_client/v2/models/ci_app_pipeline_event_finished_job.rb +427 -0
  103. data/lib/datadog_api_client/v2/models/ci_app_pipeline_event_in_progress_job.rb +406 -0
  104. data/lib/datadog_api_client/v2/models/ci_app_pipeline_event_job.rb +36 -399
  105. data/lib/datadog_api_client/v2/models/ci_app_pipeline_event_job_in_progress_status.rb +26 -0
  106. data/lib/datadog_api_client/v2/models/commit_coverage_summary_request_attributes.rb +27 -10
  107. data/lib/datadog_api_client/v2/models/create_backfilled_maintenance_request_data_attributes_updates_items.rb +1 -12
  108. data/lib/datadog_api_client/v2/models/create_maintenance_request_data_attributes.rb +1 -12
  109. data/lib/datadog_api_client/v2/models/create_status_page_request_data_attributes.rb +31 -1
  110. data/lib/datadog_api_client/v2/models/custom_forecast_entry.rb +167 -0
  111. data/lib/datadog_api_client/v2/models/custom_forecast_entry_tag_filter.rb +144 -0
  112. data/lib/datadog_api_client/v2/models/custom_forecast_response.rb +123 -0
  113. data/lib/datadog_api_client/v2/models/custom_forecast_response_data.rb +165 -0
  114. data/lib/datadog_api_client/v2/models/custom_forecast_response_data_attributes.rb +230 -0
  115. data/lib/datadog_api_client/v2/models/custom_forecast_type.rb +26 -0
  116. data/lib/datadog_api_client/v2/models/custom_forecast_upsert_request.rb +123 -0
  117. data/lib/datadog_api_client/v2/models/custom_forecast_upsert_request_data.rb +154 -0
  118. data/lib/datadog_api_client/v2/models/custom_forecast_upsert_request_data_attributes.rb +147 -0
  119. data/lib/datadog_api_client/v2/models/cyclone_dx_bom.rb +221 -0
  120. data/lib/datadog_api_client/v2/models/cyclone_dx_component.rb +196 -0
  121. data/lib/datadog_api_client/v2/models/cyclone_dx_component_type.rb +28 -0
  122. data/lib/datadog_api_client/v2/models/cyclone_dx_metadata.rb +144 -0
  123. data/lib/datadog_api_client/v2/models/cyclone_dx_metadata_component.rb +143 -0
  124. data/lib/datadog_api_client/v2/models/cyclone_dx_metadata_tools.rb +125 -0
  125. data/lib/datadog_api_client/v2/models/cyclone_dx_tool_component.rb +133 -0
  126. data/lib/datadog_api_client/v2/models/cyclone_dx_vulnerability.rb +237 -0
  127. data/lib/datadog_api_client/v2/models/cyclone_dx_vulnerability_advisory.rb +105 -0
  128. data/lib/datadog_api_client/v2/models/cyclone_dx_vulnerability_affects.rb +123 -0
  129. data/lib/datadog_api_client/v2/models/cyclone_dx_vulnerability_analysis.rb +107 -0
  130. data/lib/datadog_api_client/v2/models/cyclone_dx_vulnerability_rating.rb +125 -0
  131. data/lib/datadog_api_client/v2/models/cyclone_dx_vulnerability_reference.rb +115 -0
  132. data/lib/datadog_api_client/v2/models/cyclone_dx_vulnerability_reference_source.rb +105 -0
  133. data/lib/datadog_api_client/v2/models/degradation_data_attributes_updates_items.rb +21 -1
  134. data/lib/datadog_api_client/v2/models/degradation_update.rb +117 -0
  135. data/lib/datadog_api_client/v2/models/degradation_update_data.rb +153 -0
  136. data/lib/datadog_api_client/v2/models/degradation_update_data_attributes.rb +167 -0
  137. data/lib/datadog_api_client/v2/models/degradation_update_data_attributes_components_affected_items.rb +154 -0
  138. data/lib/datadog_api_client/v2/models/degradation_update_data_relationships.rb +145 -0
  139. data/lib/datadog_api_client/v2/models/degradation_update_data_relationships_degradation.rb +123 -0
  140. data/lib/datadog_api_client/v2/models/degradation_update_data_relationships_degradation_data.rb +144 -0
  141. data/lib/datadog_api_client/v2/models/degradation_update_data_relationships_status_page.rb +123 -0
  142. data/lib/datadog_api_client/v2/models/degradation_update_data_relationships_status_page_data.rb +144 -0
  143. data/lib/datadog_api_client/v2/models/degradation_update_data_relationships_user.rb +123 -0
  144. data/lib/datadog_api_client/v2/models/degradation_update_data_relationships_user_data.rb +144 -0
  145. data/lib/datadog_api_client/v2/models/degradation_update_included.rb +64 -0
  146. data/lib/datadog_api_client/v2/models/due_date_from.rb +27 -0
  147. data/lib/datadog_api_client/v2/models/due_date_per_severity_item.rb +152 -0
  148. data/lib/datadog_api_client/v2/models/due_date_rule_action.rb +167 -0
  149. data/lib/datadog_api_client/v2/models/due_date_rule_attributes_create.rb +183 -0
  150. data/lib/datadog_api_client/v2/models/due_date_rule_attributes_response.rb +278 -0
  151. data/lib/datadog_api_client/v2/models/due_date_rule_create_request.rb +123 -0
  152. data/lib/datadog_api_client/v2/models/due_date_rule_data_create.rb +144 -0
  153. data/lib/datadog_api_client/v2/models/due_date_rule_data_response.rb +165 -0
  154. data/lib/datadog_api_client/v2/models/due_date_rule_reorder_item.rb +144 -0
  155. data/lib/datadog_api_client/v2/models/due_date_rule_reorder_request.rb +125 -0
  156. data/lib/datadog_api_client/v2/models/due_date_rule_response.rb +123 -0
  157. data/lib/datadog_api_client/v2/models/due_date_rule_type.rb +26 -0
  158. data/lib/datadog_api_client/v2/models/due_date_rule_update_request.rb +123 -0
  159. data/lib/datadog_api_client/v2/models/due_date_rules_response.rb +167 -0
  160. data/lib/datadog_api_client/v2/models/due_date_severity.rb +32 -0
  161. data/lib/datadog_api_client/v2/models/governance_best_practice_definition.rb +379 -0
  162. data/lib/datadog_api_client/v2/models/governance_control_attributes.rb +739 -0
  163. data/lib/datadog_api_client/v2/models/governance_control_data.rb +165 -0
  164. data/lib/datadog_api_client/v2/models/governance_control_mitigation_definition.rb +309 -0
  165. data/lib/datadog_api_client/v2/models/governance_control_parameter_definition.rb +272 -0
  166. data/lib/datadog_api_client/v2/models/governance_control_resource_type.rb +26 -0
  167. data/lib/datadog_api_client/v2/models/governance_control_response.rb +123 -0
  168. data/lib/datadog_api_client/v2/models/governance_control_supported_value.rb +144 -0
  169. data/lib/datadog_api_client/v2/models/governance_control_update_attributes.rb +175 -0
  170. data/lib/datadog_api_client/v2/models/governance_control_update_data.rb +143 -0
  171. data/lib/datadog_api_client/v2/models/governance_control_update_request.rb +123 -0
  172. data/lib/datadog_api_client/v2/models/governance_controls_response.rb +125 -0
  173. data/lib/datadog_api_client/v2/models/governance_insight_attributes.rb +448 -0
  174. data/lib/datadog_api_client/v2/models/governance_insight_audit_compute.rb +175 -0
  175. data/lib/datadog_api_client/v2/models/governance_insight_audit_query.rb +188 -0
  176. data/lib/datadog_api_client/v2/models/governance_insight_data.rb +165 -0
  177. data/lib/datadog_api_client/v2/models/governance_insight_event_compute.rb +144 -0
  178. data/lib/datadog_api_client/v2/models/governance_insight_event_query.rb +156 -0
  179. data/lib/datadog_api_client/v2/models/governance_insight_metric_query.rb +165 -0
  180. data/lib/datadog_api_client/v2/models/governance_insight_percentage_query.rb +144 -0
  181. data/lib/datadog_api_client/v2/models/governance_insight_query_config.rb +175 -0
  182. data/lib/datadog_api_client/v2/models/governance_insight_resource_type.rb +26 -0
  183. data/lib/datadog_api_client/v2/models/governance_insight_usage_query.rb +144 -0
  184. data/lib/datadog_api_client/v2/models/governance_insights_response.rb +125 -0
  185. data/lib/datadog_api_client/v2/models/metric.rb +12 -2
  186. data/lib/datadog_api_client/v2/models/metric_ingested_indexed_volume_attributes.rb +2 -2
  187. data/lib/datadog_api_client/v2/models/metric_relationships.rb +105 -0
  188. data/lib/datadog_api_client/v2/models/metric_tag_configuration.rb +11 -1
  189. data/lib/datadog_api_client/v2/models/metric_volumes_relationship.rb +105 -0
  190. data/lib/datadog_api_client/v2/models/metric_volumes_relationship_data.rb +115 -0
  191. data/lib/datadog_api_client/v2/models/metrics_and_metric_tag_configurations_response.rb +13 -1
  192. data/lib/datadog_api_client/v2/models/mute_reason.rb +31 -0
  193. data/lib/datadog_api_client/v2/models/mute_rule_action.rb +154 -0
  194. data/lib/datadog_api_client/v2/models/mute_rule_attributes_create.rb +183 -0
  195. data/lib/datadog_api_client/v2/models/mute_rule_attributes_response.rb +278 -0
  196. data/lib/datadog_api_client/v2/models/mute_rule_create_request.rb +123 -0
  197. data/lib/datadog_api_client/v2/models/mute_rule_data_create.rb +144 -0
  198. data/lib/datadog_api_client/v2/models/mute_rule_data_response.rb +165 -0
  199. data/lib/datadog_api_client/v2/models/mute_rule_reorder_item.rb +144 -0
  200. data/lib/datadog_api_client/v2/models/mute_rule_reorder_request.rb +125 -0
  201. data/lib/datadog_api_client/v2/models/mute_rule_response.rb +123 -0
  202. data/lib/datadog_api_client/v2/models/mute_rule_type.rb +26 -0
  203. data/lib/datadog_api_client/v2/models/mute_rule_update_request.rb +123 -0
  204. data/lib/datadog_api_client/v2/models/mute_rules_response.rb +167 -0
  205. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination.rb +318 -0
  206. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination_auth.rb +144 -0
  207. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination_auth_strategy.rb +26 -0
  208. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination_batch.rb +148 -0
  209. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination_batch_encoding.rb +135 -0
  210. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination_batch_encoding_codec.rb +26 -0
  211. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination_compression.rb +65 -0
  212. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination_compression_algorithm.rb +27 -0
  213. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination_compression_object.rb +149 -0
  214. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination_format.rb +33 -0
  215. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination_type.rb +26 -0
  216. data/lib/datadog_api_client/v2/models/observability_pipeline_cloud_prem_destination.rb +11 -1
  217. data/lib/datadog_api_client/v2/models/observability_pipeline_config_destination_item.rb +1 -0
  218. data/lib/datadog_api_client/v2/models/observability_pipeline_config_source_item.rb +1 -0
  219. data/lib/datadog_api_client/v2/models/observability_pipeline_websocket_source.rb +248 -0
  220. data/lib/datadog_api_client/v2/models/observability_pipeline_websocket_source_auth_strategy.rb +29 -0
  221. data/lib/datadog_api_client/v2/models/observability_pipeline_websocket_source_tls.rb +63 -0
  222. data/lib/datadog_api_client/v2/models/observability_pipeline_websocket_source_tls_enabled.rb +123 -0
  223. data/lib/datadog_api_client/v2/models/observability_pipeline_websocket_source_tls_enabled_mode.rb +26 -0
  224. data/lib/datadog_api_client/v2/models/observability_pipeline_websocket_source_tls_with_client_cert.rb +174 -0
  225. data/lib/datadog_api_client/v2/models/observability_pipeline_websocket_source_tls_with_client_cert_mode.rb +26 -0
  226. data/lib/datadog_api_client/v2/models/observability_pipeline_websocket_source_type.rb +26 -0
  227. data/lib/datadog_api_client/v2/models/patch_degradation_update_request.rb +105 -0
  228. data/lib/datadog_api_client/v2/models/patch_degradation_update_request_data.rb +143 -0
  229. data/lib/datadog_api_client/v2/models/patch_degradation_update_request_data_attributes.rb +115 -0
  230. data/lib/datadog_api_client/v2/models/patch_degradation_update_request_data_attributes_status.rb +28 -0
  231. data/lib/datadog_api_client/v2/models/patch_degradation_update_request_data_type.rb +26 -0
  232. data/lib/datadog_api_client/v2/models/patch_status_page_request_data_attributes.rb +21 -1
  233. data/lib/datadog_api_client/v2/models/report_schedule_included_resource.rb +2 -1
  234. data/lib/datadog_api_client/v2/models/report_schedule_included_resource_type.rb +26 -0
  235. data/lib/datadog_api_client/v2/models/report_schedule_index_template_variable.rb +150 -0
  236. data/lib/datadog_api_client/v2/models/report_schedule_list_resource_relationship.rb +123 -0
  237. data/lib/datadog_api_client/v2/models/report_schedule_list_resource_relationship_data.rb +144 -0
  238. data/lib/datadog_api_client/v2/models/report_schedule_list_response.rb +157 -0
  239. data/lib/datadog_api_client/v2/models/report_schedule_list_response_attributes.rb +335 -0
  240. data/lib/datadog_api_client/v2/models/report_schedule_list_response_data.rb +186 -0
  241. data/lib/datadog_api_client/v2/models/report_schedule_list_response_links.rb +157 -0
  242. data/lib/datadog_api_client/v2/models/report_schedule_list_response_meta.rb +105 -0
  243. data/lib/datadog_api_client/v2/models/report_schedule_list_response_pagination.rb +183 -0
  244. data/lib/datadog_api_client/v2/models/report_schedule_list_response_pagination_type.rb +26 -0
  245. data/lib/datadog_api_client/v2/models/report_schedule_list_response_relationships.rb +133 -0
  246. data/lib/datadog_api_client/v2/models/report_schedule_resource.rb +165 -0
  247. data/lib/datadog_api_client/v2/models/report_schedule_resource_attributes.rb +154 -0
  248. data/lib/datadog_api_client/v2/models/report_schedule_toggle_request.rb +123 -0
  249. data/lib/datadog_api_client/v2/models/report_schedule_toggle_request_attributes.rb +123 -0
  250. data/lib/datadog_api_client/v2/models/report_schedule_toggle_request_data.rb +144 -0
  251. data/lib/datadog_api_client/v2/models/rum_application_attributes.rb +11 -1
  252. data/lib/datadog_api_client/v2/models/rum_sdk_config_attributes.rb +123 -0
  253. data/lib/datadog_api_client/v2/models/rum_sdk_config_data.rb +175 -0
  254. data/lib/datadog_api_client/v2/models/rum_sdk_config_dynamic_option.rb +204 -0
  255. data/lib/datadog_api_client/v2/models/rum_sdk_config_dynamic_option_pair.rb +144 -0
  256. data/lib/datadog_api_client/v2/models/rum_sdk_config_dynamic_option_serialized_type.rb +26 -0
  257. data/lib/datadog_api_client/v2/models/rum_sdk_config_dynamic_option_strategy.rb +29 -0
  258. data/lib/datadog_api_client/v2/models/rum_sdk_config_match_option.rb +144 -0
  259. data/lib/datadog_api_client/v2/models/rum_sdk_config_match_option_serialized_type.rb +27 -0
  260. data/lib/datadog_api_client/v2/models/rum_sdk_config_meta.rb +144 -0
  261. data/lib/datadog_api_client/v2/models/rum_sdk_config_response.rb +123 -0
  262. data/lib/datadog_api_client/v2/models/rum_sdk_config_rum_attributes.rb +336 -0
  263. data/lib/datadog_api_client/v2/models/rum_sdk_config_rum_update_attributes.rb +315 -0
  264. data/lib/datadog_api_client/v2/models/rum_sdk_config_serialized_regex.rb +144 -0
  265. data/lib/datadog_api_client/v2/models/rum_sdk_config_serialized_regex_type.rb +26 -0
  266. data/lib/datadog_api_client/v2/models/rum_sdk_config_tracing_url_config.rb +146 -0
  267. data/lib/datadog_api_client/v2/models/rum_sdk_config_tracing_url_propagator_type.rb +29 -0
  268. data/lib/datadog_api_client/v2/models/rum_sdk_config_type.rb +26 -0
  269. data/lib/datadog_api_client/v2/models/rum_sdk_config_update_attributes.rb +123 -0
  270. data/lib/datadog_api_client/v2/models/rum_sdk_config_update_data.rb +165 -0
  271. data/lib/datadog_api_client/v2/models/rum_sdk_config_update_request.rb +123 -0
  272. data/lib/datadog_api_client/v2/models/security_automation_rules_links.rb +164 -0
  273. data/lib/datadog_api_client/v2/models/security_automation_rules_meta.rb +123 -0
  274. data/lib/datadog_api_client/v2/models/security_automation_rules_page_info.rb +123 -0
  275. data/lib/datadog_api_client/v2/models/security_finding_type.rb +36 -0
  276. data/lib/datadog_api_client/v2/models/security_monitoring_terraform_resource_type.rb +2 -0
  277. data/lib/datadog_api_client/v2/models/status_page_as_included_attributes.rb +21 -1
  278. data/lib/datadog_api_client/v2/models/status_page_data_attributes.rb +21 -1
  279. data/lib/datadog_api_client/v2/models/test_optimization_service_settings_attributes.rb +54 -4
  280. data/lib/datadog_api_client/v2/models/test_optimization_update_service_settings_request_attributes.rb +60 -9
  281. data/lib/datadog_api_client/v2/models/test_optimization_update_service_settings_request_data.rb +1 -0
  282. data/lib/datadog_api_client/v2/models/ticket_creation_rule_action.rb +193 -0
  283. data/lib/datadog_api_client/v2/models/ticket_creation_rule_action_response.rb +203 -0
  284. data/lib/datadog_api_client/v2/models/ticket_creation_rule_attributes_create.rb +183 -0
  285. data/lib/datadog_api_client/v2/models/ticket_creation_rule_attributes_response.rb +278 -0
  286. data/lib/datadog_api_client/v2/models/ticket_creation_rule_create_request.rb +123 -0
  287. data/lib/datadog_api_client/v2/models/ticket_creation_rule_data_create.rb +144 -0
  288. data/lib/datadog_api_client/v2/models/ticket_creation_rule_data_response.rb +165 -0
  289. data/lib/datadog_api_client/v2/models/ticket_creation_rule_reorder_item.rb +144 -0
  290. data/lib/datadog_api_client/v2/models/ticket_creation_rule_reorder_request.rb +125 -0
  291. data/lib/datadog_api_client/v2/models/ticket_creation_rule_response.rb +123 -0
  292. data/lib/datadog_api_client/v2/models/ticket_creation_rule_type.rb +26 -0
  293. data/lib/datadog_api_client/v2/models/ticket_creation_rule_update_request.rb +123 -0
  294. data/lib/datadog_api_client/v2/models/ticket_creation_rules_response.rb +167 -0
  295. data/lib/datadog_api_client/v2/models/ticket_creation_target.rb +27 -0
  296. data/lib/datadog_api_client/v2/models/update_variant_request.rb +115 -0
  297. data/lib/datadog_api_client/version.rb +1 -1
  298. metadata +237 -1
@@ -0,0 +1,318 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # The `clickhouse` destination sends log events to a ClickHouse database table over HTTP.
21
+ #
22
+ # **Supported pipeline types:** logs.
23
+ class ObservabilityPipelineClickhouseDestination
24
+ include BaseGenericModel
25
+
26
+ # HTTP Basic Authentication credentials for the ClickHouse destination.
27
+ # When `strategy` is `basic`, provide `username_key` and `password_key` that reference environment variables or secrets containing the credentials.
28
+ attr_accessor :auth
29
+
30
+ # Batching configuration for ClickHouse inserts.
31
+ attr_accessor :batch
32
+
33
+ # Batch encoding configuration for the ClickHouse destination.
34
+ # Required when `format` is `arrow_stream`. The `codec` field must be set to `arrow_stream`.
35
+ attr_accessor :batch_encoding
36
+
37
+ # Configuration for buffer settings on destination components.
38
+ attr_accessor :buffer
39
+
40
+ # Compression setting for outbound HTTP requests to ClickHouse.
41
+ # Can be specified as a shorthand string (`"gzip"` or `"none"`) or as an object
42
+ # with an `algorithm` field and an optional `level` (gzip only, 1–9).
43
+ attr_accessor :compression
44
+
45
+ # Optional ClickHouse database name. If omitted, the user's default database on the ClickHouse server is used.
46
+ attr_accessor :database
47
+
48
+ # When `true`, enables flexible DateTime parsing on the ClickHouse server side.
49
+ attr_accessor :date_time_best_effort
50
+
51
+ # Name of the environment variable or secret that contains the ClickHouse HTTP endpoint URL.
52
+ # Defaults to `DESTINATION_CLICKHOUSE_ENDPOINT_URL` (prefixed with `DD_OP_` at runtime).
53
+ attr_accessor :endpoint_url_key
54
+
55
+ # Insert format for events sent to ClickHouse.
56
+ # - `json_each_row`: Maps event fields to columns by name (ClickHouse `JSONEachRow`).
57
+ # - `json_as_object`: Inserts each event into a single `Object('json')` / `JSON` column (ClickHouse `JSONAsObject`).
58
+ # - `json_as_string`: Inserts each event into a single `String`-typed column as raw JSON (ClickHouse `JSONAsString`).
59
+ # - `arrow_stream`: Batches events using Apache Arrow IPC streaming format. Requires `batch_encoding`.
60
+ attr_accessor :format
61
+
62
+ # The unique identifier for this component.
63
+ attr_reader :id
64
+
65
+ # A list of component IDs whose output is used as the `input` for this component.
66
+ attr_reader :inputs
67
+
68
+ # When `true`, fields not present in the target table schema are dropped instead of causing insert errors.
69
+ # When unset, the ClickHouse server's own `input_format_skip_unknown_fields` setting applies.
70
+ attr_accessor :skip_unknown_fields
71
+
72
+ # Target ClickHouse table name. Events are inserted into this table.
73
+ attr_reader :table
74
+
75
+ # Configuration for enabling TLS encryption between the pipeline component and external services.
76
+ attr_accessor :tls
77
+
78
+ # The destination type. The value must be `clickhouse`.
79
+ attr_reader :type
80
+
81
+ attr_accessor :additional_properties
82
+
83
+ # Attribute mapping from ruby-style variable name to JSON key.
84
+ # @!visibility private
85
+ def self.attribute_map
86
+ {
87
+ :'auth' => :'auth',
88
+ :'batch' => :'batch',
89
+ :'batch_encoding' => :'batch_encoding',
90
+ :'buffer' => :'buffer',
91
+ :'compression' => :'compression',
92
+ :'database' => :'database',
93
+ :'date_time_best_effort' => :'date_time_best_effort',
94
+ :'endpoint_url_key' => :'endpoint_url_key',
95
+ :'format' => :'format',
96
+ :'id' => :'id',
97
+ :'inputs' => :'inputs',
98
+ :'skip_unknown_fields' => :'skip_unknown_fields',
99
+ :'table' => :'table',
100
+ :'tls' => :'tls',
101
+ :'type' => :'type'
102
+ }
103
+ end
104
+
105
+ # Attribute type mapping.
106
+ # @!visibility private
107
+ def self.openapi_types
108
+ {
109
+ :'auth' => :'ObservabilityPipelineClickhouseDestinationAuth',
110
+ :'batch' => :'ObservabilityPipelineClickhouseDestinationBatch',
111
+ :'batch_encoding' => :'ObservabilityPipelineClickhouseDestinationBatchEncoding',
112
+ :'buffer' => :'ObservabilityPipelineBufferOptions',
113
+ :'compression' => :'ObservabilityPipelineClickhouseDestinationCompression',
114
+ :'database' => :'String',
115
+ :'date_time_best_effort' => :'Boolean',
116
+ :'endpoint_url_key' => :'String',
117
+ :'format' => :'ObservabilityPipelineClickhouseDestinationFormat',
118
+ :'id' => :'String',
119
+ :'inputs' => :'Array<String>',
120
+ :'skip_unknown_fields' => :'Boolean',
121
+ :'table' => :'String',
122
+ :'tls' => :'ObservabilityPipelineTls',
123
+ :'type' => :'ObservabilityPipelineClickhouseDestinationType'
124
+ }
125
+ end
126
+
127
+ # List of attributes with nullable: true
128
+ # @!visibility private
129
+ def self.openapi_nullable
130
+ Set.new([
131
+ :'skip_unknown_fields',
132
+ ])
133
+ end
134
+
135
+ # Initializes the object
136
+ # @param attributes [Hash] Model attributes in the form of hash
137
+ # @!visibility private
138
+ def initialize(attributes = {})
139
+ if (!attributes.is_a?(Hash))
140
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::ObservabilityPipelineClickhouseDestination` initialize method"
141
+ end
142
+
143
+ self.additional_properties = {}
144
+ # check to see if the attribute exists and convert string to symbol for hash key
145
+ attributes = attributes.each_with_object({}) { |(k, v), h|
146
+ if (!self.class.attribute_map.key?(k.to_sym))
147
+ self.additional_properties[k.to_sym] = v
148
+ else
149
+ h[k.to_sym] = v
150
+ end
151
+ }
152
+
153
+ if attributes.key?(:'auth')
154
+ self.auth = attributes[:'auth']
155
+ end
156
+
157
+ if attributes.key?(:'batch')
158
+ self.batch = attributes[:'batch']
159
+ end
160
+
161
+ if attributes.key?(:'batch_encoding')
162
+ self.batch_encoding = attributes[:'batch_encoding']
163
+ end
164
+
165
+ if attributes.key?(:'buffer')
166
+ self.buffer = attributes[:'buffer']
167
+ end
168
+
169
+ if attributes.key?(:'compression')
170
+ self.compression = attributes[:'compression']
171
+ end
172
+
173
+ if attributes.key?(:'database')
174
+ self.database = attributes[:'database']
175
+ end
176
+
177
+ if attributes.key?(:'date_time_best_effort')
178
+ self.date_time_best_effort = attributes[:'date_time_best_effort']
179
+ end
180
+
181
+ if attributes.key?(:'endpoint_url_key')
182
+ self.endpoint_url_key = attributes[:'endpoint_url_key']
183
+ end
184
+
185
+ if attributes.key?(:'format')
186
+ self.format = attributes[:'format']
187
+ end
188
+
189
+ if attributes.key?(:'id')
190
+ self.id = attributes[:'id']
191
+ end
192
+
193
+ if attributes.key?(:'inputs')
194
+ if (value = attributes[:'inputs']).is_a?(Array)
195
+ self.inputs = value
196
+ end
197
+ end
198
+
199
+ if attributes.key?(:'skip_unknown_fields')
200
+ self.skip_unknown_fields = attributes[:'skip_unknown_fields']
201
+ end
202
+
203
+ if attributes.key?(:'table')
204
+ self.table = attributes[:'table']
205
+ end
206
+
207
+ if attributes.key?(:'tls')
208
+ self.tls = attributes[:'tls']
209
+ end
210
+
211
+ if attributes.key?(:'type')
212
+ self.type = attributes[:'type']
213
+ end
214
+ end
215
+
216
+ # Check to see if the all the properties in the model are valid
217
+ # @return true if the model is valid
218
+ # @!visibility private
219
+ def valid?
220
+ return false if @id.nil?
221
+ return false if @inputs.nil?
222
+ return false if @table.nil?
223
+ return false if @type.nil?
224
+ true
225
+ end
226
+
227
+ # Custom attribute writer method with validation
228
+ # @param id [Object] Object to be assigned
229
+ # @!visibility private
230
+ def id=(id)
231
+ if id.nil?
232
+ fail ArgumentError, 'invalid value for "id", id cannot be nil.'
233
+ end
234
+ @id = id
235
+ end
236
+
237
+ # Custom attribute writer method with validation
238
+ # @param inputs [Object] Object to be assigned
239
+ # @!visibility private
240
+ def inputs=(inputs)
241
+ if inputs.nil?
242
+ fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.'
243
+ end
244
+ @inputs = inputs
245
+ end
246
+
247
+ # Custom attribute writer method with validation
248
+ # @param table [Object] Object to be assigned
249
+ # @!visibility private
250
+ def table=(table)
251
+ if table.nil?
252
+ fail ArgumentError, 'invalid value for "table", table cannot be nil.'
253
+ end
254
+ @table = table
255
+ end
256
+
257
+ # Custom attribute writer method with validation
258
+ # @param type [Object] Object to be assigned
259
+ # @!visibility private
260
+ def type=(type)
261
+ if type.nil?
262
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
263
+ end
264
+ @type = type
265
+ end
266
+
267
+ # Returns the object in the form of hash, with additionalProperties support.
268
+ # @return [Hash] Returns the object in the form of hash
269
+ # @!visibility private
270
+ def to_hash
271
+ hash = {}
272
+ self.class.attribute_map.each_pair do |attr, param|
273
+ value = self.send(attr)
274
+ if value.nil?
275
+ is_nullable = self.class.openapi_nullable.include?(attr)
276
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
277
+ end
278
+
279
+ hash[param] = _to_hash(value)
280
+ end
281
+ self.additional_properties.each_pair do |attr, value|
282
+ hash[attr] = value
283
+ end
284
+ hash
285
+ end
286
+
287
+ # Checks equality by comparing each attribute.
288
+ # @param o [Object] Object to be compared
289
+ # @!visibility private
290
+ def ==(o)
291
+ return true if self.equal?(o)
292
+ self.class == o.class &&
293
+ auth == o.auth &&
294
+ batch == o.batch &&
295
+ batch_encoding == o.batch_encoding &&
296
+ buffer == o.buffer &&
297
+ compression == o.compression &&
298
+ database == o.database &&
299
+ date_time_best_effort == o.date_time_best_effort &&
300
+ endpoint_url_key == o.endpoint_url_key &&
301
+ format == o.format &&
302
+ id == o.id &&
303
+ inputs == o.inputs &&
304
+ skip_unknown_fields == o.skip_unknown_fields &&
305
+ table == o.table &&
306
+ tls == o.tls &&
307
+ type == o.type &&
308
+ additional_properties == o.additional_properties
309
+ end
310
+
311
+ # Calculates hash code according to all attributes.
312
+ # @return [Integer] Hash code
313
+ # @!visibility private
314
+ def hash
315
+ [auth, batch, batch_encoding, buffer, compression, database, date_time_best_effort, endpoint_url_key, format, id, inputs, skip_unknown_fields, table, tls, type, additional_properties].hash
316
+ end
317
+ end
318
+ end
@@ -0,0 +1,144 @@
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
+ # HTTP Basic Authentication credentials for the ClickHouse destination.
21
+ # When `strategy` is `basic`, provide `username_key` and `password_key` that reference environment variables or secrets containing the credentials.
22
+ class ObservabilityPipelineClickhouseDestinationAuth
23
+ include BaseGenericModel
24
+
25
+ # Name of the environment variable or secret that contains the ClickHouse password.
26
+ attr_accessor :password_key
27
+
28
+ # The authentication strategy for ClickHouse HTTP requests. Only `basic` is supported.
29
+ attr_reader :strategy
30
+
31
+ # Name of the environment variable or secret that contains the ClickHouse username.
32
+ attr_accessor :username_key
33
+
34
+ attr_accessor :additional_properties
35
+
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ # @!visibility private
38
+ def self.attribute_map
39
+ {
40
+ :'password_key' => :'password_key',
41
+ :'strategy' => :'strategy',
42
+ :'username_key' => :'username_key'
43
+ }
44
+ end
45
+
46
+ # Attribute type mapping.
47
+ # @!visibility private
48
+ def self.openapi_types
49
+ {
50
+ :'password_key' => :'String',
51
+ :'strategy' => :'ObservabilityPipelineClickhouseDestinationAuthStrategy',
52
+ :'username_key' => :'String'
53
+ }
54
+ end
55
+
56
+ # Initializes the object
57
+ # @param attributes [Hash] Model attributes in the form of hash
58
+ # @!visibility private
59
+ def initialize(attributes = {})
60
+ if (!attributes.is_a?(Hash))
61
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::ObservabilityPipelineClickhouseDestinationAuth` initialize method"
62
+ end
63
+
64
+ self.additional_properties = {}
65
+ # check to see if the attribute exists and convert string to symbol for hash key
66
+ attributes = attributes.each_with_object({}) { |(k, v), h|
67
+ if (!self.class.attribute_map.key?(k.to_sym))
68
+ self.additional_properties[k.to_sym] = v
69
+ else
70
+ h[k.to_sym] = v
71
+ end
72
+ }
73
+
74
+ if attributes.key?(:'password_key')
75
+ self.password_key = attributes[:'password_key']
76
+ end
77
+
78
+ if attributes.key?(:'strategy')
79
+ self.strategy = attributes[:'strategy']
80
+ end
81
+
82
+ if attributes.key?(:'username_key')
83
+ self.username_key = attributes[:'username_key']
84
+ end
85
+ end
86
+
87
+ # Check to see if the all the properties in the model are valid
88
+ # @return true if the model is valid
89
+ # @!visibility private
90
+ def valid?
91
+ return false if @strategy.nil?
92
+ true
93
+ end
94
+
95
+ # Custom attribute writer method with validation
96
+ # @param strategy [Object] Object to be assigned
97
+ # @!visibility private
98
+ def strategy=(strategy)
99
+ if strategy.nil?
100
+ fail ArgumentError, 'invalid value for "strategy", strategy cannot be nil.'
101
+ end
102
+ @strategy = strategy
103
+ end
104
+
105
+ # Returns the object in the form of hash, with additionalProperties support.
106
+ # @return [Hash] Returns the object in the form of hash
107
+ # @!visibility private
108
+ def to_hash
109
+ hash = {}
110
+ self.class.attribute_map.each_pair do |attr, param|
111
+ value = self.send(attr)
112
+ if value.nil?
113
+ is_nullable = self.class.openapi_nullable.include?(attr)
114
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
115
+ end
116
+
117
+ hash[param] = _to_hash(value)
118
+ end
119
+ self.additional_properties.each_pair do |attr, value|
120
+ hash[attr] = value
121
+ end
122
+ hash
123
+ end
124
+
125
+ # Checks equality by comparing each attribute.
126
+ # @param o [Object] Object to be compared
127
+ # @!visibility private
128
+ def ==(o)
129
+ return true if self.equal?(o)
130
+ self.class == o.class &&
131
+ password_key == o.password_key &&
132
+ strategy == o.strategy &&
133
+ username_key == o.username_key &&
134
+ additional_properties == o.additional_properties
135
+ end
136
+
137
+ # Calculates hash code according to all attributes.
138
+ # @return [Integer] Hash code
139
+ # @!visibility private
140
+ def hash
141
+ [password_key, strategy, username_key, additional_properties].hash
142
+ end
143
+ end
144
+ 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
+ # The authentication strategy for ClickHouse HTTP requests. Only `basic` is supported.
21
+ class ObservabilityPipelineClickhouseDestinationAuthStrategy
22
+ include BaseEnumModel
23
+
24
+ BASIC = "basic".freeze
25
+ end
26
+ end
@@ -0,0 +1,148 @@
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
+ # Batching configuration for ClickHouse inserts.
21
+ class ObservabilityPipelineClickhouseDestinationBatch
22
+ include BaseGenericModel
23
+
24
+ # Maximum number of events per batch before it is flushed.
25
+ attr_reader :max_events
26
+
27
+ # Maximum number of seconds to wait before flushing a partial batch.
28
+ attr_reader :timeout_secs
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
+ :'max_events' => :'max_events',
37
+ :'timeout_secs' => :'timeout_secs'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'max_events' => :'Integer',
46
+ :'timeout_secs' => :'Integer'
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::ObservabilityPipelineClickhouseDestinationBatch` 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?(:'max_events')
69
+ self.max_events = attributes[:'max_events']
70
+ end
71
+
72
+ if attributes.key?(:'timeout_secs')
73
+ self.timeout_secs = attributes[:'timeout_secs']
74
+ end
75
+ end
76
+
77
+ # Check to see if the all the properties in the model are valid
78
+ # @return true if the model is valid
79
+ # @!visibility private
80
+ def valid?
81
+ return false if !@max_events.nil? && @max_events < 1
82
+ return false if !@timeout_secs.nil? && @timeout_secs > 65535
83
+ return false if !@timeout_secs.nil? && @timeout_secs < 1
84
+ true
85
+ end
86
+
87
+ # Custom attribute writer method with validation
88
+ # @param max_events [Object] Object to be assigned
89
+ # @!visibility private
90
+ def max_events=(max_events)
91
+ if !max_events.nil? && max_events < 1
92
+ fail ArgumentError, 'invalid value for "max_events", must be greater than or equal to 1.'
93
+ end
94
+ @max_events = max_events
95
+ end
96
+
97
+ # Custom attribute writer method with validation
98
+ # @param timeout_secs [Object] Object to be assigned
99
+ # @!visibility private
100
+ def timeout_secs=(timeout_secs)
101
+ if !timeout_secs.nil? && timeout_secs > 65535
102
+ fail ArgumentError, 'invalid value for "timeout_secs", must be smaller than or equal to 65535.'
103
+ end
104
+ if !timeout_secs.nil? && timeout_secs < 1
105
+ fail ArgumentError, 'invalid value for "timeout_secs", must be greater than or equal to 1.'
106
+ end
107
+ @timeout_secs = timeout_secs
108
+ end
109
+
110
+ # Returns the object in the form of hash, with additionalProperties support.
111
+ # @return [Hash] Returns the object in the form of hash
112
+ # @!visibility private
113
+ def to_hash
114
+ hash = {}
115
+ self.class.attribute_map.each_pair do |attr, param|
116
+ value = self.send(attr)
117
+ if value.nil?
118
+ is_nullable = self.class.openapi_nullable.include?(attr)
119
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
120
+ end
121
+
122
+ hash[param] = _to_hash(value)
123
+ end
124
+ self.additional_properties.each_pair do |attr, value|
125
+ hash[attr] = value
126
+ end
127
+ hash
128
+ end
129
+
130
+ # Checks equality by comparing each attribute.
131
+ # @param o [Object] Object to be compared
132
+ # @!visibility private
133
+ def ==(o)
134
+ return true if self.equal?(o)
135
+ self.class == o.class &&
136
+ max_events == o.max_events &&
137
+ timeout_secs == o.timeout_secs &&
138
+ additional_properties == o.additional_properties
139
+ end
140
+
141
+ # Calculates hash code according to all attributes.
142
+ # @return [Integer] Hash code
143
+ # @!visibility private
144
+ def hash
145
+ [max_events, timeout_secs, additional_properties].hash
146
+ end
147
+ end
148
+ end