datadog_api_client 2.42.0 → 2.43.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 (195) hide show
  1. checksums.yaml +4 -4
  2. data/.generator/schemas/v1/openapi.yaml +3 -7
  3. data/.generator/schemas/v2/openapi.yaml +2981 -63
  4. data/.github/CODEOWNERS +4 -4
  5. data/.github/workflows/reusable-ci.yml +71 -0
  6. data/.github/workflows/reusable-examples.yml +40 -0
  7. data/.github/workflows/{test_integration.yml → reusable-integration-test.yml} +66 -17
  8. data/.github/workflows/reusable-pre-commit.yml +84 -0
  9. data/.github/workflows/reusable-ruby-test.yml +65 -0
  10. data/.github/workflows/test.yml +31 -89
  11. data/CHANGELOG.md +19 -0
  12. data/examples/v1/dashboards/CreateDashboard_607525069.rb +61 -0
  13. data/examples/v2/aws-integration/GetAWSIntegrationIAMPermissionsResourceCollection.rb +5 -0
  14. data/examples/v2/aws-integration/GetAWSIntegrationIAMPermissionsResourceCollection_1008672547.rb +5 -0
  15. data/examples/v2/aws-integration/GetAWSIntegrationIAMPermissionsStandard.rb +5 -0
  16. data/examples/v2/aws-integration/GetAWSIntegrationIAMPermissionsStandard_3136299151.rb +5 -0
  17. data/examples/v2/cloud-cost-management/CreateArbitraryCostRule.rb +63 -0
  18. data/examples/v2/cloud-cost-management/CreateCostAzureUCConfigs.rb +0 -1
  19. data/examples/v2/cloud-cost-management/CreateCostGCPUsageCostConfig.rb +1 -1
  20. data/examples/v2/cloud-cost-management/CreateRuleset.rb +32 -0
  21. data/examples/v2/cloud-cost-management/DeleteArbitraryCostRule.rb +5 -0
  22. data/examples/v2/cloud-cost-management/DeleteCostGCPUsageCostConfig.rb +1 -1
  23. data/examples/v2/cloud-cost-management/DeleteRuleset.rb +5 -0
  24. data/examples/v2/cloud-cost-management/GetArbitraryCostRule.rb +5 -0
  25. data/examples/v2/cloud-cost-management/GetCostAWSCURConfig.rb +5 -0
  26. data/examples/v2/cloud-cost-management/GetCostAzureUCConfig.rb +5 -0
  27. data/examples/v2/cloud-cost-management/GetCostGCPUsageCostConfig.rb +5 -0
  28. data/examples/v2/cloud-cost-management/GetRuleset.rb +5 -0
  29. data/examples/v2/cloud-cost-management/ListArbitraryCostRules.rb +5 -0
  30. data/examples/v2/cloud-cost-management/ListCostGCPUsageCostConfigs.rb +1 -1
  31. data/examples/v2/cloud-cost-management/ListRulesets.rb +5 -0
  32. data/examples/v2/cloud-cost-management/ReorderArbitraryCostRules.rb +22 -0
  33. data/examples/v2/cloud-cost-management/ReorderRulesets.rb +13 -0
  34. data/examples/v2/cloud-cost-management/UpdateArbitraryCostRule.rb +63 -0
  35. data/examples/v2/cloud-cost-management/UpdateCostGCPUsageCostConfig.rb +1 -1
  36. data/examples/v2/cloud-cost-management/UpdateRuleset.rb +31 -0
  37. data/examples/v2/cloud-cost-management/ValidateQuery.rb +14 -0
  38. data/examples/v2/dora-metrics/DeleteDORADeployment.rb +5 -0
  39. data/examples/v2/dora-metrics/DeleteDORAFailure.rb +5 -0
  40. data/examples/v2/incidents/CreateIncidentImpact.rb +22 -0
  41. data/examples/v2/incidents/DeleteIncidentImpact.rb +12 -0
  42. data/examples/v2/incidents/ListIncidentImpacts.rb +11 -0
  43. data/examples/v2/key-management/GetCurrentUserApplicationKey.rb +4 -1
  44. data/examples/v2/security-monitoring/CreateSecurityMonitoringRule_2899714190.rb +68 -0
  45. data/examples/v2/security-monitoring/ValidateSecurityMonitoringRule_4152369508.rb +70 -0
  46. data/lib/datadog_api_client/configuration.rb +3 -0
  47. data/lib/datadog_api_client/inflector.rb +104 -1
  48. data/lib/datadog_api_client/v1/api/synthetics_api.rb +1 -3
  49. data/lib/datadog_api_client/v1/models/formula_and_function_events_data_source.rb +1 -0
  50. data/lib/datadog_api_client/v2/api/aws_integration_api.rb +120 -0
  51. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +1211 -126
  52. data/lib/datadog_api_client/v2/api/dora_metrics_api.rb +130 -0
  53. data/lib/datadog_api_client/v2/api/incidents_api.rb +229 -0
  54. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +2 -0
  55. data/lib/datadog_api_client/v2/models/account_filtering_config.rb +8 -0
  56. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request.rb +105 -0
  57. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request_data.rb +143 -0
  58. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request_data_attributes.rb +241 -0
  59. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request_data_attributes_costs_to_allocate_items.rb +174 -0
  60. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request_data_attributes_strategy.rb +215 -0
  61. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request_data_attributes_strategy_allocated_by_filters_items.rb +174 -0
  62. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request_data_attributes_strategy_allocated_by_items.rb +146 -0
  63. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request_data_attributes_strategy_allocated_by_items_allocated_tags_items.rb +144 -0
  64. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request_data_attributes_strategy_based_on_costs_items.rb +174 -0
  65. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request_data_attributes_strategy_evaluate_grouped_by_filters_items.rb +174 -0
  66. data/lib/datadog_api_client/v2/models/arbitrary_cost_upsert_request_data_type.rb +26 -0
  67. data/lib/datadog_api_client/v2/models/arbitrary_rule_response.rb +105 -0
  68. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_array.rb +125 -0
  69. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data.rb +143 -0
  70. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data_attributes.rb +351 -0
  71. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data_attributes_costs_to_allocate_items.rb +174 -0
  72. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data_attributes_strategy.rb +215 -0
  73. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data_attributes_strategy_allocated_by_filters_items.rb +174 -0
  74. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data_attributes_strategy_allocated_by_items.rb +146 -0
  75. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data_attributes_strategy_allocated_by_items_allocated_tags_items.rb +144 -0
  76. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data_attributes_strategy_based_on_costs_items.rb +174 -0
  77. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data_attributes_strategy_evaluate_grouped_by_filters_items.rb +174 -0
  78. data/lib/datadog_api_client/v2/models/arbitrary_rule_response_data_type.rb +26 -0
  79. data/lib/datadog_api_client/v2/models/aws_cur_config_attributes.rb +8 -0
  80. data/lib/datadog_api_client/v2/models/aws_cur_config_post_data.rb +1 -12
  81. data/lib/datadog_api_client/v2/models/aws_cur_config_response.rb +5 -5
  82. data/lib/datadog_api_client/v2/models/aws_cur_config_response_data.rb +143 -0
  83. data/lib/datadog_api_client/v2/models/aws_cur_config_response_data_attributes.rb +225 -0
  84. data/lib/datadog_api_client/v2/models/aws_cur_config_response_data_attributes_account_filters.rb +137 -0
  85. data/lib/datadog_api_client/v2/models/aws_cur_config_response_data_type.rb +26 -0
  86. data/lib/datadog_api_client/v2/models/aws_cur_configs_response.rb +19 -1
  87. data/lib/datadog_api_client/v2/models/azure_uc_config.rb +9 -1
  88. data/lib/datadog_api_client/v2/models/azure_uc_config_patch_data.rb +1 -12
  89. data/lib/datadog_api_client/v2/models/azure_uc_config_post_data.rb +1 -12
  90. data/lib/datadog_api_client/v2/models/azure_uc_config_post_request_attributes.rb +3 -13
  91. data/lib/datadog_api_client/v2/models/azure_uc_configs_response.rb +19 -1
  92. data/lib/datadog_api_client/v2/models/create_ruleset_request.rb +105 -0
  93. data/lib/datadog_api_client/v2/models/create_ruleset_request_data.rb +143 -0
  94. data/lib/datadog_api_client/v2/models/create_ruleset_request_data_attributes.rb +135 -0
  95. data/lib/datadog_api_client/v2/models/create_ruleset_request_data_attributes_rules_items.rb +195 -0
  96. data/lib/datadog_api_client/v2/models/create_ruleset_request_data_attributes_rules_items_mapping.rb +167 -0
  97. data/lib/datadog_api_client/v2/models/create_ruleset_request_data_attributes_rules_items_query.rb +172 -0
  98. data/lib/datadog_api_client/v2/models/create_ruleset_request_data_attributes_rules_items_query_addition.rb +144 -0
  99. data/lib/datadog_api_client/v2/models/create_ruleset_request_data_attributes_rules_items_reference_table.rb +189 -0
  100. data/lib/datadog_api_client/v2/models/create_ruleset_request_data_attributes_rules_items_reference_table_field_pairs_items.rb +144 -0
  101. data/lib/datadog_api_client/v2/models/create_ruleset_request_data_type.rb +26 -0
  102. data/lib/datadog_api_client/v2/models/datastore_trigger.rb +105 -0
  103. data/lib/datadog_api_client/v2/models/datastore_trigger_wrapper.rb +135 -0
  104. data/lib/datadog_api_client/v2/models/full_api_key_attributes.rb +19 -1
  105. data/lib/datadog_api_client/v2/models/full_application_key_attributes.rb +12 -1
  106. data/lib/datadog_api_client/v2/models/gcp_uc_config_response.rb +105 -0
  107. data/lib/datadog_api_client/v2/models/gcp_uc_config_response_data.rb +143 -0
  108. data/lib/datadog_api_client/v2/models/gcp_uc_config_response_data_attributes.rb +235 -0
  109. data/lib/datadog_api_client/v2/models/gcp_uc_config_response_data_type.rb +26 -0
  110. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config.rb +4 -4
  111. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_attributes.rb +13 -13
  112. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_patch_data.rb +3 -3
  113. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_patch_request.rb +2 -2
  114. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_patch_request_attributes.rb +1 -1
  115. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_patch_request_type.rb +1 -1
  116. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_post_data.rb +4 -15
  117. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_post_request.rb +2 -2
  118. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_post_request_attributes.rb +7 -7
  119. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_post_request_type.rb +1 -1
  120. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_response.rb +2 -2
  121. data/lib/datadog_api_client/v2/models/gcp_usage_cost_config_type.rb +1 -1
  122. data/lib/datadog_api_client/v2/models/gcp_usage_cost_configs_response.rb +21 -3
  123. data/lib/datadog_api_client/v2/models/historical_job_options.rb +11 -1
  124. data/lib/datadog_api_client/v2/models/incident_impact_attributes.rb +203 -0
  125. data/lib/datadog_api_client/v2/models/incident_impact_create_attributes.rb +173 -0
  126. data/lib/datadog_api_client/v2/models/incident_impact_create_data.rb +144 -0
  127. data/lib/datadog_api_client/v2/models/incident_impact_create_request.rb +123 -0
  128. data/lib/datadog_api_client/v2/models/incident_impact_related_object.rb +28 -0
  129. data/lib/datadog_api_client/v2/models/incident_impact_relationships.rb +125 -0
  130. data/lib/datadog_api_client/v2/models/incident_impact_response.rb +135 -0
  131. data/lib/datadog_api_client/v2/models/incident_impact_response_data.rb +164 -0
  132. data/lib/datadog_api_client/v2/models/incident_impact_type.rb +26 -0
  133. data/lib/datadog_api_client/v2/models/incident_impacts_response.rb +137 -0
  134. data/lib/datadog_api_client/v2/models/incident_response_attributes.rb +33 -1
  135. data/lib/datadog_api_client/v2/models/incident_response_relationships.rb +11 -1
  136. data/lib/datadog_api_client/v2/models/observability_pipeline_config_destination_item.rb +2 -1
  137. data/lib/datadog_api_client/v2/models/observability_pipeline_google_pub_sub_destination.rb +251 -0
  138. data/lib/datadog_api_client/v2/models/observability_pipeline_google_pub_sub_destination_encoding.rb +27 -0
  139. data/lib/datadog_api_client/v2/models/observability_pipeline_google_pub_sub_destination_type.rb +26 -0
  140. data/lib/datadog_api_client/v2/models/partial_api_key_attributes.rb +19 -1
  141. data/lib/datadog_api_client/v2/models/partial_application_key_attributes.rb +12 -1
  142. data/lib/datadog_api_client/v2/models/relationship_to_incident.rb +123 -0
  143. data/lib/datadog_api_client/v2/models/relationship_to_incident_data.rb +144 -0
  144. data/lib/datadog_api_client/v2/models/reorder_rule_resource_array.rb +125 -0
  145. data/lib/datadog_api_client/v2/models/reorder_rule_resource_data.rb +133 -0
  146. data/lib/datadog_api_client/v2/models/reorder_rule_resource_data_type.rb +26 -0
  147. data/lib/datadog_api_client/v2/models/reorder_ruleset_resource_array.rb +125 -0
  148. data/lib/datadog_api_client/v2/models/reorder_ruleset_resource_data.rb +133 -0
  149. data/lib/datadog_api_client/v2/models/reorder_ruleset_resource_data_type.rb +26 -0
  150. data/lib/datadog_api_client/v2/models/rules_validate_query_request.rb +105 -0
  151. data/lib/datadog_api_client/v2/models/rules_validate_query_request_data.rb +143 -0
  152. data/lib/datadog_api_client/v2/models/rules_validate_query_request_data_attributes.rb +123 -0
  153. data/lib/datadog_api_client/v2/models/rules_validate_query_request_data_type.rb +26 -0
  154. data/lib/datadog_api_client/v2/models/rules_validate_query_response.rb +105 -0
  155. data/lib/datadog_api_client/v2/models/rules_validate_query_response_data.rb +143 -0
  156. data/lib/datadog_api_client/v2/models/rules_validate_query_response_data_attributes.rb +123 -0
  157. data/lib/datadog_api_client/v2/models/rules_validate_query_response_data_type.rb +26 -0
  158. data/lib/datadog_api_client/v2/models/ruleset_resp.rb +105 -0
  159. data/lib/datadog_api_client/v2/models/ruleset_resp_array.rb +125 -0
  160. data/lib/datadog_api_client/v2/models/ruleset_resp_data.rb +143 -0
  161. data/lib/datadog_api_client/v2/models/ruleset_resp_data_attributes.rb +276 -0
  162. data/lib/datadog_api_client/v2/models/ruleset_resp_data_attributes_created.rb +133 -0
  163. data/lib/datadog_api_client/v2/models/ruleset_resp_data_attributes_modified.rb +133 -0
  164. data/lib/datadog_api_client/v2/models/ruleset_resp_data_attributes_rules_items.rb +195 -0
  165. data/lib/datadog_api_client/v2/models/ruleset_resp_data_attributes_rules_items_mapping.rb +167 -0
  166. data/lib/datadog_api_client/v2/models/ruleset_resp_data_attributes_rules_items_query.rb +172 -0
  167. data/lib/datadog_api_client/v2/models/ruleset_resp_data_attributes_rules_items_query_addition.rb +144 -0
  168. data/lib/datadog_api_client/v2/models/ruleset_resp_data_attributes_rules_items_reference_table.rb +189 -0
  169. data/lib/datadog_api_client/v2/models/ruleset_resp_data_attributes_rules_items_reference_table_field_pairs_items.rb +144 -0
  170. data/lib/datadog_api_client/v2/models/ruleset_resp_data_type.rb +26 -0
  171. data/lib/datadog_api_client/v2/models/rum_application_attributes.rb +22 -1
  172. data/lib/datadog_api_client/v2/models/security_monitoring_rule_detection_method.rb +1 -0
  173. data/lib/datadog_api_client/v2/models/security_monitoring_rule_options.rb +11 -1
  174. data/lib/datadog_api_client/v2/models/security_monitoring_rule_sequence_detection_options.rb +119 -0
  175. data/lib/datadog_api_client/v2/models/security_monitoring_rule_sequence_detection_step.rb +126 -0
  176. data/lib/datadog_api_client/v2/models/security_monitoring_rule_sequence_detection_step_transition.rb +126 -0
  177. data/lib/datadog_api_client/v2/models/trigger.rb +1 -0
  178. data/lib/datadog_api_client/v2/models/uc_config_pair.rb +105 -0
  179. data/lib/datadog_api_client/v2/models/uc_config_pair_data.rb +143 -0
  180. data/lib/datadog_api_client/v2/models/uc_config_pair_data_attributes.rb +107 -0
  181. data/lib/datadog_api_client/v2/models/uc_config_pair_data_attributes_configs_items.rb +255 -0
  182. data/lib/datadog_api_client/v2/models/uc_config_pair_data_type.rb +26 -0
  183. data/lib/datadog_api_client/v2/models/update_ruleset_request.rb +105 -0
  184. data/lib/datadog_api_client/v2/models/update_ruleset_request_data.rb +143 -0
  185. data/lib/datadog_api_client/v2/models/update_ruleset_request_data_attributes.rb +156 -0
  186. data/lib/datadog_api_client/v2/models/update_ruleset_request_data_attributes_rules_items.rb +195 -0
  187. data/lib/datadog_api_client/v2/models/update_ruleset_request_data_attributes_rules_items_mapping.rb +167 -0
  188. data/lib/datadog_api_client/v2/models/update_ruleset_request_data_attributes_rules_items_query.rb +172 -0
  189. data/lib/datadog_api_client/v2/models/update_ruleset_request_data_attributes_rules_items_query_addition.rb +144 -0
  190. data/lib/datadog_api_client/v2/models/update_ruleset_request_data_attributes_rules_items_reference_table.rb +189 -0
  191. data/lib/datadog_api_client/v2/models/update_ruleset_request_data_attributes_rules_items_reference_table_field_pairs_items.rb +144 -0
  192. data/lib/datadog_api_client/v2/models/update_ruleset_request_data_type.rb +26 -0
  193. data/lib/datadog_api_client/version.rb +1 -1
  194. metadata +137 -3
  195. data/examples/v1/synthetics/SearchTests_195957771.rb +0 -14
