datadog_api_client 2.17.0 → 2.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (239) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +4 -4
  3. data/.generator/conftest.py +1 -1
  4. data/.generator/poetry.lock +69 -69
  5. data/.generator/schemas/v1/openapi.yaml +334 -16
  6. data/.generator/schemas/v2/openapi.yaml +2864 -470
  7. data/.generator/src/generator/cli.py +5 -0
  8. data/.generator/src/generator/templates/datadog_api_client.j2 +19 -0
  9. data/.generator/src/generator/templates/model_generic.j2 +2 -2
  10. data/.pre-commit-config.yaml +1 -1
  11. data/CHANGELOG.md +43 -0
  12. data/examples/v1/aws-integration/CreateAWSAccount.rb +2 -2
  13. data/examples/v1/aws-integration/DeleteAWSAccount.rb +1 -1
  14. data/examples/v1/aws-integration/UpdateAWSAccount.rb +6 -6
  15. data/examples/v1/azure-integration/CreateAzureIntegration.rb +5 -4
  16. data/examples/v1/azure-integration/DeleteAzureIntegration.rb +2 -14
  17. data/examples/v1/azure-integration/UpdateAzureHostFilters.rb +1 -0
  18. data/examples/v1/azure-integration/UpdateAzureIntegration.rb +5 -4
  19. data/examples/v1/dashboards/CreateDashboard_1284514532.rb +3 -0
  20. data/examples/v1/gcp-integration/CreateGCPIntegration.rb +4 -5
  21. data/examples/v1/gcp-integration/DeleteGCPIntegration.rb +2 -14
  22. data/examples/v1/gcp-integration/UpdateGCPIntegration.rb +4 -5
  23. data/examples/v1/service-level-objectives/CreateSLO_3765703239.rb +46 -0
  24. data/examples/v1/synthetics/PatchTest.rb +22 -0
  25. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent.rb +0 -3
  26. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_129899466.rb +0 -3
  27. data/examples/v2/cloud-cost-management/CreateCostAWSCURConfig.rb +18 -0
  28. data/examples/v2/cloud-cost-management/CreateCostAzureUCConfigs.rb +29 -0
  29. data/examples/v2/cloud-cost-management/DeleteCostAWSCURConfig.rb +5 -0
  30. data/examples/v2/cloud-cost-management/DeleteCostAzureUCConfig.rb +5 -0
  31. data/examples/v2/cloud-cost-management/GetCloudCostActivity.rb +5 -0
  32. data/examples/v2/cloud-cost-management/ListAWSRelatedAccounts.rb +5 -0
  33. data/examples/v2/cloud-cost-management/ListCostAWSCURConfigs.rb +5 -0
  34. data/examples/v2/cloud-cost-management/ListCostAzureUCConfigs.rb +5 -0
  35. data/examples/v2/cloud-cost-management/UpdateCostAWSCURConfig.rb +14 -0
  36. data/examples/v2/cloud-cost-management/UpdateCostAzureUCConfigs.rb +14 -0
  37. data/examples/v2/cloudflare-integration/CreateCloudflareAccount.rb +1 -1
  38. data/examples/v2/cloudflare-integration/UpdateCloudflareAccount.rb +4 -1
  39. data/examples/v2/container-images/ListContainerImages.rb +0 -3
  40. data/examples/v2/container-images/ListContainerImages_3088586393.rb +0 -3
  41. data/examples/v2/container-images/ListContainerImages_3974828736.rb +0 -3
  42. data/examples/v2/containers/ListContainers.rb +0 -3
  43. data/examples/v2/containers/ListContainers_2175733917.rb +0 -3
  44. data/examples/v2/containers/ListContainers_931009654.rb +0 -3
  45. data/examples/v2/dora-metrics/CreateDORADeployment.rb +23 -0
  46. data/examples/v2/dora-metrics/CreateDORAIncident.rb +25 -0
  47. data/examples/v2/downtimes/ListMonitorDowntimes_3316718253.rb +5 -0
  48. data/examples/v2/events/ListEvents.rb +0 -3
  49. data/examples/v2/events/ListEvents_1527584014.rb +0 -3
  50. data/examples/v2/events/ListEvents_2663715109.rb +0 -3
  51. data/examples/v2/events/SearchEvents.rb +0 -3
  52. data/examples/v2/events/SearchEvents_3856995058.rb +0 -3
  53. data/examples/v2/gcp-integration/CreateGCPSTSAccount_130557025.rb +16 -0
  54. data/examples/v2/gcp-integration/CreateGCPSTSAccount_2597004741.rb +16 -0
  55. data/examples/v2/gcp-integration/CreateGCPSTSAccount_4235664992.rb +17 -0
  56. data/examples/v2/gcp-integration/UpdateGCPSTSAccount_3205636354.rb +19 -0
  57. data/examples/v2/okta-integration/CreateOktaAccount.rb +19 -0
  58. data/examples/v2/okta-integration/DeleteOktaAccount.rb +5 -0
  59. data/examples/v2/okta-integration/GetOktaAccount.rb +8 -0
  60. data/examples/v2/okta-integration/ListOktaAccounts.rb +5 -0
  61. data/examples/v2/okta-integration/UpdateOktaAccount.rb +20 -0
  62. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_3367706049.rb +46 -0
  63. data/examples/v2/sensitive-data-scanner/CreateScanningRule.rb +7 -0
  64. data/examples/v2/sensitive-data-scanner/UpdateScanningRule.rb +7 -10
  65. data/examples/v2/teams/CreateTeamMembership.rb +6 -0
  66. data/examples/v2/usage-metering/GetActiveBillingDimensions.rb +8 -0
  67. data/examples/v2/usage-metering/GetMonthlyCostAttribution.rb +8 -0
  68. data/examples/v2/usage-metering/GetProjectedCost.rb +8 -0
  69. data/lib/datadog_api_client/configuration.rb +4 -5
  70. data/lib/datadog_api_client/inflector.rb +113 -0
  71. data/lib/datadog_api_client/v1/api/downtimes_api.rb +28 -7
  72. data/lib/datadog_api_client/v1/api/hosts_api.rb +1 -1
  73. data/lib/datadog_api_client/v1/api/monitors_api.rb +1 -1
  74. data/lib/datadog_api_client/v1/api/synthetics_api.rb +73 -1
  75. data/lib/datadog_api_client/v1/models/azure_account.rb +13 -2
  76. data/lib/datadog_api_client/v1/models/gcp_account.rb +22 -2
  77. data/lib/datadog_api_client/v1/models/organization.rb +1 -1
  78. data/lib/datadog_api_client/v1/models/service_level_objective.rb +11 -1
  79. data/lib/datadog_api_client/v1/models/service_level_objective_request.rb +11 -1
  80. data/lib/datadog_api_client/v1/models/slo_data_source_query_definition.rb +62 -0
  81. data/lib/datadog_api_client/v1/models/slo_formula.rb +98 -0
  82. data/lib/datadog_api_client/v1/models/slo_response_data.rb +11 -1
  83. data/lib/datadog_api_client/v1/models/slo_sli_spec.rb +62 -0
  84. data/lib/datadog_api_client/v1/models/slo_time_slice_comparator.rb +29 -0
  85. data/lib/datadog_api_client/v1/models/slo_time_slice_condition.rb +141 -0
  86. data/lib/datadog_api_client/v1/models/slo_time_slice_query.rb +131 -0
  87. data/lib/datadog_api_client/v1/models/slo_time_slice_spec.rb +99 -0
  88. data/lib/datadog_api_client/v1/models/slo_type.rb +1 -0
  89. data/lib/datadog_api_client/v1/models/slo_type_numeric.rb +1 -0
  90. data/lib/datadog_api_client/v1/models/synthetics_patch_test_body.rb +82 -0
  91. data/lib/datadog_api_client/v1/models/synthetics_patch_test_operation.rb +100 -0
  92. data/lib/datadog_api_client/v1/models/synthetics_patch_test_operation_name.rb +31 -0
  93. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +11 -1
  94. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +31 -1
  95. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +31 -1
  96. data/lib/datadog_api_client/v1/models/widget_live_span.rb +2 -0
  97. data/lib/datadog_api_client/v2/api/ci_visibility_pipelines_api.rb +0 -6
  98. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +680 -0
  99. data/lib/datadog_api_client/v2/api/container_images_api.rb +0 -6
  100. data/lib/datadog_api_client/v2/api/containers_api.rb +0 -6
  101. data/lib/datadog_api_client/v2/api/dora_metrics_api.rb +181 -0
  102. data/lib/datadog_api_client/v2/api/downtimes_api.rb +25 -0
  103. data/lib/datadog_api_client/v2/api/events_api.rb +0 -12
  104. data/lib/datadog_api_client/v2/api/metrics_api.rb +3 -2
  105. data/lib/datadog_api_client/v2/api/okta_integration_api.rb +355 -0
  106. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +241 -0
  107. data/lib/datadog_api_client/v2/models/active_billing_dimensions_attributes.rb +92 -0
  108. data/lib/datadog_api_client/v2/models/active_billing_dimensions_body.rb +100 -0
  109. data/lib/datadog_api_client/v2/models/active_billing_dimensions_response.rb +80 -0
  110. data/lib/datadog_api_client/v2/models/active_billing_dimensions_type.rb +26 -0
  111. data/lib/datadog_api_client/v2/models/api_keys_response.rb +14 -4
  112. data/lib/datadog_api_client/v2/models/api_keys_response_meta.rb +90 -0
  113. data/lib/datadog_api_client/v2/models/api_keys_response_meta_page.rb +80 -0
  114. data/lib/datadog_api_client/v2/models/application_key_response_meta.rb +90 -0
  115. data/lib/datadog_api_client/v2/models/application_key_response_meta_page.rb +80 -0
  116. data/lib/datadog_api_client/v2/models/aws_cur_config.rb +129 -0
  117. data/lib/datadog_api_client/v2/models/aws_cur_config_attributes.rb +305 -0
  118. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_data.rb +119 -0
  119. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request.rb +98 -0
  120. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request_attributes.rb +98 -0
  121. data/lib/datadog_api_client/v2/models/aws_cur_config_patch_request_type.rb +26 -0
  122. data/lib/datadog_api_client/v2/models/aws_cur_config_post_data.rb +119 -0
  123. data/lib/datadog_api_client/v2/models/aws_cur_config_post_request.rb +98 -0
  124. data/lib/datadog_api_client/v2/models/aws_cur_config_post_request_attributes.rb +202 -0
  125. data/lib/datadog_api_client/v2/models/aws_cur_config_post_request_type.rb +26 -0
  126. data/lib/datadog_api_client/v2/models/aws_cur_config_response.rb +80 -0
  127. data/lib/datadog_api_client/v2/models/aws_cur_config_type.rb +26 -0
  128. data/lib/datadog_api_client/v2/models/aws_cur_configs_response.rb +82 -0
  129. data/lib/datadog_api_client/v2/models/aws_related_account.rb +129 -0
  130. data/lib/datadog_api_client/v2/models/aws_related_account_attributes.rb +90 -0
  131. data/lib/datadog_api_client/v2/models/aws_related_account_type.rb +26 -0
  132. data/lib/datadog_api_client/v2/models/aws_related_accounts_response.rb +82 -0
  133. data/lib/datadog_api_client/v2/models/azure_uc_config.rb +378 -0
  134. data/lib/datadog_api_client/v2/models/azure_uc_config_pair.rb +129 -0
  135. data/lib/datadog_api_client/v2/models/azure_uc_config_pair_attributes.rb +110 -0
  136. data/lib/datadog_api_client/v2/models/azure_uc_config_pair_type.rb +26 -0
  137. data/lib/datadog_api_client/v2/models/azure_uc_config_pairs_response.rb +80 -0
  138. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_data.rb +119 -0
  139. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request.rb +98 -0
  140. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request_attributes.rb +98 -0
  141. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_request_type.rb +26 -0
  142. data/lib/datadog_api_client/v2/models/azure_uc_config_post_data.rb +119 -0
  143. data/lib/datadog_api_client/v2/models/azure_uc_config_post_request.rb +98 -0
  144. data/lib/datadog_api_client/v2/models/azure_uc_config_post_request_attributes.rb +192 -0
  145. data/lib/datadog_api_client/v2/models/azure_uc_config_post_request_type.rb +26 -0
  146. data/lib/datadog_api_client/v2/models/azure_uc_configs_response.rb +82 -0
  147. data/lib/datadog_api_client/v2/models/bill_config.rb +161 -0
  148. data/lib/datadog_api_client/v2/models/ci_app_git_info.rb +2 -2
  149. data/lib/datadog_api_client/v2/models/cloud_cost_activity.rb +119 -0
  150. data/lib/datadog_api_client/v2/models/cloud_cost_activity_attributes.rb +98 -0
  151. data/lib/datadog_api_client/v2/models/cloud_cost_activity_response.rb +80 -0
  152. data/lib/datadog_api_client/v2/models/cloud_cost_activity_type.rb +26 -0
  153. data/lib/datadog_api_client/v2/models/cloud_workload_security_agent_rule_attributes.rb +13 -1
  154. data/lib/datadog_api_client/v2/models/cloudflare_account_create_request_attributes.rb +28 -4
  155. data/lib/datadog_api_client/v2/models/cloudflare_account_response_attributes.rb +28 -4
  156. data/lib/datadog_api_client/v2/models/cloudflare_account_update_request_attributes.rb +28 -4
  157. data/lib/datadog_api_client/v2/models/cost_attribution_aggregates_body.rb +100 -0
  158. data/lib/datadog_api_client/v2/models/cost_attribution_type.rb +26 -0
  159. data/lib/datadog_api_client/v2/models/dora_deployment_request.rb +98 -0
  160. data/lib/datadog_api_client/v2/models/dora_deployment_request_attributes.rb +170 -0
  161. data/lib/datadog_api_client/v2/models/dora_deployment_request_data.rb +98 -0
  162. data/lib/datadog_api_client/v2/models/dora_deployment_response.rb +98 -0
  163. data/lib/datadog_api_client/v2/models/dora_deployment_response_data.rb +108 -0
  164. data/lib/datadog_api_client/v2/models/dora_deployment_type.rb +26 -0
  165. data/lib/datadog_api_client/v2/models/dora_git_info.rb +125 -0
  166. data/lib/datadog_api_client/v2/models/dora_incident_request.rb +98 -0
  167. data/lib/datadog_api_client/v2/models/dora_incident_request_attributes.rb +179 -0
  168. data/lib/datadog_api_client/v2/models/dora_incident_request_data.rb +98 -0
  169. data/lib/datadog_api_client/v2/models/dora_incident_response.rb +98 -0
  170. data/lib/datadog_api_client/v2/models/dora_incident_response_data.rb +108 -0
  171. data/lib/datadog_api_client/v2/models/dora_incident_type.rb +26 -0
  172. data/lib/datadog_api_client/v2/models/full_api_key_attributes.rb +24 -4
  173. data/lib/datadog_api_client/v2/models/gcpsts_service_account_attributes.rb +25 -5
  174. data/lib/datadog_api_client/v2/models/incident_attachment_link_attributes.rb +14 -4
  175. data/lib/datadog_api_client/v2/models/incident_create_relationships.rb +9 -19
  176. data/lib/datadog_api_client/v2/models/incident_impacts_type.rb +26 -0
  177. data/lib/datadog_api_client/v2/models/incident_integration_metadata_attributes.rb +21 -1
  178. data/lib/datadog_api_client/v2/models/incident_integration_metadata_response_data.rb +11 -1
  179. data/lib/datadog_api_client/v2/models/incident_integration_relationships.rb +90 -0
  180. data/lib/datadog_api_client/v2/models/incident_non_datadog_creator.rb +90 -0
  181. data/lib/datadog_api_client/v2/models/incident_responders_type.rb +26 -0
  182. data/lib/datadog_api_client/v2/models/incident_response_attributes.rb +69 -4
  183. data/lib/datadog_api_client/v2/models/incident_response_relationships.rb +42 -4
  184. data/lib/datadog_api_client/v2/models/incident_severity.rb +31 -0
  185. data/lib/datadog_api_client/v2/models/incident_todo_attributes.rb +24 -4
  186. data/lib/datadog_api_client/v2/models/incident_todo_relationships.rb +90 -0
  187. data/lib/datadog_api_client/v2/models/incident_todo_response_data.rb +11 -1
  188. data/lib/datadog_api_client/v2/models/incident_update_relationships.rb +8 -0
  189. data/lib/datadog_api_client/v2/models/incident_user_defined_field_type.rb +26 -0
  190. data/lib/datadog_api_client/v2/models/list_application_keys_response.rb +14 -4
  191. data/lib/datadog_api_client/v2/models/monthly_cost_attribution_attributes.rb +151 -0
  192. data/lib/datadog_api_client/v2/models/monthly_cost_attribution_body.rb +100 -0
  193. data/lib/datadog_api_client/v2/models/monthly_cost_attribution_meta.rb +92 -0
  194. data/lib/datadog_api_client/v2/models/monthly_cost_attribution_pagination.rb +88 -0
  195. data/lib/datadog_api_client/v2/models/monthly_cost_attribution_response.rb +92 -0
  196. data/lib/datadog_api_client/v2/models/okta_account.rb +129 -0
  197. data/lib/datadog_api_client/v2/models/okta_account_attributes.rb +170 -0
  198. data/lib/datadog_api_client/v2/models/okta_account_request.rb +98 -0
  199. data/lib/datadog_api_client/v2/models/okta_account_response.rb +80 -0
  200. data/lib/datadog_api_client/v2/models/okta_account_response_data.rb +140 -0
  201. data/lib/datadog_api_client/v2/models/okta_account_type.rb +26 -0
  202. data/lib/datadog_api_client/v2/models/okta_account_update_request.rb +98 -0
  203. data/lib/datadog_api_client/v2/models/okta_account_update_request_attributes.rb +149 -0
  204. data/lib/datadog_api_client/v2/models/okta_account_update_request_data.rb +90 -0
  205. data/lib/datadog_api_client/v2/models/okta_accounts_response.rb +82 -0
  206. data/lib/datadog_api_client/v2/models/partial_api_key_attributes.rb +24 -4
  207. data/lib/datadog_api_client/v2/models/powerpack_relationships.rb +2 -2
  208. data/lib/datadog_api_client/v2/models/powerpacks_response_meta_pagination.rb +8 -0
  209. data/lib/datadog_api_client/v2/models/projected_cost.rb +100 -0
  210. data/lib/datadog_api_client/v2/models/projected_cost_attributes.rb +132 -0
  211. data/lib/datadog_api_client/v2/models/projected_cost_response.rb +82 -0
  212. data/lib/datadog_api_client/v2/models/projected_cost_type.rb +26 -0
  213. data/lib/datadog_api_client/v2/models/relationship_to_incident_impact_data.rb +119 -0
  214. data/lib/datadog_api_client/v2/models/relationship_to_incident_impacts.rb +100 -0
  215. data/lib/datadog_api_client/v2/models/relationship_to_incident_responder_data.rb +119 -0
  216. data/lib/datadog_api_client/v2/models/relationship_to_incident_responders.rb +100 -0
  217. data/lib/datadog_api_client/v2/models/relationship_to_incident_user_defined_field_data.rb +119 -0
  218. data/lib/datadog_api_client/v2/models/relationship_to_incident_user_defined_fields.rb +100 -0
  219. data/lib/datadog_api_client/v2/models/relationship_to_user_team_team.rb +98 -0
  220. data/lib/datadog_api_client/v2/models/relationship_to_user_team_team_data.rb +119 -0
  221. data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +14 -4
  222. data/lib/datadog_api_client/v2/models/security_monitoring_rule_third_party_options.rb +114 -0
  223. data/lib/datadog_api_client/v2/models/security_monitoring_rule_type_create.rb +1 -0
  224. data/lib/datadog_api_client/v2/models/security_monitoring_rule_update_payload.rb +13 -1
  225. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_create_payload.rb +13 -1
  226. data/lib/datadog_api_client/v2/models/security_monitoring_standard_rule_response.rb +13 -1
  227. data/lib/datadog_api_client/v2/models/security_monitoring_third_party_root_query.rb +92 -0
  228. data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case.rb +112 -0
  229. data/lib/datadog_api_client/v2/models/security_monitoring_third_party_rule_case_create.rb +130 -0
  230. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_included_keyword_configuration.rb +134 -0
  231. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_rule_attributes.rb +46 -1
  232. data/lib/datadog_api_client/v2/models/sensitive_data_scanner_standard_pattern_attributes.rb +45 -1
  233. data/lib/datadog_api_client/v2/models/sort_direction.rb +27 -0
  234. data/lib/datadog_api_client/v2/models/user_team_attributes.rb +24 -1
  235. data/lib/datadog_api_client/v2/models/user_team_relationships.rb +11 -1
  236. data/lib/datadog_api_client/v2/models/user_team_team_type.rb +26 -0
  237. data/lib/datadog_api_client/version.rb +1 -1
  238. data/lib/datadog_api_client.rb +16 -1
  239. metadata +144 -2
