ezero-apimatic-sdk 0.0.1

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 (312) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +180 -0
  4. data/bin/console +15 -0
  5. data/lib/env_zero_api/api_helper.rb +10 -0
  6. data/lib/env_zero_api/apis/approval_policy_api.rb +107 -0
  7. data/lib/env_zero_api/apis/base_api.rb +67 -0
  8. data/lib/env_zero_api/apis/bulk_operations_api.rb +297 -0
  9. data/lib/env_zero_api/apis/configuration_api.rb +311 -0
  10. data/lib/env_zero_api/apis/credentials_api.rb +72 -0
  11. data/lib/env_zero_api/apis/deployment_logs_api.rb +79 -0
  12. data/lib/env_zero_api/apis/drift_api.rb +201 -0
  13. data/lib/env_zero_api/apis/environment_outputs_api.rb +39 -0
  14. data/lib/env_zero_api/apis/environments_api.rb +1082 -0
  15. data/lib/env_zero_api/apis/notifications_api.rb +149 -0
  16. data/lib/env_zero_api/apis/organization_api.rb +132 -0
  17. data/lib/env_zero_api/apis/projects_api.rb +202 -0
  18. data/lib/env_zero_api/apis/scheduling_api.rb +175 -0
  19. data/lib/env_zero_api/apis/templates_api.rb +206 -0
  20. data/lib/env_zero_api/client.rb +145 -0
  21. data/lib/env_zero_api/configuration.rb +166 -0
  22. data/lib/env_zero_api/exceptions/api_exception.rb +21 -0
  23. data/lib/env_zero_api/exceptions/error_exception.rb +46 -0
  24. data/lib/env_zero_api/http/api_response.rb +19 -0
  25. data/lib/env_zero_api/http/auth/basic_auth.rb +62 -0
  26. data/lib/env_zero_api/http/http_call_back.rb +10 -0
  27. data/lib/env_zero_api/http/http_method_enum.rb +10 -0
  28. data/lib/env_zero_api/http/http_request.rb +10 -0
  29. data/lib/env_zero_api/http/http_response.rb +10 -0
  30. data/lib/env_zero_api/http/proxy_settings.rb +22 -0
  31. data/lib/env_zero_api/logging/configuration/api_logging_configuration.rb +186 -0
  32. data/lib/env_zero_api/logging/sdk_logger.rb +17 -0
  33. data/lib/env_zero_api/models/action.rb +36 -0
  34. data/lib/env_zero_api/models/action_reason.rb +68 -0
  35. data/lib/env_zero_api/models/api_key_type.rb +26 -0
  36. data/lib/env_zero_api/models/api_key_user.rb +150 -0
  37. data/lib/env_zero_api/models/api_key_user_identity.rb +82 -0
  38. data/lib/env_zero_api/models/app_metadata.rb +175 -0
  39. data/lib/env_zero_api/models/app_metadata1.rb +60 -0
  40. data/lib/env_zero_api/models/approval_policy_type.rb +26 -0
  41. data/lib/env_zero_api/models/auto_destroy_status.rb +26 -0
  42. data/lib/env_zero_api/models/auto_destroy_status1.rb +26 -0
  43. data/lib/env_zero_api/models/auto_destroy_status2.rb +26 -0
  44. data/lib/env_zero_api/models/auto_destroy_status3.rb +26 -0
  45. data/lib/env_zero_api/models/base_model.rb +110 -0
  46. data/lib/env_zero_api/models/blueprint_api_add_blueprint_to_project_request_body.rb +60 -0
  47. data/lib/env_zero_api/models/blueprint_api_add_blueprint_to_project_response.rb +675 -0
  48. data/lib/env_zero_api/models/blueprint_api_approval_policy_assignment.rb +98 -0
  49. data/lib/env_zero_api/models/blueprint_api_approval_policy_assignment_request.rb +77 -0
  50. data/lib/env_zero_api/models/blueprint_api_approval_policy_scope.rb +44 -0
  51. data/lib/env_zero_api/models/blueprint_api_approval_policy_template.rb +375 -0
  52. data/lib/env_zero_api/models/blueprint_api_approval_policy_template_with_scope.rb +96 -0
  53. data/lib/env_zero_api/models/blueprint_api_approval_policy_type.rb +26 -0
  54. data/lib/env_zero_api/models/blueprint_api_assign_approval_policy_request_body.rb +77 -0
  55. data/lib/env_zero_api/models/blueprint_api_assign_approval_policy_response.rb +98 -0
  56. data/lib/env_zero_api/models/blueprint_api_blueprint.rb +675 -0
  57. data/lib/env_zero_api/models/blueprint_api_blueprint_type.rb +26 -0
  58. data/lib/env_zero_api/models/blueprint_api_blueprint_type1.rb +26 -0
  59. data/lib/env_zero_api/models/blueprint_api_create_blueprint_request_body.rb +544 -0
  60. data/lib/env_zero_api/models/blueprint_api_create_blueprint_response.rb +675 -0
  61. data/lib/env_zero_api/models/blueprint_api_creation_scope.rb +36 -0
  62. data/lib/env_zero_api/models/blueprint_api_custom_flow_type.rb +26 -0
  63. data/lib/env_zero_api/models/blueprint_api_deployable_type.rb +26 -0
  64. data/lib/env_zero_api/models/blueprint_api_find_all_approval_policies_response.rb +77 -0
  65. data/lib/env_zero_api/models/blueprint_api_get_blueprint_by_id_response.rb +675 -0
  66. data/lib/env_zero_api/models/blueprint_api_retry.rb +85 -0
  67. data/lib/env_zero_api/models/blueprint_api_retry_deploy_or_destroy_config.rb +98 -0
  68. data/lib/env_zero_api/models/blueprint_api_ssh_key.rb +90 -0
  69. data/lib/env_zero_api/models/blueprint_api_terragrunt_tf_binary.rb +36 -0
  70. data/lib/env_zero_api/models/blueprint_api_update_blueprint_request_body.rb +483 -0
  71. data/lib/env_zero_api/models/blueprint_api_update_blueprint_response.rb +675 -0
  72. data/lib/env_zero_api/models/bulk_operation_type.rb +72 -0
  73. data/lib/env_zero_api/models/bulk_operations_api_base_payload.rb +72 -0
  74. data/lib/env_zero_api/models/bulk_operations_api_base_response.rb +91 -0
  75. data/lib/env_zero_api/models/bulk_operations_api_bulk_add_tags_request_body.rb +82 -0
  76. data/lib/env_zero_api/models/bulk_operations_api_bulk_add_tags_response.rb +91 -0
  77. data/lib/env_zero_api/models/bulk_operations_api_bulk_archive_request_body.rb +72 -0
  78. data/lib/env_zero_api/models/bulk_operations_api_bulk_archive_response.rb +91 -0
  79. data/lib/env_zero_api/models/bulk_operations_api_bulk_deploy_request_body.rb +80 -0
  80. data/lib/env_zero_api/models/bulk_operations_api_bulk_deploy_response.rb +91 -0
  81. data/lib/env_zero_api/models/bulk_operations_api_bulk_destroy_request_body.rb +80 -0
  82. data/lib/env_zero_api/models/bulk_operations_api_bulk_destroy_response.rb +91 -0
  83. data/lib/env_zero_api/models/bulk_operations_api_bulk_lock_request_body.rb +80 -0
  84. data/lib/env_zero_api/models/bulk_operations_api_bulk_lock_response.rb +91 -0
  85. data/lib/env_zero_api/models/bulk_operations_api_bulk_operation_item_status.rb +26 -0
  86. data/lib/env_zero_api/models/bulk_operations_api_bulk_operation_item_status1.rb +26 -0
  87. data/lib/env_zero_api/models/bulk_operations_api_bulk_operation_item_status2.rb +26 -0
  88. data/lib/env_zero_api/models/bulk_operations_api_bulk_operation_item_status3.rb +26 -0
  89. data/lib/env_zero_api/models/bulk_operations_api_bulk_remove_tags_request_body.rb +81 -0
  90. data/lib/env_zero_api/models/bulk_operations_api_bulk_remove_tags_response.rb +91 -0
  91. data/lib/env_zero_api/models/bulk_operations_api_bulk_run_task_request_body.rb +80 -0
  92. data/lib/env_zero_api/models/bulk_operations_api_bulk_run_task_response.rb +91 -0
  93. data/lib/env_zero_api/models/bulk_operations_api_bulk_unlock_request_body.rb +72 -0
  94. data/lib/env_zero_api/models/bulk_operations_api_bulk_unlock_response.rb +91 -0
  95. data/lib/env_zero_api/models/bulk_operations_api_get_bulk_operation_item.rb +128 -0
  96. data/lib/env_zero_api/models/bulk_operations_api_get_bulk_operation_response.rb +106 -0
  97. data/lib/env_zero_api/models/bulk_operations_api_single_result.rb +79 -0
  98. data/lib/env_zero_api/models/cause_key_parts.rb +104 -0
  99. data/lib/env_zero_api/models/cause_key_parts1.rb +74 -0
  100. data/lib/env_zero_api/models/cause_key_parts2.rb +91 -0
  101. data/lib/env_zero_api/models/cause_key_parts4.rb +132 -0
  102. data/lib/env_zero_api/models/cause_key_parts5.rb +92 -0
  103. data/lib/env_zero_api/models/checkout_updated_code.rb +36 -0
  104. data/lib/env_zero_api/models/cloud_resource_api_change_event.rb +199 -0
  105. data/lib/env_zero_api/models/cloud_resource_api_change_event_source.rb +40 -0
  106. data/lib/env_zero_api/models/cloud_resource_api_management_type.rb +40 -0
  107. data/lib/env_zero_api/models/configuration_api_create_configuration_set_request_body.rb +108 -0
  108. data/lib/env_zero_api/models/configuration_api_create_configuration_set_response.rb +200 -0
  109. data/lib/env_zero_api/models/configuration_api_find_variable_by_id_response.rb +305 -0
  110. data/lib/env_zero_api/models/configuration_api_find_variables_by_scope_overriding_configuration_property.rb +342 -0
  111. data/lib/env_zero_api/models/configuration_property_request.rb +284 -0
  112. data/lib/env_zero_api/models/configuration_property_response.rb +305 -0
  113. data/lib/env_zero_api/models/configuration_scope.rb +60 -0
  114. data/lib/env_zero_api/models/configuration_set.rb +200 -0
  115. data/lib/env_zero_api/models/configuration_set_assignment_scope.rb +52 -0
  116. data/lib/env_zero_api/models/configuration_type.rb +27 -0
  117. data/lib/env_zero_api/models/configuration_type1.rb +27 -0
  118. data/lib/env_zero_api/models/credentials_api_api_key.rb +167 -0
  119. data/lib/env_zero_api/models/credentials_api_create_api_key_request_body.rb +91 -0
  120. data/lib/env_zero_api/models/credentials_api_create_api_key_response.rb +167 -0
  121. data/lib/env_zero_api/models/custom_env0_environment_variables.rb +537 -0
  122. data/lib/env_zero_api/models/custom_flow_type.rb +26 -0
  123. data/lib/env_zero_api/models/data.rb +65 -0
  124. data/lib/env_zero_api/models/data1.rb +73 -0
  125. data/lib/env_zero_api/models/data2.rb +73 -0
  126. data/lib/env_zero_api/models/data3.rb +62 -0
  127. data/lib/env_zero_api/models/data4.rb +61 -0
  128. data/lib/env_zero_api/models/data5.rb +71 -0
  129. data/lib/env_zero_api/models/deploy_request.rb +343 -0
  130. data/lib/env_zero_api/models/deployment_api_plan_attribute_change.rb +94 -0
  131. data/lib/env_zero_api/models/deployment_api_plan_change_action.rb +48 -0
  132. data/lib/env_zero_api/models/deployment_api_plan_plan.rb +118 -0
  133. data/lib/env_zero_api/models/deployment_api_plan_plan_output_change.rb +127 -0
  134. data/lib/env_zero_api/models/deployment_api_plan_plan_resource_change.rb +240 -0
  135. data/lib/env_zero_api/models/deployment_api_plan_plan_summary.rb +114 -0
  136. data/lib/env_zero_api/models/deployment_api_plan_resource_import_data.rb +74 -0
  137. data/lib/env_zero_api/models/deployment_command.rb +68 -0
  138. data/lib/env_zero_api/models/deployment_step_api_deployment_step_status.rb +64 -0
  139. data/lib/env_zero_api/models/deployment_step_api_find_by_deployment_log_id_response.rb +195 -0
  140. data/lib/env_zero_api/models/deployment_step_api_find_step_log_response.rb +117 -0
  141. data/lib/env_zero_api/models/deployment_step_api_log_event.rb +131 -0
  142. data/lib/env_zero_api/models/deployment_type.rb +40 -0
  143. data/lib/env_zero_api/models/deployment_type1.rb +56 -0
  144. data/lib/env_zero_api/models/diff.rb +75 -0
  145. data/lib/env_zero_api/models/drift_api_drift_cause_environment.rb +117 -0
  146. data/lib/env_zero_api/models/drift_api_drift_cause_group.rb +169 -0
  147. data/lib/env_zero_api/models/drift_api_drift_cause_group1.rb +169 -0
  148. data/lib/env_zero_api/models/drift_api_drift_cause_group2.rb +169 -0
  149. data/lib/env_zero_api/models/drift_api_drift_cause_group4.rb +169 -0
  150. data/lib/env_zero_api/models/drift_api_drift_cause_group5.rb +169 -0
  151. data/lib/env_zero_api/models/drift_api_drift_cause_skip.rb +68 -0
  152. data/lib/env_zero_api/models/drift_api_drift_cause_skip_reason.rb +40 -0
  153. data/lib/env_zero_api/models/drift_api_get_drift_causes_response.rb +76 -0
  154. data/lib/env_zero_api/models/drift_api_get_drift_causes_response1.rb +76 -0
  155. data/lib/env_zero_api/models/drift_api_get_drift_fix_stats_response.rb +81 -0
  156. data/lib/env_zero_api/models/drift_api_get_drift_fix_stats_response1.rb +81 -0
  157. data/lib/env_zero_api/models/drift_api_get_ignored_drift_causes_response.rb +76 -0
  158. data/lib/env_zero_api/models/drift_api_ignore_drift_cause_body.rb +72 -0
  159. data/lib/env_zero_api/models/drift_api_ignore_drift_cause_request_body.rb +72 -0
  160. data/lib/env_zero_api/models/drift_api_ignore_drift_cause_response.rb +77 -0
  161. data/lib/env_zero_api/models/drift_api_ignored_drift_cause_environment.rb +140 -0
  162. data/lib/env_zero_api/models/drift_api_ignored_drift_cause_group.rb +157 -0
  163. data/lib/env_zero_api/models/drift_api_ignored_drift_cause_group1.rb +157 -0
  164. data/lib/env_zero_api/models/drift_api_ignored_drift_cause_group2.rb +157 -0
  165. data/lib/env_zero_api/models/drift_api_ignored_drift_cause_group4.rb +157 -0
  166. data/lib/env_zero_api/models/drift_api_ignored_drift_cause_group5.rb +157 -0
  167. data/lib/env_zero_api/models/drift_api_state_modifying_deployment_type.rb +40 -0
  168. data/lib/env_zero_api/models/drift_api_un_ignore_drift_cause_request_body.rb +72 -0
  169. data/lib/env_zero_api/models/drift_api_un_ignore_drift_cause_response.rb +77 -0
  170. data/lib/env_zero_api/models/drift_api_variable_change_type.rb +40 -0
  171. data/lib/env_zero_api/models/drift_cause.rb +87 -0
  172. data/lib/env_zero_api/models/environment_api_auto_drift_remediation_strategy.rb +44 -0
  173. data/lib/env_zero_api/models/environment_api_cancel_response.rb +60 -0
  174. data/lib/env_zero_api/models/environment_api_configuration_property_change.rb +255 -0
  175. data/lib/env_zero_api/models/environment_api_configuration_set_changes.rb +81 -0
  176. data/lib/env_zero_api/models/environment_api_create_environment_request.rb +356 -0
  177. data/lib/env_zero_api/models/environment_api_create_request_body.rb +356 -0
  178. data/lib/env_zero_api/models/environment_api_create_response.rb +539 -0
  179. data/lib/env_zero_api/models/environment_api_deploy_request_body.rb +343 -0
  180. data/lib/env_zero_api/models/environment_api_deploy_request_on_create_flow.rb +154 -0
  181. data/lib/env_zero_api/models/environment_api_deploy_response.rb +796 -0
  182. data/lib/env_zero_api/models/environment_api_deployment_log.rb +792 -0
  183. data/lib/env_zero_api/models/environment_api_deployment_log_status.rb +76 -0
  184. data/lib/env_zero_api/models/environment_api_deployment_type.rb +60 -0
  185. data/lib/env_zero_api/models/environment_api_destroy_request_body.rb +108 -0
  186. data/lib/env_zero_api/models/environment_api_destroy_response.rb +60 -0
  187. data/lib/env_zero_api/models/environment_api_drift_cause_compass_scan_status.rb +48 -0
  188. data/lib/env_zero_api/models/environment_api_drift_cause_unapplied_commit.rb +111 -0
  189. data/lib/env_zero_api/models/environment_api_drift_cause_unmanaged_change_type.rb +36 -0
  190. data/lib/env_zero_api/models/environment_api_drift_detection_request.rb +81 -0
  191. data/lib/env_zero_api/models/environment_api_drift_status.rb +48 -0
  192. data/lib/env_zero_api/models/environment_api_environment.rb +539 -0
  193. data/lib/env_zero_api/models/environment_api_environment_lock_status.rb +119 -0
  194. data/lib/env_zero_api/models/environment_api_environment_next_scheduled_dates.rb +98 -0
  195. data/lib/env_zero_api/models/environment_api_environment_resource.rb +123 -0
  196. data/lib/env_zero_api/models/environment_api_environment_status.rb +84 -0
  197. data/lib/env_zero_api/models/environment_api_find_by_id_response.rb +539 -0
  198. data/lib/env_zero_api/models/environment_api_find_deployment_drift_status_response.rb +92 -0
  199. data/lib/env_zero_api/models/environment_api_find_deployment_log_by_id_response.rb +792 -0
  200. data/lib/env_zero_api/models/environment_api_get_deployment_plan_json_response.rb +86 -0
  201. data/lib/env_zero_api/models/environment_api_get_drifted_resource_event_details_response.rb +60 -0
  202. data/lib/env_zero_api/models/environment_api_get_drifted_resource_events_response.rb +98 -0
  203. data/lib/env_zero_api/models/environment_api_get_environments_outputs_response.rb +69 -0
  204. data/lib/env_zero_api/models/environment_api_get_plan_impact_destructive_change.rb +98 -0
  205. data/lib/env_zero_api/models/environment_api_get_plan_impact_plan_impact.rb +163 -0
  206. data/lib/env_zero_api/models/environment_api_get_policies_response.rb +298 -0
  207. data/lib/env_zero_api/models/environment_api_git_metadata.rb +110 -0
  208. data/lib/env_zero_api/models/environment_api_output_data.rb +103 -0
  209. data/lib/env_zero_api/models/environment_api_policy.rb +298 -0
  210. data/lib/env_zero_api/models/environment_api_remediate_drift_response.rb +792 -0
  211. data/lib/env_zero_api/models/environment_api_resume_response.rb +60 -0
  212. data/lib/env_zero_api/models/environment_api_reviewer.rb +90 -0
  213. data/lib/env_zero_api/models/environment_api_reviewer_user.rb +92 -0
  214. data/lib/env_zero_api/models/environment_api_state_file_hash.rb +87 -0
  215. data/lib/env_zero_api/models/environment_api_stopped_by_timeout_reason.rb +40 -0
  216. data/lib/env_zero_api/models/environment_api_terragrunt_run_all_output.rb +96 -0
  217. data/lib/env_zero_api/models/environment_api_ttl_request.rb +86 -0
  218. data/lib/env_zero_api/models/environment_api_ttl_request_body.rb +72 -0
  219. data/lib/env_zero_api/models/environment_api_ttl_response.rb +539 -0
  220. data/lib/env_zero_api/models/environment_api_ttl_type.rb +40 -0
  221. data/lib/env_zero_api/models/environment_api_update_environment_lock_request_body.rb +70 -0
  222. data/lib/env_zero_api/models/environment_api_update_environment_lock_response.rb +97 -0
  223. data/lib/env_zero_api/models/environment_api_update_policies_request_body.rb +334 -0
  224. data/lib/env_zero_api/models/environment_api_update_policies_response.rb +298 -0
  225. data/lib/env_zero_api/models/environment_api_update_request_body.rb +191 -0
  226. data/lib/env_zero_api/models/environment_api_update_response.rb +539 -0
  227. data/lib/env_zero_api/models/environment_api_update_tags_response.rb +539 -0
  228. data/lib/env_zero_api/models/environment_api_variable.rb +241 -0
  229. data/lib/env_zero_api/models/environment_api_vcs_provider.rb +56 -0
  230. data/lib/env_zero_api/models/environment_api_vcs_provider1.rb +56 -0
  231. data/lib/env_zero_api/models/environment_api_vcs_provider3.rb +56 -0
  232. data/lib/env_zero_api/models/environment_api_workflow_environments_workflow_file.rb +92 -0
  233. data/lib/env_zero_api/models/environment_api_workflow_environments_workflow_sub_environment.rb +226 -0
  234. data/lib/env_zero_api/models/environment_discovery_type.rb +26 -0
  235. data/lib/env_zero_api/models/environment_outputs_api_environment_state_access.rb +154 -0
  236. data/lib/env_zero_api/models/environment_outputs_api_get_state_access_config_response.rb +154 -0
  237. data/lib/env_zero_api/models/environment_removal_strategy.rb +36 -0
  238. data/lib/env_zero_api/models/environments.rb +80 -0
  239. data/lib/env_zero_api/models/event_name_type.rb +92 -0
  240. data/lib/env_zero_api/models/external_trigger_name.rb +40 -0
  241. data/lib/env_zero_api/models/family.rb +36 -0
  242. data/lib/env_zero_api/models/format.rb +40 -0
  243. data/lib/env_zero_api/models/git_user_data.rb +92 -0
  244. data/lib/env_zero_api/models/iac_type.rb +60 -0
  245. data/lib/env_zero_api/models/infracost_cost_estimation.rb +119 -0
  246. data/lib/env_zero_api/models/infracost_cost_estimation_project.rb +76 -0
  247. data/lib/env_zero_api/models/internal_trigger_name.rb +60 -0
  248. data/lib/env_zero_api/models/is_scheduled_run.rb +36 -0
  249. data/lib/env_zero_api/models/mode.rb +36 -0
  250. data/lib/env_zero_api/models/module_type.rb +26 -0
  251. data/lib/env_zero_api/models/notification_endpoint_type.rb +44 -0
  252. data/lib/env_zero_api/models/notifications_api_create_notification_endpoint_request_body.rb +122 -0
  253. data/lib/env_zero_api/models/notifications_api_create_notification_endpoint_response.rb +124 -0
  254. data/lib/env_zero_api/models/notifications_api_notification_endpoint_without_secret.rb +124 -0
  255. data/lib/env_zero_api/models/notifications_api_project_notification_setting.rb +102 -0
  256. data/lib/env_zero_api/models/notifications_api_update_project_notification_settings_request_body.rb +60 -0
  257. data/lib/env_zero_api/models/notifications_api_update_project_notification_settings_response.rb +102 -0
  258. data/lib/env_zero_api/models/organization_api_find_organization_by_id_response.rb +393 -0
  259. data/lib/env_zero_api/models/organization_api_get_organization_limits_response.rb +60 -0
  260. data/lib/env_zero_api/models/organization_api_ip_allowlist_rule.rb +119 -0
  261. data/lib/env_zero_api/models/organization_api_ip_allowlist_rule_type.rb +40 -0
  262. data/lib/env_zero_api/models/organization_api_ip_allowlist_rule_type2.rb +40 -0
  263. data/lib/env_zero_api/models/organization_api_organization.rb +393 -0
  264. data/lib/env_zero_api/models/organization_api_organization_limits.rb +60 -0
  265. data/lib/env_zero_api/models/organization_api_organization_mode.rb +36 -0
  266. data/lib/env_zero_api/models/organization_api_permissions.rb +82 -0
  267. data/lib/env_zero_api/models/organization_api_project_custom_flows_policy.rb +36 -0
  268. data/lib/env_zero_api/models/organization_api_project_permission.rb +69 -0
  269. data/lib/env_zero_api/models/organization_role.rb +36 -0
  270. data/lib/env_zero_api/models/organization_user.rb +77 -0
  271. data/lib/env_zero_api/models/organization_user_status.rb +36 -0
  272. data/lib/env_zero_api/models/output.rb +153 -0
  273. data/lib/env_zero_api/models/overwrites.rb +206 -0
  274. data/lib/env_zero_api/models/partial_json_schema7.rb +81 -0
  275. data/lib/env_zero_api/models/partial_json_schema72.rb +97 -0
  276. data/lib/env_zero_api/models/profile_data.rb +81 -0
  277. data/lib/env_zero_api/models/project_api_create_project_request.rb +102 -0
  278. data/lib/env_zero_api/models/project_api_create_project_request_body.rb +102 -0
  279. data/lib/env_zero_api/models/project_api_create_project_response.rb +150 -0
  280. data/lib/env_zero_api/models/project_api_find_by_id_response.rb +150 -0
  281. data/lib/env_zero_api/models/project_api_project.rb +150 -0
  282. data/lib/env_zero_api/models/project_api_user_access_source.rb +40 -0
  283. data/lib/env_zero_api/models/project_api_user_with_access.rb +148 -0
  284. data/lib/env_zero_api/models/requires_approval.rb +36 -0
  285. data/lib/env_zero_api/models/scheduling_api_disabled_reason.rb +36 -0
  286. data/lib/env_zero_api/models/scheduling_api_get_drift_detection_by_environment_id_response.rb +231 -0
  287. data/lib/env_zero_api/models/scheduling_api_get_schedule_by_environment_id_response.rb +71 -0
  288. data/lib/env_zero_api/models/scheduling_api_scheduled_action.rb +219 -0
  289. data/lib/env_zero_api/models/scheduling_api_set_drift_detection_request_body.rb +82 -0
  290. data/lib/env_zero_api/models/scheduling_api_set_drift_detection_response.rb +231 -0
  291. data/lib/env_zero_api/models/scheduling_api_set_environment_schedule_request_body.rb +75 -0
  292. data/lib/env_zero_api/models/scheduling_api_set_environment_schedule_request_scheduled_action.rb +70 -0
  293. data/lib/env_zero_api/models/scheduling_api_set_environment_schedule_response.rb +71 -0
  294. data/lib/env_zero_api/models/scope.rb +44 -0
  295. data/lib/env_zero_api/models/set_creation_scope.rb +36 -0
  296. data/lib/env_zero_api/models/settings.rb +76 -0
  297. data/lib/env_zero_api/models/skip_state_refresh.rb +36 -0
  298. data/lib/env_zero_api/models/status.rb +36 -0
  299. data/lib/env_zero_api/models/type.rb +36 -0
  300. data/lib/env_zero_api/models/user.rb +182 -0
  301. data/lib/env_zero_api/models/user1.rb +132 -0
  302. data/lib/env_zero_api/models/user_organization.rb +93 -0
  303. data/lib/env_zero_api/models/vcs.rb +368 -0
  304. data/lib/env_zero_api/models/workflow_deployment_options.rb +90 -0
  305. data/lib/env_zero_api/models/workflow_deployment_options1.rb +92 -0
  306. data/lib/env_zero_api/models/workflow_partial_deploy_operation.rb +40 -0
  307. data/lib/env_zero_api/models/workflow_sub_environment_request.rb +164 -0
  308. data/lib/env_zero_api/utilities/date_time_helper.rb +11 -0
  309. data/lib/env_zero_api/utilities/file_wrapper.rb +28 -0
  310. data/lib/env_zero_api/utilities/union_type_lookup.rb +379 -0
  311. data/lib/env_zero_api.rb +414 -0
  312. metadata +395 -0
