datadog_api_client 2.17.0 → 2.19.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 (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,100 @@
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
+ # Relationship to incident user defined fields.
21
+ class RelationshipToIncidentUserDefinedFields
22
+ include BaseGenericModel
23
+
24
+ # An array of user defined fields.
25
+ attr_reader :data
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ # @!visibility private
29
+ def self.attribute_map
30
+ {
31
+ :'data' => :'data'
32
+ }
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ # @!visibility private
37
+ def self.openapi_types
38
+ {
39
+ :'data' => :'Array<RelationshipToIncidentUserDefinedFieldData>'
40
+ }
41
+ end
42
+
43
+ # Initializes the object
44
+ # @param attributes [Hash] Model attributes in the form of hash
45
+ # @!visibility private
46
+ def initialize(attributes = {})
47
+ if (!attributes.is_a?(Hash))
48
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::RelationshipToIncidentUserDefinedFields` initialize method"
49
+ end
50
+
51
+ # check to see if the attribute exists and convert string to symbol for hash key
52
+ attributes = attributes.each_with_object({}) { |(k, v), h|
53
+ if (!self.class.attribute_map.key?(k.to_sym))
54
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::RelationshipToIncidentUserDefinedFields`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
55
+ end
56
+ h[k.to_sym] = v
57
+ }
58
+
59
+ if attributes.key?(:'data')
60
+ if (value = attributes[:'data']).is_a?(Array)
61
+ self.data = value
62
+ end
63
+ end
64
+ end
65
+
66
+ # Check to see if the all the properties in the model are valid
67
+ # @return true if the model is valid
68
+ # @!visibility private
69
+ def valid?
70
+ return false if @data.nil?
71
+ true
72
+ end
73
+
74
+ # Custom attribute writer method with validation
75
+ # @param data [Object] Object to be assigned
76
+ # @!visibility private
77
+ def data=(data)
78
+ if data.nil?
79
+ fail ArgumentError, 'invalid value for "data", data cannot be nil.'
80
+ end
81
+ @data = data
82
+ end
83
+
84
+ # Checks equality by comparing each attribute.
85
+ # @param o [Object] Object to be compared
86
+ # @!visibility private
87
+ def ==(o)
88
+ return true if self.equal?(o)
89
+ self.class == o.class &&
90
+ data == o.data
91
+ end
92
+
93
+ # Calculates hash code according to all attributes.
94
+ # @return [Integer] Hash code
95
+ # @!visibility private
96
+ def hash
97
+ [data].hash
98
+ end
99
+ end
100
+ end
@@ -0,0 +1,98 @@
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
+ # Relationship between team membership and team
21
+ class RelationshipToUserTeamTeam
22
+ include BaseGenericModel
23
+
24
+ # The team associated with the membership
25
+ attr_reader :data
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ # @!visibility private
29
+ def self.attribute_map
30
+ {
31
+ :'data' => :'data'
32
+ }
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ # @!visibility private
37
+ def self.openapi_types
38
+ {
39
+ :'data' => :'RelationshipToUserTeamTeamData'
40
+ }
41
+ end
42
+
43
+ # Initializes the object
44
+ # @param attributes [Hash] Model attributes in the form of hash
45
+ # @!visibility private
46
+ def initialize(attributes = {})
47
+ if (!attributes.is_a?(Hash))
48
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::RelationshipToUserTeamTeam` initialize method"
49
+ end
50
+
51
+ # check to see if the attribute exists and convert string to symbol for hash key
52
+ attributes = attributes.each_with_object({}) { |(k, v), h|
53
+ if (!self.class.attribute_map.key?(k.to_sym))
54
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DatadogAPIClient::V2::RelationshipToUserTeamTeam`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
55
+ end
56
+ h[k.to_sym] = v
57
+ }
58
+
59
+ if attributes.key?(:'data')
60
+ self.data = attributes[:'data']
61
+ end
62
+ end
63
+
64
+ # Check to see if the all the properties in the model are valid
65
+ # @return true if the model is valid
66
+ # @!visibility private
67
+ def valid?
68
+ return false if @data.nil?
69
+ true
70
+ end
71
+
72
+ # Custom attribute writer method with validation
73
+ # @param data [Object] Object to be assigned
74
+ # @!visibility private
75
+ def data=(data)
76
+ if data.nil?
77
+ fail ArgumentError, 'invalid value for "data", data cannot be nil.'
78
+ end
79
+ @data = data
80
+ end
81
+
82
+ # Checks equality by comparing each attribute.
83
+ # @param o [Object] Object to be compared
84
+ # @!visibility private
85
+ def ==(o)
86
+ return true if self.equal?(o)
87
+ self.class == o.class &&
88
+ data == o.data
89
+ end
90
+
91
+ # Calculates hash code according to all attributes.
92
+ # @return [Integer] Hash code
93
+ # @!visibility private
94
+ def hash
95
+ [data].hash
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,119 @@
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
+ # The team associated with the membership
21
+ class RelationshipToUserTeamTeamData
22
+ include BaseGenericModel
23
+
24
+ # The ID of the team associated with the membership
25
+ attr_reader :id
26
+
27
+ # User team team type
28
+ attr_reader :type
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ # @!visibility private
32
+ def self.attribute_map
33
+ {
34
+ :'id' => :'id',
35
+ :'type' => :'type'
36
+ }
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ # @!visibility private
41
+ def self.openapi_types
42
+ {
43
+ :'id' => :'String',
44
+ :'type' => :'UserTeamTeamType'
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::RelationshipToUserTeamTeamData` 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::RelationshipToUserTeamTeamData`. 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?(:'id')
65
+ self.id = attributes[:'id']
66
+ end
67
+
68
+ if attributes.key?(:'type')
69
+ self.type = attributes[:'type']
70
+ end
71
+ end
72
+
73
+ # Check to see if the all the properties in the model are valid
74
+ # @return true if the model is valid
75
+ # @!visibility private
76
+ def valid?
77
+ return false if @id.nil?
78
+ return false if @type.nil?
79
+ true
80
+ end
81
+
82
+ # Custom attribute writer method with validation
83
+ # @param id [Object] Object to be assigned
84
+ # @!visibility private
85
+ def id=(id)
86
+ if id.nil?
87
+ fail ArgumentError, 'invalid value for "id", id cannot be nil.'
88
+ end
89
+ @id = id
90
+ end
91
+
92
+ # Custom attribute writer method with validation
93
+ # @param type [Object] Object to be assigned
94
+ # @!visibility private
95
+ def type=(type)
96
+ if type.nil?
97
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
98
+ end
99
+ @type = type
100
+ end
101
+
102
+ # Checks equality by comparing each attribute.
103
+ # @param o [Object] Object to be compared
104
+ # @!visibility private
105
+ def ==(o)
106
+ return true if self.equal?(o)
107
+ self.class == o.class &&
108
+ id == o.id &&
109
+ type == o.type
110
+ end
111
+
112
+ # Calculates hash code according to all attributes.
113
+ # @return [Integer] Hash code
114
+ # @!visibility private
115
+ def hash
116
+ [id, type].hash
117
+ end
118
+ end
119
+ end
@@ -55,6 +55,9 @@ module DatadogAPIClient::V2
55
55
  # Options on new value rules.
56
56
  attr_accessor :new_value_options
57
57
 
58
+ # Options on third party rules.
59
+ attr_accessor :third_party_rule_options
60
+
58
61
  # Attribute mapping from ruby-style variable name to JSON key.
59
62
  # @!visibility private
60
63
  def self.attribute_map
@@ -67,7 +70,8 @@ module DatadogAPIClient::V2
67
70
  :'impossible_travel_options' => :'impossibleTravelOptions',
68
71
  :'keep_alive' => :'keepAlive',
69
72
  :'max_signal_duration' => :'maxSignalDuration',
70
- :'new_value_options' => :'newValueOptions'
73
+ :'new_value_options' => :'newValueOptions',
74
+ :'third_party_rule_options' => :'thirdPartyRuleOptions'
71
75
  }
