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,92 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # A query to be combined with the third party case query.
21
+ class SecurityMonitoringThirdPartyRootQuery
22
+ include BaseGenericModel
23
+
24
+ # Fields to group by.
25
+ attr_accessor :group_by_fields
26
+
27
+ # Query to run on logs.
28
+ attr_accessor :query
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ # @!visibility private
32
+ def self.attribute_map
33
+ {
34
+ :'group_by_fields' => :'groupByFields',
35
+ :'query' => :'query'
36
+ }
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ # @!visibility private
41
+ def self.openapi_types
42
+ {
43
+ :'group_by_fields' => :'Array<String>',
44
+ :'query' => :'String'
45
+ }
46
+ end
47
+
48
+ # Initializes the object
49
+ # @param attributes [Hash] Model attributes in the form of hash
50
+ # @!visibility private
51
+ def initialize(attributes = {})
52
+ if (!attributes.is_a?(Hash))
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SecurityMonitoringThirdPartyRootQuery` initialize method"
54
+ end
55
+
56
+ # check to see if the attribute exists and convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h|
58
+ if (!self.class.attribute_map.key?(k.to_sym))
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::SecurityMonitoringThirdPartyRootQuery`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
+ end
61
+ h[k.to_sym] = v
62
+ }
63
+
64
+ if attributes.key?(:'group_by_fields')
65
+ if (value = attributes[:'group_by_fields']).is_a?(Array)
66
+ self.group_by_fields = value
67
+ end
68
+ end
69
+
70
+ if attributes.key?(:'query')
71
+ self.query = attributes[:'query']
72
+ end
73
+ end
74
+
75
+ # Checks equality by comparing each attribute.
76
+ # @param o [Object] Object to be compared
77
+ # @!visibility private
78
+ def ==(o)
79
+ return true if self.equal?(o)
80
+ self.class == o.class &&
81
+ group_by_fields == o.group_by_fields &&
82
+ query == o.query
83
+ end
84
+
85
+ # Calculates hash code according to all attributes.
86
+ # @return [Integer] Hash code
87
+ # @!visibility private
88
+ def hash
89
+ [group_by_fields, query].hash
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,112 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # Case when signal is generated by a third party rule.
21
+ class SecurityMonitoringThirdPartyRuleCase
22
+ include BaseGenericModel
23
+
24
+ # Name of the case.
25
+ attr_accessor :name
26
+
27
+ # Notification targets for each rule case.
28
+ attr_accessor :notifications
29
+
30
+ # A query to map a third party event to this case.
31
+ attr_accessor :query
32
+
33
+ # Severity of the Security Signal.
34
+ attr_accessor :status
35
+
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ # @!visibility private
38
+ def self.attribute_map
39
+ {
40
+ :'name' => :'name',
41
+ :'notifications' => :'notifications',
42
+ :'query' => :'query',
43
+ :'status' => :'status'
44
+ }
45
+ end
46
+
47
+ # Attribute type mapping.
48
+ # @!visibility private
49
+ def self.openapi_types
50
+ {
51
+ :'name' => :'String',
52
+ :'notifications' => :'Array<String>',
53
+ :'query' => :'String',
54
+ :'status' => :'SecurityMonitoringRuleSeverity'
55
+ }
56
+ end
57
+
58
+ # Initializes the object
59
+ # @param attributes [Hash] Model attributes in the form of hash
60
+ # @!visibility private
61
+ def initialize(attributes = {})
62
+ if (!attributes.is_a?(Hash))
63
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SecurityMonitoringThirdPartyRuleCase` initialize method"
64
+ end
65
+
66
+ # check to see if the attribute exists and convert string to symbol for hash key
67
+ attributes = attributes.each_with_object({}) { |(k, v), h|
68
+ if (!self.class.attribute_map.key?(k.to_sym))
69
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::SecurityMonitoringThirdPartyRuleCase`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
70
+ end
71
+ h[k.to_sym] = v
72
+ }
73
+
74
+ if attributes.key?(:'name')
75
+ self.name = attributes[:'name']
76
+ end
77
+
78
+ if attributes.key?(:'notifications')
79
+ if (value = attributes[:'notifications']).is_a?(Array)
80
+ self.notifications = value
81
+ end
82
+ end
83
+
84
+ if attributes.key?(:'query')
85
+ self.query = attributes[:'query']
86
+ end
87
+
88
+ if attributes.key?(:'status')
89
+ self.status = attributes[:'status']
90
+ end
91
+ end
92
+
93
+ # Checks equality by comparing each attribute.
94
+ # @param o [Object] Object to be compared
95
+ # @!visibility private
96
+ def ==(o)
97
+ return true if self.equal?(o)
98
+ self.class == o.class &&
99
+ name == o.name &&
100
+ notifications == o.notifications &&
101
+ query == o.query &&
102
+ status == o.status
103
+ end
104
+
105
+ # Calculates hash code according to all attributes.
106
+ # @return [Integer] Hash code
107
+ # @!visibility private
108
+ def hash
109
+ [name, notifications, query, status].hash
110
+ end
111
+ end
112
+ end
@@ -0,0 +1,130 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # Case when a signal is generated by a third party rule.
21
+ class SecurityMonitoringThirdPartyRuleCaseCreate
22
+ include BaseGenericModel
23
+
24
+ # Name of the case.
25
+ attr_accessor :name
26
+
27
+ # Notification targets for each rule case.
28
+ attr_accessor :notifications
29
+
30
+ # A query to map a third party event to this case.
31
+ attr_accessor :query
32
+
33
+ # Severity of the Security Signal.
34
+ attr_reader :status
35
+
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ # @!visibility private
38
+ def self.attribute_map
39
+ {
40
+ :'name' => :'name',
41
+ :'notifications' => :'notifications',
42
+ :'query' => :'query',
43
+ :'status' => :'status'
44
+ }
45
+ end
46
+
47
+ # Attribute type mapping.
48
+ # @!visibility private
49
+ def self.openapi_types
50
+ {
51
+ :'name' => :'String',
52
+ :'notifications' => :'Array<String>',
53
+ :'query' => :'String',
54
+ :'status' => :'SecurityMonitoringRuleSeverity'
55
+ }
56
+ end
57
+
58
+ # Initializes the object
59
+ # @param attributes [Hash] Model attributes in the form of hash
60
+ # @!visibility private
61
+ def initialize(attributes = {})
62
+ if (!attributes.is_a?(Hash))
63
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SecurityMonitoringThirdPartyRuleCaseCreate` initialize method"
64
+ end
65
+
66
+ # check to see if the attribute exists and convert string to symbol for hash key
67
+ attributes = attributes.each_with_object({}) { |(k, v), h|
68
+ if (!self.class.attribute_map.key?(k.to_sym))
69
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::SecurityMonitoringThirdPartyRuleCaseCreate`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
70
+ end
71
+ h[k.to_sym] = v
72
+ }
73
+
74
+ if attributes.key?(:'name')
75
+ self.name = attributes[:'name']
76
+ end
77
+
78
+ if attributes.key?(:'notifications')
79
+ if (value = attributes[:'notifications']).is_a?(Array)
80
+ self.notifications = value
81
+ end
82
+ end
83
+
84
+ if attributes.key?(:'query')
85
+ self.query = attributes[:'query']
86
+ end
87
+
88
+ if attributes.key?(:'status')
89
+ self.status = attributes[:'status']
90
+ end
91
+ end
92
+
93
+ # Check to see if the all the properties in the model are valid
94
+ # @return true if the model is valid
95
+ # @!visibility private
96
+ def valid?
97
+ return false if @status.nil?
98
+ true
99
+ end
100
+
101
+ # Custom attribute writer method with validation
102
+ # @param status [Object] Object to be assigned
103
+ # @!visibility private
104
+ def status=(status)
105
+ if status.nil?
106
+ fail ArgumentError, 'invalid value for "status", status cannot be nil.'
107
+ end
108
+ @status = status
109
+ end
110
+
111
+ # Checks equality by comparing each attribute.
112
+ # @param o [Object] Object to be compared
113
+ # @!visibility private
114
+ def ==(o)
115
+ return true if self.equal?(o)
116
+ self.class == o.class &&
117
+ name == o.name &&
118
+ notifications == o.notifications &&
119
+ query == o.query &&
120
+ status == o.status
121
+ end
122
+
123
+ # Calculates hash code according to all attributes.
124
+ # @return [Integer] Hash code
125
+ # @!visibility private
126
+ def hash
127
+ [name, notifications, query, status].hash
128
+ end
129
+ end
130
+ end
@@ -0,0 +1,134 @@
1
+ =begin
2
+ #Datadog API V2 Collection
3
+
4
+ #Collection of all Datadog Public endpoints.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@datadoghq.com
8
+ Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9
+
10
+ Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11
+ This product includes software developed at Datadog (https://www.datadoghq.com/).
12
+ Copyright 2020-Present Datadog, Inc.
13
+
14
+ =end
15
+
16
+ require 'date'
17
+ require 'time'
18
+
19
+ module DatadogAPIClient::V2
20
+ # Object defining a set of keywords and a number of characters that help reduce noise.
21
+ # You can provide a list of keywords you would like to check within a defined proximity of the matching pattern.
22
+ # If any of the keywords are found within the proximity check, the match is kept.
23
+ # If none are found, the match is discarded.
24
+ class SensitiveDataScannerIncludedKeywordConfiguration
25
+ include BaseGenericModel
26
+
27
+ # The number of characters behind a match detected by Sensitive Data Scanner to look for the keywords defined.
28
+ # `character_count` should be greater than the maximum length of a keyword defined for a rule.
29
+ attr_reader :character_count
30
+
31
+ # Keyword list that will be checked during scanning in order to validate a match.
32
+ # The number of keywords in the list must be less than or equal to 20.
33
+ attr_reader :keywords
34
+
35
+ # Attribute mapping from ruby-style variable name to JSON key.
36
+ # @!visibility private
37
+ def self.attribute_map
38
+ {
39
+ :'character_count' => :'character_count',
40
+ :'keywords' => :'keywords'
41
+ }
42
+ end
43
+
44
+ # Attribute type mapping.
45
+ # @!visibility private
46
+ def self.openapi_types
47
+ {
48
+ :'character_count' => :'Integer',
49
+ :'keywords' => :'Array<String>'
50
+ }
51
+ end
52
+
53
+ # Initializes the object
54
+ # @param attributes [Hash] Model attributes in the form of hash
55
+ # @!visibility private
56
+ def initialize(attributes = {})
57
+ if (!attributes.is_a?(Hash))
58
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SensitiveDataScannerIncludedKeywordConfiguration` initialize method"
59
+ end
60
+
61
+ # check to see if the attribute exists and convert string to symbol for hash key
62
+ attributes = attributes.each_with_object({}) { |(k, v), h|
63
+ if (!self.class.attribute_map.key?(k.to_sym))
64
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::SensitiveDataScannerIncludedKeywordConfiguration`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
65
+ end
66
+ h[k.to_sym] = v
67
+ }
68
+
69
+ if attributes.key?(:'character_count')
70
+ self.character_count = attributes[:'character_count']
71
+ end
72
+
73
+ if attributes.key?(:'keywords')
74
+ if (value = attributes[:'keywords']).is_a?(Array)
75
+ self.keywords = value
76
+ end
77
+ end
78
+ end
79
+
80
+ # Check to see if the all the properties in the model are valid
81
+ # @return true if the model is valid
82
+ # @!visibility private
83
+ def valid?
84
+ return false if @character_count.nil?
85
+ return false if @character_count > 50
86
+ return false if @character_count < 1
87
+ return false if @keywords.nil?
88
+ true
89
+ end
90
+
91
+ # Custom attribute writer method with validation
92
+ # @param character_count [Object] Object to be assigned
93
+ # @!visibility private
94
+ def character_count=(character_count)
95
+ if character_count.nil?
96
+ fail ArgumentError, 'invalid value for "character_count", character_count cannot be nil.'
97
+ end
98
+ if character_count > 50
99
+ fail ArgumentError, 'invalid value for "character_count", must be smaller than or equal to 50.'
100
+ end
101
+ if character_count < 1
102
+ fail ArgumentError, 'invalid value for "character_count", must be greater than or equal to 1.'
103
+ end
104
+ @character_count = character_count
105
+ end
106
+
107
+ # Custom attribute writer method with validation
108
+ # @param keywords [Object] Object to be assigned
109
+ # @!visibility private
110
+ def keywords=(keywords)
111
+ if keywords.nil?
112
+ fail ArgumentError, 'invalid value for "keywords", keywords cannot be nil.'
113
+ end
114
+ @keywords = keywords
115
+ end
116
+
117
+ # Checks equality by comparing each attribute.
118
+ # @param o [Object] Object to be compared
119
+ # @!visibility private
120
+ def ==(o)
121
+ return true if self.equal?(o)
122
+ self.class == o.class &&
123
+ character_count == o.character_count &&
124
+ keywords == o.keywords
125
+ end
126
+
127
+ # Calculates hash code according to all attributes.
128
+ # @return [Integer] Hash code
129
+ # @!visibility private
130
+ def hash
131
+ [character_count, keywords].hash
132
+ end
133
+ end
134
+ end
@@ -27,6 +27,12 @@ module DatadogAPIClient::V2
27
27
  # Attributes excluded from the scan. If namespaces is provided, it has to be a sub-path of the namespaces array.
