datadog_api_client 2.0.2 → 2.2.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 (192) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +6 -6
  3. data/.generator/poetry.lock +21 -14
  4. data/.generator/pyproject.toml +1 -1
  5. data/.generator/schemas/v1/openapi.yaml +840 -908
  6. data/.generator/schemas/v2/openapi.yaml +1304 -913
  7. data/.generator/src/generator/formatter.py +1 -1
  8. data/.generator/src/generator/templates/api_client.j2 +5 -1
  9. data/.generator/src/generator/templates/configuration.j2 +17 -0
  10. data/.github/workflows/test.yml +4 -1
  11. data/.github/workflows/test_integration.yml +5 -0
  12. data/.pre-commit-config.yaml +1 -1
  13. data/CHANGELOG.md +49 -0
  14. data/README.md +11 -0
  15. data/examples/v1/dashboards/CreateDashboard_1094917386.rb +37 -0
  16. data/examples/v1/dashboards/CreateDashboard_1307120899.rb +61 -0
  17. data/examples/v1/dashboards/CreateDashboard_1423904722.rb +38 -0
  18. data/examples/v1/dashboards/CreateDashboard_2652180930.rb +43 -0
  19. data/examples/v1/dashboards/CreateDashboard_2850365602.rb +55 -0
  20. data/examples/v1/dashboards/CreateDashboard_3117424216.rb +33 -0
  21. data/examples/v1/dashboards/CreateDashboard_3669695268.rb +50 -0
  22. data/examples/v1/dashboards/CreateDashboard_858397694.rb +41 -0
  23. data/examples/v1/monitors/ValidateExistingMonitor.rb +1 -0
  24. data/examples/v1/monitors/ValidateMonitor.rb +1 -0
  25. data/examples/v1/monitors/ValidateMonitor_4247196452.rb +38 -0
  26. data/examples/v1/synthetics/CreateGlobalVariable.rb +1 -0
  27. data/examples/v1/synthetics/CreateGlobalVariable_1068962881.rb +23 -0
  28. data/examples/v1/synthetics/CreateSyntheticsAPITest_1279271422.rb +10 -0
  29. data/examples/v1/synthetics/CreateSyntheticsBrowserTest_2932742688.rb +6 -0
  30. data/examples/v1/synthetics/EditGlobalVariable.rb +1 -0
  31. data/examples/v1/synthetics/UpdateBrowserTest.rb +1 -0
  32. data/examples/v1/usage-metering/GetDailyCustomReports.rb +0 -3
  33. data/examples/v1/usage-metering/GetMonthlyCustomReports.rb +0 -3
  34. data/examples/v1/usage-metering/GetSpecifiedDailyCustomReports.rb +0 -3
  35. data/examples/v1/usage-metering/GetSpecifiedMonthlyCustomReports.rb +0 -3
  36. data/examples/v1/usage-metering/GetUsageAttribution.rb +0 -3
  37. data/examples/v2/incidents/ListIncidentAttachments.rb +8 -0
  38. data/examples/v2/incidents/ListIncidentAttachments_2457735435.rb +11 -0
  39. data/examples/v2/incidents/UpdateIncidentAttachments.rb +38 -0
  40. data/examples/v2/incidents/UpdateIncidentAttachments_3881702075.rb +26 -0
  41. data/examples/v2/metrics/ListActiveMetricConfigurations.rb +5 -0
  42. data/examples/v2/metrics/ListTagConfigurations.rb +1 -1
  43. data/examples/v2/metrics/ListTagConfigurations_265033704.rb +8 -0
  44. data/examples/v2/metrics/{ListTagConfigurations_103226315.rb → ListTagConfigurations_2739018321.rb} +1 -1
  45. data/examples/v2/metrics/SubmitMetrics_1762007427.rb +23 -0
  46. data/examples/v2/roles/UpdateRole.rb +13 -0
  47. data/examples/v2/rum/CreateRUMApplication.rb +15 -0
  48. data/examples/v2/rum/DeleteRUMApplication.rb +8 -0
  49. data/examples/v2/rum/GetRUMApplication.rb +8 -0
  50. data/examples/v2/rum/GetRUMApplications.rb +5 -0
  51. data/examples/v2/rum/UpdateRUMApplication.rb +16 -0
  52. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule.rb +3 -2
  53. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_461183901.rb +2 -2
  54. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_498211763.rb +2 -2
  55. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_914562040.rb +50 -0
  56. data/examples/v2/security-monitoring/GetSecurityMonitoringSignal.rb +5 -0
  57. data/examples/v2/security-monitoring/UpdateSecurityMonitoringRule.rb +2 -1
  58. data/examples/v2/usage-metering/GetEstimatedCostByOrg.rb +1 -4
  59. data/examples/v2/usage-metering/GetEstimatedCostByOrg_2734954020.rb +2 -4
  60. data/examples/v2/usage-metering/GetEstimatedCostByOrg_3186693804.rb +2 -4
  61. data/examples/v2/usage-metering/GetHistoricalCostByOrg.rb +8 -0
  62. data/examples/v2/usage-metering/GetHourlyUsage.rb +5 -0
  63. data/generate.sh +30 -0
  64. data/lib/datadog_api_client/api_client.rb +5 -1
  65. data/lib/datadog_api_client/configuration.rb +20 -6
  66. data/lib/datadog_api_client/inflector.rb +67 -1
  67. data/lib/datadog_api_client/v1/api/metrics_api.rb +1 -1
  68. data/lib/datadog_api_client/v1/api/service_level_objectives_api.rb +3 -1
  69. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +42 -62
  70. data/lib/datadog_api_client/v1/models/dashboard_template_variable.rb +14 -2
  71. data/lib/datadog_api_client/v1/models/dashboard_template_variable_preset_value.rb +28 -5
  72. data/lib/datadog_api_client/v1/models/formula_and_function_event_query_definition.rb +14 -4
  73. data/lib/datadog_api_client/v1/models/formula_and_function_events_data_source.rb +1 -0
  74. data/lib/datadog_api_client/v1/models/hourly_usage_attribution_usage_type.rb +2 -0
  75. data/lib/datadog_api_client/v1/models/list_stream_query.rb +14 -4
  76. data/lib/datadog_api_client/v1/models/list_stream_source.rb +1 -0
  77. data/lib/datadog_api_client/v1/models/metric_content_encoding.rb +1 -0
  78. data/lib/datadog_api_client/v1/models/monitor_options.rb +28 -1
  79. data/lib/datadog_api_client/v1/models/monitor_summary_widget_definition.rb +13 -1
  80. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_supported_metrics.rb +4 -0
  81. data/lib/datadog_api_client/v1/models/monthly_usage_attribution_values.rb +41 -1
  82. data/lib/datadog_api_client/v1/models/on_missing_data_option.rb +33 -0
  83. data/lib/datadog_api_client/v1/models/search_service_level_objective.rb +111 -0
  84. data/lib/datadog_api_client/v1/models/search_service_level_objective_attributes.rb +286 -0
  85. data/lib/datadog_api_client/v1/models/search_service_level_objective_data.rb +134 -0
  86. data/lib/datadog_api_client/v1/models/search_slo_query.rb +137 -0
  87. data/lib/datadog_api_client/v1/models/search_slo_response_data_attributes.rb +8 -8
  88. data/lib/datadog_api_client/v1/models/search_slo_response_links.rb +2 -0
  89. data/lib/datadog_api_client/v1/models/search_slo_threshold.rb +184 -0
  90. data/lib/datadog_api_client/v1/models/search_slo_timeframe.rb +28 -0
  91. data/lib/datadog_api_client/v1/models/slo_creator.rb +131 -0
  92. data/lib/datadog_api_client/v1/models/slo_list_widget_definition.rb +185 -0
  93. data/lib/datadog_api_client/v1/models/slo_list_widget_definition_type.rb +26 -0
  94. data/lib/datadog_api_client/v1/models/slo_list_widget_query.rb +149 -0
  95. data/lib/datadog_api_client/v1/models/slo_list_widget_request.rb +143 -0
  96. data/lib/datadog_api_client/v1/models/slo_list_widget_request_type.rb +26 -0
  97. data/lib/datadog_api_client/v1/models/slo_overall_statuses.rb +174 -0
  98. data/lib/datadog_api_client/v1/models/slo_raw_error_budget_remaining.rb +121 -0
  99. data/lib/datadog_api_client/v1/models/synthetics_assertion_operator.rb +1 -0
  100. data/lib/datadog_api_client/v1/models/synthetics_basic_auth.rb +2 -1
  101. data/lib/datadog_api_client/v1/models/synthetics_basic_auth_digest.rb +155 -0
  102. data/lib/datadog_api_client/v1/models/synthetics_basic_auth_digest_type.rb +26 -0
  103. data/lib/datadog_api_client/v1/models/synthetics_global_variable_parse_test_options.rb +11 -12
  104. data/lib/datadog_api_client/v1/models/synthetics_global_variable_parse_test_options_type.rb +1 -0
  105. data/lib/datadog_api_client/v1/models/synthetics_test_options.rb +31 -1
  106. data/lib/datadog_api_client/v1/models/synthetics_test_process_status.rb +0 -1
  107. data/lib/datadog_api_client/v1/models/synthetics_test_request.rb +15 -1
  108. data/lib/datadog_api_client/v1/models/topology_map_widget_definition.rb +193 -0
  109. data/lib/datadog_api_client/v1/models/topology_map_widget_definition_type.rb +26 -0
  110. data/lib/datadog_api_client/v1/models/topology_query.rb +144 -0
  111. data/lib/datadog_api_client/v1/models/topology_query_data_source.rb +27 -0
  112. data/lib/datadog_api_client/v1/models/topology_request.rb +121 -0
  113. data/lib/datadog_api_client/v1/models/topology_request_type.rb +26 -0
  114. data/lib/datadog_api_client/v1/models/usage_attribution_sort.rb +4 -0
  115. data/lib/datadog_api_client/v1/models/usage_attribution_supported_metrics.rb +4 -0
  116. data/lib/datadog_api_client/v1/models/usage_attribution_values.rb +41 -1
  117. data/lib/datadog_api_client/v1/models/usage_billable_summary_hour.rb +11 -1
  118. data/lib/datadog_api_client/v1/models/usage_cloud_security_posture_management_hour.rb +12 -1
  119. data/lib/datadog_api_client/v1/models/usage_fargate_hour.rb +11 -1
  120. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +21 -1
  121. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +31 -1
  122. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +21 -1
  123. data/lib/datadog_api_client/v1/models/widget_definition.rb +3 -1
  124. data/lib/datadog_api_client/v1/models/widget_monitor_summary_sort.rb +2 -0
  125. data/lib/datadog_api_client/v2/api/events_api.rb +1 -1
  126. data/lib/datadog_api_client/v2/api/incident_services_api.rb +2 -2
  127. data/lib/datadog_api_client/v2/api/incident_teams_api.rb +2 -2
  128. data/lib/datadog_api_client/v2/api/incidents_api.rb +155 -0
  129. data/lib/datadog_api_client/v2/api/logs_api.rb +1 -1
  130. data/lib/datadog_api_client/v2/api/metrics_api.rb +77 -9
  131. data/lib/datadog_api_client/v2/api/rum_api.rb +329 -0
  132. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +68 -3
  133. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +83 -17
  134. data/lib/datadog_api_client/v2/models/content_encoding.rb +1 -0
  135. data/lib/datadog_api_client/v2/models/incident_attachment_attachment_type.rb +27 -0
  136. data/lib/datadog_api_client/v2/models/incident_attachment_attributes.rb +63 -0
  137. data/lib/datadog_api_client/v2/models/incident_attachment_data.rb +187 -0
  138. data/lib/datadog_api_client/v2/models/incident_attachment_link_attachment_type.rb +26 -0
  139. data/lib/datadog_api_client/v2/models/incident_attachment_link_attributes.rb +145 -0
  140. data/lib/datadog_api_client/v2/models/incident_attachment_link_attributes_attachment_object.rb +143 -0
  141. data/lib/datadog_api_client/v2/models/incident_attachment_postmortem_attachment_type.rb +26 -0
  142. data/lib/datadog_api_client/v2/models/incident_attachment_postmortem_attributes.rb +145 -0
  143. data/lib/datadog_api_client/v2/models/incident_attachment_related_object.rb +26 -0
  144. data/lib/datadog_api_client/v2/models/incident_attachment_relationships.rb +111 -0
  145. data/lib/datadog_api_client/v2/models/incident_attachment_type.rb +26 -0
  146. data/lib/datadog_api_client/v2/models/incident_attachment_update_attributes.rb +63 -0
  147. data/lib/datadog_api_client/v2/models/incident_attachment_update_data.rb +144 -0
  148. data/lib/datadog_api_client/v2/models/incident_attachment_update_request.rb +127 -0
  149. data/lib/datadog_api_client/v2/models/incident_attachment_update_response.rb +137 -0
  150. data/lib/datadog_api_client/v2/models/incident_attachments_postmortem_attributes_attachment_object.rb +143 -0
  151. data/lib/datadog_api_client/v2/models/incident_attachments_response.rb +136 -0
  152. data/lib/datadog_api_client/v2/models/incident_attachments_response_included_item.rb +62 -0
  153. data/lib/datadog_api_client/v2/models/incident_related_object.rb +1 -0
  154. data/lib/datadog_api_client/v2/models/incident_response_attributes.rb +1 -11
  155. data/lib/datadog_api_client/v2/models/incident_response_included_item.rb +2 -1
  156. data/lib/datadog_api_client/v2/models/incident_response_relationships.rb +14 -14
  157. data/lib/datadog_api_client/v2/models/metric_active_configuration_type.rb +26 -0
  158. data/lib/datadog_api_client/v2/models/metric_content_encoding.rb +2 -0
  159. data/lib/datadog_api_client/v2/models/metric_suggested_tags_and_aggregations.rb +133 -0
  160. data/lib/datadog_api_client/v2/models/metric_suggested_tags_and_aggregations_response.rb +111 -0
  161. data/lib/datadog_api_client/v2/models/metric_suggested_tags_attributes.rb +125 -0
  162. data/lib/datadog_api_client/v2/models/relationship_to_incident_attachment.rb +124 -0
  163. data/lib/datadog_api_client/v2/models/relationship_to_incident_attachment_data.rb +145 -0
  164. data/lib/datadog_api_client/v2/models/role_update_data.rb +11 -1
  165. data/lib/datadog_api_client/v2/models/rum_application.rb +166 -0
  166. data/lib/datadog_api_client/v2/models/rum_application_attributes.rb +279 -0
  167. data/lib/datadog_api_client/v2/models/rum_application_create.rb +145 -0
  168. data/lib/datadog_api_client/v2/models/rum_application_create_attributes.rb +132 -0
  169. data/lib/datadog_api_client/v2/models/rum_application_create_request.rb +122 -0
  170. data/lib/datadog_api_client/v2/models/rum_application_create_type.rb +26 -0
  171. data/lib/datadog_api_client/v2/models/rum_application_response.rb +111 -0
  172. data/lib/datadog_api_client/v2/models/rum_application_type.rb +26 -0
  173. data/lib/datadog_api_client/v2/models/rum_application_update.rb +155 -0
  174. data/lib/datadog_api_client/v2/models/rum_application_update_attributes.rb +121 -0
  175. data/lib/datadog_api_client/v2/models/rum_application_update_request.rb +122 -0
  176. data/lib/datadog_api_client/v2/models/rum_application_update_type.rb +26 -0
  177. data/lib/datadog_api_client/v2/models/rum_applications_response.rb +113 -0
  178. data/lib/datadog_api_client/v2/models/security_monitoring_rule_create_payload.rb +36 -248
  179. data/lib/datadog_api_client/v2/models/security_monitoring_rule_query.rb +36 -151
  180. data/lib/datadog_api_client/v2/models/security_monitoring_rule_query_aggregation.rb +1 -0
  181. data/lib/datadog_api_client/v2/models/security_monitoring_rule_response.rb +37 -253
  182. data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_create_payload.rb +275 -0
  183. data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_query.rb +187 -0
  184. data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_response.rb +279 -0
  185. data/lib/datadog_api_client/v2/models/security_monitoring_signal_rule_type.rb +26 -0
  186. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_create_payload.rb +275 -0
  187. data/lib/datadog_api_client/v2/models/{security_monitoring_rule_query_create.rb → security_monitoring_standard_rule_query.rb} +3 -3
  188. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_response.rb +279 -0
  189. data/lib/datadog_api_client/version.rb +1 -1
  190. metadata +97 -6
  191. data/Makefile +0 -7
  192. data/examples/v2/metrics/ListTagConfigurations_1799362914.rb +0 -8
