datadog_api_client 2.32.0 → 2.33.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 (309) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/schemas/v1/openapi.yaml +5 -4
  4. data/.generator/schemas/v2/openapi.yaml +5260 -517
  5. data/.github/workflows/publish.yml +6 -9
  6. data/.github/workflows/test.yml +1 -1
  7. data/CHANGELOG.md +20 -0
  8. data/Gemfile +0 -1
  9. data/LICENSE-3rdparty.csv +0 -1
  10. data/Rakefile +3 -0
  11. data/datadog_api_client.gemspec +0 -2
  12. data/examples/v2/cloud-cost-management/DeleteBudget.rb +5 -0
  13. data/examples/v2/cloud-cost-management/GetBudget.rb +5 -0
  14. data/examples/v2/cloud-cost-management/ListBudgets.rb +5 -0
  15. data/examples/v2/cloud-cost-management/UpsertBudget.rb +35 -0
  16. data/examples/v2/monitors/CreateMonitorNotificationRule.rb +26 -0
  17. data/examples/v2/monitors/DeleteMonitorNotificationRule.rb +11 -0
  18. data/examples/v2/monitors/GetMonitorNotificationRule.rb +11 -0
  19. data/examples/v2/monitors/GetMonitorNotificationRules.rb +8 -0
  20. data/examples/v2/monitors/UpdateMonitorNotificationRule.rb +30 -0
  21. data/examples/v2/network-device-monitoring/GetInterfaces.rb +4 -1
  22. data/examples/v2/observability-pipelines/CreatePipeline.rb +2 -2
  23. data/examples/v2/observability-pipelines/ListPipelines.rb +8 -0
  24. data/examples/v2/observability-pipelines/ValidatePipeline.rb +44 -0
  25. data/examples/v2/on-call/CreateOnCallEscalationPolicy.rb +66 -0
  26. data/examples/v2/on-call/CreateOnCallSchedule.rb +3 -3
  27. data/examples/v2/on-call/DeleteOnCallEscalationPolicy.rb +8 -0
  28. data/examples/v2/on-call/GetOnCallEscalationPolicy.rb +8 -0
  29. data/examples/v2/on-call/UpdateOnCallEscalationPolicy.rb +51 -0
  30. data/examples/v2/on-call/UpdateOnCallSchedule.rb +3 -3
  31. data/examples/v2/security-monitoring/CreateCustomFramework.rb +30 -0
  32. data/examples/v2/security-monitoring/DeleteCustomFramework.rb +5 -0
  33. data/examples/v2/security-monitoring/GetCustomFramework.rb +5 -0
  34. data/examples/v2/security-monitoring/UpdateCustomFramework.rb +30 -0
  35. data/lib/datadog_api_client/configuration.rb +20 -13
  36. data/lib/datadog_api_client/inflector.rb +241 -2
  37. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +257 -0
  38. data/lib/datadog_api_client/v2/api/monitors_api.rb +363 -0
  39. data/lib/datadog_api_client/v2/api/network_device_monitoring_api.rb +2 -0
  40. data/lib/datadog_api_client/v2/api/observability_pipelines_api.rb +146 -1
  41. data/lib/datadog_api_client/v2/api/on_call_api.rb +275 -0
  42. data/lib/datadog_api_client/v2/api/restriction_policies_api.rb +5 -3
  43. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +285 -1
  44. data/lib/datadog_api_client/v2/models/azure_storage_destination.rb +198 -0
  45. data/lib/datadog_api_client/v2/models/azure_storage_destination_type.rb +26 -0
  46. data/lib/datadog_api_client/v2/models/budget.rb +125 -0
  47. data/lib/datadog_api_client/v2/models/budget_array.rb +107 -0
  48. data/lib/datadog_api_client/v2/models/budget_attributes.rb +207 -0
  49. data/lib/datadog_api_client/v2/models/budget_entry.rb +127 -0
  50. data/lib/datadog_api_client/v2/models/budget_with_entries.rb +105 -0
  51. data/lib/datadog_api_client/v2/models/budget_with_entries_data.rb +125 -0
  52. data/lib/datadog_api_client/v2/models/{observability_pipeline_create_request.rb → create_custom_framework_request.rb} +5 -5
  53. data/lib/datadog_api_client/v2/models/create_custom_framework_response.rb +123 -0
  54. data/lib/datadog_api_client/v2/models/custom_framework_control.rb +146 -0
  55. data/lib/datadog_api_client/v2/models/custom_framework_data.rb +144 -0
  56. data/lib/datadog_api_client/v2/models/custom_framework_data_attributes.rb +208 -0
  57. data/lib/datadog_api_client/v2/models/custom_framework_data_handle_and_version.rb +115 -0
  58. data/lib/datadog_api_client/v2/models/custom_framework_metadata.rb +125 -0
  59. data/lib/datadog_api_client/v2/models/custom_framework_requirement.rb +146 -0
  60. data/lib/datadog_api_client/v2/models/custom_framework_type.rb +26 -0
  61. data/lib/datadog_api_client/v2/models/custom_framework_without_requirements.rb +207 -0
  62. data/lib/datadog_api_client/v2/models/delete_custom_framework_response.rb +123 -0
  63. data/lib/datadog_api_client/v2/models/escalation_policy.rb +117 -0
  64. data/lib/datadog_api_client/v2/models/escalation_policy_create_request.rb +123 -0
  65. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data.rb +154 -0
  66. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data_attributes.rb +176 -0
  67. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data_attributes_steps_items.rb +145 -0
  68. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data_attributes_steps_items_assignment.rb +27 -0
  69. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data_attributes_steps_items_targets_items.rb +115 -0
  70. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data_attributes_steps_items_targets_items_type.rb +28 -0
  71. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data_relationships.rb +105 -0
  72. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data_relationships_teams.rb +107 -0
  73. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data_relationships_teams_data_items.rb +144 -0
  74. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data_relationships_teams_data_items_type.rb +26 -0
  75. data/lib/datadog_api_client/v2/models/escalation_policy_create_request_data_type.rb +26 -0
  76. data/lib/datadog_api_client/v2/models/escalation_policy_data.rb +153 -0
  77. data/lib/datadog_api_client/v2/models/escalation_policy_data_attributes.rb +153 -0
  78. data/lib/datadog_api_client/v2/models/escalation_policy_data_relationships.rb +133 -0
  79. data/lib/datadog_api_client/v2/models/escalation_policy_data_relationships_steps.rb +107 -0
  80. data/lib/datadog_api_client/v2/models/escalation_policy_data_relationships_steps_data_items.rb +144 -0
  81. data/lib/datadog_api_client/v2/models/escalation_policy_data_relationships_steps_data_items_type.rb +26 -0
  82. data/lib/datadog_api_client/v2/models/escalation_policy_data_relationships_teams.rb +107 -0
  83. data/lib/datadog_api_client/v2/models/escalation_policy_data_relationships_teams_data_items.rb +144 -0
  84. data/lib/datadog_api_client/v2/models/escalation_policy_data_relationships_teams_data_items_type.rb +26 -0
  85. data/lib/datadog_api_client/v2/models/escalation_policy_data_type.rb +26 -0
  86. data/lib/datadog_api_client/v2/models/escalation_policy_included.rb +66 -0
  87. data/lib/datadog_api_client/v2/models/escalation_policy_step.rb +153 -0
  88. data/lib/datadog_api_client/v2/models/escalation_policy_step_attributes.rb +115 -0
  89. data/lib/datadog_api_client/v2/models/escalation_policy_step_attributes_assignment.rb +27 -0
  90. data/lib/datadog_api_client/v2/models/escalation_policy_step_relationships.rb +105 -0
  91. data/lib/datadog_api_client/v2/models/escalation_policy_step_type.rb +26 -0
  92. data/lib/datadog_api_client/v2/models/escalation_policy_update_request.rb +123 -0
  93. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data.rb +175 -0
  94. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data_attributes.rb +176 -0
  95. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data_attributes_steps_items.rb +155 -0
  96. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data_attributes_steps_items_assignment.rb +27 -0
  97. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data_attributes_steps_items_targets_items.rb +115 -0
  98. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data_attributes_steps_items_targets_items_type.rb +28 -0
  99. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data_relationships.rb +105 -0
  100. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data_relationships_teams.rb +107 -0
  101. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data_relationships_teams_data_items.rb +144 -0
  102. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data_relationships_teams_data_items_type.rb +26 -0
  103. data/lib/datadog_api_client/v2/models/escalation_policy_update_request_data_type.rb +26 -0
  104. data/lib/datadog_api_client/v2/models/escalation_target.rb +64 -0
  105. data/lib/datadog_api_client/v2/models/framework_handle_and_version_response_data.rb +165 -0
  106. data/lib/datadog_api_client/v2/models/full_custom_framework_data.rb +165 -0
  107. data/lib/datadog_api_client/v2/models/full_custom_framework_data_attributes.rb +230 -0
  108. data/lib/datadog_api_client/v2/models/gcpsts_service_account_attributes.rb +11 -1
  109. data/lib/datadog_api_client/v2/models/get_custom_framework_response.rb +123 -0
  110. data/lib/datadog_api_client/v2/models/layer.rb +19 -1
  111. data/lib/datadog_api_client/v2/models/layer_relationships_members_data_items.rb +31 -2
  112. data/lib/datadog_api_client/v2/models/list_pipelines_response.rb +135 -0
  113. data/lib/datadog_api_client/v2/models/list_pipelines_response_meta.rb +105 -0
  114. data/lib/datadog_api_client/v2/models/microsoft_sentinel_destination.rb +251 -0
  115. data/lib/datadog_api_client/v2/models/microsoft_sentinel_destination_type.rb +26 -0
  116. data/lib/datadog_api_client/v2/models/monitor_notification_rule_attributes.rb +147 -0
  117. data/lib/datadog_api_client/v2/models/monitor_notification_rule_create_request.rb +123 -0
  118. data/lib/datadog_api_client/v2/models/monitor_notification_rule_create_request_data.rb +133 -0
  119. data/lib/datadog_api_client/v2/models/monitor_notification_rule_data.rb +135 -0
  120. data/lib/datadog_api_client/v2/models/monitor_notification_rule_filter.rb +62 -0
  121. data/lib/datadog_api_client/v2/models/monitor_notification_rule_filter_tags.rb +108 -0
  122. data/lib/datadog_api_client/v2/models/monitor_notification_rule_list_response.rb +119 -0
  123. data/lib/datadog_api_client/v2/models/monitor_notification_rule_relationships.rb +105 -0
  124. data/lib/datadog_api_client/v2/models/monitor_notification_rule_relationships_created_by.rb +113 -0
  125. data/lib/datadog_api_client/v2/models/monitor_notification_rule_relationships_created_by_data.rb +115 -0
  126. data/lib/datadog_api_client/v2/models/monitor_notification_rule_resource_type.rb +26 -0
  127. data/lib/datadog_api_client/v2/models/monitor_notification_rule_response.rb +117 -0
  128. data/lib/datadog_api_client/v2/models/monitor_notification_rule_response_attributes.rb +184 -0
  129. data/lib/datadog_api_client/v2/models/monitor_notification_rule_response_included_item.rb +62 -0
  130. data/lib/datadog_api_client/v2/models/monitor_notification_rule_update_request.rb +123 -0
  131. data/lib/datadog_api_client/v2/models/monitor_notification_rule_update_request_data.rb +154 -0
  132. data/lib/datadog_api_client/v2/models/observability_pipeline_add_env_vars_processor.rb +211 -0
  133. data/lib/datadog_api_client/v2/models/observability_pipeline_add_env_vars_processor_type.rb +26 -0
  134. data/lib/datadog_api_client/v2/models/observability_pipeline_add_env_vars_processor_variable.rb +144 -0
  135. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_data_firehose_source.rb +166 -0
  136. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_data_firehose_source_type.rb +26 -0
  137. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_open_search_destination.rb +200 -0
  138. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_open_search_destination_auth.rb +164 -0
  139. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_open_search_destination_auth_strategy.rb +27 -0
  140. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_open_search_destination_type.rb +26 -0
  141. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_s3_destination.rb +262 -0
  142. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_s3_destination_storage_class.rb +34 -0
  143. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_s3_destination_type.rb +26 -0
  144. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_s3_source.rb +188 -0
  145. data/lib/datadog_api_client/v2/models/observability_pipeline_amazon_s3_source_type.rb +26 -0
  146. data/lib/datadog_api_client/v2/models/observability_pipeline_aws_auth.rb +126 -0
  147. data/lib/datadog_api_client/v2/models/observability_pipeline_config.rb +1 -12
  148. data/lib/datadog_api_client/v2/models/observability_pipeline_config_destination_item.rb +15 -1
  149. data/lib/datadog_api_client/v2/models/observability_pipeline_config_processor_item.rb +11 -1
  150. data/lib/datadog_api_client/v2/models/observability_pipeline_config_source_item.rb +14 -1
  151. data/lib/datadog_api_client/v2/models/observability_pipeline_datadog_agent_source.rb +1 -1
  152. data/lib/datadog_api_client/v2/models/observability_pipeline_decoding.rb +29 -0
  153. data/lib/datadog_api_client/v2/models/observability_pipeline_dedupe_processor.rb +232 -0
  154. data/lib/datadog_api_client/v2/models/observability_pipeline_dedupe_processor_mode.rb +27 -0
  155. data/lib/datadog_api_client/v2/models/observability_pipeline_dedupe_processor_type.rb +26 -0
  156. data/lib/datadog_api_client/v2/models/observability_pipeline_elasticsearch_destination.rb +187 -0
  157. data/lib/datadog_api_client/v2/models/observability_pipeline_elasticsearch_destination_api_version.rb +29 -0
  158. data/lib/datadog_api_client/v2/models/observability_pipeline_elasticsearch_destination_type.rb +26 -0
  159. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_file.rb +190 -0
  160. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_file_encoding.rb +165 -0
  161. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_file_encoding_type.rb +26 -0
  162. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_file_key_items.rb +165 -0
  163. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_file_key_items_comparison.rb +26 -0
  164. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_file_schema_items.rb +144 -0
  165. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_file_schema_items_type.rb +31 -0
  166. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_geo_ip.rb +165 -0
  167. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_processor.rb +229 -0
  168. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_processor_type.rb +26 -0
  169. data/lib/datadog_api_client/v2/models/observability_pipeline_fluent_bit_source.rb +154 -0
  170. data/lib/datadog_api_client/v2/models/observability_pipeline_fluent_bit_source_type.rb +26 -0
  171. data/lib/datadog_api_client/v2/models/observability_pipeline_fluentd_source.rb +154 -0
  172. data/lib/datadog_api_client/v2/models/observability_pipeline_fluentd_source_type.rb +26 -0
  173. data/lib/datadog_api_client/v2/models/observability_pipeline_gcp_auth.rb +123 -0
  174. data/lib/datadog_api_client/v2/models/observability_pipeline_generate_metrics_processor.rb +212 -0
  175. data/lib/datadog_api_client/v2/models/observability_pipeline_generate_metrics_processor_type.rb +26 -0
  176. data/lib/datadog_api_client/v2/models/observability_pipeline_generated_metric.rb +199 -0
  177. data/lib/datadog_api_client/v2/models/observability_pipeline_generated_metric_increment_by_field.rb +144 -0
  178. data/lib/datadog_api_client/v2/models/observability_pipeline_generated_metric_increment_by_field_strategy.rb +26 -0
  179. data/lib/datadog_api_client/v2/models/observability_pipeline_generated_metric_increment_by_one.rb +123 -0
  180. data/lib/datadog_api_client/v2/models/observability_pipeline_generated_metric_increment_by_one_strategy.rb +26 -0
  181. data/lib/datadog_api_client/v2/models/observability_pipeline_generated_metric_metric_type.rb +28 -0
  182. data/lib/datadog_api_client/v2/models/observability_pipeline_google_chronicle_destination.rb +230 -0
  183. data/lib/datadog_api_client/v2/models/observability_pipeline_google_chronicle_destination_encoding.rb +27 -0
  184. data/lib/datadog_api_client/v2/models/observability_pipeline_google_chronicle_destination_type.rb +26 -0
  185. data/lib/datadog_api_client/v2/models/observability_pipeline_google_cloud_storage_destination.rb +286 -0
  186. data/lib/datadog_api_client/v2/models/observability_pipeline_google_cloud_storage_destination_acl.rb +31 -0
  187. data/lib/datadog_api_client/v2/models/observability_pipeline_google_cloud_storage_destination_storage_class.rb +29 -0
  188. data/lib/datadog_api_client/v2/models/observability_pipeline_google_cloud_storage_destination_type.rb +26 -0
  189. data/lib/datadog_api_client/v2/models/observability_pipeline_google_pub_sub_source.rb +239 -0
  190. data/lib/datadog_api_client/v2/models/observability_pipeline_google_pub_sub_source_type.rb +26 -0
  191. data/lib/datadog_api_client/v2/models/observability_pipeline_http_client_source.rb +205 -0
  192. data/lib/datadog_api_client/v2/models/observability_pipeline_http_client_source_auth_strategy.rb +27 -0
  193. data/lib/datadog_api_client/v2/models/observability_pipeline_http_client_source_type.rb +26 -0
  194. data/lib/datadog_api_client/v2/models/observability_pipeline_http_server_source.rb +196 -0
  195. data/lib/datadog_api_client/v2/models/observability_pipeline_http_server_source_auth_strategy.rb +27 -0
  196. data/lib/datadog_api_client/v2/models/observability_pipeline_http_server_source_type.rb +26 -0
  197. data/lib/datadog_api_client/v2/models/observability_pipeline_kafka_source.rb +1 -1
  198. data/lib/datadog_api_client/v2/models/observability_pipeline_logstash_source.rb +154 -0
  199. data/lib/datadog_api_client/v2/models/observability_pipeline_logstash_source_type.rb +26 -0
  200. data/lib/datadog_api_client/v2/models/observability_pipeline_metadata_entry.rb +144 -0
  201. data/lib/datadog_api_client/v2/models/observability_pipeline_metric_value.rb +63 -0
  202. data/lib/datadog_api_client/v2/models/observability_pipeline_new_relic_destination.rb +188 -0
  203. data/lib/datadog_api_client/v2/models/observability_pipeline_new_relic_destination_region.rb +27 -0
  204. data/lib/datadog_api_client/v2/models/observability_pipeline_new_relic_destination_type.rb +26 -0
  205. data/lib/datadog_api_client/v2/models/observability_pipeline_ocsf_mapper_processor.rb +211 -0
  206. data/lib/datadog_api_client/v2/models/observability_pipeline_ocsf_mapper_processor_mapping.rb +144 -0
  207. data/lib/datadog_api_client/v2/models/observability_pipeline_ocsf_mapper_processor_mapping_mapping.rb +62 -0
  208. data/lib/datadog_api_client/v2/models/observability_pipeline_ocsf_mapper_processor_type.rb +26 -0
  209. data/lib/datadog_api_client/v2/models/observability_pipeline_ocsf_mapping_library.rb +36 -0
  210. data/lib/datadog_api_client/v2/models/observability_pipeline_open_search_destination.rb +177 -0
  211. data/lib/datadog_api_client/v2/models/observability_pipeline_open_search_destination_type.rb +26 -0
  212. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_grok_processor.rb +221 -0
  213. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_grok_processor_rule.rb +173 -0
  214. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_grok_processor_rule_match_rule.rb +145 -0
  215. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_grok_processor_rule_support_rule.rb +144 -0
  216. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_grok_processor_type.rb +26 -0
  217. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor.rb +16 -2
  218. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor_overflow_action.rb +31 -0
  219. data/lib/datadog_api_client/v2/models/observability_pipeline_reduce_processor.rb +234 -0
  220. data/lib/datadog_api_client/v2/models/observability_pipeline_reduce_processor_merge_strategy.rb +144 -0
  221. data/lib/datadog_api_client/v2/models/observability_pipeline_reduce_processor_merge_strategy_strategy.rb +37 -0
  222. data/lib/datadog_api_client/v2/models/observability_pipeline_reduce_processor_type.rb +26 -0
  223. data/lib/datadog_api_client/v2/models/observability_pipeline_rsyslog_destination.rb +198 -0
  224. data/lib/datadog_api_client/v2/models/observability_pipeline_rsyslog_destination_type.rb +26 -0
  225. data/lib/datadog_api_client/v2/models/observability_pipeline_rsyslog_source.rb +175 -0
  226. data/lib/datadog_api_client/v2/models/observability_pipeline_rsyslog_source_type.rb +26 -0
  227. data/lib/datadog_api_client/v2/models/observability_pipeline_sample_processor.rb +219 -0
  228. data/lib/datadog_api_client/v2/models/observability_pipeline_sample_processor_type.rb +26 -0
  229. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor.rb +211 -0
  230. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_action.rb +64 -0
  231. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_action_hash.rb +133 -0
  232. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_action_hash_action.rb +26 -0
  233. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_action_partial_redact.rb +144 -0
  234. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_action_partial_redact_action.rb +26 -0
  235. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_action_partial_redact_options.rb +144 -0
  236. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_action_partial_redact_options_direction.rb +27 -0
  237. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_action_redact.rb +144 -0
  238. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_action_redact_action.rb +26 -0
  239. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_action_redact_options.rb +123 -0
  240. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_custom_pattern.rb +144 -0
  241. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_custom_pattern_options.rb +123 -0
  242. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_custom_pattern_type.rb +26 -0
  243. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_keyword_options.rb +146 -0
  244. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_library_pattern.rb +144 -0
  245. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_library_pattern_options.rb +133 -0
  246. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_library_pattern_type.rb +26 -0
  247. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_pattern.rb +63 -0
  248. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_rule.rb +219 -0
  249. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_scope.rb +64 -0
  250. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_scope_all.rb +123 -0
  251. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_scope_all_target.rb +26 -0
  252. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_scope_exclude.rb +144 -0
  253. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_scope_exclude_target.rb +26 -0
  254. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_scope_include.rb +144 -0
  255. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_scope_include_target.rb +26 -0
  256. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_scope_options.rb +125 -0
  257. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor_type.rb +26 -0
  258. data/lib/datadog_api_client/v2/models/observability_pipeline_sentinel_one_destination.rb +188 -0
  259. data/lib/datadog_api_client/v2/models/observability_pipeline_sentinel_one_destination_region.rb +29 -0
  260. data/lib/datadog_api_client/v2/models/observability_pipeline_sentinel_one_destination_type.rb +26 -0
  261. data/lib/datadog_api_client/v2/models/observability_pipeline_spec.rb +123 -0
  262. data/lib/datadog_api_client/v2/models/{observability_pipeline_create_request_data.rb → observability_pipeline_spec_data.rb} +3 -3
  263. data/lib/datadog_api_client/v2/models/observability_pipeline_splunk_hec_destination.rb +209 -0
  264. data/lib/datadog_api_client/v2/models/observability_pipeline_splunk_hec_destination_encoding.rb +27 -0
  265. data/lib/datadog_api_client/v2/models/observability_pipeline_splunk_hec_destination_type.rb +26 -0
  266. data/lib/datadog_api_client/v2/models/observability_pipeline_splunk_hec_source.rb +154 -0
  267. data/lib/datadog_api_client/v2/models/observability_pipeline_splunk_hec_source_type.rb +26 -0
  268. data/lib/datadog_api_client/v2/models/observability_pipeline_splunk_tcp_source.rb +155 -0
  269. data/lib/datadog_api_client/v2/models/observability_pipeline_splunk_tcp_source_type.rb +26 -0
  270. data/lib/datadog_api_client/v2/models/observability_pipeline_sumo_logic_destination.rb +219 -0
  271. data/lib/datadog_api_client/v2/models/observability_pipeline_sumo_logic_destination_encoding.rb +28 -0
  272. data/lib/datadog_api_client/v2/models/observability_pipeline_sumo_logic_destination_header_custom_fields_item.rb +144 -0
  273. data/lib/datadog_api_client/v2/models/observability_pipeline_sumo_logic_destination_type.rb +26 -0
  274. data/lib/datadog_api_client/v2/models/observability_pipeline_sumo_logic_source.rb +144 -0
  275. data/lib/datadog_api_client/v2/models/observability_pipeline_sumo_logic_source_type.rb +26 -0
  276. data/lib/datadog_api_client/v2/models/observability_pipeline_syslog_ng_destination.rb +198 -0
  277. data/lib/datadog_api_client/v2/models/observability_pipeline_syslog_ng_destination_type.rb +26 -0
  278. data/lib/datadog_api_client/v2/models/observability_pipeline_syslog_ng_source.rb +175 -0
  279. data/lib/datadog_api_client/v2/models/observability_pipeline_syslog_ng_source_type.rb +26 -0
  280. data/lib/datadog_api_client/v2/models/observability_pipeline_syslog_source_mode.rb +27 -0
  281. data/lib/datadog_api_client/v2/models/observability_pipeline_throttle_processor.rb +242 -0
  282. data/lib/datadog_api_client/v2/models/observability_pipeline_throttle_processor_type.rb +26 -0
  283. data/lib/datadog_api_client/v2/models/observability_pipeline_tls.rb +1 -1
  284. data/lib/datadog_api_client/v2/models/schedule_create_request_data_relationships_teams_data_items.rb +31 -2
  285. data/lib/datadog_api_client/v2/models/schedule_data.rb +19 -1
  286. data/lib/datadog_api_client/v2/models/schedule_data_relationships_layers_data_items.rb +31 -2
  287. data/lib/datadog_api_client/v2/models/schedule_data_relationships_teams_data_items.rb +31 -2
  288. data/lib/datadog_api_client/v2/models/schedule_member.rb +19 -1
  289. data/lib/datadog_api_client/v2/models/schedule_member_relationships_user.rb +19 -1
  290. data/lib/datadog_api_client/v2/models/schedule_member_relationships_user_data.rb +31 -2
  291. data/lib/datadog_api_client/v2/models/schedule_target.rb +144 -0
  292. data/lib/datadog_api_client/v2/models/schedule_target_type.rb +26 -0
  293. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items.rb +68 -6
  294. data/lib/datadog_api_client/v2/models/schedule_update_request_data_relationships_teams_data_items.rb +31 -2
  295. data/lib/datadog_api_client/v2/models/schedule_user.rb +19 -1
  296. data/lib/datadog_api_client/v2/models/tag_filter.rb +115 -0
  297. data/lib/datadog_api_client/v2/models/team_reference.rb +19 -1
  298. data/lib/datadog_api_client/v2/models/team_reference_relationships_oncall_users_data_items.rb +31 -2
  299. data/lib/datadog_api_client/v2/models/team_target.rb +144 -0
  300. data/lib/datadog_api_client/v2/models/team_target_type.rb +26 -0
  301. data/lib/datadog_api_client/v2/models/update_custom_framework_request.rb +123 -0
  302. data/lib/datadog_api_client/v2/models/update_custom_framework_response.rb +123 -0
  303. data/lib/datadog_api_client/v2/models/user_target.rb +144 -0
  304. data/lib/datadog_api_client/v2/models/user_target_type.rb +26 -0
  305. data/lib/datadog_api_client/v2/models/validation_error.rb +144 -0
  306. data/lib/datadog_api_client/v2/models/validation_error_meta.rb +143 -0
  307. data/lib/datadog_api_client/v2/models/validation_response.rb +107 -0
  308. data/lib/datadog_api_client/version.rb +1 -1
  309. metadata +262 -24