28
28
  attr_accessor :excluded_namespaces
29
29
 
30
+ # Object defining a set of keywords and a number of characters that help reduce noise.
31
+ # You can provide a list of keywords you would like to check within a defined proximity of the matching pattern.
32
+ # If any of the keywords are found within the proximity check, the match is kept.
33
+ # If none are found, the match is discarded.
34
+ attr_accessor :included_keyword_configuration
35
+
30
36
  # Whether or not the rule is enabled.
31
37
  attr_accessor :is_enabled
32
38
 
@@ -40,6 +46,9 @@ module DatadogAPIClient::V2
40
46
  # Not included if there is a relationship to a standard pattern.
41
47
  attr_accessor :pattern
42
48
 
49
+ # Integer from 1 (high) to 5 (low) indicating rule issue severity.
50
+ attr_reader :priority
51
+
43
52
  # List of tags.
44
53
  attr_accessor :tags
45
54
 
@@ -52,10 +61,12 @@ module DatadogAPIClient::V2
52
61
  {
53
62
  :'description' => :'description',
54
63
  :'excluded_namespaces' => :'excluded_namespaces',
64
+ :'included_keyword_configuration' => :'included_keyword_configuration',
55
65
  :'is_enabled' => :'is_enabled',
56
66
  :'name' => :'name',
57
67
  :'namespaces' => :'namespaces',
58
68
  :'pattern' => :'pattern',
69
+ :'priority' => :'priority',
59
70
  :'tags' => :'tags',
60
71
  :'text_replacement' => :'text_replacement'
61
72
  }