@@ -17,6 +17,9 @@ body = DatadogAPIClient::V1::SyntheticsBrowserTest.new({
17
17
  request: DatadogAPIClient::V1::SyntheticsTestRequest.new({
18
18
  method: DatadogAPIClient::V1::HTTPMethod::GET,
19
19
  url: "https://datadoghq.com",
20
+ certificate_domains: [
21
+ "https://datadoghq.com",
22
+ ],
20
23
  }),
21
24
  set_cookie: "name:test",
22
25
  }),
@@ -49,6 +52,9 @@ body = DatadogAPIClient::V1::SyntheticsBrowserTest.new({
49
52
  ci: DatadogAPIClient::V1::SyntheticsTestCiOptions.new({
50
53
  execution_rule: DatadogAPIClient::V1::SyntheticsTestExecutionRule::SKIPPED,
51
54
  }),
55
+ ignore_server_certificate_error: true,
56
+ disable_csp: true,
57
+ initial_navigation_timeout: 200,
52
58
  }),
53
59
  tags: [
54
60
  "testing:browser",
@@ -13,6 +13,7 @@ body = DatadogAPIClient::V1::SyntheticsGlobalVariable.new({
13
13
  name: "MY_VARIABLE",
14
14
  parse_test_options: DatadogAPIClient::V1::SyntheticsGlobalVariableParseTestOptions.new({
15
15
  field: "content-type",
16
+ local_variable_name: "LOCAL_VARIABLE",
16
17
  parser: DatadogAPIClient::V1::SyntheticsVariableParser.new({
17
18
  type: DatadogAPIClient::V1::SyntheticsGlobalVariableParserType::REGEX,
18
19
  value: ".*",
@@ -22,6 +22,7 @@ body = DatadogAPIClient::V1::SyntheticsBrowserTest.new({
22
22
  cert: DatadogAPIClient::V1::SyntheticsTestRequestCertificateItem.new({}),
23
23
  key: DatadogAPIClient::V1::SyntheticsTestRequestCertificateItem.new({}),
24
24
  }),
25
+ certificate_domains: [],
25
26
  method: DatadogAPIClient::V1::HTTPMethod::GET,
26
27
  proxy: DatadogAPIClient::V1::SyntheticsTestRequestProxy.new({
27
28
  url: "https://example.com",
@@ -1,8 +1,5 @@
1
1
  # Get the list of available daily custom reports returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations["v1.get_daily_custom_reports".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V1::UsageMeteringAPI.new
8
5
  p api_instance.get_daily_custom_reports()
@@ -1,8 +1,5 @@
1
1
  # Get the list of available monthly custom reports returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations["v1.get_monthly_custom_reports".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V1::UsageMeteringAPI.new
8
5
  p api_instance.get_monthly_custom_reports()
@@ -1,8 +1,5 @@
1
1
  # Get specified daily custom reports returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations["v1.get_specified_daily_custom_reports".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V1::UsageMeteringAPI.new
8
5
  p api_instance.get_specified_daily_custom_reports("2022-03-20")
@@ -1,8 +1,5 @@
1
1
  # Get specified monthly custom reports returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations["v1.get_specified_monthly_custom_reports".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V1::UsageMeteringAPI.new
8
5
  p api_instance.get_specified_monthly_custom_reports("2021-05-01")
@@ -1,9 +1,6 @@
1
1
  # Get usage attribution returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations["v1.get_usage_attribution".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V1::UsageMeteringAPI.new
8
5
  opts = {
9
6
  offset: 0,
@@ -0,0 +1,8 @@
1
+ # Get a list of attachments returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient::V2.configure do |config|
5
+ config.unstable_operations["v2.list_incident_attachments".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::IncidentsAPI.new
8
+ p api_instance.list_incident_attachments("incident_id")
@@ -0,0 +1,11 @@
1
+ # Get incident attachments returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient::V2.configure do |config|
5
+ config.unstable_operations["v2.list_incident_attachments".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::IncidentsAPI.new
8
+
9
+ # there is a valid "incident" in the system
10
+ INCIDENT_DATA_ID = ENV["INCIDENT_DATA_ID"]
11
+ p api_instance.list_incident_attachments(INCIDENT_DATA_ID)
@@ -0,0 +1,38 @@
1
+ # Create, update, and delete incident attachments returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient::V2.configure do |config|
5
+ config.unstable_operations["v2.update_incident_attachments".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::IncidentsAPI.new
8
+
9
+ body = DatadogAPIClient::V2::IncidentAttachmentUpdateRequest.new({
10
+ data: [
11
+ DatadogAPIClient::V2::IncidentAttachmentUpdateData.new({
12
+ attributes: DatadogAPIClient::V2::IncidentAttachmentPostmortemAttributes.new({
13
+ attachment: DatadogAPIClient::V2::IncidentAttachmentsPostmortemAttributesAttachmentObject.new({
14
+ document_url: "https://app.datadoghq.com/notebook/123",
15
+ title: "Postmortem IR-123",
16
+ }),
17
+ attachment_type: DatadogAPIClient::V2::IncidentAttachmentPostmortemAttachmentType::POSTMORTEM,
18
+ }),
19
+ id: "00000000-abcd-0002-0000-000000000000",
20
+ type: DatadogAPIClient::V2::IncidentAttachmentType::INCIDENT_ATTACHMENTS,
21
+ }),
22
+ DatadogAPIClient::V2::IncidentAttachmentUpdateData.new({
23
+ attributes: DatadogAPIClient::V2::IncidentAttachmentLinkAttributes.new({
24
+ attachment: DatadogAPIClient::V2::IncidentAttachmentLinkAttributesAttachmentObject.new({
25
+ document_url: "https://www.example.com/webstore-failure-runbook",
26
+ title: "Runbook for webstore service failures",
27
+ }),
28
+ attachment_type: DatadogAPIClient::V2::IncidentAttachmentLinkAttachmentType::LINK,
29
+ }),
30
+ type: DatadogAPIClient::V2::IncidentAttachmentType::INCIDENT_ATTACHMENTS,
31
+ }),
32
+ DatadogAPIClient::V2::IncidentAttachmentUpdateData.new({
33
+ id: "00000000-abcd-0003-0000-000000000000",
34
+ type: DatadogAPIClient::V2::IncidentAttachmentType::INCIDENT_ATTACHMENTS,
35
+ }),
36
+ ],
37
+ })
38
+ p api_instance.update_incident_attachments("incident_id", body)
@@ -0,0 +1,26 @@
1
+ # Create an incident attachment returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient::V2.configure do |config|
5
+ config.unstable_operations["v2.update_incident_attachments".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::IncidentsAPI.new
8
+
9
+ # there is a valid "incident" in the system
10
+ INCIDENT_DATA_ID = ENV["INCIDENT_DATA_ID"]
11
+
12
+ body = DatadogAPIClient::V2::IncidentAttachmentUpdateRequest.new({
13
+ data: [
14
+ DatadogAPIClient::V2::IncidentAttachmentUpdateData.new({
15
+ type: DatadogAPIClient::V2::IncidentAttachmentType::INCIDENT_ATTACHMENTS,
16
+ attributes: DatadogAPIClient::V2::IncidentAttachmentLinkAttributes.new({
17
+ attachment_type: DatadogAPIClient::V2::IncidentAttachmentLinkAttachmentType::LINK,
18
+ attachment: DatadogAPIClient::V2::IncidentAttachmentLinkAttributesAttachmentObject.new({
19
+ document_url: "https://www.example.com/doc",
20
+ title: "Example-Create_an_incident_attachment_returns_OK_response",
21
+ }),
22
+ }),
23
+ }),
24
+ ],
25
+ })
26
+ p api_instance.update_incident_attachments(INCIDENT_DATA_ID, body)
@@ -0,0 +1,5 @@
1
+ # List active tags and aggregations returns "Success" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::MetricsAPI.new
5
+ p api_instance.list_active_metric_configurations("ExampleListactivetagsandaggregationsreturnsSuccessresponse")
@@ -1,4 +1,4 @@
1
- # List tag configurations returns "Success" response
1
+ # Get a list of metrics returns "Success" response
2
2
 
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::MetricsAPI.new
@@ -0,0 +1,8 @@
1
+ # Get a list of metrics with a tag filter returns "Success" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::MetricsAPI.new
5
+ opts = {
6
+ filter_tags: "ExampleGetalistofmetricswithatagfilterreturnsSuccessresponse",
7
+ }
8
+ p api_instance.list_tag_configurations(opts)
@@ -1,4 +1,4 @@
1
- # List tag configurations with configured filter returns "Success" response
1
+ # Get a list of metrics with configured filter returns "Success" response
2
2
 
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::MetricsAPI.new
@@ -0,0 +1,23 @@
1
+ # Submit metrics with compression returns "Payload accepted" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::MetricsAPI.new
5
+
6
+ body = DatadogAPIClient::V2::MetricPayload.new({
7
+ series: [
8
+ DatadogAPIClient::V2::MetricSeries.new({
9
+ metric: "system.load.1",
10
+ type: DatadogAPIClient::V2::MetricIntakeType::UNSPECIFIED,
11
+ points: [
12
+ DatadogAPIClient::V2::MetricPoint.new({
13
+ timestamp: Time.now.to_i,
14
+ value: 0.7,
15
+ }),
16
+ ],
17
+ }),
18
+ ],
19
+ })
20
+ opts = {
21
+ content_encoding: MetricContentEncoding::ZSTD1,
22
+ }
23
+ p api_instance.submit_metrics(body, opts)
@@ -7,6 +7,9 @@ api_instance = DatadogAPIClient::V2::RolesAPI.new
7
7
  ROLE_DATA_ATTRIBUTES_NAME = ENV["ROLE_DATA_ATTRIBUTES_NAME"]
8
8
  ROLE_DATA_ID = ENV["ROLE_DATA_ID"]
9
9
 
10
+ # there is a valid "permission" in the system
11
+ PERMISSION_ID = ENV["PERMISSION_ID"]
12
+
10
13
  body = DatadogAPIClient::V2::RoleUpdateRequest.new({
11
14
  data: DatadogAPIClient::V2::RoleUpdateData.new({
12
15
  id: ROLE_DATA_ID,
@@ -14,6 +17,16 @@ body = DatadogAPIClient::V2::RoleUpdateRequest.new({
14
17
  attributes: DatadogAPIClient::V2::RoleUpdateAttributes.new({
15
18
  name: "developers-updated",
16
19
  }),
20
+ relationships: DatadogAPIClient::V2::RoleRelationships.new({
21
+ permissions: DatadogAPIClient::V2::RelationshipToPermissions.new({
22
+ data: [
23
+ DatadogAPIClient::V2::RelationshipToPermissionData.new({
24
+ id: PERMISSION_ID,
25
+ type: DatadogAPIClient::V2::PermissionsType::PERMISSIONS,
26
+ }),
27
+ ],
28
+ }),
29
+ }),
17
30
  }),
18
31
  })
19
32
  p api_instance.update_role(ROLE_DATA_ID, body)
@@ -0,0 +1,15 @@
1
+ # Create a new RUM application returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::RUMAPI.new
5
+
6
+ body = DatadogAPIClient::V2::RUMApplicationCreateRequest.new({
7
+ data: DatadogAPIClient::V2::RUMApplicationCreate.new({
8
+ attributes: DatadogAPIClient::V2::RUMApplicationCreateAttributes.new({
9
+ name: "my_new_rum_application",
10
+ type: "ios",
11
+ }),
12
+ type: DatadogAPIClient::V2::RUMApplicationCreateType::RUM_APPLICATION_CREATE,
13
+ }),
14
+ })
15
+ p api_instance.create_rum_application(body)
@@ -0,0 +1,8 @@
1
+ # Delete a RUM application returns "No Content" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::RUMAPI.new
5
+
6
+ # there is a valid "rum_application" in the system
7
+ RUM_APPLICATION_DATA_ID = ENV["RUM_APPLICATION_DATA_ID"]
8
+ api_instance.delete_rum_application(RUM_APPLICATION_DATA_ID)
@@ -0,0 +1,8 @@
1
+ # Get a RUM application returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::RUMAPI.new
5
+
6
+ # there is a valid "rum_application" in the system
7
+ RUM_APPLICATION_DATA_ID = ENV["RUM_APPLICATION_DATA_ID"]
8
+ p api_instance.get_rum_application(RUM_APPLICATION_DATA_ID)
@@ -0,0 +1,5 @@
1
+ # List all the RUM applications returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::RUMAPI.new
5
+ p api_instance.get_rum_applications()
@@ -0,0 +1,16 @@
1
+ # Update a RUM application returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::RUMAPI.new
5
+
6
+ body = DatadogAPIClient::V2::RUMApplicationUpdateRequest.new({
7
+ data: DatadogAPIClient::V2::RUMApplicationUpdate.new({
8
+ attributes: DatadogAPIClient::V2::RUMApplicationUpdateAttributes.new({
9
+ name: "updated_name_for_my_existing_rum_application",
10
+ type: "browser",
11
+ }),
12
+ id: "abcd1234-0000-0000-abcd-1234abcd5678",
13
+ type: DatadogAPIClient::V2::RUMApplicationUpdateType::RUM_APPLICATION_UPDATE,
14
+ }),
15
+ })
16
+ p api_instance.update_rum_application("id", body)
@@ -3,10 +3,10 @@
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
5
5
 
6
- body = DatadogAPIClient::V2::SecurityMonitoringRuleCreatePayload.new({
6
+ body = DatadogAPIClient::V2::SecurityMonitoringStandardRuleCreatePayload.new({
7
7
  name: "Example-Create_a_detection_rule_returns_OK_response",
8
8
  queries: [
9
- DatadogAPIClient::V2::SecurityMonitoringRuleQueryCreate.new({
9
+ DatadogAPIClient::V2::SecurityMonitoringStandardRuleQuery.new({
10
10
  query: "@test:true",
11
11
  aggregation: DatadogAPIClient::V2::SecurityMonitoringRuleQueryAggregation::COUNT,
12
12
  group_by_fields: [],
@@ -31,5 +31,6 @@ body = DatadogAPIClient::V2::SecurityMonitoringRuleCreatePayload.new({
31
31
  message: "Test rule",
32
32
  tags: [],
33
33
  is_enabled: true,
34
+ type: DatadogAPIClient::V2::SecurityMonitoringRuleTypeCreate::LOG_DETECTION,
34
35
  })
35
36
  p api_instance.create_security_monitoring_rule(body)
@@ -3,9 +3,9 @@
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
5
5
 
6
- body = DatadogAPIClient::V2::SecurityMonitoringRuleCreatePayload.new({
6
+ body = DatadogAPIClient::V2::SecurityMonitoringStandardRuleCreatePayload.new({
7
7
  queries: [
8
- DatadogAPIClient::V2::SecurityMonitoringRuleQueryCreate.new({
8
+ DatadogAPIClient::V2::SecurityMonitoringStandardRuleQuery.new({
9
9
  aggregation: DatadogAPIClient::V2::SecurityMonitoringRuleQueryAggregation::GEO_DATA,
10
10
  group_by_fields: [
11
11
  "@usr.id",
@@ -3,10 +3,10 @@
3
3
  require "datadog_api_client"
4
4
  api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
5
5
 
6
- body = DatadogAPIClient::V2::SecurityMonitoringRuleCreatePayload.new({
6
+ body = DatadogAPIClient::V2::SecurityMonitoringStandardRuleCreatePayload.new({
7
7
  name: "Example-Create_a_detection_rule_with_type_workload_security_returns_OK_response",
8
8
  queries: [
9
- DatadogAPIClient::V2::SecurityMonitoringRuleQueryCreate.new({
9
+ DatadogAPIClient::V2::SecurityMonitoringStandardRuleQuery.new({
10
10
  query: "@test:true",
11
11
  aggregation: DatadogAPIClient::V2::SecurityMonitoringRuleQueryAggregation::COUNT,
12
12
  group_by_fields: [],
@@ -0,0 +1,50 @@
1
+ # Create a detection rule with type 'signal_correlation' returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
5
+
6
+ # there is a valid "security_rule" in the system
7
+ SECURITY_RULE_ID = ENV["SECURITY_RULE_ID"]
8
+
9
+ # there is a valid "security_rule_bis" in the system
10
+ SECURITY_RULE_BIS_ID = ENV["SECURITY_RULE_BIS_ID"]
11
+
12
+ body = DatadogAPIClient::V2::SecurityMonitoringSignalRuleCreatePayload.new({
13
+ name: "Example-Create_a_detection_rule_with_type_signal_correlation_returns_OK_response_signal_rule",
14
+ queries: [
15
+ DatadogAPIClient::V2::SecurityMonitoringSignalRuleQuery.new({
16
+ rule_id: SECURITY_RULE_ID,
17
+ aggregation: DatadogAPIClient::V2::SecurityMonitoringRuleQueryAggregation::EVENT_COUNT,
18
+ correlated_by_fields: [
19
+ "host",
20
+ ],
21
+ correlated_query_index: 1,
22
+ }),
23
+ DatadogAPIClient::V2::SecurityMonitoringSignalRuleQuery.new({
24
+ rule_id: SECURITY_RULE_BIS_ID,
25
+ aggregation: DatadogAPIClient::V2::SecurityMonitoringRuleQueryAggregation::EVENT_COUNT,
26
+ correlated_by_fields: [
27
+ "host",
28
+ ],
29
+ }),
30
+ ],
31
+ filters: [],
32
+ cases: [
33
+ DatadogAPIClient::V2::SecurityMonitoringRuleCaseCreate.new({
34
+ name: "",
35
+ status: DatadogAPIClient::V2::SecurityMonitoringRuleSeverity::INFO,
36
+ condition: "a > 0 && b > 0",
37
+ notifications: [],
38
+ }),
39
+ ],
40
+ options: DatadogAPIClient::V2::SecurityMonitoringRuleOptions.new({
41
+ evaluation_window: DatadogAPIClient::V2::SecurityMonitoringRuleEvaluationWindow::FIFTEEN_MINUTES,
42
+ keep_alive: DatadogAPIClient::V2::SecurityMonitoringRuleKeepAlive::ONE_HOUR,
43
+ max_signal_duration: DatadogAPIClient::V2::SecurityMonitoringRuleMaxSignalDuration::ONE_DAY,
44
+ }),
45
+ message: "Test signal correlation rule",
46
+ tags: [],
47
+ is_enabled: true,
48
+ type: DatadogAPIClient::V2::SecurityMonitoringSignalRuleType::SIGNAL_CORRELATION,
49
+ })
50
+ p api_instance.create_security_monitoring_rule(body)
@@ -0,0 +1,5 @@
1
+ # Get a signal's details returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
5
+ p api_instance.get_security_monitoring_signal("AQAAAYNqUBVU4-rffwAAAABBWU5xVUJWVUFBQjJBd3ptMDdQUnF3QUE")
@@ -34,11 +34,12 @@ body = DatadogAPIClient::V2::SecurityMonitoringRuleUpdatePayload.new({
34
34
  }),
35
35
  }),
36
36
  queries: [
37
- DatadogAPIClient::V2::SecurityMonitoringRuleQuery.new({
37
+ DatadogAPIClient::V2::SecurityMonitoringStandardRuleQuery.new({
38
38
  aggregation: DatadogAPIClient::V2::SecurityMonitoringRuleQueryAggregation::COUNT,
39
39
  distinct_fields: [],
40
40
  group_by_fields: [],
41
41
  metrics: [],
42
+ query: "a > 3",
42
43
  }),
43
44
  ],
44
45
  tags: [],
@@ -1,8 +1,5 @@
1
1
  # Get estimated cost across your account returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations["v2.get_estimated_cost_by_org".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
8
- p api_instance.get_estimated_cost_by_org("view")
5
+ p api_instance.get_estimated_cost_by_org()
@@ -1,11 +1,9 @@
1
1
  # GetEstimatedCostByOrg with start_date returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations["v2.get_estimated_cost_by_org".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
8
5
  opts = {
6
+ view: "sub-org",
9
7
  start_date: (Time.now + -5 * 86400),
10
8
  }
11
- p api_instance.get_estimated_cost_by_org("sub-org", opts)
9
+ p api_instance.get_estimated_cost_by_org(opts)
@@ -1,11 +1,9 @@
1
1
  # GetEstimatedCostByOrg with start_month returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient::V2.configure do |config|
5
- config.unstable_operations["v2.get_estimated_cost_by_org".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
8
5
  opts = {
6
+ view: "sub-org",
9
7
  start_month: (Time.now + -5 * 86400),
10
8
  }
11
- p api_instance.get_estimated_cost_by_org("sub-org", opts)
9
+ p api_instance.get_estimated_cost_by_org(opts)
@@ -0,0 +1,8 @@
1
+ # Get historical cost across your account returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
5
+ opts = {
6
+ view: "sub-org",
7
+ }
8
+ p api_instance.get_historical_cost_by_org((Time.now + -1 * 60), opts)
@@ -0,0 +1,5 @@
1
+ # Get hourly usage by product family returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
5
+ p api_instance.get_hourly_usage((Time.now + -3 * 86400), "infra_hosts")
data/generate.sh ADDED
@@ -0,0 +1,30 @@
1
+ #!/bin/bash
2
+
3
+ DEFAULT_ERROR_CODES="0"
4
+
5
+ # First arg is the command
6
+ # Second arg is the string of acceptable error codes seperated by space. E.g. "0 1"
7
+ pre_commit_wrapper () {
8
+ echo "running pre-commit run --all-files --hook-stage=manual ${1}"
9
+
10
+ exec 5>&1
11
+ acceptable_errors=${2:-$DEFAULT_ERROR_CODES}
12
+ out=$(pre-commit run --all-files --hook-stage=manual "${1}" | tee >(cat - >&5))
13
+ exit_code=$( echo "$out" | grep -- "- exit code:" | cut -d":" -f2 | sed 's/[^0-9]*//g' )
14
+
15
+ if [[ -n $exit_code ]]; then
16
+ re="([^0-9]|^)$exit_code([^0-9]|$)"
17
+ if ! grep -qE "$re" <<< "$acceptable_errors" ; then
18
+ echo "pre-commit subcommand failed with error_code: $exit_code. See output above"
19
+ exit "$exit_code";
20
+ fi
21
+ fi
22
+
23
+ echo "command 'pre-commit run --all-files --hook-stage=manual ${1}' success"
24
+ }
25
+
26
+ rm -rf ./lib/datadog_api_client/v1 ./lib/datadog_api_client/v2 examples/*
27
+ pre_commit_wrapper generator
28
+ pre_commit_wrapper examples
29
+ pre_commit_wrapper format-examples 3
30
+ pre_commit_wrapper docs
@@ -149,7 +149,11 @@ module DatadogAPIClient
149
149
  :timeout => @config.timeout,
150
150
  :verify_peer => @config.verify_ssl,
151
151
  :verify => _verify_ssl_host,
152
- :verbose => @config.debugging
152
+ :verbose => @config.debugging,
153
+ :http_proxyaddr => @config.http_proxyaddr,
154
+ :http_proxyport => @config.http_proxyport,
155
+ :http_proxyuser => @config.http_proxyuser,
156
+ :http_proxypass => @config.http_proxypass
153
157
  }
154
158
 
155
159
  req_opts[:pem] = File.read(@config.cert_file) if @config.cert_file
@@ -136,6 +136,19 @@ module DatadogAPIClient
136
136
  # Set this to add accept encoding header for compression
137
137
  attr_accessor :compress
138
138
 
139
+ ### Proxy settings
140
+ # Address of proxy server to use
141
+ attr_accessor :http_proxyaddr
142
+
143
+ # Port of proxy server to use
144
+ attr_accessor :http_proxyport
145
+
146
+ # User for proxy server authentication
147
+ attr_accessor :http_proxyuser
148
+
149
+ # Password for proxy server authentication
150
+ attr_accessor :http_proxypass
151
+
139
152
  def initialize
140
153
  @scheme = 'https'
141
154
  @host = 'api.datadoghq.com'
@@ -156,13 +169,12 @@ module DatadogAPIClient
156
169
  @inject_format = false
157
170
  @force_ending_format = false
158
171
  @compress = true
172
+ @http_proxyaddr = nil
173
+ @http_proxyport = nil
174
+ @http_proxyuser = nil
175
+ @http_proxypass = nil
159
176
  @logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
160
177
  @unstable_operations = {
161
- "v1.get_daily_custom_reports": false,
162
- "v1.get_monthly_custom_reports": false,
163
- "v1.get_specified_daily_custom_reports": false,
164
- "v1.get_specified_monthly_custom_reports": false,
165
- "v1.get_usage_attribution": false,
166
178
  "v1.get_slo_history": false,
167
179
  "v1.search_slo": false,
168
180
  "v2.list_events": false,
@@ -170,8 +182,10 @@ module DatadogAPIClient
170
182
  "v2.create_incident": false,
171
183
  "v2.delete_incident": false,
172
184
  "v2.get_incident": false,
185
+ "v2.list_incident_attachments": false,
173
186
  "v2.list_incidents": false,
174
187
  "v2.update_incident": false,
188
+ "v2.update_incident_attachments": false,
175
189
  "v2.create_incident_service": false,
176
190
  "v2.delete_incident_service": false,
177
191
  "v2.get_incident_service": false,
@@ -182,7 +196,6 @@ module DatadogAPIClient
182
196
  "v2.get_incident_team": false,
183
197
  "v2.list_incident_teams": false,
184
198
  "v2.update_incident_team": false,
185
- "v2.get_estimated_cost_by_org": false,
186
199
  }
187
200
  @server_variables[:site] = ENV['DD_SITE'] if ENV.key? 'DD_SITE'
188
201
  @api_key['apiKeyAuth'] = ENV['DD_API_KEY'] if ENV.key? 'DD_API_KEY'
@@ -382,6 +395,7 @@ module DatadogAPIClient
382
395
  default_value: "datadoghq.com",
383
396
  enum_values: [
384
397
  "datadoghq.com",
398
+ "datadoghq.eu",
385
399
  "us3.datadoghq.com",
386
400
  "us5.datadoghq.com",
387
401
  "ddog-gov.com"