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,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
+ # Defines a custom regex-based pattern for identifying sensitive data in logs.
21
+ class ObservabilityPipelineSensitiveDataScannerProcessorCustomPattern
22
+ include BaseGenericModel
23
+
24
+ # Options for defining a custom regex pattern.
25
+ attr_reader :options
26
+
27
+ # Indicates a custom regular expression is used for matching.
28
+ attr_reader :type
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
+ :'options' => :'options',
37
+ :'type' => :'type'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'options' => :'ObservabilityPipelineSensitiveDataScannerProcessorCustomPatternOptions',
46
+ :'type' => :'ObservabilityPipelineSensitiveDataScannerProcessorCustomPatternType'
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::ObservabilityPipelineSensitiveDataScannerProcessorCustomPattern` 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?(:'options')
69
+ self.options = attributes[:'options']
70
+ end
71
+
72
+ if attributes.key?(:'type')
73
+ self.type = attributes[:'type']
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 @options.nil?
82
+ return false if @type.nil?
83
+ true
84
+ end
85
+
86
+ # Custom attribute writer method with validation
87
+ # @param options [Object] Object to be assigned
88
+ # @!visibility private
89
+ def options=(options)
90
+ if options.nil?
91
+ fail ArgumentError, 'invalid value for "options", options cannot be nil.'
92
+ end
93
+ @options = options
94
+ end
95
+
96
+ # Custom attribute writer method with validation
97
+ # @param type [Object] Object to be assigned
98
+ # @!visibility private
99
+ def type=(type)
100
+ if type.nil?
101
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
102
+ end
103
+ @type = type
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
+ options == o.options &&
133
+ type == o.type &&
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
+ [options, type, additional_properties].hash
142
+ end
143
+ end
144
+ end
@@ -0,0 +1,123 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # Options for defining a custom regex pattern.
21
+ class ObservabilityPipelineSensitiveDataScannerProcessorCustomPatternOptions
22
+ include BaseGenericModel
23
+
24
+ # A regular expression used to detect sensitive values. Must be a valid regex.
25
+ attr_reader :rule
26
+
27
+ attr_accessor :additional_properties
28
+
29
+ # Attribute mapping from ruby-style variable name to JSON key.
30
+ # @!visibility private
31
+ def self.attribute_map
32
+ {
33
+ :'rule' => :'rule'
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ # @!visibility private
39
+ def self.openapi_types
40
+ {
41
+ :'rule' => :'String'
42
+ }
43
+ end
44
+
45
+ # Initializes the object
46
+ # @param attributes [Hash] Model attributes in the form of hash
47
+ # @!visibility private
48
+ def initialize(attributes = {})
49
+ if (!attributes.is_a?(Hash))
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::ObservabilityPipelineSensitiveDataScannerProcessorCustomPatternOptions` initialize method"
51
+ end
52
+
53
+ self.additional_properties = {}
54
+ # check to see if the attribute exists and convert string to symbol for hash key
55
+ attributes = attributes.each_with_object({}) { |(k, v), h|
56
+ if (!self.class.attribute_map.key?(k.to_sym))
57
+ self.additional_properties[k.to_sym] = v
58
+ else
59
+ h[k.to_sym] = v
60
+ end
61
+ }
62
+
63
+ if attributes.key?(:'rule')
64
+ self.rule = attributes[:'rule']
65
+ end
66
+ end
67
+
68
+ # Check to see if the all the properties in the model are valid
69
+ # @return true if the model is valid
70
+ # @!visibility private
71
+ def valid?
72
+ return false if @rule.nil?
73
+ true
74
+ end
75
+
76
+ # Custom attribute writer method with validation
77
+ # @param rule [Object] Object to be assigned
78
+ # @!visibility private
79
+ def rule=(rule)
80
+ if rule.nil?
81
+ fail ArgumentError, 'invalid value for "rule", rule cannot be nil.'
82
+ end
83
+ @rule = rule
84
+ end
85
+
86
+ # Returns the object in the form of hash, with additionalProperties support.
87
+ # @return [Hash] Returns the object in the form of hash
88
+ # @!visibility private
89
+ def to_hash
90
+ hash = {}
91
+ self.class.attribute_map.each_pair do |attr, param|
92
+ value = self.send(attr)
93
+ if value.nil?
94
+ is_nullable = self.class.openapi_nullable.include?(attr)
95
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
96
+ end
97
+
98
+ hash[param] = _to_hash(value)
99
+ end
100
+ self.additional_properties.each_pair do |attr, value|
101
+ hash[attr] = value
102
+ end
103
+ hash
104
+ end
105
+
106
+ # Checks equality by comparing each attribute.
107
+ # @param o [Object] Object to be compared
108
+ # @!visibility private
109
+ def ==(o)
110
+ return true if self.equal?(o)
111
+ self.class == o.class &&
112
+ rule == o.rule &&
113
+ additional_properties == o.additional_properties
114
+ end
115
+
116
+ # Calculates hash code according to all attributes.
117
+ # @return [Integer] Hash code
118
+ # @!visibility private
119
+ def hash
120
+ [rule, additional_properties].hash
121
+ end
122
+ end
123
+ 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
+ # Indicates a custom regular expression is used for matching.
21
+ class ObservabilityPipelineSensitiveDataScannerProcessorCustomPatternType
22
+ include BaseEnumModel
23
+
24
+ CUSTOM = "custom".freeze
25
+ end
26
+ end
@@ -0,0 +1,146 @@
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
+ # Configuration for keywords used to reinforce sensitive data pattern detection.
21
+ class ObservabilityPipelineSensitiveDataScannerProcessorKeywordOptions
22
+ include BaseGenericModel
23
+
24
+ # A list of keywords to match near the sensitive pattern.
25
+ attr_reader :keywords
26
+
27
+ # Maximum number of tokens between a keyword and a sensitive value match.
28
+ attr_reader :proximity
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
+ :'keywords' => :'keywords',
37
+ :'proximity' => :'proximity'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'keywords' => :'Array<String>',
46
+ :'proximity' => :'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::ObservabilityPipelineSensitiveDataScannerProcessorKeywordOptions` 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?(:'keywords')
69
+ if (value = attributes[:'keywords']).is_a?(Array)
70
+ self.keywords = value
71
+ end
72
+ end
73
+
74
+ if attributes.key?(:'proximity')
75
+ self.proximity = attributes[:'proximity']
76
+ end
77
+ end
78
+
79
+ # Check to see if the all the properties in the model are valid
80
+ # @return true if the model is valid
81
+ # @!visibility private
82
+ def valid?
83
+ return false if @keywords.nil?
84
+ return false if @proximity.nil?
85
+ true
86
+ end
87
+
88
+ # Custom attribute writer method with validation
89
+ # @param keywords [Object] Object to be assigned
90
+ # @!visibility private
91
+ def keywords=(keywords)
92
+ if keywords.nil?
93
+ fail ArgumentError, 'invalid value for "keywords", keywords cannot be nil.'
94
+ end
95
+ @keywords = keywords
96
+ end
97
+
98
+ # Custom attribute writer method with validation
99
+ # @param proximity [Object] Object to be assigned
100
+ # @!visibility private
101
+ def proximity=(proximity)
102
+ if proximity.nil?
103
+ fail ArgumentError, 'invalid value for "proximity", proximity cannot be nil.'
104
+ end
105
+ @proximity = proximity
106
+ end
107
+
108
+ # Returns the object in the form of hash, with additionalProperties support.
109
+ # @return [Hash] Returns the object in the form of hash
110
+ # @!visibility private
111
+ def to_hash
112
+ hash = {}
113
+ self.class.attribute_map.each_pair do |attr, param|
114
+ value = self.send(attr)
115
+ if value.nil?
116
+ is_nullable = self.class.openapi_nullable.include?(attr)
117
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
118
+ end
119
+
120
+ hash[param] = _to_hash(value)
121
+ end
122
+ self.additional_properties.each_pair do |attr, value|
123
+ hash[attr] = value
124
+ end
125
+ hash
126
+ end
127
+
128
+ # Checks equality by comparing each attribute.
129
+ # @param o [Object] Object to be compared
130
+ # @!visibility private
131
+ def ==(o)
132
+ return true if self.equal?(o)
133
+ self.class == o.class &&
134
+ keywords == o.keywords &&
135
+ proximity == o.proximity &&
136
+ additional_properties == o.additional_properties
137
+ end
138
+
139
+ # Calculates hash code according to all attributes.
140
+ # @return [Integer] Hash code
141
+ # @!visibility private
142
+ def hash
143
+ [keywords, proximity, additional_properties].hash
144
+ end
145
+ end
146
+ 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
+ # Specifies a pattern from Datadog’s sensitive data detection library to match known sensitive data types.
21
+ class ObservabilityPipelineSensitiveDataScannerProcessorLibraryPattern
22
+ include BaseGenericModel
23
+
24
+ # Options for selecting a predefined library pattern and enabling keyword support.
25
+ attr_reader :options
26
+
27
+ # Indicates that a predefined library pattern is used.
28
+ attr_reader :type
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
+ :'options' => :'options',
37
+ :'type' => :'type'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'options' => :'ObservabilityPipelineSensitiveDataScannerProcessorLibraryPatternOptions',
46
+ :'type' => :'ObservabilityPipelineSensitiveDataScannerProcessorLibraryPatternType'
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::ObservabilityPipelineSensitiveDataScannerProcessorLibraryPattern` 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?(:'options')
69
+ self.options = attributes[:'options']
70
+ end
71
+
72
+ if attributes.key?(:'type')
73
+ self.type = attributes[:'type']
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 @options.nil?
82
+ return false if @type.nil?
83
+ true
84
+ end
85
+
86
+ # Custom attribute writer method with validation
87
+ # @param options [Object] Object to be assigned
88
+ # @!visibility private
89
+ def options=(options)
90
+ if options.nil?
91
+ fail ArgumentError, 'invalid value for "options", options cannot be nil.'
92
+ end
93
+ @options = options
94
+ end
95
+
96
+ # Custom attribute writer method with validation
97
+ # @param type [Object] Object to be assigned
98
+ # @!visibility private
99
+ def type=(type)
100
+ if type.nil?
101
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
102
+ end
103
+ @type = type
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
+ options == o.options &&
133
+ type == o.type &&
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
+ [options, type, additional_properties].hash
142
+ end
143
+ end
144
+ end