72
76
  end
73
77
 
@@ -83,7 +87,8 @@ module DatadogAPIClient::V2
83
87
  :'impossible_travel_options' => :'SecurityMonitoringRuleImpossibleTravelOptions',
84
88
  :'keep_alive' => :'SecurityMonitoringRuleKeepAlive',
85
89
  :'max_signal_duration' => :'SecurityMonitoringRuleMaxSignalDuration',
86
- :'new_value_options' => :'SecurityMonitoringRuleNewValueOptions'
90
+ :'new_value_options' => :'SecurityMonitoringRuleNewValueOptions',
91
+ :'third_party_rule_options' => :'SecurityMonitoringRuleThirdPartyOptions'
87
92
  }
88
93
  end
89
94
 
@@ -138,6 +143,10 @@ module DatadogAPIClient::V2
138
143
  if attributes.key?(:'new_value_options')
139
144
  self.new_value_options = attributes[:'new_value_options']
140
145
  end
146
+
147
+ if attributes.key?(:'third_party_rule_options')
148
+ self.third_party_rule_options = attributes[:'third_party_rule_options']
149
+ end
141
150
  end
142
151
 
143
152
  # Checks equality by comparing each attribute.
@@ -154,14 +163,15 @@ module DatadogAPIClient::V2
154
163
  impossible_travel_options == o.impossible_travel_options &&
