datadog_api_client 2.47.0 → 2.48.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 (165) hide show
  1. checksums.yaml +4 -4
  2. data/.generator/schemas/v1/openapi.yaml +96 -5
  3. data/.generator/schemas/v2/openapi.yaml +2453 -707
  4. data/CHANGELOG.md +20 -0
  5. data/examples/v2/incidents/CreateIncidentAttachment.rb +22 -0
  6. data/examples/v2/incidents/DeleteIncidentAttachment.rb +8 -0
  7. data/examples/v2/incidents/ListIncidentAttachments.rb +1 -1
  8. data/examples/v2/incidents/UpdateIncidentAttachment.rb +20 -0
  9. data/examples/v2/on-call/CreateUserNotificationRule.rb +29 -0
  10. data/examples/v2/on-call/DeleteUserNotificationRule.rb +11 -0
  11. data/examples/v2/on-call/GetUserNotificationRule.rb +14 -0
  12. data/examples/v2/on-call/ListUserNotificationRules.rb +11 -0
  13. data/examples/v2/on-call/UpdateUserNotificationRule.rb +36 -0
  14. data/examples/v2/product-analytics/SubmitProductAnalyticsEvent.rb +24 -0
  15. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_2323193894.rb +48 -0
  16. data/examples/v2/synthetics/PatchGlobalVariable.rb +19 -0
  17. data/examples/v2/teams/CreateTeamNotificationRule.rb +23 -0
  18. data/examples/v2/teams/DeleteTeamConnections.rb +0 -3
  19. data/examples/v2/teams/DeleteTeamNotificationRule.rb +11 -0
  20. data/examples/v2/teams/GetTeamNotificationRule.rb +11 -0
  21. data/examples/v2/teams/GetTeamNotificationRules.rb +8 -0
  22. data/examples/v2/teams/GetTeamSync.rb +0 -3
  23. data/examples/v2/teams/ListTeamConnections.rb +0 -3
  24. data/examples/v2/teams/ListTeamConnections_2418873869.rb +0 -3
  25. data/examples/v2/teams/SyncTeams.rb +0 -3
  26. data/examples/v2/teams/SyncTeams_3215592344.rb +0 -3
  27. data/examples/v2/teams/UpdateTeamNotificationRule.rb +27 -0
  28. data/lib/datadog_api_client/configuration.rb +55 -6
  29. data/lib/datadog_api_client/inflector.rb +92 -20
  30. data/lib/datadog_api_client/v1/api/synthetics_api.rb +3 -3
  31. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +6 -4
  32. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +3 -0
  33. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +6 -0
  34. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +61 -1
  35. data/lib/datadog_api_client/v1/models/synthetics_list_tests_response.rb +1 -1
  36. data/lib/datadog_api_client/v1/models/synthetics_test_details.rb +1 -1
  37. data/lib/datadog_api_client/v1/models/synthetics_test_details_without_steps.rb +221 -0
  38. data/lib/datadog_api_client/v2/api/dora_metrics_api.rb +8 -8
  39. data/lib/datadog_api_client/v2/api/incidents_api.rb +188 -36
  40. data/lib/datadog_api_client/v2/api/on_call_api.rb +360 -0
  41. data/lib/datadog_api_client/v2/api/product_analytics_api.rb +121 -0
  42. data/lib/datadog_api_client/v2/api/software_catalog_api.rb +4 -0
  43. data/lib/datadog_api_client/v2/api/synthetics_api.rb +79 -0
  44. data/lib/datadog_api_client/v2/api/teams_api.rb +339 -30
  45. data/lib/datadog_api_client/v2/models/attachment.rb +117 -0
  46. data/lib/datadog_api_client/v2/models/{incident_attachments_response.rb → attachment_array.rb} +7 -7
  47. data/lib/datadog_api_client/v2/models/{incident_attachment_data.rb → attachment_data.rb} +8 -8
  48. data/lib/datadog_api_client/v2/models/attachment_data_attributes.rb +125 -0
  49. data/lib/datadog_api_client/v2/models/attachment_data_attributes_attachment.rb +115 -0
  50. data/lib/datadog_api_client/v2/models/{incident_attachment_attachment_type.rb → attachment_data_attributes_attachment_type.rb} +3 -3
  51. data/lib/datadog_api_client/v2/models/{incident_attachment_relationships.rb → attachment_data_relationships.rb} +5 -5
  52. data/lib/datadog_api_client/v2/models/{incident_attachment_update_request.rb → attachment_data_relationships_last_modified_by_user.rb} +6 -11
  53. data/lib/datadog_api_client/v2/models/attachment_data_relationships_last_modified_by_user_data.rb +144 -0
  54. data/lib/datadog_api_client/v2/models/{incident_attachments_response_included_item.rb → attachment_included.rb} +3 -3
  55. data/lib/datadog_api_client/v2/models/case_create_attributes.rb +11 -1
  56. data/lib/datadog_api_client/v2/models/{dora_fetch_response.rb → create_attachment_request.rb} +5 -5
  57. data/lib/datadog_api_client/v2/models/{incident_attachment_update_data.rb → create_attachment_request_data.rb} +6 -6
  58. data/lib/datadog_api_client/v2/models/create_attachment_request_data_attributes.rb +115 -0
  59. data/lib/datadog_api_client/v2/models/create_attachment_request_data_attributes_attachment.rb +115 -0
  60. data/lib/datadog_api_client/v2/models/create_on_call_notification_rule_request.rb +123 -0
  61. data/lib/datadog_api_client/v2/models/create_on_call_notification_rule_request_data.rb +143 -0
  62. data/lib/datadog_api_client/v2/models/custom_attribute_type.rb +1 -0
  63. data/lib/datadog_api_client/v2/models/dora_deployment_fetch_response.rb +105 -0
  64. data/lib/datadog_api_client/v2/models/dora_deployment_object.rb +125 -0
  65. data/lib/datadog_api_client/v2/models/dora_deployment_object_attributes.rb +225 -0
  66. data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +1 -1
  67. data/lib/datadog_api_client/v2/models/dora_deployments_list_response.rb +107 -0
  68. data/lib/datadog_api_client/v2/models/dora_failure_fetch_response.rb +105 -0
  69. data/lib/datadog_api_client/v2/models/dora_failure_request_attributes.rb +1 -1
  70. data/lib/datadog_api_client/v2/models/{dora_list_response.rb → dora_failures_list_response.rb} +5 -5
  71. data/lib/datadog_api_client/v2/models/{dora_event.rb → dora_incident_object.rb} +8 -8
  72. data/lib/datadog_api_client/v2/models/dora_incident_object_attributes.rb +225 -0
  73. data/lib/datadog_api_client/v2/models/global_variable_data.rb +125 -0
  74. data/lib/datadog_api_client/v2/models/global_variable_json_patch_request.rb +123 -0
  75. data/lib/datadog_api_client/v2/models/global_variable_json_patch_request_data.rb +115 -0
  76. data/lib/datadog_api_client/v2/models/global_variable_json_patch_request_data_attributes.rb +107 -0
  77. data/lib/datadog_api_client/v2/models/global_variable_json_patch_type.rb +26 -0
  78. data/lib/datadog_api_client/v2/models/global_variable_response.rb +105 -0
  79. data/lib/datadog_api_client/v2/models/{incident_attachment_link_attachment_type.rb → global_variable_type.rb} +3 -3
  80. data/lib/datadog_api_client/v2/models/incident_response_included_item.rb +1 -1
  81. data/lib/datadog_api_client/v2/models/{incident_attachments_postmortem_attributes_attachment_object.rb → json_patch_operation.rb} +40 -30
  82. data/lib/datadog_api_client/v2/models/json_patch_operation_op.rb +31 -0
  83. data/lib/datadog_api_client/v2/models/list_on_call_notification_rules_response.rb +119 -0
  84. data/lib/datadog_api_client/v2/models/observability_pipeline_add_env_vars_processor.rb +11 -1
  85. data/lib/datadog_api_client/v2/models/observability_pipeline_add_fields_processor.rb +11 -1
  86. data/lib/datadog_api_client/v2/models/observability_pipeline_config_processor_group.rb +11 -1
  87. data/lib/datadog_api_client/v2/models/observability_pipeline_custom_processor.rb +11 -1
  88. data/lib/datadog_api_client/v2/models/observability_pipeline_datadog_tags_processor.rb +11 -1
  89. data/lib/datadog_api_client/v2/models/observability_pipeline_dedupe_processor.rb +11 -1
  90. data/lib/datadog_api_client/v2/models/observability_pipeline_enrichment_table_processor.rb +11 -1
  91. data/lib/datadog_api_client/v2/models/observability_pipeline_filter_processor.rb +11 -1
  92. data/lib/datadog_api_client/v2/models/observability_pipeline_generate_metrics_processor.rb +11 -1
  93. data/lib/datadog_api_client/v2/models/observability_pipeline_ocsf_mapper_processor.rb +11 -1
  94. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_grok_processor.rb +11 -1
  95. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_json_processor.rb +11 -1
  96. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor.rb +11 -1
  97. data/lib/datadog_api_client/v2/models/observability_pipeline_reduce_processor.rb +11 -1
  98. data/lib/datadog_api_client/v2/models/observability_pipeline_remove_fields_processor.rb +11 -1
  99. data/lib/datadog_api_client/v2/models/observability_pipeline_rename_fields_processor.rb +11 -1
  100. data/lib/datadog_api_client/v2/models/observability_pipeline_sample_processor.rb +11 -1
  101. data/lib/datadog_api_client/v2/models/observability_pipeline_sensitive_data_scanner_processor.rb +11 -1
  102. data/lib/datadog_api_client/v2/models/observability_pipeline_throttle_processor.rb +11 -1
  103. data/lib/datadog_api_client/v2/models/{incident_attachment_update_response.rb → on_call_notification_rule.rb} +8 -11
  104. data/lib/datadog_api_client/v2/models/on_call_notification_rule_attributes.rb +125 -0
  105. data/lib/datadog_api_client/v2/models/on_call_notification_rule_category.rb +27 -0
  106. data/lib/datadog_api_client/v2/models/on_call_notification_rule_channel_relationship.rb +123 -0
  107. data/lib/datadog_api_client/v2/models/on_call_notification_rule_channel_relationship_data.rb +115 -0
  108. data/lib/datadog_api_client/v2/models/{incident_attachment_update_attributes.rb → on_call_notification_rule_channel_settings.rb} +3 -4
  109. data/lib/datadog_api_client/v2/models/on_call_notification_rule_data.rb +153 -0
  110. data/lib/datadog_api_client/v2/models/on_call_notification_rule_relationships.rb +105 -0
  111. data/lib/datadog_api_client/v2/models/on_call_notification_rule_request_attributes.rb +125 -0
  112. data/lib/datadog_api_client/v2/models/on_call_notification_rule_type.rb +26 -0
  113. data/lib/datadog_api_client/v2/models/{incident_attachment_attributes.rb → on_call_notification_rules_included.rb} +3 -4
  114. data/lib/datadog_api_client/v2/models/on_call_phone_notification_rule_method.rb +27 -0
  115. data/lib/datadog_api_client/v2/models/{incident_attachment_link_attributes_attachment_object.rb → on_call_phone_notification_rule_settings.rb} +30 -30
  116. data/lib/datadog_api_client/v2/models/patch_attachment_request.rb +105 -0
  117. data/lib/datadog_api_client/v2/models/patch_attachment_request_data.rb +143 -0
  118. data/lib/datadog_api_client/v2/models/patch_attachment_request_data_attributes.rb +105 -0
  119. data/lib/datadog_api_client/v2/models/patch_attachment_request_data_attributes_attachment.rb +115 -0
  120. data/lib/datadog_api_client/v2/models/product_analytics_server_side_event_error.rb +125 -0
  121. data/lib/datadog_api_client/v2/models/product_analytics_server_side_event_errors.rb +107 -0
  122. data/lib/datadog_api_client/v2/models/product_analytics_server_side_event_item.rb +195 -0
  123. data/lib/datadog_api_client/v2/models/product_analytics_server_side_event_item_account.rb +123 -0
  124. data/lib/datadog_api_client/v2/models/product_analytics_server_side_event_item_application.rb +124 -0
  125. data/lib/datadog_api_client/v2/models/product_analytics_server_side_event_item_event.rb +123 -0
  126. data/lib/datadog_api_client/v2/models/product_analytics_server_side_event_item_session.rb +123 -0
  127. data/lib/datadog_api_client/v2/models/product_analytics_server_side_event_item_type.rb +26 -0
  128. data/lib/datadog_api_client/v2/models/product_analytics_server_side_event_item_usr.rb +123 -0
  129. data/lib/datadog_api_client/v2/models/security_monitoring_rule_anomaly_detection_options.rb +155 -0
  130. data/lib/datadog_api_client/v2/models/security_monitoring_rule_anomaly_detection_options_bucket_duration.rb +32 -0
  131. data/lib/datadog_api_client/v2/models/security_monitoring_rule_anomaly_detection_options_detection_tolerance.rb +31 -0
  132. data/lib/datadog_api_client/v2/models/security_monitoring_rule_anomaly_detection_options_learning_duration.rb +32 -0
  133. data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +11 -1
  134. data/lib/datadog_api_client/v2/models/synthetics_global_variable.rb +248 -0
  135. data/lib/datadog_api_client/v2/models/synthetics_global_variable_attributes.rb +107 -0
  136. data/lib/datadog_api_client/v2/models/synthetics_global_variable_options.rb +105 -0
  137. data/lib/datadog_api_client/v2/models/{incident_attachment_postmortem_attributes.rb → synthetics_global_variable_parse_test_options.rb} +44 -35
  138. data/lib/datadog_api_client/v2/models/synthetics_global_variable_parse_test_options_type.rb +29 -0
  139. data/lib/datadog_api_client/v2/models/synthetics_global_variable_parser_type.rb +29 -0
  140. data/lib/datadog_api_client/v2/models/{incident_attachment_link_attributes.rb → synthetics_global_variable_totp_parameters.rb} +38 -40
  141. data/lib/datadog_api_client/v2/models/synthetics_global_variable_value.rb +126 -0
  142. data/lib/datadog_api_client/v2/models/synthetics_variable_parser.rb +133 -0
  143. data/lib/datadog_api_client/v2/models/team_notification_rule.rb +154 -0
  144. data/lib/datadog_api_client/v2/models/team_notification_rule_attributes.rb +135 -0
  145. data/lib/datadog_api_client/v2/models/team_notification_rule_attributes_email.rb +105 -0
  146. data/lib/datadog_api_client/v2/models/team_notification_rule_attributes_ms_teams.rb +105 -0
  147. data/lib/datadog_api_client/v2/models/team_notification_rule_attributes_pagerduty.rb +105 -0
  148. data/lib/datadog_api_client/v2/models/team_notification_rule_attributes_slack.rb +115 -0
  149. data/lib/datadog_api_client/v2/models/team_notification_rule_request.rb +123 -0
  150. data/lib/datadog_api_client/v2/models/team_notification_rule_response.rb +105 -0
  151. data/lib/datadog_api_client/v2/models/{incident_attachment_postmortem_attachment_type.rb → team_notification_rule_type.rb} +3 -3
  152. data/lib/datadog_api_client/v2/models/team_notification_rules_response.rb +117 -0
  153. data/lib/datadog_api_client/v2/models/team_notification_rules_response_meta.rb +105 -0
  154. data/lib/datadog_api_client/v2/models/team_notification_rules_response_meta_page.rb +184 -0
  155. data/lib/datadog_api_client/v2/models/threat_hunting_job_options.rb +11 -1
  156. data/lib/datadog_api_client/v2/models/update_on_call_notification_rule_request.rb +123 -0
  157. data/lib/datadog_api_client/v2/models/update_on_call_notification_rule_request_attributes.rb +125 -0
  158. data/lib/datadog_api_client/v2/models/update_on_call_notification_rule_request_data.rb +153 -0
  159. data/lib/datadog_api_client/v2/models/user140420082644000.rb +143 -0
  160. data/lib/datadog_api_client/v2/models/{incident_attachment_related_object.rb → user_type.rb} +2 -2
  161. data/lib/datadog_api_client/version.rb +1 -1
  162. metadata +109 -24
  163. data/examples/v2/incidents/ListIncidentAttachments_2457735435.rb +0 -11
  164. data/examples/v2/incidents/UpdateIncidentAttachments.rb +0 -38
  165. data/examples/v2/incidents/UpdateIncidentAttachments_3881702075.rb +0 -26
