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,796 @@
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
+ # EnvironmentApiDeployResponse Model.
9
+ class EnvironmentApiDeployResponse < 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
+ created_at
284
+ updated_at
285
+ failed_command
286
+ stopped_by_timeout_reason
287
+ custom_env0_environment_variables
288
+ comment
289
+ resources
290
+ git_user
291
+ git_avatar_url
292
+ pr_number
293
+ trigger_name
294
+ drift_detected
295
+ plan
296
+ plan_summary
297
+ is_skipped_apply
298
+ workflow_deployment_id
299
+ workflow_file
300
+ workflow_deployment_options
301
+ state_version_id
302
+ reviewed_by
303
+ reviewed_by_user
304
+ targets
305
+ variables
306
+ git_metadata
307
+ provider_versions
308
+ module_versions
309
+ state_file_hash
310
+ drift_cause
311
+ ]
312
+ end
313
+
314
+ # An array for nullable fields
315
+ def self.nullables
316
+ []
317
+ end
318
+
319
+ def initialize(id:, type:, started_by:, queued_at:, started_at:,
320
+ finished_at:, output:, error:, cost_estimation:, status:,
321
+ blueprint_id:, blueprint_name:, blueprint_repository:,
322
+ blueprint_revision:, blueprint_path:, blueprint_type:,
323
+ environment_id:, resource_count:, started_by_user:,
324
+ is_scheduled_run:, aborted_by:, aborted_by_user:,
325
+ reviewers_users:, reviewers:, created_at: SKIP,
326
+ updated_at: SKIP, failed_command: SKIP,
327
+ 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
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
+ id = hash.key?('id') ? hash['id'] : nil
407
+ type = hash.key?('type') ? hash['type'] : nil
408
+ started_by = hash.key?('startedBy') ? hash['startedBy'] : nil
409
+ queued_at = if hash.key?('queuedAt')
410
+ (DateTimeHelper.from_rfc3339(hash['queuedAt']) if hash['queuedAt'])
411
+ end
412
+ started_at = if hash.key?('startedAt')
413
+ (DateTimeHelper.from_rfc3339(hash['startedAt']) if hash['startedAt'])
414
+ end
415
+ finished_at = if hash.key?('finishedAt')
416
+ (DateTimeHelper.from_rfc3339(hash['finishedAt']) if hash['finishedAt'])
417
+ end
418
+ output = hash.key?('output') ? APIHelper.deserialize_union_type(
419
+ UnionTypeLookUp.get(:EnvironmentApiDeploymentOutput), hash['output']
420
+ ) : nil
421
+ error = hash.key?('error') ? hash['error'] : nil
422
+ cost_estimation = InfracostCostEstimation.from_hash(hash['costEstimation']) if
423
+ hash['costEstimation']
424
+ status = hash.key?('status') ? hash['status'] : nil
425
+ blueprint_id = hash.key?('blueprintId') ? hash['blueprintId'] : nil
426
+ blueprint_name = hash.key?('blueprintName') ? hash['blueprintName'] : nil
427
+ blueprint_repository =
428
+ hash.key?('blueprintRepository') ? hash['blueprintRepository'] : nil
429
+ blueprint_revision =
430
+ hash.key?('blueprintRevision') ? hash['blueprintRevision'] : nil
431
+ blueprint_path = hash.key?('blueprintPath') ? hash['blueprintPath'] : nil
432
+ blueprint_type = hash.key?('blueprintType') ? APIHelper.deserialize_union_type(
433
+ UnionTypeLookUp.get(:BlueprintApiDeployableType), hash['blueprintType']
434
+ ) : nil
435
+ environment_id = hash.key?('environmentId') ? hash['environmentId'] : nil
436
+ resource_count = hash.key?('resourceCount') ? hash['resourceCount'] : nil
437
+ started_by_user = User.from_hash(hash['startedByUser']) if hash['startedByUser']
438
+ is_scheduled_run =
439
+ hash.key?('isScheduledRun') ? hash['isScheduledRun'] : nil
440
+ aborted_by = hash.key?('abortedBy') ? hash['abortedBy'] : nil
441
+ aborted_by_user = User.from_hash(hash['abortedByUser']) if hash['abortedByUser']
442
+ # Parameter is an array, so we need to iterate through it
443
+ reviewers_users = nil
444
+ unless hash['reviewersUsers'].nil?
445
+ reviewers_users = []
446
+ hash['reviewersUsers'].each do |structure|
447
+ reviewers_users << (EnvironmentApiReviewerUser.from_hash(structure) if structure)
448
+ end
449
+ end
450
+
451
+ reviewers_users = nil unless hash.key?('reviewersUsers')
452
+ # Parameter is an array, so we need to iterate through it
453
+ reviewers = nil
454
+ unless hash['reviewers'].nil?
455
+ reviewers = []
456
+ hash['reviewers'].each do |structure|
457
+ reviewers << (EnvironmentApiReviewer.from_hash(structure) if structure)
458
+ end
459
+ end
460
+
461
+ reviewers = nil unless hash.key?('reviewers')
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
+ EnvironmentApiDeployResponse.new(id: id,
539
+ type: type,
540
+ started_by: started_by,
541
+ queued_at: queued_at,
542
+ started_at: started_at,
543
+ finished_at: finished_at,
544
+ output: output,
545
+ error: error,
546
+ cost_estimation: cost_estimation,
547
+ status: status,
548
+ blueprint_id: blueprint_id,
549
+ blueprint_name: blueprint_name,
550
+ blueprint_repository: blueprint_repository,
551
+ blueprint_revision: blueprint_revision,
552
+ blueprint_path: blueprint_path,
553
+ blueprint_type: blueprint_type,
554
+ environment_id: environment_id,
555
+ resource_count: resource_count,
556
+ started_by_user: started_by_user,
557
+ is_scheduled_run: is_scheduled_run,
558
+ aborted_by: aborted_by,
559
+ aborted_by_user: aborted_by_user,
560
+ reviewers_users: reviewers_users,
561
+ reviewers: reviewers,
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 [EnvironmentApiDeployResponse | 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.id,
618
+ ->(val) { val.instance_of? String }) and
619
+ APIHelper.valid_type?(value.type,
620
+ ->(val) { EnvironmentApiDeploymentType.validate(val) }) and
621
+ APIHelper.valid_type?(value.started_by,
622
+ ->(val) { val.instance_of? String }) and
623
+ APIHelper.valid_type?(value.queued_at,
624
+ ->(val) { val.instance_of? DateTime }) and
625
+ APIHelper.valid_type?(value.started_at,
626
+ ->(val) { val.instance_of? DateTime }) and
627
+ APIHelper.valid_type?(value.finished_at,
628
+ ->(val) { val.instance_of? DateTime }) and
629
+ UnionTypeLookUp.get(:EnvironmentApiDeploymentOutput)
630
+ .validate(value.output) and
631
+ APIHelper.valid_type?(value.error,
632
+ ->(val) { val.instance_of? Object }) and
633
+ APIHelper.valid_type?(value.cost_estimation,
634
+ ->(val) { InfracostCostEstimation.validate(val) },
635
+ is_model_hash: true) and
636
+ APIHelper.valid_type?(value.status,
637
+ ->(val) { EnvironmentApiDeploymentLogStatus.validate(val) }) and
638
+ APIHelper.valid_type?(value.blueprint_id,
639
+ ->(val) { val.instance_of? String }) and
640
+ APIHelper.valid_type?(value.blueprint_name,
641
+ ->(val) { val.instance_of? String }) and
642
+ APIHelper.valid_type?(value.blueprint_repository,
643
+ ->(val) { val.instance_of? String }) and
644
+ APIHelper.valid_type?(value.blueprint_revision,
645
+ ->(val) { val.instance_of? String }) and
646
+ APIHelper.valid_type?(value.blueprint_path,
647
+ ->(val) { val.instance_of? String }) and
648
+ UnionTypeLookUp.get(:BlueprintApiDeployableType)
649
+ .validate(value.blueprint_type) and
650
+ APIHelper.valid_type?(value.environment_id,
651
+ ->(val) { val.instance_of? String }) and
652
+ APIHelper.valid_type?(value.resource_count,
653
+ ->(val) { val.instance_of? Float }) and
654
+ APIHelper.valid_type?(value.started_by_user,
655
+ ->(val) { User.validate(val) },
656
+ is_model_hash: true) and
657
+ APIHelper.valid_type?(value.is_scheduled_run,
658
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
659
+ APIHelper.valid_type?(value.aborted_by,
660
+ ->(val) { val.instance_of? String }) and
661
+ APIHelper.valid_type?(value.aborted_by_user,
662
+ ->(val) { User.validate(val) },
663
+ is_model_hash: true) and
664
+ APIHelper.valid_type?(value.reviewers_users,
665
+ ->(val) { EnvironmentApiReviewerUser.validate(val) },
666
+ is_model_hash: true,
667
+ is_inner_model_hash: true) and
668
+ APIHelper.valid_type?(value.reviewers,
669
+ ->(val) { EnvironmentApiReviewer.validate(val) },
670
+ is_model_hash: true,
671
+ is_inner_model_hash: true)
672
+ )
673
+ end
674
+
675
+ return false unless value.instance_of? Hash
676
+
677
+ (
678
+ APIHelper.valid_type?(value['id'],
679
+ ->(val) { val.instance_of? String }) and
680
+ APIHelper.valid_type?(value['type'],
681
+ ->(val) { EnvironmentApiDeploymentType.validate(val) }) and
682
+ APIHelper.valid_type?(value['startedBy'],
683
+ ->(val) { val.instance_of? String }) and
684
+ APIHelper.valid_type?(value['queuedAt'],
685
+ ->(val) { val.instance_of? String }) and
686
+ APIHelper.valid_type?(value['startedAt'],
687
+ ->(val) { val.instance_of? String }) and
688
+ APIHelper.valid_type?(value['finishedAt'],
689
+ ->(val) { val.instance_of? String }) and
690
+ UnionTypeLookUp.get(:EnvironmentApiDeploymentOutput)
691
+ .validate(value['output']) and
692
+ APIHelper.valid_type?(value['error'],
693
+ ->(val) { val.instance_of? Object }) and
694
+ APIHelper.valid_type?(value['costEstimation'],
695
+ ->(val) { InfracostCostEstimation.validate(val) },
696
+ is_model_hash: true) and
697
+ APIHelper.valid_type?(value['status'],
698
+ ->(val) { EnvironmentApiDeploymentLogStatus.validate(val) }) and
699
+ APIHelper.valid_type?(value['blueprintId'],
700
+ ->(val) { val.instance_of? String }) and
701
+ APIHelper.valid_type?(value['blueprintName'],
702
+ ->(val) { val.instance_of? String }) and
703
+ APIHelper.valid_type?(value['blueprintRepository'],
704
+ ->(val) { val.instance_of? String }) and
705
+ APIHelper.valid_type?(value['blueprintRevision'],
706
+ ->(val) { val.instance_of? String }) and
707
+ APIHelper.valid_type?(value['blueprintPath'],
708
+ ->(val) { val.instance_of? String }) and
709
+ UnionTypeLookUp.get(:BlueprintApiDeployableType)
710
+ .validate(value['blueprintType']) and
711
+ APIHelper.valid_type?(value['environmentId'],
712
+ ->(val) { val.instance_of? String }) and
713
+ APIHelper.valid_type?(value['resourceCount'],
714
+ ->(val) { val.instance_of? Float }) and
715
+ APIHelper.valid_type?(value['startedByUser'],
716
+ ->(val) { User.validate(val) },
717
+ is_model_hash: true) and
718
+ APIHelper.valid_type?(value['isScheduledRun'],
719
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
720
+ APIHelper.valid_type?(value['abortedBy'],
721
+ ->(val) { val.instance_of? String }) and
722
+ APIHelper.valid_type?(value['abortedByUser'],
723
+ ->(val) { User.validate(val) },
724
+ is_model_hash: true) and
725
+ APIHelper.valid_type?(value['reviewersUsers'],
726
+ ->(val) { EnvironmentApiReviewerUser.validate(val) },
727
+ is_model_hash: true,
728
+ is_inner_model_hash: true) and
729
+ APIHelper.valid_type?(value['reviewers'],
730
+ ->(val) { EnvironmentApiReviewer.validate(val) },
731
+ is_model_hash: true,
732
+ is_inner_model_hash: true)
733
+ )
734
+ end
735
+
736
+ # Provides a human-readable string representation of the object.
737
+ def to_s
738
+ class_name = self.class.name.split('::').last
739
+ "<#{class_name} id: #{@id}, created_at: #{@created_at}, updated_at: #{@updated_at}, type:"\
740
+ " #{@type}, started_by: #{@started_by}, queued_at: #{@queued_at}, started_at:"\
741
+ " #{@started_at}, finished_at: #{@finished_at}, output: #{@output}, error: #{@error},"\
742
+ " failed_command: #{@failed_command}, stopped_by_timeout_reason:"\
743
+ " #{@stopped_by_timeout_reason}, custom_env0_environment_variables:"\
744
+ " #{@custom_env0_environment_variables}, cost_estimation: #{@cost_estimation}, status:"\
745
+ " #{@status}, blueprint_id: #{@blueprint_id}, blueprint_name: #{@blueprint_name},"\
746
+ " blueprint_repository: #{@blueprint_repository}, blueprint_revision:"\
747
+ " #{@blueprint_revision}, blueprint_path: #{@blueprint_path}, blueprint_type:"\
748
+ " #{@blueprint_type}, comment: #{@comment}, environment_id: #{@environment_id},"\
749
+ " resource_count: #{@resource_count}, resources: #{@resources}, started_by_user:"\
750
+ " #{@started_by_user}, is_scheduled_run: #{@is_scheduled_run}, aborted_by: #{@aborted_by},"\
751
+ " aborted_by_user: #{@aborted_by_user}, git_user: #{@git_user}, git_avatar_url:"\
752
+ " #{@git_avatar_url}, pr_number: #{@pr_number}, trigger_name: #{@trigger_name},"\
753
+ " drift_detected: #{@drift_detected}, plan: #{@plan}, plan_summary: #{@plan_summary},"\
754
+ " is_skipped_apply: #{@is_skipped_apply}, workflow_deployment_id:"\
755
+ " #{@workflow_deployment_id}, workflow_file: #{@workflow_file}, workflow_deployment_options:"\
756
+ " #{@workflow_deployment_options}, state_version_id: #{@state_version_id}, reviewers_users:"\
757
+ " #{@reviewers_users}, reviewers: #{@reviewers}, reviewed_by: #{@reviewed_by},"\
758
+ " reviewed_by_user: #{@reviewed_by_user}, targets: #{@targets}, variables: #{@variables},"\
759
+ " git_metadata: #{@git_metadata}, provider_versions: #{@provider_versions}, module_versions:"\
760
+ " #{@module_versions}, state_file_hash: #{@state_file_hash}, drift_cause: #{@drift_cause}>"
761
+ end
762
+
763
+ # Provides a debugging-friendly string with detailed object information.
764
+ def inspect
765
+ class_name = self.class.name.split('::').last
766
+ "<#{class_name} id: #{@id.inspect}, created_at: #{@created_at.inspect}, updated_at:"\
767
+ " #{@updated_at.inspect}, type: #{@type.inspect}, started_by: #{@started_by.inspect},"\
768
+ " queued_at: #{@queued_at.inspect}, started_at: #{@started_at.inspect}, finished_at:"\
769
+ " #{@finished_at.inspect}, output: #{@output.inspect}, error: #{@error.inspect},"\
770
+ " failed_command: #{@failed_command.inspect}, stopped_by_timeout_reason:"\
771
+ " #{@stopped_by_timeout_reason.inspect}, custom_env0_environment_variables:"\
772
+ " #{@custom_env0_environment_variables.inspect}, cost_estimation:"\
773
+ " #{@cost_estimation.inspect}, status: #{@status.inspect}, blueprint_id:"\
774
+ " #{@blueprint_id.inspect}, blueprint_name: #{@blueprint_name.inspect},"\
775
+ " blueprint_repository: #{@blueprint_repository.inspect}, blueprint_revision:"\
776
+ " #{@blueprint_revision.inspect}, blueprint_path: #{@blueprint_path.inspect},"\
777
+ " blueprint_type: #{@blueprint_type.inspect}, comment: #{@comment.inspect}, environment_id:"\
778
+ " #{@environment_id.inspect}, resource_count: #{@resource_count.inspect}, resources:"\
779
+ " #{@resources.inspect}, started_by_user: #{@started_by_user.inspect}, is_scheduled_run:"\
780
+ " #{@is_scheduled_run.inspect}, aborted_by: #{@aborted_by.inspect}, aborted_by_user:"\
781
+ " #{@aborted_by_user.inspect}, git_user: #{@git_user.inspect}, git_avatar_url:"\
782
+ " #{@git_avatar_url.inspect}, pr_number: #{@pr_number.inspect}, trigger_name:"\
783
+ " #{@trigger_name.inspect}, drift_detected: #{@drift_detected.inspect}, plan:"\
784
+ " #{@plan.inspect}, plan_summary: #{@plan_summary.inspect}, is_skipped_apply:"\
785
+ " #{@is_skipped_apply.inspect}, workflow_deployment_id: #{@workflow_deployment_id.inspect},"\
786
+ " workflow_file: #{@workflow_file.inspect}, workflow_deployment_options:"\
787
+ " #{@workflow_deployment_options.inspect}, state_version_id: #{@state_version_id.inspect},"\
788
+ " reviewers_users: #{@reviewers_users.inspect}, reviewers: #{@reviewers.inspect},"\
789
+ " reviewed_by: #{@reviewed_by.inspect}, reviewed_by_user: #{@reviewed_by_user.inspect},"\
790
+ " targets: #{@targets.inspect}, variables: #{@variables.inspect}, git_metadata:"\
791
+ " #{@git_metadata.inspect}, provider_versions: #{@provider_versions.inspect},"\
792
+ " module_versions: #{@module_versions.inspect}, state_file_hash:"\
793
+ " #{@state_file_hash.inspect}, drift_cause: #{@drift_cause.inspect}>"
794
+ end
795
+ end
796
+ end