@@ -0,0 +1,189 @@
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 definition of `RulesetRespDataAttributesRulesItemsReferenceTable` object.
21
+ class RulesetRespDataAttributesRulesItemsReferenceTable
22
+ include BaseGenericModel
23
+
24
+ # The `reference_table` `case_insensitivity`.
25
+ attr_accessor :case_insensitivity
26
+
27
+ # The `reference_table` `field_pairs`.
28
+ attr_reader :field_pairs
29
+
30
+ # The `reference_table` `if_not_exists`.
31
+ attr_accessor :if_not_exists
32
+
33
+ # The `reference_table` `source_keys`.
34
+ attr_reader :source_keys
35
+
36
+ # The `reference_table` `table_name`.
37
+ attr_reader :table_name
38
+
39
+ attr_accessor :additional_properties
40
+
41
+ # Attribute mapping from ruby-style variable name to JSON key.
42
+ # @!visibility private
43
+ def self.attribute_map
44
+ {
45
+ :'case_insensitivity' => :'case_insensitivity',
46
+ :'field_pairs' => :'field_pairs',
47
+ :'if_not_exists' => :'if_not_exists',
48
+ :'source_keys' => :'source_keys',
49
+ :'table_name' => :'table_name'
50
+ }
51
+ end
52
+
53
+ # Attribute type mapping.
54
+ # @!visibility private
55
+ def self.openapi_types
56
+ {
57
+ :'case_insensitivity' => :'Boolean',
58
+ :'field_pairs' => :'Array<RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems>',
59
+ :'if_not_exists' => :'Boolean',
60
+ :'source_keys' => :'Array<String>',
61
+ :'table_name' => :'String'
62
+ }
63
+ end
64
+
65
+ # Initializes the object
66
+ # @param attributes [Hash] Model attributes in the form of hash
67
+ # @!visibility private
68
+ def initialize(attributes = {})
69
+ if (!attributes.is_a?(Hash))
70
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::RulesetRespDataAttributesRulesItemsReferenceTable` initialize method"
71
+ end
72
+
73
+ self.additional_properties = {}
74
+ # check to see if the attribute exists and convert string to symbol for hash key
75
+ attributes = attributes.each_with_object({}) { |(k, v), h|
76
+ if (!self.class.attribute_map.key?(k.to_sym))
77
+ self.additional_properties[k.to_sym] = v
78
+ else
79
+ h[k.to_sym] = v
80
+ end
81
+ }
82
+
83
+ if attributes.key?(:'case_insensitivity')
84
+ self.case_insensitivity = attributes[:'case_insensitivity']
85
+ end
86
+
87
+ if attributes.key?(:'field_pairs')
88
+ if (value = attributes[:'field_pairs']).is_a?(Array)
89
+ self.field_pairs = value
90
+ end
91
+ end
92
+
93
+ if attributes.key?(:'if_not_exists')
94
+ self.if_not_exists = attributes[:'if_not_exists']
95
+ end
96
+
97
+ if attributes.key?(:'source_keys')
98
+ if (value = attributes[:'source_keys']).is_a?(Array)
99
+ self.source_keys = value
100
+ end
101
+ end
102
+
103
+ if attributes.key?(:'table_name')
104
+ self.table_name = attributes[:'table_name']
105
+ end
106
+ end
107
+
108
+ # Check to see if the all the properties in the model are valid
109
+ # @return true if the model is valid
110
+ # @!visibility private
111
+ def valid?
112
+ return false if @field_pairs.nil?
113
+ return false if @source_keys.nil?
114
+ return false if @table_name.nil?
115
+ true
116
+ end
117
+
118
+ # Custom attribute writer method with validation
119
+ # @param field_pairs [Object] Object to be assigned
120
+ # @!visibility private
121
+ def field_pairs=(field_pairs)
122
+ if field_pairs.nil?
123
+ fail ArgumentError, 'invalid value for "field_pairs", field_pairs cannot be nil.'
124
+ end
125
+ @field_pairs = field_pairs
126
+ end
127
+
128
+ # Custom attribute writer method with validation
129
+ # @param source_keys [Object] Object to be assigned
130
+ # @!visibility private
131
+ def source_keys=(source_keys)
132
+ if source_keys.nil?
133
+ fail ArgumentError, 'invalid value for "source_keys", source_keys cannot be nil.'
134
+ end
135
+ @source_keys = source_keys
136
+ end
137
+
138
+ # Custom attribute writer method with validation
139
+ # @param table_name [Object] Object to be assigned
140
+ # @!visibility private
141
+ def table_name=(table_name)
142
+ if table_name.nil?
143
+ fail ArgumentError, 'invalid value for "table_name", table_name cannot be nil.'
144
+ end
145
+ @table_name = table_name
146
+ end
147
+
148
+ # Returns the object in the form of hash, with additionalProperties support.
149
+ # @return [Hash] Returns the object in the form of hash
150
+ # @!visibility private
151
+ def to_hash
152
+ hash = {}
153
+ self.class.attribute_map.each_pair do |attr, param|
154
+ value = self.send(attr)
155
+ if value.nil?
156
+ is_nullable = self.class.openapi_nullable.include?(attr)
157
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
158
+ end
159
+
160
+ hash[param] = _to_hash(value)
161
+ end
162
+ self.additional_properties.each_pair do |attr, value|
163
+ hash[attr] = value
164
+ end
165
+ hash
166
+ end
167
+
168
+ # Checks equality by comparing each attribute.
169
+ # @param o [Object] Object to be compared
170
+ # @!visibility private
171
+ def ==(o)
172
+ return true if self.equal?(o)
173
+ self.class == o.class &&
174
+ case_insensitivity == o.case_insensitivity &&
175
+ field_pairs == o.field_pairs &&
176
+ if_not_exists == o.if_not_exists &&
177
+ source_keys == o.source_keys &&
178
+ table_name == o.table_name &&
179
+ additional_properties == o.additional_properties
180
+ end
181
+
182
+ # Calculates hash code according to all attributes.
183
+ # @return [Integer] Hash code
184
+ # @!visibility private
185
+ def hash
186
+ [case_insensitivity, field_pairs, if_not_exists, source_keys, table_name, additional_properties].hash
187
+ end
188
+ end
189
+ end
@@ -0,0 +1,144 @@
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 definition of `RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems` object.
21
+ class RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems
22
+ include BaseGenericModel
23
+
24
+ # The `items` `input_column`.
25
+ attr_reader :input_column
26
+
27
+ # The `items` `output_key`.
28
+ attr_reader :output_key
29
+
30
+ attr_accessor :additional_properties
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ # @!visibility private
34
+ def self.attribute_map
35
+ {
36
+ :'input_column' => :'input_column',
37
+ :'output_key' => :'output_key'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'input_column' => :'String',
46
+ :'output_key' => :'String'
47
+ }
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param attributes [Hash] Model attributes in the form of hash
52
+ # @!visibility private
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems` initialize method"
56
+ end
57
+
58
+ self.additional_properties = {}
59
+ # check to see if the attribute exists and convert string to symbol for hash key
60
+ attributes = attributes.each_with_object({}) { |(k, v), h|
61
+ if (!self.class.attribute_map.key?(k.to_sym))
62
+ self.additional_properties[k.to_sym] = v
63
+ else
64
+ h[k.to_sym] = v
65
+ end
66
+ }
67
+
68
+ if attributes.key?(:'input_column')
69
+ self.input_column = attributes[:'input_column']
70
+ end
71
+
72
+ if attributes.key?(:'output_key')
73
+ self.output_key = attributes[:'output_key']
74
+ end
75
+ end
76
+
77
+ # Check to see if the all the properties in the model are valid
78
+ # @return true if the model is valid
79
+ # @!visibility private
80
+ def valid?
81
+ return false if @input_column.nil?
82
+ return false if @output_key.nil?
83
+ true
84
+ end
85
+
86
+ # Custom attribute writer method with validation
87
+ # @param input_column [Object] Object to be assigned
88
+ # @!visibility private
89
+ def input_column=(input_column)
90
+ if input_column.nil?
91
+ fail ArgumentError, 'invalid value for "input_column", input_column cannot be nil.'
92
+ end
93
+ @input_column = input_column
94
+ end
95
+
96
+ # Custom attribute writer method with validation
97
+ # @param output_key [Object] Object to be assigned
98
+ # @!visibility private
99
+ def output_key=(output_key)
100
+ if output_key.nil?
101
+ fail ArgumentError, 'invalid value for "output_key", output_key cannot be nil.'
102
+ end
103
+ @output_key = output_key
104
+ end
105
+
106
+ # Returns the object in the form of hash, with additionalProperties support.
107
+ # @return [Hash] Returns the object in the form of hash
108
+ # @!visibility private
109
+ def to_hash
110
+ hash = {}
111
+ self.class.attribute_map.each_pair do |attr, param|
112
+ value = self.send(attr)
113
+ if value.nil?
114
+ is_nullable = self.class.openapi_nullable.include?(attr)
115
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
116
+ end
117
+
118
+ hash[param] = _to_hash(value)
119
+ end
120
+ self.additional_properties.each_pair do |attr, value|
121
+ hash[attr] = value
122
+ end
123
+ hash
124
+ end
125
+
126
+ # Checks equality by comparing each attribute.
127
+ # @param o [Object] Object to be compared
128
+ # @!visibility private
129
+ def ==(o)
130
+ return true if self.equal?(o)
131
+ self.class == o.class &&
132
+ input_column == o.input_column &&
133
+ output_key == o.output_key &&
134
+ additional_properties == o.additional_properties
135
+ end
136
+
137
+ # Calculates hash code according to all attributes.
138
+ # @return [Integer] Hash code
139
+ # @!visibility private
140
+ def hash
141
+ [input_column, output_key, additional_properties].hash
142
+ end
143
+ end
144
+ end
@@ -0,0 +1,26 @@
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
+ # Ruleset resource type.
21
+ class RulesetRespDataType
22
+ include BaseEnumModel
23
+
24
+ RULESET = "ruleset".freeze
25
+ end
26
+ end
@@ -21,6 +21,9 @@ module DatadogAPIClient::V2
21
21
  class RUMApplicationAttributes
