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,298 @@
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
+ # EnvironmentApiGetPoliciesResponse Model.
8
+ class EnvironmentApiGetPoliciesResponse < 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
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :updated_by
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :project_id
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 [Float]
30
+ attr_accessor :number_of_environments
31
+
32
+ # TODO: Write general description for this method
33
+ # @return [Float]
34
+ attr_accessor :number_of_environments_total
35
+
36
+ # TODO: Write general description for this method
37
+ # @return [String]
38
+ attr_accessor :max_ttl
39
+
40
+ # TODO: Write general description for this method
41
+ # @return [String]
42
+ attr_accessor :default_ttl
43
+
44
+ # TODO: Write general description for this method
45
+ # @return [TrueClass | FalseClass]
46
+ attr_accessor :requires_approval_default
47
+
48
+ # TODO: Write general description for this method
49
+ # @return [TrueClass | FalseClass]
50
+ attr_accessor :include_cost_estimation
51
+
52
+ # TODO: Write general description for this method
53
+ # @return [TrueClass | FalseClass]
54
+ attr_accessor :skip_apply_when_plan_is_empty
55
+
56
+ # TODO: Write general description for this method
57
+ # @return [TrueClass | FalseClass]
58
+ attr_accessor :disable_destroy_environments
59
+
60
+ # TODO: Write general description for this method
61
+ # @return [TrueClass | FalseClass]
62
+ attr_accessor :force_checkout_on_ttl_destroy
63
+
64
+ # TODO: Write general description for this method
65
+ # @return [TrueClass | FalseClass]
66
+ attr_accessor :skip_redundant_deployments
67
+
68
+ # TODO: Write general description for this method
69
+ # @return [TrueClass | FalseClass]
70
+ attr_accessor :continuous_deployment_default
71
+
72
+ # TODO: Write general description for this method
73
+ # @return [TrueClass | FalseClass]
74
+ attr_accessor :run_pull_request_plan_default
75
+
76
+ # TODO: Write general description for this method
77
+ # @return [TrueClass | FalseClass]
78
+ attr_accessor :vcs_pr_comments_enabled_default
79
+
80
+ # TODO: Write general description for this method
81
+ # @return [TrueClass | FalseClass]
82
+ attr_accessor :force_remote_backend
83
+
84
+ # TODO: Write general description for this method
85
+ # @return [TrueClass | FalseClass]
86
+ attr_accessor :drift_detection_enabled
87
+
88
+ # TODO: Write general description for this method
89
+ # @return [String]
90
+ attr_accessor :drift_detection_cron
91
+
92
+ # TODO: Write general description for this method
93
+ # @return [TrueClass | FalseClass]
94
+ attr_accessor :outputs_as_inputs_enabled
95
+
96
+ # TODO: Write general description for this method
97
+ # @return [EnvironmentApiAutoDriftRemediationStrategy]
98
+ attr_accessor :auto_drift_remediation
99
+
100
+ # A mapping from model property names to API property names.
101
+ def self.names
102
+ @_hash = {} if @_hash.nil?
103
+ @_hash['id'] = 'id'
104
+ @_hash['updated_by'] = 'updatedBy'
105
+ @_hash['project_id'] = 'projectId'
106
+ @_hash['organization_id'] = 'organizationId'
107
+ @_hash['number_of_environments'] = 'numberOfEnvironments'
108
+ @_hash['number_of_environments_total'] = 'numberOfEnvironmentsTotal'
109
+ @_hash['max_ttl'] = 'maxTtl'
110
+ @_hash['default_ttl'] = 'defaultTtl'
111
+ @_hash['requires_approval_default'] = 'requiresApprovalDefault'
112
+ @_hash['include_cost_estimation'] = 'includeCostEstimation'
113
+ @_hash['skip_apply_when_plan_is_empty'] = 'skipApplyWhenPlanIsEmpty'
114
+ @_hash['disable_destroy_environments'] = 'disableDestroyEnvironments'
115
+ @_hash['force_checkout_on_ttl_destroy'] = 'forceCheckoutOnTtlDestroy'
116
+ @_hash['skip_redundant_deployments'] = 'skipRedundantDeployments'
117
+ @_hash['continuous_deployment_default'] = 'continuousDeploymentDefault'
118
+ @_hash['run_pull_request_plan_default'] = 'runPullRequestPlanDefault'
119
+ @_hash['vcs_pr_comments_enabled_default'] =
120
+ 'vcsPrCommentsEnabledDefault'
121
+ @_hash['force_remote_backend'] = 'forceRemoteBackend'
122
+ @_hash['drift_detection_enabled'] = 'driftDetectionEnabled'
123
+ @_hash['drift_detection_cron'] = 'driftDetectionCron'
124
+ @_hash['outputs_as_inputs_enabled'] = 'outputsAsInputsEnabled'
125
+ @_hash['auto_drift_remediation'] = 'autoDriftRemediation'
126
+ @_hash
127
+ end
128
+
129
+ # An array for optional fields
130
+ def self.optionals
131
+ %w[
132
+ organization_id
133
+ drift_detection_enabled
134
+ drift_detection_cron
135
+ auto_drift_remediation
136
+ ]
137
+ end
138
+
139
+ # An array for nullable fields
140
+ def self.nullables
141
+ %w[
142
+ number_of_environments
143
+ number_of_environments_total
144
+ max_ttl
145
+ default_ttl
146
+ ]
147
+ end
148
+
149
+ def initialize(id:, updated_by:, project_id:, number_of_environments:,
150
+ number_of_environments_total:, max_ttl:, default_ttl:,
151
+ requires_approval_default:, include_cost_estimation:,
152
+ skip_apply_when_plan_is_empty:,
153
+ disable_destroy_environments:,
154
+ force_checkout_on_ttl_destroy:, skip_redundant_deployments:,
155
+ continuous_deployment_default:,
156
+ run_pull_request_plan_default:,
157
+ vcs_pr_comments_enabled_default:, force_remote_backend:,
158
+ outputs_as_inputs_enabled:, organization_id: SKIP,
159
+ drift_detection_enabled: SKIP, drift_detection_cron: SKIP,
160
+ auto_drift_remediation: SKIP)
161
+ @id = id
162
+ @updated_by = updated_by
163
+ @project_id = project_id
164
+ @organization_id = organization_id unless organization_id == SKIP
165
+ @number_of_environments = number_of_environments
166
+ @number_of_environments_total = number_of_environments_total
167
+ @max_ttl = max_ttl
168
+ @default_ttl = default_ttl
169
+ @requires_approval_default = requires_approval_default
170
+ @include_cost_estimation = include_cost_estimation
171
+ @skip_apply_when_plan_is_empty = skip_apply_when_plan_is_empty
172
+ @disable_destroy_environments = disable_destroy_environments
173
+ @force_checkout_on_ttl_destroy = force_checkout_on_ttl_destroy
174
+ @skip_redundant_deployments = skip_redundant_deployments
175
+ @continuous_deployment_default = continuous_deployment_default
176
+ @run_pull_request_plan_default = run_pull_request_plan_default
177
+ @vcs_pr_comments_enabled_default = vcs_pr_comments_enabled_default
178
+ @force_remote_backend = force_remote_backend
179
+ @drift_detection_enabled = drift_detection_enabled unless drift_detection_enabled == SKIP
180
+ @drift_detection_cron = drift_detection_cron unless drift_detection_cron == SKIP
181
+ @outputs_as_inputs_enabled = outputs_as_inputs_enabled
182
+ @auto_drift_remediation = auto_drift_remediation unless auto_drift_remediation == SKIP
183
+ end
184
+
185
+ # Creates an instance of the object from a hash.
186
+ def self.from_hash(hash)
187
+ return nil unless hash
188
+
189
+ # Extract variables from the hash.
190
+ id = hash.key?('id') ? hash['id'] : nil
191
+ updated_by = hash.key?('updatedBy') ? hash['updatedBy'] : nil
192
+ project_id = hash.key?('projectId') ? hash['projectId'] : nil
193
+ number_of_environments =
194
+ hash.key?('numberOfEnvironments') ? hash['numberOfEnvironments'] : nil
195
+ number_of_environments_total =
196
+ hash.key?('numberOfEnvironmentsTotal') ? hash['numberOfEnvironmentsTotal'] : nil
197
+ max_ttl = hash.key?('maxTtl') ? hash['maxTtl'] : nil
198
+ default_ttl = hash.key?('defaultTtl') ? hash['defaultTtl'] : nil
199
+ requires_approval_default =
200
+ hash.key?('requiresApprovalDefault') ? hash['requiresApprovalDefault'] : nil
201
+ include_cost_estimation =
202
+ hash.key?('includeCostEstimation') ? hash['includeCostEstimation'] : nil
203
+ skip_apply_when_plan_is_empty =
204
+ hash.key?('skipApplyWhenPlanIsEmpty') ? hash['skipApplyWhenPlanIsEmpty'] : nil
205
+ disable_destroy_environments =
206
+ hash.key?('disableDestroyEnvironments') ? hash['disableDestroyEnvironments'] : nil
207
+ force_checkout_on_ttl_destroy =
208
+ hash.key?('forceCheckoutOnTtlDestroy') ? hash['forceCheckoutOnTtlDestroy'] : nil
209
+ skip_redundant_deployments =
210
+ hash.key?('skipRedundantDeployments') ? hash['skipRedundantDeployments'] : nil
211
+ continuous_deployment_default =
212
+ hash.key?('continuousDeploymentDefault') ? hash['continuousDeploymentDefault'] : nil
213
+ run_pull_request_plan_default =
214
+ hash.key?('runPullRequestPlanDefault') ? hash['runPullRequestPlanDefault'] : nil
215
+ vcs_pr_comments_enabled_default =
216
+ hash.key?('vcsPrCommentsEnabledDefault') ? hash['vcsPrCommentsEnabledDefault'] : nil
217
+ force_remote_backend =
218
+ hash.key?('forceRemoteBackend') ? hash['forceRemoteBackend'] : nil
219
+ outputs_as_inputs_enabled =
220
+ hash.key?('outputsAsInputsEnabled') ? hash['outputsAsInputsEnabled'] : nil
221
+ organization_id =
222
+ hash.key?('organizationId') ? hash['organizationId'] : SKIP
223
+ drift_detection_enabled =
224
+ hash.key?('driftDetectionEnabled') ? hash['driftDetectionEnabled'] : SKIP
225
+ drift_detection_cron =
226
+ hash.key?('driftDetectionCron') ? hash['driftDetectionCron'] : SKIP
227
+ auto_drift_remediation =
228
+ hash.key?('autoDriftRemediation') ? hash['autoDriftRemediation'] : SKIP
229
+
230
+ # Create object from extracted values.
231
+ EnvironmentApiGetPoliciesResponse.new(id: id,
232
+ updated_by: updated_by,
233
+ project_id: project_id,
234
+ number_of_environments: number_of_environments,
235
+ number_of_environments_total: number_of_environments_total,
236
+ max_ttl: max_ttl,
237
+ default_ttl: default_ttl,
238
+ requires_approval_default: requires_approval_default,
239
+ include_cost_estimation: include_cost_estimation,
240
+ skip_apply_when_plan_is_empty: skip_apply_when_plan_is_empty,
241
+ disable_destroy_environments: disable_destroy_environments,
242
+ force_checkout_on_ttl_destroy: force_checkout_on_ttl_destroy,
243
+ skip_redundant_deployments: skip_redundant_deployments,
244
+ continuous_deployment_default: continuous_deployment_default,
245
+ run_pull_request_plan_default: run_pull_request_plan_default,
246
+ vcs_pr_comments_enabled_default: vcs_pr_comments_enabled_default,
247
+ force_remote_backend: force_remote_backend,
248
+ outputs_as_inputs_enabled: outputs_as_inputs_enabled,
249
+ organization_id: organization_id,
250
+ drift_detection_enabled: drift_detection_enabled,
251
+ drift_detection_cron: drift_detection_cron,
252
+ auto_drift_remediation: auto_drift_remediation)
253
+ end
254
+
255
+ # Provides a human-readable string representation of the object.
256
+ def to_s
257
+ class_name = self.class.name.split('::').last
258
+ "<#{class_name} id: #{@id}, updated_by: #{@updated_by}, project_id: #{@project_id},"\
259
+ " organization_id: #{@organization_id}, number_of_environments: #{@number_of_environments},"\
260
+ " number_of_environments_total: #{@number_of_environments_total}, max_ttl: #{@max_ttl},"\
261
+ " default_ttl: #{@default_ttl}, requires_approval_default: #{@requires_approval_default},"\
262
+ " include_cost_estimation: #{@include_cost_estimation}, skip_apply_when_plan_is_empty:"\
263
+ " #{@skip_apply_when_plan_is_empty}, disable_destroy_environments:"\
264
+ " #{@disable_destroy_environments}, force_checkout_on_ttl_destroy:"\
265
+ " #{@force_checkout_on_ttl_destroy}, skip_redundant_deployments:"\
266
+ " #{@skip_redundant_deployments}, continuous_deployment_default:"\
267
+ " #{@continuous_deployment_default}, run_pull_request_plan_default:"\
268
+ " #{@run_pull_request_plan_default}, vcs_pr_comments_enabled_default:"\
269
+ " #{@vcs_pr_comments_enabled_default}, force_remote_backend: #{@force_remote_backend},"\
270
+ " drift_detection_enabled: #{@drift_detection_enabled}, drift_detection_cron:"\
271
+ " #{@drift_detection_cron}, outputs_as_inputs_enabled: #{@outputs_as_inputs_enabled},"\
272
+ " auto_drift_remediation: #{@auto_drift_remediation}>"
273
+ end
274
+
275
+ # Provides a debugging-friendly string with detailed object information.
276
+ def inspect
277
+ class_name = self.class.name.split('::').last
278
+ "<#{class_name} id: #{@id.inspect}, updated_by: #{@updated_by.inspect}, project_id:"\
279
+ " #{@project_id.inspect}, organization_id: #{@organization_id.inspect},"\
280
+ " number_of_environments: #{@number_of_environments.inspect}, number_of_environments_total:"\
281
+ " #{@number_of_environments_total.inspect}, max_ttl: #{@max_ttl.inspect}, default_ttl:"\
282
+ " #{@default_ttl.inspect}, requires_approval_default: #{@requires_approval_default.inspect},"\
283
+ " include_cost_estimation: #{@include_cost_estimation.inspect},"\
284
+ " skip_apply_when_plan_is_empty: #{@skip_apply_when_plan_is_empty.inspect},"\
285
+ " disable_destroy_environments: #{@disable_destroy_environments.inspect},"\
286
+ " force_checkout_on_ttl_destroy: #{@force_checkout_on_ttl_destroy.inspect},"\
287
+ " skip_redundant_deployments: #{@skip_redundant_deployments.inspect},"\
288
+ " continuous_deployment_default: #{@continuous_deployment_default.inspect},"\
289
+ " run_pull_request_plan_default: #{@run_pull_request_plan_default.inspect},"\
290
+ " vcs_pr_comments_enabled_default: #{@vcs_pr_comments_enabled_default.inspect},"\
291
+ " force_remote_backend: #{@force_remote_backend.inspect}, drift_detection_enabled:"\
292
+ " #{@drift_detection_enabled.inspect}, drift_detection_cron:"\
293
+ " #{@drift_detection_cron.inspect}, outputs_as_inputs_enabled:"\
294
+ " #{@outputs_as_inputs_enabled.inspect}, auto_drift_remediation:"\
295
+ " #{@auto_drift_remediation.inspect}>"
296
+ end
297
+ end
298
+ end
@@ -0,0 +1,110 @@
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
+ # EnvironmentApiGitMetadata Model.
9
+ class EnvironmentApiGitMetadata < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # TODO: Write general description for this method
14
+ # @return [String]
15
+ attr_accessor :commit
16
+
17
+ # TODO: Write general description for this method
18
+ # @return [String]
19
+ attr_accessor :branch
20
+
21
+ # TODO: Write general description for this method
22
+ # @return [DateTime]
23
+ attr_accessor :timestamp
24
+
25
+ # A mapping from model property names to API property names.
26
+ def self.names
27
+ @_hash = {} if @_hash.nil?
28
+ @_hash['commit'] = 'commit'
29
+ @_hash['branch'] = 'branch'
30
+ @_hash['timestamp'] = 'timestamp'
31
+ @_hash
32
+ end
33
+
34
+ # An array for optional fields
35
+ def self.optionals
36
+ []
37
+ end
38
+
39
+ # An array for nullable fields
40
+ def self.nullables
41
+ []
42
+ end
43
+
44
+ def initialize(commit:, branch:, timestamp:)
45
+ @commit = commit
46
+ @branch = branch
47
+ @timestamp = timestamp
48
+ end
49
+
50
+ # Creates an instance of the object from a hash.
51
+ def self.from_hash(hash)
52
+ return nil unless hash
53
+
54
+ # Extract variables from the hash.
55
+ commit = hash.key?('commit') ? hash['commit'] : nil
56
+ branch = hash.key?('branch') ? hash['branch'] : nil
57
+ timestamp = if hash.key?('timestamp')
58
+ (DateTimeHelper.from_rfc3339(hash['timestamp']) if hash['timestamp'])
59
+ end
60
+
61
+ # Create object from extracted values.
62
+ EnvironmentApiGitMetadata.new(commit: commit,
63
+ branch: branch,
64
+ timestamp: timestamp)
65
+ end
66
+
67
+ def to_custom_timestamp
68
+ DateTimeHelper.to_rfc3339(timestamp)
69
+ end
70
+
71
+ # Validates an instance of the object from a given value.
72
+ # @param [EnvironmentApiGitMetadata | Hash] The value against the validation is performed.
73
+ def self.validate(value)
74
+ if value.instance_of? self
75
+ return (
76
+ APIHelper.valid_type?(value.commit,
77
+ ->(val) { val.instance_of? String }) and
78
+ APIHelper.valid_type?(value.branch,
79
+ ->(val) { val.instance_of? String }) and
80
+ APIHelper.valid_type?(value.timestamp,
81
+ ->(val) { val.instance_of? DateTime })
82
+ )
83
+ end
84
+
85
+ return false unless value.instance_of? Hash
86
+
87
+ (
88
+ APIHelper.valid_type?(value['commit'],
89
+ ->(val) { val.instance_of? String }) and
90
+ APIHelper.valid_type?(value['branch'],
91
+ ->(val) { val.instance_of? String }) and
92
+ APIHelper.valid_type?(value['timestamp'],
93
+ ->(val) { val.instance_of? String })
94
+ )
95
+ end
96
+
97
+ # Provides a human-readable string representation of the object.
98
+ def to_s
99
+ class_name = self.class.name.split('::').last
100
+ "<#{class_name} commit: #{@commit}, branch: #{@branch}, timestamp: #{@timestamp}>"
101
+ end
102
+
103
+ # Provides a debugging-friendly string with detailed object information.
104
+ def inspect
105
+ class_name = self.class.name.split('::').last
106
+ "<#{class_name} commit: #{@commit.inspect}, branch: #{@branch.inspect}, timestamp:"\
107
+ " #{@timestamp.inspect}>"
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,103 @@
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
+ # EnvironmentApiOutputData Model.
8
+ class EnvironmentApiOutputData < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Object]
14
+ attr_accessor :value
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [TrueClass | FalseClass]
18
+ attr_accessor :sensitive
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :type
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['value'] = 'value'
28
+ @_hash['sensitive'] = 'sensitive'
29
+ @_hash['type'] = 'type'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ []
36
+ end
37
+
38
+ # An array for nullable fields
39
+ def self.nullables
40
+ []
41
+ end
42
+
43
+ def initialize(value:, sensitive:, type:)
44
+ @value = value
45
+ @sensitive = sensitive
46
+ @type = type
47
+ end
48
+
49
+ # Creates an instance of the object from a hash.
50
+ def self.from_hash(hash)
51
+ return nil unless hash
52
+
53
+ # Extract variables from the hash.
54
+ value = hash.key?('value') ? hash['value'] : nil
55
+ sensitive = hash.key?('sensitive') ? hash['sensitive'] : nil
56
+ type = hash.key?('type') ? hash['type'] : nil
57
+
58
+ # Create object from extracted values.
59
+ EnvironmentApiOutputData.new(value: value,
60
+ sensitive: sensitive,
61
+ type: type)
62
+ end
63
+
64
+ # Validates an instance of the object from a given value.
65
+ # @param [EnvironmentApiOutputData | Hash] The value against the validation is performed.
66
+ def self.validate(value)
67
+ if value.instance_of? self
68
+ return (
69
+ APIHelper.valid_type?(value.value,
70
+ ->(val) { val.instance_of? Object }) and
71
+ APIHelper.valid_type?(value.sensitive,
72
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
73
+ APIHelper.valid_type?(value.type,
74
+ ->(val) { val.instance_of? String })
75
+ )
76
+ end
77
+
78
+ return false unless value.instance_of? Hash
79
+
80
+ (
81
+ APIHelper.valid_type?(value['value'],
82
+ ->(val) { val.instance_of? Object }) and
83
+ APIHelper.valid_type?(value['sensitive'],
84
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
85
+ APIHelper.valid_type?(value['type'],
86
+ ->(val) { val.instance_of? String })
87
+ )
88
+ end
89
+
90
+ # Provides a human-readable string representation of the object.
91
+ def to_s
92
+ class_name = self.class.name.split('::').last
93
+ "<#{class_name} value: #{@value}, sensitive: #{@sensitive}, type: #{@type}>"
94
+ end
95
+
96
+ # Provides a debugging-friendly string with detailed object information.
97
+ def inspect
98
+ class_name = self.class.name.split('::').last
99
+ "<#{class_name} value: #{@value.inspect}, sensitive: #{@sensitive.inspect}, type:"\
100
+ " #{@type.inspect}>"
101
+ end
102
+ end
103
+ end