datadog_api_client 2.14.0 → 2.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (213) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +6 -6
  3. data/.generator/schemas/v1/openapi.yaml +808 -143
  4. data/.generator/schemas/v2/openapi.yaml +1808 -166
  5. data/.generator/src/generator/openapi.py +3 -1
  6. data/.generator/src/generator/templates/api.j2 +8 -2
  7. data/.generator/src/generator/templates/api_client.j2 +19 -1
  8. data/.generator/src/generator/templates/model_base.j2 +1 -0
  9. data/CHANGELOG.md +56 -0
  10. data/examples/v1/dashboards/CreateDashboard_1754992756.rb +44 -0
  11. data/examples/v1/dashboards/CreateDashboard_2278756614.rb +91 -0
  12. data/examples/v1/dashboards/CreateDashboard_2618036642.rb +36 -0
  13. data/examples/v1/dashboards/CreateDashboard_2705593938.rb +3 -0
  14. data/examples/v1/dashboards/CreateDashboard_3777304439.rb +50 -0
  15. data/examples/v1/dashboards/ListDashboards_1062671515.rb +8 -0
  16. data/examples/v1/monitors/CreateMonitor_1539578087.rb +36 -0
  17. data/examples/v1/monitors/ListMonitors_2966492814.rb +8 -0
  18. data/examples/v1/notebooks/ListNotebooks_788665428.rb +8 -0
  19. data/examples/v1/service-level-objective-corrections/ListSLOCorrection_2647266873.rb +8 -0
  20. data/examples/v1/service-level-objectives/ListSLOs_3036942817.rb +8 -0
  21. data/examples/v1/synthetics/CreateSyntheticsAPITest_1487281163.rb +1 -0
  22. data/examples/v1/synthetics/CreateSyntheticsBrowserTest.rb +1 -1
  23. data/examples/v1/synthetics/CreateSyntheticsBrowserTest_2932742688.rb +1 -1
  24. data/examples/v1/synthetics/CreateSyntheticsBrowserTest_397420811.rb +1 -1
  25. data/examples/v1/synthetics/ListTests_1938827783.rb +8 -0
  26. data/examples/v1/usage-metering/GetUsageCIApp.rb +4 -1
  27. data/examples/v1/usage-metering/GetUsageCWS.rb +4 -1
  28. data/examples/v1/usage-metering/GetUsageCloudSecurityPostureManagement.rb +1 -1
  29. data/examples/v2/apm-retention-filters/CreateApmRetentionFilter.rb +20 -0
  30. data/examples/v2/apm-retention-filters/DeleteApmRetentionFilter.rb +8 -0
  31. data/examples/v2/apm-retention-filters/GetApmRetentionFilter.rb +8 -0
  32. data/examples/v2/apm-retention-filters/ListApmRetentionFilters.rb +5 -0
  33. data/examples/v2/apm-retention-filters/ReorderApmRetentionFilters.rb +18 -0
  34. data/examples/v2/apm-retention-filters/UpdateApmRetentionFilter.rb +24 -0
  35. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent.rb +0 -3
  36. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_129899466.rb +0 -8
  37. data/examples/v2/container-images/ListContainerImages.rb +8 -0
  38. data/examples/v2/container-images/ListContainerImages_3088586393.rb +11 -0
  39. data/examples/v2/container-images/ListContainerImages_3974828736.rb +11 -0
  40. data/examples/v2/downtimes/CancelDowntime.rb +0 -3
  41. data/examples/v2/downtimes/CreateDowntime.rb +0 -3
  42. data/examples/v2/downtimes/GetDowntime.rb +0 -3
  43. data/examples/v2/downtimes/ListDowntimes.rb +0 -3
  44. data/examples/v2/downtimes/ListDowntimes_805770330.rb +8 -0
  45. data/examples/v2/downtimes/ListMonitorDowntimes.rb +0 -3
  46. data/examples/v2/downtimes/ListMonitorDowntimes_128979780.rb +0 -3
  47. data/examples/v2/downtimes/UpdateDowntime.rb +0 -3
  48. data/examples/v2/gcp-integration/CreateGCPSTSAccount_109518525.rb +19 -0
  49. data/examples/v2/powerpack/CreatePowerpack.rb +47 -0
  50. data/examples/v2/powerpack/DeletePowerpack.rb +8 -0
  51. data/examples/v2/powerpack/GetPowerpack.rb +8 -0
  52. data/examples/v2/powerpack/ListPowerpacks.rb +8 -0
  53. data/examples/v2/powerpack/ListPowerpacks_1173755071.rb +8 -0
  54. data/examples/v2/powerpack/UpdatePowerpack.rb +50 -0
  55. data/examples/v2/rum/CreateRUMApplication.rb +1 -1
  56. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_1092490364.rb +1 -1
  57. data/examples/v2/security-monitoring/UpdateSecurityMonitoringRule_428087276.rb +1 -1
  58. data/examples/v2/service-accounts/CreateServiceAccountApplicationKey.rb +5 -7
  59. data/examples/v2/service-accounts/DeleteServiceAccountApplicationKey.rb +7 -1
  60. data/examples/v2/service-accounts/GetServiceAccountApplicationKey.rb +7 -1
  61. data/examples/v2/service-accounts/ListServiceAccountApplicationKeys.rb +4 -1
  62. data/examples/v2/service-accounts/UpdateServiceAccountApplicationKey.rb +11 -9
  63. data/examples/v2/service-definition/CreateOrUpdateServiceDefinitions.rb +23 -12
  64. data/examples/v2/service-definition/CreateOrUpdateServiceDefinitions_2621709423.rb +53 -0
  65. data/examples/v2/teams/ListTeams_3592098458.rb +8 -0
  66. data/examples/v2/users/ListUsers_4075885358.rb +8 -0
  67. data/lib/datadog_api_client/api_client.rb +19 -1
  68. data/lib/datadog_api_client/configuration.rb +1 -7
  69. data/lib/datadog_api_client/inflector.rb +81 -0
  70. data/lib/datadog_api_client/v1/api/dashboards_api.rb +25 -0
  71. data/lib/datadog_api_client/v1/api/monitors_api.rb +23 -20
  72. data/lib/datadog_api_client/v1/api/notebooks_api.rb +21 -0
  73. data/lib/datadog_api_client/v1/api/service_level_objective_corrections_api.rb +21 -0
  74. data/lib/datadog_api_client/v1/api/service_level_objectives_api.rb +21 -0
  75. data/lib/datadog_api_client/v1/api/synthetics_api.rb +25 -3
  76. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +6 -6
  77. data/lib/datadog_api_client/v1/api/webhooks_integration_api.rb +1 -1
  78. data/lib/datadog_api_client/v1/model_base.rb +1 -0
  79. data/lib/datadog_api_client/v1/models/heat_map_widget_request.rb +35 -1
  80. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +7 -4
  81. data/lib/datadog_api_client/v1/models/ip_prefixes_global.rb +94 -0
  82. data/lib/datadog_api_client/v1/models/ip_ranges.rb +11 -1
  83. data/lib/datadog_api_client/v1/models/list_stream_source.rb +1 -0
  84. data/lib/datadog_api_client/v1/models/monitor.rb +1 -1
  85. data/lib/datadog_api_client/v1/models/monitor_options.rb +1 -1
  86. data/lib/datadog_api_client/v1/models/monitor_options_custom_schedule.rb +82 -0
  87. data/lib/datadog_api_client/v1/models/monitor_options_custom_schedule_recurrence.rb +100 -0
  88. data/lib/datadog_api_client/v1/models/monitor_options_scheduling_options.rb +11 -1
  89. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +6 -0
  90. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +65 -5
  91. data/lib/datadog_api_client/v1/models/powerpack_template_variable_contents.rb +131 -0
  92. data/lib/datadog_api_client/v1/models/powerpack_template_variables.rb +94 -0
  93. data/lib/datadog_api_client/v1/models/powerpack_widget_definition.rb +169 -0
  94. data/lib/datadog_api_client/v1/models/powerpack_widget_definition_type.rb +26 -0
  95. data/lib/datadog_api_client/v1/models/split_config.rb +181 -0
  96. data/lib/datadog_api_client/v1/models/split_config_sort_compute.rb +119 -0
  97. data/lib/datadog_api_client/v1/models/split_dimension.rb +98 -0
  98. data/lib/datadog_api_client/v1/models/split_graph_source_widget_definition.rb +70 -0
  99. data/lib/datadog_api_client/v1/models/split_graph_viz_size.rb +29 -0
  100. data/lib/datadog_api_client/v1/models/split_graph_widget_definition.rb +191 -0
  101. data/lib/datadog_api_client/v1/models/split_graph_widget_definition_type.rb +26 -0
  102. data/lib/datadog_api_client/v1/models/split_sort.rb +108 -0
  103. data/lib/datadog_api_client/v1/models/split_vector_entry_item.rb +125 -0
  104. data/lib/datadog_api_client/v1/models/sunburst_widget_request.rb +14 -4
  105. data/lib/datadog_api_client/v1/models/synthetics_assertion_target.rb +11 -1
  106. data/lib/datadog_api_client/v1/models/synthetics_assertion_timings_scope.rb +27 -0
  107. data/lib/datadog_api_client/v1/models/usage_attribution_values.rb +4 -4
  108. data/lib/datadog_api_client/v1/models/usage_cloud_security_posture_management_hour.rb +8 -8
  109. data/lib/datadog_api_client/v1/models/usage_cloud_security_posture_management_response.rb +2 -2
  110. data/lib/datadog_api_client/v1/models/usage_profiling_hour.rb +12 -1
  111. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +168 -8
  112. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +168 -8
  113. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +168 -8
  114. data/lib/datadog_api_client/v1/models/widget_definition.rb +8 -6
  115. data/lib/datadog_api_client/v2/api/apm_retention_filters_api.rb +423 -0
  116. data/lib/datadog_api_client/v2/api/audit_api.rb +1 -1
  117. data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +5 -11
  118. data/lib/datadog_api_client/v2/api/ci_visibility_tests_api.rb +4 -4
  119. data/lib/datadog_api_client/v2/api/container_images_api.rb +129 -0
  120. data/lib/datadog_api_client/v2/api/downtimes_api.rb +25 -36
  121. data/lib/datadog_api_client/v2/api/events_api.rb +1 -1
  122. data/lib/datadog_api_client/v2/api/incidents_api.rb +1 -1
  123. data/lib/datadog_api_client/v2/api/logs_api.rb +1 -1
  124. data/lib/datadog_api_client/v2/api/powerpack_api.rb +383 -0
  125. data/lib/datadog_api_client/v2/api/processes_api.rb +1 -1
  126. data/lib/datadog_api_client/v2/api/rum_api.rb +1 -1
  127. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +3 -3
  128. data/lib/datadog_api_client/v2/api/service_definition_api.rb +4 -4
  129. data/lib/datadog_api_client/v2/api/spans_api.rb +1 -1
  130. data/lib/datadog_api_client/v2/api/teams_api.rb +22 -0
  131. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +1 -1
  132. data/lib/datadog_api_client/v2/api/users_api.rb +22 -0
  133. data/lib/datadog_api_client/v2/model_base.rb +1 -0
  134. data/lib/datadog_api_client/v2/models/apm_retention_filter_type.rb +26 -0
  135. data/lib/datadog_api_client/v2/models/container_image.rb +100 -0
  136. data/lib/datadog_api_client/v2/models/container_image_attributes.rb +261 -0
  137. data/lib/datadog_api_client/v2/models/container_image_flavor.rb +120 -0
  138. data/lib/datadog_api_client/v2/models/container_image_group.rb +110 -0
  139. data/lib/datadog_api_client/v2/models/container_image_group_attributes.rb +100 -0
  140. data/lib/datadog_api_client/v2/models/container_image_group_images_relationships_link.rb +92 -0
  141. data/lib/datadog_api_client/v2/models/container_image_group_relationships.rb +80 -0
  142. data/lib/datadog_api_client/v2/models/container_image_group_relationships_links.rb +80 -0
  143. data/lib/datadog_api_client/v2/models/container_image_group_type.rb +26 -0
  144. data/lib/datadog_api_client/v2/models/container_image_item.rb +63 -0
  145. data/lib/datadog_api_client/v2/models/container_image_meta.rb +80 -0
  146. data/lib/datadog_api_client/v2/models/container_image_meta_page.rb +160 -0
  147. data/lib/datadog_api_client/v2/models/container_image_meta_page_type.rb +26 -0
  148. data/lib/datadog_api_client/v2/models/container_image_type.rb +26 -0
  149. data/lib/datadog_api_client/v2/models/container_image_vulnerabilities.rb +140 -0
  150. data/lib/datadog_api_client/v2/models/container_images_response.rb +102 -0
  151. data/lib/datadog_api_client/v2/models/container_images_response_links.rb +130 -0
  152. data/lib/datadog_api_client/v2/models/data_scalar_column.rb +2 -2
  153. data/lib/datadog_api_client/v2/models/downtime_relationships_monitor_data.rb +1 -1
  154. data/lib/datadog_api_client/v2/models/gcpsts_service_account_attributes.rb +13 -1
  155. data/lib/datadog_api_client/v2/models/group_scalar_column.rb +2 -2
  156. data/lib/datadog_api_client/v2/models/list_powerpacks_response.rb +114 -0
  157. data/lib/datadog_api_client/v2/models/powerpack.rb +80 -0
  158. data/lib/datadog_api_client/v2/models/powerpack_attributes.rb +164 -0
  159. data/lib/datadog_api_client/v2/models/powerpack_data.rb +110 -0
  160. data/lib/datadog_api_client/v2/models/powerpack_group_widget.rb +108 -0
  161. data/lib/datadog_api_client/v2/models/powerpack_group_widget_definition.rb +162 -0
  162. data/lib/datadog_api_client/v2/models/powerpack_group_widget_layout.rb +177 -0
  163. data/lib/datadog_api_client/v2/models/powerpack_inner_widget_layout.rb +177 -0
  164. data/lib/datadog_api_client/v2/models/powerpack_inner_widgets.rb +108 -0
  165. data/lib/datadog_api_client/v2/models/powerpack_relationships.rb +80 -0
  166. data/lib/datadog_api_client/v2/models/powerpack_response.rb +92 -0
  167. data/lib/datadog_api_client/v2/models/powerpack_response_links.rb +129 -0
  168. data/lib/datadog_api_client/v2/models/powerpack_template_variable.rb +110 -0
  169. data/lib/datadog_api_client/v2/models/powerpacks_response_meta.rb +80 -0
  170. data/lib/datadog_api_client/v2/models/powerpacks_response_meta_pagination.rb +150 -0
  171. data/lib/datadog_api_client/v2/models/reorder_retention_filters_request.rb +100 -0
  172. data/lib/datadog_api_client/v2/models/restriction_policy_binding.rb +1 -1
  173. data/lib/datadog_api_client/v2/models/retention_filter.rb +140 -0
  174. data/lib/datadog_api_client/v2/models/retention_filter_all.rb +140 -0
  175. data/lib/datadog_api_client/v2/models/retention_filter_all_attributes.rb +181 -0
  176. data/lib/datadog_api_client/v2/models/retention_filter_all_type.rb +28 -0
  177. data/lib/datadog_api_client/v2/models/retention_filter_attributes.rb +181 -0
  178. data/lib/datadog_api_client/v2/models/retention_filter_create_attributes.rb +183 -0
  179. data/lib/datadog_api_client/v2/models/retention_filter_create_data.rb +119 -0
  180. data/lib/datadog_api_client/v2/models/retention_filter_create_request.rb +98 -0
  181. data/lib/datadog_api_client/v2/models/retention_filter_response.rb +80 -0
  182. data/lib/datadog_api_client/v2/models/retention_filter_type.rb +26 -0
  183. data/lib/datadog_api_client/v2/models/retention_filter_update_data.rb +140 -0
  184. data/lib/datadog_api_client/v2/models/retention_filter_update_request.rb +98 -0
  185. data/lib/datadog_api_client/v2/models/retention_filter_without_attributes.rb +119 -0
  186. data/lib/datadog_api_client/v2/models/retention_filters_response.rb +100 -0
  187. data/lib/datadog_api_client/v2/models/scalar_column_type_group.rb +26 -0
  188. data/lib/datadog_api_client/v2/models/scalar_column_type_number.rb +26 -0
  189. data/lib/datadog_api_client/v2/models/scalar_meta.rb +8 -0
  190. data/lib/datadog_api_client/v2/models/service_definition_schema.rb +2 -1
  191. data/lib/datadog_api_client/v2/models/service_definition_schema_versions.rb +1 -0
  192. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2.rb +247 -0
  193. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_contact.rb +129 -0
  194. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_integrations.rb +90 -0
  195. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_link.rb +150 -0
  196. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_opsgenie.rb +108 -0
  197. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_opsgenie_region.rb +27 -0
  198. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_pagerduty.rb +80 -0
  199. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_type.rb +32 -0
  200. data/lib/datadog_api_client/v2/models/service_definition_v2_dot2_version.rb +26 -0
  201. data/lib/datadog_api_client/v2/models/service_definitions_create_request.rb +1 -0
  202. data/lib/datadog_api_client/v2/models/spans_filter.rb +80 -0
  203. data/lib/datadog_api_client/v2/models/spans_filter_create.rb +98 -0
  204. data/lib/datadog_api_client/version.rb +1 -1
  205. data/run-tests.sh +6 -5
  206. metadata +114 -9
  207. data/examples/v1/usage-metering/GetUsageCIApp_1064440884.rb +0 -8
  208. data/examples/v1/usage-metering/GetUsageCWS_736958514.rb +0 -8
  209. data/examples/v2/service-accounts/CreateServiceAccountApplicationKey_1761876297.rb +0 -17
  210. data/examples/v2/service-accounts/DeleteServiceAccountApplicationKey_992091161.rb +0 -11
  211. data/examples/v2/service-accounts/GetServiceAccountApplicationKey_819075131.rb +0 -11
  212. data/examples/v2/service-accounts/ListServiceAccountApplicationKeys_1268914341.rb +0 -8
  213. data/examples/v2/service-accounts/UpdateServiceAccountApplicationKey_768415790.rb +0 -22