22
22
  include BaseGenericModel
23
23
 
24
+ # ID of the API key associated with the application.
25
+ attr_reader :api_key_id
26
+
24
27
  # ID of the RUM application.
25
28
  attr_reader :application_id
26
29
 
@@ -63,6 +66,7 @@ module DatadogAPIClient::V2
63
66
  # @!visibility private
64
67
  def self.attribute_map
65
68
  {
69
+ :'api_key_id' => :'api_key_id',
66
70
  :'application_id' => :'application_id',
67
71
  :'client_token' => :'client_token',
68
72
  :'created_at' => :'created_at',
@@ -82,6 +86,7 @@ module DatadogAPIClient::V2
82
86
  # @!visibility private
83
87
  def self.openapi_types
84
88
  {
89
+ :'api_key_id' => :'Integer',
85
90
  :'application_id' => :'String',
86
91
  :'client_token' => :'String',
87
92
  :'created_at' => :'Integer',
@@ -115,6 +120,10 @@ module DatadogAPIClient::V2
115
120
  end
116
121
  }
117
122
 
123
+ if attributes.key?(:'api_key_id')
124
+ self.api_key_id = attributes[:'api_key_id']
125
+ end
126
+
118
127
  if attributes.key?(:'application_id')
119
128
  self.application_id = attributes[:'application_id']
120
129
  end
@@ -168,6 +177,7 @@ module DatadogAPIClient::V2
168
177
  # @return true if the model is valid
169
178
  # @!visibility private
170
179
  def valid?
180
+ return false if !@api_key_id.nil? && @api_key_id > 2147483647
171
181
  return false if @application_id.nil?
172
182
  return false if @client_token.nil?
173
183
  return false if @created_at.nil?
@@ -181,6 +191,16 @@ module DatadogAPIClient::V2
181
191
  true
182
192
  end
183
193
 
194
+ # Custom attribute writer method with validation
195
+ # @param api_key_id [Object] Object to be assigned
196
+ # @!visibility private
197
+ def api_key_id=(api_key_id)
198
+ if !api_key_id.nil? && api_key_id > 2147483647
199
+ fail ArgumentError, 'invalid value for "api_key_id", must be smaller than or equal to 2147483647.'
200
+ end
201
+ @api_key_id = api_key_id
202
+ end
203
+
184
204
  # Custom attribute writer method with validation
185
205
  # @param application_id [Object] Object to be assigned
186
206
  # @!visibility private
@@ -300,6 +320,7 @@ module DatadogAPIClient::V2
300
320
  def ==(o)
301
321
  return true if self.equal?(o)
302
322
  self.class == o.class &&
323
+ api_key_id == o.api_key_id &&
303
324
  application_id == o.application_id &&
304
325
  client_token == o.client_token &&
305
326
  created_at == o.created_at &&
@@ -319,7 +340,7 @@ module DatadogAPIClient::V2
319
340
  # @return [Integer] Hash code
320
341
  # @!visibility private
321
342
  def hash
322
- [application_id, client_token, created_at, created_by_handle, _hash, is_active, name, org_id, product_scales, type, updated_at, updated_by_handle, additional_properties].hash
343
+ [api_key_id, application_id, client_token, created_at, created_by_handle, _hash, is_active, name, org_id, product_scales, type, updated_at, updated_by_handle, additional_properties].hash
323
344
  end
324
345
  end
325
346
  end
@@ -28,5 +28,6 @@ module DatadogAPIClient::V2
28
28
  HARDCODED = "hardcoded".freeze
29
29
  THIRD_PARTY = "third_party".freeze
30
30
  ANOMALY_THRESHOLD = "anomaly_threshold".freeze
31
+ SEQUENCE_DETECTION = "sequence_detection".freeze
31
32
  end
32
33
  end
@@ -55,6 +55,9 @@ module DatadogAPIClient::V2
55
55
  # Options on new value detection method.
56
56
  attr_accessor :new_value_options
57
57
 
58
+ # Options on sequence detection method.
59
+ attr_accessor :sequence_detection_options
60
+
58
61
  # Options on third party detection method.
59
62
  attr_accessor :third_party_rule_options
60
63
 
@@ -73,6 +76,7 @@ module DatadogAPIClient::V2
73
76
  :'keep_alive' => :'keepAlive',
74
77
  :'max_signal_duration' => :'maxSignalDuration',
75
78
  :'new_value_options' => :'newValueOptions',
79
+ :'sequence_detection_options' => :'sequenceDetectionOptions',
76
80
  :'third_party_rule_options' => :'thirdPartyRuleOptions'
77
81
  }
