datadog_api_client 2.37.0 → 2.39.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 (175) hide show
  1. checksums.yaml +4 -4
  2. data/.generated-info +4 -0
  3. data/.generator/schemas/v1/openapi.yaml +513 -14
  4. data/.generator/schemas/v2/openapi.yaml +2101 -107
  5. data/.github/workflows/approved_status.yml +1 -0
  6. data/.github/workflows/test.yml +1 -1
  7. data/CHANGELOG.md +36 -0
  8. data/examples/v1/dashboards/CreateDashboard_1751391372.rb +41 -0
  9. data/examples/v1/dashboards/CreatePublicDashboard_1668947073.rb +28 -0
  10. data/examples/v1/dashboards/UpdatePublicDashboard_1708268778.rb +27 -0
  11. data/examples/v1/logs-pipelines/CreateLogsPipeline_1248402480.rb +25 -0
  12. data/examples/v1/logs-pipelines/CreateLogsPipeline_1267211320.rb +27 -0
  13. data/examples/v1/logs-pipelines/CreateLogsPipeline_1271012410.rb +25 -0
  14. data/examples/v1/logs-pipelines/CreateLogsPipeline_3314493032.rb +26 -0
  15. data/examples/v1/logs-pipelines/CreateLogsPipeline_3934594739.rb +26 -0
  16. data/examples/v1/synthetics/SearchTests.rb +5 -0
  17. data/examples/v1/synthetics/SearchTests_195957771.rb +13 -0
  18. data/examples/v2/action-connection/GetAppKeyRegistration.rb +5 -0
  19. data/examples/v2/action-connection/ListAppKeyRegistrations.rb +5 -0
  20. data/examples/v2/action-connection/RegisterAppKey.rb +5 -0
  21. data/examples/v2/action-connection/UnregisterAppKey.rb +5 -0
  22. data/examples/v2/aws-integration/GetAWSIntegrationIAMPermissions.rb +5 -0
  23. data/examples/v2/cloud-cost-management/CreateCostGCPUsageCostConfig.rb +19 -0
  24. data/examples/v2/cloud-cost-management/DeleteCostGCPUsageCostConfig.rb +5 -0
  25. data/examples/v2/cloud-cost-management/ListCostGCPUsageCostConfigs.rb +5 -0
  26. data/examples/v2/cloud-cost-management/UpdateCostGCPUsageCostConfig.rb +14 -0
  27. data/examples/v2/datasets/CreateDataset.rb +27 -0
  28. data/examples/v2/datasets/DeleteDataset.rb +5 -0
  29. data/examples/v2/datasets/GetAllDatasets.rb +5 -0
  30. data/examples/v2/datasets/GetDataset.rb +5 -0
  31. data/examples/v2/events/CreateEvent.rb +4 -2
  32. data/examples/v2/monitors/CreateMonitorNotificationRule.rb +0 -3
  33. data/examples/v2/monitors/CreateMonitorUserTemplate.rb +37 -0
  34. data/examples/v2/monitors/DeleteMonitorNotificationRule.rb +0 -3
  35. data/examples/v2/monitors/DeleteMonitorUserTemplate.rb +8 -0
  36. data/examples/v2/monitors/GetMonitorNotificationRule.rb +0 -3
  37. data/examples/v2/monitors/GetMonitorNotificationRules.rb +0 -3
  38. data/examples/v2/monitors/GetMonitorUserTemplate.rb +11 -0
  39. data/examples/v2/monitors/ListMonitorUserTemplates.rb +8 -0
  40. data/examples/v2/monitors/UpdateMonitorNotificationRule.rb +0 -3
  41. data/examples/v2/monitors/UpdateMonitorUserTemplate.rb +41 -0
  42. data/examples/v2/monitors/ValidateExistingMonitorUserTemplate.rb +41 -0
  43. data/examples/v2/monitors/ValidateMonitorUserTemplate.rb +37 -0
  44. data/examples/v2/on-call/UpdateOnCallSchedule.rb +1 -1
  45. data/examples/v2/security-monitoring/ListAssetsSBOMs.rb +12 -0
  46. data/lib/datadog_api_client/configuration.rb +60 -5
  47. data/lib/datadog_api_client/inflector.rb +70 -0
  48. data/lib/datadog_api_client/v1/api/hosts_api.rb +1 -0
  49. data/lib/datadog_api_client/v1/api/synthetics_api.rb +72 -0
  50. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +6 -6
  51. data/lib/datadog_api_client/v1/models/dashboard_template_variable.rb +14 -3
  52. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_body.rb +1 -0
  53. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +9 -1
  54. data/lib/datadog_api_client/v1/models/logs_array_processor.rb +168 -0
  55. data/lib/datadog_api_client/v1/models/logs_array_processor_operation.rb +64 -0
  56. data/lib/datadog_api_client/v1/models/logs_array_processor_operation_append.rb +175 -0
  57. data/lib/datadog_api_client/v1/models/logs_array_processor_operation_append_type.rb +26 -0
  58. data/lib/datadog_api_client/v1/models/logs_array_processor_operation_length.rb +165 -0
  59. data/lib/datadog_api_client/v1/models/logs_array_processor_operation_length_type.rb +26 -0
  60. data/lib/datadog_api_client/v1/models/logs_array_processor_operation_select.rb +207 -0
  61. data/lib/datadog_api_client/v1/models/logs_array_processor_operation_select_type.rb +26 -0
  62. data/lib/datadog_api_client/v1/models/logs_array_processor_type.rb +26 -0
  63. data/lib/datadog_api_client/v1/models/logs_processor.rb +2 -1
  64. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_body.rb +1 -0
  65. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +14 -0
  66. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +142 -1
  67. data/lib/datadog_api_client/v1/models/selectable_template_variable_items.rb +12 -1
  68. data/lib/datadog_api_client/v1/models/synthetics_mobile_test.rb +12 -1
  69. data/lib/datadog_api_client/v1/models/synthetics_step_type.rb +1 -0
  70. data/lib/datadog_api_client/v1/models/synthetics_test_request.rb +1 -1
  71. data/lib/datadog_api_client/v1/models/synthetics_test_request_dns_server_port.rb +63 -0
  72. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +81 -1
  73. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +81 -1
  74. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +81 -1
  75. data/lib/datadog_api_client/v2/api/action_connection_api.rb +263 -4
  76. data/lib/datadog_api_client/v2/api/app_builder_api.rb +8 -8
  77. data/lib/datadog_api_client/v2/api/aws_integration_api.rb +60 -0
  78. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +264 -0
  79. data/lib/datadog_api_client/v2/api/datasets_api.rb +283 -0
  80. data/lib/datadog_api_client/v2/api/events_api.rb +10 -4
  81. data/lib/datadog_api_client/v2/api/monitors_api.rb +512 -30
  82. data/lib/datadog_api_client/v2/api/restriction_policies_api.rb +7 -3
  83. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +111 -0
  84. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +1 -1
  85. data/lib/datadog_api_client/v2/api/workflow_automation_api.rb +8 -8
  86. data/lib/datadog_api_client/v2/models/alert_event_custom_attributes.rb +145 -0
  87. data/lib/datadog_api_client/v2/models/alert_event_custom_attributes_links_items.rb +152 -0
  88. data/lib/datadog_api_client/v2/models/alert_event_custom_attributes_links_items_category.rb +28 -0
  89. data/lib/datadog_api_client/v2/models/alert_event_custom_attributes_priority.rb +30 -0
  90. data/lib/datadog_api_client/v2/models/alert_event_custom_attributes_status.rb +28 -0
  91. data/lib/datadog_api_client/v2/models/app_key_registration_data.rb +133 -0
  92. data/lib/datadog_api_client/v2/models/app_key_registration_data_type.rb +26 -0
  93. data/lib/datadog_api_client/v2/models/asset_attributes.rb +13 -1
  94. data/lib/datadog_api_client/v2/models/aws_integration_iam_permissions_response.rb +123 -0
  95. data/lib/datadog_api_client/v2/models/aws_integration_iam_permissions_response_attributes.rb +125 -0
  96. data/lib/datadog_api_client/v2/models/aws_integration_iam_permissions_response_data.rb +125 -0
  97. data/lib/datadog_api_client/v2/models/aws_integration_iam_permissions_response_data_type.rb +26 -0
  98. data/lib/datadog_api_client/v2/models/change_event_custom_attributes.rb +19 -33
  99. data/lib/datadog_api_client/v2/models/change_event_custom_attributes_author.rb +10 -31
  100. data/lib/datadog_api_client/v2/models/change_event_custom_attributes_changed_resource.rb +15 -32
  101. data/lib/datadog_api_client/v2/models/change_event_custom_attributes_changed_resource_type.rb +1 -1
  102. data/lib/datadog_api_client/v2/models/change_event_custom_attributes_impacted_resources_items.rb +15 -32
  103. data/lib/datadog_api_client/v2/models/change_event_custom_attributes_impacted_resources_items_type.rb +1 -1
  104. data/lib/datadog_api_client/v2/models/dataset.rb +154 -0
  105. data/lib/datadog_api_client/v2/models/dataset_attributes.rb +197 -0
  106. data/lib/datadog_api_client/v2/models/dataset_create_request.rb +123 -0
  107. data/lib/datadog_api_client/v2/models/dataset_response_multi.rb +125 -0
  108. data/lib/datadog_api_client/v2/models/dataset_response_single.rb +123 -0
  109. data/lib/datadog_api_client/v2/models/event_category.rb +2 -1
  110. data/lib/datadog_api_client/v2/models/event_create_request.rb +32 -3
  111. data/lib/datadog_api_client/v2/models/event_create_request_payload.rb +20 -2
  112. data/lib/datadog_api_client/v2/models/event_create_response.rb +3 -3
  113. data/lib/datadog_api_client/v2/models/event_create_response_attributes.rb +2 -2
  114. data/lib/datadog_api_client/v2/models/event_create_response_attributes_attributes.rb +1 -1
  115. data/lib/datadog_api_client/v2/models/event_create_response_attributes_attributes_evt.rb +14 -4
  116. data/lib/datadog_api_client/v2/models/event_create_response_payload.rb +15 -5
  117. data/lib/datadog_api_client/v2/models/event_create_response_payload_links.rb +105 -0
  118. data/lib/datadog_api_client/v2/models/event_payload.rb +48 -36
  119. data/lib/datadog_api_client/v2/models/event_payload_attributes.rb +3 -2
  120. data/lib/datadog_api_client/v2/models/event_payload_integration_id.rb +26 -0
  121. data/lib/datadog_api_client/v2/models/filters_per_product.rb +150 -0
  122. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config.rb +154 -0
  123. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_attributes.rb +369 -0
  124. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_patch_data.rb +144 -0
  125. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_patch_request.rb +123 -0
  126. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_patch_request_attributes.rb +123 -0
  127. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_patch_request_type.rb +26 -0
  128. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_post_data.rb +144 -0
  129. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_post_request.rb +123 -0
  130. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_post_request_attributes.rb +217 -0
  131. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_post_request_type.rb +26 -0
  132. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_response.rb +105 -0
  133. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_type.rb +26 -0
  134. data/lib/datadog_api_client/v2/models/gcp_usage_cost_configs_response.rb +107 -0
  135. data/lib/datadog_api_client/v2/models/get_app_key_registration_response.rb +105 -0
  136. data/lib/datadog_api_client/v2/models/incident_create_attributes.rb +11 -1
  137. data/lib/datadog_api_client/v2/models/incident_response_attributes.rb +11 -1
  138. data/lib/datadog_api_client/v2/models/job_definition_from_rule.rb +1 -26
  139. data/lib/datadog_api_client/v2/models/layer_attributes.rb +1 -1
  140. data/lib/datadog_api_client/v2/models/layer_attributes_interval.rb +1 -1
  141. data/lib/datadog_api_client/v2/models/list_app_key_registrations_response.rb +117 -0
  142. data/lib/datadog_api_client/v2/models/list_app_key_registrations_response_meta.rb +115 -0
  143. data/lib/datadog_api_client/v2/models/list_assets_sbo_ms_response.rb +145 -0
  144. data/lib/datadog_api_client/v2/models/monitor_user_template.rb +200 -0
  145. data/lib/datadog_api_client/v2/models/monitor_user_template_create_data.rb +144 -0
  146. data/lib/datadog_api_client/v2/models/monitor_user_template_create_request.rb +123 -0
  147. data/lib/datadog_api_client/v2/models/monitor_user_template_create_response.rb +105 -0
  148. data/lib/datadog_api_client/v2/models/monitor_user_template_list_response.rb +107 -0
  149. data/lib/datadog_api_client/v2/models/monitor_user_template_request_attributes.rb +172 -0
  150. data/lib/datadog_api_client/v2/models/monitor_user_template_resource_type.rb +26 -0
  151. data/lib/datadog_api_client/v2/models/monitor_user_template_response.rb +105 -0
  152. data/lib/datadog_api_client/v2/models/monitor_user_template_response_attributes.rb +188 -0
  153. data/lib/datadog_api_client/v2/models/monitor_user_template_response_data.rb +125 -0
  154. data/lib/datadog_api_client/v2/models/monitor_user_template_response_data_with_versions.rb +125 -0
  155. data/lib/datadog_api_client/v2/models/monitor_user_template_template_variables_items.rb +132 -0
  156. data/lib/datadog_api_client/v2/models/monitor_user_template_update_data.rb +165 -0
  157. data/lib/datadog_api_client/v2/models/monitor_user_template_update_request.rb +123 -0
  158. data/lib/datadog_api_client/v2/models/register_app_key_response.rb +105 -0
  159. data/lib/datadog_api_client/v2/models/sbom_attributes.rb +24 -1
  160. data/lib/datadog_api_client/v2/models/sbom_component.rb +46 -1
  161. data/lib/datadog_api_client/v2/models/sbom_component_dependency.rb +117 -0
  162. data/lib/datadog_api_client/v2/models/sbom_component_license.rb +123 -0
  163. data/lib/datadog_api_client/v2/models/sbom_component_license_license.rb +123 -0
  164. data/lib/datadog_api_client/v2/models/sbom_component_license_type.rb +33 -0
  165. data/lib/datadog_api_client/v2/models/sbom_component_property.rb +144 -0
  166. data/lib/datadog_api_client/v2/models/sbom_component_supplier.rb +123 -0
  167. data/lib/datadog_api_client/v2/models/sbom_metadata.rb +25 -3
  168. data/lib/datadog_api_client/v2/models/sbom_metadata_author.rb +105 -0
  169. data/lib/datadog_api_client/v2/models/schedule_create_request_data_attributes_layers_items.rb +1 -1
  170. data/lib/datadog_api_client/v2/models/schedule_update_request_data_attributes_layers_items.rb +1 -1
  171. data/lib/datadog_api_client/v2/models/simple_monitor_user_template.rb +188 -0
  172. data/lib/datadog_api_client/v2/models/vulnerability_attributes.rb +24 -1
  173. data/lib/datadog_api_client/version.rb +1 -1
  174. metadata +103 -2
  175. data/.apigentools-info +0 -16
