datadog_api_client 2.55.0 → 2.56.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 (298) hide show
  1. checksums.yaml +4 -4
  2. data/.generator/schemas/v1/openapi.yaml +186 -0
  3. data/.generator/schemas/v2/openapi.yaml +6914 -290
  4. data/CHANGELOG.md +35 -0
  5. data/examples/v1/logs-pipelines/CreateLogsPipeline_104735144.rb +32 -0
  6. data/examples/v1/logs-pipelines/CreateLogsPipeline_1185292896.rb +42 -0
  7. data/examples/v1/logs-pipelines/CreateLogsPipeline_2402034476.rb +29 -0
  8. data/examples/v1/logs-pipelines/CreateLogsPipeline_3996915493.rb +38 -0
  9. data/examples/v1/monitors/CreateMonitor_1539578087.rb +1 -0
  10. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_129899466.rb +1 -1
  11. data/examples/v2/ci-visibility-pipelines/CreateCIAppPipelineEvent_4007074677.rb +23 -0
  12. data/examples/v2/cloud-cost-management/DeleteCustomForecast.rb +8 -0
  13. data/examples/v2/cloud-cost-management/UpsertBudget.rb +14 -0
  14. data/examples/v2/cloud-cost-management/UpsertCustomForecast.rb +30 -0
  15. data/examples/v2/code-coverage/GetCodeCoverageBranchSummary.rb +1 -0
  16. data/examples/v2/code-coverage/GetCodeCoverageCommitSummary.rb +1 -0
  17. data/examples/v2/feature-flags/CreateVariantForFeatureFlag.rb +11 -0
  18. data/examples/v2/feature-flags/DeleteVariantFromFeatureFlag.rb +5 -0
  19. data/examples/v2/feature-flags/UpdateVariantForFeatureFlag.rb +10 -0
  20. data/examples/v2/governance-controls/GetGovernanceControl.rb +8 -0
  21. data/examples/v2/governance-controls/ListGovernanceControls.rb +8 -0
  22. data/examples/v2/governance-controls/UpdateGovernanceControl.rb +22 -0
  23. data/examples/v2/governance-insights/ListGovernanceInsights.rb +8 -0
  24. data/examples/v2/metrics/CreateTagIndexingRule.rb +3 -0
  25. data/examples/v2/metrics/CreateTagIndexingRuleExemption.rb +3 -0
  26. data/examples/v2/metrics/DeleteTagIndexingRule.rb +3 -0
  27. data/examples/v2/metrics/DeleteTagIndexingRuleExemption.rb +3 -0
  28. data/examples/v2/metrics/GetTagIndexingRule.rb +3 -0
  29. data/examples/v2/metrics/GetTagIndexingRuleExemption.rb +3 -0
  30. data/examples/v2/metrics/ListTagIndexingRules.rb +3 -0
  31. data/examples/v2/metrics/ListTagIndexingRulesForMetric.rb +3 -0
  32. data/examples/v2/metrics/ReorderTagIndexingRules.rb +3 -0
  33. data/examples/v2/metrics/UpdateTagIndexingRule.rb +3 -0
  34. data/examples/v2/observability-pipelines/ValidatePipeline_1238441879.rb +61 -0
  35. data/examples/v2/observability-pipelines/ValidatePipeline_253109967.rb +83 -0
  36. data/examples/v2/observability-pipelines/ValidatePipeline_337125830.rb +56 -0
  37. data/examples/v2/observability-pipelines/ValidatePipeline_620504950.rb +66 -0
  38. data/examples/v2/report-schedules/CreateReportSchedule.rb +1 -1
  39. data/examples/v2/report-schedules/DeleteReportSchedule.rb +5 -0
  40. data/examples/v2/report-schedules/GetReportSchedule.rb +5 -0
  41. data/examples/v2/report-schedules/GetReportSchedulesForResource.rb +5 -0
  42. data/examples/v2/report-schedules/ListReportSchedules.rb +5 -0
  43. data/examples/v2/report-schedules/PatchReportSchedule.rb +1 -1
  44. data/examples/v2/report-schedules/ToggleReportSchedule.rb +14 -0
  45. data/examples/v2/rum-remote-config/GetRumSdkConfig.rb +8 -0
  46. data/examples/v2/rum-remote-config/UpdateRumSdkConfig.rb +94 -0
  47. data/examples/v2/security-monitoring/CreateSecurityFindingsAutomationDueDateRule.rb +33 -0
  48. data/examples/v2/security-monitoring/CreateSecurityFindingsAutomationMuteRule.rb +27 -0
  49. data/examples/v2/security-monitoring/CreateSecurityFindingsAutomationTicketCreationRule.rb +29 -0
  50. data/examples/v2/security-monitoring/DeleteSecurityFindingsAutomationDueDateRule.rb +11 -0
  51. data/examples/v2/security-monitoring/DeleteSecurityFindingsAutomationMuteRule.rb +11 -0
  52. data/examples/v2/security-monitoring/DeleteSecurityFindingsAutomationTicketCreationRule.rb +11 -0
  53. data/examples/v2/security-monitoring/GetSecurityFindingsAutomationDueDateRule.rb +11 -0
  54. data/examples/v2/security-monitoring/GetSecurityFindingsAutomationMuteRule.rb +11 -0
  55. data/examples/v2/security-monitoring/GetSecurityFindingsAutomationTicketCreationRule.rb +11 -0
  56. data/examples/v2/security-monitoring/ImportSecurityVulnerabilities.rb +77 -0
  57. data/examples/v2/security-monitoring/ListSecurityFindingsAutomationDueDateRules.rb +8 -0
  58. data/examples/v2/security-monitoring/ListSecurityFindingsAutomationMuteRules.rb +8 -0
  59. data/examples/v2/security-monitoring/ListSecurityFindingsAutomationTicketCreationRules.rb +8 -0
  60. data/examples/v2/security-monitoring/ReorderSecurityFindingsAutomationDueDateRules.rb +20 -0
  61. data/examples/v2/security-monitoring/ReorderSecurityFindingsAutomationMuteRules.rb +20 -0
  62. data/examples/v2/security-monitoring/ReorderSecurityFindingsAutomationTicketCreationRules.rb +20 -0
  63. data/examples/v2/security-monitoring/UpdateSecurityFindingsAutomationDueDateRule.rb +36 -0
  64. data/examples/v2/security-monitoring/UpdateSecurityFindingsAutomationMuteRule.rb +30 -0
  65. data/examples/v2/security-monitoring/UpdateSecurityFindingsAutomationTicketCreationRule.rb +32 -0
  66. data/examples/v2/status-pages/EditDegradationUpdate.rb +16 -0
  67. data/examples/v2/status-pages/SoftDeleteDegradationUpdate.rb +5 -0
  68. data/examples/v2/test-optimization/UpdateTestOptimizationServiceSettings.rb +7 -2
  69. data/examples/v2/workflow-automation/CreateWorkflow.rb +1 -1
  70. data/examples/v2/workflow-automation/UpdateWorkflow.rb +1 -1
  71. data/lib/datadog_api_client/configuration.rb +39 -1
  72. data/lib/datadog_api_client/inflector.rb +190 -0
  73. data/lib/datadog_api_client/v1/models/logs_array_map_arithmetic_sub_processor.rb +186 -0
  74. data/lib/datadog_api_client/v1/models/logs_array_map_attribute_remapper.rb +211 -0
  75. data/lib/datadog_api_client/v1/models/logs_array_map_category_sub_processor.rb +178 -0
  76. data/lib/datadog_api_client/v1/models/logs_array_map_processor.rb +228 -0
  77. data/lib/datadog_api_client/v1/models/logs_array_map_processor_type.rb +26 -0
  78. data/lib/datadog_api_client/v1/models/logs_array_map_string_builder_sub_processor.rb +186 -0
  79. data/lib/datadog_api_client/v1/models/logs_array_map_sub_processor.rb +67 -0
  80. data/lib/datadog_api_client/v1/models/logs_processor.rb +2 -1
  81. data/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +154 -1
  82. data/lib/datadog_api_client/v2/api/compliance_api.rb +5 -0
  83. data/lib/datadog_api_client/v2/api/feature_flags_api.rb +229 -0
  84. data/lib/datadog_api_client/v2/api/governance_controls_api.rb +246 -0
  85. data/lib/datadog_api_client/v2/api/governance_insights_api.rb +101 -0
  86. data/lib/datadog_api_client/v2/api/metrics_api.rb +67 -1
  87. data/lib/datadog_api_client/v2/api/report_schedules_api.rb +362 -0
  88. data/lib/datadog_api_client/v2/api/rum_remote_config_api.rb +176 -0
  89. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +1544 -119
  90. data/lib/datadog_api_client/v2/api/status_pages_api.rb +159 -0
  91. data/lib/datadog_api_client/v2/api/test_optimization_api.rb +3 -1
  92. data/lib/datadog_api_client/v2/models/automation_rule_actor_type.rb +27 -0
  93. data/lib/datadog_api_client/v2/models/automation_rule_created_by.rb +165 -0
  94. data/lib/datadog_api_client/v2/models/automation_rule_modified_by.rb +165 -0
  95. data/lib/datadog_api_client/v2/models/automation_rule_scope.rb +150 -0
  96. data/lib/datadog_api_client/v2/models/branch_coverage_summary_request_attributes.rb +27 -10
  97. data/lib/datadog_api_client/v2/models/budget_attributes.rb +41 -1
  98. data/lib/datadog_api_client/v2/models/budget_attributes_costs.rb +146 -0
  99. data/lib/datadog_api_client/v2/models/budget_attributes_costs_unit.rb +155 -0
  100. data/lib/datadog_api_client/v2/models/budget_with_entries_data_attributes_entries_items.rb +11 -1
  101. data/lib/datadog_api_client/v2/models/budget_with_entries_data_attributes_entries_items_costs.rb +157 -0
  102. data/lib/datadog_api_client/v2/models/ci_app_pipeline_event_finished_job.rb +427 -0
  103. data/lib/datadog_api_client/v2/models/ci_app_pipeline_event_in_progress_job.rb +406 -0
  104. data/lib/datadog_api_client/v2/models/ci_app_pipeline_event_job.rb +36 -399
  105. data/lib/datadog_api_client/v2/models/ci_app_pipeline_event_job_in_progress_status.rb +26 -0
  106. data/lib/datadog_api_client/v2/models/commit_coverage_summary_request_attributes.rb +27 -10
  107. data/lib/datadog_api_client/v2/models/create_backfilled_maintenance_request_data_attributes_updates_items.rb +1 -12
  108. data/lib/datadog_api_client/v2/models/create_maintenance_request_data_attributes.rb +1 -12
  109. data/lib/datadog_api_client/v2/models/create_status_page_request_data_attributes.rb +31 -1
  110. data/lib/datadog_api_client/v2/models/custom_forecast_entry.rb +167 -0
  111. data/lib/datadog_api_client/v2/models/custom_forecast_entry_tag_filter.rb +144 -0
  112. data/lib/datadog_api_client/v2/models/custom_forecast_response.rb +123 -0
  113. data/lib/datadog_api_client/v2/models/custom_forecast_response_data.rb +165 -0
  114. data/lib/datadog_api_client/v2/models/custom_forecast_response_data_attributes.rb +230 -0
  115. data/lib/datadog_api_client/v2/models/custom_forecast_type.rb +26 -0
  116. data/lib/datadog_api_client/v2/models/custom_forecast_upsert_request.rb +123 -0
  117. data/lib/datadog_api_client/v2/models/custom_forecast_upsert_request_data.rb +154 -0
  118. data/lib/datadog_api_client/v2/models/custom_forecast_upsert_request_data_attributes.rb +147 -0
  119. data/lib/datadog_api_client/v2/models/cyclone_dx_bom.rb +221 -0
  120. data/lib/datadog_api_client/v2/models/cyclone_dx_component.rb +196 -0
  121. data/lib/datadog_api_client/v2/models/cyclone_dx_component_type.rb +28 -0
  122. data/lib/datadog_api_client/v2/models/cyclone_dx_metadata.rb +144 -0
  123. data/lib/datadog_api_client/v2/models/cyclone_dx_metadata_component.rb +143 -0
  124. data/lib/datadog_api_client/v2/models/cyclone_dx_metadata_tools.rb +125 -0
  125. data/lib/datadog_api_client/v2/models/cyclone_dx_tool_component.rb +133 -0
  126. data/lib/datadog_api_client/v2/models/cyclone_dx_vulnerability.rb +237 -0
  127. data/lib/datadog_api_client/v2/models/cyclone_dx_vulnerability_advisory.rb +105 -0
  128. data/lib/datadog_api_client/v2/models/cyclone_dx_vulnerability_affects.rb +123 -0
  129. data/lib/datadog_api_client/v2/models/cyclone_dx_vulnerability_analysis.rb +107 -0
  130. data/lib/datadog_api_client/v2/models/cyclone_dx_vulnerability_rating.rb +125 -0
  131. data/lib/datadog_api_client/v2/models/cyclone_dx_vulnerability_reference.rb +115 -0
  132. data/lib/datadog_api_client/v2/models/cyclone_dx_vulnerability_reference_source.rb +105 -0
  133. data/lib/datadog_api_client/v2/models/degradation_data_attributes_updates_items.rb +21 -1
  134. data/lib/datadog_api_client/v2/models/degradation_update.rb +117 -0
  135. data/lib/datadog_api_client/v2/models/degradation_update_data.rb +153 -0
  136. data/lib/datadog_api_client/v2/models/degradation_update_data_attributes.rb +167 -0
  137. data/lib/datadog_api_client/v2/models/degradation_update_data_attributes_components_affected_items.rb +154 -0
  138. data/lib/datadog_api_client/v2/models/degradation_update_data_relationships.rb +145 -0
  139. data/lib/datadog_api_client/v2/models/degradation_update_data_relationships_degradation.rb +123 -0
  140. data/lib/datadog_api_client/v2/models/degradation_update_data_relationships_degradation_data.rb +144 -0
  141. data/lib/datadog_api_client/v2/models/degradation_update_data_relationships_status_page.rb +123 -0
  142. data/lib/datadog_api_client/v2/models/degradation_update_data_relationships_status_page_data.rb +144 -0
  143. data/lib/datadog_api_client/v2/models/degradation_update_data_relationships_user.rb +123 -0
  144. data/lib/datadog_api_client/v2/models/degradation_update_data_relationships_user_data.rb +144 -0
  145. data/lib/datadog_api_client/v2/models/degradation_update_included.rb +64 -0
  146. data/lib/datadog_api_client/v2/models/due_date_from.rb +27 -0
  147. data/lib/datadog_api_client/v2/models/due_date_per_severity_item.rb +152 -0
  148. data/lib/datadog_api_client/v2/models/due_date_rule_action.rb +167 -0
  149. data/lib/datadog_api_client/v2/models/due_date_rule_attributes_create.rb +183 -0
  150. data/lib/datadog_api_client/v2/models/due_date_rule_attributes_response.rb +278 -0
  151. data/lib/datadog_api_client/v2/models/due_date_rule_create_request.rb +123 -0
  152. data/lib/datadog_api_client/v2/models/due_date_rule_data_create.rb +144 -0
  153. data/lib/datadog_api_client/v2/models/due_date_rule_data_response.rb +165 -0
  154. data/lib/datadog_api_client/v2/models/due_date_rule_reorder_item.rb +144 -0
  155. data/lib/datadog_api_client/v2/models/due_date_rule_reorder_request.rb +125 -0
  156. data/lib/datadog_api_client/v2/models/due_date_rule_response.rb +123 -0
  157. data/lib/datadog_api_client/v2/models/due_date_rule_type.rb +26 -0
  158. data/lib/datadog_api_client/v2/models/due_date_rule_update_request.rb +123 -0
  159. data/lib/datadog_api_client/v2/models/due_date_rules_response.rb +167 -0
  160. data/lib/datadog_api_client/v2/models/due_date_severity.rb +32 -0
  161. data/lib/datadog_api_client/v2/models/governance_best_practice_definition.rb +379 -0
  162. data/lib/datadog_api_client/v2/models/governance_control_attributes.rb +739 -0
  163. data/lib/datadog_api_client/v2/models/governance_control_data.rb +165 -0
  164. data/lib/datadog_api_client/v2/models/governance_control_mitigation_definition.rb +309 -0
  165. data/lib/datadog_api_client/v2/models/governance_control_parameter_definition.rb +272 -0
  166. data/lib/datadog_api_client/v2/models/governance_control_resource_type.rb +26 -0
  167. data/lib/datadog_api_client/v2/models/governance_control_response.rb +123 -0
  168. data/lib/datadog_api_client/v2/models/governance_control_supported_value.rb +144 -0
  169. data/lib/datadog_api_client/v2/models/governance_control_update_attributes.rb +175 -0
  170. data/lib/datadog_api_client/v2/models/governance_control_update_data.rb +143 -0
  171. data/lib/datadog_api_client/v2/models/governance_control_update_request.rb +123 -0
  172. data/lib/datadog_api_client/v2/models/governance_controls_response.rb +125 -0
  173. data/lib/datadog_api_client/v2/models/governance_insight_attributes.rb +448 -0
  174. data/lib/datadog_api_client/v2/models/governance_insight_audit_compute.rb +175 -0
  175. data/lib/datadog_api_client/v2/models/governance_insight_audit_query.rb +188 -0
  176. data/lib/datadog_api_client/v2/models/governance_insight_data.rb +165 -0
  177. data/lib/datadog_api_client/v2/models/governance_insight_event_compute.rb +144 -0
  178. data/lib/datadog_api_client/v2/models/governance_insight_event_query.rb +156 -0
  179. data/lib/datadog_api_client/v2/models/governance_insight_metric_query.rb +165 -0
  180. data/lib/datadog_api_client/v2/models/governance_insight_percentage_query.rb +144 -0
  181. data/lib/datadog_api_client/v2/models/governance_insight_query_config.rb +175 -0
  182. data/lib/datadog_api_client/v2/models/governance_insight_resource_type.rb +26 -0
  183. data/lib/datadog_api_client/v2/models/governance_insight_usage_query.rb +144 -0
  184. data/lib/datadog_api_client/v2/models/governance_insights_response.rb +125 -0
  185. data/lib/datadog_api_client/v2/models/metric.rb +12 -2
  186. data/lib/datadog_api_client/v2/models/metric_ingested_indexed_volume_attributes.rb +2 -2
  187. data/lib/datadog_api_client/v2/models/metric_relationships.rb +105 -0
  188. data/lib/datadog_api_client/v2/models/metric_tag_configuration.rb +11 -1
  189. data/lib/datadog_api_client/v2/models/metric_volumes_relationship.rb +105 -0
  190. data/lib/datadog_api_client/v2/models/metric_volumes_relationship_data.rb +115 -0
  191. data/lib/datadog_api_client/v2/models/metrics_and_metric_tag_configurations_response.rb +13 -1
  192. data/lib/datadog_api_client/v2/models/mute_reason.rb +31 -0
  193. data/lib/datadog_api_client/v2/models/mute_rule_action.rb +154 -0
  194. data/lib/datadog_api_client/v2/models/mute_rule_attributes_create.rb +183 -0
  195. data/lib/datadog_api_client/v2/models/mute_rule_attributes_response.rb +278 -0
  196. data/lib/datadog_api_client/v2/models/mute_rule_create_request.rb +123 -0
  197. data/lib/datadog_api_client/v2/models/mute_rule_data_create.rb +144 -0
  198. data/lib/datadog_api_client/v2/models/mute_rule_data_response.rb +165 -0
  199. data/lib/datadog_api_client/v2/models/mute_rule_reorder_item.rb +144 -0
  200. data/lib/datadog_api_client/v2/models/mute_rule_reorder_request.rb +125 -0
  201. data/lib/datadog_api_client/v2/models/mute_rule_response.rb +123 -0
  202. data/lib/datadog_api_client/v2/models/mute_rule_type.rb +26 -0
  203. data/lib/datadog_api_client/v2/models/mute_rule_update_request.rb +123 -0
  204. data/lib/datadog_api_client/v2/models/mute_rules_response.rb +167 -0
  205. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination.rb +318 -0
  206. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination_auth.rb +144 -0
  207. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination_auth_strategy.rb +26 -0
  208. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination_batch.rb +148 -0
  209. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination_batch_encoding.rb +135 -0
  210. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination_batch_encoding_codec.rb +26 -0
  211. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination_compression.rb +65 -0
  212. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination_compression_algorithm.rb +27 -0
  213. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination_compression_object.rb +149 -0
  214. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination_format.rb +33 -0
  215. data/lib/datadog_api_client/v2/models/observability_pipeline_clickhouse_destination_type.rb +26 -0
  216. data/lib/datadog_api_client/v2/models/observability_pipeline_cloud_prem_destination.rb +11 -1
  217. data/lib/datadog_api_client/v2/models/observability_pipeline_config_destination_item.rb +1 -0
  218. data/lib/datadog_api_client/v2/models/observability_pipeline_config_source_item.rb +1 -0
  219. data/lib/datadog_api_client/v2/models/observability_pipeline_websocket_source.rb +248 -0
  220. data/lib/datadog_api_client/v2/models/observability_pipeline_websocket_source_auth_strategy.rb +29 -0
  221. data/lib/datadog_api_client/v2/models/observability_pipeline_websocket_source_tls.rb +63 -0
  222. data/lib/datadog_api_client/v2/models/observability_pipeline_websocket_source_tls_enabled.rb +123 -0
  223. data/lib/datadog_api_client/v2/models/observability_pipeline_websocket_source_tls_enabled_mode.rb +26 -0
  224. data/lib/datadog_api_client/v2/models/observability_pipeline_websocket_source_tls_with_client_cert.rb +174 -0
  225. data/lib/datadog_api_client/v2/models/observability_pipeline_websocket_source_tls_with_client_cert_mode.rb +26 -0
  226. data/lib/datadog_api_client/v2/models/observability_pipeline_websocket_source_type.rb +26 -0
  227. data/lib/datadog_api_client/v2/models/patch_degradation_update_request.rb +105 -0
  228. data/lib/datadog_api_client/v2/models/patch_degradation_update_request_data.rb +143 -0
  229. data/lib/datadog_api_client/v2/models/patch_degradation_update_request_data_attributes.rb +115 -0
  230. data/lib/datadog_api_client/v2/models/patch_degradation_update_request_data_attributes_status.rb +28 -0
  231. data/lib/datadog_api_client/v2/models/patch_degradation_update_request_data_type.rb +26 -0
  232. data/lib/datadog_api_client/v2/models/patch_status_page_request_data_attributes.rb +21 -1
  233. data/lib/datadog_api_client/v2/models/report_schedule_included_resource.rb +2 -1
  234. data/lib/datadog_api_client/v2/models/report_schedule_included_resource_type.rb +26 -0
  235. data/lib/datadog_api_client/v2/models/report_schedule_index_template_variable.rb +150 -0
  236. data/lib/datadog_api_client/v2/models/report_schedule_list_resource_relationship.rb +123 -0
  237. data/lib/datadog_api_client/v2/models/report_schedule_list_resource_relationship_data.rb +144 -0
  238. data/lib/datadog_api_client/v2/models/report_schedule_list_response.rb +157 -0
  239. data/lib/datadog_api_client/v2/models/report_schedule_list_response_attributes.rb +335 -0
  240. data/lib/datadog_api_client/v2/models/report_schedule_list_response_data.rb +186 -0
  241. data/lib/datadog_api_client/v2/models/report_schedule_list_response_links.rb +157 -0
  242. data/lib/datadog_api_client/v2/models/report_schedule_list_response_meta.rb +105 -0
  243. data/lib/datadog_api_client/v2/models/report_schedule_list_response_pagination.rb +183 -0
  244. data/lib/datadog_api_client/v2/models/report_schedule_list_response_pagination_type.rb +26 -0
  245. data/lib/datadog_api_client/v2/models/report_schedule_list_response_relationships.rb +133 -0
  246. data/lib/datadog_api_client/v2/models/report_schedule_resource.rb +165 -0
  247. data/lib/datadog_api_client/v2/models/report_schedule_resource_attributes.rb +154 -0
  248. data/lib/datadog_api_client/v2/models/report_schedule_toggle_request.rb +123 -0
  249. data/lib/datadog_api_client/v2/models/report_schedule_toggle_request_attributes.rb +123 -0
  250. data/lib/datadog_api_client/v2/models/report_schedule_toggle_request_data.rb +144 -0
  251. data/lib/datadog_api_client/v2/models/rum_application_attributes.rb +11 -1
  252. data/lib/datadog_api_client/v2/models/rum_sdk_config_attributes.rb +123 -0
  253. data/lib/datadog_api_client/v2/models/rum_sdk_config_data.rb +175 -0
  254. data/lib/datadog_api_client/v2/models/rum_sdk_config_dynamic_option.rb +204 -0
  255. data/lib/datadog_api_client/v2/models/rum_sdk_config_dynamic_option_pair.rb +144 -0
  256. data/lib/datadog_api_client/v2/models/rum_sdk_config_dynamic_option_serialized_type.rb +26 -0
  257. data/lib/datadog_api_client/v2/models/rum_sdk_config_dynamic_option_strategy.rb +29 -0
  258. data/lib/datadog_api_client/v2/models/rum_sdk_config_match_option.rb +144 -0
  259. data/lib/datadog_api_client/v2/models/rum_sdk_config_match_option_serialized_type.rb +27 -0
  260. data/lib/datadog_api_client/v2/models/rum_sdk_config_meta.rb +144 -0
  261. data/lib/datadog_api_client/v2/models/rum_sdk_config_response.rb +123 -0
  262. data/lib/datadog_api_client/v2/models/rum_sdk_config_rum_attributes.rb +336 -0
  263. data/lib/datadog_api_client/v2/models/rum_sdk_config_rum_update_attributes.rb +315 -0
  264. data/lib/datadog_api_client/v2/models/rum_sdk_config_serialized_regex.rb +144 -0
  265. data/lib/datadog_api_client/v2/models/rum_sdk_config_serialized_regex_type.rb +26 -0
  266. data/lib/datadog_api_client/v2/models/rum_sdk_config_tracing_url_config.rb +146 -0
  267. data/lib/datadog_api_client/v2/models/rum_sdk_config_tracing_url_propagator_type.rb +29 -0
  268. data/lib/datadog_api_client/v2/models/rum_sdk_config_type.rb +26 -0
  269. data/lib/datadog_api_client/v2/models/rum_sdk_config_update_attributes.rb +123 -0
  270. data/lib/datadog_api_client/v2/models/rum_sdk_config_update_data.rb +165 -0
  271. data/lib/datadog_api_client/v2/models/rum_sdk_config_update_request.rb +123 -0
  272. data/lib/datadog_api_client/v2/models/security_automation_rules_links.rb +164 -0
  273. data/lib/datadog_api_client/v2/models/security_automation_rules_meta.rb +123 -0
  274. data/lib/datadog_api_client/v2/models/security_automation_rules_page_info.rb +123 -0
  275. data/lib/datadog_api_client/v2/models/security_finding_type.rb +36 -0
  276. data/lib/datadog_api_client/v2/models/security_monitoring_terraform_resource_type.rb +2 -0
  277. data/lib/datadog_api_client/v2/models/status_page_as_included_attributes.rb +21 -1
  278. data/lib/datadog_api_client/v2/models/status_page_data_attributes.rb +21 -1
  279. data/lib/datadog_api_client/v2/models/test_optimization_service_settings_attributes.rb +54 -4
  280. data/lib/datadog_api_client/v2/models/test_optimization_update_service_settings_request_attributes.rb +60 -9
  281. data/lib/datadog_api_client/v2/models/test_optimization_update_service_settings_request_data.rb +1 -0
  282. data/lib/datadog_api_client/v2/models/ticket_creation_rule_action.rb +193 -0
  283. data/lib/datadog_api_client/v2/models/ticket_creation_rule_action_response.rb +203 -0
  284. data/lib/datadog_api_client/v2/models/ticket_creation_rule_attributes_create.rb +183 -0
  285. data/lib/datadog_api_client/v2/models/ticket_creation_rule_attributes_response.rb +278 -0
  286. data/lib/datadog_api_client/v2/models/ticket_creation_rule_create_request.rb +123 -0
  287. data/lib/datadog_api_client/v2/models/ticket_creation_rule_data_create.rb +144 -0
  288. data/lib/datadog_api_client/v2/models/ticket_creation_rule_data_response.rb +165 -0
  289. data/lib/datadog_api_client/v2/models/ticket_creation_rule_reorder_item.rb +144 -0
  290. data/lib/datadog_api_client/v2/models/ticket_creation_rule_reorder_request.rb +125 -0
  291. data/lib/datadog_api_client/v2/models/ticket_creation_rule_response.rb +123 -0
  292. data/lib/datadog_api_client/v2/models/ticket_creation_rule_type.rb +26 -0
  293. data/lib/datadog_api_client/v2/models/ticket_creation_rule_update_request.rb +123 -0
  294. data/lib/datadog_api_client/v2/models/ticket_creation_rules_response.rb +167 -0
  295. data/lib/datadog_api_client/v2/models/ticket_creation_target.rb +27 -0
  296. data/lib/datadog_api_client/v2/models/update_variant_request.rb +115 -0
  297. data/lib/datadog_api_client/version.rb +1 -1
  298. metadata +237 -1
