datadog_api_client 2.44.0 → 2.45.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 (318) hide show
  1. checksums.yaml +4 -4
  2. data/.generator/schemas/v1/openapi.yaml +564 -36
  3. data/.generator/schemas/v2/openapi.yaml +3946 -412
  4. data/CHANGELOG.md +25 -0
  5. data/examples/v2/aws-integration/CreateAWSEventBridgeSource.rb +17 -0
  6. data/examples/v2/aws-integration/DeleteAWSEventBridgeSource.rb +16 -0
  7. data/examples/v2/aws-integration/ListAWSEventBridgeSources.rb +5 -0
  8. data/examples/v2/fleet-automation/CreateFleetDeploymentConfigure.rb +1 -1
  9. data/examples/v2/fleet-automation/CreateFleetDeploymentUpgrade.rb +23 -0
  10. data/examples/v2/fleet-automation/CreateFleetSchedule.rb +30 -0
  11. data/examples/v2/fleet-automation/DeleteFleetSchedule.rb +8 -0
  12. data/examples/v2/fleet-automation/GetFleetDeployment.rb +2 -5
  13. data/examples/v2/fleet-automation/GetFleetDeployment_1482493803.rb +11 -0
  14. data/examples/v2/fleet-automation/GetFleetSchedule.rb +8 -0
  15. data/examples/v2/fleet-automation/ListFleetAgentVersions.rb +8 -0
  16. data/examples/v2/fleet-automation/ListFleetSchedules.rb +8 -0
  17. data/examples/v2/fleet-automation/TriggerFleetSchedule.rb +8 -0
  18. data/examples/v2/fleet-automation/UpdateFleetSchedule.rb +30 -0
  19. data/examples/v2/reference-tables/UpdateReferenceTable.rb +0 -1
  20. data/examples/v2/rum-audience-management/CreateConnection.rb +36 -0
  21. data/examples/v2/rum-audience-management/DeleteConnection.rb +8 -0
  22. data/examples/v2/rum-audience-management/GetAccountFacetInfo.rb +25 -0
  23. data/examples/v2/rum-audience-management/GetMapping.rb +8 -0
  24. data/examples/v2/rum-audience-management/GetUserFacetInfo.rb +25 -0
  25. data/examples/v2/rum-audience-management/ListConnections.rb +8 -0
  26. data/examples/v2/rum-audience-management/QueryAccounts.rb +34 -0
  27. data/examples/v2/rum-audience-management/QueryEventFilteredUsers.rb +37 -0
  28. data/examples/v2/rum-audience-management/QueryUsers.rb +34 -0
  29. data/examples/v2/rum-audience-management/UpdateConnection.rb +43 -0
  30. data/examples/v2/security-monitoring/CancelThreatHuntingJob.rb +8 -0
  31. data/examples/v2/security-monitoring/CancelThreatHuntingJob_1945505845.rb +12 -0
  32. data/examples/v2/security-monitoring/CreateSecurityMonitoringSuppression.rb +4 -0
  33. data/examples/v2/security-monitoring/{DeleteHistoricalJob.rb → DeleteThreatHuntingJob.rb} +2 -2
  34. data/examples/v2/security-monitoring/GetSecretsRules.rb +8 -0
  35. data/examples/v2/security-monitoring/GetThreatHuntingJob.rb +12 -0
  36. data/examples/v2/security-monitoring/ListMultipleRulesets.rb +17 -0
  37. data/examples/v2/security-monitoring/ListThreatHuntingJobs.rb +8 -0
  38. data/examples/v2/security-monitoring/ListThreatHuntingJobs_1365512061.rb +15 -0
  39. data/examples/v2/security-monitoring/{RunHistoricalJob.rb → RunThreatHuntingJob.rb} +9 -9
  40. data/examples/v2/software-catalog/PreviewCatalogEntities.rb +5 -0
  41. data/examples/v2/team-connections/CreateTeamConnections.rb +37 -0
  42. data/examples/v2/team-connections/DeleteTeamConnections.rb +17 -0
  43. data/examples/v2/team-connections/ListTeamConnections.rb +8 -0
  44. data/examples/v2/team-connections/ListTeamConnections_1473516764.rb +14 -0
  45. data/examples/v2/team-connections/ListTeamConnections_2418873869.rb +8 -0
  46. data/lib/datadog_api_client/configuration.rb +28 -5
  47. data/lib/datadog_api_client/inflector.rb +172 -12
  48. data/lib/datadog_api_client/v1/api/aws_integration_api.rb +18 -9
  49. data/lib/datadog_api_client/v1/api/aws_logs_integration_api.rb +1 -1
  50. data/lib/datadog_api_client/v1/api/key_management_api.rb +5 -0
  51. data/lib/datadog_api_client/v1/api/metrics_api.rb +5 -0
  52. data/lib/datadog_api_client/v1/models/aws_account.rb +5 -3
  53. data/lib/datadog_api_client/v1/models/formula_and_function_events_data_source.rb +1 -0
  54. data/lib/datadog_api_client/v1/models/usage_summary_date.rb +304 -4
  55. data/lib/datadog_api_client/v1/models/usage_summary_date_org.rb +304 -4
  56. data/lib/datadog_api_client/v1/models/usage_summary_response.rb +301 -1
  57. data/lib/datadog_api_client/v2/api/aws_integration_api.rb +194 -0
  58. data/lib/datadog_api_client/v2/api/error_tracking_api.rb +2 -2
  59. data/lib/datadog_api_client/v2/api/events_api.rb +2 -0
  60. data/lib/datadog_api_client/v2/api/fleet_automation_api.rb +683 -8
  61. data/lib/datadog_api_client/v2/api/incidents_api.rb +3 -0
  62. data/lib/datadog_api_client/v2/api/key_management_api.rb +4 -2
  63. data/lib/datadog_api_client/v2/api/reference_tables_api.rb +20 -16
  64. data/lib/datadog_api_client/v2/api/restriction_policies_api.rb +5 -3
  65. data/lib/datadog_api_client/v2/api/rum_audience_management_api.rb +765 -0
  66. data/lib/datadog_api_client/v2/api/security_monitoring_api.rb +344 -205
  67. data/lib/datadog_api_client/v2/api/software_catalog_api.rb +57 -0
  68. data/lib/datadog_api_client/v2/api/team_connections_api.rb +272 -0
  69. data/lib/datadog_api_client/v2/api/usage_metering_api.rb +1 -1
  70. data/lib/datadog_api_client/v2/models/aws_account_create_request_attributes.rb +2 -1
  71. data/lib/datadog_api_client/v2/models/aws_account_partition.rb +2 -1
  72. data/lib/datadog_api_client/v2/models/aws_account_response_attributes.rb +2 -1
  73. data/lib/datadog_api_client/v2/models/aws_account_response_data.rb +2 -1
  74. data/lib/datadog_api_client/v2/models/aws_account_update_request_attributes.rb +2 -1
  75. data/lib/datadog_api_client/v2/models/aws_account_update_request_data.rb +2 -1
  76. data/lib/datadog_api_client/v2/models/aws_event_bridge_account_configuration.rb +130 -0
  77. data/lib/datadog_api_client/v2/models/aws_event_bridge_create_request.rb +123 -0
  78. data/lib/datadog_api_client/v2/models/aws_event_bridge_create_request_attributes.rb +178 -0
  79. data/lib/datadog_api_client/v2/models/aws_event_bridge_create_request_data.rb +144 -0
  80. data/lib/datadog_api_client/v2/models/aws_event_bridge_create_response.rb +123 -0
  81. data/lib/datadog_api_client/v2/models/aws_event_bridge_create_response_attributes.rb +136 -0
  82. data/lib/datadog_api_client/v2/models/aws_event_bridge_create_response_data.rb +154 -0
  83. data/lib/datadog_api_client/v2/models/aws_event_bridge_create_status.rb +26 -0
  84. data/lib/datadog_api_client/v2/models/aws_event_bridge_delete_request.rb +123 -0
  85. data/lib/datadog_api_client/v2/models/aws_event_bridge_delete_request_attributes.rb +166 -0
  86. data/lib/datadog_api_client/v2/models/aws_event_bridge_delete_request_data.rb +144 -0
  87. data/lib/datadog_api_client/v2/models/aws_event_bridge_delete_response.rb +123 -0
  88. data/lib/datadog_api_client/v2/models/aws_event_bridge_delete_response_attributes.rb +105 -0
  89. data/lib/datadog_api_client/v2/models/aws_event_bridge_delete_response_data.rb +154 -0
  90. data/lib/datadog_api_client/v2/models/aws_event_bridge_delete_status.rb +26 -0
  91. data/lib/datadog_api_client/v2/models/aws_event_bridge_list_response.rb +123 -0
  92. data/lib/datadog_api_client/v2/models/aws_event_bridge_list_response_attributes.rb +117 -0
  93. data/lib/datadog_api_client/v2/models/aws_event_bridge_list_response_data.rb +165 -0
  94. data/lib/datadog_api_client/v2/models/aws_event_bridge_source.rb +116 -0
  95. data/lib/datadog_api_client/v2/models/aws_event_bridge_type.rb +26 -0
  96. data/lib/datadog_api_client/v2/models/aws_lambda_forwarder_config.rb +7 -4
  97. data/lib/datadog_api_client/v2/models/aws_log_source_tag_filter.rb +7 -3
  98. data/lib/datadog_api_client/v2/models/aws_logs_config.rb +3 -2
  99. data/lib/datadog_api_client/v2/models/aws_namespace_filters_exclude_only.rb +8 -4
  100. data/lib/datadog_api_client/v2/models/aws_namespace_tag_filter.rb +6 -4
  101. data/lib/datadog_api_client/v2/models/aws_resources_config.rb +5 -2
  102. data/lib/datadog_api_client/v2/models/connected_team_ref.rb +105 -0
  103. data/lib/datadog_api_client/v2/models/connected_team_ref_data.rb +144 -0
  104. data/lib/datadog_api_client/v2/models/connected_team_ref_data_type.rb +26 -0
  105. data/lib/datadog_api_client/v2/models/connections_page_pagination.rb +184 -0
  106. data/lib/datadog_api_client/v2/models/connections_response_meta.rb +105 -0
  107. data/lib/datadog_api_client/v2/models/convert_job_results_to_signals_attributes.rb +1 -1
  108. data/lib/datadog_api_client/v2/models/convert_job_results_to_signals_data.rb +2 -2
  109. data/lib/datadog_api_client/v2/models/convert_job_results_to_signals_request.rb +2 -2
  110. data/lib/datadog_api_client/v2/models/{historical_job_response.rb → create_connection_request.rb} +5 -5
  111. data/lib/datadog_api_client/v2/models/create_connection_request_data.rb +143 -0
  112. data/lib/datadog_api_client/v2/models/create_connection_request_data_attributes.rb +187 -0
  113. data/lib/datadog_api_client/v2/models/create_connection_request_data_attributes_fields_items.rb +197 -0
  114. data/lib/datadog_api_client/v2/models/create_table_request.rb +2 -2
  115. data/lib/datadog_api_client/v2/models/create_table_request_data.rb +6 -41
  116. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes.rb +6 -6
  117. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_file_metadata.rb +1 -1
  118. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_file_metadata_cloud_storage.rb +1 -1
  119. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_file_metadata_one_of_access_details.rb +4 -4
  120. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_file_metadata_one_of_access_details_aws_detail.rb +3 -3
  121. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_file_metadata_one_of_access_details_azure_detail.rb +5 -5
  122. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_file_metadata_one_of_access_details_gcp_detail.rb +4 -4
  123. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_schema.rb +2 -2
  124. data/lib/datadog_api_client/v2/models/create_table_request_data_attributes_schema_fields_items.rb +1 -1
  125. data/lib/datadog_api_client/v2/models/create_upload_request.rb +2 -2
  126. data/lib/datadog_api_client/v2/models/create_upload_request_data.rb +6 -41
  127. data/lib/datadog_api_client/v2/models/create_upload_request_data_attributes.rb +5 -5
  128. data/lib/datadog_api_client/v2/models/create_upload_response.rb +2 -2
  129. data/lib/datadog_api_client/v2/models/create_upload_response_data.rb +7 -32
  130. data/lib/datadog_api_client/v2/models/create_upload_response_data_attributes.rb +2 -2
  131. data/lib/datadog_api_client/v2/models/entity_response_array.rb +125 -0
  132. data/lib/datadog_api_client/v2/models/entity_response_data_attributes.rb +187 -0
  133. data/lib/datadog_api_client/v2/models/entity_response_data_relationships.rb +145 -0
  134. data/lib/datadog_api_client/v2/models/entity_response_data_relationships_incidents.rb +107 -0
  135. data/lib/datadog_api_client/v2/models/entity_response_data_relationships_incidents_data_items.rb +144 -0
  136. data/lib/datadog_api_client/v2/models/entity_response_data_relationships_incidents_data_items_type.rb +26 -0
  137. data/lib/datadog_api_client/v2/models/entity_response_data_relationships_oncalls.rb +107 -0
  138. data/lib/datadog_api_client/v2/models/entity_response_data_relationships_oncalls_data_items.rb +144 -0
  139. data/lib/datadog_api_client/v2/models/entity_response_data_relationships_oncalls_data_items_type.rb +26 -0
  140. data/lib/datadog_api_client/v2/models/entity_response_data_relationships_raw_schema.rb +123 -0
  141. data/lib/datadog_api_client/v2/models/entity_response_data_relationships_raw_schema_data.rb +144 -0
  142. data/lib/datadog_api_client/v2/models/entity_response_data_relationships_raw_schema_data_type.rb +26 -0
  143. data/lib/datadog_api_client/v2/models/entity_response_data_relationships_related_entities.rb +107 -0
  144. data/lib/datadog_api_client/v2/models/entity_response_data_relationships_related_entities_data_items.rb +144 -0
  145. data/lib/datadog_api_client/v2/models/entity_response_data_relationships_related_entities_data_items_type.rb +26 -0
  146. data/lib/datadog_api_client/v2/models/entity_response_data_relationships_schema.rb +123 -0
  147. data/lib/datadog_api_client/v2/models/entity_response_data_relationships_schema_data.rb +144 -0
  148. data/lib/datadog_api_client/v2/models/entity_response_data_relationships_schema_data_type.rb +26 -0
  149. data/lib/datadog_api_client/v2/models/entity_response_data_type.rb +26 -0
  150. data/lib/datadog_api_client/v2/models/facet_info_request.rb +105 -0
  151. data/lib/datadog_api_client/v2/models/facet_info_request_data.rb +143 -0
  152. data/lib/datadog_api_client/v2/models/facet_info_request_data_attributes.rb +164 -0
  153. data/lib/datadog_api_client/v2/models/facet_info_request_data_attributes_search.rb +105 -0
  154. data/lib/datadog_api_client/v2/models/facet_info_request_data_attributes_term_search.rb +105 -0
  155. data/lib/datadog_api_client/v2/models/facet_info_request_data_type.rb +26 -0
  156. data/lib/datadog_api_client/v2/models/facet_info_response.rb +105 -0
  157. data/lib/datadog_api_client/v2/models/facet_info_response_data.rb +143 -0
  158. data/lib/datadog_api_client/v2/models/facet_info_response_data_attributes.rb +105 -0
  159. data/lib/datadog_api_client/v2/models/facet_info_response_data_attributes_result.rb +117 -0
  160. data/lib/datadog_api_client/v2/models/facet_info_response_data_attributes_result_range.rb +115 -0
  161. data/lib/datadog_api_client/v2/models/facet_info_response_data_attributes_result_values_items.rb +115 -0
  162. data/lib/datadog_api_client/v2/models/facet_info_response_data_type.rb +26 -0
  163. data/lib/datadog_api_client/v2/models/fleet_agent_version.rb +154 -0
  164. data/lib/datadog_api_client/v2/models/fleet_agent_version_attributes.rb +105 -0
  165. data/lib/datadog_api_client/v2/models/fleet_agent_version_resource_type.rb +26 -0
  166. data/lib/datadog_api_client/v2/models/fleet_agent_versions_response.rb +125 -0
  167. data/lib/datadog_api_client/v2/models/fleet_deployment_attributes.rb +29 -2
  168. data/lib/datadog_api_client/v2/models/fleet_deployment_configure_create.rb +1 -1
  169. data/lib/datadog_api_client/v2/models/fleet_deployment_configure_create_request.rb +2 -2
  170. data/lib/datadog_api_client/v2/models/fleet_deployment_host.rb +137 -0
  171. data/lib/datadog_api_client/v2/models/fleet_deployment_host_package.rb +136 -0
  172. data/lib/datadog_api_client/v2/models/fleet_deployment_hosts_page.rb +135 -0
  173. data/lib/datadog_api_client/v2/models/fleet_deployment_operation.rb +2 -2
  174. data/lib/datadog_api_client/v2/models/fleet_deployment_package.rb +144 -0
  175. data/lib/datadog_api_client/v2/models/fleet_deployment_package_upgrade_attributes.rb +135 -0
  176. data/lib/datadog_api_client/v2/models/fleet_deployment_package_upgrade_create.rb +144 -0
  177. data/lib/datadog_api_client/v2/models/fleet_deployment_package_upgrade_create_request.rb +123 -0
  178. data/lib/datadog_api_client/v2/models/fleet_deployment_response.rb +13 -3
  179. data/lib/datadog_api_client/v2/models/fleet_deployment_response_meta.rb +105 -0
  180. data/lib/datadog_api_client/v2/models/fleet_schedule.rb +165 -0
  181. data/lib/datadog_api_client/v2/models/fleet_schedule_attributes.rb +214 -0
  182. data/lib/datadog_api_client/v2/models/fleet_schedule_create.rb +144 -0
  183. data/lib/datadog_api_client/v2/models/fleet_schedule_create_attributes.rb +207 -0
  184. data/lib/datadog_api_client/v2/models/fleet_schedule_create_request.rb +123 -0
  185. data/lib/datadog_api_client/v2/models/fleet_schedule_patch.rb +133 -0
  186. data/lib/datadog_api_client/v2/models/fleet_schedule_patch_attributes.rb +174 -0
  187. data/lib/datadog_api_client/v2/models/fleet_schedule_patch_request.rb +123 -0
  188. data/lib/datadog_api_client/v2/models/fleet_schedule_recurrence_rule.rb +191 -0
  189. data/lib/datadog_api_client/v2/models/fleet_schedule_resource_type.rb +26 -0
  190. data/lib/datadog_api_client/v2/models/fleet_schedule_response.rb +105 -0
  191. data/lib/datadog_api_client/v2/models/fleet_schedule_status.rb +29 -0
  192. data/lib/datadog_api_client/v2/models/fleet_schedules_response.rb +125 -0
  193. data/lib/datadog_api_client/v2/models/gcp_metric_namespace_config.rb +13 -1
  194. data/lib/datadog_api_client/v2/models/get_mapping_response.rb +105 -0
  195. data/lib/datadog_api_client/v2/models/get_mapping_response_data.rb +143 -0
  196. data/lib/datadog_api_client/v2/models/get_mapping_response_data_attributes.rb +107 -0
  197. data/lib/datadog_api_client/v2/models/get_mapping_response_data_attributes_attributes_items.rb +157 -0
  198. data/lib/datadog_api_client/v2/models/get_mapping_response_data_type.rb +26 -0
  199. data/lib/datadog_api_client/v2/models/get_multiple_rulesets_request.rb +105 -0
  200. data/lib/datadog_api_client/v2/models/get_multiple_rulesets_request_data.rb +143 -0
  201. data/lib/datadog_api_client/v2/models/get_multiple_rulesets_request_data_attributes.rb +127 -0
  202. data/lib/datadog_api_client/v2/models/get_multiple_rulesets_request_data_type.rb +26 -0
  203. data/lib/datadog_api_client/v2/models/get_multiple_rulesets_response.rb +105 -0
  204. data/lib/datadog_api_client/v2/models/get_multiple_rulesets_response_data.rb +143 -0
  205. data/lib/datadog_api_client/v2/models/get_multiple_rulesets_response_data_attributes.rb +107 -0
  206. data/lib/datadog_api_client/v2/models/get_multiple_rulesets_response_data_attributes_rulesets_items.rb +165 -0
  207. data/lib/datadog_api_client/v2/models/get_multiple_rulesets_response_data_attributes_rulesets_items_data.rb +133 -0
  208. data/lib/datadog_api_client/v2/models/get_multiple_rulesets_response_data_attributes_rulesets_items_data_type.rb +26 -0
  209. data/lib/datadog_api_client/v2/models/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items.rb +367 -0
  210. data/lib/datadog_api_client/v2/models/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_arguments_items.rb +115 -0
  211. data/lib/datadog_api_client/v2/models/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_data.rb +133 -0
  212. data/lib/datadog_api_client/v2/models/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_data_type.rb +26 -0
  213. data/lib/datadog_api_client/v2/models/get_multiple_rulesets_response_data_attributes_rulesets_items_rules_items_tests_items.rb +147 -0
  214. data/lib/datadog_api_client/v2/models/get_multiple_rulesets_response_data_type.rb +26 -0
  215. data/lib/datadog_api_client/v2/models/job_create_response.rb +1 -1
  216. data/lib/datadog_api_client/v2/models/job_create_response_data.rb +1 -1
  217. data/lib/datadog_api_client/v2/models/job_definition.rb +3 -3
  218. data/lib/datadog_api_client/v2/models/job_definition_from_rule.rb +1 -1
  219. data/lib/datadog_api_client/v2/models/{run_historical_job_request.rb → list_connections_response.rb} +5 -5
  220. data/lib/datadog_api_client/v2/models/list_connections_response_data.rb +143 -0
  221. data/lib/datadog_api_client/v2/models/list_connections_response_data_attributes.rb +107 -0
  222. data/lib/datadog_api_client/v2/models/list_connections_response_data_attributes_connections_items.rb +187 -0
  223. data/lib/datadog_api_client/v2/models/list_connections_response_data_attributes_connections_items_join.rb +115 -0
  224. data/lib/datadog_api_client/v2/models/list_connections_response_data_type.rb +26 -0
  225. data/lib/datadog_api_client/v2/models/{list_historical_jobs_response.rb → list_threat_hunting_jobs_response.rb} +6 -6
  226. data/lib/datadog_api_client/v2/models/patch_table_request.rb +2 -2
  227. data/lib/datadog_api_client/v2/models/patch_table_request_data.rb +6 -41
  228. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes.rb +5 -5
  229. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_file_metadata.rb +1 -1
  230. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_file_metadata_cloud_storage.rb +1 -1
  231. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_file_metadata_one_of_access_details.rb +4 -4
  232. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_file_metadata_one_of_access_details_aws_detail.rb +3 -3
  233. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_file_metadata_one_of_access_details_azure_detail.rb +5 -5
  234. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_file_metadata_one_of_access_details_gcp_detail.rb +4 -4
  235. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_schema.rb +3 -3
  236. data/lib/datadog_api_client/v2/models/patch_table_request_data_attributes_schema_fields_items.rb +1 -1
  237. data/lib/datadog_api_client/v2/models/preview_entity_response_data.rb +153 -0
  238. data/lib/datadog_api_client/v2/models/query_account_request.rb +105 -0
  239. data/lib/datadog_api_client/v2/models/query_account_request_data.rb +143 -0
  240. data/lib/datadog_api_client/v2/models/query_account_request_data_attributes.rb +147 -0
  241. data/lib/datadog_api_client/v2/models/query_account_request_data_attributes_sort.rb +115 -0
  242. data/lib/datadog_api_client/v2/models/query_account_request_data_type.rb +26 -0
  243. data/lib/datadog_api_client/v2/models/query_event_filtered_users_request.rb +105 -0
  244. data/lib/datadog_api_client/v2/models/query_event_filtered_users_request_data.rb +143 -0
  245. data/lib/datadog_api_client/v2/models/query_event_filtered_users_request_data_attributes.rb +147 -0
  246. data/lib/datadog_api_client/v2/models/query_event_filtered_users_request_data_attributes_event_query.rb +115 -0
  247. data/lib/datadog_api_client/v2/models/query_event_filtered_users_request_data_attributes_event_query_time_frame.rb +115 -0
  248. data/lib/datadog_api_client/v2/models/query_event_filtered_users_request_data_type.rb +26 -0
  249. data/lib/datadog_api_client/v2/models/query_response.rb +105 -0
  250. data/lib/datadog_api_client/v2/models/query_response_data.rb +143 -0
  251. data/lib/datadog_api_client/v2/models/query_response_data_attributes.rb +117 -0
  252. data/lib/datadog_api_client/v2/models/query_response_data_type.rb +26 -0
  253. data/lib/datadog_api_client/v2/models/query_users_request.rb +105 -0
  254. data/lib/datadog_api_client/v2/models/query_users_request_data.rb +143 -0
  255. data/lib/datadog_api_client/v2/models/query_users_request_data_attributes.rb +147 -0
  256. data/lib/datadog_api_client/v2/models/query_users_request_data_attributes_sort.rb +115 -0
  257. data/lib/datadog_api_client/v2/models/query_users_request_data_type.rb +26 -0
  258. data/lib/datadog_api_client/v2/models/run_threat_hunting_job_request.rb +105 -0
  259. data/lib/datadog_api_client/v2/models/{run_historical_job_request_attributes.rb → run_threat_hunting_job_request_attributes.rb} +5 -5
  260. data/lib/datadog_api_client/v2/models/{run_historical_job_request_data.rb → run_threat_hunting_job_request_data.rb} +6 -6
  261. data/lib/datadog_api_client/v2/models/{run_historical_job_request_data_type.rb → run_threat_hunting_job_request_data_type.rb} +1 -1
  262. data/lib/datadog_api_client/v2/models/secret_rule_array.rb +125 -0
  263. data/lib/datadog_api_client/v2/models/secret_rule_data.rb +143 -0
  264. data/lib/datadog_api_client/v2/models/secret_rule_data_attributes.rb +189 -0
  265. data/lib/datadog_api_client/v2/models/secret_rule_data_attributes_match_validation.rb +203 -0
  266. data/lib/datadog_api_client/v2/models/secret_rule_data_attributes_match_validation_invalid_http_status_code_items.rb +152 -0
  267. data/lib/datadog_api_client/v2/models/secret_rule_data_attributes_match_validation_valid_http_status_code_items.rb +152 -0
  268. data/lib/datadog_api_client/v2/models/secret_rule_data_type.rb +26 -0
  269. data/lib/datadog_api_client/v2/models/security_monitoring_signal_archive_reason.rb +2 -0
  270. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_attributes.rb +13 -1
  271. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_create_attributes.rb +15 -3
  272. data/lib/datadog_api_client/v2/models/security_monitoring_suppression_update_attributes.rb +13 -1
  273. data/lib/datadog_api_client/v2/models/table_result_v2.rb +2 -2
  274. data/lib/datadog_api_client/v2/models/table_result_v2_array.rb +1 -1
  275. data/lib/datadog_api_client/v2/models/table_result_v2_data.rb +7 -32
  276. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes.rb +8 -8
  277. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata.rb +1 -1
  278. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_cloud_storage.rb +19 -26
  279. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_local_file.rb +7 -42
  280. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_one_of_access_details.rb +4 -4
  281. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_one_of_access_details_aws_detail.rb +3 -3
  282. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_one_of_access_details_azure_detail.rb +5 -5
  283. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_file_metadata_one_of_access_details_gcp_detail.rb +4 -4
  284. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_schema.rb +2 -2
  285. data/lib/datadog_api_client/v2/models/table_result_v2_data_attributes_schema_fields_items.rb +1 -1
  286. data/lib/datadog_api_client/v2/models/table_row_resource_array.rb +1 -1
  287. data/lib/datadog_api_client/v2/models/table_row_resource_data.rb +7 -32
  288. data/lib/datadog_api_client/v2/models/table_row_resource_data_attributes.rb +7 -32
  289. data/lib/datadog_api_client/v2/models/team_connection.rb +164 -0
  290. data/lib/datadog_api_client/v2/models/team_connection_attributes.rb +115 -0
  291. data/lib/datadog_api_client/v2/models/team_connection_create_data.rb +143 -0
  292. data/lib/datadog_api_client/v2/models/team_connection_create_request.rb +125 -0
  293. data/lib/datadog_api_client/v2/models/team_connection_delete_request.rb +125 -0
  294. data/lib/datadog_api_client/v2/models/team_connection_delete_request_data_item.rb +144 -0
  295. data/lib/datadog_api_client/v2/models/team_connection_relationships.rb +115 -0
  296. data/lib/datadog_api_client/v2/models/team_connection_type.rb +26 -0
  297. data/lib/datadog_api_client/v2/models/team_connections_response.rb +117 -0
  298. data/lib/datadog_api_client/v2/models/team_ref.rb +105 -0
  299. data/lib/datadog_api_client/v2/models/team_ref_data.rb +144 -0
  300. data/lib/datadog_api_client/v2/models/team_ref_data_type.rb +26 -0
  301. data/lib/datadog_api_client/v2/models/{historical_job_data_type.rb → threat_hunting_job_data_type.rb} +1 -1
  302. data/lib/datadog_api_client/v2/models/{historical_job_list_meta.rb → threat_hunting_job_list_meta.rb} +2 -2
  303. data/lib/datadog_api_client/v2/models/{historical_job_options.rb → threat_hunting_job_options.rb} +2 -2
  304. data/lib/datadog_api_client/v2/models/{historical_job_query.rb → threat_hunting_job_query.rb} +3 -3
  305. data/lib/datadog_api_client/v2/models/threat_hunting_job_response.rb +105 -0
  306. data/lib/datadog_api_client/v2/models/{historical_job_response_attributes.rb → threat_hunting_job_response_attributes.rb} +4 -4
  307. data/lib/datadog_api_client/v2/models/{historical_job_response_data.rb → threat_hunting_job_response_data.rb} +6 -6
  308. data/lib/datadog_api_client/v2/models/update_connection_request.rb +105 -0
  309. data/lib/datadog_api_client/v2/models/update_connection_request_data.rb +154 -0
  310. data/lib/datadog_api_client/v2/models/update_connection_request_data_attributes.rb +131 -0
  311. data/lib/datadog_api_client/v2/models/update_connection_request_data_attributes_fields_to_update_items.rb +165 -0
  312. data/lib/datadog_api_client/v2/models/update_connection_request_data_type.rb +26 -0
  313. data/lib/datadog_api_client/v2/models/user_attributes.rb +12 -1
  314. data/lib/datadog_api_client/version.rb +1 -1
  315. metadata +210 -18
  316. data/examples/v2/security-monitoring/CancelHistoricalJob.rb +0 -12
  317. data/examples/v2/security-monitoring/GetHistoricalJob.rb +0 -12
  318. data/examples/v2/security-monitoring/ListHistoricalJobs.rb +0 -15