@@ -0,0 +1,24 @@
1
+ # Update a retention filter 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::RetentionFilterCreateAttributes.new({
12
+ name: "test",
13
+ rate: 0.9,
14
+ filter: DatadogAPIClient::V2::SpansFilterCreate.new({
15
+ query: "@_top_level:1 test:service-demo",
16
+ }),
17
+ enabled: true,
18
+ filter_type: DatadogAPIClient::V2::RetentionFilterType::SPANS_SAMPLING_PROCESSOR,
19
+ }),
20
+ id: "test-id",
21
+ type: DatadogAPIClient::V2::ApmRetentionFilterType::APM_RETENTION_FILTER,
22
+ }),
23
+ })
24
+ p api_instance.update_apm_retention_filter(RETENTION_FILTER_DATA_ID, body)
@@ -1,9 +1,6 @@
1
1
  # Send pipeline event returns "Request accepted for processing" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.create_ci_app_pipeline_event".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::CIVisibilityPipelinesAPI.new
8
5
 
9
6
  body = DatadogAPIClient::V2::CIAppCreatePipelineEventRequest.new({
@@ -1,9 +1,6 @@
1
1
  # Send pipeline job event returns "Request accepted for processing" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.create_ci_app_pipeline_event".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::CIVisibilityPipelinesAPI.new
8
5
 
9
6
  body = DatadogAPIClient::V2::CIAppCreatePipelineEventRequest.new({
@@ -19,11 +16,6 @@ body = DatadogAPIClient::V2::CIAppCreatePipelineEventRequest.new({
19
16
  pipeline_unique_id: "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
20
17
  pipeline_name: "Deploy to AWS",
21
18
  url: "https://my-ci-provider.example/jobs/my-jobs/run/1",
22
- git: DatadogAPIClient::V2::CIAppGitInfo.new({
23
- repository_url: "https://github.com/DataDog/datadog-agent",
24
- sha: "7f263865994b76066c4612fd1965215e7dcb4cd2",
25
- author_email: "john.doe@email.com",
26
- }),
27
19
  }),
28
20
  }),
29
21
  type: DatadogAPIClient::V2::CIAppCreatePipelineEventRequestDataType::CIPIPELINE_RESOURCE_REQUEST,
@@ -0,0 +1,8 @@
1
+ # Get all Container Images returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.list_container_images".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::ContainerImagesAPI.new
8
+ p api_instance.list_container_images()
@@ -0,0 +1,11 @@
1
+ # Get all Container Images returns "OK" response with pagination
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.list_container_images".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::ContainerImagesAPI.new
8
+ opts = {
9
+ page_size: 2,
10
+ }
11
+ api_instance.list_container_images_with_pagination(opts) { |item| puts item }
@@ -0,0 +1,11 @@
1
+ # Get all Container Image groups returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.list_container_images".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::ContainerImagesAPI.new
8
+ opts = {
9
+ group_by: "short_image",
10
+ }
11
+ p api_instance.list_container_images(opts)
@@ -1,9 +1,6 @@
1
1
  # Cancel a downtime returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.cancel_downtime".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::DowntimesAPI.new
8
5
 
9
6
  # there is a valid "downtime_v2" in the system
@@ -1,9 +1,6 @@
1
1
  # Schedule a downtime returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.create_downtime".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::DowntimesAPI.new
8
5
 
9
6
  body = DatadogAPIClient::V2::DowntimeCreateRequest.new({
@@ -1,9 +1,6 @@
1
1
  # Get a downtime returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.get_downtime".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::DowntimesAPI.new
8
5
 
9
6
  # there is a valid "downtime_v2" in the system
@@ -1,8 +1,5 @@
1
1
  # Get all downtimes returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.list_downtimes".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::DowntimesAPI.new
8
5
  p api_instance.list_downtimes()
@@ -0,0 +1,8 @@
1
+ # Get all downtimes returns "OK" response with pagination
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::DowntimesAPI.new
5
+ opts = {
6
+ page_limit: 2,
7
+ }
8
+ api_instance.list_downtimes_with_pagination(opts) { |item| puts item }
@@ -1,8 +1,5 @@
1
1
  # Get active downtimes for a monitor returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.list_monitor_downtimes".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::DowntimesAPI.new
8
5
  p api_instance.list_monitor_downtimes(9223372036854775807)
@@ -1,8 +1,5 @@
1
1
  # Get all downtimes for a monitor returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.list_monitor_downtimes".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::DowntimesAPI.new
8
5
  p api_instance.list_monitor_downtimes(35534610)
@@ -1,9 +1,6 @@
1
1
  # Update a downtime returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.update_downtime".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::DowntimesAPI.new
8
5
 
9
6
  # there is a valid "downtime_v2" in the system
@@ -0,0 +1,19 @@
1
+ # Create a new entry for your service account with account_tags returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::GCPIntegrationAPI.new
5
+
6
+ body = DatadogAPIClient::V2::GCPSTSServiceAccountCreateRequest.new({
7
+ data: DatadogAPIClient::V2::GCPSTSServiceAccountData.new({
8
+ attributes: DatadogAPIClient::V2::GCPSTSServiceAccountAttributes.new({
9
+ account_tags: [
10
+ "lorem",
11
+ "ipsum",
12
+ ],
13
+ client_email: "252bf553ef04b351@test-project.iam.gserviceaccount.com",
14
+ host_filters: [],
15
+ }),
16
+ type: DatadogAPIClient::V2::GCPServiceAccountType::GCP_SERVICE_ACCOUNT,
17
+ }),
18
+ })
19
+ p api_instance.create_gcpsts_account(body)
@@ -0,0 +1,47 @@
1
+ # Create a new powerpack returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::PowerpackAPI.new
5
+
6
+ body = DatadogAPIClient::V2::Powerpack.new({
7
+ data: DatadogAPIClient::V2::PowerpackData.new({
8
+ attributes: DatadogAPIClient::V2::PowerpackAttributes.new({
9
+ description: "Sample powerpack",
10
+ group_widget: DatadogAPIClient::V2::PowerpackGroupWidget.new({
11
+ definition: DatadogAPIClient::V2::PowerpackGroupWidgetDefinition.new({
12
+ layout_type: "ordered",
13
+ show_title: true,
14
+ title: "Sample Powerpack",
15
+ type: "group",
16
+ widgets: [
17
+ DatadogAPIClient::V2::PowerpackInnerWidgets.new({
18
+ definition: {
19
+ "content": "test", "type": "note",
20
+ },
21
+ }),
22
+ ],
23
+ }),
24
+ layout: DatadogAPIClient::V2::PowerpackGroupWidgetLayout.new({
25
+ height: 3,
26
+ width: 12,
27
+ x: 0,
28
+ y: 0,
29
+ }),
30
+ }),
31
+ name: "Example-Powerpack",
32
+ tags: [
33
+ "tag:sample",
34
+ ],
35
+ template_variables: [
36
+ DatadogAPIClient::V2::PowerpackTemplateVariable.new({
37
+ defaults: [
38
+ "*",
39
+ ],
40
+ name: "sample",
41
+ }),
42
+ ],
43
+ }),
44
+ type: "powerpack",
45
+ }),
46
+ })
47
+ p api_instance.create_powerpack(body)
@@ -0,0 +1,8 @@
1
+ # Delete a powerpack returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::PowerpackAPI.new
5
+
6
+ # there is a valid "powerpack" in the system
7
+ POWERPACK_DATA_ID = ENV["POWERPACK_DATA_ID"]
8
+ api_instance.delete_powerpack(POWERPACK_DATA_ID)
@@ -0,0 +1,8 @@
1
+ # Get a Powerpack returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::PowerpackAPI.new
5
+
6
+ # there is a valid "powerpack" in the system
7
+ POWERPACK_DATA_ID = ENV["POWERPACK_DATA_ID"]
8
+ p api_instance.get_powerpack(POWERPACK_DATA_ID)
@@ -0,0 +1,8 @@
1
+ # Get all powerpacks returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::PowerpackAPI.new
5
+ opts = {
6
+ page_limit: 1000,
7
+ }
8
+ p api_instance.list_powerpacks(opts)
@@ -0,0 +1,8 @@
1
+ # Get all powerpacks returns "OK" response with pagination
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::PowerpackAPI.new
5
+ opts = {
6
+ page_limit: 2,
7
+ }
8
+ api_instance.list_powerpacks_with_pagination(opts) { |item| puts item }
@@ -0,0 +1,50 @@
1
+ # Update a powerpack returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::PowerpackAPI.new
5
+
6
+ # there is a valid "powerpack" in the system
7
+ POWERPACK_DATA_ID = ENV["POWERPACK_DATA_ID"]
8
+
9
+ body = DatadogAPIClient::V2::Powerpack.new({
10
+ data: DatadogAPIClient::V2::PowerpackData.new({
11
+ attributes: DatadogAPIClient::V2::PowerpackAttributes.new({
12
+ description: "Sample powerpack",
13
+ group_widget: DatadogAPIClient::V2::PowerpackGroupWidget.new({
14
+ definition: DatadogAPIClient::V2::PowerpackGroupWidgetDefinition.new({
15
+ layout_type: "ordered",
16
+ show_title: true,
17
+ title: "Sample Powerpack",
18
+ type: "group",
19
+ widgets: [
20
+ DatadogAPIClient::V2::PowerpackInnerWidgets.new({
21
+ definition: {
22
+ "content": "test", "type": "note",
23
+ },
24
+ }),
25
+ ],
26
+ }),
27
+ layout: DatadogAPIClient::V2::PowerpackGroupWidgetLayout.new({
28
+ height: 3,
29
+ width: 12,
30
+ x: 0,
31
+ y: 0,
32
+ }),
33
+ }),
34
+ name: "Example-Powerpack",
35
+ tags: [
36
+ "tag:sample",
37
+ ],
38
+ template_variables: [
39
+ DatadogAPIClient::V2::PowerpackTemplateVariable.new({
40
+ defaults: [
41
+ "*",
42
+ ],
43
+ name: "sample",
44
+ }),
45
+ ],
46
+ }),
47
+ type: "powerpack",
48
+ }),
49
+ })
50
+ p api_instance.update_powerpack(POWERPACK_DATA_ID, body)
@@ -6,7 +6,7 @@ api_instance = DatadogAPIClient::V2::RUMAPI.new
6
6
  body = DatadogAPIClient::V2::RUMApplicationCreateRequest.new({
7
7
  data: DatadogAPIClient::V2::RUMApplicationCreate.new({
8
8
  attributes: DatadogAPIClient::V2::RUMApplicationCreateAttributes.new({
9
- name: "my_new_rum_application",
9
+ name: "test-rum-5c67ebb32077e1d9",
10
10
  type: "ios",
11
11
  }),
12
12
  type: DatadogAPIClient::V2::RUMApplicationCreateType::RUM_APPLICATION_CREATE,
@@ -20,7 +20,7 @@ body = DatadogAPIClient::V2::CloudConfigurationRuleCreatePayload.new({
20
20
  resource_type: "gcp_compute_disk",
21
21
  complex_rule: false,
22
22
  rego_rule: DatadogAPIClient::V2::CloudConfigurationRegoRule.new({
23
- policy: 'package datadog\n',
23
+ policy: 'package datadog\n\nimport data.datadog.output as dd_output\n\nimport future.keywords.contains\nimport future.keywords.if\nimport future.keywords.in\n\nmilliseconds_in_a_day := ((1000 * 60) * 60) * 24\n\neval(iam_service_account_key) = "skip" if {\n\tiam_service_account_key.disabled\n} else = "pass" if {\n\t(iam_service_account_key.resource_seen_at / milliseconds_in_a_day) - (iam_service_account_key.valid_after_time / milliseconds_in_a_day) <= 90\n} else = "fail"\n\n# This part remains unchanged for all rules\nresults contains result if {\n\tsome resource in input.resources[input.main_resource_type]\n\tresult := dd_output.format(resource, eval(resource))\n}\n',
24
24
  resource_types: [
25
25
  "gcp_compute_disk",
26
26
  ],
@@ -19,7 +19,7 @@ body = DatadogAPIClient::V2::SecurityMonitoringRuleUpdatePayload.new({
19
19
  compliance_rule_options: DatadogAPIClient::V2::CloudConfigurationComplianceRuleOptions.new({
20
20
  resource_type: "gcp_compute_disk",
21
21
  rego_rule: DatadogAPIClient::V2::CloudConfigurationRegoRule.new({
22
- policy: 'package datadog\n',
22
+ policy: 'package datadog\n\nimport data.datadog.output as dd_output\n\nimport future.keywords.contains\nimport future.keywords.if\nimport future.keywords.in\n\nmilliseconds_in_a_day := ((1000 * 60) * 60) * 24\n\neval(iam_service_account_key) = "skip" if {\n\tiam_service_account_key.disabled\n} else = "pass" if {\n\t(iam_service_account_key.resource_seen_at / milliseconds_in_a_day) - (iam_service_account_key.valid_after_time / milliseconds_in_a_day) <= 90\n} else = "fail"\n\n# This part remains unchanged for all rules\nresults contains result if {\n\tsome resource in input.resources[input.main_resource_type]\n\tresult := dd_output.format(resource, eval(resource))\n}\n',
23
23
  resource_types: [
24
24
  "gcp_compute_disk",
25
25
  ],
@@ -3,17 +3,15 @@
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::ServiceAccountsAPI.new
5
5
 
6
+ # there is a valid "service_account_user" in the system
7
+ SERVICE_ACCOUNT_USER_DATA_ID = ENV["SERVICE_ACCOUNT_USER_DATA_ID"]
8
+
6
9
  body = DatadogAPIClient::V2::ApplicationKeyCreateRequest.new({
7
10
  data: DatadogAPIClient::V2::ApplicationKeyCreateData.new({
8
11
  attributes: DatadogAPIClient::V2::ApplicationKeyCreateAttributes.new({
9
- name: "Application Key for managing dashboards",
10
- scopes: [
11
- "dashboards_read",
12
- "dashboards_write",
13
- "dashboards_public_share",
14
- ],
12
+ name: "Example-Service-Account",
15
13
  }),
16
14
  type: DatadogAPIClient::V2::ApplicationKeysType::APPLICATION_KEYS,
17
15
  }),
18
16
  })
19
- p api_instance.create_service_account_application_key("00000000-0000-1234-0000-000000000000", body)
17
+ p api_instance.create_service_account_application_key(SERVICE_ACCOUNT_USER_DATA_ID, body)
@@ -2,4 +2,10 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::ServiceAccountsAPI.new
5
- api_instance.delete_service_account_application_key("00000000-0000-1234-0000-000000000000", "app_key_id")
5
+
6
+ # there is a valid "service_account_user" in the system
7
+ SERVICE_ACCOUNT_USER_DATA_ID = ENV["SERVICE_ACCOUNT_USER_DATA_ID"]
8
+
9
+ # there is a valid "service_account_application_key" for "service_account_user"
10
+ SERVICE_ACCOUNT_APPLICATION_KEY_DATA_ID = ENV["SERVICE_ACCOUNT_APPLICATION_KEY_DATA_ID"]
11
+ api_instance.delete_service_account_application_key(SERVICE_ACCOUNT_USER_DATA_ID, SERVICE_ACCOUNT_APPLICATION_KEY_DATA_ID)
@@ -2,4 +2,10 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::ServiceAccountsAPI.new
5
- p api_instance.get_service_account_application_key("00000000-0000-1234-0000-000000000000", "app_key_id")
5
+
6
+ # there is a valid "service_account_user" in the system
7
+ SERVICE_ACCOUNT_USER_DATA_ID = ENV["SERVICE_ACCOUNT_USER_DATA_ID"]
8
+
9
+ # there is a valid "service_account_application_key" for "service_account_user"
10
+ SERVICE_ACCOUNT_APPLICATION_KEY_DATA_ID = ENV["SERVICE_ACCOUNT_APPLICATION_KEY_DATA_ID"]
11
+ p api_instance.get_service_account_application_key(SERVICE_ACCOUNT_USER_DATA_ID, SERVICE_ACCOUNT_APPLICATION_KEY_DATA_ID)
@@ -2,4 +2,7 @@
2
2
 
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::ServiceAccountsAPI.new
5
- p api_instance.list_service_account_application_keys("00000000-0000-1234-0000-000000000000")
5
+
6
+ # there is a valid "service_account_user" in the system
7
+ SERVICE_ACCOUNT_USER_DATA_ID = ENV["SERVICE_ACCOUNT_USER_DATA_ID"]
8
+ p api_instance.list_service_account_application_keys(SERVICE_ACCOUNT_USER_DATA_ID)
@@ -3,18 +3,20 @@
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::ServiceAccountsAPI.new
5
5
 
6
+ # there is a valid "service_account_user" in the system
7
+ SERVICE_ACCOUNT_USER_DATA_ID = ENV["SERVICE_ACCOUNT_USER_DATA_ID"]
8
+
9
+ # there is a valid "service_account_application_key" for "service_account_user"
10
+ SERVICE_ACCOUNT_APPLICATION_KEY_DATA_ATTRIBUTES_NAME = ENV["SERVICE_ACCOUNT_APPLICATION_KEY_DATA_ATTRIBUTES_NAME"]
11
+ SERVICE_ACCOUNT_APPLICATION_KEY_DATA_ID = ENV["SERVICE_ACCOUNT_APPLICATION_KEY_DATA_ID"]
12
+
6
13
  body = DatadogAPIClient::V2::ApplicationKeyUpdateRequest.new({
7
14
  data: DatadogAPIClient::V2::ApplicationKeyUpdateData.new({
15
+ id: SERVICE_ACCOUNT_APPLICATION_KEY_DATA_ID,
16
+ type: DatadogAPIClient::V2::ApplicationKeysType::APPLICATION_KEYS,
8
17
  attributes: DatadogAPIClient::V2::ApplicationKeyUpdateAttributes.new({
9
- name: "Application Key for managing dashboards",
10
- scopes: [
11
- "dashboards_read",
12
- "dashboards_write",
13
- "dashboards_public_share",
14
- ],
18
+ name: "Application Key for managing dashboards-updated",
15
19
  }),
16
- id: "00112233-4455-6677-8899-aabbccddeeff",
17
- type: DatadogAPIClient::V2::ApplicationKeysType::APPLICATION_KEYS,
18
20
  }),
19
21
  })
20
- p api_instance.update_service_account_application_key("00000000-0000-1234-0000-000000000000", "app_key_id", body)
22
+ p api_instance.update_service_account_application_key(SERVICE_ACCOUNT_USER_DATA_ID, SERVICE_ACCOUNT_APPLICATION_KEY_DATA_ID, body)
@@ -3,13 +3,13 @@
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::ServiceDefinitionAPI.new
5
5
 
6
- body = DatadogAPIClient::V2::ServiceDefinitionV2Dot1.new({
6
+ body = DatadogAPIClient::V2::ServiceDefinitionV2Dot2.new({
7
7
  application: "my-app",
8
8
  contacts: [
9
- DatadogAPIClient::V2::ServiceDefinitionV2Dot1Email.new({
10
- contact: "contact@datadoghq.com",
11
- name: "Team Email",
12
- type: DatadogAPIClient::V2::ServiceDefinitionV2Dot1EmailType::EMAIL,
9
+ DatadogAPIClient::V2::ServiceDefinitionV2Dot2Contact.new({
10
+ contact: "https://teams.microsoft.com/myteam",
11
+ name: "My team channel",
12
+ type: "slack",
13
13
  }),
14
14
  ],
15
15
  dd_service: "my-service",
@@ -17,30 +17,41 @@ body = DatadogAPIClient::V2::ServiceDefinitionV2Dot1.new({
17
17
  extensions: {
18
18
  "myorg/extension": "extensionValue",
19
19
  },
20
- integrations: DatadogAPIClient::V2::ServiceDefinitionV2Dot1Integrations.new({
21
- opsgenie: DatadogAPIClient::V2::ServiceDefinitionV2Dot1Opsgenie.new({
22
- region: DatadogAPIClient::V2::ServiceDefinitionV2Dot1OpsgenieRegion::US,
20
+ integrations: DatadogAPIClient::V2::ServiceDefinitionV2Dot2Integrations.new({
21
+ opsgenie: DatadogAPIClient::V2::ServiceDefinitionV2Dot2Opsgenie.new({
22
+ region: DatadogAPIClient::V2::ServiceDefinitionV2Dot2OpsgenieRegion::US,
23
23
  service_url: "https://my-org.opsgenie.com/service/123e4567-e89b-12d3-a456-426614174000",
24
24
  }),
25
- pagerduty: DatadogAPIClient::V2::ServiceDefinitionV2Dot1Pagerduty.new({
25
+ pagerduty: DatadogAPIClient::V2::ServiceDefinitionV2Dot2Pagerduty.new({
26
26
  service_url: "https://my-org.pagerduty.com/service-directory/PMyService",
27
27
  }),
28
28
  }),
29
+ langauges: [
30
+ "dotnet",
31
+ "go",
32
+ "java",
33
+ "js",
34
+ "php",
35
+ "python",
36
+ "ruby",
37
+ "c++",
38
+ ],
29
39
  lifecycle: "sandbox",
30
40
  links: [
31
- DatadogAPIClient::V2::ServiceDefinitionV2Dot1Link.new({
41
+ DatadogAPIClient::V2::ServiceDefinitionV2Dot2Link.new({
32
42
  name: "Runbook",
33
43
  provider: "Github",
34
- type: DatadogAPIClient::V2::ServiceDefinitionV2Dot1LinkType::RUNBOOK,
44
+ type: "runbook",
35
45
  url: "https://my-runbook",
36
46
  }),
37
47
  ],
38
- schema_version: DatadogAPIClient::V2::ServiceDefinitionV2Dot1Version::V2_1,
48
+ schema_version: DatadogAPIClient::V2::ServiceDefinitionV2Dot2Version::V2_2,
39
49
  tags: [
40
50
  "my:tag",
41
51
  "service:tag",
42
52
  ],
43
53
  team: "my-team",
44
54
  tier: "High",
55
+ type: DatadogAPIClient::V2::ServiceDefinitionV2Dot2Type::WEB,
45
56
  })
46
57
  p api_instance.create_or_update_service_definitions(body)
@@ -0,0 +1,53 @@
1
+ # Create or update service definition using schema v2-2 returns "CREATED" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::ServiceDefinitionAPI.new
5
+
6
+ body = DatadogAPIClient::V2::ServiceDefinitionV2Dot2.new({
7
+ contacts: [
8
+ DatadogAPIClient::V2::ServiceDefinitionV2Dot2Contact.new({
9
+ contact: "contact@datadoghq.com",
10
+ name: "Team Email",
11
+ type: "email",
12
+ }),
13
+ ],
14
+ dd_service: "service-exampleservicedefinition",
15
+ extensions: {
16
+ "myorgextension": "extensionvalue",
17
+ },
18
+ integrations: DatadogAPIClient::V2::ServiceDefinitionV2Dot2Integrations.new({
19
+ opsgenie: DatadogAPIClient::V2::ServiceDefinitionV2Dot2Opsgenie.new({
20
+ region: DatadogAPIClient::V2::ServiceDefinitionV2Dot2OpsgenieRegion::US,
21
+ service_url: "https://my-org.opsgenie.com/service/123e4567-e89b-12d3-a456-426614174000",
22
+ }),
23
+ pagerduty: DatadogAPIClient::V2::ServiceDefinitionV2Dot2Pagerduty.new({
24
+ service_url: "https://my-org.pagerduty.com/service-directory/PMyService",
25
+ }),
26
+ }),
27
+ links: [
28
+ DatadogAPIClient::V2::ServiceDefinitionV2Dot2Link.new({
29
+ name: "Runbook",
30
+ type: "runbook",
31
+ url: "https://my-runbook",
32
+ }),
33
+ DatadogAPIClient::V2::ServiceDefinitionV2Dot2Link.new({
34
+ name: "Source Code",
35
+ type: "repo",
36
+ provider: "GitHub",
37
+ url: "https://github.com/DataDog/schema",
38
+ }),
39
+ DatadogAPIClient::V2::ServiceDefinitionV2Dot2Link.new({
40
+ name: "Architecture",
41
+ type: "doc",
42
+ provider: "Gigoogle drivetHub",
43
+ url: "https://my-runbook",
44
+ }),
45
+ ],
46
+ schema_version: DatadogAPIClient::V2::ServiceDefinitionV2Dot2Version::V2_2,
47
+ tags: [
48
+ "my:tag",
49
+ "service:tag",
50
+ ],
51
+ team: "my-team",
52
+ })
53
+ p api_instance.create_or_update_service_definitions(body)
@@ -0,0 +1,8 @@
1
+ # Get all teams returns "OK" response with pagination
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::TeamsAPI.new
5
+ opts = {
6
+ page_size: 2,
7
+ }
8
+ api_instance.list_teams_with_pagination(opts) { |item| puts item }
@@ -0,0 +1,8 @@
1
+ # List all users returns "OK" response with pagination
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::UsersAPI.new
5
+ opts = {
6
+ page_size: 2,
7
+ }
8
+ api_instance.list_users_with_pagination(opts) { |item| puts item }
@@ -92,6 +92,7 @@ module DatadogAPIClient
92
92
  end
93
93
 
94
94
  if @config.debugging
95
+ @config.logger.debug "HTTP response header\n#{response.headers}\n"
95
96
  @config.logger.debug "HTTP response body ~BEGIN~\n#{response.body}\n~END~\n"
96
97
  end
97
98
 
@@ -150,6 +151,18 @@ module DatadogAPIClient
150
151
  sleep_time
151
152
  end
152
153
 
154
+ #Redact api and app key in the request header
155
+ def sanitize_request_header(request_header)
156
+ sanitized_headers= request_header.dup
157
+ keys_to_redact = ["DD-API-KEY", "DD-APPLICATION-KEY"]
158
+ keys_to_redact.each do |key_to_redact|
159
+ if sanitized_headers.key?(key_to_redact)
160
+ sanitized_headers[key_to_redact] = "REDACTED"
161
+ end
162
+ end
163
+ return sanitized_headers
164
+ end
165
+
153
166
  # Build the HTTP request
154
167
  #
155
168
  # @param [String] http_method HTTP method/verb (e.g. POST)
@@ -192,11 +205,16 @@ module DatadogAPIClient
192
205
  # set custom cert, if provided
193
206
  req_opts[:ssl_ca_file] = File.read(@config.ssl_ca_cert) if @config.ssl_ca_cert
194
207
 
208
+ if @config.debugging
209
+ @config.logger.debug "HTTP request url\n#{url}\n"
210
+ @config.logger.debug "HTTP request header\n#{sanitize_request_header(header_params)}\n"
211
+ end
212
+
195
213
  if ["POST", "PATCH", "PUT", "DELETE"].include?(http_method.const_get(:METHOD))
196
214
  req_body = build_request_body(header_params, form_params, opts[:body])
197
215
  req_opts.update :body => req_body
198
216
  if @config.debugging
199
- @config.logger.debug "HTTP request body param ~BEGIN~\n#{req_body}\n~END~\n"
217
+ @config.logger.debug "HTTP request body ~BEGIN~\n#{req_body}\n~END~\n"
200
218
  end
201
219
  end
202
220