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,137 @@
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
+ # Response with a list of incident impacts.
21
+ class IncidentImpactsResponse
22
+ include BaseGenericModel
23
+
24
+ # An array of incident impacts.
25
+ attr_reader :data
26
+
27
+ # Included related resources that the user requested.
28
+ attr_accessor :included
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
+ :'data' => :'data',
37
+ :'included' => :'included'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'data' => :'Array<IncidentImpactResponseData>',
46
+ :'included' => :'Array<IncidentUserData>'
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::IncidentImpactsResponse` 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?(:'data')
69
+ if (value = attributes[:'data']).is_a?(Array)
70
+ self.data = value
71
+ end
72
+ end
73
+
74
+ if attributes.key?(:'included')
75
+ if (value = attributes[:'included']).is_a?(Array)
76
+ self.included = value
77
+ end
78
+ end
79
+ end
80
+
81
+ # Check to see if the all the properties in the model are valid
82
+ # @return true if the model is valid
83
+ # @!visibility private
84
+ def valid?
85
+ return false if @data.nil?
86
+ true
87
+ end
88
+
89
+ # Custom attribute writer method with validation
90
+ # @param data [Object] Object to be assigned
91
+ # @!visibility private
92
+ def data=(data)
93
+ if data.nil?
94
+ fail ArgumentError, 'invalid value for "data", data cannot be nil.'
95
+ end
96
+ @data = data
97
+ end
98
+
99
+ # Returns the object in the form of hash, with additionalProperties support.
100
+ # @return [Hash] Returns the object in the form of hash
101
+ # @!visibility private
102
+ def to_hash
103
+ hash = {}
104
+ self.class.attribute_map.each_pair do |attr, param|
105
+ value = self.send(attr)
106
+ if value.nil?
107
+ is_nullable = self.class.openapi_nullable.include?(attr)
108
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
109
+ end
110
+
111
+ hash[param] = _to_hash(value)
112
+ end
113
+ self.additional_properties.each_pair do |attr, value|
114
+ hash[attr] = value
115
+ end
116
+ hash
117
+ end
118
+
119
+ # Checks equality by comparing each attribute.
120
+ # @param o [Object] Object to be compared
121
+ # @!visibility private
122
+ def ==(o)
123
+ return true if self.equal?(o)
124
+ self.class == o.class &&
125
+ data == o.data &&
126
+ included == o.included &&
127
+ additional_properties == o.additional_properties
128
+ end
129
+
130
+ # Calculates hash code according to all attributes.
131
+ # @return [Integer] Hash code
132
+ # @!visibility private
133
+ def hash
134
+ [data, included, additional_properties].hash
135
+ end
136
+ end
137
+ end
@@ -46,6 +46,15 @@ module DatadogAPIClient::V2
46
46
  # A flag indicating whether the incident caused customer impact.
47
47
  attr_accessor :customer_impacted
48
48
 
49
+ # Timestamp when the incident was declared.
50
+ attr_accessor :declared
51
+
52
+ # Incident's non Datadog creator.
53
+ attr_accessor :declared_by
54
+
55
+ # UUID of the user who declared the incident.
56
+ attr_accessor :declared_by_uuid
57
+
49
58
  # Timestamp when the incident was detected.
50
59
  attr_accessor :detected
51
60
 
@@ -112,6 +121,9 @@ module DatadogAPIClient::V2
112
121
  :'customer_impact_scope' => :'customer_impact_scope',
113
122
  :'customer_impact_start' => :'customer_impact_start',
114
123
  :'customer_impacted' => :'customer_impacted',
124
+ :'declared' => :'declared',
125
+ :'declared_by' => :'declared_by',
126
+ :'declared_by_uuid' => :'declared_by_uuid',
115
127
  :'detected' => :'detected',
116
128
  :'fields' => :'fields',
117
129
  :'incident_type_uuid' => :'incident_type_uuid',
@@ -144,6 +156,9 @@ module DatadogAPIClient::V2
144
156
  :'customer_impact_scope' => :'String',
145
157
  :'customer_impact_start' => :'Time',
146
158
  :'customer_impacted' => :'Boolean',
159
+ :'declared' => :'Time',
160
+ :'declared_by' => :'IncidentNonDatadogCreator',
161
+ :'declared_by_uuid' => :'String',
147
162
  :'detected' => :'Time',
148
163
  :'fields' => :'Hash<String, IncidentFieldAttributes>',
149
164
  :'incident_type_uuid' => :'String',
@@ -173,6 +188,8 @@ module DatadogAPIClient::V2
173
188
  :'customer_impact_end',
174
189
  :'customer_impact_scope',
175
190
  :'customer_impact_start',
191
+ :'declared_by',
192
+ :'declared_by_uuid',
176
193
  :'detected',
177
194
  :'non_datadog_creator',
178
195
  :'notification_handles',
@@ -232,6 +249,18 @@ module DatadogAPIClient::V2
232
249
  self.customer_impacted = attributes[:'customer_impacted']
233
250
  end
234
251
 
252
+ if attributes.key?(:'declared')
253
+ self.declared = attributes[:'declared']
254
+ end
255
+
256
+ if attributes.key?(:'declared_by')
257
+ self.declared_by = attributes[:'declared_by']
258
+ end
259
+
260
+ if attributes.key?(:'declared_by_uuid')
261
+ self.declared_by_uuid = attributes[:'declared_by_uuid']
262
+ end
263
+
235
264
  if attributes.key?(:'detected')
236
265
  self.detected = attributes[:'detected']
237
266
  end
@@ -355,6 +384,9 @@ module DatadogAPIClient::V2
355
384
  customer_impact_scope == o.customer_impact_scope &&
356
385
  customer_impact_start == o.customer_impact_start &&
357
386
  customer_impacted == o.customer_impacted &&
387
+ declared == o.declared &&
388
+ declared_by == o.declared_by &&
389
+ declared_by_uuid == o.declared_by_uuid &&
358
390
  detected == o.detected &&
359
391
  fields == o.fields &&
360
392
  incident_type_uuid == o.incident_type_uuid &&
@@ -379,7 +411,7 @@ module DatadogAPIClient::V2
379
411
  # @return [Integer] Hash code
380
412
  # @!visibility private
381
413
  def hash
382
- [archived, case_id, created, customer_impact_duration, customer_impact_end, customer_impact_scope, customer_impact_start, customer_impacted, detected, fields, incident_type_uuid, is_test, modified, non_datadog_creator, notification_handles, public_id, resolved, severity, state, time_to_detect, time_to_internal_response, time_to_repair, time_to_resolve, title, visibility, additional_properties].hash
414
+ [archived, case_id, created, customer_impact_duration, customer_impact_end, customer_impact_scope, customer_impact_start, customer_impacted, declared, declared_by, declared_by_uuid, detected, fields, incident_type_uuid, is_test, modified, non_datadog_creator, notification_handles, public_id, resolved, severity, state, time_to_detect, time_to_internal_response, time_to_repair, time_to_resolve, title, visibility, additional_properties].hash
383
415
  end
384
416
  end
385
417
  end
@@ -30,6 +30,9 @@ module DatadogAPIClient::V2
30
30
  # Relationship to user.
31
31
  attr_accessor :created_by_user
32
32
 
33
+ # Relationship to user.
34
+ attr_accessor :declared_by_user
35
+
33
36
  # Relationship to impacts.
34
37
  attr_accessor :impacts
35
38
 
@@ -54,6 +57,7 @@ module DatadogAPIClient::V2
54
57
  :'attachments' => :'attachments',
55
58
  :'commander_user' => :'commander_user',
56
59
  :'created_by_user' => :'created_by_user',
60
+ :'declared_by_user' => :'declared_by_user',
57
61
  :'impacts' => :'impacts',
58
62
  :'integrations' => :'integrations',
59
63
  :'last_modified_by_user' => :'last_modified_by_user',
@@ -69,6 +73,7 @@ module DatadogAPIClient::V2
69
73
  :'attachments' => :'RelationshipToIncidentAttachment',
70
74
  :'commander_user' => :'NullableRelationshipToUser',
71
75
  :'created_by_user' => :'RelationshipToUser',
76
+ :'declared_by_user' => :'RelationshipToUser',
72
77
  :'impacts' => :'RelationshipToIncidentImpacts',
73
78
  :'integrations' => :'RelationshipToIncidentIntegrationMetadatas',
74
79
  :'last_modified_by_user' => :'RelationshipToUser',
@@ -115,6 +120,10 @@ module DatadogAPIClient::V2
115
120
  self.created_by_user = attributes[:'created_by_user']
116
121
  end
117
122
 
123
+ if attributes.key?(:'declared_by_user')
124
+ self.declared_by_user = attributes[:'declared_by_user']
125
+ end
126
+
118
127
  if attributes.key?(:'impacts')
119
128
  self.impacts = attributes[:'impacts']
120
129
  end
@@ -165,6 +174,7 @@ module DatadogAPIClient::V2
165
174
  attachments == o.attachments &&
166
175
  commander_user == o.commander_user &&
167
176
  created_by_user == o.created_by_user &&
177
+ declared_by_user == o.declared_by_user &&
168
178
  impacts == o.impacts &&
169
179
  integrations == o.integrations &&
170
180
  last_modified_by_user == o.last_modified_by_user &&
@@ -177,7 +187,7 @@ module DatadogAPIClient::V2
177
187
  # @return [Integer] Hash code
178
188
  # @!visibility private
179
189
  def hash
180
- [attachments, commander_user, created_by_user, impacts, integrations, last_modified_by_user, responders, user_defined_fields, additional_properties].hash
190
+ [attachments, commander_user, created_by_user, declared_by_user, impacts, integrations, last_modified_by_user, responders, user_defined_fields, additional_properties].hash
181
191
  end
182
192
  end
183
193
  end
@@ -43,7 +43,8 @@ module DatadogAPIClient::V2
43
43
  :'ObservabilityPipelineAmazonOpenSearchDestination',
44
44
  :'ObservabilityPipelineSocketDestination',
45
45
  :'ObservabilityPipelineAmazonSecurityLakeDestination',
46
- :'ObservabilityPipelineCrowdStrikeNextGenSiemDestination'
46
+ :'ObservabilityPipelineCrowdStrikeNextGenSiemDestination',
47
+ :'ObservabilityPipelineGooglePubSubDestination'
47
48
  ]
48
49
  end
49
50
  # Builds the object
@@ -0,0 +1,251 @@
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 `google_pubsub` destination publishes logs to a Google Cloud Pub/Sub topic.
21
+ class ObservabilityPipelineGooglePubSubDestination
22
+ include BaseGenericModel
23
+
24
+ # GCP credentials used to authenticate with Google Cloud Storage.
25
+ #
26
+ attr_accessor :auth
27
+
28
+ # Encoding format for log events.
29
+ attr_reader :encoding
30
+
31
+ # The unique identifier for this component.
32
+ attr_reader :id
33
+
34
+ # A list of component IDs whose output is used as the `input` for this component.
35
+ attr_reader :inputs
36
+
37
+ # The GCP project ID that owns the Pub/Sub topic.
38
+ attr_reader :project
39
+
40
+ # Configuration for enabling TLS encryption between the pipeline component and external services.
41
+ attr_accessor :tls
42
+
43
+ # The Pub/Sub topic name to publish logs to.
44
+ attr_reader :topic
45
+
46
+ # The destination type. The value should always be `google_pubsub`.
47
+ attr_reader :type
48
+
49
+ attr_accessor :additional_properties
50
+
51
+ # Attribute mapping from ruby-style variable name to JSON key.
52
+ # @!visibility private
53
+ def self.attribute_map
54
+ {
55
+ :'auth' => :'auth',
56
+ :'encoding' => :'encoding',
57
+ :'id' => :'id',
58
+ :'inputs' => :'inputs',
59
+ :'project' => :'project',
60
+ :'tls' => :'tls',
61
+ :'topic' => :'topic',
62
+ :'type' => :'type'
63
+ }
64
+ end
65
+
66
+ # Attribute type mapping.
67
+ # @!visibility private
68
+ def self.openapi_types
69
+ {
70
+ :'auth' => :'ObservabilityPipelineGcpAuth',
71
+ :'encoding' => :'ObservabilityPipelineGooglePubSubDestinationEncoding',
72
+ :'id' => :'String',
73
+ :'inputs' => :'Array<String>',
74
+ :'project' => :'String',
75
+ :'tls' => :'ObservabilityPipelineTls',
76
+ :'topic' => :'String',
77
+ :'type' => :'ObservabilityPipelineGooglePubSubDestinationType'
78
+ }
79
+ end
80
+
81
+ # Initializes the object
82
+ # @param attributes [Hash] Model attributes in the form of hash
83
+ # @!visibility private
84
+ def initialize(attributes = {})
85
+ if (!attributes.is_a?(Hash))
86
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::ObservabilityPipelineGooglePubSubDestination` initialize method"
87
+ end
88
+
89
+ self.additional_properties = {}
90
+ # check to see if the attribute exists and convert string to symbol for hash key
91
+ attributes = attributes.each_with_object({}) { |(k, v), h|
92
+ if (!self.class.attribute_map.key?(k.to_sym))
93
+ self.additional_properties[k.to_sym] = v
94
+ else
95
+ h[k.to_sym] = v
96
+ end
97
+ }
98
+
99
+ if attributes.key?(:'auth')
100
+ self.auth = attributes[:'auth']
101
+ end
102
+
103
+ if attributes.key?(:'encoding')
104
+ self.encoding = attributes[:'encoding']
105
+ end
106
+
107
+ if attributes.key?(:'id')
108
+ self.id = attributes[:'id']
109
+ end
110
+
111
+ if attributes.key?(:'inputs')
112
+ if (value = attributes[:'inputs']).is_a?(Array)
113
+ self.inputs = value
114
+ end
115
+ end
116
+
117
+ if attributes.key?(:'project')
118
+ self.project = attributes[:'project']
119
+ end
120
+
121
+ if attributes.key?(:'tls')
122
+ self.tls = attributes[:'tls']
123
+ end
124
+
125
+ if attributes.key?(:'topic')
126
+ self.topic = attributes[:'topic']
127
+ end
128
+
129
+ if attributes.key?(:'type')
130
+ self.type = attributes[:'type']
131
+ end
132
+ end
133
+
134
+ # Check to see if the all the properties in the model are valid
135
+ # @return true if the model is valid
136
+ # @!visibility private
137
+ def valid?
138
+ return false if @encoding.nil?
139
+ return false if @id.nil?
140
+ return false if @inputs.nil?
141
+ return false if @project.nil?
142
+ return false if @topic.nil?
143
+ return false if @type.nil?
144
+ true
145
+ end
146
+
147
+ # Custom attribute writer method with validation
148
+ # @param encoding [Object] Object to be assigned
149
+ # @!visibility private
150
+ def encoding=(encoding)
151
+ if encoding.nil?
152
+ fail ArgumentError, 'invalid value for "encoding", encoding cannot be nil.'
153
+ end
154
+ @encoding = encoding
155
+ end
156
+
157
+ # Custom attribute writer method with validation
158
+ # @param id [Object] Object to be assigned
159
+ # @!visibility private
160
+ def id=(id)
161
+ if id.nil?
162
+ fail ArgumentError, 'invalid value for "id", id cannot be nil.'
163
+ end
164
+ @id = id
165
+ end
166
+
167
+ # Custom attribute writer method with validation
168
+ # @param inputs [Object] Object to be assigned
169
+ # @!visibility private
170
+ def inputs=(inputs)
171
+ if inputs.nil?
172
+ fail ArgumentError, 'invalid value for "inputs", inputs cannot be nil.'
173
+ end
174
+ @inputs = inputs
175
+ end
176
+
177
+ # Custom attribute writer method with validation
178
+ # @param project [Object] Object to be assigned
179
+ # @!visibility private
180
+ def project=(project)
181
+ if project.nil?
182
+ fail ArgumentError, 'invalid value for "project", project cannot be nil.'
183
+ end
184
+ @project = project
185
+ end
186
+
187
+ # Custom attribute writer method with validation
188
+ # @param topic [Object] Object to be assigned
189
+ # @!visibility private
190
+ def topic=(topic)
191
+ if topic.nil?
192
+ fail ArgumentError, 'invalid value for "topic", topic cannot be nil.'
193
+ end
194
+ @topic = topic
195
+ end
196
+
197
+ # Custom attribute writer method with validation
198
+ # @param type [Object] Object to be assigned
199
+ # @!visibility private
200
+ def type=(type)
201
+ if type.nil?
202
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
203
+ end
204
+ @type = type
205
+ end
206
+
207
+ # Returns the object in the form of hash, with additionalProperties support.
208
+ # @return [Hash] Returns the object in the form of hash
209
+ # @!visibility private
210
+ def to_hash
211
+ hash = {}
212
+ self.class.attribute_map.each_pair do |attr, param|
213
+ value = self.send(attr)
214
+ if value.nil?
215
+ is_nullable = self.class.openapi_nullable.include?(attr)
216
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
217
+ end
218
+
219
+ hash[param] = _to_hash(value)
220
+ end
221
+ self.additional_properties.each_pair do |attr, value|
222
+ hash[attr] = value
223
+ end
224
+ hash
225
+ end
226
+
227
+ # Checks equality by comparing each attribute.
228
+ # @param o [Object] Object to be compared
229
+ # @!visibility private
230
+ def ==(o)
231
+ return true if self.equal?(o)
232
+ self.class == o.class &&
233
+ auth == o.auth &&
234
+ encoding == o.encoding &&
235
+ id == o.id &&
236
+ inputs == o.inputs &&
237
+ project == o.project &&
238
+ tls == o.tls &&
239
+ topic == o.topic &&
240
+ type == o.type &&
241
+ additional_properties == o.additional_properties
242
+ end
243
+
244
+ # Calculates hash code according to all attributes.
245
+ # @return [Integer] Hash code
246
+ # @!visibility private
247
+ def hash
248
+ [auth, encoding, id, inputs, project, tls, topic, type, additional_properties].hash
249
+ end
250
+ end
251
+ end
@@ -0,0 +1,27 @@
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
+ # Encoding format for log events.
21
+ class ObservabilityPipelineGooglePubSubDestinationEncoding
22
+ include BaseEnumModel
23
+
24
+ JSON = "json".freeze
25
+ RAW_MESSAGE = "raw_message".freeze
26
+ end
27
+ 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
+ # The destination type. The value should always be `google_pubsub`.
21
+ class ObservabilityPipelineGooglePubSubDestinationType
22
+ include BaseEnumModel
23
+
24
+ GOOGLE_PUBSUB = "google_pubsub".freeze
25
+ end
26
+ end
@@ -27,6 +27,9 @@ module DatadogAPIClient::V2
27
27
  # Creation date of the API key.
