datadog_api_client 1.0.0 → 1.1.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 (190) hide show
  1. checksums.yaml +4 -4
  2. data/.apigentools-info +6 -6
  3. data/.github/workflows/scripts/test_integration.js +24 -0
  4. data/.github/workflows/test.yml +4 -0
  5. data/.github/workflows/test_integration.yml +87 -0
  6. data/.openapi-generator/FILES +48 -0
  7. data/CHANGELOG.md +18 -0
  8. data/README.md +1 -1
  9. data/data/v1/openapi.yaml +1133 -99
  10. data/data/v2/openapi.yaml +420 -13
  11. data/docs/v1/Downtime.md +2 -0
  12. data/docs/v1/DowntimeChild.md +48 -0
  13. data/docs/v1/MetricsAPI.md +1 -1
  14. data/docs/v1/Monitor.md +3 -3
  15. data/docs/v1/MonitorGroupSearchResponse.md +22 -0
  16. data/docs/v1/MonitorGroupSearchResponseCounts.md +20 -0
  17. data/docs/v1/MonitorGroupSearchResult.md +30 -0
  18. data/docs/v1/MonitorOptions.md +1 -1
  19. data/docs/v1/MonitorSearchResponse.md +22 -0
  20. data/docs/v1/MonitorSearchResponseCounts.md +24 -0
  21. data/docs/v1/MonitorSearchResponseMetadata.md +24 -0
  22. data/docs/v1/MonitorSearchResult.md +40 -0
  23. data/docs/v1/MonitorSearchResultNotification.md +20 -0
  24. data/docs/v1/MonitorsAPI.md +155 -13
  25. data/docs/v1/NotebookCreateDataAttributes.md +1 -1
  26. data/docs/v1/NotebookResponseDataAttributes.md +3 -3
  27. data/docs/v1/NotebookUpdateDataAttributes.md +1 -1
  28. data/docs/v1/NotebooksResponse.md +1 -1
  29. data/docs/v1/NotebooksResponseData.md +22 -0
  30. data/docs/v1/NotebooksResponseDataAttributes.md +30 -0
  31. data/docs/v1/README.md +25 -4
  32. data/docs/v1/SyntheticsAPI.md +62 -2
  33. data/docs/v1/SyntheticsAPITest.md +2 -2
  34. data/docs/v1/SyntheticsAPITestConfig.md +1 -1
  35. data/docs/v1/SyntheticsBrowserTest.md +2 -2
  36. data/docs/v1/SyntheticsConfigVariable.md +3 -1
  37. data/docs/v1/SyntheticsGlobalVariableValue.md +1 -1
  38. data/docs/v1/SyntheticsListGlobalVariablesResponse.md +18 -0
  39. data/docs/v1/SyntheticsTestConfig.md +1 -1
  40. data/docs/v1/SyntheticsTestDetails.md +2 -2
  41. data/docs/v1/UsageAttributionBody.md +2 -0
  42. data/docs/v1/UsageAttributionPagination.md +3 -7
  43. data/docs/v1/UsageAttributionValues.md +8 -0
  44. data/docs/v1/UsageAuditLogsHour.md +20 -0
  45. data/docs/v1/UsageAuditLogsResponse.md +18 -0
  46. data/docs/v1/UsageCWSHour.md +22 -0
  47. data/docs/v1/UsageCWSResponse.md +18 -0
  48. data/docs/v1/UsageCloudSecurityPostureManagementHour.md +22 -0
  49. data/docs/v1/UsageCloudSecurityPostureManagementResponse.md +18 -0
  50. data/docs/v1/UsageMeteringAPI.md +157 -21
  51. data/docs/v1/UsageSummaryDate.md +12 -4
  52. data/docs/v1/UsageSummaryDateOrg.md +12 -4
  53. data/docs/v1/UsageSummaryResponse.md +12 -4
  54. data/docs/v1/UsageTopAvgMetricsMetadata.md +2 -2
  55. data/docs/v1/WidgetCustomLink.md +7 -3
  56. data/docs/v2/IncidentServicesAPI.md +2 -2
  57. data/docs/v2/IncidentTeamsAPI.md +2 -2
  58. data/docs/v2/IncidentsAPI.md +2 -2
  59. data/docs/v2/IncidentsResponse.md +1 -1
  60. data/docs/v2/KeyManagementAPI.md +6 -6
  61. data/docs/v2/README.md +21 -0
  62. data/docs/v2/RelationshipToIncidentIntegrationMetadataData.md +1 -1
  63. data/docs/v2/RelationshipToIncidentIntegrationMetadatas.md +1 -1
  64. data/docs/v2/RolesAPI.md +4 -4
  65. data/docs/v2/SecurityFilter.md +22 -0
  66. data/docs/v2/SecurityFilterAttributes.md +30 -0
  67. data/docs/v2/SecurityFilterCreateAttributes.md +26 -0
  68. data/docs/v2/SecurityFilterCreateData.md +20 -0
  69. data/docs/v2/SecurityFilterCreateRequest.md +18 -0
  70. data/docs/v2/SecurityFilterDeleteResponse.md +18 -0
  71. data/docs/v2/SecurityFilterExclusionFilter.md +20 -0
  72. data/docs/v2/SecurityFilterExclusionFilterResponse.md +20 -0
  73. data/docs/v2/SecurityFilterFilteredDataType.md +15 -0
  74. data/docs/v2/SecurityFilterMeta.md +18 -0
  75. data/docs/v2/SecurityFilterResponse.md +20 -0
  76. data/docs/v2/SecurityFilterType.md +15 -0
  77. data/docs/v2/SecurityFilterUpdateAttributes.md +28 -0
  78. data/docs/v2/SecurityFilterUpdateData.md +20 -0
  79. data/docs/v2/SecurityFilterUpdateRequest.md +18 -0
  80. data/docs/v2/SecurityFiltersResponse.md +20 -0
  81. data/docs/v2/SecurityMonitoringAPI.md +316 -2
  82. data/docs/v2/UsersAPI.md +10 -10
  83. data/lib/datadog_api_client/v1.rb +18 -2
  84. data/lib/datadog_api_client/v1/api/metrics_api.rb +2 -2
  85. data/lib/datadog_api_client/v1/api/monitors_api.rb +163 -5
  86. data/lib/datadog_api_client/v1/api/synthetics_api.rb +67 -0
  87. data/lib/datadog_api_client/v1/api/usage_metering_api.rb +180 -23
  88. data/lib/datadog_api_client/v1/models/downtime.rb +11 -1
  89. data/lib/datadog_api_client/v1/models/downtime_child.rb +427 -0
  90. data/lib/datadog_api_client/v1/models/monitor.rb +10 -0
  91. data/lib/datadog_api_client/v1/models/monitor_group_search_response.rb +243 -0
  92. data/lib/datadog_api_client/v1/models/monitor_group_search_response_counts.rb +237 -0
  93. data/lib/datadog_api_client/v1/models/monitor_group_search_result.rb +285 -0
  94. data/lib/datadog_api_client/v1/models/monitor_options.rb +1 -1
  95. data/lib/datadog_api_client/v1/models/monitor_search_response.rb +243 -0
  96. data/lib/datadog_api_client/v1/models/monitor_search_response_counts.rb +261 -0
  97. data/lib/datadog_api_client/v1/models/monitor_search_response_metadata.rb +253 -0
  98. data/lib/datadog_api_client/v1/models/monitor_search_result.rb +339 -0
  99. data/lib/datadog_api_client/v1/models/monitor_search_result_notification.rb +233 -0
  100. data/lib/datadog_api_client/v1/models/notebook_create_data_attributes.rb +1 -1
  101. data/lib/datadog_api_client/v1/models/notebook_distribution_cell_attributes.rb +1 -1
  102. data/lib/datadog_api_client/v1/models/notebook_heat_map_cell_attributes.rb +1 -1
  103. data/lib/datadog_api_client/v1/models/notebook_log_stream_cell_attributes.rb +1 -1
  104. data/lib/datadog_api_client/v1/models/notebook_markdown_cell_attributes.rb +1 -1
  105. data/lib/datadog_api_client/v1/models/notebook_response_data_attributes.rb +3 -3
  106. data/lib/datadog_api_client/v1/models/notebook_timeseries_cell_attributes.rb +1 -1
  107. data/lib/datadog_api_client/v1/models/notebook_toplist_cell_attributes.rb +1 -1
  108. data/lib/datadog_api_client/v1/models/notebook_update_data_attributes.rb +1 -1
  109. data/lib/datadog_api_client/v1/models/notebooks_response.rb +1 -1
  110. data/lib/datadog_api_client/v1/models/notebooks_response_data.rb +258 -0
  111. data/lib/datadog_api_client/v1/models/notebooks_response_data_attributes.rb +317 -0
  112. data/lib/datadog_api_client/v1/models/synthetics_api_test_config.rb +0 -5
  113. data/lib/datadog_api_client/v1/models/synthetics_config_variable.rb +11 -6
  114. data/lib/datadog_api_client/v1/models/synthetics_config_variable_type.rb +1 -0
  115. data/lib/datadog_api_client/v1/models/synthetics_global_variable_value.rb +0 -5
  116. data/lib/datadog_api_client/v1/models/synthetics_list_global_variables_response.rb +225 -0
  117. data/lib/datadog_api_client/v1/models/synthetics_test_config.rb +0 -5
  118. data/lib/datadog_api_client/v1/models/usage_attribution_body.rb +11 -1
  119. data/lib/datadog_api_client/v1/models/usage_attribution_pagination.rb +10 -30
  120. data/lib/datadog_api_client/v1/models/usage_attribution_values.rb +41 -1
  121. data/lib/datadog_api_client/v1/models/usage_audit_logs_hour.rb +233 -0
  122. data/lib/datadog_api_client/v1/models/{usage_compliance_response.rb → usage_audit_logs_response.rb} +6 -6
  123. data/lib/datadog_api_client/v1/models/{usage_compliance_hour.rb → usage_cloud_security_posture_management_hour.rb} +19 -19
  124. data/lib/datadog_api_client/v1/models/usage_cloud_security_posture_management_response.rb +225 -0
  125. data/lib/datadog_api_client/v1/models/usage_cws_hour.rb +243 -0
  126. data/lib/datadog_api_client/v1/models/usage_cws_response.rb +225 -0
  127. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +61 -22
  128. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +61 -22
  129. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +61 -22
  130. data/lib/datadog_api_client/v1/models/usage_top_avg_metrics_metadata.rb +2 -4
  131. data/lib/datadog_api_client/v1/models/widget_custom_link.rb +24 -14
  132. data/lib/datadog_api_client/v2.rb +16 -0
  133. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +369 -0
  134. data/lib/datadog_api_client/v2/models/incident_integration_metadata_type.rb +1 -1
  135. data/lib/datadog_api_client/v2/models/relationship_to_incident_integration_metadata_data.rb +1 -1
  136. data/lib/datadog_api_client/v2/models/security_filter.rb +243 -0
  137. data/lib/datadog_api_client/v2/models/security_filter_attributes.rb +299 -0
  138. data/lib/datadog_api_client/v2/models/security_filter_create_attributes.rb +289 -0
  139. data/lib/datadog_api_client/v2/models/security_filter_create_data.rb +243 -0
  140. data/lib/datadog_api_client/v2/models/security_filter_create_request.rb +227 -0
  141. data/lib/datadog_api_client/v2/models/security_filter_delete_response.rb +222 -0
  142. data/lib/datadog_api_client/v2/models/security_filter_exclusion_filter.rb +243 -0
  143. data/lib/datadog_api_client/v2/models/security_filter_exclusion_filter_response.rb +233 -0
  144. data/lib/datadog_api_client/v2/models/security_filter_filtered_data_type.rb +39 -0
  145. data/lib/datadog_api_client/v2/models/security_filter_meta.rb +223 -0
  146. data/lib/datadog_api_client/v2/models/security_filter_response.rb +231 -0
  147. data/lib/datadog_api_client/v2/models/security_filter_type.rb +39 -0
  148. data/lib/datadog_api_client/v2/models/security_filter_update_attributes.rb +289 -0
  149. data/lib/datadog_api_client/v2/models/security_filter_update_data.rb +243 -0
  150. data/lib/datadog_api_client/v2/models/security_filter_update_request.rb +227 -0
  151. data/lib/datadog_api_client/v2/models/security_filters_response.rb +234 -0
  152. data/lib/datadog_api_client/version.rb +1 -1
  153. data/spec/v1/models/downtime_child_spec.rb +127 -0
  154. data/spec/v1/models/monitor_group_search_response_counts_spec.rb +43 -0
  155. data/spec/v1/models/monitor_group_search_response_spec.rb +49 -0
  156. data/spec/v1/models/monitor_group_search_result_spec.rb +73 -0
  157. data/spec/v1/models/monitor_search_response_counts_spec.rb +55 -0
  158. data/spec/v1/models/monitor_search_response_metadata_spec.rb +55 -0
  159. data/spec/v1/models/monitor_search_response_spec.rb +49 -0
  160. data/spec/v1/models/monitor_search_result_notification_spec.rb +43 -0
  161. data/spec/v1/models/monitor_search_result_spec.rb +103 -0
  162. data/spec/v1/models/notebooks_response_data_attributes_spec.rb +73 -0
  163. data/spec/v1/models/notebooks_response_data_spec.rb +49 -0
  164. data/spec/v1/models/synthetics_list_global_variables_response_spec.rb +37 -0
  165. data/spec/v1/models/usage_audit_logs_hour_spec.rb +43 -0
  166. data/spec/v1/models/{usage_compliance_response_spec.rb → usage_audit_logs_response_spec.rb} +6 -6
  167. data/spec/v1/models/usage_cloud_security_posture_management_hour_spec.rb +49 -0
  168. data/spec/v1/models/usage_cloud_security_posture_management_response_spec.rb +37 -0
  169. data/spec/v1/models/{usage_compliance_hour_spec.rb → usage_cws_hour_spec.rb} +8 -8
  170. data/spec/v1/models/usage_cws_response_spec.rb +37 -0
  171. data/spec/v2/models/security_filter_attributes_spec.rb +73 -0
  172. data/spec/v2/models/security_filter_create_attributes_spec.rb +61 -0
  173. data/spec/v2/models/security_filter_create_data_spec.rb +43 -0
  174. data/spec/v2/models/security_filter_create_request_spec.rb +37 -0
  175. data/spec/v2/models/security_filter_delete_response_spec.rb +37 -0
  176. data/spec/v2/models/security_filter_exclusion_filter_response_spec.rb +43 -0
  177. data/spec/v2/models/security_filter_exclusion_filter_spec.rb +43 -0
  178. data/spec/v2/models/security_filter_filtered_data_type_spec.rb +31 -0
  179. data/spec/v2/models/security_filter_meta_spec.rb +37 -0
  180. data/spec/v2/models/security_filter_response_spec.rb +43 -0
  181. data/spec/v2/models/security_filter_spec.rb +49 -0
  182. data/spec/v2/models/security_filter_type_spec.rb +31 -0
  183. data/spec/v2/models/security_filter_update_attributes_spec.rb +67 -0
  184. data/spec/v2/models/security_filter_update_data_spec.rb +43 -0
  185. data/spec/v2/models/security_filter_update_request_spec.rb +37 -0
  186. data/spec/v2/models/security_filters_response_spec.rb +43 -0
  187. metadata +140 -11
  188. data/.azure-pipelines/all.yml +0 -50
  189. data/docs/v1/UsageComplianceHour.md +0 -22
  190. data/docs/v1/UsageComplianceResponse.md +0 -18