@@ -67,10 +78,12 @@ module DatadogAPIClient::V2
67
78
  {
68
79
  :'description' => :'String',
69
80
  :'excluded_namespaces' => :'Array<String>',
81
+ :'included_keyword_configuration' => :'SensitiveDataScannerIncludedKeywordConfiguration',
70
82
  :'is_enabled' => :'Boolean',
71
83
  :'name' => :'String',
72
84
  :'namespaces' => :'Array<String>',
73
85
  :'pattern' => :'String',
86
+ :'priority' => :'Integer',
74
87
  :'tags' => :'Array<String>',
75
88
  :'text_replacement' => :'SensitiveDataScannerTextReplacement'
76
89
  }
@@ -102,6 +115,10 @@ module DatadogAPIClient::V2
102
115
  end
103
116
  end
104
117
 
118
+ if attributes.key?(:'included_keyword_configuration')
119
+ self.included_keyword_configuration = attributes[:'included_keyword_configuration']
120
+ end
121
+
105
122
  if attributes.key?(:'is_enabled')
106
123
  self.is_enabled = attributes[:'is_enabled']
107
124
  end
@@ -120,6 +137,10 @@ module DatadogAPIClient::V2
120
137
  self.pattern = attributes[:'pattern']
121
138
  end
122
139
 