@@ -0,0 +1,23 @@
1
+ # Send a deployment event for DORA Metrics returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.create_dora_deployment".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::DORAMetricsAPI.new
8
+
9
+ body = DatadogAPIClient::V2::DORADeploymentRequest.new({
10
+ data: DatadogAPIClient::V2::DORADeploymentRequestData.new({
11
+ attributes: DatadogAPIClient::V2::DORADeploymentRequestAttributes.new({
12
+ finished_at: 1693491984000000000,
13
+ git: DatadogAPIClient::V2::DORAGitInfo.new({
14
+ commit_sha: "66adc9350f2cc9b250b69abddab733dd55e1a588",
15
+ repository_url: "https://github.com/organization/example-repository",
16
+ }),
17
+ service: "shopist",
18
+ started_at: 1693491974000000000,
19
+ version: "v1.12.07",
20
+ }),
21
+ }),
22
+ })
23
+ p api_instance.create_dora_deployment(body)
@@ -0,0 +1,25 @@
1
+ # Send an incident event for DORA Metrics returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.create_dora_incident".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::DORAMetricsAPI.new
8
+
9
+ body = DatadogAPIClient::V2::DORAIncidentRequest.new({
10
+ data: DatadogAPIClient::V2::DORAIncidentRequestData.new({
11
+ attributes: DatadogAPIClient::V2::DORAIncidentRequestAttributes.new({
12
+ finished_at: 1693491984000000000,
13
+ git: DatadogAPIClient::V2::DORAGitInfo.new({
14
+ commit_sha: "66adc9350f2cc9b250b69abddab733dd55e1a588",
15
+ repository_url: "https://github.com/organization/example-repository",
16
+ }),
17
+ name: "Webserver is down failing all requests",
18
+ service: "shopist",
19
+ severity: "High",
20
+ started_at: 1693491974000000000,
21
+ version: "v1.12.07",
22
+ }),
23
+ }),
24
+ })
25
+ p api_instance.create_dora_incident(body)
@@ -0,0 +1,5 @@
1
+ # Get active downtimes for a monitor returns "OK" response with pagination
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::DowntimesAPI.new
5
+ api_instance.list_monitor_downtimes_with_pagination(9223372036854775807) { |item| puts item }
@@ -1,8 +1,5 @@
1
1
  # Get a list of events returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.list_events".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::EventsAPI.new
