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,215 @@
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 `ArbitraryRuleResponseDataAttributesStrategy` object.
21
+ class ArbitraryRuleResponseDataAttributesStrategy
22
+ include BaseGenericModel
23
+
24
+ # The `strategy` `allocated_by`.
25
+ attr_accessor :allocated_by
26
+
27
+ # The `strategy` `allocated_by_filters`.
28
+ attr_accessor :allocated_by_filters
29
+
30
+ # The `strategy` `allocated_by_tag_keys`.
31
+ attr_accessor :allocated_by_tag_keys
32
+
33
+ # The `strategy` `based_on_costs`.
34
+ attr_accessor :based_on_costs
35
+
36
+ # The rule `strategy` `based_on_timeseries`.
37
+ attr_accessor :based_on_timeseries
38
+
39
+ # The `strategy` `evaluate_grouped_by_filters`.
40
+ attr_accessor :evaluate_grouped_by_filters
41
+
42
+ # The `strategy` `evaluate_grouped_by_tag_keys`.
43
+ attr_accessor :evaluate_grouped_by_tag_keys
44
+
45
+ # The `strategy` `granularity`.
46
+ attr_accessor :granularity
47
+
48
+ # The `strategy` `method`.
49
+ attr_reader :method
50
+
51
+ attr_accessor :additional_properties
52
+
53
+ # Attribute mapping from ruby-style variable name to JSON key.
54
+ # @!visibility private
55
+ def self.attribute_map
56
+ {
57
+ :'allocated_by' => :'allocated_by',
58
+ :'allocated_by_filters' => :'allocated_by_filters',
59
+ :'allocated_by_tag_keys' => :'allocated_by_tag_keys',
60
+ :'based_on_costs' => :'based_on_costs',
61
+ :'based_on_timeseries' => :'based_on_timeseries',
62
+ :'evaluate_grouped_by_filters' => :'evaluate_grouped_by_filters',
63
+ :'evaluate_grouped_by_tag_keys' => :'evaluate_grouped_by_tag_keys',
64
+ :'granularity' => :'granularity',
65
+ :'method' => :'method'
66
+ }
67
+ end
68
+
69
+ # Attribute type mapping.
70
+ # @!visibility private
71
+ def self.openapi_types
72
+ {
73
+ :'allocated_by' => :'Array<ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems>',
74
+ :'allocated_by_filters' => :'Array<ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems>',
75
+ :'allocated_by_tag_keys' => :'Array<String>',
76
+ :'based_on_costs' => :'Array<ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems>',
77
+ :'based_on_timeseries' => :'Hash<String, Object>',
78
+ :'evaluate_grouped_by_filters' => :'Array<ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems>',
79
+ :'evaluate_grouped_by_tag_keys' => :'Array<String>',
80
+ :'granularity' => :'String',
81
+ :'method' => :'String'
82
+ }
83
+ end
84
+
85
+ # Initializes the object
86
+ # @param attributes [Hash] Model attributes in the form of hash
87
+ # @!visibility private
88
+ def initialize(attributes = {})
89
+ if (!attributes.is_a?(Hash))
90
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::ArbitraryRuleResponseDataAttributesStrategy` initialize method"
91
+ end
92
+
93
+ self.additional_properties = {}
94
+ # check to see if the attribute exists and convert string to symbol for hash key
95
+ attributes = attributes.each_with_object({}) { |(k, v), h|
96
+ if (!self.class.attribute_map.key?(k.to_sym))
97
+ self.additional_properties[k.to_sym] = v
98
+ else
99
+ h[k.to_sym] = v
100
+ end
101
+ }
102
+
103
+ if attributes.key?(:'allocated_by')
104
+ if (value = attributes[:'allocated_by']).is_a?(Array)
105
+ self.allocated_by = value
106
+ end
107
+ end
108
+
109
+ if attributes.key?(:'allocated_by_filters')
110
+ if (value = attributes[:'allocated_by_filters']).is_a?(Array)
111
+ self.allocated_by_filters = value
112
+ end
113
+ end
114
+
115
+ if attributes.key?(:'allocated_by_tag_keys')
116
+ if (value = attributes[:'allocated_by_tag_keys']).is_a?(Array)
117
+ self.allocated_by_tag_keys = value
118
+ end
119
+ end
120
+
121
+ if attributes.key?(:'based_on_costs')
122
+ if (value = attributes[:'based_on_costs']).is_a?(Array)
123
+ self.based_on_costs = value
124
+ end
125
+ end
126
+
127
+ if attributes.key?(:'based_on_timeseries')
128
+ self.based_on_timeseries = attributes[:'based_on_timeseries']
129
+ end
130
+
131
+ if attributes.key?(:'evaluate_grouped_by_filters')
132
+ if (value = attributes[:'evaluate_grouped_by_filters']).is_a?(Array)
133
+ self.evaluate_grouped_by_filters = value
134
+ end
135
+ end
136
+
137
+ if attributes.key?(:'evaluate_grouped_by_tag_keys')
138
+ if (value = attributes[:'evaluate_grouped_by_tag_keys']).is_a?(Array)
139
+ self.evaluate_grouped_by_tag_keys = value
140
+ end
141
+ end
142
+
143
+ if attributes.key?(:'granularity')
144
+ self.granularity = attributes[:'granularity']
145
+ end
146
+
147
+ if attributes.key?(:'method')
148
+ self.method = attributes[:'method']
149
+ end
150
+ end
151
+
152
+ # Check to see if the all the properties in the model are valid
153
+ # @return true if the model is valid
154
+ # @!visibility private
155
+ def valid?
156
+ return false if @method.nil?
157
+ true
158
+ end
159
+
160
+ # Custom attribute writer method with validation
161
+ # @param method [Object] Object to be assigned
162
+ # @!visibility private
163
+ def method=(method)
164
+ if method.nil?
165
+ fail ArgumentError, 'invalid value for "method", method cannot be nil.'
166
+ end
167
+ @method = method
168
+ end
169
+
170
+ # Returns the object in the form of hash, with additionalProperties support.
171
+ # @return [Hash] Returns the object in the form of hash
172
+ # @!visibility private
173
+ def to_hash
174
+ hash = {}
175
+ self.class.attribute_map.each_pair do |attr, param|
176
+ value = self.send(attr)
177
+ if value.nil?
178
+ is_nullable = self.class.openapi_nullable.include?(attr)
179
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
180
+ end
181
+
182
+ hash[param] = _to_hash(value)
183
+ end
184
+ self.additional_properties.each_pair do |attr, value|
185
+ hash[attr] = value
186
+ end
187
+ hash
188
+ end
189
+
190
+ # Checks equality by comparing each attribute.
191
+ # @param o [Object] Object to be compared
192
+ # @!visibility private
193
+ def ==(o)
194
+ return true if self.equal?(o)
195
+ self.class == o.class &&
196
+ allocated_by == o.allocated_by &&
197
+ allocated_by_filters == o.allocated_by_filters &&
198
+ allocated_by_tag_keys == o.allocated_by_tag_keys &&
199
+ based_on_costs == o.based_on_costs &&
200
+ based_on_timeseries == o.based_on_timeseries &&
201
+ evaluate_grouped_by_filters == o.evaluate_grouped_by_filters &&
202
+ evaluate_grouped_by_tag_keys == o.evaluate_grouped_by_tag_keys &&
203
+ granularity == o.granularity &&
204
+ method == o.method &&
205
+ additional_properties == o.additional_properties
206
+ end
207
+
208
+ # Calculates hash code according to all attributes.
209
+ # @return [Integer] Hash code
210
+ # @!visibility private
211
+ def hash
212
+ [allocated_by, allocated_by_filters, allocated_by_tag_keys, based_on_costs, based_on_timeseries, evaluate_grouped_by_filters, evaluate_grouped_by_tag_keys, granularity, method, additional_properties].hash
213
+ end
214
+ end
215
+ end
@@ -0,0 +1,174 @@
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 `ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems` object.
21
+ class ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems
22
+ include BaseGenericModel
23
+
24
+ # The `items` `condition`.
25
+ attr_reader :condition
26
+
27
+ # The `items` `tag`.
28
+ attr_reader :tag
29
+
30
+ # The `items` `value`.
31
+ attr_accessor :value
32
+
33
+ # The `items` `values`.
34
+ attr_accessor :values
35
+
36
+ attr_accessor :additional_properties
37
+
38
+ # Attribute mapping from ruby-style variable name to JSON key.
39
+ # @!visibility private
40
+ def self.attribute_map
41
+ {
42
+ :'condition' => :'condition',
43
+ :'tag' => :'tag',
44
+ :'value' => :'value',
45
+ :'values' => :'values'
46
+ }
47
+ end
48
+
49
+ # Attribute type mapping.
50
+ # @!visibility private
51
+ def self.openapi_types
52
+ {
53
+ :'condition' => :'String',
54
+ :'tag' => :'String',
55
+ :'value' => :'String',
56
+ :'values' => :'Array<String>'
57
+ }
58
+ end
59
+
60
+ # List of attributes with nullable: true
61
+ # @!visibility private
62
+ def self.openapi_nullable
63
+ Set.new([
64
+ :'values',
65
+ ])
66
+ end
67
+
68
+ # Initializes the object
69
+ # @param attributes [Hash] Model attributes in the form of hash
70
+ # @!visibility private
71
+ def initialize(attributes = {})
72
+ if (!attributes.is_a?(Hash))
73
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems` initialize method"
74
+ end
75
+
76
+ self.additional_properties = {}
77
+ # check to see if the attribute exists and convert string to symbol for hash key
78
+ attributes = attributes.each_with_object({}) { |(k, v), h|
79
+ if (!self.class.attribute_map.key?(k.to_sym))
80
+ self.additional_properties[k.to_sym] = v
81
+ else
82
+ h[k.to_sym] = v
83
+ end
84
+ }
85
+
86
+ if attributes.key?(:'condition')
87
+ self.condition = attributes[:'condition']
88
+ end
89
+
90
+ if attributes.key?(:'tag')
91
+ self.tag = attributes[:'tag']
92
+ end
93
+
94
+ if attributes.key?(:'value')
95
+ self.value = attributes[:'value']
96
+ end
97
+
98
+ if attributes.key?(:'values')
99
+ if (value = attributes[:'values']).is_a?(Array)
100
+ self.values = value
101
+ end
102
+ end
103
+ end
104
+
105
+ # Check to see if the all the properties in the model are valid
106
+ # @return true if the model is valid
107
+ # @!visibility private
108
+ def valid?
109
+ return false if @condition.nil?
110
+ return false if @tag.nil?
111
+ true
112
+ end
113
+
114
+ # Custom attribute writer method with validation
115
+ # @param condition [Object] Object to be assigned
116
+ # @!visibility private
117
+ def condition=(condition)
118
+ if condition.nil?
119
+ fail ArgumentError, 'invalid value for "condition", condition cannot be nil.'
120
+ end
121
+ @condition = condition
122
+ end
123
+
124
+ # Custom attribute writer method with validation
125
+ # @param tag [Object] Object to be assigned
126
+ # @!visibility private
127
+ def tag=(tag)
128
+ if tag.nil?
129
+ fail ArgumentError, 'invalid value for "tag", tag cannot be nil.'
130
+ end
131
+ @tag = tag
132
+ end
133
+
134
+ # Returns the object in the form of hash, with additionalProperties support.
135
+ # @return [Hash] Returns the object in the form of hash
136
+ # @!visibility private
137
+ def to_hash
138
+ hash = {}
139
+ self.class.attribute_map.each_pair do |attr, param|
140
+ value = self.send(attr)
141
+ if value.nil?
142
+ is_nullable = self.class.openapi_nullable.include?(attr)
143
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
144
+ end
145
+
146
+ hash[param] = _to_hash(value)
147
+ end
148
+ self.additional_properties.each_pair do |attr, value|
149
+ hash[attr] = value
150
+ end
151
+ hash
152
+ end
153
+
154
+ # Checks equality by comparing each attribute.
155
+ # @param o [Object] Object to be compared
156
+ # @!visibility private
157
+ def ==(o)
158
+ return true if self.equal?(o)
159
+ self.class == o.class &&
160
+ condition == o.condition &&
161
+ tag == o.tag &&
162
+ value == o.value &&
163
+ values == o.values &&
164
+ additional_properties == o.additional_properties
165
+ end
166
+
167
+ # Calculates hash code according to all attributes.
168
+ # @return [Integer] Hash code
169
+ # @!visibility private
170
+ def hash
171
+ [condition, tag, value, values, additional_properties].hash
172
+ end
173
+ end
174
+ end
@@ -0,0 +1,146 @@
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 `ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems` object.
21
+ class ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems
22
+ include BaseGenericModel
23
+
24
+ # The `items` `allocated_tags`.
25
+ attr_reader :allocated_tags
26
+
27
+ # The `items` `percentage`. The numeric value format should be a 32bit float value.
28
+ attr_reader :percentage
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
+ :'allocated_tags' => :'allocated_tags',
37
+ :'percentage' => :'percentage'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'allocated_tags' => :'Array<ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems>',
46
+ :'percentage' => :'Float'
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::ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems` 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?(:'allocated_tags')
69
+ if (value = attributes[:'allocated_tags']).is_a?(Array)
70
+ self.allocated_tags = value
71
+ end
72
+ end
73
+
74
+ if attributes.key?(:'percentage')
75
+ self.percentage = attributes[:'percentage']
76
+ end
77
+ end
78
+
79
+ # Check to see if the all the properties in the model are valid
80
+ # @return true if the model is valid
81
+ # @!visibility private
82
+ def valid?
83
+ return false if @allocated_tags.nil?
84
+ return false if @percentage.nil?
85
+ true
86
+ end
87
+
88
+ # Custom attribute writer method with validation
89
+ # @param allocated_tags [Object] Object to be assigned
90
+ # @!visibility private
91
+ def allocated_tags=(allocated_tags)
92
+ if allocated_tags.nil?
93
+ fail ArgumentError, 'invalid value for "allocated_tags", allocated_tags cannot be nil.'
94
+ end
95
+ @allocated_tags = allocated_tags
96
+ end
97
+
98
+ # Custom attribute writer method with validation
99
+ # @param percentage [Object] Object to be assigned
100
+ # @!visibility private
101
+ def percentage=(percentage)
102
+ if percentage.nil?
103
+ fail ArgumentError, 'invalid value for "percentage", percentage cannot be nil.'
104
+ end
105
+ @percentage = percentage
106
+ end
107
+
108
+ # Returns the object in the form of hash, with additionalProperties support.
109
+ # @return [Hash] Returns the object in the form of hash
110
+ # @!visibility private
111
+ def to_hash
112
+ hash = {}
113
+ self.class.attribute_map.each_pair do |attr, param|
114
+ value = self.send(attr)
115
+ if value.nil?
116
+ is_nullable = self.class.openapi_nullable.include?(attr)
117
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
118
+ end
119
+
120
+ hash[param] = _to_hash(value)
121
+ end
122
+ self.additional_properties.each_pair do |attr, value|
123
+ hash[attr] = value
124
+ end
125
+ hash
126
+ end
127
+
128
+ # Checks equality by comparing each attribute.
129
+ # @param o [Object] Object to be compared
130
+ # @!visibility private
131
+ def ==(o)
132
+ return true if self.equal?(o)
133
+ self.class == o.class &&
134
+ allocated_tags == o.allocated_tags &&
135
+ percentage == o.percentage &&
136
+ additional_properties == o.additional_properties
137
+ end
138
+
139
+ # Calculates hash code according to all attributes.
140
+ # @return [Integer] Hash code
141
+ # @!visibility private
142
+ def hash
143
+ [allocated_tags, percentage, additional_properties].hash
144
+ end
145
+ end
146
+ 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 `ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems` object.
21
+ class ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems
22
+ include BaseGenericModel
23
+
24
+ # The `items` `key`.
25
+ attr_reader :key
26
+
27
+ # The `items` `value`.
28
+ attr_reader :value
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
+ :'key' => :'key',
37
+ :'value' => :'value'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'key' => :'String',
46
+ :'value' => :'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::ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems` 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?(:'key')
69
+ self.key = attributes[:'key']
70
+ end
71
+
72
+ if attributes.key?(:'value')
73
+ self.value = attributes[:'value']
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 @key.nil?
82
+ return false if @value.nil?
83
+ true
84
+ end
85
+
86
+ # Custom attribute writer method with validation
87
+ # @param key [Object] Object to be assigned
88
+ # @!visibility private
89
+ def key=(key)
90
+ if key.nil?
91
+ fail ArgumentError, 'invalid value for "key", key cannot be nil.'
92
+ end
93
+ @key = key
94
+ end
95
+
96
+ # Custom attribute writer method with validation
97
+ # @param value [Object] Object to be assigned
98
+ # @!visibility private
99
+ def value=(value)
100
+ if value.nil?
101
+ fail ArgumentError, 'invalid value for "value", value cannot be nil.'
102
+ end
103
+ @value = value
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
+ key == o.key &&
133
+ value == o.value &&
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
+ [key, value, additional_properties].hash
142
+ end
143
+ end
144
+ end