@@ -0,0 +1,792 @@
1
+ # env_zero_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ module EnvZeroApi
8
+ # EnvironmentApiDeploymentLog Model.
9
+ class EnvironmentApiDeploymentLog < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # TODO: Write general description for this method
14
+ # @return [String]
15
+ attr_accessor :id
16
+
17
+ # TODO: Write general description for this method
18
+ # @return [DateTime]
19
+ attr_accessor :created_at
20
+
21
+ # TODO: Write general description for this method
22
+ # @return [DateTime]
23
+ attr_accessor :updated_at
24
+
25
+ # TODO: Write general description for this method
26
+ # @return [EnvironmentApiDeploymentType]
27
+ attr_accessor :type
28
+
29
+ # TODO: Write general description for this method
30
+ # @return [String]
31
+ attr_accessor :started_by
32
+
33
+ # TODO: Write general description for this method
34
+ # @return [DateTime]
35
+ attr_accessor :queued_at
36
+
37
+ # TODO: Write general description for this method
38
+ # @return [DateTime]
39
+ attr_accessor :started_at
40
+
41
+ # TODO: Write general description for this method
42
+ # @return [DateTime]
43
+ attr_accessor :finished_at
44
+
45
+ # TODO: Write general description for this method
46
+ # @return [Object]
47
+ attr_accessor :output
48
+
49
+ # TODO: Write general description for this method
50
+ # @return [Object]
51
+ attr_accessor :error
52
+
53
+ # TODO: Write general description for this method
54
+ # @return [String]
55
+ attr_accessor :failed_command
56
+
57
+ # TODO: Write general description for this method
58
+ # @return [EnvironmentApiStoppedByTimeoutReason]
59
+ attr_accessor :stopped_by_timeout_reason
60
+
61
+ # TODO: Write general description for this method
62
+ # @return [CustomEnv0EnvironmentVariables]
63
+ attr_accessor :custom_env0_environment_variables
64
+
65
+ # TODO: Write general description for this method
66
+ # @return [InfracostCostEstimation]
67
+ attr_accessor :cost_estimation
68
+
69
+ # TODO: Write general description for this method
70
+ # @return [EnvironmentApiDeploymentLogStatus]
71
+ attr_accessor :status
72
+
73
+ # TODO: Write general description for this method
74
+ # @return [String]
75
+ attr_accessor :blueprint_id
76
+
77
+ # TODO: Write general description for this method
78
+ # @return [String]
79
+ attr_accessor :blueprint_name
80
+
81
+ # TODO: Write general description for this method
82
+ # @return [String]
83
+ attr_accessor :blueprint_repository
84
+
85
+ # TODO: Write general description for this method
86
+ # @return [String]
87
+ attr_accessor :blueprint_revision
88
+
89
+ # TODO: Write general description for this method
90
+ # @return [String]
91
+ attr_accessor :blueprint_path
92
+
93
+ # TODO: Write general description for this method
94
+ # @return [Object]
95
+ attr_accessor :blueprint_type
96
+
97
+ # TODO: Write general description for this method
98
+ # @return [String]
99
+ attr_accessor :comment
100
+
101
+ # TODO: Write general description for this method
102
+ # @return [String]
103
+ attr_accessor :environment_id
104
+
105
+ # TODO: Write general description for this method
106
+ # @return [Float]
107
+ attr_accessor :resource_count
108
+
109
+ # TODO: Write general description for this method
110
+ # @return [Array[EnvironmentApiEnvironmentResource]]
111
+ attr_accessor :resources
112
+
113
+ # TODO: Write general description for this method
114
+ # @return [User]
115
+ attr_accessor :started_by_user
116
+
117
+ # TODO: Write general description for this method
118
+ # @return [TrueClass | FalseClass]
119
+ attr_accessor :is_scheduled_run
120
+
121
+ # TODO: Write general description for this method
122
+ # @return [String]
123
+ attr_accessor :aborted_by
124
+
125
+ # TODO: Write general description for this method
126
+ # @return [User]
127
+ attr_accessor :aborted_by_user
128
+
129
+ # TODO: Write general description for this method
130
+ # @return [String]
131
+ attr_accessor :git_user
132
+
133
+ # TODO: Write general description for this method
134
+ # @return [String]
135
+ attr_accessor :git_avatar_url
136
+
137
+ # TODO: Write general description for this method
138
+ # @return [String]
139
+ attr_accessor :pr_number
140
+
141
+ # TODO: Write general description for this method
142
+ # @return [Object]
143
+ attr_accessor :trigger_name
144
+
145
+ # TODO: Write general description for this method
146
+ # @return [TrueClass | FalseClass]
147
+ attr_accessor :drift_detected
148
+
149
+ # TODO: Write general description for this method
150
+ # @return [DeploymentApiPlanPlan]
151
+ attr_accessor :plan
152
+
153
+ # TODO: Write general description for this method
154
+ # @return [DeploymentApiPlanPlanSummary]
155
+ attr_accessor :plan_summary
156
+
157
+ # TODO: Write general description for this method
158
+ # @return [TrueClass | FalseClass]
159
+ attr_accessor :is_skipped_apply
160
+
161
+ # TODO: Write general description for this method
162
+ # @return [String]
163
+ attr_accessor :workflow_deployment_id
164
+
165
+ # TODO: Write general description for this method
166
+ # @return [EnvironmentApiWorkflowEnvironmentsWorkflowFile]
167
+ attr_accessor :workflow_file
168
+
169
+ # TODO: Write general description for this method
170
+ # @return [WorkflowDeploymentOptions]
171
+ attr_accessor :workflow_deployment_options
172
+
173
+ # TODO: Write general description for this method
174
+ # @return [String]
175
+ attr_accessor :state_version_id
176
+
177
+ # TODO: Write general description for this method
178
+ # @return [Array[EnvironmentApiReviewerUser]]
179
+ attr_accessor :reviewers_users
180
+
181
+ # TODO: Write general description for this method
182
+ # @return [Array[EnvironmentApiReviewer]]
183
+ attr_accessor :reviewers
184
+
185
+ # TODO: Write general description for this method
186
+ # @return [String]
187
+ attr_accessor :reviewed_by
188
+
189
+ # TODO: Write general description for this method
190
+ # @return [User]
191
+ attr_accessor :reviewed_by_user
192
+
193
+ # TODO: Write general description for this method
194
+ # @return [Array[String]]
195
+ attr_accessor :targets
196
+
197
+ # TODO: Write general description for this method
198
+ # @return [Array[EnvironmentApiVariable]]
199
+ attr_accessor :variables
200
+
201
+ # TODO: Write general description for this method
202
+ # @return [EnvironmentApiGitMetadata]
203
+ attr_accessor :git_metadata
204
+
205
+ # TODO: Write general description for this method
206
+ # @return [Object]
207
+ attr_accessor :provider_versions
208
+
209
+ # TODO: Write general description for this method
210
+ # @return [Object]
211
+ attr_accessor :module_versions
212
+
213
+ # TODO: Write general description for this method
214
+ # @return [Object]
215
+ attr_accessor :state_file_hash
216
+
217
+ # TODO: Write general description for this method
218
+ # @return [DriftCause]
219
+ attr_accessor :drift_cause
220
+
221
+ # A mapping from model property names to API property names.
222
+ def self.names
223
+ @_hash = {} if @_hash.nil?
224
+ @_hash['id'] = 'id'
225
+ @_hash['created_at'] = 'createdAt'
226
+ @_hash['updated_at'] = 'updatedAt'
227
+ @_hash['type'] = 'type'
228
+ @_hash['started_by'] = 'startedBy'
229
+ @_hash['queued_at'] = 'queuedAt'
230
+ @_hash['started_at'] = 'startedAt'
231
+ @_hash['finished_at'] = 'finishedAt'
232
+ @_hash['output'] = 'output'
233
+ @_hash['error'] = 'error'
234
+ @_hash['failed_command'] = 'failedCommand'
235
+ @_hash['stopped_by_timeout_reason'] = 'stoppedByTimeoutReason'
236
+ @_hash['custom_env0_environment_variables'] =
237
+ 'customEnv0EnvironmentVariables'
238
+ @_hash['cost_estimation'] = 'costEstimation'
239
+ @_hash['status'] = 'status'
240
+ @_hash['blueprint_id'] = 'blueprintId'
241
+ @_hash['blueprint_name'] = 'blueprintName'
242
+ @_hash['blueprint_repository'] = 'blueprintRepository'
243
+ @_hash['blueprint_revision'] = 'blueprintRevision'
244
+ @_hash['blueprint_path'] = 'blueprintPath'
245
+ @_hash['blueprint_type'] = 'blueprintType'
246
+ @_hash['comment'] = 'comment'
247
+ @_hash['environment_id'] = 'environmentId'
248
+ @_hash['resource_count'] = 'resourceCount'
249
+ @_hash['resources'] = 'resources'
250
+ @_hash['started_by_user'] = 'startedByUser'
251
+ @_hash['is_scheduled_run'] = 'isScheduledRun'
252
+ @_hash['aborted_by'] = 'abortedBy'
253
+ @_hash['aborted_by_user'] = 'abortedByUser'
254
+ @_hash['git_user'] = 'gitUser'
255
+ @_hash['git_avatar_url'] = 'gitAvatarUrl'
256
+ @_hash['pr_number'] = 'prNumber'
257
+ @_hash['trigger_name'] = 'triggerName'
258
+ @_hash['drift_detected'] = 'driftDetected'
259
+ @_hash['plan'] = 'plan'
260
+ @_hash['plan_summary'] = 'planSummary'
261
+ @_hash['is_skipped_apply'] = 'isSkippedApply'
262
+ @_hash['workflow_deployment_id'] = 'workflowDeploymentId'
263
+ @_hash['workflow_file'] = 'workflowFile'
264
+ @_hash['workflow_deployment_options'] = 'workflowDeploymentOptions'
265
+ @_hash['state_version_id'] = 'stateVersionId'
266
+ @_hash['reviewers_users'] = 'reviewersUsers'
267
+ @_hash['reviewers'] = 'reviewers'
268
+ @_hash['reviewed_by'] = 'reviewedBy'
269
+ @_hash['reviewed_by_user'] = 'reviewedByUser'
270
+ @_hash['targets'] = 'targets'
271
+ @_hash['variables'] = 'variables'
272
+ @_hash['git_metadata'] = 'gitMetadata'
273
+ @_hash['provider_versions'] = 'providerVersions'
274
+ @_hash['module_versions'] = 'moduleVersions'
275
+ @_hash['state_file_hash'] = 'stateFileHash'
276
+ @_hash['drift_cause'] = 'driftCause'
277
+ @_hash
278
+ end
279
+
280
+ # An array for optional fields
281
+ def self.optionals
282
+ %w[
283
+ id
284
+ created_at
285
+ updated_at
286
+ failed_command
287
+ stopped_by_timeout_reason
288
+ custom_env0_environment_variables
289
+ comment
290
+ resources
291
+ git_user
292
+ git_avatar_url
293
+ pr_number
294
+ trigger_name
295
+ drift_detected
296
+ plan
297
+ plan_summary
298
+ is_skipped_apply
299
+ workflow_deployment_id
300
+ workflow_file
301
+ workflow_deployment_options
302
+ state_version_id
303
+ reviewed_by
304
+ reviewed_by_user
305
+ targets
306
+ variables
307
+ git_metadata
308
+ provider_versions
309
+ module_versions
310
+ state_file_hash
311
+ drift_cause
312
+ ]
313
+ end
314
+
315
+ # An array for nullable fields
316
+ def self.nullables
317
+ []
318
+ end
319
+
320
+ def initialize(type:, started_by:, queued_at:, started_at:, finished_at:,
321
+ output:, error:, cost_estimation:, status:, blueprint_id:,
322
+ blueprint_name:, blueprint_repository:, blueprint_revision:,
323
+ blueprint_path:, blueprint_type:, environment_id:,
324
+ resource_count:, started_by_user:, is_scheduled_run:,
325
+ aborted_by:, aborted_by_user:, reviewers_users:, reviewers:,
326
+ id: SKIP, created_at: SKIP, updated_at: SKIP,
327
+ failed_command: SKIP, stopped_by_timeout_reason: SKIP,
328
+ custom_env0_environment_variables: SKIP, comment: SKIP,
329
+ resources: SKIP, git_user: SKIP, git_avatar_url: SKIP,
330
+ pr_number: SKIP, trigger_name: SKIP, drift_detected: SKIP,
331
+ plan: SKIP, plan_summary: SKIP, is_skipped_apply: SKIP,
332
+ workflow_deployment_id: SKIP, workflow_file: SKIP,
333
+ workflow_deployment_options: SKIP, state_version_id: SKIP,
334
+ reviewed_by: SKIP, reviewed_by_user: SKIP, targets: SKIP,
335
+ variables: SKIP, git_metadata: SKIP, provider_versions: SKIP,
336
+ module_versions: SKIP, state_file_hash: SKIP,
337
+ drift_cause: SKIP)
338
+ @id = id unless id == SKIP
339
+ @created_at = created_at unless created_at == SKIP
340
+ @updated_at = updated_at unless updated_at == SKIP
341
+ @type = type
342
+ @started_by = started_by
343
+ @queued_at = queued_at
344
+ @started_at = started_at
345
+ @finished_at = finished_at
346
+ @output = output
347
+ @error = error
348
+ @failed_command = failed_command unless failed_command == SKIP
349
+ unless stopped_by_timeout_reason == SKIP
350
+ @stopped_by_timeout_reason =
351
+ stopped_by_timeout_reason
352
+ end
353
+ unless custom_env0_environment_variables == SKIP
354
+ @custom_env0_environment_variables =
355
+ custom_env0_environment_variables
356
+ end
357
+ @cost_estimation = cost_estimation
358
+ @status = status
359
+ @blueprint_id = blueprint_id
360
+ @blueprint_name = blueprint_name
361
+ @blueprint_repository = blueprint_repository
362
+ @blueprint_revision = blueprint_revision
363
+ @blueprint_path = blueprint_path
364
+ @blueprint_type = blueprint_type
365
+ @comment = comment unless comment == SKIP
366
+ @environment_id = environment_id
367
+ @resource_count = resource_count
368
+ @resources = resources unless resources == SKIP
369
+ @started_by_user = started_by_user
370
+ @is_scheduled_run = is_scheduled_run
371
+ @aborted_by = aborted_by
372
+ @aborted_by_user = aborted_by_user
373
+ @git_user = git_user unless git_user == SKIP
374
+ @git_avatar_url = git_avatar_url unless git_avatar_url == SKIP
375
+ @pr_number = pr_number unless pr_number == SKIP
376
+ @trigger_name = trigger_name unless trigger_name == SKIP
377
+ @drift_detected = drift_detected unless drift_detected == SKIP
378
+ @plan = plan unless plan == SKIP
379
+ @plan_summary = plan_summary unless plan_summary == SKIP
380
+ @is_skipped_apply = is_skipped_apply unless is_skipped_apply == SKIP
381
+ @workflow_deployment_id = workflow_deployment_id unless workflow_deployment_id == SKIP
382
+ @workflow_file = workflow_file unless workflow_file == SKIP
383
+ unless workflow_deployment_options == SKIP
384
+ @workflow_deployment_options =
385
+ workflow_deployment_options
386
+ end
387
+ @state_version_id = state_version_id unless state_version_id == SKIP
388
+ @reviewers_users = reviewers_users
389
+ @reviewers = reviewers
390
+ @reviewed_by = reviewed_by unless reviewed_by == SKIP
391
+ @reviewed_by_user = reviewed_by_user unless reviewed_by_user == SKIP
392
+ @targets = targets unless targets == SKIP
393
+ @variables = variables unless variables == SKIP
394
+ @git_metadata = git_metadata unless git_metadata == SKIP
395
+ @provider_versions = provider_versions unless provider_versions == SKIP
396
+ @module_versions = module_versions unless module_versions == SKIP
397
+ @state_file_hash = state_file_hash unless state_file_hash == SKIP
398
+ @drift_cause = drift_cause unless drift_cause == SKIP
399
+ end
400
+
401
+ # Creates an instance of the object from a hash.
402
+ def self.from_hash(hash)
403
+ return nil unless hash
404
+
405
+ # Extract variables from the hash.
406
+ type = hash.key?('type') ? hash['type'] : nil
407
+ started_by = hash.key?('startedBy') ? hash['startedBy'] : nil
408
+ queued_at = if hash.key?('queuedAt')
409
+ (DateTimeHelper.from_rfc3339(hash['queuedAt']) if hash['queuedAt'])
410
+ end
411
+ started_at = if hash.key?('startedAt')
412
+ (DateTimeHelper.from_rfc3339(hash['startedAt']) if hash['startedAt'])
413
+ end
414
+ finished_at = if hash.key?('finishedAt')
415
+ (DateTimeHelper.from_rfc3339(hash['finishedAt']) if hash['finishedAt'])
416
+ end
417
+ output = hash.key?('output') ? APIHelper.deserialize_union_type(
418
+ UnionTypeLookUp.get(:EnvironmentApiDeploymentOutput), hash['output']
419
+ ) : nil
420
+ error = hash.key?('error') ? hash['error'] : nil
421
+ cost_estimation = InfracostCostEstimation.from_hash(hash['costEstimation']) if
422
+ hash['costEstimation']
423
+ status = hash.key?('status') ? hash['status'] : nil
424
+ blueprint_id = hash.key?('blueprintId') ? hash['blueprintId'] : nil
425
+ blueprint_name = hash.key?('blueprintName') ? hash['blueprintName'] : nil
426
+ blueprint_repository =
427
+ hash.key?('blueprintRepository') ? hash['blueprintRepository'] : nil
428
+ blueprint_revision =
429
+ hash.key?('blueprintRevision') ? hash['blueprintRevision'] : nil
430
+ blueprint_path = hash.key?('blueprintPath') ? hash['blueprintPath'] : nil
431
+ blueprint_type = hash.key?('blueprintType') ? APIHelper.deserialize_union_type(
432
+ UnionTypeLookUp.get(:BlueprintApiDeployableType), hash['blueprintType']
433
+ ) : nil
434
+ environment_id = hash.key?('environmentId') ? hash['environmentId'] : nil
435
+ resource_count = hash.key?('resourceCount') ? hash['resourceCount'] : nil
436
+ started_by_user = User.from_hash(hash['startedByUser']) if hash['startedByUser']
437
+ is_scheduled_run =
438
+ hash.key?('isScheduledRun') ? hash['isScheduledRun'] : nil
439
+ aborted_by = hash.key?('abortedBy') ? hash['abortedBy'] : nil
440
+ aborted_by_user = User.from_hash(hash['abortedByUser']) if hash['abortedByUser']
441
+ # Parameter is an array, so we need to iterate through it
442
+ reviewers_users = nil
443
+ unless hash['reviewersUsers'].nil?
444
+ reviewers_users = []
445
+ hash['reviewersUsers'].each do |structure|
446
+ reviewers_users << (EnvironmentApiReviewerUser.from_hash(structure) if structure)
447
+ end
448
+ end
449
+
450
+ reviewers_users = nil unless hash.key?('reviewersUsers')
451
+ # Parameter is an array, so we need to iterate through it
452
+ reviewers = nil
453
+ unless hash['reviewers'].nil?
454
+ reviewers = []
455
+ hash['reviewers'].each do |structure|
456
+ reviewers << (EnvironmentApiReviewer.from_hash(structure) if structure)
457
+ end
458
+ end
459
+
460
+ reviewers = nil unless hash.key?('reviewers')
461
+ id = hash.key?('id') ? hash['id'] : SKIP
462
+ created_at = if hash.key?('createdAt')
463
+ (DateTimeHelper.from_rfc3339(hash['createdAt']) if hash['createdAt'])
464
+ else
465
+ SKIP
466
+ end
467
+ updated_at = if hash.key?('updatedAt')
468
+ (DateTimeHelper.from_rfc3339(hash['updatedAt']) if hash['updatedAt'])
469
+ else
470
+ SKIP
471
+ end
472
+ failed_command = hash.key?('failedCommand') ? hash['failedCommand'] : SKIP
473
+ stopped_by_timeout_reason =
474
+ hash.key?('stoppedByTimeoutReason') ? hash['stoppedByTimeoutReason'] : SKIP
475
+ if hash['customEnv0EnvironmentVariables']
476
+ custom_env0_environment_variables = CustomEnv0EnvironmentVariables.from_hash(hash['customEnv0EnvironmentVariables'])
477
+ end
478
+ comment = hash.key?('comment') ? hash['comment'] : SKIP
479
+ # Parameter is an array, so we need to iterate through it
480
+ resources = nil
481
+ unless hash['resources'].nil?
482
+ resources = []
483
+ hash['resources'].each do |structure|
484
+ resources << (EnvironmentApiEnvironmentResource.from_hash(structure) if structure)
485
+ end
486
+ end
487
+
488
+ resources = SKIP unless hash.key?('resources')
489
+ git_user = hash.key?('gitUser') ? hash['gitUser'] : SKIP
490
+ git_avatar_url = hash.key?('gitAvatarUrl') ? hash['gitAvatarUrl'] : SKIP
491
+ pr_number = hash.key?('prNumber') ? hash['prNumber'] : SKIP
492
+ trigger_name = hash.key?('triggerName') ? APIHelper.deserialize_union_type(
493
+ UnionTypeLookUp.get(:TriggerName), hash['triggerName']
494
+ ) : SKIP
495
+ drift_detected = hash.key?('driftDetected') ? hash['driftDetected'] : SKIP
496
+ plan = DeploymentApiPlanPlan.from_hash(hash['plan']) if hash['plan']
497
+ plan_summary = DeploymentApiPlanPlanSummary.from_hash(hash['planSummary']) if
498
+ hash['planSummary']
499
+ is_skipped_apply =
500
+ hash.key?('isSkippedApply') ? hash['isSkippedApply'] : SKIP
501
+ workflow_deployment_id =
502
+ hash.key?('workflowDeploymentId') ? hash['workflowDeploymentId'] : SKIP
503
+ if hash['workflowFile']
504
+ workflow_file = EnvironmentApiWorkflowEnvironmentsWorkflowFile.from_hash(hash['workflowFile'])
505
+ end
506
+ if hash['workflowDeploymentOptions']
507
+ workflow_deployment_options = WorkflowDeploymentOptions.from_hash(hash['workflowDeploymentOptions'])
508
+ end
509
+ state_version_id =
510
+ hash.key?('stateVersionId') ? hash['stateVersionId'] : SKIP
511
+ reviewed_by = hash.key?('reviewedBy') ? hash['reviewedBy'] : SKIP
512
+ reviewed_by_user = User.from_hash(hash['reviewedByUser']) if hash['reviewedByUser']
513
+ targets = hash.key?('targets') ? hash['targets'] : SKIP
514
+ # Parameter is an array, so we need to iterate through it
515
+ variables = nil
516
+ unless hash['variables'].nil?
517
+ variables = []
518
+ hash['variables'].each do |structure|
519
+ variables << (EnvironmentApiVariable.from_hash(structure) if structure)
520
+ end
521
+ end
522
+
523
+ variables = SKIP unless hash.key?('variables')
524
+ git_metadata = EnvironmentApiGitMetadata.from_hash(hash['gitMetadata']) if
525
+ hash['gitMetadata']
526
+ provider_versions = hash.key?('providerVersions') ? APIHelper.deserialize_union_type(
527
+ UnionTypeLookUp.get(:EnvironmentApiProviderVersions), hash['providerVersions']
528
+ ) : SKIP
529
+ module_versions = hash.key?('moduleVersions') ? APIHelper.deserialize_union_type(
530
+ UnionTypeLookUp.get(:EnvironmentApiModuleVersions), hash['moduleVersions']
531
+ ) : SKIP
532
+ state_file_hash = hash.key?('stateFileHash') ? APIHelper.deserialize_union_type(
533
+ UnionTypeLookUp.get(:EnvironmentApiStateFileHash2), hash['stateFileHash']
534
+ ) : SKIP
535
+ drift_cause = DriftCause.from_hash(hash['driftCause']) if hash['driftCause']
536
+
537
+ # Create object from extracted values.
538
+ EnvironmentApiDeploymentLog.new(type: type,
539
+ started_by: started_by,
540
+ queued_at: queued_at,
541
+ started_at: started_at,
542
+ finished_at: finished_at,
543
+ output: output,
544
+ error: error,
545
+ cost_estimation: cost_estimation,
546
+ status: status,
547
+ blueprint_id: blueprint_id,
548
+ blueprint_name: blueprint_name,
549
+ blueprint_repository: blueprint_repository,
550
+ blueprint_revision: blueprint_revision,
551
+ blueprint_path: blueprint_path,
552
+ blueprint_type: blueprint_type,
553
+ environment_id: environment_id,
554
+ resource_count: resource_count,
555
+ started_by_user: started_by_user,
556
+ is_scheduled_run: is_scheduled_run,
557
+ aborted_by: aborted_by,
558
+ aborted_by_user: aborted_by_user,
559
+ reviewers_users: reviewers_users,
560
+ reviewers: reviewers,
561
+ id: id,
562
+ created_at: created_at,
563
+ updated_at: updated_at,
564
+ failed_command: failed_command,
565
+ stopped_by_timeout_reason: stopped_by_timeout_reason,
566
+ custom_env0_environment_variables: custom_env0_environment_variables,
567
+ comment: comment,
568
+ resources: resources,
569
+ git_user: git_user,
570
+ git_avatar_url: git_avatar_url,
571
+ pr_number: pr_number,
572
+ trigger_name: trigger_name,
573
+ drift_detected: drift_detected,
574
+ plan: plan,
575
+ plan_summary: plan_summary,
576
+ is_skipped_apply: is_skipped_apply,
577
+ workflow_deployment_id: workflow_deployment_id,
578
+ workflow_file: workflow_file,
579
+ workflow_deployment_options: workflow_deployment_options,
580
+ state_version_id: state_version_id,
581
+ reviewed_by: reviewed_by,
582
+ reviewed_by_user: reviewed_by_user,
583
+ targets: targets,
584
+ variables: variables,
585
+ git_metadata: git_metadata,
586
+ provider_versions: provider_versions,
587
+ module_versions: module_versions,
588
+ state_file_hash: state_file_hash,
589
+ drift_cause: drift_cause)
590
+ end
591
+
592
+ def to_custom_created_at
593
+ DateTimeHelper.to_rfc3339(created_at)
594
+ end
595
+
596
+ def to_custom_updated_at
597
+ DateTimeHelper.to_rfc3339(updated_at)
598
+ end
599
+
600
+ def to_custom_queued_at
601
+ DateTimeHelper.to_rfc3339(queued_at)
602
+ end
603
+
604
+ def to_custom_started_at
605
+ DateTimeHelper.to_rfc3339(started_at)
606
+ end
607
+
608
+ def to_custom_finished_at
609
+ DateTimeHelper.to_rfc3339(finished_at)
610
+ end
611
+
612
+ # Validates an instance of the object from a given value.
613
+ # @param [EnvironmentApiDeploymentLog | Hash] The value against the validation is performed.
614
+ def self.validate(value)
615
+ if value.instance_of? self
616
+ return (
617
+ APIHelper.valid_type?(value.type,
618
+ ->(val) { EnvironmentApiDeploymentType.validate(val) }) and
619
+ APIHelper.valid_type?(value.started_by,
620
+ ->(val) { val.instance_of? String }) and
621
+ APIHelper.valid_type?(value.queued_at,
622
+ ->(val) { val.instance_of? DateTime }) and
623
+ APIHelper.valid_type?(value.started_at,
624
+ ->(val) { val.instance_of? DateTime }) and
625
+ APIHelper.valid_type?(value.finished_at,
626
+ ->(val) { val.instance_of? DateTime }) and
627
+ UnionTypeLookUp.get(:EnvironmentApiDeploymentOutput)
628
+ .validate(value.output) and
629
+ APIHelper.valid_type?(value.error,
630
+ ->(val) { val.instance_of? Object }) and
631
+ APIHelper.valid_type?(value.cost_estimation,
632
+ ->(val) { InfracostCostEstimation.validate(val) },
633
+ is_model_hash: true) and
634
+ APIHelper.valid_type?(value.status,
635
+ ->(val) { EnvironmentApiDeploymentLogStatus.validate(val) }) and
636
+ APIHelper.valid_type?(value.blueprint_id,
637
+ ->(val) { val.instance_of? String }) and
638
+ APIHelper.valid_type?(value.blueprint_name,
639
+ ->(val) { val.instance_of? String }) and
640
+ APIHelper.valid_type?(value.blueprint_repository,
641
+ ->(val) { val.instance_of? String }) and
642
+ APIHelper.valid_type?(value.blueprint_revision,
643
+ ->(val) { val.instance_of? String }) and
644
+ APIHelper.valid_type?(value.blueprint_path,
645
+ ->(val) { val.instance_of? String }) and
646
+ UnionTypeLookUp.get(:BlueprintApiDeployableType)
647
+ .validate(value.blueprint_type) and
648
+ APIHelper.valid_type?(value.environment_id,
649
+ ->(val) { val.instance_of? String }) and
650
+ APIHelper.valid_type?(value.resource_count,
651
+ ->(val) { val.instance_of? Float }) and
652
+ APIHelper.valid_type?(value.started_by_user,
653
+ ->(val) { User.validate(val) },
654
+ is_model_hash: true) and
655
+ APIHelper.valid_type?(value.is_scheduled_run,
656
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
657
+ APIHelper.valid_type?(value.aborted_by,
658
+ ->(val) { val.instance_of? String }) and
659
+ APIHelper.valid_type?(value.aborted_by_user,
660
+ ->(val) { User.validate(val) },
661
+ is_model_hash: true) and
662
+ APIHelper.valid_type?(value.reviewers_users,
663
+ ->(val) { EnvironmentApiReviewerUser.validate(val) },
664
+ is_model_hash: true,
665
+ is_inner_model_hash: true) and
666
+ APIHelper.valid_type?(value.reviewers,
667
+ ->(val) { EnvironmentApiReviewer.validate(val) },
668
+ is_model_hash: true,
669
+ is_inner_model_hash: true)
670
+ )
671
+ end
672
+
673
+ return false unless value.instance_of? Hash
674
+
675
+ (
676
+ APIHelper.valid_type?(value['type'],
677
+ ->(val) { EnvironmentApiDeploymentType.validate(val) }) and
678
+ APIHelper.valid_type?(value['startedBy'],
679
+ ->(val) { val.instance_of? String }) and
680
+ APIHelper.valid_type?(value['queuedAt'],
681
+ ->(val) { val.instance_of? String }) and
682
+ APIHelper.valid_type?(value['startedAt'],
683
+ ->(val) { val.instance_of? String }) and
684
+ APIHelper.valid_type?(value['finishedAt'],
685
+ ->(val) { val.instance_of? String }) and
686
+ UnionTypeLookUp.get(:EnvironmentApiDeploymentOutput)
687
+ .validate(value['output']) and
688
+ APIHelper.valid_type?(value['error'],
689
+ ->(val) { val.instance_of? Object }) and
690
+ APIHelper.valid_type?(value['costEstimation'],
691
+ ->(val) { InfracostCostEstimation.validate(val) },
692
+ is_model_hash: true) and
693
+ APIHelper.valid_type?(value['status'],
694
+ ->(val) { EnvironmentApiDeploymentLogStatus.validate(val) }) and
695
+ APIHelper.valid_type?(value['blueprintId'],
696
+ ->(val) { val.instance_of? String }) and
697
+ APIHelper.valid_type?(value['blueprintName'],
698
+ ->(val) { val.instance_of? String }) and
699
+ APIHelper.valid_type?(value['blueprintRepository'],
700
+ ->(val) { val.instance_of? String }) and
701
+ APIHelper.valid_type?(value['blueprintRevision'],
702
+ ->(val) { val.instance_of? String }) and
703
+ APIHelper.valid_type?(value['blueprintPath'],
704
+ ->(val) { val.instance_of? String }) and
705
+ UnionTypeLookUp.get(:BlueprintApiDeployableType)
706
+ .validate(value['blueprintType']) and
707
+ APIHelper.valid_type?(value['environmentId'],
708
+ ->(val) { val.instance_of? String }) and
709
+ APIHelper.valid_type?(value['resourceCount'],
710
+ ->(val) { val.instance_of? Float }) and
711
+ APIHelper.valid_type?(value['startedByUser'],
712
+ ->(val) { User.validate(val) },
713
+ is_model_hash: true) and
714
+ APIHelper.valid_type?(value['isScheduledRun'],
715
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
716
+ APIHelper.valid_type?(value['abortedBy'],
717
+ ->(val) { val.instance_of? String }) and
718
+ APIHelper.valid_type?(value['abortedByUser'],
719
+ ->(val) { User.validate(val) },
720
+ is_model_hash: true) and
721
+ APIHelper.valid_type?(value['reviewersUsers'],
722
+ ->(val) { EnvironmentApiReviewerUser.validate(val) },
723
+ is_model_hash: true,
724
+ is_inner_model_hash: true) and
725
+ APIHelper.valid_type?(value['reviewers'],
726
+ ->(val) { EnvironmentApiReviewer.validate(val) },
727
+ is_model_hash: true,
728
+ is_inner_model_hash: true)
729
+ )
730
+ end
731
+
732
+ # Provides a human-readable string representation of the object.
733
+ def to_s
734
+ class_name = self.class.name.split('::').last
735
+ "<#{class_name} id: #{@id}, created_at: #{@created_at}, updated_at: #{@updated_at}, type:"\
736
+ " #{@type}, started_by: #{@started_by}, queued_at: #{@queued_at}, started_at:"\
737
+ " #{@started_at}, finished_at: #{@finished_at}, output: #{@output}, error: #{@error},"\
738
+ " failed_command: #{@failed_command}, stopped_by_timeout_reason:"\
739
+ " #{@stopped_by_timeout_reason}, custom_env0_environment_variables:"\
740
+ " #{@custom_env0_environment_variables}, cost_estimation: #{@cost_estimation}, status:"\
741
+ " #{@status}, blueprint_id: #{@blueprint_id}, blueprint_name: #{@blueprint_name},"\
742
+ " blueprint_repository: #{@blueprint_repository}, blueprint_revision:"\
743
+ " #{@blueprint_revision}, blueprint_path: #{@blueprint_path}, blueprint_type:"\
744
+ " #{@blueprint_type}, comment: #{@comment}, environment_id: #{@environment_id},"\
745
+ " resource_count: #{@resource_count}, resources: #{@resources}, started_by_user:"\
746
+ " #{@started_by_user}, is_scheduled_run: #{@is_scheduled_run}, aborted_by: #{@aborted_by},"\
747
+ " aborted_by_user: #{@aborted_by_user}, git_user: #{@git_user}, git_avatar_url:"\
748
+ " #{@git_avatar_url}, pr_number: #{@pr_number}, trigger_name: #{@trigger_name},"\
749
+ " drift_detected: #{@drift_detected}, plan: #{@plan}, plan_summary: #{@plan_summary},"\
750
+ " is_skipped_apply: #{@is_skipped_apply}, workflow_deployment_id:"\
751
+ " #{@workflow_deployment_id}, workflow_file: #{@workflow_file}, workflow_deployment_options:"\
752
+ " #{@workflow_deployment_options}, state_version_id: #{@state_version_id}, reviewers_users:"\
753
+ " #{@reviewers_users}, reviewers: #{@reviewers}, reviewed_by: #{@reviewed_by},"\
754
+ " reviewed_by_user: #{@reviewed_by_user}, targets: #{@targets}, variables: #{@variables},"\
755
+ " git_metadata: #{@git_metadata}, provider_versions: #{@provider_versions}, module_versions:"\
756
+ " #{@module_versions}, state_file_hash: #{@state_file_hash}, drift_cause: #{@drift_cause}>"
757
+ end
758
+
759
+ # Provides a debugging-friendly string with detailed object information.
760
+ def inspect
761
+ class_name = self.class.name.split('::').last
762
+ "<#{class_name} id: #{@id.inspect}, created_at: #{@created_at.inspect}, updated_at:"\
763
+ " #{@updated_at.inspect}, type: #{@type.inspect}, started_by: #{@started_by.inspect},"\
764
+ " queued_at: #{@queued_at.inspect}, started_at: #{@started_at.inspect}, finished_at:"\
765
+ " #{@finished_at.inspect}, output: #{@output.inspect}, error: #{@error.inspect},"\
766
+ " failed_command: #{@failed_command.inspect}, stopped_by_timeout_reason:"\
767
+ " #{@stopped_by_timeout_reason.inspect}, custom_env0_environment_variables:"\
768
+ " #{@custom_env0_environment_variables.inspect}, cost_estimation:"\
769
+ " #{@cost_estimation.inspect}, status: #{@status.inspect}, blueprint_id:"\
770
+ " #{@blueprint_id.inspect}, blueprint_name: #{@blueprint_name.inspect},"\
771
+ " blueprint_repository: #{@blueprint_repository.inspect}, blueprint_revision:"\
772
+ " #{@blueprint_revision.inspect}, blueprint_path: #{@blueprint_path.inspect},"\
773
+ " blueprint_type: #{@blueprint_type.inspect}, comment: #{@comment.inspect}, environment_id:"\
774
+ " #{@environment_id.inspect}, resource_count: #{@resource_count.inspect}, resources:"\
775
+ " #{@resources.inspect}, started_by_user: #{@started_by_user.inspect}, is_scheduled_run:"\
776
+ " #{@is_scheduled_run.inspect}, aborted_by: #{@aborted_by.inspect}, aborted_by_user:"\
777
+ " #{@aborted_by_user.inspect}, git_user: #{@git_user.inspect}, git_avatar_url:"\
778
+ " #{@git_avatar_url.inspect}, pr_number: #{@pr_number.inspect}, trigger_name:"\
779
+ " #{@trigger_name.inspect}, drift_detected: #{@drift_detected.inspect}, plan:"\
780
+ " #{@plan.inspect}, plan_summary: #{@plan_summary.inspect}, is_skipped_apply:"\
781
+ " #{@is_skipped_apply.inspect}, workflow_deployment_id: #{@workflow_deployment_id.inspect},"\
782
+ " workflow_file: #{@workflow_file.inspect}, workflow_deployment_options:"\
783
+ " #{@workflow_deployment_options.inspect}, state_version_id: #{@state_version_id.inspect},"\
784
+ " reviewers_users: #{@reviewers_users.inspect}, reviewers: #{@reviewers.inspect},"\
785
+ " reviewed_by: #{@reviewed_by.inspect}, reviewed_by_user: #{@reviewed_by_user.inspect},"\
786
+ " targets: #{@targets.inspect}, variables: #{@variables.inspect}, git_metadata:"\
787
+ " #{@git_metadata.inspect}, provider_versions: #{@provider_versions.inspect},"\
788
+ " module_versions: #{@module_versions.inspect}, state_file_hash:"\
789
+ " #{@state_file_hash.inspect}, drift_cause: #{@drift_cause.inspect}>"
790
+ end
791
+ end
792
+ end