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,97 @@
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
+ # * type?: "string" * format: HCL | JSON | ENVIRONMENT_OUTPUT # default: null
8
+ # * ENVIRONMENT_OUTPUT is a special type used to indicate that the value is
9
+ # an output from the environment. The value format is:
10
+ # ${env0:<environmentId>:<outputName>} it will be resolved before deployment.
11
+ # * enum?: ["option1", "option2"] * Optional, for UI dropdown, works only
12
+ # without format. Note that if you want to update this list, you must provide
13
+ # the full updated list each time.
14
+ class PartialJsonSchema72 < BaseModel
15
+ SKIP = Object.new
16
+ private_constant :SKIP
17
+
18
+ # TODO: Write general description for this method
19
+ # @return [Type]
20
+ attr_accessor :type
21
+
22
+ # TODO: Write general description for this method
23
+ # @return [Array[String]]
24
+ attr_accessor :enum
25
+
26
+ # TODO: Write general description for this method
27
+ # @return [Format]
28
+ attr_accessor :format
29
+
30
+ # A mapping from model property names to API property names.
31
+ def self.names
32
+ @_hash = {} if @_hash.nil?
33
+ @_hash['type'] = 'type'
34
+ @_hash['enum'] = 'enum'
35
+ @_hash['format'] = 'format'
36
+ @_hash
37
+ end
38
+
39
+ # An array for optional fields
40
+ def self.optionals
41
+ %w[
42
+ type
43
+ enum
44
+ format
45
+ ]
46
+ end
47
+
48
+ # An array for nullable fields
49
+ def self.nullables
50
+ []
51
+ end
52
+
53
+ def initialize(type: SKIP, enum: SKIP, format: SKIP)
54
+ @type = type unless type == SKIP
55
+ @enum = enum unless enum == SKIP
56
+ @format = format unless format == SKIP
57
+ end
58
+
59
+ # Creates an instance of the object from a hash.
60
+ def self.from_hash(hash)
61
+ return nil unless hash
62
+
63
+ # Extract variables from the hash.
64
+ type = hash.key?('type') ? hash['type'] : SKIP
65
+ enum = hash.key?('enum') ? hash['enum'] : SKIP
66
+ format = hash.key?('format') ? hash['format'] : SKIP
67
+
68
+ # Create object from extracted values.
69
+ PartialJsonSchema72.new(type: type,
70
+ enum: enum,
71
+ format: format)
72
+ end
73
+
74
+ # Validates an instance of the object from a given value.
75
+ # @param [PartialJsonSchema72 | Hash] The value against the validation is performed.
76
+ def self.validate(value)
77
+ return true if value.instance_of? self
78
+
79
+ return false unless value.instance_of? Hash
80
+
81
+ true
82
+ end
83
+
84
+ # Provides a human-readable string representation of the object.
85
+ def to_s
86
+ class_name = self.class.name.split('::').last
87
+ "<#{class_name} type: #{@type}, enum: #{@enum}, format: #{@format}>"
88
+ end
89
+
90
+ # Provides a debugging-friendly string with detailed object information.
91
+ def inspect
92
+ class_name = self.class.name.split('::').last
93
+ "<#{class_name} type: #{@type.inspect}, enum: #{@enum.inspect}, format:"\
94
+ " #{@format.inspect}>"
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,81 @@
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
+ # ProfileData Model.
8
+ class ProfileData < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :username
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :nickname
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :email
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['username'] = 'username'
28
+ @_hash['nickname'] = 'nickname'
29
+ @_hash['email'] = 'email'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ username
37
+ nickname
38
+ email
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ []
45
+ end
46
+
47
+ def initialize(username: SKIP, nickname: SKIP, email: SKIP)
48
+ @username = username unless username == SKIP
49
+ @nickname = nickname unless nickname == SKIP
50
+ @email = email unless email == SKIP
51
+ end
52
+
53
+ # Creates an instance of the object from a hash.
54
+ def self.from_hash(hash)
55
+ return nil unless hash
56
+
57
+ # Extract variables from the hash.
58
+ username = hash.key?('username') ? hash['username'] : SKIP
59
+ nickname = hash.key?('nickname') ? hash['nickname'] : SKIP
60
+ email = hash.key?('email') ? hash['email'] : SKIP
61
+
62
+ # Create object from extracted values.
63
+ ProfileData.new(username: username,
64
+ nickname: nickname,
65
+ email: email)
66
+ end
67
+
68
+ # Provides a human-readable string representation of the object.
69
+ def to_s
70
+ class_name = self.class.name.split('::').last
71
+ "<#{class_name} username: #{@username}, nickname: #{@nickname}, email: #{@email}>"
72
+ end
73
+
74
+ # Provides a debugging-friendly string with detailed object information.
75
+ def inspect
76
+ class_name = self.class.name.split('::').last
77
+ "<#{class_name} username: #{@username.inspect}, nickname: #{@nickname.inspect}, email:"\
78
+ " #{@email.inspect}>"
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,102 @@
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
+ # ProjectApiCreateProjectRequest Model.
8
+ class ProjectApiCreateProjectRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :name
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :description
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [Array[String]]
22
+ attr_accessor :tags
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [String]
26
+ attr_accessor :organization_id
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [String]
30
+ attr_accessor :parent_project_id
31
+
32
+ # A mapping from model property names to API property names.
33
+ def self.names
34
+ @_hash = {} if @_hash.nil?
35
+ @_hash['name'] = 'name'
36
+ @_hash['description'] = 'description'
37
+ @_hash['tags'] = 'tags'
38
+ @_hash['organization_id'] = 'organizationId'
39
+ @_hash['parent_project_id'] = 'parentProjectId'
40
+ @_hash
41
+ end
42
+
43
+ # An array for optional fields
44
+ def self.optionals
45
+ %w[
46
+ description
47
+ tags
48
+ parent_project_id
49
+ ]
50
+ end
51
+
52
+ # An array for nullable fields
53
+ def self.nullables
54
+ []
55
+ end
56
+
57
+ def initialize(name:, organization_id:, description: SKIP, tags: SKIP,
58
+ parent_project_id: SKIP)
59
+ @name = name
60
+ @description = description unless description == SKIP
61
+ @tags = tags unless tags == SKIP
62
+ @organization_id = organization_id
63
+ @parent_project_id = parent_project_id unless parent_project_id == SKIP
64
+ end
65
+
66
+ # Creates an instance of the object from a hash.
67
+ def self.from_hash(hash)
68
+ return nil unless hash
69
+
70
+ # Extract variables from the hash.
71
+ name = hash.key?('name') ? hash['name'] : nil
72
+ organization_id =
73
+ hash.key?('organizationId') ? hash['organizationId'] : nil
74
+ description = hash.key?('description') ? hash['description'] : SKIP
75
+ tags = hash.key?('tags') ? hash['tags'] : SKIP
76
+ parent_project_id =
77
+ hash.key?('parentProjectId') ? hash['parentProjectId'] : SKIP
78
+
79
+ # Create object from extracted values.
80
+ ProjectApiCreateProjectRequest.new(name: name,
81
+ organization_id: organization_id,
82
+ description: description,
83
+ tags: tags,
84
+ parent_project_id: parent_project_id)
85
+ end
86
+
87
+ # Provides a human-readable string representation of the object.
88
+ def to_s
89
+ class_name = self.class.name.split('::').last
90
+ "<#{class_name} name: #{@name}, description: #{@description}, tags: #{@tags},"\
91
+ " organization_id: #{@organization_id}, parent_project_id: #{@parent_project_id}>"
92
+ end
93
+
94
+ # Provides a debugging-friendly string with detailed object information.
95
+ def inspect
96
+ class_name = self.class.name.split('::').last
97
+ "<#{class_name} name: #{@name.inspect}, description: #{@description.inspect}, tags:"\
98
+ " #{@tags.inspect}, organization_id: #{@organization_id.inspect}, parent_project_id:"\
99
+ " #{@parent_project_id.inspect}>"
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,102 @@
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
+ # ProjectApiCreateProjectRequestBody Model.
8
+ class ProjectApiCreateProjectRequestBody < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :name
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :description
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [Array[String]]
22
+ attr_accessor :tags
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [String]
26
+ attr_accessor :organization_id
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [String]
30
+ attr_accessor :parent_project_id
31
+
32
+ # A mapping from model property names to API property names.
33
+ def self.names
34
+ @_hash = {} if @_hash.nil?
35
+ @_hash['name'] = 'name'
36
+ @_hash['description'] = 'description'
37
+ @_hash['tags'] = 'tags'
38
+ @_hash['organization_id'] = 'organizationId'
39
+ @_hash['parent_project_id'] = 'parentProjectId'
40
+ @_hash
41
+ end
42
+
43
+ # An array for optional fields
44
+ def self.optionals
45
+ %w[
46
+ description
47
+ tags
48
+ parent_project_id
49
+ ]
50
+ end
51
+
52
+ # An array for nullable fields
53
+ def self.nullables
54
+ []
55
+ end
56
+
57
+ def initialize(name:, organization_id:, description: SKIP, tags: SKIP,
58
+ parent_project_id: SKIP)
59
+ @name = name
60
+ @description = description unless description == SKIP
61
+ @tags = tags unless tags == SKIP
62
+ @organization_id = organization_id
63
+ @parent_project_id = parent_project_id unless parent_project_id == SKIP
64
+ end
65
+
66
+ # Creates an instance of the object from a hash.
67
+ def self.from_hash(hash)
68
+ return nil unless hash
69
+
70
+ # Extract variables from the hash.
71
+ name = hash.key?('name') ? hash['name'] : nil
72
+ organization_id =
73
+ hash.key?('organizationId') ? hash['organizationId'] : nil
74
+ description = hash.key?('description') ? hash['description'] : SKIP
75
+ tags = hash.key?('tags') ? hash['tags'] : SKIP
76
+ parent_project_id =
77
+ hash.key?('parentProjectId') ? hash['parentProjectId'] : SKIP
78
+
79
+ # Create object from extracted values.
80
+ ProjectApiCreateProjectRequestBody.new(name: name,
81
+ organization_id: organization_id,
82
+ description: description,
83
+ tags: tags,
84
+ parent_project_id: parent_project_id)
85
+ end
86
+
87
+ # Provides a human-readable string representation of the object.
88
+ def to_s
89
+ class_name = self.class.name.split('::').last
90
+ "<#{class_name} name: #{@name}, description: #{@description}, tags: #{@tags},"\
91
+ " organization_id: #{@organization_id}, parent_project_id: #{@parent_project_id}>"
92
+ end
93
+
94
+ # Provides a debugging-friendly string with detailed object information.
95
+ def inspect
96
+ class_name = self.class.name.split('::').last
97
+ "<#{class_name} name: #{@name.inspect}, description: #{@description.inspect}, tags:"\
98
+ " #{@tags.inspect}, organization_id: #{@organization_id.inspect}, parent_project_id:"\
99
+ " #{@parent_project_id.inspect}>"
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,150 @@
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
+ # ProjectApiCreateProjectResponse Model.
8
+ class ProjectApiCreateProjectResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :name
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :description
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [Array[String]]
22
+ attr_accessor :tags
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [String]
26
+ attr_accessor :organization_id
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [String]
30
+ attr_accessor :parent_project_id
31
+
32
+ # TODO: Write general description for this method
33
+ # @return [String]
34
+ attr_accessor :id
35
+
36
+ # TODO: Write general description for this method
37
+ # @return [String]
38
+ attr_accessor :created_by
39
+
40
+ # TODO: Write general description for this method
41
+ # @return [User]
42
+ attr_accessor :created_by_user
43
+
44
+ # TODO: Write general description for this method
45
+ # @return [TrueClass | FalseClass]
46
+ attr_accessor :is_archived
47
+
48
+ # TODO: Write general description for this method
49
+ # @return [String]
50
+ attr_accessor :hierarchy
51
+
52
+ # A mapping from model property names to API property names.
53
+ def self.names
54
+ @_hash = {} if @_hash.nil?
55
+ @_hash['name'] = 'name'
56
+ @_hash['description'] = 'description'
57
+ @_hash['tags'] = 'tags'
58
+ @_hash['organization_id'] = 'organizationId'
59
+ @_hash['parent_project_id'] = 'parentProjectId'
60
+ @_hash['id'] = 'id'
61
+ @_hash['created_by'] = 'createdBy'
62
+ @_hash['created_by_user'] = 'createdByUser'
63
+ @_hash['is_archived'] = 'isArchived'
64
+ @_hash['hierarchy'] = 'hierarchy'
65
+ @_hash
66
+ end
67
+
68
+ # An array for optional fields
69
+ def self.optionals
70
+ %w[
71
+ description
72
+ tags
73
+ parent_project_id
74
+ id
75
+ created_by_user
76
+ is_archived
77
+ ]
78
+ end
79
+
80
+ # An array for nullable fields
81
+ def self.nullables
82
+ []
83
+ end
84
+
85
+ def initialize(name:, organization_id:, created_by:, hierarchy:,
86
+ description: SKIP, tags: SKIP, parent_project_id: SKIP,
87
+ id: SKIP, created_by_user: SKIP, is_archived: SKIP)
88
+ @name = name
89
+ @description = description unless description == SKIP
90
+ @tags = tags unless tags == SKIP
91
+ @organization_id = organization_id
92
+ @parent_project_id = parent_project_id unless parent_project_id == SKIP
93
+ @id = id unless id == SKIP
94
+ @created_by = created_by
95
+ @created_by_user = created_by_user unless created_by_user == SKIP
96
+ @is_archived = is_archived unless is_archived == SKIP
97
+ @hierarchy = hierarchy
98
+ end
99
+
100
+ # Creates an instance of the object from a hash.
101
+ def self.from_hash(hash)
102
+ return nil unless hash
103
+
104
+ # Extract variables from the hash.
105
+ name = hash.key?('name') ? hash['name'] : nil
106
+ organization_id =
107
+ hash.key?('organizationId') ? hash['organizationId'] : nil
108
+ created_by = hash.key?('createdBy') ? hash['createdBy'] : nil
109
+ hierarchy = hash.key?('hierarchy') ? hash['hierarchy'] : nil
110
+ description = hash.key?('description') ? hash['description'] : SKIP
111
+ tags = hash.key?('tags') ? hash['tags'] : SKIP
112
+ parent_project_id =
113
+ hash.key?('parentProjectId') ? hash['parentProjectId'] : SKIP
114
+ id = hash.key?('id') ? hash['id'] : SKIP
115
+ created_by_user = User.from_hash(hash['createdByUser']) if hash['createdByUser']
116
+ is_archived = hash.key?('isArchived') ? hash['isArchived'] : SKIP
117
+
118
+ # Create object from extracted values.
119
+ ProjectApiCreateProjectResponse.new(name: name,
120
+ organization_id: organization_id,
121
+ created_by: created_by,
122
+ hierarchy: hierarchy,
123
+ description: description,
124
+ tags: tags,
125
+ parent_project_id: parent_project_id,
126
+ id: id,
127
+ created_by_user: created_by_user,
128
+ is_archived: is_archived)
129
+ end
130
+
131
+ # Provides a human-readable string representation of the object.
132
+ def to_s
133
+ class_name = self.class.name.split('::').last
134
+ "<#{class_name} name: #{@name}, description: #{@description}, tags: #{@tags},"\
135
+ " organization_id: #{@organization_id}, parent_project_id: #{@parent_project_id}, id:"\
136
+ " #{@id}, created_by: #{@created_by}, created_by_user: #{@created_by_user}, is_archived:"\
137
+ " #{@is_archived}, hierarchy: #{@hierarchy}>"
138
+ end
139
+
140
+ # Provides a debugging-friendly string with detailed object information.
141
+ def inspect
142
+ class_name = self.class.name.split('::').last
143
+ "<#{class_name} name: #{@name.inspect}, description: #{@description.inspect}, tags:"\
144
+ " #{@tags.inspect}, organization_id: #{@organization_id.inspect}, parent_project_id:"\
145
+ " #{@parent_project_id.inspect}, id: #{@id.inspect}, created_by: #{@created_by.inspect},"\
146
+ " created_by_user: #{@created_by_user.inspect}, is_archived: #{@is_archived.inspect},"\
147
+ " hierarchy: #{@hierarchy.inspect}>"
148
+ end
149
+ end
150
+ end
@@ -0,0 +1,150 @@
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
+ # ProjectApiFindByIdResponse Model.
8
+ class ProjectApiFindByIdResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :name
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :description
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [Array[String]]
22
+ attr_accessor :tags
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [String]
26
+ attr_accessor :organization_id
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [String]
30
+ attr_accessor :parent_project_id
31
+
32
+ # TODO: Write general description for this method
33
+ # @return [String]
34
+ attr_accessor :id
35
+
36
+ # TODO: Write general description for this method
37
+ # @return [String]
38
+ attr_accessor :created_by
39
+
40
+ # TODO: Write general description for this method
41
+ # @return [User]
42
+ attr_accessor :created_by_user
43
+
44
+ # TODO: Write general description for this method
45
+ # @return [TrueClass | FalseClass]
46
+ attr_accessor :is_archived
47
+
48
+ # TODO: Write general description for this method
49
+ # @return [String]
50
+ attr_accessor :hierarchy
51
+
52
+ # A mapping from model property names to API property names.
53
+ def self.names
54
+ @_hash = {} if @_hash.nil?
55
+ @_hash['name'] = 'name'
56
+ @_hash['description'] = 'description'
57
+ @_hash['tags'] = 'tags'
58
+ @_hash['organization_id'] = 'organizationId'
59
+ @_hash['parent_project_id'] = 'parentProjectId'
60
+ @_hash['id'] = 'id'
61
+ @_hash['created_by'] = 'createdBy'
62
+ @_hash['created_by_user'] = 'createdByUser'
63
+ @_hash['is_archived'] = 'isArchived'
64
+ @_hash['hierarchy'] = 'hierarchy'
65
+ @_hash
66
+ end
67
+
68
+ # An array for optional fields
69
+ def self.optionals
70
+ %w[
71
+ description
72
+ tags
73
+ parent_project_id
74
+ id
75
+ created_by_user
76
+ is_archived
77
+ ]
78
+ end
79
+
80
+ # An array for nullable fields
81
+ def self.nullables
82
+ []
83
+ end
84
+
85
+ def initialize(name:, organization_id:, created_by:, hierarchy:,
86
+ description: SKIP, tags: SKIP, parent_project_id: SKIP,
87
+ id: SKIP, created_by_user: SKIP, is_archived: SKIP)
88
+ @name = name
89
+ @description = description unless description == SKIP
90
+ @tags = tags unless tags == SKIP
91
+ @organization_id = organization_id
92
+ @parent_project_id = parent_project_id unless parent_project_id == SKIP
93
+ @id = id unless id == SKIP
94
+ @created_by = created_by
95
+ @created_by_user = created_by_user unless created_by_user == SKIP
96
+ @is_archived = is_archived unless is_archived == SKIP
97
+ @hierarchy = hierarchy
98
+ end
99
+
100
+ # Creates an instance of the object from a hash.
101
+ def self.from_hash(hash)
102
+ return nil unless hash
103
+
104
+ # Extract variables from the hash.
105
+ name = hash.key?('name') ? hash['name'] : nil
106
+ organization_id =
107
+ hash.key?('organizationId') ? hash['organizationId'] : nil
108
+ created_by = hash.key?('createdBy') ? hash['createdBy'] : nil
109
+ hierarchy = hash.key?('hierarchy') ? hash['hierarchy'] : nil
110
+ description = hash.key?('description') ? hash['description'] : SKIP
111
+ tags = hash.key?('tags') ? hash['tags'] : SKIP
112
+ parent_project_id =
113
+ hash.key?('parentProjectId') ? hash['parentProjectId'] : SKIP
114
+ id = hash.key?('id') ? hash['id'] : SKIP
115
+ created_by_user = User.from_hash(hash['createdByUser']) if hash['createdByUser']
116
+ is_archived = hash.key?('isArchived') ? hash['isArchived'] : SKIP
117
+
118
+ # Create object from extracted values.
119
+ ProjectApiFindByIdResponse.new(name: name,
120
+ organization_id: organization_id,
121
+ created_by: created_by,
122
+ hierarchy: hierarchy,
123
+ description: description,
124
+ tags: tags,
125
+ parent_project_id: parent_project_id,
126
+ id: id,
127
+ created_by_user: created_by_user,
128
+ is_archived: is_archived)
129
+ end
130
+
131
+ # Provides a human-readable string representation of the object.
132
+ def to_s
133
+ class_name = self.class.name.split('::').last
134
+ "<#{class_name} name: #{@name}, description: #{@description}, tags: #{@tags},"\
135
+ " organization_id: #{@organization_id}, parent_project_id: #{@parent_project_id}, id:"\
136
+ " #{@id}, created_by: #{@created_by}, created_by_user: #{@created_by_user}, is_archived:"\
137
+ " #{@is_archived}, hierarchy: #{@hierarchy}>"
138
+ end
139
+
140
+ # Provides a debugging-friendly string with detailed object information.
141
+ def inspect
142
+ class_name = self.class.name.split('::').last
143
+ "<#{class_name} name: #{@name.inspect}, description: #{@description.inspect}, tags:"\
144
+ " #{@tags.inspect}, organization_id: #{@organization_id.inspect}, parent_project_id:"\
145
+ " #{@parent_project_id.inspect}, id: #{@id.inspect}, created_by: #{@created_by.inspect},"\
146
+ " created_by_user: #{@created_by_user.inspect}, is_archived: #{@is_archived.inspect},"\
147
+ " hierarchy: #{@hierarchy.inspect}>"
148
+ end
149
+ end
150
+ end