155
164
  keep_alive == o.keep_alive &&
156
165
  max_signal_duration == o.max_signal_duration &&
157
- new_value_options == o.new_value_options
166
+ new_value_options == o.new_value_options &&
167
+ third_party_rule_options == o.third_party_rule_options
158
168
  end
159
169
 
160
170
  # Calculates hash code according to all attributes.
161
171
  # @return [Integer] Hash code
162
172
  # @!visibility private
163
173
  def hash
164
- [compliance_rule_options, decrease_criticality_based_on_env, detection_method, evaluation_window, hardcoded_evaluator_type, impossible_travel_options, keep_alive, max_signal_duration, new_value_options].hash
174
+ [compliance_rule_options, decrease_criticality_based_on_env, detection_method, evaluation_window, hardcoded_evaluator_type, impossible_travel_options, keep_alive, max_signal_duration, new_value_options, third_party_rule_options].hash
165
175
  end
166
176
  end
167
177
  end
@@ -0,0 +1,114 @@
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
+ # Options on third party rules.
21
+ class SecurityMonitoringRuleThirdPartyOptions
22
+ include BaseGenericModel
23
+
24
+ # Notification targets for the logs that do not correspond to any of the cases.
25
+ attr_accessor :default_notifications
26
+
27
+ # Severity of the Security Signal.
28
+ attr_accessor :default_status
29
+
30
+ # Queries to be combined with third party case queries. Each of them can have different group by fields, to aggregate differently based on the type of alert.
31
+ attr_accessor :root_queries
32
+
33
+ # A template for the signal title; if omitted, the title is generated based on the case name.
34
+ attr_accessor :signal_title_template
35
+
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ # @!visibility private
38
+ def self.attribute_map
39
+ {
40
+ :'default_notifications' => :'defaultNotifications',
41
+ :'default_status' => :'defaultStatus',
42
+ :'root_queries' => :'rootQueries',
43
+ :'signal_title_template' => :'signalTitleTemplate'
44
+ }
45
+ end
46
+
47
+ # Attribute type mapping.
48
+ # @!visibility private
49
+ def self.openapi_types
50
+ {
51
+ :'default_notifications' => :'Array<String>',
52
+ :'default_status' => :'SecurityMonitoringRuleSeverity',
53
+ :'root_queries' => :'Array<SecurityMonitoringThirdPartyRootQuery>',
54
+ :'signal_title_template' => :'String'
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::SecurityMonitoringRuleThirdPartyOptions` 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::SecurityMonitoringRuleThirdPartyOptions`. 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?(:'default_notifications')
75
+ if (value = attributes[:'default_notifications']).is_a?(Array)
76
+ self.default_notifications = value
77
+ end
78
+ end
79
+
80
+ if attributes.key?(:'default_status')
81
+ self.default_status = attributes[:'default_status']
82
+ end
83
+
84
+ if attributes.key?(:'root_queries')
85
+ if (value = attributes[:'root_queries']).is_a?(Array)
86
+ self.root_queries = value
87
+ end
88
+ end
89
+
90
+ if attributes.key?(:'signal_title_template')
91
+ self.signal_title_template = attributes[:'signal_title_template']
92
+ end
93
+ end
94
+
95
+ # Checks equality by comparing each attribute.
96
+ # @param o [Object] Object to be compared
97
+ # @!visibility private
98
+ def ==(o)
99
+ return true if self.equal?(o)
100
+ self.class == o.class &&
101
+ default_notifications == o.default_notifications &&
102
+ default_status == o.default_status &&
103
+ root_queries == o.root_queries &&
104
+ signal_title_template == o.signal_title_template
105
+ end
106
+
107
+ # Calculates hash code according to all attributes.
108
+ # @return [Integer] Hash code
109
+ # @!visibility private
110
+ def hash
111
+ [default_notifications, default_status, root_queries, signal_title_template].hash
112
+ end
113
+ end
114
+ end
@@ -21,6 +21,7 @@ module DatadogAPIClient::V2
21
21
  class SecurityMonitoringRuleTypeCreate
22
22
  include BaseEnumModel
23
23
 
24
+ APPLICATION_SECURITY = "application_security".freeze
24
25
  LOG_DETECTION = "log_detection".freeze
25
26
  WORKLOAD_SECURITY = "workload_security".freeze
26
27
  end
@@ -51,6 +51,9 @@ module DatadogAPIClient::V2
51
51
  # Tags for generated signals.
52
52
  attr_accessor :tags
53
53
 
54
+ # Cases for generating signals from third party rules. Only available for third party rules.
55
+ attr_accessor :third_party_cases
56
+
54
57
  # The version of the rule being updated.
55
58
  attr_reader :version
56
59
 
@@ -68,6 +71,7 @@ module DatadogAPIClient::V2
68
71
  :'options' => :'options',
69
72
  :'queries' => :'queries',
70
73
  :'tags' => :'tags',
74
+ :'third_party_cases' => :'thirdPartyCases',
71
75
  :'version' => :'version'
72
76
  }