data/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2.48.0/2026-01-08
4
+
5
+ ### Added
6
+ * Add new bits_ai usage attribution type to Usage Attribution Public API Documentation [#2875](https://github.com/DataDog/datadog-api-client-ruby/pull/2875)
7
+ * Add Product Analytics Server-Side Events API endpoint [#2870](https://github.com/DataDog/datadog-api-client-ruby/pull/2870)
8
+ * Update /api/v2/cases endpoint to add custom attributes support [#2868](https://github.com/DataDog/datadog-api-client-ruby/pull/2868)
9
+ * Documentation for team notifications API [#2864](https://github.com/DataDog/datadog-api-client-ruby/pull/2864)
10
+ * [RQ-7160] Add llm_spans and deprecate llm_observability [#2850](https://github.com/DataDog/datadog-api-client-ruby/pull/2850)
11
+ * Add display_name to Observability Pipeline processors [#2848](https://github.com/DataDog/datadog-api-client-ruby/pull/2848)
12
+ * Add a new includeDiscovered query parameter to Software Catalog APIs [#2845](https://github.com/DataDog/datadog-api-client-ruby/pull/2845)
13
+ * Add routes for managing On-Call user notification rules [#2843](https://github.com/DataDog/datadog-api-client-ruby/pull/2843)
14
+ * Add anomaly detection options to security monitoring rules [#2841](https://github.com/DataDog/datadog-api-client-ruby/pull/2841)
15
+ * Remove preview/unstable tags from GitHub team sync and connections endpoints [#2839](https://github.com/DataDog/datadog-api-client-ruby/pull/2839)
16
+ * Added spec for flex_stored_logs [#2834](https://github.com/DataDog/datadog-api-client-ruby/pull/2834)
17
+ * Add documentation for synthetics global variable jsonpatch endpoint [#2794](https://github.com/DataDog/datadog-api-client-ruby/pull/2794)
18
+
19
+ ### Changed
20
+ * Remove steps from certain expected synthetics api response [#2874](https://github.com/DataDog/datadog-api-client-ruby/pull/2874)
21
+ * Add documentation for GET, POST, PATCH, and DELETE api/v2/incidents/incident_id/attachments endpoints [#2819](https://github.com/DataDog/datadog-api-client-ruby/pull/2819)
22
+
3
23
  ## 2.47.0/2025-12-17
4
24
 
5
25
  ### Changed
@@ -0,0 +1,22 @@
1
+ # Create incident attachment returns "Created" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.create_incident_attachment".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::IncidentsAPI.new
8
+
9
+ body = DatadogAPIClient::V2::CreateAttachmentRequest.new({
10
+ data: DatadogAPIClient::V2::CreateAttachmentRequestData.new({
11
+ attributes: DatadogAPIClient::V2::CreateAttachmentRequestDataAttributes.new({
12
+ attachment: DatadogAPIClient::V2::CreateAttachmentRequestDataAttributesAttachment.new({
13
+ document_url: "https://app.datadoghq.com/notebook/123/Postmortem-IR-123",
14
+ title: "Postmortem-IR-123",
15
+ }),
16
+ attachment_type: DatadogAPIClient::V2::AttachmentDataAttributesAttachmentType::POSTMORTEM,
17
+ }),
18
+ id: "00000000-0000-0000-0000-000000000000",
19
+ type: DatadogAPIClient::V2::IncidentAttachmentType::INCIDENT_ATTACHMENTS,
20
+ }),
21
+ })
22
+ p api_instance.create_incident_attachment("incident_id", body)
@@ -0,0 +1,8 @@
1
+ # Delete incident attachment returns "No Content" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.delete_incident_attachment".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::IncidentsAPI.new
8
+ api_instance.delete_incident_attachment("incident_id", "00000000-0000-0000-0000-000000000002")
@@ -1,4 +1,4 @@
1
- # Get a list of attachments returns "OK" response
1
+ # List incident attachments returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
4
  DatadogAPIClient.configure do |config|
@@ -0,0 +1,20 @@
1
+ # Update incident attachment returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.update_incident_attachment".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::IncidentsAPI.new
8
+
9
+ body = DatadogAPIClient::V2::PatchAttachmentRequest.new({
10
+ data: DatadogAPIClient::V2::PatchAttachmentRequestData.new({
11
+ attributes: DatadogAPIClient::V2::PatchAttachmentRequestDataAttributes.new({
12
+ attachment: DatadogAPIClient::V2::PatchAttachmentRequestDataAttributesAttachment.new({
13
+ document_url: "https://app.datadoghq.com/notebook/124/Postmortem-IR-124",
14
+ title: "Postmortem-IR-124",
15
+ }),
16
+ }),
17
+ type: DatadogAPIClient::V2::IncidentAttachmentType::INCIDENT_ATTACHMENTS,
18
+ }),
19
+ })
20
+ p api_instance.update_incident_attachment("incident_id", "00000000-0000-0000-0000-000000000002", body)
@@ -0,0 +1,29 @@
1
+ # Create an On-Call notification rule for a user returns "Created" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::OnCallAPI.new
5
+
6
+ # there is a valid "user" in the system
7
+ USER_DATA_ID = ENV["USER_DATA_ID"]
8
+
9
+ # there is a valid "oncall_email_notification_channel" in the system
10
+ ONCALL_EMAIL_NOTIFICATION_CHANNEL_DATA_ID = ENV["ONCALL_EMAIL_NOTIFICATION_CHANNEL_DATA_ID"]
11
+
12
+ body = DatadogAPIClient::V2::CreateOnCallNotificationRuleRequest.new({
13
+ data: DatadogAPIClient::V2::CreateOnCallNotificationRuleRequestData.new({
14
+ attributes: DatadogAPIClient::V2::OnCallNotificationRuleRequestAttributes.new({
15
+ category: DatadogAPIClient::V2::OnCallNotificationRuleCategory::HIGH_URGENCY,
16
+ delay_minutes: 0,
17
+ }),
18
+ relationships: DatadogAPIClient::V2::OnCallNotificationRuleRelationships.new({
19
+ channel: DatadogAPIClient::V2::OnCallNotificationRuleChannelRelationship.new({
20
+ data: DatadogAPIClient::V2::OnCallNotificationRuleChannelRelationshipData.new({
21
+ id: ONCALL_EMAIL_NOTIFICATION_CHANNEL_DATA_ID,
22
+ type: DatadogAPIClient::V2::NotificationChannelType::NOTIFICATION_CHANNELS,
23
+ }),
24
+ }),
25
+ }),
26
+ type: DatadogAPIClient::V2::OnCallNotificationRuleType::NOTIFICATION_RULES,
27
+ }),
28
+ })
29
+ p api_instance.create_user_notification_rule(USER_DATA_ID, body)
@@ -0,0 +1,11 @@
1
+ # Delete an On-Call notification rule for a user returns "No Content" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::OnCallAPI.new
5
+
6
+ # there is a valid "user" in the system
7
+ USER_DATA_ID = ENV["USER_DATA_ID"]
8
+
9
+ # there is a valid "oncall_email_notification_rule" in the system
10
+ ONCALL_EMAIL_NOTIFICATION_RULE_DATA_ID = ENV["ONCALL_EMAIL_NOTIFICATION_RULE_DATA_ID"]
11
+ api_instance.delete_user_notification_rule(USER_DATA_ID, ONCALL_EMAIL_NOTIFICATION_RULE_DATA_ID)
@@ -0,0 +1,14 @@
1
+ # Get an On-Call notification rule for a user returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::OnCallAPI.new
5
+
6
+ # there is a valid "user" in the system
7
+ USER_DATA_ID = ENV["USER_DATA_ID"]
8
+
9
+ # there is a valid "oncall_email_notification_rule" in the system
10
+ ONCALL_EMAIL_NOTIFICATION_RULE_DATA_ID = ENV["ONCALL_EMAIL_NOTIFICATION_RULE_DATA_ID"]
11
+ opts = {
12
+ include: "channel",
13
+ }
14
+ p api_instance.get_user_notification_rule(USER_DATA_ID, ONCALL_EMAIL_NOTIFICATION_RULE_DATA_ID, opts)
@@ -0,0 +1,11 @@
1
+ # List On-Call notification rules for a user returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::OnCallAPI.new
5
+
6
+ # there is a valid "user" in the system
7
+ USER_DATA_ID = ENV["USER_DATA_ID"]
8
+ opts = {
9
+ include: "channel",
10
+ }
11
+ p api_instance.list_user_notification_rules(USER_DATA_ID, opts)
@@ -0,0 +1,36 @@
1
+ # Update an On-Call notification rule for a user returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::OnCallAPI.new
5
+
6
+ # there is a valid "user" in the system
7
+ USER_DATA_ID = ENV["USER_DATA_ID"]
8
+
9
+ # there is a valid "oncall_email_notification_rule" in the system
10
+ ONCALL_EMAIL_NOTIFICATION_RULE_DATA_ID = ENV["ONCALL_EMAIL_NOTIFICATION_RULE_DATA_ID"]
11
+
12
+ # there is a valid "oncall_email_notification_channel" in the system
13
+ ONCALL_EMAIL_NOTIFICATION_CHANNEL_DATA_ID = ENV["ONCALL_EMAIL_NOTIFICATION_CHANNEL_DATA_ID"]
14
+
15
+ body = DatadogAPIClient::V2::UpdateOnCallNotificationRuleRequest.new({
16
+ data: DatadogAPIClient::V2::UpdateOnCallNotificationRuleRequestData.new({
17
+ attributes: DatadogAPIClient::V2::UpdateOnCallNotificationRuleRequestAttributes.new({
18
+ category: DatadogAPIClient::V2::OnCallNotificationRuleCategory::HIGH_URGENCY,
19
+ delay_minutes: 1,
20
+ }),
21
+ id: ONCALL_EMAIL_NOTIFICATION_RULE_DATA_ID,
22
+ relationships: DatadogAPIClient::V2::OnCallNotificationRuleRelationships.new({
23
+ channel: DatadogAPIClient::V2::OnCallNotificationRuleChannelRelationship.new({
24
+ data: DatadogAPIClient::V2::OnCallNotificationRuleChannelRelationshipData.new({
25
+ id: ONCALL_EMAIL_NOTIFICATION_CHANNEL_DATA_ID,
26
+ type: DatadogAPIClient::V2::NotificationChannelType::NOTIFICATION_CHANNELS,
27
+ }),
28
+ }),
29
+ }),
30
+ type: DatadogAPIClient::V2::OnCallNotificationRuleType::NOTIFICATION_RULES,
31
+ }),
32
+ })
33
+ opts = {
34
+ include: "channel",
35
+ }
36
+ p api_instance.update_user_notification_rule(USER_DATA_ID, ONCALL_EMAIL_NOTIFICATION_RULE_DATA_ID, body, opts)
@@ -0,0 +1,24 @@
1
+ # Send server-side events returns "Request accepted for processing (always 202 empty JSON)." response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::ProductAnalyticsAPI.new
5
+
6
+ body = DatadogAPIClient::V2::ProductAnalyticsServerSideEventItem.new({
7
+ account: DatadogAPIClient::V2::ProductAnalyticsServerSideEventItemAccount.new({
8
+ id: "account-67890",
9
+ }),
10
+ application: DatadogAPIClient::V2::ProductAnalyticsServerSideEventItemApplication.new({
11
+ id: "123abcde-123a-123b-1234-123456789abc",
12
+ }),
13
+ event: DatadogAPIClient::V2::ProductAnalyticsServerSideEventItemEvent.new({
14
+ name: "payment.processed",
15
+ }),
16
+ session: DatadogAPIClient::V2::ProductAnalyticsServerSideEventItemSession.new({
17
+ id: "session-abcdef",
18
+ }),
19
+ type: DatadogAPIClient::V2::ProductAnalyticsServerSideEventItemType::SERVER,
20
+ usr: DatadogAPIClient::V2::ProductAnalyticsServerSideEventItemUsr.new({
21
+ id: "user-12345",
22
+ }),
23
+ })
24
+ p api_instance.submit_product_analytics_event(body)
@@ -0,0 +1,48 @@
1
+ # Create a detection rule with detection method 'anomaly_detection' returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
5
+
6
+ body = DatadogAPIClient::V2::SecurityMonitoringStandardRuleCreatePayload.new({
7
+ name: "Example-Security-Monitoring",
8
+ type: DatadogAPIClient::V2::SecurityMonitoringRuleTypeCreate::LOG_DETECTION,
9
+ is_enabled: true,
10
+ queries: [
11
+ DatadogAPIClient::V2::SecurityMonitoringStandardRuleQuery.new({
12
+ aggregation: DatadogAPIClient::V2::SecurityMonitoringRuleQueryAggregation::COUNT,
13
+ data_source: DatadogAPIClient::V2::SecurityMonitoringStandardDataSource::LOGS,
14
+ distinct_fields: [],
15
+ group_by_fields: [
16
+ "@usr.email",
17
+ "@network.client.ip",
18
+ ],
19
+ has_optional_group_by_fields: false,
20
+ name: "",
21
+ query: "service:app status:error",
22
+ }),
23
+ ],
24
+ cases: [
25
+ DatadogAPIClient::V2::SecurityMonitoringRuleCaseCreate.new({
26
+ name: "",
27
+ status: DatadogAPIClient::V2::SecurityMonitoringRuleSeverity::INFO,
28
+ notifications: [],
29
+ condition: "a > 0.995",
30
+ }),
31
+ ],
32
+ message: "An anomaly detection rule",
33
+ options: DatadogAPIClient::V2::SecurityMonitoringRuleOptions.new({
34
+ detection_method: DatadogAPIClient::V2::SecurityMonitoringRuleDetectionMethod::ANOMALY_DETECTION,
35
+ evaluation_window: DatadogAPIClient::V2::SecurityMonitoringRuleEvaluationWindow::FIFTEEN_MINUTES,
36
+ keep_alive: DatadogAPIClient::V2::SecurityMonitoringRuleKeepAlive::ONE_HOUR,
37
+ max_signal_duration: DatadogAPIClient::V2::SecurityMonitoringRuleMaxSignalDuration::ONE_DAY,
38
+ anomaly_detection_options: DatadogAPIClient::V2::SecurityMonitoringRuleAnomalyDetectionOptions.new({
39
+ bucket_duration: DatadogAPIClient::V2::SecurityMonitoringRuleAnomalyDetectionOptionsBucketDuration::FIVE_MINUTES,
40
+ learning_duration: DatadogAPIClient::V2::SecurityMonitoringRuleAnomalyDetectionOptionsLearningDuration::ONE_DAY,
41
+ detection_tolerance: DatadogAPIClient::V2::SecurityMonitoringRuleAnomalyDetectionOptionsDetectionTolerance::THREE,
42
+ learning_period_baseline: 10,
43
+ }),
44
+ }),
45
+ tags: [],
46
+ filters: [],
47
+ })
48
+ p api_instance.create_security_monitoring_rule(body)
@@ -0,0 +1,19 @@
1
+ # Patch a global variable returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::SyntheticsAPI.new
5
+
6
+ body = DatadogAPIClient::V2::GlobalVariableJsonPatchRequest.new({
7
+ data: DatadogAPIClient::V2::GlobalVariableJsonPatchRequestData.new({
8
+ attributes: DatadogAPIClient::V2::GlobalVariableJsonPatchRequestDataAttributes.new({
9
+ json_patch: [
10
+ DatadogAPIClient::V2::JsonPatchOperation.new({
11
+ op: DatadogAPIClient::V2::JsonPatchOperationOp::ADD,
12
+ path: "/name",
13
+ }),
14
+ ],
15
+ }),
16
+ type: DatadogAPIClient::V2::GlobalVariableJsonPatchType::GLOBAL_VARIABLES_JSON_PATCH,
17
+ }),
18
+ })
19
+ p api_instance.patch_global_variable("variable_id", body)
@@ -0,0 +1,23 @@
1
+ # Create team notification rule returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::TeamsAPI.new
5
+
6
+ # there is a valid "dd_team" in the system
7
+ DD_TEAM_DATA_ID = ENV["DD_TEAM_DATA_ID"]
8
+
9
+ body = DatadogAPIClient::V2::TeamNotificationRuleRequest.new({
10
+ data: DatadogAPIClient::V2::TeamNotificationRule.new({
11
+ type: DatadogAPIClient::V2::TeamNotificationRuleType::TEAM_NOTIFICATION_RULES,
12
+ attributes: DatadogAPIClient::V2::TeamNotificationRuleAttributes.new({
13
+ email: DatadogAPIClient::V2::TeamNotificationRuleAttributesEmail.new({
14
+ enabled: true,
15
+ }),
16
+ slack: DatadogAPIClient::V2::TeamNotificationRuleAttributesSlack.new({
17
+ workspace: "Datadog",
18
+ channel: "aaa-omg-ops",
19
+ }),
20
+ }),
21
+ }),
22
+ })
23
+ p api_instance.create_team_notification_rule(DD_TEAM_DATA_ID, body)
@@ -1,9 +1,6 @@
1
1
  # Delete team connections returns "No Content" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.delete_team_connections".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::TeamsAPI.new
8
5
 
9
6
  body = DatadogAPIClient::V2::TeamConnectionDeleteRequest.new({
@@ -0,0 +1,11 @@
1
+ # Delete team notification rule returns "No Content" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::TeamsAPI.new
5
+
6
+ # there is a valid "dd_team" in the system
7
+ DD_TEAM_DATA_ID = ENV["DD_TEAM_DATA_ID"]
8
+
9
+ # there is a valid "team_notification_rule" in the system
10
+ TEAM_NOTIFICATION_RULE_DATA_ID = ENV["TEAM_NOTIFICATION_RULE_DATA_ID"]
11
+ api_instance.delete_team_notification_rule(DD_TEAM_DATA_ID, TEAM_NOTIFICATION_RULE_DATA_ID)
@@ -0,0 +1,11 @@
1
+ # Get team notification rule returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::TeamsAPI.new
5
+
6
+ # there is a valid "dd_team" in the system
7
+ DD_TEAM_DATA_ID = ENV["DD_TEAM_DATA_ID"]
8
+
9
+ # there is a valid "team_notification_rule" in the system
10
+ TEAM_NOTIFICATION_RULE_DATA_ID = ENV["TEAM_NOTIFICATION_RULE_DATA_ID"]
11
+ p api_instance.get_team_notification_rule(DD_TEAM_DATA_ID, TEAM_NOTIFICATION_RULE_DATA_ID)
@@ -0,0 +1,8 @@
1
+ # Get team notification rules returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::TeamsAPI.new
5
+
6
+ # there is a valid "dd_team" in the system
7
+ DD_TEAM_DATA_ID = ENV["DD_TEAM_DATA_ID"]
8
+ p api_instance.get_team_notification_rules(DD_TEAM_DATA_ID)
@@ -1,8 +1,5 @@
1
1
  # Get team sync configurations returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.get_team_sync".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::TeamsAPI.new
8
5
  p api_instance.get_team_sync(TeamSyncAttributesSource::GITHUB)
@@ -1,8 +1,5 @@
1
1
  # List team connections returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.list_team_connections".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::TeamsAPI.new
8
5
  p api_instance.list_team_connections()
@@ -1,8 +1,5 @@
1
1
  # List team connections returns "OK" response with pagination
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.list_team_connections".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::TeamsAPI.new
8
5
  api_instance.list_team_connections_with_pagination() { |item| puts item }
@@ -1,9 +1,6 @@
1
1
  # Link Teams with GitHub Teams returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.sync_teams".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::TeamsAPI.new
8
5
 
9
6
  body = DatadogAPIClient::V2::TeamSyncRequest.new({
@@ -1,9 +1,6 @@
1
1
  # Sync teams returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.sync_teams".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::TeamsAPI.new
8
5
 
9
6
  body = DatadogAPIClient::V2::TeamSyncRequest.new({
@@ -0,0 +1,27 @@
1
+ # Update team notification rule returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::TeamsAPI.new
5
+
6
+ # there is a valid "dd_team" in the system
7
+ DD_TEAM_DATA_ID = ENV["DD_TEAM_DATA_ID"]
8
+
9
+ # there is a valid "team_notification_rule" in the system
10
+ TEAM_NOTIFICATION_RULE_DATA_ID = ENV["TEAM_NOTIFICATION_RULE_DATA_ID"]
11
+
12
+ body = DatadogAPIClient::V2::TeamNotificationRuleRequest.new({
13
+ data: DatadogAPIClient::V2::TeamNotificationRule.new({
14
+ type: DatadogAPIClient::V2::TeamNotificationRuleType::TEAM_NOTIFICATION_RULES,
15
+ id: TEAM_NOTIFICATION_RULE_DATA_ID,
16
+ attributes: DatadogAPIClient::V2::TeamNotificationRuleAttributes.new({
17
+ pagerduty: DatadogAPIClient::V2::TeamNotificationRuleAttributesPagerduty.new({
18
+ service_name: "Datadog-prod",
19
+ }),
20
+ slack: DatadogAPIClient::V2::TeamNotificationRuleAttributesSlack.new({
21
+ workspace: "Datadog",
22
+ channel: "aaa-governance-ops",
23
+ }),
24
+ }),
25
+ }),
26
+ })
27
+ p api_instance.update_team_notification_rule(DD_TEAM_DATA_ID, TEAM_NOTIFICATION_RULE_DATA_ID, body)
@@ -249,12 +249,14 @@ module DatadogAPIClient
249
249
  "v2.update_deployment_gate": false,
250
250
  "v2.update_deployment_rule": false,
251
251
  "v2.create_incident": false,
252
+ "v2.create_incident_attachment": false,
252
253
  "v2.create_incident_integration": false,
253
254
  "v2.create_incident_notification_rule": false,
254
255
  "v2.create_incident_notification_template": false,
255
256
  "v2.create_incident_todo": false,
256
257
  "v2.create_incident_type": false,
257
258
  "v2.delete_incident": false,
259
+ "v2.delete_incident_attachment": false,
258
260
  "v2.delete_incident_integration": false,
259
261
  "v2.delete_incident_notification_rule": false,
260
262
  "v2.delete_incident_notification_template": false,
@@ -275,7 +277,7 @@ module DatadogAPIClient
275
277
  "v2.list_incident_types": false,
276
278
  "v2.search_incidents": false,
277
279
  "v2.update_incident": false,
278
- "v2.update_incident_attachments": false,
280
+ "v2.update_incident_attachment": false,
279
281
  "v2.update_incident_integration": false,
280
282
  "v2.update_incident_notification_rule": false,
281
283
  "v2.update_incident_notification_template": false,
@@ -335,13 +337,8 @@ module DatadogAPIClient
335
337
  "v2.create_sca_resolve_vulnerable_symbols": false,
336
338
  "v2.create_sca_result": false,
337
339
  "v2.add_member_team": false,
338
- "v2.create_team_connections": false,
339
- "v2.delete_team_connections": false,
340
- "v2.get_team_sync": false,
341
340
  "v2.list_member_teams": false,
342
- "v2.list_team_connections": false,
343
341
  "v2.remove_member_team": false,
344
- "v2.sync_teams": false,
345
342
  "v2.create_incident_team": false,
346
343
  "v2.delete_incident_team": false,
347
344
  "v2.get_incident_team": false,
@@ -909,6 +906,58 @@ module DatadogAPIClient
909
906
  }
910
907
  }
911
908
  ],
909
+ "v2.submit_product_analytics_event": [
910
+ {
911
+ url: +"https://{subdomain}.{site}",
912
+ description: "No description provided",
913
+ variables: {
914
+ site: {
915
+ description: "The regional site for customers.",
916
+ default_value: "datadoghq.com",
917
+ enum_values: [
918
+ "datadoghq.com",
919
+ "us3.datadoghq.com",
920
+ "us5.datadoghq.com",
921
+ "ap1.datadoghq.com",
922
+ "ap2.datadoghq.com",
923
+ "datadoghq.eu"
924
+ ]
925
+ },
926
+ subdomain: {
927
+ description: "The subdomain where the API is deployed.",
928
+ default_value: "browser-intake",
929
+ }
930
+ }
931
+ },
932
+ {
933
+ url: +"{protocol}://{name}",
934
+ description: "No description provided",
935
+ variables: {
936
+ name: {
937
+ description: "Full site DNS name.",
938
+ default_value: "browser-intake-datadoghq.com",
939
+ },
940
+ protocol: {
941
+ description: "The protocol for accessing the API.",
942
+ default_value: "https",
943
+ }
944
+ }
945
+ },
946
+ {
947
+ url: +"https://{subdomain}.{site}",
948
+ description: "No description provided",
949
+ variables: {
950
+ site: {
951
+ description: "Any Datadog deployment.",
952
+ default_value: "datadoghq.com",
953
+ },
954
+ subdomain: {
955
+ description: "The subdomain where the API is deployed.",
956
+ default_value: "browser-intake",
957
+ }
958
+ }
959
+ }
960
+ ],
912
961
  }
913
962
  end
914
963