140
+ if attributes.key?(:'priority')
141
+ self.priority = attributes[:'priority']
142
+ end
143
+
123
144
  if attributes.key?(:'tags')
124
145
  if (value = attributes[:'tags']).is_a?(Array)
125
146
  self.tags = value
@@ -131,6 +152,28 @@ module DatadogAPIClient::V2
131
152
  end
132
153
  end
133
154
 
155
+ # Check to see if the all the properties in the model are valid
156
+ # @return true if the model is valid
157
+ # @!visibility private
158
+ def valid?
159
+ return false if !@priority.nil? && @priority > 5
160
+ return false if !@priority.nil? && @priority < 1
161
+ true
162
+ end
163
+
164
+ # Custom attribute writer method with validation
165
+ # @param priority [Object] Object to be assigned
166
+ # @!visibility private
167
+ def priority=(priority)
168
+ if !priority.nil? && priority > 5
169
+ fail ArgumentError, 'invalid value for "priority", must be smaller than or equal to 5.'
170
+ end
171
+ if !priority.nil? && priority < 1
172
+ fail ArgumentError, 'invalid value for "priority", must be greater than or equal to 1.'
173
+ end
174
+ @priority = priority
175
+ end
176
+
134
177
  # Checks equality by comparing each attribute.
135
178
  # @param o [Object] Object to be compared