8
5
  p api_instance.list_events()
@@ -1,9 +1,6 @@
1
1
  # Get a list of events returns "OK" response with pagination
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.list_events".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::EventsAPI.new
8
5
  opts = {
9
6
  filter_from: "now-15m",
@@ -1,9 +1,6 @@
1
1
  # Get a quick list of events returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.list_events".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::EventsAPI.new
8
5
  opts = {
9
6
  filter_query: "datadog-agent",
@@ -1,9 +1,6 @@
1
1
  # Search events returns "OK" response
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.search_events".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::EventsAPI.new
8
5
 
9
6
  body = DatadogAPIClient::V2::EventsListRequest.new({
@@ -1,9 +1,6 @@
1
1
  # Search events returns "OK" response with pagination
2
2
 
3
3
  require "datadog_api_client"
4
- DatadogAPIClient.configure do |config|
5
- config.unstable_operations["v2.search_events".to_sym] = true
6
- end
7
4
  api_instance = DatadogAPIClient::V2::EventsAPI.new
8
5
 
9
6
  body = DatadogAPIClient::V2::EventsListRequest.new({
@@ -0,0 +1,16 @@
1
+ # Create a new entry for your service account with resource collection enabled 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
+ resource_collection_enabled: true,
10
+ client_email: "252bf553ef04b351@test-project.iam.gserviceaccount.com",
11
+ host_filters: [],
12
+ }),
13
+ type: DatadogAPIClient::V2::GCPServiceAccountType::GCP_SERVICE_ACCOUNT,
14
+ }),
15
+ })
16
+ p api_instance.create_gcpsts_account(body)
@@ -0,0 +1,16 @@
1
+ # Create a new entry for your service account with security command center enabled 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
+ is_security_command_center_enabled: true,
10
+ client_email: "252bf553ef04b351@test-project.iam.gserviceaccount.com",
11
+ host_filters: [],
12
+ }),
13
+ type: DatadogAPIClient::V2::GCPServiceAccountType::GCP_SERVICE_ACCOUNT,
14
+ }),
15
+ })
16
+ p api_instance.create_gcpsts_account(body)
@@ -0,0 +1,17 @@
1
+ # Create a new entry for your service account with cspm enabled 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
+ is_cspm_enabled: true,
10
+ resource_collection_enabled: true,
11
+ client_email: "252bf553ef04b351@test-project.iam.gserviceaccount.com",
12
+ host_filters: [],
13
+ }),
14
+ type: DatadogAPIClient::V2::GCPServiceAccountType::GCP_SERVICE_ACCOUNT,
15
+ }),
16
+ })
17
+ p api_instance.create_gcpsts_account(body)
@@ -0,0 +1,19 @@
1
+ # Update STS Service Account returns "OK" response with enable resource collection turned on
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::GCPIntegrationAPI.new
5
+
6
+ # there is a valid "gcp_sts_account" in the system
7
+ GCP_STS_ACCOUNT_DATA_ID = ENV["GCP_STS_ACCOUNT_DATA_ID"]
8
+
9
+ body = DatadogAPIClient::V2::GCPSTSServiceAccountUpdateRequest.new({
10
+ data: DatadogAPIClient::V2::GCPSTSServiceAccountUpdateRequestData.new({
11
+ attributes: DatadogAPIClient::V2::GCPSTSServiceAccountAttributes.new({
12
+ client_email: "252bf553ef04b351@example.com",
13
+ resource_collection_enabled: true,
14
+ }),
15
+ id: GCP_STS_ACCOUNT_DATA_ID,
16
+ type: DatadogAPIClient::V2::GCPServiceAccountType::GCP_SERVICE_ACCOUNT,
17
+ }),
18
+ })
19
+ p api_instance.update_gcpsts_account(GCP_STS_ACCOUNT_DATA_ID, body)
@@ -0,0 +1,19 @@
1
+ # Add Okta account returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::OktaIntegrationAPI.new
5
+
6
+ body = DatadogAPIClient::V2::OktaAccountRequest.new({
7
+ data: DatadogAPIClient::V2::OktaAccount.new({
8
+ attributes: DatadogAPIClient::V2::OktaAccountAttributes.new({
9
+ auth_method: "oauth",
10
+ domain: "https://example.okta.com/",
11
+ name: "Okta_Prod",
12
+ client_id: "client_id",
13
+ client_secret: "client_secret",
14
+ }),
15
+ id: "f749daaf-682e-4208-a38d-c9b43162c609",
16
+ type: DatadogAPIClient::V2::OktaAccountType::OKTA_ACCOUNTS,
17
+ }),
18
+ })
19
+ p api_instance.create_okta_account(body)
@@ -0,0 +1,5 @@
1
+ # Delete Okta account returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::OktaIntegrationAPI.new
5
+ api_instance.delete_okta_account("account_id")
@@ -0,0 +1,8 @@
1
+ # Get Okta account returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::OktaIntegrationAPI.new
5
+
6
+ # there is a valid "okta_account" in the system
7
+ OKTA_ACCOUNT_DATA_ID = ENV["OKTA_ACCOUNT_DATA_ID"]
8
+ p api_instance.get_okta_account(OKTA_ACCOUNT_DATA_ID)
@@ -0,0 +1,5 @@
1
+ # List Okta accounts returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::OktaIntegrationAPI.new
5
+ p api_instance.list_okta_accounts()
@@ -0,0 +1,20 @@
1
+ # Update Okta account returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::OktaIntegrationAPI.new
5
+
6
+ # there is a valid "okta_account" in the system
7
+ OKTA_ACCOUNT_DATA_ID = ENV["OKTA_ACCOUNT_DATA_ID"]
8
+
9
+ body = DatadogAPIClient::V2::OktaAccountUpdateRequest.new({
10
+ data: DatadogAPIClient::V2::OktaAccountUpdateRequestData.new({
11
+ attributes: DatadogAPIClient::V2::OktaAccountUpdateRequestAttributes.new({
12
+ auth_method: "oauth",
13
+ domain: "https://example.okta.com/",
14
+ client_id: "client_id",
15
+ client_secret: "client_secret",
16
+ }),
17
+ type: DatadogAPIClient::V2::OktaAccountType::OKTA_ACCOUNTS,
18
+ }),
19
+ })
20
+ p api_instance.update_okta_account(OKTA_ACCOUNT_DATA_ID, body)
@@ -0,0 +1,46 @@
1
+ # Create a detection rule with detection method 'third_party' returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
5
+
6
+ body = DatadogAPIClient::V2::SecurityMonitoringStandardRuleCreatePayload.new({
7
+ name: "Example-Security-Monitoring",
8
+ type: DatadogAPIClient::V2::SecurityMonitoringRuleTypeCreate::LOG_DETECTION,
9
+ is_enabled: true,
10
+ third_party_cases: [
11
+ DatadogAPIClient::V2::SecurityMonitoringThirdPartyRuleCaseCreate.new({
12
+ query: "status:error",
13
+ name: "high",
14
+ status: DatadogAPIClient::V2::SecurityMonitoringRuleSeverity::HIGH,
15
+ }),
16
+ DatadogAPIClient::V2::SecurityMonitoringThirdPartyRuleCaseCreate.new({
17
+ query: "status:info",
18
+ name: "low",
19
+ status: DatadogAPIClient::V2::SecurityMonitoringRuleSeverity::LOW,
20
+ }),
21
+ ],
22
+ queries: [],
23
+ cases: [],
24
+ message: "This is a third party rule",
25
+ options: DatadogAPIClient::V2::SecurityMonitoringRuleOptions.new({
26
+ detection_method: DatadogAPIClient::V2::SecurityMonitoringRuleDetectionMethod::THIRD_PARTY,
27
+ keep_alive: DatadogAPIClient::V2::SecurityMonitoringRuleKeepAlive::ZERO_MINUTES,
28
+ max_signal_duration: DatadogAPIClient::V2::SecurityMonitoringRuleMaxSignalDuration::ZERO_MINUTES,
29
+ third_party_rule_options: DatadogAPIClient::V2::SecurityMonitoringRuleThirdPartyOptions.new({
30
+ default_status: DatadogAPIClient::V2::SecurityMonitoringRuleSeverity::INFO,
31
+ root_queries: [
32
+ DatadogAPIClient::V2::SecurityMonitoringThirdPartyRootQuery.new({
33
+ query: "source:guardduty @details.alertType:*EC2*",
34
+ group_by_fields: [
35
+ "instance-id",
36
+ ],
37
+ }),
38
+ DatadogAPIClient::V2::SecurityMonitoringThirdPartyRootQuery.new({
39
+ query: "source:guardduty",
40
+ group_by_fields: [],
41
+ }),
42
+ ],
43
+ }),
44
+ }),
45
+ })
46
+ p api_instance.create_security_monitoring_rule(body)
@@ -26,6 +26,13 @@ body = DatadogAPIClient::V2::SensitiveDataScannerRuleCreateRequest.new({
26
26
  "sensitive_data:true",
27
27
  ],
28
28
  is_enabled: true,
29
+ priority: 1,
30
+ included_keyword_configuration: DatadogAPIClient::V2::SensitiveDataScannerIncludedKeywordConfiguration.new({
31
+ keywords: [
32
+ "credit card",
33
+ ],
34
+ character_count: 35,
35
+ }),
29
36
  }),
