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,114 @@
1
+ # env_zero_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module EnvZeroApi
7
+ # DeploymentApiPlanPlanSummary Model.
8
+ class DeploymentApiPlanPlanSummary < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Float]
14
+ attr_accessor :added
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [Float]
18
+ attr_accessor :changed
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [Float]
22
+ attr_accessor :destroyed
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [Float]
26
+ attr_accessor :imported
27
+
28
+ # A mapping from model property names to API property names.
29
+ def self.names
30
+ @_hash = {} if @_hash.nil?
31
+ @_hash['added'] = 'added'
32
+ @_hash['changed'] = 'changed'
33
+ @_hash['destroyed'] = 'destroyed'
34
+ @_hash['imported'] = 'imported'
35
+ @_hash
36
+ end
37
+
38
+ # An array for optional fields
39
+ def self.optionals
40
+ %w[
41
+ imported
42
+ ]
43
+ end
44
+
45
+ # An array for nullable fields
46
+ def self.nullables
47
+ []
48
+ end
49
+
50
+ def initialize(added:, changed:, destroyed:, imported: SKIP)
51
+ @added = added
52
+ @changed = changed
53
+ @destroyed = destroyed
54
+ @imported = imported unless imported == SKIP
55
+ end
56
+
57
+ # Creates an instance of the object from a hash.
58
+ def self.from_hash(hash)
59
+ return nil unless hash
60
+
61
+ # Extract variables from the hash.
62
+ added = hash.key?('added') ? hash['added'] : nil
63
+ changed = hash.key?('changed') ? hash['changed'] : nil
64
+ destroyed = hash.key?('destroyed') ? hash['destroyed'] : nil
65
+ imported = hash.key?('imported') ? hash['imported'] : SKIP
66
+
67
+ # Create object from extracted values.
68
+ DeploymentApiPlanPlanSummary.new(added: added,
69
+ changed: changed,
70
+ destroyed: destroyed,
71
+ imported: imported)
72
+ end
73
+
74
+ # Validates an instance of the object from a given value.
75
+ # @param [DeploymentApiPlanPlanSummary | Hash] The value against the validation is performed.
76
+ def self.validate(value)
77
+ if value.instance_of? self
78
+ return (
79
+ APIHelper.valid_type?(value.added,
80
+ ->(val) { val.instance_of? Float }) and
81
+ APIHelper.valid_type?(value.changed,
82
+ ->(val) { val.instance_of? Float }) and
83
+ APIHelper.valid_type?(value.destroyed,
84
+ ->(val) { val.instance_of? Float })
85
+ )
86
+ end
87
+
88
+ return false unless value.instance_of? Hash
89
+
90
+ (
91
+ APIHelper.valid_type?(value['added'],
92
+ ->(val) { val.instance_of? Float }) and
93
+ APIHelper.valid_type?(value['changed'],
94
+ ->(val) { val.instance_of? Float }) and
95
+ APIHelper.valid_type?(value['destroyed'],
96
+ ->(val) { val.instance_of? Float })
97
+ )
98
+ end
99
+
100
+ # Provides a human-readable string representation of the object.
101
+ def to_s
102
+ class_name = self.class.name.split('::').last
103
+ "<#{class_name} added: #{@added}, changed: #{@changed}, destroyed: #{@destroyed}, imported:"\
104
+ " #{@imported}>"
105
+ end
106
+
107
+ # Provides a debugging-friendly string with detailed object information.
108
+ def inspect
109
+ class_name = self.class.name.split('::').last
110
+ "<#{class_name} added: #{@added.inspect}, changed: #{@changed.inspect}, destroyed:"\
111
+ " #{@destroyed.inspect}, imported: #{@imported.inspect}>"
112
+ end
113
+ end
114
+ end
@@ -0,0 +1,74 @@
1
+ # env_zero_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module EnvZeroApi
7
+ # DeploymentApiPlanResourceImportData Model.
8
+ class DeploymentApiPlanResourceImportData < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :id
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['id'] = 'id'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ []
26
+ end
27
+
28
+ # An array for nullable fields
29
+ def self.nullables
30
+ []
31
+ end
32
+
33
+ def initialize(id:)
34
+ @id = id
35
+ end
36
+
37
+ # Creates an instance of the object from a hash.
38
+ def self.from_hash(hash)
39
+ return nil unless hash
40
+
41
+ # Extract variables from the hash.
42
+ id = hash.key?('id') ? hash['id'] : nil
43
+
44
+ # Create object from extracted values.
45
+ DeploymentApiPlanResourceImportData.new(id: id)
46
+ end
47
+
48
+ # Validates an instance of the object from a given value.
49
+ # @param [DeploymentApiPlanResourceImportData | Hash] The value against the validation is performed.
50
+ def self.validate(value)
51
+ if value.instance_of? self
52
+ return APIHelper.valid_type?(value.id,
53
+ ->(val) { val.instance_of? String })
54
+ end
55
+
56
+ return false unless value.instance_of? Hash
57
+
58
+ APIHelper.valid_type?(value['id'],
59
+ ->(val) { val.instance_of? String })
60
+ end
61
+
62
+ # Provides a human-readable string representation of the object.
63
+ def to_s
64
+ class_name = self.class.name.split('::').last
65
+ "<#{class_name} id: #{@id}>"
66
+ end
67
+
68
+ # Provides a debugging-friendly string with detailed object information.
69
+ def inspect
70
+ class_name = self.class.name.split('::').last
71
+ "<#{class_name} id: #{@id.inspect}>"
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,68 @@
1
+ # env_zero_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module EnvZeroApi
7
+ # DeploymentCommand.
8
+ class DeploymentCommand
9
+ DEPLOYMENT_COMMAND = [
10
+ # TODO: Write general description for DEPLOY
11
+ DEPLOY = 'deploy'.freeze,
12
+
13
+ # TODO: Write general description for DESTROY
14
+ DESTROY = 'destroy'.freeze,
15
+
16
+ # TODO: Write general description for DEPLOYRESUME
17
+ DEPLOYRESUME = 'deployResume'.freeze,
18
+
19
+ # TODO: Write general description for DESTROYRESUME
20
+ DESTROYRESUME = 'destroyResume'.freeze,
21
+
22
+ # TODO: Write general description for REMOTEPLAN
23
+ REMOTEPLAN = 'remotePlan'.freeze,
24
+
25
+ # TODO: Write general description for PRPLAN
26
+ PRPLAN = 'prPlan'.freeze,
27
+
28
+ # TODO: Write general description for DRIFTDETECTION
29
+ DRIFTDETECTION = 'driftDetection'.freeze,
30
+
31
+ # TODO: Write general description for TASK
32
+ TASK = 'task'.freeze,
33
+
34
+ # TODO: Write general description for MODULETEST
35
+ MODULETEST = 'moduleTest'.freeze,
36
+
37
+ # TODO: Write general description for DRYRUN
38
+ DRYRUN = 'dryRun'.freeze
39
+ ].freeze
40
+
41
+ def self.validate(value)
42
+ return false if value.nil?
43
+
44
+ DEPLOYMENT_COMMAND.include?(value)
45
+ end
46
+
47
+ def self.from_value(value, default_value = DEPLOY)
48
+ return default_value if value.nil?
49
+
50
+ str = value.to_s.strip
51
+
52
+ case str.downcase
53
+ when 'deploy' then DEPLOY
54
+ when 'destroy' then DESTROY
55
+ when 'deployresume' then DEPLOYRESUME
56
+ when 'destroyresume' then DESTROYRESUME
57
+ when 'remoteplan' then REMOTEPLAN
58
+ when 'prplan' then PRPLAN
59
+ when 'driftdetection' then DRIFTDETECTION
60
+ when 'task' then TASK
61
+ when 'moduletest' then MODULETEST
62
+ when 'dryrun' then DRYRUN
63
+ else
64
+ default_value
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,64 @@
1
+ # env_zero_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module EnvZeroApi
7
+ # DeploymentStepApi.DeploymentStepStatus.
8
+ class DeploymentStepApiDeploymentStepStatus
9
+ DEPLOYMENT_STEP_API_DEPLOYMENT_STEP_STATUS = [
10
+ # TODO: Write general description for NOT_STARTED
11
+ NOT_STARTED = 'NOT_STARTED'.freeze,
12
+
13
+ # TODO: Write general description for IN_PROGRESS
14
+ IN_PROGRESS = 'IN_PROGRESS'.freeze,
15
+
16
+ # TODO: Write general description for WAITING_FOR_USER
17
+ WAITING_FOR_USER = 'WAITING_FOR_USER'.freeze,
18
+
19
+ # TODO: Write general description for TIMEOUT
20
+ TIMEOUT = 'TIMEOUT'.freeze,
21
+
22
+ # TODO: Write general description for FAIL
23
+ FAIL = 'FAIL'.freeze,
24
+
25
+ # TODO: Write general description for SUCCESS
26
+ SUCCESS = 'SUCCESS'.freeze,
27
+
28
+ # TODO: Write general description for CANCELLED
29
+ CANCELLED = 'CANCELLED'.freeze,
30
+
31
+ # TODO: Write general description for SKIPPED
32
+ SKIPPED = 'SKIPPED'.freeze,
33
+
34
+ # TODO: Write general description for WARNING
35
+ WARNING = 'WARNING'.freeze
36
+ ].freeze
37
+
38
+ def self.validate(value)
39
+ return false if value.nil?
40
+
41
+ DEPLOYMENT_STEP_API_DEPLOYMENT_STEP_STATUS.include?(value)
42
+ end
43
+
44
+ def self.from_value(value, default_value = NOT_STARTED)
45
+ return default_value if value.nil?
46
+
47
+ str = value.to_s.strip
48
+
49
+ case str.downcase
50
+ when 'not_started' then NOT_STARTED
51
+ when 'in_progress' then IN_PROGRESS
52
+ when 'waiting_for_user' then WAITING_FOR_USER
53
+ when 'timeout' then TIMEOUT
54
+ when 'fail' then FAIL
55
+ when 'success' then SUCCESS
56
+ when 'cancelled' then CANCELLED
57
+ when 'skipped' then SKIPPED
58
+ when 'warning' then WARNING
59
+ else
60
+ default_value
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,195 @@
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
+ # DeploymentStepApiFindByDeploymentLogIdResponse Model.
9
+ class DeploymentStepApiFindByDeploymentLogIdResponse < 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 [String]
19
+ attr_accessor :deployment_log_id
20
+
21
+ # TODO: Write general description for this method
22
+ # @return [String]
23
+ attr_accessor :name
24
+
25
+ # TODO: Write general description for this method
26
+ # @return [Float]
27
+ attr_accessor :order
28
+
29
+ # TODO: Write general description for this method
30
+ # @return [String]
31
+ attr_accessor :environment_id
32
+
33
+ # TODO: Write general description for this method
34
+ # @return [String]
35
+ attr_accessor :project_id
36
+
37
+ # TODO: Write general description for this method
38
+ # @return [String]
39
+ attr_accessor :organization_id
40
+
41
+ # TODO: Write general description for this method
42
+ # @return [DeploymentStepApiDeploymentStepStatus]
43
+ attr_accessor :status
44
+
45
+ # TODO: Write general description for this method
46
+ # @return [DateTime]
47
+ attr_accessor :started_at
48
+
49
+ # TODO: Write general description for this method
50
+ # @return [DateTime]
51
+ attr_accessor :completed_at
52
+
53
+ # TODO: Write general description for this method
54
+ # @return [String]
55
+ attr_accessor :display_name
56
+
57
+ # TODO: Write general description for this method
58
+ # @return [Float]
59
+ attr_accessor :retry_count
60
+
61
+ # TODO: Write general description for this method
62
+ # @return [Float]
63
+ attr_accessor :offset_bytes
64
+
65
+ # A mapping from model property names to API property names.
66
+ def self.names
67
+ @_hash = {} if @_hash.nil?
68
+ @_hash['id'] = 'id'
69
+ @_hash['deployment_log_id'] = 'deploymentLogId'
70
+ @_hash['name'] = 'name'
71
+ @_hash['order'] = 'order'
72
+ @_hash['environment_id'] = 'environmentId'
73
+ @_hash['project_id'] = 'projectId'
74
+ @_hash['organization_id'] = 'organizationId'
75
+ @_hash['status'] = 'status'
76
+ @_hash['started_at'] = 'startedAt'
77
+ @_hash['completed_at'] = 'completedAt'
78
+ @_hash['display_name'] = 'displayName'
79
+ @_hash['retry_count'] = 'retryCount'
80
+ @_hash['offset_bytes'] = 'offsetBytes'
81
+ @_hash
82
+ end
83
+
84
+ # An array for optional fields
85
+ def self.optionals
86
+ %w[
87
+ id
88
+ environment_id
89
+ started_at
90
+ completed_at
91
+ display_name
92
+ retry_count
93
+ offset_bytes
94
+ ]
95
+ end
96
+
97
+ # An array for nullable fields
98
+ def self.nullables
99
+ []
100
+ end
101
+
102
+ def initialize(deployment_log_id:, name:, order:, project_id:,
103
+ organization_id:, status:, id: SKIP, environment_id: SKIP,
104
+ started_at: SKIP, completed_at: SKIP, display_name: SKIP,
105
+ retry_count: SKIP, offset_bytes: SKIP)
106
+ @id = id unless id == SKIP
107
+ @deployment_log_id = deployment_log_id
108
+ @name = name
109
+ @order = order
110
+ @environment_id = environment_id unless environment_id == SKIP
111
+ @project_id = project_id
112
+ @organization_id = organization_id
113
+ @status = status
114
+ @started_at = started_at unless started_at == SKIP
115
+ @completed_at = completed_at unless completed_at == SKIP
116
+ @display_name = display_name unless display_name == SKIP
117
+ @retry_count = retry_count unless retry_count == SKIP
118
+ @offset_bytes = offset_bytes unless offset_bytes == SKIP
119
+ end
120
+
121
+ # Creates an instance of the object from a hash.
122
+ def self.from_hash(hash)
123
+ return nil unless hash
124
+
125
+ # Extract variables from the hash.
126
+ deployment_log_id =
127
+ hash.key?('deploymentLogId') ? hash['deploymentLogId'] : nil
128
+ name = hash.key?('name') ? hash['name'] : nil
129
+ order = hash.key?('order') ? hash['order'] : nil
130
+ project_id = hash.key?('projectId') ? hash['projectId'] : nil
131
+ organization_id =
132
+ hash.key?('organizationId') ? hash['organizationId'] : nil
133
+ status = hash.key?('status') ? hash['status'] : nil
134
+ id = hash.key?('id') ? hash['id'] : SKIP
135
+ environment_id = hash.key?('environmentId') ? hash['environmentId'] : SKIP
136
+ started_at = if hash.key?('startedAt')
137
+ (DateTimeHelper.from_rfc3339(hash['startedAt']) if hash['startedAt'])
138
+ else
139
+ SKIP
140
+ end
141
+ completed_at = if hash.key?('completedAt')
142
+ (DateTimeHelper.from_rfc3339(hash['completedAt']) if hash['completedAt'])
143
+ else
144
+ SKIP
145
+ end
146
+ display_name = hash.key?('displayName') ? hash['displayName'] : SKIP
147
+ retry_count = hash.key?('retryCount') ? hash['retryCount'] : SKIP
148
+ offset_bytes = hash.key?('offsetBytes') ? hash['offsetBytes'] : SKIP
149
+
150
+ # Create object from extracted values.
151
+ DeploymentStepApiFindByDeploymentLogIdResponse.new(deployment_log_id: deployment_log_id,
152
+ name: name,
153
+ order: order,
154
+ project_id: project_id,
155
+ organization_id: organization_id,
156
+ status: status,
157
+ id: id,
158
+ environment_id: environment_id,
159
+ started_at: started_at,
160
+ completed_at: completed_at,
161
+ display_name: display_name,
162
+ retry_count: retry_count,
163
+ offset_bytes: offset_bytes)
164
+ end
165
+
166
+ def to_custom_started_at
167
+ DateTimeHelper.to_rfc3339(started_at)
168
+ end
169
+
170
+ def to_custom_completed_at
171
+ DateTimeHelper.to_rfc3339(completed_at)
172
+ end
173
+
174
+ # Provides a human-readable string representation of the object.
175
+ def to_s
176
+ class_name = self.class.name.split('::').last
177
+ "<#{class_name} id: #{@id}, deployment_log_id: #{@deployment_log_id}, name: #{@name},"\
178
+ " order: #{@order}, environment_id: #{@environment_id}, project_id: #{@project_id},"\
179
+ " organization_id: #{@organization_id}, status: #{@status}, started_at: #{@started_at},"\
180
+ " completed_at: #{@completed_at}, display_name: #{@display_name}, retry_count:"\
181
+ " #{@retry_count}, offset_bytes: #{@offset_bytes}>"
182
+ end
183
+
184
+ # Provides a debugging-friendly string with detailed object information.
185
+ def inspect
186
+ class_name = self.class.name.split('::').last
187
+ "<#{class_name} id: #{@id.inspect}, deployment_log_id: #{@deployment_log_id.inspect}, name:"\
188
+ " #{@name.inspect}, order: #{@order.inspect}, environment_id: #{@environment_id.inspect},"\
189
+ " project_id: #{@project_id.inspect}, organization_id: #{@organization_id.inspect}, status:"\
190
+ " #{@status.inspect}, started_at: #{@started_at.inspect}, completed_at:"\
191
+ " #{@completed_at.inspect}, display_name: #{@display_name.inspect}, retry_count:"\
192
+ " #{@retry_count.inspect}, offset_bytes: #{@offset_bytes.inspect}>"
193
+ end
194
+ end
195
+ end
@@ -0,0 +1,117 @@
1
+ # env_zero_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module EnvZeroApi
7
+ # DeploymentStepApiFindStepLogResponse Model.
8
+ class DeploymentStepApiFindStepLogResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Array[DeploymentStepApiLogEvent]]
14
+ attr_accessor :events
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [Object]
18
+ attr_accessor :next_start_time
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [TrueClass | FalseClass]
22
+ attr_accessor :has_more_logs
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['events'] = 'events'
28
+ @_hash['next_start_time'] = 'nextStartTime'
29
+ @_hash['has_more_logs'] = 'hasMoreLogs'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ next_start_time
37
+ ]
38
+ end
39
+
40
+ # An array for nullable fields
41
+ def self.nullables
42
+ []
43
+ end
44
+
45
+ def initialize(events:, has_more_logs:, next_start_time: SKIP)
46
+ @events = events
47
+ @next_start_time = next_start_time unless next_start_time == SKIP
48
+ @has_more_logs = has_more_logs
49
+ end
50
+
51
+ # Creates an instance of the object from a hash.
52
+ def self.from_hash(hash)
53
+ return nil unless hash
54
+
55
+ # Extract variables from the hash.
56
+ # Parameter is an array, so we need to iterate through it
57
+ events = nil
58
+ unless hash['events'].nil?
59
+ events = []
60
+ hash['events'].each do |structure|
61
+ events << (DeploymentStepApiLogEvent.from_hash(structure) if structure)
62
+ end
63
+ end
64
+
65
+ events = nil unless hash.key?('events')
66
+ has_more_logs = hash.key?('hasMoreLogs') ? hash['hasMoreLogs'] : nil
67
+ next_start_time = hash.key?('nextStartTime') ? APIHelper.deserialize_union_type(
68
+ UnionTypeLookUp.get(:DeploymentStepApiFindStepLogResponseNextStartTime), hash['nextStartTime']
69
+ ) : SKIP
70
+
71
+ # Create object from extracted values.
72
+ DeploymentStepApiFindStepLogResponse.new(events: events,
73
+ has_more_logs: has_more_logs,
74
+ next_start_time: next_start_time)
75
+ end
76
+
77
+ # Validates an instance of the object from a given value.
78
+ # @param [DeploymentStepApiFindStepLogResponse | Hash] The value against the validation is performed.
79
+ def self.validate(value)
80
+ if value.instance_of? self
81
+ return (
82
+ APIHelper.valid_type?(value.events,
83
+ ->(val) { DeploymentStepApiLogEvent.validate(val) },
84
+ is_model_hash: true,
85
+ is_inner_model_hash: true) and
86
+ APIHelper.valid_type?(value.has_more_logs,
87
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass })
88
+ )
89
+ end
90
+
91
+ return false unless value.instance_of? Hash
92
+
93
+ (
94
+ APIHelper.valid_type?(value['events'],
95
+ ->(val) { DeploymentStepApiLogEvent.validate(val) },
96
+ is_model_hash: true,
97
+ is_inner_model_hash: true) and
98
+ APIHelper.valid_type?(value['hasMoreLogs'],
99
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass })
100
+ )
101
+ end
102
+
103
+ # Provides a human-readable string representation of the object.
104
+ def to_s
105
+ class_name = self.class.name.split('::').last
106
+ "<#{class_name} events: #{@events}, next_start_time: #{@next_start_time}, has_more_logs:"\
107
+ " #{@has_more_logs}>"
108
+ end
109
+
110
+ # Provides a debugging-friendly string with detailed object information.
111
+ def inspect
112
+ class_name = self.class.name.split('::').last
113
+ "<#{class_name} events: #{@events.inspect}, next_start_time: #{@next_start_time.inspect},"\
114
+ " has_more_logs: #{@has_more_logs.inspect}>"
115
+ end
116
+ end
117
+ end