data/data/v2/openapi.yaml CHANGED
@@ -207,6 +207,7 @@ components:
207
207
  required: false
208
208
  schema:
209
209
  default: 0
210
+ example: 0
210
211
  format: int64
211
212
  type: integer
212
213
  PageOffset:
@@ -216,6 +217,7 @@ components:
216
217
  required: false
217
218
  schema:
218
219
  default: 0
220
+ example: 0
219
221
  format: int64
220
222
  type: integer
221
223
  PageSize:
@@ -225,6 +227,7 @@ components:
225
227
  required: false
226
228
  schema:
227
229
  default: 10
230
+ example: 10
228
231
  format: int64
229
232
  type: integer
230
233
  RoleID:
@@ -234,6 +237,13 @@ components:
234
237
  required: true
235
238
  schema:
236
239
  type: string
240
+ SecurityFilterID:
241
+ description: The ID of the security filter.
242
+ in: path
243
+ name: security_filter_id
244
+ required: true
245
+ schema:
246
+ type: string
237
247
  SecurityMonitoringRuleID:
238
248
  description: The ID of the rule.
239
249
  in: path
@@ -247,6 +257,7 @@ components:
247
257
  name: user_id
248
258
  required: true
249
259
  schema:
260
+ example: 00000000-0000-0000-0000-000000000000
250
261
  type: string