@@ -0,0 +1,230 @@
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
+ # Attributes of a custom forecast.
21
+ class CustomForecastResponseDataAttributes
22
+ include BaseGenericModel
23
+
24
+ # The UUID of the budget that this custom forecast belongs to.
25
+ attr_reader :budget_uid
26
+
27
+ # Timestamp the custom forecast was created, in Unix milliseconds.
28
+ attr_reader :created_at
29
+
30
+ # The id of the user that created the custom forecast.
31
+ attr_reader :created_by
32
+
33
+ # Monthly custom forecast entries.
34
+ attr_reader :entries
35
+
36
+ # Timestamp the custom forecast was last updated, in Unix milliseconds.
37
+ attr_reader :updated_at
38
+
39
+ # The id of the user that last updated the custom forecast.
40
+ attr_reader :updated_by
41
+
42
+ attr_accessor :additional_properties
43
+
44
+ # Attribute mapping from ruby-style variable name to JSON key.
45
+ # @!visibility private
46
+ def self.attribute_map
47
+ {
48
+ :'budget_uid' => :'budget_uid',
49
+ :'created_at' => :'created_at',
50
+ :'created_by' => :'created_by',
51
+ :'entries' => :'entries',
52
+ :'updated_at' => :'updated_at',
53
+ :'updated_by' => :'updated_by'
54
+ }
55
+ end
56
+
57
+ # Attribute type mapping.
58
+ # @!visibility private
59
+ def self.openapi_types
60
+ {
61
+ :'budget_uid' => :'String',
62
+ :'created_at' => :'Integer',
63
+ :'created_by' => :'String',
64
+ :'entries' => :'Array<CustomForecastEntry>',
65
+ :'updated_at' => :'Integer',
66
+ :'updated_by' => :'String'
67
+ }
68
+ end
69
+
70
+ # Initializes the object
71
+ # @param attributes [Hash] Model attributes in the form of hash
72
+ # @!visibility private
73
+ def initialize(attributes = {})
74
+ if (!attributes.is_a?(Hash))
75
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::CustomForecastResponseDataAttributes` initialize method"
76
+ end
77
+
78
+ self.additional_properties = {}
79
+ # check to see if the attribute exists and convert string to symbol for hash key
80
+ attributes = attributes.each_with_object({}) { |(k, v), h|
81
+ if (!self.class.attribute_map.key?(k.to_sym))
82
+ self.additional_properties[k.to_sym] = v
83
+ else
84
+ h[k.to_sym] = v
85
+ end
86
+ }
87
+
88
+ if attributes.key?(:'budget_uid')
89
+ self.budget_uid = attributes[:'budget_uid']
90
+ end
91
+
92
+ if attributes.key?(:'created_at')
93
+ self.created_at = attributes[:'created_at']
94
+ end
95
+
96
+ if attributes.key?(:'created_by')
97
+ self.created_by = attributes[:'created_by']
98
+ end
99
+
100
+ if attributes.key?(:'entries')
101
+ if (value = attributes[:'entries']).is_a?(Array)
102
+ self.entries = value
103
+ end
104
+ end
105
+
106
+ if attributes.key?(:'updated_at')
107
+ self.updated_at = attributes[:'updated_at']
108
+ end
109
+
110
+ if attributes.key?(:'updated_by')
111
+ self.updated_by = attributes[:'updated_by']
112
+ end
113
+ end
114
+
115
+ # Check to see if the all the properties in the model are valid
116
+ # @return true if the model is valid
117
+ # @!visibility private
118
+ def valid?
119
+ return false if @budget_uid.nil?
120
+ return false if @created_at.nil?
121
+ return false if @created_by.nil?
122
+ return false if @entries.nil?
123
+ return false if @updated_at.nil?
124
+ return false if @updated_by.nil?
125
+ true
126
+ end
127
+
128
+ # Custom attribute writer method with validation
129
+ # @param budget_uid [Object] Object to be assigned
130
+ # @!visibility private
131
+ def budget_uid=(budget_uid)
132
+ if budget_uid.nil?
133
+ fail ArgumentError, 'invalid value for "budget_uid", budget_uid cannot be nil.'
134
+ end
135
+ @budget_uid = budget_uid
136
+ end
137
+
138
+ # Custom attribute writer method with validation
139
+ # @param created_at [Object] Object to be assigned
140
+ # @!visibility private
141
+ def created_at=(created_at)
142
+ if created_at.nil?
143
+ fail ArgumentError, 'invalid value for "created_at", created_at cannot be nil.'
144
+ end
145
+ @created_at = created_at
146
+ end
147
+
148
+ # Custom attribute writer method with validation
149
+ # @param created_by [Object] Object to be assigned
150
+ # @!visibility private
151
+ def created_by=(created_by)
152
+ if created_by.nil?
153
+ fail ArgumentError, 'invalid value for "created_by", created_by cannot be nil.'
154
+ end
155
+ @created_by = created_by
156
+ end
157
+
158
+ # Custom attribute writer method with validation
159
+ # @param entries [Object] Object to be assigned
160
+ # @!visibility private
161
+ def entries=(entries)
162
+ if entries.nil?
163
+ fail ArgumentError, 'invalid value for "entries", entries cannot be nil.'
164
+ end
165
+ @entries = entries
166
+ end
167
+
168
+ # Custom attribute writer method with validation
169
+ # @param updated_at [Object] Object to be assigned
170
+ # @!visibility private
171
+ def updated_at=(updated_at)
172
+ if updated_at.nil?
173
+ fail ArgumentError, 'invalid value for "updated_at", updated_at cannot be nil.'
174
+ end
175
+ @updated_at = updated_at
176
+ end
177
+
178
+ # Custom attribute writer method with validation
179
+ # @param updated_by [Object] Object to be assigned
180
+ # @!visibility private
181
+ def updated_by=(updated_by)
182
+ if updated_by.nil?
183
+ fail ArgumentError, 'invalid value for "updated_by", updated_by cannot be nil.'
184
+ end
185
+ @updated_by = updated_by
186
+ end
187
+
188
+ # Returns the object in the form of hash, with additionalProperties support.
189
+ # @return [Hash] Returns the object in the form of hash
190
+ # @!visibility private
191
+ def to_hash
192
+ hash = {}
193
+ self.class.attribute_map.each_pair do |attr, param|
194
+ value = self.send(attr)
195
+ if value.nil?
196
+ is_nullable = self.class.openapi_nullable.include?(attr)
197
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
198
+ end
199
+
200
+ hash[param] = _to_hash(value)
201
+ end
202
+ self.additional_properties.each_pair do |attr, value|
203
+ hash[attr] = value
204
+ end
205
+ hash
206
+ end
207
+
208
+ # Checks equality by comparing each attribute.
209
+ # @param o [Object] Object to be compared
210
+ # @!visibility private
211
+ def ==(o)
212
+ return true if self.equal?(o)
213
+ self.class == o.class &&
214
+ budget_uid == o.budget_uid &&
215
+ created_at == o.created_at &&
216
+ created_by == o.created_by &&
217
+ entries == o.entries &&
218
+ updated_at == o.updated_at &&
219
+ updated_by == o.updated_by &&
220
+ additional_properties == o.additional_properties
221
+ end
222
+
223
+ # Calculates hash code according to all attributes.
224
+ # @return [Integer] Hash code
225
+ # @!visibility private
226
+ def hash
227
+ [budget_uid, created_at, created_by, entries, updated_at, updated_by, additional_properties].hash
228
+ end
229
+ end
230
+ 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 type of the custom forecast resource. Must be `custom_forecast`.
21
+ class CustomForecastType
22
+ include BaseEnumModel
23
+
24
+ CUSTOM_FORECAST = "custom_forecast".freeze
25
+ end
26
+ end
@@ -0,0 +1,123 @@
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
+ # Request body to upsert (create or replace) the custom forecast for a budget.
21
+ class CustomForecastUpsertRequest
22
+ include BaseGenericModel
23
+
24
+ # Custom forecast resource wrapper in an upsert request.
25
+ attr_reader :data
26
+
27
+ attr_accessor :additional_properties
28
+
29
+ # Attribute mapping from ruby-style variable name to JSON key.
30
+ # @!visibility private
31
+ def self.attribute_map
32
+ {
33
+ :'data' => :'data'
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ # @!visibility private
39
+ def self.openapi_types
40
+ {
41
+ :'data' => :'CustomForecastUpsertRequestData'
42
+ }
43
+ end
44
+
45
+ # Initializes the object
46
+ # @param attributes [Hash] Model attributes in the form of hash
47
+ # @!visibility private
48
+ def initialize(attributes = {})
49
+ if (!attributes.is_a?(Hash))
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::CustomForecastUpsertRequest` initialize method"
51
+ end
52
+
53
+ self.additional_properties = {}
54
+ # check to see if the attribute exists and convert string to symbol for hash key
55
+ attributes = attributes.each_with_object({}) { |(k, v), h|
56
+ if (!self.class.attribute_map.key?(k.to_sym))
57
+ self.additional_properties[k.to_sym] = v
58
+ else
59
+ h[k.to_sym] = v
60
+ end
61
+ }
62
+
63
+ if attributes.key?(:'data')
64
+ self.data = attributes[:'data']
65
+ end
66
+ end
67
+
68
+ # Check to see if the all the properties in the model are valid
69
+ # @return true if the model is valid
70
+ # @!visibility private
71
+ def valid?
72
+ return false if @data.nil?
73
+ true
74
+ end
75
+
76
+ # Custom attribute writer method with validation
77
+ # @param data [Object] Object to be assigned
78
+ # @!visibility private
79
+ def data=(data)
80
+ if data.nil?
81
+ fail ArgumentError, 'invalid value for "data", data cannot be nil.'
82
+ end
83
+ @data = data
84
+ end
85
+
86
+ # Returns the object in the form of hash, with additionalProperties support.
87
+ # @return [Hash] Returns the object in the form of hash
88
+ # @!visibility private
89
+ def to_hash
90
+ hash = {}
91
+ self.class.attribute_map.each_pair do |attr, param|
92
+ value = self.send(attr)
93
+ if value.nil?
94
+ is_nullable = self.class.openapi_nullable.include?(attr)
95
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
96
+ end
97
+
98
+ hash[param] = _to_hash(value)
99
+ end
100
+ self.additional_properties.each_pair do |attr, value|
101
+ hash[attr] = value
102
+ end
103
+ hash
104
+ end
105
+
106
+ # Checks equality by comparing each attribute.
107
+ # @param o [Object] Object to be compared
108
+ # @!visibility private
109
+ def ==(o)
110
+ return true if self.equal?(o)
111
+ self.class == o.class &&
112
+ data == o.data &&
113
+ additional_properties == o.additional_properties
114
+ end
115
+
116
+ # Calculates hash code according to all attributes.
117
+ # @return [Integer] Hash code
118
+ # @!visibility private
119
+ def hash
120
+ [data, additional_properties].hash
121
+ end
122
+ end
123
+ end
@@ -0,0 +1,154 @@
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
+ # Custom forecast resource wrapper in an upsert request.
21
+ class CustomForecastUpsertRequestData
22
+ include BaseGenericModel
23
+
24
+ # Attributes of a custom forecast upsert request.
25
+ attr_reader :attributes
26
+
27
+ # Unused on upsert; the resource is keyed by `budget_uid`. Send an empty string.
28
+ attr_accessor :id
29
+
30
+ # The type of the custom forecast resource. Must be `custom_forecast`.
31
+ attr_reader :type
32
+
33
+ attr_accessor :additional_properties
34
+
35
+ # Attribute mapping from ruby-style variable name to JSON key.
36
+ # @!visibility private
37
+ def self.attribute_map
38
+ {
39
+ :'attributes' => :'attributes',
40
+ :'id' => :'id',
41
+ :'type' => :'type'
42
+ }
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ # @!visibility private
47
+ def self.openapi_types
48
+ {
49
+ :'attributes' => :'CustomForecastUpsertRequestDataAttributes',
50
+ :'id' => :'String',
51
+ :'type' => :'CustomForecastType'
52
+ }
53
+ end
54
+
55
+ # Initializes the object
56
+ # @param attributes [Hash] Model attributes in the form of hash
57
+ # @!visibility private
58
+ def initialize(attributes = {})
59
+ if (!attributes.is_a?(Hash))
60
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::CustomForecastUpsertRequestData` initialize method"
61
+ end
62
+
63
+ self.additional_properties = {}
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!self.class.attribute_map.key?(k.to_sym))
67
+ self.additional_properties[k.to_sym] = v
68
+ else
69
+ h[k.to_sym] = v
70
+ end
71
+ }
72
+
73
+ if attributes.key?(:'attributes')
74
+ self.attributes = attributes[:'attributes']
75
+ end
76
+
77
+ if attributes.key?(:'id')
78
+ self.id = attributes[:'id']
79
+ end
80
+
81
+ if attributes.key?(:'type')
82
+ self.type = attributes[:'type']
83
+ end
84
+ end
85
+
86
+ # Check to see if the all the properties in the model are valid
87
+ # @return true if the model is valid
88
+ # @!visibility private
89
+ def valid?
90
+ return false if @attributes.nil?
91
+ return false if @type.nil?
92
+ true
93
+ end
94
+
95
+ # Custom attribute writer method with validation
96
+ # @param attributes [Object] Object to be assigned
97
+ # @!visibility private
98
+ def attributes=(attributes)
99
+ if attributes.nil?
100
+ fail ArgumentError, 'invalid value for "attributes", attributes cannot be nil.'
101
+ end
102
+ @attributes = attributes
103
+ end
104
+
105
+ # Custom attribute writer method with validation
106
+ # @param type [Object] Object to be assigned
107
+ # @!visibility private
108
+ def type=(type)
109
+ if type.nil?
110
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
111
+ end
112
+ @type = type
113
+ end
114
+
115
+ # Returns the object in the form of hash, with additionalProperties support.
116
+ # @return [Hash] Returns the object in the form of hash
117
+ # @!visibility private
118
+ def to_hash
119
+ hash = {}
120
+ self.class.attribute_map.each_pair do |attr, param|
121
+ value = self.send(attr)
122
+ if value.nil?
123
+ is_nullable = self.class.openapi_nullable.include?(attr)
124
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
125
+ end
126
+
127
+ hash[param] = _to_hash(value)
128
+ end
129
+ self.additional_properties.each_pair do |attr, value|
130
+ hash[attr] = value
131
+ end
132
+ hash
133
+ end
134
+
135
+ # Checks equality by comparing each attribute.
136
+ # @param o [Object] Object to be compared
137
+ # @!visibility private
138
+ def ==(o)
139
+ return true if self.equal?(o)
140
+ self.class == o.class &&
141
+ attributes == o.attributes &&
142
+ id == o.id &&
143
+ type == o.type &&
144
+ additional_properties == o.additional_properties
145
+ end
146
+
147
+ # Calculates hash code according to all attributes.
148
+ # @return [Integer] Hash code
149
+ # @!visibility private
150
+ def hash
151
+ [attributes, id, type, additional_properties].hash
152
+ end
153
+ end
154
+ end
@@ -0,0 +1,147 @@
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
+ # Attributes of a custom forecast upsert request.
21
+ class CustomForecastUpsertRequestDataAttributes
22
+ include BaseGenericModel
23
+
24
+ # The UUID of the budget that this custom forecast belongs to.
25
+ attr_reader :budget_uid
26
+
27
+ # Monthly custom forecast entries. An empty list deletes any existing
28
+ # custom forecast for the budget.
29
+ attr_reader :entries
30
+
31
+ attr_accessor :additional_properties
32
+
33
+ # Attribute mapping from ruby-style variable name to JSON key.
34
+ # @!visibility private
35
+ def self.attribute_map
36
+ {
37
+ :'budget_uid' => :'budget_uid',
38
+ :'entries' => :'entries'
39
+ }
40
+ end
41
+
42
+ # Attribute type mapping.
43
+ # @!visibility private
44
+ def self.openapi_types
45
+ {
46
+ :'budget_uid' => :'String',
47
+ :'entries' => :'Array<CustomForecastEntry>'
48
+ }
49
+ end
50
+
51
+ # Initializes the object
52
+ # @param attributes [Hash] Model attributes in the form of hash
53
+ # @!visibility private
54
+ def initialize(attributes = {})
55
+ if (!attributes.is_a?(Hash))
56
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::CustomForecastUpsertRequestDataAttributes` initialize method"
57
+ end
58
+
59
+ self.additional_properties = {}
60
+ # check to see if the attribute exists and convert string to symbol for hash key
61
+ attributes = attributes.each_with_object({}) { |(k, v), h|
62
+ if (!self.class.attribute_map.key?(k.to_sym))
63
+ self.additional_properties[k.to_sym] = v
64
+ else
65
+ h[k.to_sym] = v
66
+ end
67
+ }
68
+
69
+ if attributes.key?(:'budget_uid')
70
+ self.budget_uid = attributes[:'budget_uid']
71
+ end
72
+
73
+ if attributes.key?(:'entries')
74
+ if (value = attributes[:'entries']).is_a?(Array)
75
+ self.entries = value
76
+ end
77
+ end
78
+ end
79
+
80
+ # Check to see if the all the properties in the model are valid
81
+ # @return true if the model is valid
82
+ # @!visibility private
83
+ def valid?
84
+ return false if @budget_uid.nil?
85
+ return false if @entries.nil?
86
+ true
87
+ end
88
+
89
+ # Custom attribute writer method with validation
90
+ # @param budget_uid [Object] Object to be assigned
91
+ # @!visibility private
92
+ def budget_uid=(budget_uid)
93
+ if budget_uid.nil?
94
+ fail ArgumentError, 'invalid value for "budget_uid", budget_uid cannot be nil.'
95
+ end
96
+ @budget_uid = budget_uid
97
+ end
98
+
99
+ # Custom attribute writer method with validation
100
+ # @param entries [Object] Object to be assigned
101
+ # @!visibility private
102
+ def entries=(entries)
103
+ if entries.nil?
104
+ fail ArgumentError, 'invalid value for "entries", entries cannot be nil.'
105
+ end
106
+ @entries = entries
107
+ end
108
+
109
+ # Returns the object in the form of hash, with additionalProperties support.
110
+ # @return [Hash] Returns the object in the form of hash
111
+ # @!visibility private
112
+ def to_hash
113
+ hash = {}
114
+ self.class.attribute_map.each_pair do |attr, param|
115
+ value = self.send(attr)
116
+ if value.nil?
117
+ is_nullable = self.class.openapi_nullable.include?(attr)
118
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
119
+ end
120
+
121
+ hash[param] = _to_hash(value)
122
+ end
123
+ self.additional_properties.each_pair do |attr, value|
124
+ hash[attr] = value
125
+ end
126
+ hash
127
+ end
128
+
129
+ # Checks equality by comparing each attribute.
130
+ # @param o [Object] Object to be compared
131
+ # @!visibility private
132
+ def ==(o)
133
+ return true if self.equal?(o)
134
+ self.class == o.class &&
135
+ budget_uid == o.budget_uid &&
136
+ entries == o.entries &&
137
+ additional_properties == o.additional_properties
138
+ end
139
+
140
+ # Calculates hash code according to all attributes.
141
+ # @return [Integer] Hash code
142
+ # @!visibility private
143
+ def hash
144
+ [budget_uid, entries, additional_properties].hash
145
+ end
146
+ end
147
+ end