78
82
  end
@@ -90,6 +94,7 @@ module DatadogAPIClient::V2
90
94
  :'keep_alive' => :'SecurityMonitoringRuleKeepAlive',
91
95
  :'max_signal_duration' => :'SecurityMonitoringRuleMaxSignalDuration',
92
96
  :'new_value_options' => :'SecurityMonitoringRuleNewValueOptions',
97
+ :'sequence_detection_options' => :'SecurityMonitoringRuleSequenceDetectionOptions',
93
98
  :'third_party_rule_options' => :'SecurityMonitoringRuleThirdPartyOptions'
94
99
  }
95
100
  end
@@ -148,6 +153,10 @@ module DatadogAPIClient::V2
148
153
  self.new_value_options = attributes[:'new_value_options']
149
154
  end
150
155
 
156
+ if attributes.key?(:'sequence_detection_options')
157
+ self.sequence_detection_options = attributes[:'sequence_detection_options']
158
+ end
159
+
151
160
  if attributes.key?(:'third_party_rule_options')
152
161
  self.third_party_rule_options = attributes[:'third_party_rule_options']
153
162
  end
@@ -188,6 +197,7 @@ module DatadogAPIClient::V2
188
197
  keep_alive == o.keep_alive &&
189
198
  max_signal_duration == o.max_signal_duration &&