28
28
  attr_accessor :created_at
29
29
 
30
+ # Date the API Key was last used.
31
+ attr_accessor :date_last_used
32
+
30
33
  # The last four characters of the API key.
31
34
  attr_reader :last4
32
35
 
@@ -47,6 +50,7 @@ module DatadogAPIClient::V2
47
50
  {
48
51
  :'category' => :'category',
49
52
  :'created_at' => :'created_at',
53
+ :'date_last_used' => :'date_last_used',
50
54
  :'last4' => :'last4',
51
55
  :'modified_at' => :'modified_at',
52
56
  :'name' => :'name',
@@ -60,6 +64,7 @@ module DatadogAPIClient::V2
60
64
  {
61
65
  :'category' => :'String',
62
66
  :'created_at' => :'String',
67
+ :'date_last_used' => :'Time',
63
68
  :'last4' => :'String',
64
69
  :'modified_at' => :'String',
65
70
  :'name' => :'String',
@@ -67,6 +72,14 @@ module DatadogAPIClient::V2
67
72
  }
68
73
  end
69
74
 
75
+ # List of attributes with nullable: true
76
+ # @!visibility private
77
+ def self.openapi_nullable
78
+ Set.new([
79
+ :'date_last_used',
80
+ ])
81
+ end
82
+
70
83
  # Initializes the object
71
84
  # @param attributes [Hash] Model attributes in the form of hash
72
85
  # @!visibility private
@@ -93,6 +106,10 @@ module DatadogAPIClient::V2
93
106
  self.created_at = attributes[:'created_at']
94
107
  end
95
108
 
109
+ if attributes.key?(:'date_last_used')
110
+ self.date_last_used = attributes[:'date_last_used']
111
+ end
112
+
96
113
  if attributes.key?(:'last4')
97
114
  self.last4 = attributes[:'last4']
98
115
  end
@@ -160,6 +177,7 @@ module DatadogAPIClient::V2
160
177
  self.class == o.class &&
161
178
  category == o.category &&
162
179
  created_at == o.created_at &&
180
+ date_last_used == o.date_last_used &&
163
181
  last4 == o.last4 &&
164
182
  modified_at == o.modified_at &&
165
183
  name == o.name &&
@@ -171,7 +189,7 @@ module DatadogAPIClient::V2
171
189
  # @return [Integer] Hash code
172
190
  # @!visibility private
173
191
  def hash
174
- [category, created_at, last4, modified_at, name, remote_config_read_enabled, additional_properties].hash
192
+ [category, created_at, date_last_used, last4, modified_at, name, remote_config_read_enabled, additional_properties].hash
175
193
  end
176
194
  end
177
195
  end