datadog_api_client 2.31.1 → 2.32.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 (206) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/schemas/v1/openapi.yaml +80 -4
  4. data/.generator/schemas/v2/openapi.yaml +2404 -55
  5. data/.generator/src/generator/cli.py +1 -1
  6. data/.generator/src/generator/formatter.py +3 -0
  7. data/.generator/src/generator/templates/api.j2 +1 -1
  8. data/.generator/src/generator/templates/inflector.j2 +1 -1
  9. data/CHANGELOG.md +27 -0
  10. data/examples/v1/slack-integration/CreateSlackIntegrationChannel.rb +1 -0
  11. data/examples/v1/slack-integration/UpdateSlackIntegrationChannel.rb +1 -0
  12. data/examples/v2/action-connection/CreateActionConnection.rb +1 -1
  13. data/examples/v2/action-connection/DeleteActionConnection.rb +4 -1
  14. data/examples/v2/apm-retention-filters/CreateApmRetentionFilter_3853850379.rb +21 -0
  15. data/examples/v2/apm-retention-filters/UpdateApmRetentionFilter_3916044058.rb +25 -0
  16. data/examples/v2/cloud-network-monitoring/GetAggregatedConnections.rb +8 -0
  17. data/examples/v2/cloud-network-monitoring/GetAggregatedConnections_3059356111.rb +8 -0
  18. data/examples/v2/observability-pipelines/CreatePipeline.rb +44 -0
  19. data/examples/v2/observability-pipelines/DeletePipeline.rb +11 -0
  20. data/examples/v2/observability-pipelines/GetPipeline.rb +11 -0
  21. data/examples/v2/observability-pipelines/UpdatePipeline.rb +48 -0
  22. data/examples/v2/on-call/CreateOnCallSchedule.rb +61 -0
  23. data/examples/v2/on-call/DeleteOnCallSchedule.rb +8 -0
  24. data/examples/v2/on-call/GetOnCallSchedule.rb +8 -0
  25. data/examples/v2/on-call/UpdateOnCallSchedule.rb +68 -0
  26. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_1965169892.rb +6 -0
  27. data/examples/v2/service-definition/CreateOrUpdateServiceDefinitions.rb +1 -1
  28. data/examples/v2/software-catalog/UpsertCatalogEntity.rb +1 -0
  29. data/lib/datadog_api_client/configuration.rb +5 -0
  30. data/lib/datadog_api_client/inflector.rb +122 -1
  31. data/lib/datadog_api_client/v1/api/monitors_api.rb +1 -1
  32. data/lib/datadog_api_client/v1/models/formula_and_function_slo_query_type.rb +1 -0
  33. data/lib/datadog_api_client/v1/models/slack_integration_channel_display.rb +11 -1
  34. data/lib/datadog_api_client/v1/models/synthetics_step_type.rb +1 -0
  35. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +41 -1
  36. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +41 -1
  37. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +41 -1
  38. data/lib/datadog_api_client/v2/api/cloud_network_monitoring_api.rb +108 -0
  39. data/lib/datadog_api_client/v2/api/downtimes_api.rb +2 -0
  40. data/lib/datadog_api_client/v2/api/observability_pipelines_api.rb +319 -0
  41. data/lib/datadog_api_client/v2/api/on_call_api.rb +301 -0
  42. data/lib/datadog_api_client/v2/api/restriction_policies_api.rb +7 -3
  43. data/lib/datadog_api_client/v2/models/api_trigger.rb +1 -1
  44. data/lib/datadog_api_client/v2/models/api_trigger_wrapper.rb +1 -1
  45. data/lib/datadog_api_client/v2/models/app_trigger_wrapper.rb +1 -1
  46. data/lib/datadog_api_client/v2/models/application_security_waf_custom_rule_tags_category.rb +1 -1
  47. data/lib/datadog_api_client/v2/models/case_trigger.rb +1 -1
  48. data/lib/datadog_api_client/v2/models/case_trigger_wrapper.rb +1 -1
  49. data/lib/datadog_api_client/v2/models/change_event_trigger_wrapper.rb +1 -1
  50. data/lib/datadog_api_client/v2/models/dashboard_trigger_wrapper.rb +1 -1
  51. data/lib/datadog_api_client/v2/models/database_monitoring_trigger_wrapper.rb +135 -0
  52. data/lib/datadog_api_client/v2/models/entity_response_included_incident.rb +1 -1
  53. data/lib/datadog_api_client/v2/models/{service_definition_v2_dot2_type.rb → entity_response_included_incident_type.rb} +3 -9
  54. data/lib/datadog_api_client/v2/models/entity_response_included_oncall.rb +1 -1
  55. data/lib/datadog_api_client/v2/models/entity_response_included_oncall_type.rb +26 -0
  56. data/lib/datadog_api_client/v2/models/entity_response_included_raw_schema.rb +1 -1
  57. data/lib/datadog_api_client/v2/models/entity_response_included_raw_schema_type.rb +26 -0
  58. data/lib/datadog_api_client/v2/models/entity_response_included_related_entity.rb +1 -1
  59. data/lib/datadog_api_client/v2/models/entity_response_included_related_entity_type.rb +26 -0
  60. data/lib/datadog_api_client/v2/models/entity_response_included_schema.rb +1 -1
  61. data/lib/datadog_api_client/v2/models/entity_response_included_schema_type.rb +26 -0
  62. data/lib/datadog_api_client/v2/models/entity_v3_datastore_spec.rb +13 -1
  63. data/lib/datadog_api_client/v2/models/entity_v3_queue_spec.rb +13 -1
  64. data/lib/datadog_api_client/v2/models/entity_v3_service_spec.rb +13 -1
  65. data/lib/datadog_api_client/v2/models/github_webhook_trigger.rb +1 -1
  66. data/lib/datadog_api_client/v2/models/github_webhook_trigger_wrapper.rb +1 -1
  67. data/lib/datadog_api_client/v2/models/historical_job_query.rb +11 -1
  68. data/lib/datadog_api_client/v2/models/incident_trigger.rb +1 -1
  69. data/lib/datadog_api_client/v2/models/incident_trigger_wrapper.rb +1 -1
  70. data/lib/datadog_api_client/v2/models/interface_attributes.rb +13 -1
  71. data/lib/datadog_api_client/v2/models/layer.rb +135 -0
  72. data/lib/datadog_api_client/v2/models/layer_attributes.rb +157 -0
  73. data/lib/datadog_api_client/v2/models/layer_attributes_interval.rb +144 -0
  74. data/lib/datadog_api_client/v2/models/layer_attributes_restrictions_items.rb +136 -0
  75. data/lib/datadog_api_client/v2/models/layer_attributes_restrictions_items_end_day.rb +32 -0
  76. data/lib/datadog_api_client/v2/models/layer_attributes_restrictions_items_start_day.rb +32 -0
  77. data/lib/datadog_api_client/v2/models/layer_relationships.rb +105 -0
  78. data/lib/datadog_api_client/v2/models/layer_relationships_members.rb +107 -0
  79. data/lib/datadog_api_client/v2/models/layer_relationships_members_data_items.rb +116 -0
  80. data/lib/datadog_api_client/v2/models/layer_relationships_members_data_items_type.rb +26 -0
  81. data/lib/datadog_api_client/v2/models/layer_type.rb +26 -0
  82. data/lib/datadog_api_client/v2/models/logs_aggregate_request.rb +1 -1
  83. data/lib/datadog_api_client/v2/models/logs_list_request.rb +1 -1
  84. data/lib/datadog_api_client/v2/models/logs_query_options.rb +4 -1
  85. data/lib/datadog_api_client/v2/models/monitor_trigger.rb +1 -1
  86. data/lib/datadog_api_client/v2/models/monitor_trigger_wrapper.rb +1 -1
  87. data/lib/datadog_api_client/v2/models/notebook_trigger_wrapper.rb +135 -0
  88. data/lib/datadog_api_client/v2/models/observability_pipeline.rb +123 -0
  89. data/lib/datadog_api_client/v2/models/observability_pipeline_add_fields_processor.rb +211 -0
  90. data/lib/datadog_api_client/v2/models/observability_pipeline_add_fields_processor_type.rb +26 -0
  91. data/lib/datadog_api_client/v2/models/observability_pipeline_config.rb +171 -0
  92. data/lib/datadog_api_client/v2/models/observability_pipeline_config_destination_item.rb +62 -0
  93. data/lib/datadog_api_client/v2/models/observability_pipeline_config_processor_item.rb +67 -0
  94. data/lib/datadog_api_client/v2/models/observability_pipeline_config_source_item.rb +63 -0
  95. data/lib/datadog_api_client/v2/models/observability_pipeline_create_request.rb +123 -0
  96. data/lib/datadog_api_client/v2/models/observability_pipeline_create_request_data.rb +144 -0
  97. data/lib/datadog_api_client/v2/models/observability_pipeline_data.rb +165 -0
  98. data/lib/datadog_api_client/v2/models/observability_pipeline_data_attributes.rb +144 -0
  99. data/lib/datadog_api_client/v2/models/observability_pipeline_datadog_agent_source.rb +154 -0
  100. data/lib/datadog_api_client/v2/models/observability_pipeline_datadog_agent_source_type.rb +26 -0
  101. data/lib/datadog_api_client/v2/models/observability_pipeline_datadog_logs_destination.rb +167 -0
  102. data/lib/datadog_api_client/v2/models/observability_pipeline_datadog_logs_destination_type.rb +26 -0
  103. data/lib/datadog_api_client/v2/models/observability_pipeline_field_value.rb +144 -0
  104. data/lib/datadog_api_client/v2/models/observability_pipeline_filter_processor.rb +188 -0
  105. data/lib/datadog_api_client/v2/models/observability_pipeline_filter_processor_type.rb +26 -0
  106. data/lib/datadog_api_client/v2/models/observability_pipeline_kafka_source.rb +220 -0
  107. data/lib/datadog_api_client/v2/models/observability_pipeline_kafka_source_librdkafka_option.rb +144 -0
  108. data/lib/datadog_api_client/v2/models/observability_pipeline_kafka_source_sasl.rb +105 -0
  109. data/lib/datadog_api_client/v2/models/observability_pipeline_kafka_source_type.rb +26 -0
  110. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_json_processor.rb +209 -0
  111. data/lib/datadog_api_client/v2/models/observability_pipeline_parse_json_processor_type.rb +26 -0
  112. data/lib/datadog_api_client/v2/models/observability_pipeline_pipeline_kafka_source_sasl_mechanism.rb +28 -0
  113. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor.rb +285 -0
  114. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor_limit.rb +144 -0
  115. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor_limit_enforce_type.rb +27 -0
  116. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor_override.rb +146 -0
  117. data/lib/datadog_api_client/v2/models/observability_pipeline_quota_processor_type.rb +26 -0
  118. data/lib/datadog_api_client/v2/models/observability_pipeline_remove_fields_processor.rb +211 -0
  119. data/lib/datadog_api_client/v2/models/observability_pipeline_remove_fields_processor_type.rb +26 -0
  120. data/lib/datadog_api_client/v2/models/observability_pipeline_rename_fields_processor.rb +211 -0
  121. data/lib/datadog_api_client/v2/models/observability_pipeline_rename_fields_processor_field.rb +165 -0
  122. data/lib/datadog_api_client/v2/models/observability_pipeline_rename_fields_processor_type.rb +26 -0
  123. data/lib/datadog_api_client/v2/models/observability_pipeline_tls.rb +143 -0
  124. data/lib/datadog_api_client/v2/models/retention_filter_all_attributes.rb +16 -5
  125. data/lib/datadog_api_client/v2/models/retention_filter_attributes.rb +16 -5
  126. data/lib/datadog_api_client/v2/models/retention_filter_create_attributes.rb +16 -5
  127. data/lib/datadog_api_client/v2/models/retention_filter_update_attributes.rb +16 -5
  128. data/lib/datadog_api_client/v2/models/schedule.rb +117 -0
  129. data/lib/datadog_api_client/v2/models/schedule_create_request.rb +123 -0
  130. data/lib/datadog_api_client/v2/models/schedule_create_request_data.rb +154 -0
  131. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes.rb +179 -0
  132. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items.rb +231 -0
  133. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items_interval.rb +144 -0
  134. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items_members_items.rb +105 -0
  135. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items_members_items_user.rb +105 -0
  136. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items_restrictions_items.rb +136 -0
  137. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items_restrictions_items_end_day.rb +32 -0
  138. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items_restrictions_items_start_day.rb +32 -0
  139. data/lib/datadog_api_client/v2/models/schedule_create_request_data_relationships.rb +105 -0
  140. data/lib/datadog_api_client/v2/models/schedule_create_request_data_relationships_teams.rb +107 -0
  141. data/lib/datadog_api_client/v2/models/schedule_create_request_data_relationships_teams_data_items.rb +116 -0
  142. data/lib/datadog_api_client/v2/models/schedule_create_request_data_relationships_teams_data_items_type.rb +26 -0
  143. data/lib/datadog_api_client/v2/models/schedule_create_request_data_type.rb +26 -0
  144. data/lib/datadog_api_client/v2/models/schedule_data.rb +135 -0
  145. data/lib/datadog_api_client/v2/models/schedule_data_attributes.rb +127 -0
  146. data/lib/datadog_api_client/v2/models/schedule_data_included_item.rb +65 -0
  147. data/lib/datadog_api_client/v2/models/schedule_data_relationships.rb +115 -0
  148. data/lib/datadog_api_client/v2/models/schedule_data_relationships_layers.rb +107 -0
  149. data/lib/datadog_api_client/v2/models/schedule_data_relationships_layers_data_items.rb +115 -0
  150. data/lib/datadog_api_client/v2/models/schedule_data_relationships_layers_data_items_type.rb +26 -0
  151. data/lib/datadog_api_client/v2/models/schedule_data_relationships_teams.rb +107 -0
  152. data/lib/datadog_api_client/v2/models/schedule_data_relationships_teams_data_items.rb +115 -0
  153. data/lib/datadog_api_client/v2/models/schedule_data_relationships_teams_data_items_type.rb +26 -0
  154. data/lib/datadog_api_client/v2/models/schedule_data_type.rb +26 -0
  155. data/lib/datadog_api_client/v2/models/schedule_member.rb +125 -0
  156. data/lib/datadog_api_client/v2/models/schedule_member_relationships.rb +105 -0
  157. data/lib/datadog_api_client/v2/models/schedule_member_relationships_user.rb +105 -0
  158. data/lib/datadog_api_client/v2/models/schedule_member_relationships_user_data.rb +115 -0
  159. data/lib/datadog_api_client/v2/models/schedule_member_relationships_user_data_type.rb +26 -0
  160. data/lib/datadog_api_client/v2/models/schedule_member_type.rb +26 -0
  161. data/lib/datadog_api_client/v2/models/schedule_trigger.rb +1 -1
  162. data/lib/datadog_api_client/v2/models/schedule_trigger_wrapper.rb +1 -1
  163. data/lib/datadog_api_client/v2/models/schedule_update_request.rb +123 -0
  164. data/lib/datadog_api_client/v2/models/schedule_update_request_data.rb +175 -0
  165. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes.rb +179 -0
  166. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items.rb +180 -0
  167. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_interval.rb +144 -0
  168. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_members_items.rb +106 -0
  169. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_members_items_user.rb +105 -0
  170. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_restrictions_items.rb +136 -0
  171. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_restrictions_items_end_day.rb +32 -0
  172. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items_restrictions_items_start_day.rb +32 -0
  173. data/lib/datadog_api_client/v2/models/schedule_update_request_data_relationships.rb +105 -0
  174. data/lib/datadog_api_client/v2/models/schedule_update_request_data_relationships_teams.rb +107 -0
  175. data/lib/datadog_api_client/v2/models/schedule_update_request_data_relationships_teams_data_items.rb +115 -0
  176. data/lib/datadog_api_client/v2/models/schedule_update_request_data_relationships_teams_data_items_type.rb +26 -0
  177. data/lib/datadog_api_client/v2/models/schedule_update_request_data_type.rb +26 -0
  178. data/lib/datadog_api_client/v2/models/schedule_user.rb +125 -0
  179. data/lib/datadog_api_client/v2/models/schedule_user_attributes.rb +115 -0
  180. data/lib/datadog_api_client/v2/models/schedule_user_type.rb +26 -0
  181. data/lib/datadog_api_client/v2/models/security_monitoring_rule_case_action_options.rb +13 -3
  182. data/lib/datadog_api_client/v2/models/security_monitoring_rule_case_action_type.rb +1 -0
  183. data/lib/datadog_api_client/v2/models/security_monitoring_standard_data_source.rb +31 -0
  184. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_query.rb +11 -1
  185. data/lib/datadog_api_client/v2/models/security_trigger.rb +1 -1
  186. data/lib/datadog_api_client/v2/models/security_trigger_wrapper.rb +1 -1
  187. data/lib/datadog_api_client/v2/models/self_service_trigger_wrapper.rb +135 -0
  188. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2.rb +1 -1
  189. data/lib/datadog_api_client/v2/models/single_aggregated_connection_response_array.rb +107 -0
  190. data/lib/datadog_api_client/v2/models/single_aggregated_connection_response_data.rb +125 -0
  191. data/lib/datadog_api_client/v2/models/single_aggregated_connection_response_data_attributes.rb +215 -0
  192. data/lib/datadog_api_client/v2/models/single_aggregated_connection_response_data_type.rb +26 -0
  193. data/lib/datadog_api_client/v2/models/slack_trigger_wrapper.rb +1 -1
  194. data/lib/datadog_api_client/v2/models/software_catalog_trigger_wrapper.rb +135 -0
  195. data/lib/datadog_api_client/v2/models/team_reference.rb +135 -0
  196. data/lib/datadog_api_client/v2/models/team_reference_attributes.rb +135 -0
  197. data/lib/datadog_api_client/v2/models/team_reference_relationships.rb +105 -0
  198. data/lib/datadog_api_client/v2/models/team_reference_relationships_oncall_users.rb +107 -0
  199. data/lib/datadog_api_client/v2/models/team_reference_relationships_oncall_users_data_items.rb +115 -0
  200. data/lib/datadog_api_client/v2/models/team_reference_relationships_oncall_users_data_items_type.rb +26 -0
  201. data/lib/datadog_api_client/v2/models/team_reference_type.rb +26 -0
  202. data/lib/datadog_api_client/v2/models/trigger.rb +4 -0
  203. data/lib/datadog_api_client/v2/models/workflow_trigger_wrapper.rb +1 -1
  204. data/lib/datadog_api_client/version.rb +1 -1
  205. metadata +136 -4
  206. data/examples/v2/action-connection/DeleteActionConnection_2142905164.rb +0 -8