251
262
  requestBodies: {}
252
263
  responses:
@@ -949,14 +960,14 @@ components:
949
960
  - METRICTAG
950
961
  - AUTOCOMPLETE
951
962
  IncidentIntegrationMetadataType:
952
- default: incident_integration_metadata
963
+ default: incident_integrations
953
964
  description: Integration metadata resource type.
954
965
  enum:
955
- - incident_integration_metadata
956
- example: incident_integration_metadata
966
+ - incident_integrations
967
+ example: incident_integrations
957
968
  type: string
958
969
  x-enum-varnames:
959
- - INCIDENT_INTEGRATION_METADATA
970
+ - INCIDENT_INTEGRATIONS
960
971
  IncidentPostmortemType:
961
972
  default: incident_postmortems
962
973
  description: Incident postmortem resource type.
@@ -1674,9 +1685,9 @@ components:
1674
1685
  integrations:
1675
1686
  data:
1676
1687
  - id: 00000000-0000-0000-0000-000000000000
1677
- type: incident_integration_metadata
1688
+ type: incident_integrations
1678
1689
  - id: 00000000-0000-0000-0000-000000000000
1679
- type: incident_integration_metadata
1690
+ type: incident_integrations
1680
1691
  last_modified_by_user:
1681
1692
  data:
1682
1693
  id: 00000000-0000-0000-0000-000000000000
@@ -1718,9 +1729,9 @@ components:
1718
1729
  integrations:
1719
1730
  data:
1720
1731
  - id: 00000000-0000-0000-0000-000000000000
1721
- type: incident_integration_metadata
1732
+ type: incident_integrations
1722
1733
  - id: 00000000-0000-0000-0000-000000000000
1723
- type: incident_integration_metadata
1734
+ type: incident_integrations
1724
1735
  last_modified_by_user:
1725
1736
  data:
1726
1737
  id: 00000000-0000-0000-0000-000000000000
@@ -3484,7 +3495,7 @@ components:
3484
3495
  description: A relationship reference for an integration metadata object.
3485
3496
  example:
3486
3497
  id: 00000000-0000-0000-0000-000000000000
3487
- type: incident_integration_metadata
3498
+ type: incident_integrations
3488
3499
  properties:
3489
3500
  id:
3490
3501
  description: A unique identifier that represents the integration metadata.
@@ -3501,17 +3512,17 @@ components:
3501
3512
  example:
3502
3513
  data:
3503
3514
  - id: 00000000-0000-0000-0000-000000000000
3504
- type: incident_integration_metadata
3515
+ type: incident_integrations
3505
3516
  - id: 00000000-0000-0000-0000-000000000000