@@ -0,0 +1,145 @@
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
+ # Defines a Grok parsing rule, which extracts structured fields from log content using named Grok patterns.
21
+ # Each rule must have a unique name and a valid Datadog Grok pattern that will be applied to the source field.
22
+ class ObservabilityPipelineParseGrokProcessorRuleMatchRule
23
+ include BaseGenericModel
24
+
25
+ # The name of the rule.
26
+ attr_reader :name
27
+
28
+ # The definition of the Grok rule.
29
+ attr_reader :rule
30
+
31
+ attr_accessor :additional_properties
32
+
33
+ # Attribute mapping from ruby-style variable name to JSON key.
34
+ # @!visibility private
35
+ def self.attribute_map
36
+ {
37
+ :'name' => :'name',
38
+ :'rule' => :'rule'
39
+ }
40
+ end
41
+
42
+ # Attribute type mapping.
43
+ # @!visibility private
44
+ def self.openapi_types
45
+ {
46
+ :'name' => :'String',
47
+ :'rule' => :'String'
48
+ }
49
+ end
50
+
51
+ # Initializes the object
52
+ # @param attributes [Hash] Model attributes in the form of hash
53
+ # @!visibility private
54
+ def initialize(attributes = {})
55
+ if (!attributes.is_a?(Hash))
56
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::ObservabilityPipelineParseGrokProcessorRuleMatchRule` initialize method"
57
+ end
58
+
59
+ self.additional_properties = {}
60
+ # check to see if the attribute exists and convert string to symbol for hash key
61
+ attributes = attributes.each_with_object({}) { |(k, v), h|
62
+ if (!self.class.attribute_map.key?(k.to_sym))
63
+ self.additional_properties[k.to_sym] = v
64
+ else
65
+ h[k.to_sym] = v
66
+ end
67
+ }
68
+
69
+ if attributes.key?(:'name')
70
+ self.name = attributes[:'name']
71
+ end
72
+
73
+ if attributes.key?(:'rule')
74
+ self.rule = attributes[:'rule']
75
+ end
76
+ end
77
+
78
+ # Check to see if the all the properties in the model are valid
79
+ # @return true if the model is valid
80
+ # @!visibility private
81
+ def valid?
82
+ return false if @name.nil?
83
+ return false if @rule.nil?
84
+ true
85
+ end
86
+
87
+ # Custom attribute writer method with validation
88
+ # @param name [Object] Object to be assigned
89
+ # @!visibility private
90
+ def name=(name)
91
+ if name.nil?
92
+ fail ArgumentError, 'invalid value for "name", name cannot be nil.'
93
+ end
94
+ @name = name
95
+ end
96
+
97
+ # Custom attribute writer method with validation
98
+ # @param rule [Object] Object to be assigned
99
+ # @!visibility private
100
+ def rule=(rule)
101
+ if rule.nil?
102
+ fail ArgumentError, 'invalid value for "rule", rule cannot be nil.'
103
+ end
104
+ @rule = rule
105
+ end
106
+
107
+ # Returns the object in the form of hash, with additionalProperties support.
108
+ # @return [Hash] Returns the object in the form of hash
109
+ # @!visibility private
110
+ def to_hash
111
+ hash = {}
112
+ self.class.attribute_map.each_pair do |attr, param|
113
+ value = self.send(attr)
114
+ if value.nil?
115
+ is_nullable = self.class.openapi_nullable.include?(attr)
116
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
117
+ end
118
+
119
+ hash[param] = _to_hash(value)
120
+ end
121
+ self.additional_properties.each_pair do |attr, value|
122
+ hash[attr] = value
123
+ end
124
+ hash
125
+ end
126
+
127
+ # Checks equality by comparing each attribute.
128
+ # @param o [Object] Object to be compared
129
+ # @!visibility private
130
+ def ==(o)
131
+ return true if self.equal?(o)
132
+ self.class == o.class &&
133
+ name == o.name &&
134
+ rule == o.rule &&
135
+ additional_properties == o.additional_properties
136
+ end
137
+
138
+ # Calculates hash code according to all attributes.
139
+ # @return [Integer] Hash code
140
+ # @!visibility private
141
+ def hash
142
+ [name, rule, additional_properties].hash
143
+ end
144
+ end
145
+ 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
+ # The Grok helper rule referenced in the parsing rules.
21
+ class ObservabilityPipelineParseGrokProcessorRuleSupportRule
22
+ include BaseGenericModel
23
+
24
+ # The name of the Grok helper rule.
25
+ attr_reader :name
26
+
27
+ # The definition of the Grok helper rule.
28
+ attr_reader :rule
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
+ :'name' => :'name',
37
+ :'rule' => :'rule'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'name' => :'String',
46
+ :'rule' => :'String'
47
+ }
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param attributes [Hash] Model attributes in the form of hash
52
+ # @!visibility private
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::ObservabilityPipelineParseGrokProcessorRuleSupportRule` 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?(:'name')
69
+ self.name = attributes[:'name']
70
+ end
71
+
72
+ if attributes.key?(:'rule')
73
+ self.rule = attributes[:'rule']
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 @name.nil?
82
+ return false if @rule.nil?
83
+ true
84
+ end
85
+
86
+ # Custom attribute writer method with validation
87
+ # @param name [Object] Object to be assigned
88
+ # @!visibility private
89
+ def name=(name)
90
+ if name.nil?
91
+ fail ArgumentError, 'invalid value for "name", name cannot be nil.'
92
+ end
93
+ @name = name
94
+ end
95
+
96
+ # Custom attribute writer method with validation
97
+ # @param rule [Object] Object to be assigned
98
+ # @!visibility private
99
+ def rule=(rule)
100
+ if rule.nil?
101
+ fail ArgumentError, 'invalid value for "rule", rule cannot be nil.'
102
+ end
103
+ @rule = rule
104
+ end
105
+
106
+ # Returns the object in the form of hash, with additionalProperties support.
107
+ # @return [Hash] Returns the object in the form of hash
108
+ # @!visibility private
109
+ def to_hash
110
+ hash = {}
111
+ self.class.attribute_map.each_pair do |attr, param|
112
+ value = self.send(attr)
113
+ if value.nil?
114
+ is_nullable = self.class.openapi_nullable.include?(attr)
115
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
116
+ end
117
+
118
+ hash[param] = _to_hash(value)
119
+ end
120
+ self.additional_properties.each_pair do |attr, value|
121
+ hash[attr] = value
122
+ end
123
+ hash
124
+ end
125
+
126
+ # Checks equality by comparing each attribute.
127
+ # @param o [Object] Object to be compared
128
+ # @!visibility private
129
+ def ==(o)
130
+ return true if self.equal?(o)
131
+ self.class == o.class &&
132
+ name == o.name &&
133
+ rule == o.rule &&
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
+ [name, rule, 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 processor type. The value should always be `parse_grok`.
21
+ class ObservabilityPipelineParseGrokProcessorType
22
+ include BaseEnumModel
23
+
24
+ PARSE_GROK = "parse_grok".freeze
25
+ end
26
+ end
@@ -39,9 +39,16 @@ module DatadogAPIClient::V2
39
39
  # The maximum amount of data or number of events allowed before the quota is enforced. Can be specified in bytes or events.
40
40
  attr_reader :limit
41
41
 
42
- # Name for identifying the processor.
42
+ # Name of the quota.
43
43
  attr_reader :name
44
44
 
45
+ # The action to take when the quota is exceeded. Options:
46
+ # - `drop`: Drop the event.
47
+ # - `no_action`: Let the event pass through.
48
+ # - `overflow_routing`: Route to an overflow destination.
49
+ #
50
+ attr_accessor :overflow_action
51
+
45
52
  # A list of alternate quota rules that apply to specific sets of events, identified by matching field values. Each override can define a custom limit.
46
53
  attr_accessor :overrides
47
54
 
@@ -64,6 +71,7 @@ module DatadogAPIClient::V2
64
71
  :'inputs' => :'inputs',
65
72
  :'limit' => :'limit',
66
73
  :'name' => :'name',
74
+ :'overflow_action' => :'overflow_action',
67
75
  :'overrides' => :'overrides',
68
76
  :'partition_fields' => :'partition_fields',
69
77
  :'type' => :'type'
@@ -81,6 +89,7 @@ module DatadogAPIClient::V2
81
89
  :'inputs' => :'Array<String>',
82
90
  :'limit' => :'ObservabilityPipelineQuotaProcessorLimit',
83
91
  :'name' => :'String',
92
+ :'overflow_action' => :'ObservabilityPipelineQuotaProcessorOverflowAction',
84
93
  :'overrides' => :'Array<ObservabilityPipelineQuotaProcessorOverride>',
85
94
  :'partition_fields' => :'Array<String>',
86
95
  :'type' => :'ObservabilityPipelineQuotaProcessorType'
@@ -135,6 +144,10 @@ module DatadogAPIClient::V2
135
144
  self.name = attributes[:'name']
136
145
  end
137
146
 
147
+ if attributes.key?(:'overflow_action')
148
+ self.overflow_action = attributes[:'overflow_action']
149
+ end
150
+
138
151
  if attributes.key?(:'overrides')
139
152
  if (value = attributes[:'overrides']).is_a?(Array)
140
153
  self.overrides = value
@@ -269,6 +282,7 @@ module DatadogAPIClient::V2
269
282
  inputs == o.inputs &&
270
283
  limit == o.limit &&
271
284
  name == o.name &&
285
+ overflow_action == o.overflow_action &&
272
286
  overrides == o.overrides &&
273
287
  partition_fields == o.partition_fields &&
274
288
  type == o.type &&
@@ -279,7 +293,7 @@ module DatadogAPIClient::V2
279
293
  # @return [Integer] Hash code
280
294
  # @!visibility private
281
295
  def hash
282
- [drop_events, id, ignore_when_missing_partitions, include, inputs, limit, name, overrides, partition_fields, type, additional_properties].hash
296
+ [drop_events, id, ignore_when_missing_partitions, include, inputs, limit, name, overflow_action, overrides, partition_fields, type, additional_properties].hash
283
297
  end
284
298
  end
285
299
  end
@@ -0,0 +1,31 @@
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 action to take when the quota is exceeded. Options:
21
+ # - `drop`: Drop the event.
22
+ # - `no_action`: Let the event pass through.
23
+ # - `overflow_routing`: Route to an overflow destination.
24
+ class ObservabilityPipelineQuotaProcessorOverflowAction
25
+ include BaseEnumModel
26
+
27
+ DROP = "drop".freeze
28
+ NO_ACTION = "no_action".freeze
29
+ OVERFLOW_ROUTING = "overflow_routing".freeze
30
+ end
31
+ end
@@ -0,0 +1,234 @@
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 `reduce` processor aggregates and merges logs based on matching keys and merge strategies.
21
+ class ObservabilityPipelineReduceProcessor
22
+ include BaseGenericModel
23
+
24
+ # A list of fields used to group log events for merging.
25
+ attr_reader :group_by
26
+
27
+ # The unique identifier for this processor.
28
+ attr_reader :id
29
+
30
+ # A Datadog search query used to determine which logs this processor targets.
31
+ attr_reader :include
32
+
33
+ # A list of component IDs whose output is used as the input for this processor.
34
+ attr_reader :inputs
35
+
36
+ # List of merge strategies defining how values from grouped events should be combined.
37
+ attr_reader :merge_strategies
38
+
39
+ # The processor type. The value should always be `reduce`.
40
+ attr_reader :type
41
+
42
+ attr_accessor :additional_properties
43
+
44
+ # Attribute mapping from ruby-style variable name to JSON key.
45
+ # @!visibility private
46
+ def self.attribute_map
47
+ {
48
+ :'group_by' => :'group_by',
49
+ :'id' => :'id',
50
+ :'include' => :'include',
51
+ :'inputs' => :'inputs',
52
+ :'merge_strategies' => :'merge_strategies',
53
+ :'type' => :'type'
54
+ }
55
+ end
56
+
57
+ # Attribute type mapping.
58
+ # @!visibility private
59
+ def self.openapi_types
60
+ {
61
+ :'group_by' => :'Array<String>',
62
+ :'id' => :'String',
63
+ :'include' => :'String',
64
+ :'inputs' => :'Array<String>',
65
+ :'merge_strategies' => :'Array<ObservabilityPipelineReduceProcessorMergeStrategy>',
66
+ :'type' => :'ObservabilityPipelineReduceProcessorType'
67
+ }
68
+ end
69
+
70
+ # Initializes the object
71
+ # @param attributes [Hash] Model attributes in the form of hash
72
+ # @!visibility private
73
+ def initialize(attributes = {})
74
+ if (!attributes.is_a?(Hash))
75
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::ObservabilityPipelineReduceProcessor` initialize method"
76
+ end
77
+
78
+ self.additional_properties = {}
79
+ # check to see if the attribute exists and convert string to symbol for hash key
80
+ attributes = attributes.each_with_object({}) { |(k, v), h|
81
+ if (!self.class.attribute_map.key?(k.to_sym))
82
+ self.additional_properties[k.to_sym] = v
83
+ else
84
+ h[k.to_sym] = v
85
+ end
86
+ }
87
+
88
+ if attributes.key?(:'group_by')
89
+ if (value = attributes[:'group_by']).is_a?(Array)
90
+ self.group_by = value
91
+ end
92
+ end
93
+
94
+ if attributes.key?(:'id')
95
+ self.id = attributes[:'id']
96
+ end
97
+
98
+ if attributes.key?(:'include')
99
+ self.include = attributes[:'include']
100
+ end
101
+
102
+ if attributes.key?(:'inputs')
103
+ if (value = attributes[:'inputs']).is_a?(Array)
104
+ self.inputs = value
105
+ end
106
+ end
107
+
108
+ if attributes.key?(:'merge_strategies')
109
+ if (value = attributes[:'merge_strategies']).is_a?(Array)
110
+ self.merge_strategies = value
111
+ end
112
+ end
113
+
114
+ if attributes.key?(:'type')
115
+ self.type = attributes[:'type']
116
+ end
117
+ end
118
+
119
+ # Check to see if the all the properties in the model are valid
120
+ # @return true if the model is valid
121
+ # @!visibility private
122
+ def valid?
123
+ return false if @group_by.nil?
124
+ return false if @id.nil?
125
+ return false if @include.nil?
126
+ return false if @inputs.nil?
127
+ return false if @merge_strategies.nil?
128
+ return false if @type.nil?
129
+ true
130
+ end
131
+
132
+ # Custom attribute writer method with validation
133
+ # @param group_by [Object] Object to be assigned
134
+ # @!visibility private
135
+ def group_by=(group_by)
136
+ if group_by.nil?
137
+ fail ArgumentError, 'invalid value for "group_by", group_by cannot be nil.'
138
+ end
139
+ @group_by = group_by
140
+ end
141
+
142
+ # Custom attribute writer method with validation
143
+ # @param id [Object] Object to be assigned
144
+ # @!visibility private
145
+ def id=(id)
146
+ if id.nil?
147
+ fail ArgumentError, 'invalid value for "id", id cannot be nil.'
148
+ end
149
+ @id = id
150
+ end
151
+
152
+ # Custom attribute writer method with validation
153
+ # @param include [Object] Object to be assigned
154
+ # @!visibility private
155
+ def include=(include)
156
+ if include.nil?
157
+ fail ArgumentError, 'invalid value for "include", include cannot be nil.'
158
+ end
159
+ @include = include
160
+ end
161
+
162
+ # Custom attribute writer method with validation
163
+ # @param inputs [Object] Object to be assigned
164
+ # @!visibility private
165
+ def inputs=(inputs)
166
+ if inputs.nil?
167
+ fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.'
168
+ end
169
+ @inputs = inputs
170
+ end
171
+
172
+ # Custom attribute writer method with validation
173
+ # @param merge_strategies [Object] Object to be assigned
174
+ # @!visibility private
175
+ def merge_strategies=(merge_strategies)
176
+ if merge_strategies.nil?
177
+ fail ArgumentError, 'invalid value for "merge_strategies", merge_strategies cannot be nil.'
178
+ end
179
+ @merge_strategies = merge_strategies
180
+ end
181
+
182
+ # Custom attribute writer method with validation
183
+ # @param type [Object] Object to be assigned
184
+ # @!visibility private
185
+ def type=(type)
186
+ if type.nil?
187
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
188
+ end
189
+ @type = type
190
+ end
191
+
192
+ # Returns the object in the form of hash, with additionalProperties support.
193
+ # @return [Hash] Returns the object in the form of hash
194
+ # @!visibility private
195
+ def to_hash
196
+ hash = {}
197
+ self.class.attribute_map.each_pair do |attr, param|
198
+ value = self.send(attr)
199
+ if value.nil?
200
+ is_nullable = self.class.openapi_nullable.include?(attr)
201
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
202
+ end
203
+
204
+ hash[param] = _to_hash(value)
205
+ end
206
+ self.additional_properties.each_pair do |attr, value|
207
+ hash[attr] = value
208
+ end
209
+ hash
210
+ end
211
+
212
+ # Checks equality by comparing each attribute.
213
+ # @param o [Object] Object to be compared
214
+ # @!visibility private
215
+ def ==(o)
216
+ return true if self.equal?(o)
217
+ self.class == o.class &&
218
+ group_by == o.group_by &&
219
+ id == o.id &&
220
+ include == o.include &&
221
+ inputs == o.inputs &&
222
+ merge_strategies == o.merge_strategies &&
223
+ type == o.type &&
224
+ additional_properties == o.additional_properties
225
+ end
226
+
227
+ # Calculates hash code according to all attributes.
228
+ # @return [Integer] Hash code
229
+ # @!visibility private
230
+ def hash
231
+ [group_by, id, include, inputs, merge_strategies, type, additional_properties].hash
232
+ end
233
+ end
234
+ end