190
199
  new_value_options == o.new_value_options &&
200
+ sequence_detection_options == o.sequence_detection_options &&
191
201
  third_party_rule_options == o.third_party_rule_options &&
192
202
  additional_properties == o.additional_properties
193
203
  end
@@ -196,7 +206,7 @@ module DatadogAPIClient::V2
196
206
  # @return [Integer] Hash code
197
207
  # @!visibility private
198
208
  def hash
199
- [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, additional_properties].hash
209
+ [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, sequence_detection_options, third_party_rule_options, additional_properties].hash
200
210
  end
201
211
  end
202
212
  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
+ # Options on sequence detection method.
21
+ class SecurityMonitoringRuleSequenceDetectionOptions
22
+ include BaseGenericModel
23
+
24
+ # Transitions defining the allowed order of steps and their evaluation windows.
25
+ attr_accessor :step_transitions
26
+
27
+ # Steps that define the conditions to be matched in sequence.
28
+ attr_accessor :steps
29
+
30
+ attr_accessor :additional_properties
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ # @!visibility private
34
+ def self.attribute_map
35
+ {
36
+ :'step_transitions' => :'stepTransitions',
37
+ :'steps' => :'steps'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'step_transitions' => :'Array<SecurityMonitoringRuleSequenceDetectionStepTransition>',
46
+ :'steps' => :'Array<SecurityMonitoringRuleSequenceDetectionStep>'
47
+ }
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param attributes [Hash] Model attributes in the form of hash
52
+ # @!visibility private
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SecurityMonitoringRuleSequenceDetectionOptions` initialize method"
56
+ end
57
+
58
+ self.additional_properties = {}
59
+ # check to see if the attribute exists and convert string to symbol for hash key
60
+ attributes = attributes.each_with_object({}) { |(k, v), h|
61
+ if (!self.class.attribute_map.key?(k.to_sym))
62
+ self.additional_properties[k.to_sym] = v
63
+ else
64
+ h[k.to_sym] = v
65
+ end
66
+ }
67
+
68
+ if attributes.key?(:'step_transitions')
69
+ if (value = attributes[:'step_transitions']).is_a?(Array)
70
+ self.step_transitions = value
71
+ end
72
+ end
73
+
74
+ if attributes.key?(:'steps')
75
+ if (value = attributes[:'steps']).is_a?(Array)
76
+ self.steps = value
77
+ end
78
+ end
79
+ end
80
+
81
+ # Returns the object in the form of hash, with additionalProperties support.
82
+ # @return [Hash] Returns the object in the form of hash
83
+ # @!visibility private
84
+ def to_hash
85
+ hash = {}
86
+ self.class.attribute_map.each_pair do |attr, param|
87
+ value = self.send(attr)
88
+ if value.nil?
89
+ is_nullable = self.class.openapi_nullable.include?(attr)
90
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
91
+ end
92
+
93
+ hash[param] = _to_hash(value)
94
+ end
95
+ self.additional_properties.each_pair do |attr, value|
96
+ hash[attr] = value
97
+ end
98
+ hash
99
+ end
100
+
101
+ # Checks equality by comparing each attribute.
102
+ # @param o [Object] Object to be compared
103
+ # @!visibility private
104
+ def ==(o)
105
+ return true if self.equal?(o)
106
+ self.class == o.class &&
107
+ step_transitions == o.step_transitions &&
108
+ steps == o.steps &&
109
+ additional_properties == o.additional_properties
110
+ end
111
+
112
+ # Calculates hash code according to all attributes.
113
+ # @return [Integer] Hash code
114
+ # @!visibility private
115
+ def hash
116
+ [step_transitions, steps, additional_properties].hash
117
+ end
118
+ end
119
+ end