73
77
  end
@@ -86,6 +90,7 @@ module DatadogAPIClient::V2
86
90
  :'options' => :'SecurityMonitoringRuleOptions',
87
91
  :'queries' => :'Array<SecurityMonitoringRuleQuery>',
88
92
  :'tags' => :'Array<String>',
93
+ :'third_party_cases' => :'Array<SecurityMonitoringThirdPartyRuleCase>',
89
94
  :'version' => :'Integer'
90
95
  }
91
96
  end
@@ -154,6 +159,12 @@ module DatadogAPIClient::V2
154
159
  end
155
160
  end
156
161
 
162
+ if attributes.key?(:'third_party_cases')
163
+ if (value = attributes[:'third_party_cases']).is_a?(Array)
164
+ self.third_party_cases = value
165
+ end
166
+ end
167
+
157
168
  if attributes.key?(:'version')
158
169
  self.version = attributes[:'version']
159
170
  end
@@ -193,6 +204,7 @@ module DatadogAPIClient::V2
193
204
  options == o.options &&
194
205
  queries == o.queries &&
195
206
  tags == o.tags &&
207
+ third_party_cases == o.third_party_cases &&
196
208
  version == o.version
197
209
  end
198
210
 
@@ -200,7 +212,7 @@ module DatadogAPIClient::V2
200
212
  # @return [Integer] Hash code
201
213
  # @!visibility private
202
214
  def hash
203
- [cases, compliance_signal_options, filters, has_extended_title, is_enabled, message, name, options, queries, tags, version].hash
215
+ [cases, compliance_signal_options, filters, has_extended_title, is_enabled, message, name, options, queries, tags, third_party_cases, version].hash
204
216
  end
205
217
  end
206
218
  end
@@ -48,6 +48,9 @@ module DatadogAPIClient::V2
48
48
  # Tags for generated signals.
49
49
  attr_accessor :tags
50
50
 
51
+ # Cases for generating signals from third party rules. Only available for third party rules.
52
+ attr_accessor :third_party_cases
53
+
51
54
  # The rule type.
52
55
  attr_accessor :type
53
56
 
@@ -64,6 +67,7 @@ module DatadogAPIClient::V2
64
67
  :'options' => :'options',
65
68
  :'queries' => :'queries',
66
69
  :'tags' => :'tags',
70
+ :'third_party_cases' => :'thirdPartyCases',
67
71
  :'type' => :'type'
68
72
  }
69
73
  end
@@ -81,6 +85,7 @@ module DatadogAPIClient::V2
81
85
  :'options' => :'SecurityMonitoringRuleOptions',
82
86
  :'queries' => :'Array<SecurityMonitoringStandardRuleQuery>',