136
179
  # @!visibility private
@@ -139,10 +182,12 @@ module DatadogAPIClient::V2
139
182
  self.class == o.class &&
140
183
  description == o.description &&
141
184
  excluded_namespaces == o.excluded_namespaces &&
185
+ included_keyword_configuration == o.included_keyword_configuration &&
142
186
  is_enabled == o.is_enabled &&
143
187
  name == o.name &&
144
188
  namespaces == o.namespaces &&
145
189
  pattern == o.pattern &&
190
+ priority == o.priority &&
146
191
  tags == o.tags &&
147
192
  text_replacement == o.text_replacement
148
193
  end
@@ -151,7 +196,7 @@ module DatadogAPIClient::V2
151
196
  # @return [Integer] Hash code
152
197
  # @!visibility private
153
198
  def hash
154
- [description, excluded_namespaces, is_enabled, name, namespaces, pattern, tags, text_replacement].hash
199
+ [description, excluded_namespaces, included_keyword_configuration, is_enabled, name, namespaces, pattern, priority, tags, text_replacement].hash
155
200
  end
156
201
  end
157
202
  end
@@ -24,12 +24,18 @@ module DatadogAPIClient::V2
24
24
  # Description of the standard pattern.
25
25
  attr_accessor :description
26
26
 
27
+ # List of included keywords.
28
+ attr_accessor :included_keywords
29
+
27
30
  # Name of the standard pattern.
28
31
  attr_accessor :name
29
32
 
30
33
  # Regex to match.