@@ -40,7 +40,7 @@ def cli(specs, output):
40
40
  env.filters["return_type"] = openapi.return_type
41
41
  env.filters["snake_case"] = formatter.snake_case
42
42
  env.filters["attribute_path"] = formatter.attribute_path
43
-
43
+ env.filters["class_name"] = formatter.class_name
44
44
  env.globals["gem_name"] = GEM_NAME
45
45
  env.globals["module_name"] = MODULE_NAME
46
46
  env.globals["enumerate"] = enumerate
@@ -342,6 +342,9 @@ def format_data_with_schema_dict(
342
342
 
343
343
  return parameters
344
344
 
345
+ def class_name(value):
346
+ value = re.sub(r'[^a-zA-Z0-9]', '', value)
347
+ return value + "API"
345
348
 
346
349
  def attribute_path(attribute):
347
350
  return ".".join(attribute_name(a) for a in attribute.split("."))
@@ -5,7 +5,7 @@
5
5
  require 'cgi'
6
6
 
7
7
  module {{ module_name }}::{{ version|upper }}
8
- {%- set classname = name.replace(" ", "") + "API" %}
8
+ {%- set classname = name|class_name %}
9
9
  class {{ classname }}
10
10
  attr_accessor :api_client
11
11
 
@@ -18,7 +18,7 @@ module {{ module_name }}
18
18
  # APIs
19
19
  {%- for version, apis in all_apis.items() %}
20
20
  {%- for api in apis|sort %}
21
- {%- set name = api.replace(" ", "") + "API" %}
21
+ {%- set name = api|class_name %}
22
22
  "{{ version }}.{{ api|snake_case }}_api" => "{{ name }}"{%-if not loop.last %},{% endif %}
23
23
  {%- endfor %}{%-if not loop.last %},{% endif %}
24
24
  {%- endfor %}
data/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2.32.0 / 2025-04-14
4
+
5
+ ### Fixed
6
+ * Change `type` to enum to discriminate included items in the response of `ListCatalogEntity` by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/2298
7
+ * Deprecate options from logs aggregate API public spec by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/2306
8
+ * change a category in enum for datadog_appsec_waf_custom_rule by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/2300
9
+ ### Added
10
+ * Include new rum types in Usage_metering Yaml by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/2296
11
+ * Adding new UT apm_error_events keys in summary endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/2290
12
+ * Add more triggers for workflow automation by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/2301
13
+ * Add specs for Cloud Network Monitoring API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/2310
14
+ * Add more Security Monitoring Data Source enum values by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/2305
15
+ * Add componentOf field to Service, Queue, and Datastore V3 Software Catalog definitions by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/2308
16
+ * Add 'mute_buttons' argument to slack channel definition by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/2312
17
+ * Add Observability Pipelines API by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/2311
18
+ * add rum slo bugfix by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/2319
19
+ * Add trace_rate support to APM retention filter APIs by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/2324
20
+ * Update NDM GetInterfaces documentation to add ip_addresses attribute by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/2323
21
+ * Add assertRequests browser step type by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/2328
22
+ * Add user behavior case actions in API spec by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/2327
23
+ ### Changed
24
+ * Remove OpenAPI enum enforcement of Service Definition v2dot2 type field from service definition endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/2294
25
+ * Add on-call schedules endpoint by @api-clients-generation-pipeline in https://github.com/DataDog/datadog-api-client-ruby/pull/2313
26
+
27
+
28
+ **Full Changelog**: https://github.com/DataDog/datadog-api-client-ruby/compare/v2.31.1...v2.32.0
29
+
3
30
  ## 2.31.1 / 2025-03-11
4
31
 
5
32
  ### Changed
@@ -6,6 +6,7 @@ api_instance = DatadogAPIClient::V1::SlackIntegrationAPI.new
6
6
  body = DatadogAPIClient::V1::SlackIntegrationChannel.new({
7
7
  display: DatadogAPIClient::V1::SlackIntegrationChannelDisplay.new({
8
8
  message: true,
9
+ mute_buttons: false,
9
10
  notified: true,
10
11
  snapshot: true,
11
12
  tags: true,
@@ -6,6 +6,7 @@ api_instance = DatadogAPIClient::V1::SlackIntegrationAPI.new
6
6
  body = DatadogAPIClient::V1::SlackIntegrationChannel.new({
7
7
  display: DatadogAPIClient::V1::SlackIntegrationChannelDisplay.new({
8
8
  message: true,
9
+ mute_buttons: false,
9
10
  notified: true,
10
11
  snapshot: true,
11
12
  tags: true,
@@ -7,7 +7,7 @@ body = DatadogAPIClient::V2::CreateActionConnectionRequest.new({
7
7
  data: DatadogAPIClient::V2::ActionConnectionData.new({
8
8
  type: DatadogAPIClient::V2::ActionConnectionDataType::ACTION_CONNECTION,
9
9
  attributes: DatadogAPIClient::V2::ActionConnectionAttributes.new({
10
- name: "Cassette Connection DELETE_ME",
10
+ name: "Cassette Connection exampleactionconnection",
11
11
  integration: DatadogAPIClient::V2::AWSIntegration.new({
12
12
  type: DatadogAPIClient::V2::AWSIntegrationType::AWS,
13
13
  credentials: DatadogAPIClient::V2::AWSAssumeRole.new({
@@ -2,4 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::ActionConnectionAPI.new
5
- api_instance.delete_action_connection("connection_id")
5
+
6
+ # there is a valid "action_connection" in the system
7
+ ACTION_CONNECTION_DATA_ID = ENV["ACTION_CONNECTION_DATA_ID"]
8
+ api_instance.delete_action_connection(ACTION_CONNECTION_DATA_ID)
@@ -0,0 +1,21 @@
1
+ # Create a retention filter with trace rate returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::APMRetentionFiltersAPI.new
5
+
6
+ body = DatadogAPIClient::V2::RetentionFilterCreateRequest.new({
7
+ data: DatadogAPIClient::V2::RetentionFilterCreateData.new({
8
+ attributes: DatadogAPIClient::V2::RetentionFilterCreateAttributes.new({
9
+ enabled: true,
10
+ filter: DatadogAPIClient::V2::SpansFilterCreate.new({
11
+ query: "@http.status_code:200 service:my-service",
12
+ }),
13
+ filter_type: DatadogAPIClient::V2::RetentionFilterType::SPANS_SAMPLING_PROCESSOR,
14
+ name: "my retention filter",
15
+ rate: 1.0,
16
+ trace_rate: 1.0,
17
+ }),
18
+ type: DatadogAPIClient::V2::ApmRetentionFilterType::APM_RETENTION_FILTER,
19
+ }),
20
+ })
21
+ p api_instance.create_apm_retention_filter(body)
@@ -0,0 +1,25 @@
1
+ # Update a retention filter with trace rate returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::APMRetentionFiltersAPI.new
5
+
6
+ # there is a valid "retention_filter" in the system
7
+ RETENTION_FILTER_DATA_ID = ENV["RETENTION_FILTER_DATA_ID"]
8
+
9
+ body = DatadogAPIClient::V2::RetentionFilterUpdateRequest.new({
10
+ data: DatadogAPIClient::V2::RetentionFilterUpdateData.new({
11
+ attributes: DatadogAPIClient::V2::RetentionFilterUpdateAttributes.new({
12
+ name: "test",
13
+ rate: 0.9,
14
+ trace_rate: 1.0,
15
+ filter: DatadogAPIClient::V2::SpansFilterCreate.new({
16
+ query: "@_top_level:1 test:service-demo",
17
+ }),
18
+ enabled: true,
19
+ filter_type: DatadogAPIClient::V2::RetentionFilterAllType::SPANS_SAMPLING_PROCESSOR,
20
+ }),
21
+ id: "test-id",
22
+ type: DatadogAPIClient::V2::ApmRetentionFilterType::APM_RETENTION_FILTER,
23
+ }),
24
+ })
25
+ p api_instance.update_apm_retention_filter(RETENTION_FILTER_DATA_ID, body)
@@ -0,0 +1,8 @@
1
+ # Get all aggregated connections returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.get_aggregated_connections".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::CloudNetworkMonitoringAPI.new
8
+ p api_instance.get_aggregated_connections()
@@ -0,0 +1,8 @@
1
+ # Get aggregated connections returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.get_aggregated_connections".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::CloudNetworkMonitoringAPI.new
8
+ p api_instance.get_aggregated_connections()
@@ -0,0 +1,44 @@
1
+ # Create a new pipeline returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.create_pipeline".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::ObservabilityPipelinesAPI.new
8
+
9
+ body = DatadogAPIClient::V2::ObservabilityPipelineCreateRequest.new({
10
+ data: DatadogAPIClient::V2::ObservabilityPipelineCreateRequestData.new({
11
+ attributes: DatadogAPIClient::V2::ObservabilityPipelineDataAttributes.new({
12
+ config: DatadogAPIClient::V2::ObservabilityPipelineConfig.new({
13
+ destinations: [
14
+ DatadogAPIClient::V2::ObservabilityPipelineDatadogLogsDestination.new({
15
+ id: "datadog-logs-destination",
16
+ inputs: [
17
+ "filter-processor",
18
+ ],
19
+ type: DatadogAPIClient::V2::ObservabilityPipelineDatadogLogsDestinationType::DATADOG_LOGS,
20
+ }),
21
+ ],
22
+ processors: [
23
+ DatadogAPIClient::V2::ObservabilityPipelineFilterProcessor.new({
24
+ id: "filter-processor",
25
+ include: "service:my-service",
26
+ inputs: [
27
+ "datadog-agent-source",
28
+ ],
29
+ type: DatadogAPIClient::V2::ObservabilityPipelineFilterProcessorType::FILTER,
30
+ }),
31
+ ],
32
+ sources: [
33
+ DatadogAPIClient::V2::ObservabilityPipelineDatadogAgentSource.new({
34
+ id: "datadog-agent-source",
35
+ type: DatadogAPIClient::V2::ObservabilityPipelineDatadogAgentSourceType::DATADOG_AGENT,
36
+ }),
37
+ ],
38
+ }),
39
+ name: "Main Observability Pipeline",
40
+ }),
41
+ type: "pipelines",
42
+ }),
43
+ })
44
+ p api_instance.create_pipeline(body)
@@ -0,0 +1,11 @@
1
+ # Delete a pipeline returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.delete_pipeline".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::ObservabilityPipelinesAPI.new
8
+
9
+ # there is a valid "pipeline" in the system
10
+ PIPELINE_DATA_ID = ENV["PIPELINE_DATA_ID"]
11
+ api_instance.delete_pipeline(PIPELINE_DATA_ID)
@@ -0,0 +1,11 @@
1
+ # Get a specific pipeline returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.get_pipeline".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::ObservabilityPipelinesAPI.new
8
+
9
+ # there is a valid "pipeline" in the system
10
+ PIPELINE_DATA_ID = ENV["PIPELINE_DATA_ID"]
11
+ p api_instance.get_pipeline(PIPELINE_DATA_ID)
@@ -0,0 +1,48 @@
1
+ # Update a pipeline returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.update_pipeline".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::ObservabilityPipelinesAPI.new
8
+
9
+ # there is a valid "pipeline" in the system
10
+ PIPELINE_DATA_ID = ENV["PIPELINE_DATA_ID"]
11
+
12
+ body = DatadogAPIClient::V2::ObservabilityPipeline.new({
13
+ data: DatadogAPIClient::V2::ObservabilityPipelineData.new({
14
+ attributes: DatadogAPIClient::V2::ObservabilityPipelineDataAttributes.new({
15
+ config: DatadogAPIClient::V2::ObservabilityPipelineConfig.new({
16
+ destinations: [
17
+ DatadogAPIClient::V2::ObservabilityPipelineDatadogLogsDestination.new({
18
+ id: "updated-datadog-logs-destination-id",
19
+ inputs: [
20
+ "filter-processor",
21
+ ],
22
+ type: DatadogAPIClient::V2::ObservabilityPipelineDatadogLogsDestinationType::DATADOG_LOGS,
23
+ }),
24
+ ],
25
+ processors: [
26
+ DatadogAPIClient::V2::ObservabilityPipelineFilterProcessor.new({
27
+ id: "filter-processor",
28
+ include: "service:my-service",
29
+ inputs: [
30
+ "datadog-agent-source",
31
+ ],
32
+ type: DatadogAPIClient::V2::ObservabilityPipelineFilterProcessorType::FILTER,
33
+ }),
34
+ ],
35
+ sources: [
36
+ DatadogAPIClient::V2::ObservabilityPipelineDatadogAgentSource.new({
37
+ id: "datadog-agent-source",
38
+ type: DatadogAPIClient::V2::ObservabilityPipelineDatadogAgentSourceType::DATADOG_AGENT,
39
+ }),
40
+ ],
41
+ }),
42
+ name: "Updated Pipeline Name",
43
+ }),
44
+ id: PIPELINE_DATA_ID,
45
+ type: "pipelines",
46
+ }),
47
+ })
48
+ p api_instance.update_pipeline(PIPELINE_DATA_ID, body)
@@ -0,0 +1,61 @@
1
+ # Create on-call schedule returns "Created" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::On - CallAPI.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 "team" in the system
10
+ TEAM_DATA_ID = ENV["TEAM_DATA_ID"]
11
+
12
+ body = DatadogAPIClient::V2::ScheduleCreateRequest.new({
13
+ data: DatadogAPIClient::V2::ScheduleCreateRequestData.new({
14
+ attributes: DatadogAPIClient::V2::ScheduleCreateRequestDataAttributes.new({
15
+ layers: [
16
+ DatadogAPIClient::V2::ScheduleCreateRequestDataAttributesLayersItems.new({
17
+ effective_date: (Time.now + -10 * 86400),
18
+ end_date: (Time.now + 10 * 86400),
19
+ interval: DatadogAPIClient::V2::ScheduleCreateRequestDataAttributesLayersItemsInterval.new({
20
+ days: 1,
21
+ }),
22
+ members: [
23
+ DatadogAPIClient::V2::ScheduleCreateRequestDataAttributesLayersItemsMembersItems.new({
24
+ user: DatadogAPIClient::V2::ScheduleCreateRequestDataAttributesLayersItemsMembersItemsUser.new({
25
+ id: USER_DATA_ID,
26
+ }),
27
+ }),
28
+ ],
29
+ name: "Layer 1",
30
+ restrictions: [
31
+ DatadogAPIClient::V2::ScheduleCreateRequestDataAttributesLayersItemsRestrictionsItems.new({
32
+ end_day: DatadogAPIClient::V2::ScheduleCreateRequestDataAttributesLayersItemsRestrictionsItemsEndDay::FRIDAY,
33
+ end_time: "17:00:00",
34
+ start_day: DatadogAPIClient::V2::ScheduleCreateRequestDataAttributesLayersItemsRestrictionsItemsStartDay::MONDAY,
35
+ start_time: "09:00:00",
36
+ }),
37
+ ],
38
+ rotation_start: (Time.now + -5 * 86400),
39
+ }),
40
+ ],
41
+ name: "Example-On-Call",
42
+ tags: [
43
+ "tag1",
44
+ "tag2",
45
+ ],
46
+ time_zone: "America/New_York",
47
+ }),
48
+ relationships: DatadogAPIClient::V2::ScheduleCreateRequestDataRelationships.new({
49
+ teams: DatadogAPIClient::V2::ScheduleCreateRequestDataRelationshipsTeams.new({
50
+ data: [
51
+ DatadogAPIClient::V2::ScheduleCreateRequestDataRelationshipsTeamsDataItems.new({
52
+ id: TEAM_DATA_ID,
53
+ type: DatadogAPIClient::V2::ScheduleCreateRequestDataRelationshipsTeamsDataItemsType::TEAMS,
54
+ }),
55
+ ],
56
+ }),
57
+ }),
58
+ type: DatadogAPIClient::V2::ScheduleCreateRequestDataType::SCHEDULES,
59
+ }),
60
+ })
61
+ p api_instance.create_on_call_schedule(body)
@@ -0,0 +1,8 @@
1
+ # Delete on-call schedule returns "No Content" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::On - CallAPI.new
5
+
6
+ # there is a valid "schedule" in the system
7
+ SCHEDULE_DATA_ID = ENV["SCHEDULE_DATA_ID"]
8
+ api_instance.delete_on_call_schedule(SCHEDULE_DATA_ID)
@@ -0,0 +1,8 @@
1
+ # Get on-call schedule returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::On - CallAPI.new
5
+
6
+ # there is a valid "schedule" in the system
7
+ SCHEDULE_DATA_ID = ENV["SCHEDULE_DATA_ID"]
8
+ p api_instance.get_on_call_schedule(SCHEDULE_DATA_ID)
@@ -0,0 +1,68 @@
1
+ # Update on-call schedule returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::On - CallAPI.new
5
+
6
+ # there is a valid "schedule" in the system
7
+ SCHEDULE_DATA_ID = ENV["SCHEDULE_DATA_ID"]
8
+ SCHEDULE_DATA_RELATIONSHIPS_LAYERS_DATA_0_ID = ENV["SCHEDULE_DATA_RELATIONSHIPS_LAYERS_DATA_0_ID"]
9
+
10
+ # there is a valid "user" in the system
11
+ USER_DATA_ID = ENV["USER_DATA_ID"]
12
+
13
+ # there is a valid "team" in the system
14
+ TEAM_DATA_ID = ENV["TEAM_DATA_ID"]
15
+
16
+ body = DatadogAPIClient::V2::ScheduleUpdateRequest.new({
17
+ data: DatadogAPIClient::V2::ScheduleUpdateRequestData.new({
18
+ id: SCHEDULE_DATA_ID,
19
+ attributes: DatadogAPIClient::V2::ScheduleUpdateRequestDataAttributes.new({
20
+ layers: [
21
+ DatadogAPIClient::V2::ScheduleUpdateRequestDataAttributesLayersItems.new({
22
+ id: SCHEDULE_DATA_RELATIONSHIPS_LAYERS_DATA_0_ID,
23
+ effective_date: (Time.now + -10 * 86400),
24
+ end_date: (Time.now + 10 * 86400),
25
+ interval: DatadogAPIClient::V2::ScheduleUpdateRequestDataAttributesLayersItemsInterval.new({
26
+ seconds: 300,
27
+ }),
28
+ members: [
29
+ DatadogAPIClient::V2::ScheduleUpdateRequestDataAttributesLayersItemsMembersItems.new({
30
+ user: DatadogAPIClient::V2::ScheduleUpdateRequestDataAttributesLayersItemsMembersItemsUser.new({
31
+ id: USER_DATA_ID,
32
+ }),
33
+ }),
34
+ ],
35
+ name: "Layer 1",
36
+ restrictions: [
37
+ DatadogAPIClient::V2::ScheduleUpdateRequestDataAttributesLayersItemsRestrictionsItems.new({
38
+ end_day: DatadogAPIClient::V2::ScheduleUpdateRequestDataAttributesLayersItemsRestrictionsItemsEndDay::FRIDAY,
39
+ end_time: "17:00:00",
40
+ start_day: DatadogAPIClient::V2::ScheduleUpdateRequestDataAttributesLayersItemsRestrictionsItemsStartDay::MONDAY,
41
+ start_time: "09:00:00",
42
+ }),
43
+ ],
44
+ rotation_start: (Time.now + -5 * 86400),
45
+ }),
46
+ ],
47
+ name: "Example-On-Call",
48
+ tags: [
49
+ "tag1",
50
+ "tag2",
51
+ "tag3",
52
+ ],
53
+ time_zone: "America/New_York",
54
+ }),
55
+ relationships: DatadogAPIClient::V2::ScheduleUpdateRequestDataRelationships.new({
56
+ teams: DatadogAPIClient::V2::ScheduleUpdateRequestDataRelationshipsTeams.new({
57
+ data: [
58
+ DatadogAPIClient::V2::ScheduleUpdateRequestDataRelationshipsTeamsDataItems.new({
59
+ id: TEAM_DATA_ID,
60
+ type: DatadogAPIClient::V2::ScheduleUpdateRequestDataRelationshipsTeamsDataItemsType::TEAMS,
61
+ }),
62
+ ],
63
+ }),
64
+ }),
65
+ type: DatadogAPIClient::V2::ScheduleUpdateRequestDataType::SCHEDULES,
66
+ }),
67
+ })
68
+ p api_instance.update_on_call_schedule(SCHEDULE_DATA_ID, body)
@@ -31,6 +31,12 @@ body = DatadogAPIClient::V2::SecurityMonitoringStandardRuleCreatePayload.new({
31
31
  duration: 900,
32
32
  }),
33
33
  }),
34
+ DatadogAPIClient::V2::SecurityMonitoringRuleCaseAction.new({
35
+ type: DatadogAPIClient::V2::SecurityMonitoringRuleCaseActionType::USER_BEHAVIOR,
36
+ options: DatadogAPIClient::V2::SecurityMonitoringRuleCaseActionOptions.new({
37
+ user_behavior_name: "behavior",
38
+ }),
39
+ }),
34
40
  ],
35
41
  }),
36
42
  ],
@@ -56,6 +56,6 @@ body = DatadogAPIClient::V2::ServiceDefinitionV2Dot2.new({
56
56
  ],
57
57
  team: "my-team",
58
58
  tier: "High",
59
- type: DatadogAPIClient::V2::ServiceDefinitionV2Dot2Type::WEB,
59
+ type: "web",
60
60
  })
61
61
  p api_instance.create_or_update_service_definitions(body)
@@ -62,6 +62,7 @@ body = DatadogAPIClient::V2::EntityV3Service.new({
62
62
  ],
63
63
  }),
64
64
  spec: DatadogAPIClient::V2::EntityV3ServiceSpec.new({
65
+ component_of: [],
65
66
  depends_on: [],
66
67
  languages: [],
67
68
  }),
@@ -230,6 +230,7 @@ module DatadogAPIClient
230
230
  "v2.list_aws_namespaces": false,
231
231
  "v2.update_aws_account": false,
232
232
  "v2.list_aws_logs_services": false,
233
+ "v2.get_aggregated_connections": false,
233
234
  "v2.cancel_historical_job": false,
234
235
  "v2.convert_job_result_to_signal": false,
235
236
  "v2.delete_historical_job": false,
@@ -243,6 +244,10 @@ module DatadogAPIClient
243
244
  "v2.list_vulnerable_assets": false,
244
245
  "v2.mute_findings": false,
245
246
  "v2.run_historical_job": false,
247
+ "v2.create_pipeline": false,
248
+ "v2.delete_pipeline": false,
249
+ "v2.get_pipeline": false,
250
+ "v2.update_pipeline": false,
246
251
  "v2.create_scorecard_outcomes_batch": false,
247
252
  "v2.create_scorecard_rule": false,
248
253
  "v2.delete_scorecard_rule": false,