30
37
  relationships: DatadogAPIClient::V2::SensitiveDataScannerRuleRelationships.new({
31
38
  group: DatadogAPIClient::V2::SensitiveDataScannerGroupData.new({
@@ -6,9 +6,6 @@ api_instance = DatadogAPIClient::V2::SensitiveDataScannerAPI.new
6
6
  # the "scanning_group" has a "scanning_rule"
7
7
  RULE_DATA_ID = ENV["RULE_DATA_ID"]
8
8
 
9
- # there is a valid "scanning_group" in the system
10
- GROUP_DATA_ID = ENV["GROUP_DATA_ID"]
11
-
12
9
  body = DatadogAPIClient::V2::SensitiveDataScannerRuleUpdateRequest.new({
13
10
  meta: DatadogAPIClient::V2::SensitiveDataScannerMetaVersionOnly.new({}),
14
11
  data: DatadogAPIClient::V2::SensitiveDataScannerRuleUpdate.new({
@@ -24,13 +21,13 @@ body = DatadogAPIClient::V2::SensitiveDataScannerRuleUpdateRequest.new({
24
21
  "sensitive_data:true",
25
22
  ],
26
23
  is_enabled: true,
27
- }),
28
- relationships: DatadogAPIClient::V2::SensitiveDataScannerRuleRelationships.new({
29
- group: DatadogAPIClient::V2::SensitiveDataScannerGroupData.new({
30
- data: DatadogAPIClient::V2::SensitiveDataScannerGroup.new({
31
- type: DatadogAPIClient::V2::SensitiveDataScannerGroupType::SENSITIVE_DATA_SCANNER_GROUP,
32
- id: GROUP_DATA_ID,
33
- }),
24
+ priority: 5,
25
+ included_keyword_configuration: DatadogAPIClient::V2::SensitiveDataScannerIncludedKeywordConfiguration.new({
26
+ keywords: [
27
+ "credit card",
28
+ "cc",
29
+ ],
30
+ character_count: 35,
34
31
  }),
35
32
  }),
36
33
  }),
@@ -9,6 +9,12 @@ body = DatadogAPIClient::V2::UserTeamRequest.new({
9
9
  role: DatadogAPIClient::V2::UserTeamRole::ADMIN,
10
10
  }),
11
11
  relationships: DatadogAPIClient::V2::UserTeamRelationships.new({
12
+ team: DatadogAPIClient::V2::RelationshipToUserTeamTeam.new({
13
+ data: DatadogAPIClient::V2::RelationshipToUserTeamTeamData.new({
14
+ id: "d7e15d9d-d346-43da-81d8-3d9e71d9a5e9",
15
+ type: DatadogAPIClient::V2::UserTeamTeamType::TEAM,
16
+ }),
17
+ }),
12
18
  user: DatadogAPIClient::V2::RelationshipToUserTeamUser.new({
13
19
  data: DatadogAPIClient::V2::RelationshipToUserTeamUserData.new({
14
20
  id: "b8626d7e-cedd-11eb-abf5-da7ad0900001",
@@ -0,0 +1,8 @@
1
+ # Get active billing dimensions for cost attribution returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.get_active_billing_dimensions".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
8
+ p api_instance.get_active_billing_dimensions()
@@ -0,0 +1,8 @@
1
+ # Get Monthly Cost Attribution returns "OK" response
2
+
3
+ require "datadog_api_client"
4
+ DatadogAPIClient.configure do |config|
5
+ config.unstable_operations["v2.get_monthly_cost_attribution".to_sym] = true
6
+ end
7
+ api_instance = DatadogAPIClient::V2::UsageMeteringAPI.new
8
+ p api_instance.get_monthly_cost_attribution((Time.now + -5 * 86400), (Time.now + -3 * 86400), "infra_host_total_cost")
@@ -0,0 +1,8 @@
1
+ # Get projected 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_projected_cost(opts)
@@ -189,11 +189,10 @@ module DatadogAPIClient
189
189
  @http_proxypass = nil
190
190
  @logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
191
191
  @unstable_operations = {
192
- "v2.create_ci_app_pipeline_event": false,
193
- "v2.list_container_images": false,
194
- "v2.list_containers": false,
195
- "v2.list_events": false,
196
- "v2.search_events": false,
192
+ "v2.get_active_billing_dimensions": false,
193
+ "v2.get_monthly_cost_attribution": false,
194
+ "v2.create_dora_deployment": false,
195
+ "v2.create_dora_incident": false,
197
196
  "v2.create_incident": false,
198
197
  "v2.create_incident_integration": false,
199
198
  "v2.create_incident_todo": false,