31
34
  attr_accessor :pattern
32
35
 
36
+ # Integer from 1 (high) to 5 (low) indicating standard pattern issue severity.
37
+ attr_reader :priority
38
+
33
39
  # List of tags.
34
40
  attr_accessor :tags
35
41
 
@@ -38,8 +44,10 @@ module DatadogAPIClient::V2
38
44
  def self.attribute_map
39
45
  {
40
46
  :'description' => :'description',
47
+ :'included_keywords' => :'included_keywords',
41
48
  :'name' => :'name',
42
49
  :'pattern' => :'pattern',
50
+ :'priority' => :'priority',
43
51
  :'tags' => :'tags'
44
52
  }
45
53
  end
@@ -49,8 +57,10 @@ module DatadogAPIClient::V2
49
57
  def self.openapi_types
50
58
  {
51
59
  :'description' => :'String',
60
+ :'included_keywords' => :'Array<String>',
52
61
  :'name' => :'String',
53
62
  :'pattern' => :'String',
63
+ :'priority' => :'Integer',
54
64
  :'tags' => :'Array<String>'
55
65
  }
56
66
  end
@@ -75,6 +85,12 @@ module DatadogAPIClient::V2
75
85
  self.description = attributes[:'description']
76
86
  end
77
87
 
88
+ if attributes.key?(:'included_keywords')
89
+ if (value = attributes[:'included_keywords']).is_a?(Array)
90
+ self.included_keywords = value
91
+ end
92
+ end
93
+
78
94
  if attributes.key?(:'name')
79
95
  self.name = attributes[:'name']
80
96
  end
@@ -83,6 +99,10 @@ module DatadogAPIClient::V2
83
99
  self.pattern = attributes[:'pattern']
84
100
  end
85
101
 
102
+ if attributes.key?(:'priority')
103
+ self.priority = attributes[:'priority']
104
+ end
105
+
86
106
  if attributes.key?(:'tags')
87
107
  if (value = attributes[:'tags']).is_a?(Array)
88
108
  self.tags = value
@@ -90,6 +110,28 @@ module DatadogAPIClient::V2
90
110
  end
91
111
  end
92
112
 
113
+ # Check to see if the all the properties in the model are valid
114
+ # @return true if the model is valid
115
+ # @!visibility private
116
+ def valid?
117
+ return false if !@priority.nil? && @priority > 5
118
+ return false if !@priority.nil? && @priority < 1
119
+ true
120
+ end
121
+
122
+ # Custom attribute writer method with validation
123
+ # @param priority [Object] Object to be assigned
124
+ # @!visibility private
125
+ def priority=(priority)
126
+ if !priority.nil? && priority > 5
127
+ fail ArgumentError, 'invalid value for "priority", must be smaller than or equal to 5.'
128
+ end
129
+ if !priority.nil? && priority < 1
130
+ fail ArgumentError, 'invalid value for "priority", must be greater than or equal to 1.'
131
+ end
132
+ @priority = priority
133
+ end
134
+
93
135
  # Checks equality by comparing each attribute.
94
136
  # @param o [Object] Object to be compared
95
137
  # @!visibility private
@@ -97,8 +139,10 @@ module DatadogAPIClient::V2
97
139
  return true if self.equal?(o)
98
140
  self.class == o.class &&
99
141
  description == o.description &&
142
+ included_keywords == o.included_keywords &&
100
143
  name == o.name &&
101
144
  pattern == o.pattern &&
145
+ priority == o.priority &&
102
146
  tags == o.tags
103
147
  end
104
148
 
@@ -106,7 +150,7 @@ module DatadogAPIClient::V2
106
150
  # @return [Integer] Hash code
107
151
  # @!visibility private
108
152
  def hash
109
- [description, name, pattern, tags].hash
153
+ [description, included_keywords, name, pattern, priority, tags].hash
110
154
  end
111
155
  end
112
156
  end