@@ -0,0 +1,207 @@
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 for creating a new schedule.
21
+ class FleetScheduleCreateAttributes
22
+ include BaseGenericModel
23
+
24
+ # Human-readable name for the schedule.
25
+ attr_reader :name
26
+
27
+ # Query used to filter and select target hosts for scheduled deployments. Uses the Datadog query syntax.
28
+ attr_reader :query
29
+
30
+ # Defines the recurrence pattern for the schedule. Specifies when deployments should be
31
+ # automatically triggered based on maintenance windows.
32
+ attr_reader :rule
33
+
34
+ # The status of the schedule.
35
+ # - `active`: The schedule is active and will create deployments according to its recurrence rule.
36
+ # - `inactive`: The schedule is inactive and will not create any deployments.
37
+ attr_accessor :status
38
+
39
+ # Number of major versions behind the latest to target for upgrades.
40
+ # - 0: Always upgrade to the latest version (default)
41
+ # - 1: Upgrade to latest minus 1 major version
42
+ # - 2: Upgrade to latest minus 2 major versions
43
+ # Maximum value is 2.
44
+ attr_reader :version_to_latest
45
+
46
+ attr_accessor :additional_properties
47
+
48
+ # Attribute mapping from ruby-style variable name to JSON key.
49
+ # @!visibility private
50
+ def self.attribute_map
51
+ {
52
+ :'name' => :'name',
53
+ :'query' => :'query',
54
+ :'rule' => :'rule',
55
+ :'status' => :'status',
56
+ :'version_to_latest' => :'version_to_latest'
57
+ }
58
+ end
59
+
60
+ # Attribute type mapping.
61
+ # @!visibility private
62
+ def self.openapi_types
63
+ {
64
+ :'name' => :'String',
65
+ :'query' => :'String',
66
+ :'rule' => :'FleetScheduleRecurrenceRule',
67
+ :'status' => :'FleetScheduleStatus',
68
+ :'version_to_latest' => :'Integer'
69
+ }
70
+ end
71
+
72
+ # Initializes the object
73
+ # @param attributes [Hash] Model attributes in the form of hash
74
+ # @!visibility private
75
+ def initialize(attributes = {})
76
+ if (!attributes.is_a?(Hash))
77
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::FleetScheduleCreateAttributes` initialize method"
78
+ end
79
+
80
+ self.additional_properties = {}
81
+ # check to see if the attribute exists and convert string to symbol for hash key
82
+ attributes = attributes.each_with_object({}) { |(k, v), h|
83
+ if (!self.class.attribute_map.key?(k.to_sym))
84
+ self.additional_properties[k.to_sym] = v
85
+ else
86
+ h[k.to_sym] = v
87
+ end
88
+ }
89
+
90
+ if attributes.key?(:'name')
91
+ self.name = attributes[:'name']
92
+ end
93
+
94
+ if attributes.key?(:'query')
95
+ self.query = attributes[:'query']
96
+ end
97
+
98
+ if attributes.key?(:'rule')
99
+ self.rule = attributes[:'rule']
100
+ end
101
+
102
+ if attributes.key?(:'status')
103
+ self.status = attributes[:'status']
104
+ end
105
+
106
+ if attributes.key?(:'version_to_latest')
107
+ self.version_to_latest = attributes[:'version_to_latest']
108
+ end
109
+ end
110
+
111
+ # Check to see if the all the properties in the model are valid
112
+ # @return true if the model is valid
113
+ # @!visibility private
114
+ def valid?
115
+ return false if @name.nil?
116
+ return false if @query.nil?
117
+ return false if @rule.nil?
118
+ return false if !@version_to_latest.nil? && @version_to_latest > 2
119
+ return false if !@version_to_latest.nil? && @version_to_latest < 0
120
+ true
121
+ end
122
+
123
+ # Custom attribute writer method with validation
124
+ # @param name [Object] Object to be assigned
125
+ # @!visibility private
126
+ def name=(name)
127
+ if name.nil?
128
+ fail ArgumentError, 'invalid value for "name", name cannot be nil.'
129
+ end
130
+ @name = name
131
+ end
132
+
133
+ # Custom attribute writer method with validation
134
+ # @param query [Object] Object to be assigned
135
+ # @!visibility private
136
+ def query=(query)
137
+ if query.nil?
138
+ fail ArgumentError, 'invalid value for "query", query cannot be nil.'
139
+ end
140
+ @query = query
141
+ end
142
+
143
+ # Custom attribute writer method with validation
144
+ # @param rule [Object] Object to be assigned
145
+ # @!visibility private
146
+ def rule=(rule)
147
+ if rule.nil?
148
+ fail ArgumentError, 'invalid value for "rule", rule cannot be nil.'
149
+ end
150
+ @rule = rule
151
+ end
152
+
153
+ # Custom attribute writer method with validation
154
+ # @param version_to_latest [Object] Object to be assigned
155
+ # @!visibility private
156
+ def version_to_latest=(version_to_latest)
157
+ if !version_to_latest.nil? && version_to_latest > 2
158
+ fail ArgumentError, 'invalid value for "version_to_latest", must be smaller than or equal to 2.'
159
+ end
160
+ if !version_to_latest.nil? && version_to_latest < 0
161
+ fail ArgumentError, 'invalid value for "version_to_latest", must be greater than or equal to 0.'
162
+ end
163
+ @version_to_latest = version_to_latest
164
+ end
165
+
166
+ # Returns the object in the form of hash, with additionalProperties support.
167
+ # @return [Hash] Returns the object in the form of hash
168
+ # @!visibility private
169
+ def to_hash
170
+ hash = {}
171
+ self.class.attribute_map.each_pair do |attr, param|
172
+ value = self.send(attr)
173
+ if value.nil?
174
+ is_nullable = self.class.openapi_nullable.include?(attr)
175
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
176
+ end
177
+
178
+ hash[param] = _to_hash(value)
179
+ end
180
+ self.additional_properties.each_pair do |attr, value|
181
+ hash[attr] = value
182
+ end
183
+ hash
184
+ end
185
+
186
+ # Checks equality by comparing each attribute.
187
+ # @param o [Object] Object to be compared
188
+ # @!visibility private
189
+ def ==(o)
190
+ return true if self.equal?(o)
191
+ self.class == o.class &&
192
+ name == o.name &&
193
+ query == o.query &&
194
+ rule == o.rule &&
195
+ status == o.status &&
196
+ version_to_latest == o.version_to_latest &&
197
+ additional_properties == o.additional_properties
198
+ end
199
+
200
+ # Calculates hash code according to all attributes.
201
+ # @return [Integer] Hash code
202
+ # @!visibility private
203
+ def hash
204
+ [name, query, rule, status, version_to_latest, additional_properties].hash
205
+ end
206
+ end
207
+ 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 payload for creating a new schedule.
21
+ class FleetScheduleCreateRequest
22
+ include BaseGenericModel
23
+
24
+ # Data for creating a new schedule.
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' => :'FleetScheduleCreate'
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::FleetScheduleCreateRequest` 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,133 @@
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
+ # Data for partially updating a schedule.
21
+ class FleetSchedulePatch
22
+ include BaseGenericModel
23
+
24
+ # Attributes for partially updating a schedule. All fields are optional.
25
+ attr_accessor :attributes
26
+
27
+ # The type of schedule resource.
28
+ attr_reader :type
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
+ :'attributes' => :'attributes',
37
+ :'type' => :'type'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ # @!visibility private
43
+ def self.openapi_types
44
+ {
45
+ :'attributes' => :'FleetSchedulePatchAttributes',
46
+ :'type' => :'FleetScheduleResourceType'
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::FleetSchedulePatch` 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?(:'attributes')
69
+ self.attributes = attributes[:'attributes']
70
+ end
71
+
72
+ if attributes.key?(:'type')
73
+ self.type = attributes[:'type']
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 @type.nil?
82
+ true
83
+ end
84
+
85
+ # Custom attribute writer method with validation
86
+ # @param type [Object] Object to be assigned
87
+ # @!visibility private
88
+ def type=(type)
89
+ if type.nil?
90
+ fail ArgumentError, 'invalid value for "type", type cannot be nil.'
91
+ end
92
+ @type = type
93
+ end
94
+
95
+ # Returns the object in the form of hash, with additionalProperties support.
96
+ # @return [Hash] Returns the object in the form of hash
97
+ # @!visibility private
98
+ def to_hash
99
+ hash = {}
100
+ self.class.attribute_map.each_pair do |attr, param|
101
+ value = self.send(attr)
102
+ if value.nil?
103
+ is_nullable = self.class.openapi_nullable.include?(attr)
104
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
105
+ end
106
+
107
+ hash[param] = _to_hash(value)
108
+ end
109
+ self.additional_properties.each_pair do |attr, value|
110
+ hash[attr] = value
111
+ end
112
+ hash
113
+ end
114
+
115
+ # Checks equality by comparing each attribute.
116
+ # @param o [Object] Object to be compared
117
+ # @!visibility private
118
+ def ==(o)
119
+ return true if self.equal?(o)
120
+ self.class == o.class &&
121
+ attributes == o.attributes &&
122
+ type == o.type &&
123
+ additional_properties == o.additional_properties
124
+ end
125
+
126
+ # Calculates hash code according to all attributes.
127
+ # @return [Integer] Hash code
128
+ # @!visibility private
129
+ def hash
130
+ [attributes, type, additional_properties].hash
131
+ end
132
+ end
133
+ 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
+ # Attributes for partially updating a schedule. All fields are optional.
21
+ class FleetSchedulePatchAttributes
22
+ include BaseGenericModel
23
+
24
+ # Human-readable name for the schedule.
25
+ attr_accessor :name
26
+
27
+ # Query used to filter and select target hosts for scheduled deployments. Uses the Datadog query syntax.
28
+ attr_accessor :query
29
+
30
+ # Defines the recurrence pattern for the schedule. Specifies when deployments should be
31
+ # automatically triggered based on maintenance windows.
32
+ attr_accessor :rule
33
+
34
+ # The status of the schedule.
35
+ # - `active`: The schedule is active and will create deployments according to its recurrence rule.
36
+ # - `inactive`: The schedule is inactive and will not create any deployments.
37
+ attr_accessor :status
38
+
39
+ # Number of major versions behind the latest to target for upgrades.
40
+ # - 0: Always upgrade to the latest version
41
+ # - 1: Upgrade to latest minus 1 major version
42
+ # - 2: Upgrade to latest minus 2 major versions
43
+ # Maximum value is 2.
44
+ attr_reader :version_to_latest
45
+
46
+ attr_accessor :additional_properties
47
+
48
+ # Attribute mapping from ruby-style variable name to JSON key.
49
+ # @!visibility private
50
+ def self.attribute_map
51
+ {
52
+ :'name' => :'name',
53
+ :'query' => :'query',
54
+ :'rule' => :'rule',
55
+ :'status' => :'status',
56
+ :'version_to_latest' => :'version_to_latest'
57
+ }
58
+ end
59
+
60
+ # Attribute type mapping.
61
+ # @!visibility private
62
+ def self.openapi_types
63
+ {
64
+ :'name' => :'String',
65
+ :'query' => :'String',
66
+ :'rule' => :'FleetScheduleRecurrenceRule',
67
+ :'status' => :'FleetScheduleStatus',
68
+ :'version_to_latest' => :'Integer'
69
+ }
70
+ end
71
+
72
+ # Initializes the object
73
+ # @param attributes [Hash] Model attributes in the form of hash
74
+ # @!visibility private
75
+ def initialize(attributes = {})
76
+ if (!attributes.is_a?(Hash))
77
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::FleetSchedulePatchAttributes` initialize method"
78
+ end
79
+
80
+ self.additional_properties = {}
81
+ # check to see if the attribute exists and convert string to symbol for hash key
82
+ attributes = attributes.each_with_object({}) { |(k, v), h|
83
+ if (!self.class.attribute_map.key?(k.to_sym))
84
+ self.additional_properties[k.to_sym] = v
85
+ else
86
+ h[k.to_sym] = v
87
+ end
88
+ }
89
+
90
+ if attributes.key?(:'name')
91
+ self.name = attributes[:'name']
92
+ end
93
+
94
+ if attributes.key?(:'query')
95
+ self.query = attributes[:'query']
96
+ end
97
+
98
+ if attributes.key?(:'rule')
99
+ self.rule = attributes[:'rule']
100
+ end
101
+
102
+ if attributes.key?(:'status')
103
+ self.status = attributes[:'status']
104
+ end
105
+
106
+ if attributes.key?(:'version_to_latest')
107
+ self.version_to_latest = attributes[:'version_to_latest']
108
+ end
109
+ end
110
+
111
+ # Check to see if the all the properties in the model are valid
112
+ # @return true if the model is valid
113
+ # @!visibility private
114
+ def valid?
115
+ return false if !@version_to_latest.nil? && @version_to_latest > 2
116
+ return false if !@version_to_latest.nil? && @version_to_latest < 0
117
+ true
118
+ end
119
+
120
+ # Custom attribute writer method with validation
121
+ # @param version_to_latest [Object] Object to be assigned
122
+ # @!visibility private
123
+ def version_to_latest=(version_to_latest)
124
+ if !version_to_latest.nil? && version_to_latest > 2
125
+ fail ArgumentError, 'invalid value for "version_to_latest", must be smaller than or equal to 2.'
126
+ end
127
+ if !version_to_latest.nil? && version_to_latest < 0
128
+ fail ArgumentError, 'invalid value for "version_to_latest", must be greater than or equal to 0.'
129
+ end
130
+ @version_to_latest = version_to_latest
131
+ end
132
+
133
+ # Returns the object in the form of hash, with additionalProperties support.
134
+ # @return [Hash] Returns the object in the form of hash
135
+ # @!visibility private
136
+ def to_hash
137
+ hash = {}
138
+ self.class.attribute_map.each_pair do |attr, param|
139
+ value = self.send(attr)
140
+ if value.nil?
141
+ is_nullable = self.class.openapi_nullable.include?(attr)
142
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
143
+ end
144
+
145
+ hash[param] = _to_hash(value)
146
+ end
147
+ self.additional_properties.each_pair do |attr, value|
148
+ hash[attr] = value
149
+ end
150
+ hash
151
+ end
152
+
153
+ # Checks equality by comparing each attribute.
154
+ # @param o [Object] Object to be compared
155
+ # @!visibility private
156
+ def ==(o)
157
+ return true if self.equal?(o)
158
+ self.class == o.class &&
159
+ name == o.name &&
160
+ query == o.query &&
161
+ rule == o.rule &&
162
+ status == o.status &&
163
+ version_to_latest == o.version_to_latest &&
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
+ [name, query, rule, status, version_to_latest, additional_properties].hash
172
+ end
173
+ end
174
+ end