3506
- type: incident_integration_metadata
3517
+ type: incident_integrations
3507
3518
  properties:
3508
3519
  data:
3509
3520
  description: The integration metadata relationship array
3510
3521
  example:
3511
3522
  - id: 00000000-0000-0000-0000-000000000000
3512
- type: incident_integration_metadata
3523
+ type: incident_integrations
3513
3524
  - id: 00000000-0000-0000-0000-000000000000
3514
- type: incident_integration_metadata
3525
+ type: incident_integrations
3515
3526
  items:
3516
3527
  $ref: '#/components/schemas/RelationshipToIncidentIntegrationMetadataData'
3517
3528
  type: array
@@ -3881,6 +3892,237 @@ components:
3881
3892
  type: string
3882
3893
  x-enum-varnames:
3883
3894
  - ROLES
3895
+ SecurityFilter:
3896
+ description: The security filter's properties.
3897
+ properties:
3898
+ attributes:
3899
+ $ref: '#/components/schemas/SecurityFilterAttributes'
3900
+ id:
3901
+ $ref: '#/components/schemas/SecurityFilterID'
3902
+ type:
3903
+ $ref: '#/components/schemas/SecurityFilterType'
3904
+ type: object
3905
+ SecurityFilterAttributes:
3906
+ description: The object describing a security filter.
3907
+ properties:
3908
+ exclusion_filters:
3909
+ description: The list of exclusion filters applied in this security filter.
3910
+ items:
3911
+ $ref: '#/components/schemas/SecurityFilterExclusionFilterResponse'
3912
+ type: array
3913
+ filtered_data_type:
3914
+ $ref: '#/components/schemas/SecurityFilterFilteredDataType'
3915
+ is_builtin:
3916
+ description: Whether the security filter is the built-in filter.
3917
+ example: false
3918
+ type: boolean
3919
+ is_enabled:
3920
+ description: Whether the security filter is enabled.
3921
+ example: false
3922
+ type: boolean
3923
+ name:
3924
+ description: The security filter name.
3925
+ example: Custom security filter
3926
+ type: string
3927
+ query:
3928
+ description: The security filter query. Logs accepted by this query will
3929
+ be accepted by this filter.
3930
+ example: service:api
3931
+ type: string
3932
+ version:
3933
+ description: The version of the security filter.
3934
+ example: 1
3935
+ format: int32
3936
+ maximum: 2147483647
3937
+ type: integer
3938
+ type: object
3939
+ SecurityFilterCreateAttributes:
3940
+ description: Object containing the attributes of the security filter to be created.
3941
+ properties:
3942
+ exclusion_filters:
3943
+ description: Exclusion filters to exclude some logs from the security filter.
3944
+ example:
3945
+ - name: Exclude staging
3946
+ query: source:staging
3947
+ items:
3948
+ $ref: '#/components/schemas/SecurityFilterExclusionFilter'
3949
+ type: array
3950
+ filtered_data_type:
3951
+ $ref: '#/components/schemas/SecurityFilterFilteredDataType'
3952
+ is_enabled:
3953
+ description: Whether the security filter is enabled.
3954
+ example: true
3955
+ type: boolean
3956
+ name:
3957
+ description: The name of the security filter.
3958
+ example: Custom security filter
3959
+ type: string
3960
+ query:
3961
+ description: The query of the security filter.
3962
+ example: service:api
3963
+ type: string
3964
+ required:
3965
+ - name
3966
+ - query
3967
+ - exclusion_filters
3968
+ - filtered_data_type
3969
+ - is_enabled
3970
+ type: object
3971
+ SecurityFilterCreateData:
3972
+ description: Object for a single security filter.
3973
+ properties:
3974
+ attributes:
3975
+ $ref: '#/components/schemas/SecurityFilterCreateAttributes'
3976
+ type:
3977
+ $ref: '#/components/schemas/SecurityFilterType'
3978
+ required:
3979
+ - type
3980
+ - attributes
3981
+ type: object
3982
+ SecurityFilterCreateRequest:
3983
+ description: Request object that includes the security filter that you would
3984
+ like to create.
3985
+ properties:
3986
+ data:
3987
+ $ref: '#/components/schemas/SecurityFilterCreateData'
3988
+ required:
3989
+ - data
3990
+ type: object
3991
+ SecurityFilterDeleteResponse:
3992
+ description: Response object which only includes the metadata.
3993
+ properties:
3994
+ meta:
3995
+ $ref: '#/components/schemas/SecurityFilterMeta'
3996
+ type: object
3997
+ SecurityFilterExclusionFilter:
3998
+ description: Exclusion filter for the security filter.
3999
+ example:
4000
+ name: Exclude staging
4001
+ query: source:staging
4002
+ properties:
4003
+ name:
4004
+ description: Exclusion filter name.
4005
+ example: Exclude staging
4006
+ type: string
4007
+ query:
4008
+ description: Exclusion filter query. Logs that match this query are excluded
4009
+ from the security filter.
4010
+ example: source:staging
4011
+ type: string
4012
+ required:
4013
+ - name
4014
+ - query
4015
+ type: object
4016
+ SecurityFilterExclusionFilterResponse:
4017
+ description: A single exclusion filter.
4018
+ properties:
4019
+ name:
4020
+ description: The exclusion filter name.
4021
+ example: Exclude staging
4022
+ type: string
4023
+ query:
4024
+ description: The exclusion filter query.
4025
+ example: source:staging
4026
+ type: string
4027
+ type: object
4028
+ SecurityFilterFilteredDataType:
4029
+ description: The filtered data type.
4030
+ enum:
4031
+ - logs
4032
+ example: logs
4033
+ type: string
4034
+ x-enum-varnames:
4035
+ - LOGS
4036
+ SecurityFilterID:
4037
+ description: The ID of the security filter.
4038
+ example: 3dd-0uc-h1s
4039
+ type: string
4040
+ SecurityFilterMeta:
4041
+ description: Optional metadata associated to the response.
4042
+ properties:
4043
+ warning:
4044
+ description: A warning message.
4045
+ example: All the security filters are disabled. As a result, no logs are
4046
+ being analyzed.
4047
+ type: string
4048
+ type: object
4049
+ SecurityFilterResponse:
4050
+ description: Response object which includes a single security filter.
4051
+ properties:
4052
+ data:
4053
+ $ref: '#/components/schemas/SecurityFilter'
4054
+ meta:
4055
+ $ref: '#/components/schemas/SecurityFilterMeta'
4056
+ type: object
4057
+ SecurityFilterType:
4058
+ default: security_filters
4059
+ description: The type of the resource. The value should always be `security_filters`.
4060
+ enum:
4061
+ - security_filters
4062
+ example: security_filters
4063
+ type: string
4064
+ x-enum-varnames:
4065
+ - SECURITY_FILTERS
4066
+ SecurityFilterUpdateAttributes:
4067
+ description: The security filters properties to be updated.
4068
+ properties:
4069
+ exclusion_filters:
4070
+ description: Exclusion filters to exclude some logs from the security filter.
4071
+ example: []
4072
+ items:
4073
+ $ref: '#/components/schemas/SecurityFilterExclusionFilter'
4074
+ type: array
4075
+ filtered_data_type:
4076
+ $ref: '#/components/schemas/SecurityFilterFilteredDataType'
4077
+ is_enabled:
4078
+ description: Whether the security filter is enabled.
4079
+ example: true
4080
+ type: boolean
4081
+ name:
4082
+ description: The name of the security filter.
4083
+ example: Custom security filter
4084
+ type: string
4085
+ query:
4086
+ description: The query of the security filter.
4087
+ example: service:api
4088
+ type: string
4089
+ version:
4090
+ description: The version of the security filter to update.
4091
+ example: 1
4092
+ format: int32
4093
+ maximum: 2147483647
4094
+ type: integer
4095
+ type: object
4096
+ SecurityFilterUpdateData:
4097
+ description: The new security filter properties.
4098
+ properties:
4099
+ attributes:
4100
+ $ref: '#/components/schemas/SecurityFilterUpdateAttributes'
4101
+ type:
4102
+ $ref: '#/components/schemas/SecurityFilterType'
4103
+ required:
4104
+ - type
4105
+ - attributes
4106
+ type: object
4107
+ SecurityFilterUpdateRequest:
4108
+ description: The new security filter body.
4109
+ properties:
4110
+ data:
4111
+ $ref: '#/components/schemas/SecurityFilterUpdateData'
4112
+ required:
4113
+ - data
4114
+ type: object
4115
+ SecurityFiltersResponse:
4116
+ description: All the available security filters objects.
4117
+ properties:
4118
+ data:
4119
+ description: A list of security filters objects.
4120
+ items:
4121
+ $ref: '#/components/schemas/SecurityFilter'
4122
+ type: array
4123
+ meta:
4124
+ $ref: '#/components/schemas/SecurityFilterMeta'
4125
+ type: object
3884
4126
  SecurityMonitoringFilter:
3885
4127
  description: The rule's suppression filter.
3886
4128
  properties:
@@ -7310,6 +7552,168 @@ paths:
7310
7552
  x-menu-order: 10
7311
7553
  x-undo:
7312
7554
  type: safe
7555
+ /api/v2/security_monitoring/configuration/security_filters:
7556
+ get:
7557
+ description: Get the list of configured security filters with their definitions.
7558
+ operationId: ListSecurityFilters
7559
+ responses:
7560
+ '200':
7561
+ content:
7562
+ application/json:
7563
+ schema:
7564
+ $ref: '#/components/schemas/SecurityFiltersResponse'
7565
+ description: OK
7566
+ '403':
7567
+ $ref: '#/components/responses/NotAuthorizedResponse'
7568
+ '429':
7569
+ $ref: '#/components/responses/TooManyRequestsResponse'
7570
+ summary: Get all security filters
7571
+ tags:
7572
+ - Security Monitoring
7573
+ x-undo:
7574
+ type: safe
7575
+ post:
7576
+ description: 'Create a security filter.
7577
+
7578
+
7579
+ See the [security filter guide](https://docs.datadoghq.com/security_platform/guide/how-to-setup-security-filters-using-security-monitoring-api/)
7580
+
7581
+ for more examples.'
7582
+ operationId: CreateSecurityFilter
7583
+ requestBody:
7584
+ content:
7585
+ application/json:
7586
+ schema:
7587
+ $ref: '#/components/schemas/SecurityFilterCreateRequest'
7588
+ description: The definition of the new security filter.
7589
+ required: true
7590
+ responses:
7591
+ '200':
7592
+ content:
7593
+ application/json:
7594
+ schema:
7595
+ $ref: '#/components/schemas/SecurityFilterResponse'
7596
+ description: OK
7597
+ '400':
7598
+ $ref: '#/components/responses/BadRequestResponse'
7599
+ '403':
7600
+ $ref: '#/components/responses/NotAuthorizedResponse'
7601
+ '409':
7602
+ $ref: '#/components/responses/ConflictResponse'
7603
+ '429':
7604
+ $ref: '#/components/responses/TooManyRequestsResponse'
7605
+ summary: Create a security filter
7606
+ tags:
7607
+ - Security Monitoring
7608
+ x-codegen-request-body-name: body
7609
+ x-given:
7610
+ security_filter:
7611
+ parameters:
7612
+ - name: body
7613
+ value: "{\n \"data\": {\n \"type\": \"security_filters\",\n \"\
7614
+ attributes\": {\n \"name\": \"{{ unique }}\",\n \"query\"\
7615
+ : \"service:{{ unique_alnum }}\",\n \"exclusion_filters\":[\n \
7616
+ \ {\n \"name\": \"Exclude logs from staging\",\n \
7617
+ \ \"query\": \"source:staging\"\n }\n ],\n \"filtered_data_type\"\
7618
+ :\"logs\",\n \"is_enabled\": true\n }\n }\n}"
7619
+ step: there is a valid "security_filter" in the system
7620
+ x-undo:
7621
+ operationId: DeleteSecurityFilter
7622
+ parameters:
7623
+ - name: security_filter_id
7624
+ source: data.id
7625
+ type: unsafe
7626
+ /api/v2/security_monitoring/configuration/security_filters/{security_filter_id}:
7627
+ delete:
7628
+ description: Delete a specific security filter.
7629
+ operationId: DeleteSecurityFilter
7630
+ parameters:
7631
+ - $ref: '#/components/parameters/SecurityFilterID'
7632
+ responses:
7633
+ '200':
7634
+ content:
7635
+ application/json:
7636
+ schema:
7637
+ $ref: '#/components/schemas/SecurityFilterDeleteResponse'
7638
+ description: OK
7639
+ '204':
7640
+ description: No Content
7641
+ '403':
7642
+ $ref: '#/components/responses/NotAuthorizedResponse'
7643
+ '404':
7644
+ $ref: '#/components/responses/NotFoundResponse'
7645
+ '429':
7646
+ $ref: '#/components/responses/TooManyRequestsResponse'
7647
+ summary: Delete a security filter
7648
+ tags:
7649
+ - Security Monitoring
7650
+ x-undo:
7651
+ type: idempotent
7652
+ get:
7653
+ description: 'Get the details of a specific security filter.
7654
+
7655
+
7656
+ See the [security filter guide](https://docs.datadoghq.com/security_platform/guide/how-to-setup-security-filters-using-security-monitoring-api/)
7657
+
7658
+ for more examples.'
7659
+ operationId: GetSecurityFilter
7660
+ parameters:
7661
+ - $ref: '#/components/parameters/SecurityFilterID'
7662
+ responses:
7663
+ '200':
7664
+ content:
7665
+ application/json:
7666
+ schema:
7667
+ $ref: '#/components/schemas/SecurityFilterResponse'
7668
+ description: OK
7669
+ '403':
7670
+ $ref: '#/components/responses/NotAuthorizedResponse'
7671
+ '404':
7672
+ $ref: '#/components/responses/NotFoundResponse'
7673
+ '429':
7674
+ $ref: '#/components/responses/TooManyRequestsResponse'
7675
+ summary: Get a security filter
7676
+ tags:
7677
+ - Security Monitoring
7678
+ x-undo:
7679
+ type: safe
7680
+ patch:
7681
+ description: 'Update a specific security filter.
7682
+
7683
+ Returns the security filter object when the request is successful.'
7684
+ operationId: UpdateSecurityFilter
7685
+ parameters:
7686
+ - $ref: '#/components/parameters/SecurityFilterID'
7687
+ requestBody:
7688
+ content:
7689
+ application/json:
7690
+ schema:
7691
+ $ref: '#/components/schemas/SecurityFilterUpdateRequest'
7692
+ description: New definition of the security filter.
7693
+ required: true
7694
+ responses:
7695
+ '200':
7696
+ content:
7697
+ application/json:
7698
+ schema:
7699
+ $ref: '#/components/schemas/SecurityFilterResponse'
7700
+ description: OK
7701
+ '400':
7702
+ $ref: '#/components/responses/BadRequestResponse'
7703
+ '403':
7704
+ $ref: '#/components/responses/NotAuthorizedResponse'
7705
+ '404':
7706
+ $ref: '#/components/responses/NotFoundResponse'
7707
+ '409':
7708
+ $ref: '#/components/responses/ConcurrentModificationResponse'
7709
+ '429':
7710
+ $ref: '#/components/responses/TooManyRequestsResponse'
7711
+ summary: Update a security filter
7712
+ tags:
7713
+ - Security Monitoring
7714
+ x-codegen-request-body-name: body
7715
+ x-undo:
7716
+ type: idempotent
7313
7717
  /api/v2/security_monitoring/rules:
7314
7718
  get:
7315
7719
  description: List rules.
@@ -7968,6 +8372,7 @@ paths:
7968
8372
  name: user_invitation_uuid
7969
8373
  required: true
7970
8374
  schema:
8375
+ example: 00000000-0000-0000-0000-000000000000
7971
8376
  type: string
7972
8377
  responses:
7973
8378
  '200':
@@ -8017,6 +8422,7 @@ paths:
8017
8422
  required: false
8018
8423
  schema:
8019
8424
  default: name
8425
+ example: name
8020
8426
  type: string
8021
8427
  - description: 'Direction of sort. Options: `asc`, `desc`.'
8022
8428
  in: query
@@ -8039,6 +8445,7 @@ paths:
8039
8445
  name: filter[status]
8040
8446
  required: false
8041
8447
  schema:
8448
+ example: Active
8042
8449
  type: string
8043
8450
  responses:
8044
8451
  '200':