@@ -35,3 +35,4 @@ jobs:
35
35
  with:
36
36
  github-token: ${{ steps.get_token.outputs.token }}
37
37
  repo: datadog-api-spec
38
+ context: datadog-api-client-ruby/master
@@ -139,4 +139,4 @@ jobs:
139
139
  github-token: ${{ steps.get_token.outputs.token }}
140
140
  repo: datadog-api-spec
141
141
  status: ${{ (needs.test.result == 'cancelled' || needs.examples.result == 'cancelled') && 'pending' || needs.test.result == 'success' && needs.examples.result == 'success' && 'success' || 'failure' }}
142
- context: unit
142
+ context: master/unit
data/CHANGELOG.md CHANGED
@@ -1,5 +1,41 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2.39.0/2025-07-14
4
+
5
+ ### Added
6
+ * Add Datasets API to Open API Spec [#2528](https://github.com/DataDog/datadog-api-client-ruby/pull/2528)
7
+ * Add support for vulnerability management - GetSBOMsList new endpoint and update existing ones [#2527](https://github.com/DataDog/datadog-api-client-ruby/pull/2527)
8
+ * Add spreadsheet to restriction_policy specs [#2521](https://github.com/DataDog/datadog-api-client-ruby/pull/2521)
9
+ * Adds missing /api/v1/synthetics/tests/search spec [#2514](https://github.com/DataDog/datadog-api-client-ruby/pull/2514)
10
+ * Add API spec for AWS Integrations IAM permissions [#2508](https://github.com/DataDog/datadog-api-client-ruby/pull/2508)
11
+ * New keys added for multiple products [#2506](https://github.com/DataDog/datadog-api-client-ruby/pull/2506)
12
+ * Add extractFromEmailBody step for synthetics browser test [#2503](https://github.com/DataDog/datadog-api-client-ruby/pull/2503)
13
+ * Add support for `Array Processor` in `Logs Pipelines` [#2501](https://github.com/DataDog/datadog-api-client-ruby/pull/2501)
14
+ * Document Cloud Cost Management GCP endpoints publicly [#2450](https://github.com/DataDog/datadog-api-client-ruby/pull/2450)
15
+
16
+ ### Changed
17
+ * Update template variable schemas with type field in dashboards and shared dashboards endpoints for group by template variables [#2502](https://github.com/DataDog/datadog-api-client-ruby/pull/2502)
18
+
19
+ ## 2.38.0/2025-06-30
20
+
21
+ ### Fixed
22
+ * Synthetics mobile test `message` field is now required [#2500](https://github.com/DataDog/datadog-api-client-ruby/pull/2500)
23
+ * Make dns port be string and number [#2484](https://github.com/DataDog/datadog-api-client-ruby/pull/2484)
24
+
25
+ ### Security
26
+ * Remove caseIndex from historical jobs api spec [#2499](https://github.com/DataDog/datadog-api-client-ruby/pull/2499)
27
+
28
+ ### Changed
29
+ * Update events intake specs for v2 Events post endpoint [#2495](https://github.com/DataDog/datadog-api-client-ruby/pull/2495)
30
+
31
+ ### Added
32
+ * Update Incident API specs to include `is_test` in `POST /incidents` and incidents response [#2494](https://github.com/DataDog/datadog-api-client-ruby/pull/2494)
33
+ * Add App Key Registration API [#2488](https://github.com/DataDog/datadog-api-client-ruby/pull/2488)
34
+ * Add Monitor Template API [#2425](https://github.com/DataDog/datadog-api-client-ruby/pull/2425)
35
+
36
+ ### Deprecated
37
+ * Deprecate SLO metadata fields in api spec [#2454](https://github.com/DataDog/datadog-api-client-ruby/pull/2454)
38
+
3
39
  ## 2.37.0/2025-06-24
4
40
 
5
41
  ### Fixed
@@ -0,0 +1,41 @@
1
+ # Create a new dashboard with template variable type field returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::DashboardsAPI.new
5
+
6
+ body = DatadogAPIClient::V1::Dashboard.new({
7
+ description: nil,
8
+ layout_type: DatadogAPIClient::V1::DashboardLayoutType::ORDERED,
9
+ notify_list: [],
10
+ reflow_type: DatadogAPIClient::V1::DashboardReflowType::AUTO,
11
+ restricted_roles: [],
12
+ template_variables: [
13
+ DatadogAPIClient::V1::DashboardTemplateVariable.new({
14
+ available_values: [
15
+ "service",
16
+ "datacenter",
17
+ "env",
18
+ ],
19
+ defaults: [
20
+ "service",
21
+ "datacenter",
22
+ ],
23
+ name: "group_by_var",
24
+ type: "group",
25
+ }),
26
+ ],
27
+ title: "",
28
+ widgets: [
29
+ DatadogAPIClient::V1::Widget.new({
30
+ definition: DatadogAPIClient::V1::HostMapWidgetDefinition.new({
31
+ requests: DatadogAPIClient::V1::HostMapWidgetDefinitionRequests.new({
32
+ fill: DatadogAPIClient::V1::HostMapRequest.new({
33
+ q: "avg:system.cpu.user{*}",
34
+ }),
35
+ }),
36
+ type: DatadogAPIClient::V1::HostMapWidgetDefinitionType::HOSTMAP,
37
+ }),
38
+ }),
39
+ ],
40
+ })
41
+ p api_instance.create_dashboard(body)
@@ -0,0 +1,28 @@
1
+ # Create a shared dashboard with a group template variable returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::DashboardsAPI.new
5
+
6
+ # there is a valid "dashboard" in the system
7
+ DASHBOARD_ID = ENV["DASHBOARD_ID"]
8
+
9
+ body = DatadogAPIClient::V1::SharedDashboard.new({
10
+ dashboard_id: DASHBOARD_ID,
11
+ dashboard_type: DatadogAPIClient::V1::DashboardType::CUSTOM_TIMEBOARD,
12
+ share_type: DatadogAPIClient::V1::DashboardShareType::OPEN,
13
+ global_time: DatadogAPIClient::V1::DashboardGlobalTime.new({
14
+ live_span: DatadogAPIClient::V1::DashboardGlobalTimeLiveSpan::PAST_ONE_HOUR,
15
+ }),
16
+ selectable_template_vars: [
17
+ DatadogAPIClient::V1::SelectableTemplateVariableItems.new({
18
+ default_value: "*",
19
+ name: "group_by_var",
20
+ type: "group",
21
+ visible_tags: [
22
+ "selectableValue1",
23
+ "selectableValue2",
24
+ ],
25
+ }),
26
+ ],
27
+ })
28
+ p api_instance.create_public_dashboard(body)
@@ -0,0 +1,27 @@
1
+ # Update a shared dashboard with selectable_template_vars returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::DashboardsAPI.new
5
+
6
+ # there is a valid "shared_dashboard" in the system
7
+ SHARED_DASHBOARD_TOKEN = ENV["SHARED_DASHBOARD_TOKEN"]
8
+
9
+ body = DatadogAPIClient::V1::SharedDashboardUpdateRequest.new({
10
+ global_time: DatadogAPIClient::V1::SharedDashboardUpdateRequestGlobalTime.new({
11
+ live_span: DatadogAPIClient::V1::DashboardGlobalTimeLiveSpan::PAST_FIFTEEN_MINUTES,
12
+ }),
13
+ share_list: [],
14
+ share_type: DatadogAPIClient::V1::DashboardShareType::OPEN,
15
+ selectable_template_vars: [
16
+ DatadogAPIClient::V1::SelectableTemplateVariableItems.new({
17
+ default_value: "*",
18
+ name: "group_by_var",
19
+ type: "group",
20
+ visible_tags: [
21
+ "selectableValue1",
22
+ "selectableValue2",
23
+ ],
24
+ }),
25
+ ],
26
+ })
27
+ p api_instance.update_public_dashboard(SHARED_DASHBOARD_TOKEN, body)
@@ -0,0 +1,25 @@
1
+ # Create a pipeline with Array Processor Append Operation returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::LogsPipelinesAPI.new
5
+
6
+ body = DatadogAPIClient::V1::LogsPipeline.new({
7
+ filter: DatadogAPIClient::V1::LogsFilter.new({
8
+ query: "source:python",
9
+ }),
10
+ name: "testPipelineArrayAppend",
11
+ processors: [
12
+ DatadogAPIClient::V1::LogsArrayProcessor.new({
13
+ type: DatadogAPIClient::V1::LogsArrayProcessorType::ARRAY_PROCESSOR,
14
+ is_enabled: true,
15
+ name: "append_ip_to_array",
16
+ operation: DatadogAPIClient::V1::LogsArrayProcessorOperationAppend.new({
17
+ type: DatadogAPIClient::V1::LogsArrayProcessorOperationAppendType::APPEND,
18
+ source: "network.client.ip",
19
+ target: "sourceIps",
20
+ }),
21
+ }),
22
+ ],
23
+ tags: [],
24
+ })
25
+ p api_instance.create_logs_pipeline(body)
@@ -0,0 +1,27 @@
1
+ # Create a pipeline with Array Processor Select Operation returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::LogsPipelinesAPI.new
5
+
6
+ body = DatadogAPIClient::V1::LogsPipeline.new({
7
+ filter: DatadogAPIClient::V1::LogsFilter.new({
8
+ query: "source:python",
9
+ }),
10
+ name: "testPipelineArraySelect",
11
+ processors: [
12
+ DatadogAPIClient::V1::LogsArrayProcessor.new({
13
+ type: DatadogAPIClient::V1::LogsArrayProcessorType::ARRAY_PROCESSOR,
14
+ is_enabled: true,
15
+ name: "extract_referrer",
16
+ operation: DatadogAPIClient::V1::LogsArrayProcessorOperationSelect.new({
17
+ type: DatadogAPIClient::V1::LogsArrayProcessorOperationSelectType::SELECT,
18
+ source: "httpRequest.headers",
19
+ target: "referrer",
20
+ filter: "name:Referrer",
21
+ value_to_extract: "value",
22
+ }),
23
+ }),
24
+ ],
25
+ tags: [],
26
+ })
27
+ p api_instance.create_logs_pipeline(body)
@@ -0,0 +1,25 @@
1
+ # Create a pipeline with Array Processor Length Operation returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::LogsPipelinesAPI.new
5
+
6
+ body = DatadogAPIClient::V1::LogsPipeline.new({
7
+ filter: DatadogAPIClient::V1::LogsFilter.new({
8
+ query: "source:python",
9
+ }),
10
+ name: "testPipelineArrayLength",
11
+ processors: [
12
+ DatadogAPIClient::V1::LogsArrayProcessor.new({
13
+ type: DatadogAPIClient::V1::LogsArrayProcessorType::ARRAY_PROCESSOR,
14
+ is_enabled: true,
15
+ name: "count_tags",
16
+ operation: DatadogAPIClient::V1::LogsArrayProcessorOperationLength.new({
17
+ type: DatadogAPIClient::V1::LogsArrayProcessorOperationLengthType::LENGTH,
18
+ source: "tags",
19
+ target: "tagCount",
20
+ }),
21
+ }),
22
+ ],
23
+ tags: [],
24
+ })
25
+ p api_instance.create_logs_pipeline(body)
@@ -0,0 +1,26 @@
1
+ # Create a pipeline with Array Processor Append Operation with preserve_source true returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::LogsPipelinesAPI.new
5
+
6
+ body = DatadogAPIClient::V1::LogsPipeline.new({
7
+ filter: DatadogAPIClient::V1::LogsFilter.new({
8
+ query: "source:python",
9
+ }),
10
+ name: "testPipelineArrayAppendPreserve",
11
+ processors: [
12
+ DatadogAPIClient::V1::LogsArrayProcessor.new({
13
+ type: DatadogAPIClient::V1::LogsArrayProcessorType::ARRAY_PROCESSOR,
14
+ is_enabled: true,
15
+ name: "append_ip_and_keep_source",
16
+ operation: DatadogAPIClient::V1::LogsArrayProcessorOperationAppend.new({
17
+ type: DatadogAPIClient::V1::LogsArrayProcessorOperationAppendType::APPEND,
18
+ source: "network.client.ip",
19
+ target: "sourceIps",
20
+ preserve_source: true,
21
+ }),
22
+ }),
23
+ ],
24
+ tags: [],
25
+ })
26
+ p api_instance.create_logs_pipeline(body)
@@ -0,0 +1,26 @@
1
+ # Create a pipeline with Array Processor Append Operation with preserve_source false returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::LogsPipelinesAPI.new
5
+
6
+ body = DatadogAPIClient::V1::LogsPipeline.new({
7
+ filter: DatadogAPIClient::V1::LogsFilter.new({
8
+ query: "source:python",
9
+ }),
10
+ name: "testPipelineArrayAppendNoPreserve",
11
+ processors: [
12
+ DatadogAPIClient::V1::LogsArrayProcessor.new({
13
+ type: DatadogAPIClient::V1::LogsArrayProcessorType::ARRAY_PROCESSOR,
14
+ is_enabled: true,
15
+ name: "append_ip_and_remove_source",
16
+ operation: DatadogAPIClient::V1::LogsArrayProcessorOperationAppend.new({
17
+ type: DatadogAPIClient::V1::LogsArrayProcessorOperationAppendType::APPEND,
18
+ source: "network.client.ip",
19
+ target: "sourceIps",
20
+ preserve_source: false,
21
+ }),
22
+ }),
23
+ ],
24
+ tags: [],
25
+ })
26
+ p api_instance.create_logs_pipeline(body)
@@ -0,0 +1,5 @@
1
+ # Search Synthetic tests returns "OK - Returns the list of Synthetic tests matching the search." response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::SyntheticsAPI.new
5
+ p api_instance.search_tests()
@@ -0,0 +1,13 @@
1
+ # Search Synthetic tests with boolean query parameters
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V1::SyntheticsAPI.new
5
+ opts = {
6
+ include_full_config: true,
7
+ search_suites: true,
8
+ facets_only: true,
9
+ start: 10,
10
+ count: 5,
11
+ sort: "name,desc",
12
+ }
13
+ p api_instance.search_tests(opts)
@@ -0,0 +1,5 @@
1
+ # Get an existing App Key Registration returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::ActionConnectionAPI.new
5
+ p api_instance.get_app_key_registration("b7feea52-994e-4714-a100-1bd9eff5aee1")
@@ -0,0 +1,5 @@
1
+ # List App Key Registrations returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::ActionConnectionAPI.new
5
+ p api_instance.list_app_key_registrations()
@@ -0,0 +1,5 @@
1
+ # Register a new App Key returns "Created" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::ActionConnectionAPI.new
5
+ p api_instance.register_app_key("b7feea52-994e-4714-a100-1bd9eff5aee1")
@@ -0,0 +1,5 @@
1
+ # Unregister an App Key returns "No Content" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::ActionConnectionAPI.new
5
+ api_instance.unregister_app_key("57cc69ae-9214-4ecc-8df8-43ecc1d92d99")
@@ -0,0 +1,5 @@
1
+ # Get AWS integration IAM permissions returns "AWS IAM Permissions object" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::AWSIntegrationAPI.new
5
+ p api_instance.get_aws_integration_iam_permissions()
@@ -0,0 +1,19 @@
1
+ # Create Cloud Cost Management GCP Usage Cost config returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+
6
+ body = DatadogAPIClient::V2::GCPUsageCostConfigPostRequest.new({
7
+ data: DatadogAPIClient::V2::GCPUsageCostConfigPostData.new({
8
+ attributes: DatadogAPIClient::V2::GCPUsageCostConfigPostRequestAttributes.new({
9
+ billing_account_id: "123456_A123BC_12AB34",
10
+ bucket_name: "dd-cost-bucket",
11
+ export_dataset_name: "billing",
12
+ export_prefix: "datadog_cloud_cost_usage_export",
13
+ export_project_name: "dd-cloud-cost-report",
14
+ service_account: "dd-ccm-gcp-integration@my-environment.iam.gserviceaccount.com",
15
+ }),
16
+ type: DatadogAPIClient::V2::GCPUsageCostConfigPostRequestType::GCP_USAGE_COST_CONFIG_POST_REQUEST,
17
+ }),
18
+ })
19
+ p api_instance.create_cost_gcp_usage_cost_config(body)
@@ -0,0 +1,5 @@
1
+ # Delete Cloud Cost Management GCP Usage Cost config returns "No Content" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+ api_instance.delete_cost_gcp_usage_cost_config("100")
@@ -0,0 +1,5 @@
1
+ # List Cloud Cost Management GCP Usage Cost configs returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+ p api_instance.list_cost_gcp_usage_cost_configs()
@@ -0,0 +1,14 @@
1
+ # Update Cloud Cost Management GCP Usage Cost config returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5
+
6
+ body = DatadogAPIClient::V2::GCPUsageCostConfigPatchRequest.new({
7
+ data: DatadogAPIClient::V2::GCPUsageCostConfigPatchData.new({
8
+ attributes: DatadogAPIClient::V2::GCPUsageCostConfigPatchRequestAttributes.new({
9
+ is_enabled: true,
10
+ }),
11
+ type: DatadogAPIClient::V2::GCPUsageCostConfigPatchRequestType::GCP_USAGE_COST_CONFIG_PATCH_REQUEST,
12
+ }),
13
+ })
14
+ p api_instance.update_cost_gcp_usage_cost_config("100", body)
@@ -0,0 +1,27 @@
1
+ # Create a dataset returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::DatasetsAPI.new
5
+
6
+ body = DatadogAPIClient::V2::DatasetCreateRequest.new({
7
+ data: DatadogAPIClient::V2::Dataset.new({
8
+ attributes: DatadogAPIClient::V2::DatasetAttributes.new({
9
+ created_at: nil,
10
+ name: "Security Audit Dataset",
11
+ principals: [
12
+ "role:86245fce-0a4e-11f0-92bd-da7ad0900002",
13
+ ],
14
+ product_filters: [
15
+ DatadogAPIClient::V2::FiltersPerProduct.new({
16
+ filters: [
17
+ "@application.id:ABCD",
18
+ ],
19
+ product: "logs",
20
+ }),
21
+ ],
22
+ }),
23
+ id: "123e4567-e89b-12d3-a456-426614174000",
24
+ type: "dataset",
25
+ }),
26
+ })
27
+ p api_instance.create_dataset(body)
@@ -0,0 +1,5 @@
1
+ # Delete a dataset returns "No Content" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::DatasetsAPI.new
5
+ api_instance.delete_dataset("dataset_id")
@@ -0,0 +1,5 @@
1
+ # Get all datasets returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::DatasetsAPI.new
5
+ p api_instance.get_all_datasets()
@@ -0,0 +1,5 @@
1
+ # Get a single dataset by ID returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::DatasetsAPI.new
5
+ p api_instance.get_dataset("dataset_id")
@@ -6,9 +6,10 @@ api_instance = DatadogAPIClient::V2::EventsAPI.new
6
6
  body = DatadogAPIClient::V2::EventCreateRequestPayload.new({
7
7
  data: DatadogAPIClient::V2::EventCreateRequest.new({
8
8
  attributes: DatadogAPIClient::V2::EventPayload.new({
9
+ aggregation_key: "aggregation_key_123",
9
10
  attributes: DatadogAPIClient::V2::ChangeEventCustomAttributes.new({
10
11
  author: DatadogAPIClient::V2::ChangeEventCustomAttributesAuthor.new({
11
- name: "datadog@datadog.com",
12
+ name: "example@datadog.com",
12
13
  type: DatadogAPIClient::V2::ChangeEventCustomAttributesAuthorType::USER,
13
14
  }),
14
15
  change_metadata: {
@@ -32,9 +33,10 @@ body = DatadogAPIClient::V2::EventCreateRequestPayload.new({
32
33
  },
33
34
  }),
34
35
  category: DatadogAPIClient::V2::EventCategory::CHANGE,
36
+ integration_id: DatadogAPIClient::V2::EventPayloadIntegrationId::CUSTOM_EVENTS,
35
37
  message: "payment_processed feature flag has been enabled",
36
38
  tags: [
37
- "env:test",
39
+ "env:api_client_test",
38
40
  ],
39
41
  title: "payment_processed feature flag updated",
40
42
  }),
@@ -1,9 +1,6 @@
1
1
  # Create a monitor notification rule returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.create_monitor_notification_rule".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::MonitorsAPI.new
8
5
 
9
6
  body = DatadogAPIClient::V2::MonitorNotificationRuleCreateRequest.new({
@@ -0,0 +1,37 @@
1
+ # Create a monitor user template returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.create_monitor_user_template".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::MonitorsAPI.new
8
+
9
+ body = DatadogAPIClient::V2::MonitorUserTemplateCreateRequest.new({
10
+ data: DatadogAPIClient::V2::MonitorUserTemplateCreateData.new({
11
+ attributes: DatadogAPIClient::V2::MonitorUserTemplateRequestAttributes.new({
12
+ description: "A description.",
13
+ monitor_definition: {
14
+ "message": "A msg.", "name": "A name example-monitor", "query": "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100", "type": "query alert",
15
+ },
16
+ tags: [
17
+ "integration:Azure",
18
+ ],
19
+ template_variables: [
20
+ DatadogAPIClient::V2::MonitorUserTemplateTemplateVariablesItems.new({
21
+ available_values: [
22
+ "value1",
23
+ "value2",
24
+ ],
25
+ defaults: [
26
+ "defaultValue",
27
+ ],
28
+ name: "regionName",
29
+ tag_key: "datacenter",
30
+ }),
31
+ ],
32
+ title: "Postgres DB example-monitor",
33
+ }),
34
+ type: DatadogAPIClient::V2::MonitorUserTemplateResourceType::MONITOR_USER_TEMPLATE,
35
+ }),
36
+ })
37
+ p api_instance.create_monitor_user_template(body)
@@ -1,9 +1,6 @@
1
1
  # Delete a monitor notification rule returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.delete_monitor_notification_rule".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::MonitorsAPI.new
8
5
 
9
6
  # there is a valid "monitor_notification_rule" in the system
@@ -0,0 +1,8 @@
1
+ # Delete a monitor user template returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.delete_monitor_user_template".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::MonitorsAPI.new
8
+ api_instance.delete_monitor_user_template("template_id")
@@ -1,9 +1,6 @@
1
1
  # Get a monitor notification rule returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.get_monitor_notification_rule".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::MonitorsAPI.new
8
5
 
9
6
  # there is a valid "monitor_notification_rule" in the system
@@ -1,8 +1,5 @@
1
1
  # Get all monitor notification rules returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.get_monitor_notification_rules".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::MonitorsAPI.new
8
5
  p api_instance.get_monitor_notification_rules()
@@ -0,0 +1,11 @@
1
+ # Get a monitor user template returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.get_monitor_user_template".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::MonitorsAPI.new
8
+
9
+ # there is a valid "monitor_user_template" in the system
10
+ MONITOR_USER_TEMPLATE_DATA_ID = ENV["MONITOR_USER_TEMPLATE_DATA_ID"]
11
+ p api_instance.get_monitor_user_template(MONITOR_USER_TEMPLATE_DATA_ID)
@@ -0,0 +1,8 @@
1
+ # Get all monitor user templates returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.list_monitor_user_templates".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::MonitorsAPI.new
8
+ p api_instance.list_monitor_user_templates()
@@ -1,9 +1,6 @@
1
1
  # Update a monitor notification rule returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.update_monitor_notification_rule".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::MonitorsAPI.new
8
5
 
9
6
  # there is a valid "monitor_notification_rule" in the system
@@ -0,0 +1,41 @@
1
+ # Update a monitor user template to a new version returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.update_monitor_user_template".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::MonitorsAPI.new
8
+
9
+ # there is a valid "monitor_user_template" in the system
10
+ MONITOR_USER_TEMPLATE_DATA_ID = ENV["MONITOR_USER_TEMPLATE_DATA_ID"]
11
+
12
+ body = DatadogAPIClient::V2::MonitorUserTemplateUpdateRequest.new({
13
+ data: DatadogAPIClient::V2::MonitorUserTemplateUpdateData.new({
14
+ attributes: DatadogAPIClient::V2::MonitorUserTemplateRequestAttributes.new({
15
+ description: "A description.",
16
+ monitor_definition: {
17
+ "message": "A msg.", "name": "A name example-monitor", "query": "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100", "type": "query alert",
18
+ },
19
+ tags: [
20
+ "integration:Azure",
21
+ ],
22
+ template_variables: [
23
+ DatadogAPIClient::V2::MonitorUserTemplateTemplateVariablesItems.new({
24
+ available_values: [
25
+ "value1",
26
+ "value2",
27
+ ],
28
+ defaults: [
29
+ "defaultValue",
30
+ ],
31
+ name: "regionName",
32
+ tag_key: "datacenter",
33
+ }),
34
+ ],
35
+ title: "Postgres DB example-monitor",
36
+ }),
37
+ id: MONITOR_USER_TEMPLATE_DATA_ID,
38
+ type: DatadogAPIClient::V2::MonitorUserTemplateResourceType::MONITOR_USER_TEMPLATE,
39
+ }),
40
+ })
41
+ p api_instance.update_monitor_user_template(MONITOR_USER_TEMPLATE_DATA_ID, body)