83
87
  :'tags' => :'Array<String>',
88
+ :'third_party_cases' => :'Array<SecurityMonitoringThirdPartyRuleCaseCreate>',
84
89
  :'type' => :'SecurityMonitoringRuleTypeCreate'
85
90
  }
86
91
  end
@@ -145,6 +150,12 @@ module DatadogAPIClient::V2
145
150
  end
146
151
  end
147
152
 
153
+ if attributes.key?(:'third_party_cases')
154
+ if (value = attributes[:'third_party_cases']).is_a?(Array)
155
+ self.third_party_cases = value
156
+ end
157
+ end
158
+
148
159
  if attributes.key?(:'type')
149
160
  self.type = attributes[:'type']
150
161
  end
@@ -238,6 +249,7 @@ module DatadogAPIClient::V2
238
249
  options == o.options &&
239
250
  queries == o.queries &&
240
251
  tags == o.tags &&
252
+ third_party_cases == o.third_party_cases &&
241
253
  type == o.type
242
254
  end
243
255
 
@@ -245,7 +257,7 @@ module DatadogAPIClient::V2
245
257
  # @return [Integer] Hash code
246
258
  # @!visibility private
247
259
  def hash
248
- [cases, filters, has_extended_title, is_enabled, message, name, options, queries, tags, type].hash
260
+ [cases, filters, has_extended_title, is_enabled, message, name, options, queries, tags, third_party_cases, type].hash
249
261
  end
250
262
  end
251
263
  end
@@ -69,6 +69,9 @@ module DatadogAPIClient::V2
69
69
  # Tags for generated signals.
70
70
  attr_accessor :tags
71
71
 
72
+ # Cases for generating signals from third party rules. Only available for third party rules.
73
+ attr_accessor :third_party_cases
74
+
72
75
  # The rule type.
73
76
  attr_accessor :type
74
77
 
@@ -98,6 +101,7 @@ module DatadogAPIClient::V2
98
101
  :'options' => :'options',
99
102
  :'queries' => :'queries',
100
103
  :'tags' => :'tags',
104
+ :'third_party_cases' => :'thirdPartyCases',
101
105
  :'type' => :'type',
102
106
  :'update_author_id' => :'updateAuthorId',
103
107
  :'version' => :'version'
@@ -124,6 +128,7 @@ module DatadogAPIClient::V2
124
128
  :'options' => :'SecurityMonitoringRuleOptions',
125
129
  :'queries' => :'Array<SecurityMonitoringStandardRuleQuery>',
126
130
  :'tags' => :'Array<String>',
131
+ :'third_party_cases' => :'Array<SecurityMonitoringThirdPartyRuleCase>',
127
132
  :'type' => :'SecurityMonitoringRuleTypeRead',
128
133
  :'update_author_id' => :'Integer',
129
134
  :'version' => :'Integer'
@@ -218,6 +223,12 @@ module DatadogAPIClient::V2
218
223
  end
219
224
  end
220
225
 
226
+ if attributes.key?(:'third_party_cases')
227
+ if (value = attributes[:'third_party_cases']).is_a?(Array)
228
+ self.third_party_cases = value
229
+ end
230
+ end
231
+
221
232
  if attributes.key?(:'type')
222
233
  self.type = attributes[:'type']
223
234
  end
@@ -253,6 +264,7 @@ module DatadogAPIClient::V2
253
264
  options == o.options &&
254
265
  queries == o.queries &&
255
266
  tags == o.tags &&
267
+ third_party_cases == o.third_party_cases &&
256
268
  type == o.type &&
257
269
  update_author_id == o.update_author_id &&
258
270
  version == o.version
@@ -262,7 +274,7 @@ module DatadogAPIClient::V2
262
274
  # @return [Integer] Hash code
263
275
  # @!visibility private
264
276
  def hash
265
- [cases, compliance_signal_options, created_at, creation_author_id, deprecation_date, filters, has_extended_title, id, is_default, is_deleted, is_enabled, message, name, options, queries, tags, type, update_author_id, version].hash
277
+ [cases, compliance_signal_options, created_at, creation_author_id, deprecation_date, filters, has_extended_title, id, is_default, is_deleted, is_enabled, message, name, options, queries, tags, third_party_cases, type, update_author_id, version].hash
266
278
  end
267
279
  end
268
280
  end