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,77 @@
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
+ # DriftApiIgnoreDriftCauseResponse Model.
8
+ class DriftApiIgnoreDriftCauseResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Array[String]]
14
+ attr_accessor :ignored
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [Array[DriftApiDriftCauseSkip]]
18
+ attr_accessor :skipped
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['ignored'] = 'ignored'
24
+ @_hash['skipped'] = 'skipped'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ []
31
+ end
32
+
33
+ # An array for nullable fields
34
+ def self.nullables
35
+ []
36
+ end
37
+
38
+ def initialize(ignored:, skipped:)
39
+ @ignored = ignored
40
+ @skipped = skipped
41
+ end
42
+
43
+ # Creates an instance of the object from a hash.
44
+ def self.from_hash(hash)
45
+ return nil unless hash
46
+
47
+ # Extract variables from the hash.
48
+ ignored = hash.key?('ignored') ? hash['ignored'] : nil
49
+ # Parameter is an array, so we need to iterate through it
50
+ skipped = nil
51
+ unless hash['skipped'].nil?
52
+ skipped = []
53
+ hash['skipped'].each do |structure|
54
+ skipped << (DriftApiDriftCauseSkip.from_hash(structure) if structure)
55
+ end
56
+ end
57
+
58
+ skipped = nil unless hash.key?('skipped')
59
+
60
+ # Create object from extracted values.
61
+ DriftApiIgnoreDriftCauseResponse.new(ignored: ignored,
62
+ skipped: skipped)
63
+ end
64
+
65
+ # Provides a human-readable string representation of the object.
66
+ def to_s
67
+ class_name = self.class.name.split('::').last
68
+ "<#{class_name} ignored: #{@ignored}, skipped: #{@skipped}>"
69
+ end
70
+
71
+ # Provides a debugging-friendly string with detailed object information.
72
+ def inspect
73
+ class_name = self.class.name.split('::').last
74
+ "<#{class_name} ignored: #{@ignored.inspect}, skipped: #{@skipped.inspect}>"
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,140 @@
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
+ # DriftApiIgnoredDriftCauseEnvironment Model.
8
+ class DriftApiIgnoredDriftCauseEnvironment < 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 :name
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 :project_name
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [String]
30
+ attr_accessor :fixed_at
31
+
32
+ # TODO: Write general description for this method
33
+ # @return [String]
34
+ attr_accessor :fixed_by
35
+
36
+ # A mapping from model property names to API property names.
37
+ def self.names
38
+ @_hash = {} if @_hash.nil?
39
+ @_hash['id'] = 'id'
40
+ @_hash['name'] = 'name'
41
+ @_hash['project_id'] = 'projectId'
42
+ @_hash['project_name'] = 'projectName'
43
+ @_hash['fixed_at'] = 'fixedAt'
44
+ @_hash['fixed_by'] = 'fixedBy'
45
+ @_hash
46
+ end
47
+
48
+ # An array for optional fields
49
+ def self.optionals
50
+ %w[
51
+ fixed_by
52
+ ]
53
+ end
54
+
55
+ # An array for nullable fields
56
+ def self.nullables
57
+ []
58
+ end
59
+
60
+ def initialize(id:, name:, project_id:, project_name:, fixed_at:,
61
+ fixed_by: SKIP)
62
+ @id = id
63
+ @name = name
64
+ @project_id = project_id
65
+ @project_name = project_name
66
+ @fixed_at = fixed_at
67
+ @fixed_by = fixed_by unless fixed_by == SKIP
68
+ end
69
+
70
+ # Creates an instance of the object from a hash.
71
+ def self.from_hash(hash)
72
+ return nil unless hash
73
+
74
+ # Extract variables from the hash.
75
+ id = hash.key?('id') ? hash['id'] : nil
76
+ name = hash.key?('name') ? hash['name'] : nil
77
+ project_id = hash.key?('projectId') ? hash['projectId'] : nil
78
+ project_name = hash.key?('projectName') ? hash['projectName'] : nil
79
+ fixed_at = hash.key?('fixedAt') ? hash['fixedAt'] : nil
80
+ fixed_by = hash.key?('fixedBy') ? hash['fixedBy'] : SKIP
81
+
82
+ # Create object from extracted values.
83
+ DriftApiIgnoredDriftCauseEnvironment.new(id: id,
84
+ name: name,
85
+ project_id: project_id,
86
+ project_name: project_name,
87
+ fixed_at: fixed_at,
88
+ fixed_by: fixed_by)
89
+ end
90
+
91
+ # Validates an instance of the object from a given value.
92
+ # @param [DriftApiIgnoredDriftCauseEnvironment | Hash] The value against the validation is performed.
93
+ def self.validate(value)
94
+ if value.instance_of? self
95
+ return (
96
+ APIHelper.valid_type?(value.id,
97
+ ->(val) { val.instance_of? String }) and
98
+ APIHelper.valid_type?(value.name,
99
+ ->(val) { val.instance_of? String }) and
100
+ APIHelper.valid_type?(value.project_id,
101
+ ->(val) { val.instance_of? String }) and
102
+ APIHelper.valid_type?(value.project_name,
103
+ ->(val) { val.instance_of? String }) and
104
+ APIHelper.valid_type?(value.fixed_at,
105
+ ->(val) { val.instance_of? String })
106
+ )
107
+ end
108
+
109
+ return false unless value.instance_of? Hash
110
+
111
+ (
112
+ APIHelper.valid_type?(value['id'],
113
+ ->(val) { val.instance_of? String }) and
114
+ APIHelper.valid_type?(value['name'],
115
+ ->(val) { val.instance_of? String }) and
116
+ APIHelper.valid_type?(value['projectId'],
117
+ ->(val) { val.instance_of? String }) and
118
+ APIHelper.valid_type?(value['projectName'],
119
+ ->(val) { val.instance_of? String }) and
120
+ APIHelper.valid_type?(value['fixedAt'],
121
+ ->(val) { val.instance_of? String })
122
+ )
123
+ end
124
+
125
+ # Provides a human-readable string representation of the object.
126
+ def to_s
127
+ class_name = self.class.name.split('::').last
128
+ "<#{class_name} id: #{@id}, name: #{@name}, project_id: #{@project_id}, project_name:"\
129
+ " #{@project_name}, fixed_at: #{@fixed_at}, fixed_by: #{@fixed_by}>"
130
+ end
131
+
132
+ # Provides a debugging-friendly string with detailed object information.
133
+ def inspect
134
+ class_name = self.class.name.split('::').last
135
+ "<#{class_name} id: #{@id.inspect}, name: #{@name.inspect}, project_id:"\
136
+ " #{@project_id.inspect}, project_name: #{@project_name.inspect}, fixed_at:"\
137
+ " #{@fixed_at.inspect}, fixed_by: #{@fixed_by.inspect}>"
138
+ end
139
+ end
140
+ end
@@ -0,0 +1,157 @@
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
+ # DriftApiIgnoredDriftCauseGroup Model.
8
+ class DriftApiIgnoredDriftCauseGroup < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_reader :cause_kind
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [CauseKeyParts]
18
+ attr_accessor :cause_key_parts
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :cause_id
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [String]
26
+ attr_accessor :first_seen_at
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [Array[DriftApiIgnoredDriftCauseEnvironment]]
30
+ attr_accessor :environments
31
+
32
+ # A mapping from model property names to API property names.
33
+ def self.names
34
+ @_hash = {} if @_hash.nil?
35
+ @_hash['cause_kind'] = 'causeKind'
36
+ @_hash['cause_key_parts'] = 'causeKeyParts'
37
+ @_hash['cause_id'] = 'causeId'
38
+ @_hash['first_seen_at'] = 'firstSeenAt'
39
+ @_hash['environments'] = 'environments'
40
+ @_hash
41
+ end
42
+
43
+ # An array for optional fields
44
+ def self.optionals
45
+ []
46
+ end
47
+
48
+ # An array for nullable fields
49
+ def self.nullables
50
+ []
51
+ end
52
+
53
+ def initialize(cause_key_parts:, cause_id:, first_seen_at:, environments:,
54
+ additional_properties: nil)
55
+ # Add additional model properties to the instance
56
+ additional_properties = {} if additional_properties.nil?
57
+
58
+ @cause_kind = 'unmanagedChange'
59
+ @cause_key_parts = cause_key_parts
60
+ @cause_id = cause_id
61
+ @first_seen_at = first_seen_at
62
+ @environments = environments
63
+ @additional_properties = additional_properties
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
+ cause_key_parts = CauseKeyParts.from_hash(hash['causeKeyParts']) if hash['causeKeyParts']
72
+ cause_id = hash.key?('causeId') ? hash['causeId'] : nil
73
+ first_seen_at = hash.key?('firstSeenAt') ? hash['firstSeenAt'] : nil
74
+ # Parameter is an array, so we need to iterate through it
75
+ environments = nil
76
+ unless hash['environments'].nil?
77
+ environments = []
78
+ hash['environments'].each do |structure|
79
+ environments << (DriftApiIgnoredDriftCauseEnvironment.from_hash(structure) if structure)
80
+ end
81
+ end
82
+
83
+ environments = nil unless hash.key?('environments')
84
+
85
+ # Create a new hash for additional properties, removing known properties.
86
+ new_hash = hash.reject { |k, _| names.value?(k) }
87
+
88
+ additional_properties = APIHelper.get_additional_properties(
89
+ new_hash, proc { |value| value }
90
+ )
91
+
92
+ # Create object from extracted values.
93
+ DriftApiIgnoredDriftCauseGroup.new(cause_key_parts: cause_key_parts,
94
+ cause_id: cause_id,
95
+ first_seen_at: first_seen_at,
96
+ environments: environments,
97
+ additional_properties: additional_properties)
98
+ end
99
+
100
+ # Validates an instance of the object from a given value.
101
+ # @param [DriftApiIgnoredDriftCauseGroup | Hash] The value against the validation is performed.
102
+ def self.validate(value)
103
+ if value.instance_of? self
104
+ return (
105
+ APIHelper.valid_type?(value.cause_kind,
106
+ ->(val) { val.instance_of? String }) and
107
+ APIHelper.valid_type?(value.cause_key_parts,
108
+ ->(val) { CauseKeyParts.validate(val) },
109
+ is_model_hash: true) and
110
+ APIHelper.valid_type?(value.cause_id,
111
+ ->(val) { val.instance_of? String }) and
112
+ APIHelper.valid_type?(value.first_seen_at,
113
+ ->(val) { val.instance_of? String }) and
114
+ APIHelper.valid_type?(value.environments,
115
+ ->(val) { DriftApiIgnoredDriftCauseEnvironment.validate(val) },
116
+ is_model_hash: true,
117
+ is_inner_model_hash: true)
118
+ )
119
+ end
120
+
121
+ return false unless value.instance_of? Hash
122
+
123
+ (
124
+ APIHelper.valid_type?(value['causeKind'],
125
+ ->(val) { val.instance_of? String }) and
126
+ APIHelper.valid_type?(value['causeKeyParts'],
127
+ ->(val) { CauseKeyParts.validate(val) },
128
+ is_model_hash: true) and
129
+ APIHelper.valid_type?(value['causeId'],
130
+ ->(val) { val.instance_of? String }) and
131
+ APIHelper.valid_type?(value['firstSeenAt'],
132
+ ->(val) { val.instance_of? String }) and
133
+ APIHelper.valid_type?(value['environments'],
134
+ ->(val) { DriftApiIgnoredDriftCauseEnvironment.validate(val) },
135
+ is_model_hash: true,
136
+ is_inner_model_hash: true)
137
+ )
138
+ end
139
+
140
+ # Provides a human-readable string representation of the object.
141
+ def to_s
142
+ class_name = self.class.name.split('::').last
143
+ "<#{class_name} cause_kind: #{@cause_kind}, cause_key_parts: #{@cause_key_parts}, cause_id:"\
144
+ " #{@cause_id}, first_seen_at: #{@first_seen_at}, environments: #{@environments},"\
145
+ " additional_properties: #{@additional_properties}>"
146
+ end
147
+
148
+ # Provides a debugging-friendly string with detailed object information.
149
+ def inspect
150
+ class_name = self.class.name.split('::').last
151
+ "<#{class_name} cause_kind: #{@cause_kind.inspect}, cause_key_parts:"\
152
+ " #{@cause_key_parts.inspect}, cause_id: #{@cause_id.inspect}, first_seen_at:"\
153
+ " #{@first_seen_at.inspect}, environments: #{@environments.inspect}, additional_properties:"\
154
+ " #{@additional_properties}>"
155
+ end
156
+ end
157
+ end
@@ -0,0 +1,157 @@
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
+ # DriftApiIgnoredDriftCauseGroup1 Model.
8
+ class DriftApiIgnoredDriftCauseGroup1 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_reader :cause_kind
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [CauseKeyParts1]
18
+ attr_accessor :cause_key_parts
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :cause_id
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [String]
26
+ attr_accessor :first_seen_at
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [Array[DriftApiIgnoredDriftCauseEnvironment]]
30
+ attr_accessor :environments
31
+
32
+ # A mapping from model property names to API property names.
33
+ def self.names
34
+ @_hash = {} if @_hash.nil?
35
+ @_hash['cause_kind'] = 'causeKind'
36
+ @_hash['cause_key_parts'] = 'causeKeyParts'
37
+ @_hash['cause_id'] = 'causeId'
38
+ @_hash['first_seen_at'] = 'firstSeenAt'
39
+ @_hash['environments'] = 'environments'
40
+ @_hash
41
+ end
42
+
43
+ # An array for optional fields
44
+ def self.optionals
45
+ []
46
+ end
47
+
48
+ # An array for nullable fields
49
+ def self.nullables
50
+ []
51
+ end
52
+
53
+ def initialize(cause_key_parts:, cause_id:, first_seen_at:, environments:,
54
+ additional_properties: nil)
55
+ # Add additional model properties to the instance
56
+ additional_properties = {} if additional_properties.nil?
57
+
58
+ @cause_kind = 'unappliedCommit'
59
+ @cause_key_parts = cause_key_parts
60
+ @cause_id = cause_id
61
+ @first_seen_at = first_seen_at
62
+ @environments = environments
63
+ @additional_properties = additional_properties
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
+ cause_key_parts = CauseKeyParts1.from_hash(hash['causeKeyParts']) if hash['causeKeyParts']
72
+ cause_id = hash.key?('causeId') ? hash['causeId'] : nil
73
+ first_seen_at = hash.key?('firstSeenAt') ? hash['firstSeenAt'] : nil
74
+ # Parameter is an array, so we need to iterate through it
75
+ environments = nil
76
+ unless hash['environments'].nil?
77
+ environments = []
78
+ hash['environments'].each do |structure|
79
+ environments << (DriftApiIgnoredDriftCauseEnvironment.from_hash(structure) if structure)
80
+ end
81
+ end
82
+
83
+ environments = nil unless hash.key?('environments')
84
+
85
+ # Create a new hash for additional properties, removing known properties.
86
+ new_hash = hash.reject { |k, _| names.value?(k) }
87
+
88
+ additional_properties = APIHelper.get_additional_properties(
89
+ new_hash, proc { |value| value }
90
+ )
91
+
92
+ # Create object from extracted values.
93
+ DriftApiIgnoredDriftCauseGroup1.new(cause_key_parts: cause_key_parts,
94
+ cause_id: cause_id,
95
+ first_seen_at: first_seen_at,
96
+ environments: environments,
97
+ additional_properties: additional_properties)
98
+ end
99
+
100
+ # Validates an instance of the object from a given value.
101
+ # @param [DriftApiIgnoredDriftCauseGroup1 | Hash] The value against the validation is performed.
102
+ def self.validate(value)
103
+ if value.instance_of? self
104
+ return (
105
+ APIHelper.valid_type?(value.cause_kind,
106
+ ->(val) { val.instance_of? String }) and
107
+ APIHelper.valid_type?(value.cause_key_parts,
108
+ ->(val) { CauseKeyParts1.validate(val) },
109
+ is_model_hash: true) and
110
+ APIHelper.valid_type?(value.cause_id,
111
+ ->(val) { val.instance_of? String }) and
112
+ APIHelper.valid_type?(value.first_seen_at,
113
+ ->(val) { val.instance_of? String }) and
114
+ APIHelper.valid_type?(value.environments,
115
+ ->(val) { DriftApiIgnoredDriftCauseEnvironment.validate(val) },
116
+ is_model_hash: true,
117
+ is_inner_model_hash: true)
118
+ )
119
+ end
120
+
121
+ return false unless value.instance_of? Hash
122
+
123
+ (
124
+ APIHelper.valid_type?(value['causeKind'],
125
+ ->(val) { val.instance_of? String }) and
126
+ APIHelper.valid_type?(value['causeKeyParts'],
127
+ ->(val) { CauseKeyParts1.validate(val) },
128
+ is_model_hash: true) and
129
+ APIHelper.valid_type?(value['causeId'],
130
+ ->(val) { val.instance_of? String }) and
131
+ APIHelper.valid_type?(value['firstSeenAt'],
132
+ ->(val) { val.instance_of? String }) and
133
+ APIHelper.valid_type?(value['environments'],
134
+ ->(val) { DriftApiIgnoredDriftCauseEnvironment.validate(val) },
135
+ is_model_hash: true,
136
+ is_inner_model_hash: true)
137
+ )
138
+ end
139
+
140
+ # Provides a human-readable string representation of the object.
141
+ def to_s
142
+ class_name = self.class.name.split('::').last
143
+ "<#{class_name} cause_kind: #{@cause_kind}, cause_key_parts: #{@cause_key_parts}, cause_id:"\
144
+ " #{@cause_id}, first_seen_at: #{@first_seen_at}, environments: #{@environments},"\
145
+ " additional_properties: #{@additional_properties}>"
146
+ end
147
+
148
+ # Provides a debugging-friendly string with detailed object information.
149
+ def inspect
150
+ class_name = self.class.name.split('::').last
151
+ "<#{class_name} cause_kind: #{@cause_kind.inspect}, cause_key_parts:"\
152
+ " #{@cause_key_parts.inspect}, cause_id: #{@cause_id.inspect}, first_seen_at:"\
153
+ " #{@first_seen_at.inspect}, environments: #{@environments.inspect}, additional_properties:"\
154
+ " #{@additional_properties}>"
155
+ end
156
+ end
157
+ end
@@ -0,0 +1,157 @@
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
+ # DriftApiIgnoredDriftCauseGroup2 Model.
8
+ class DriftApiIgnoredDriftCauseGroup2 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_reader :cause_kind
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [CauseKeyParts2]
18
+ attr_accessor :cause_key_parts
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :cause_id
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [String]
26
+ attr_accessor :first_seen_at
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [Array[DriftApiIgnoredDriftCauseEnvironment]]
30
+ attr_accessor :environments
31
+
32
+ # A mapping from model property names to API property names.
33
+ def self.names
34
+ @_hash = {} if @_hash.nil?
35
+ @_hash['cause_kind'] = 'causeKind'
36
+ @_hash['cause_key_parts'] = 'causeKeyParts'
37
+ @_hash['cause_id'] = 'causeId'
38
+ @_hash['first_seen_at'] = 'firstSeenAt'
39
+ @_hash['environments'] = 'environments'
40
+ @_hash
41
+ end
42
+
43
+ # An array for optional fields
44
+ def self.optionals
45
+ []
46
+ end
47
+
48
+ # An array for nullable fields
49
+ def self.nullables
50
+ []
51
+ end
52
+
53
+ def initialize(cause_key_parts:, cause_id:, first_seen_at:, environments:,
54
+ additional_properties: nil)
55
+ # Add additional model properties to the instance
56
+ additional_properties = {} if additional_properties.nil?
57
+
58
+ @cause_kind = 'providerVersionChange'
59
+ @cause_key_parts = cause_key_parts
60
+ @cause_id = cause_id
61
+ @first_seen_at = first_seen_at
62
+ @environments = environments
63
+ @additional_properties = additional_properties
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
+ cause_key_parts = CauseKeyParts2.from_hash(hash['causeKeyParts']) if hash['causeKeyParts']
72
+ cause_id = hash.key?('causeId') ? hash['causeId'] : nil
73
+ first_seen_at = hash.key?('firstSeenAt') ? hash['firstSeenAt'] : nil
74
+ # Parameter is an array, so we need to iterate through it
75
+ environments = nil
76
+ unless hash['environments'].nil?
77
+ environments = []
78
+ hash['environments'].each do |structure|
79
+ environments << (DriftApiIgnoredDriftCauseEnvironment.from_hash(structure) if structure)
80
+ end
81
+ end
82
+
83
+ environments = nil unless hash.key?('environments')
84
+
85
+ # Create a new hash for additional properties, removing known properties.
86
+ new_hash = hash.reject { |k, _| names.value?(k) }
87
+
88
+ additional_properties = APIHelper.get_additional_properties(
89
+ new_hash, proc { |value| value }
90
+ )
91
+
92
+ # Create object from extracted values.
93
+ DriftApiIgnoredDriftCauseGroup2.new(cause_key_parts: cause_key_parts,
94
+ cause_id: cause_id,
95
+ first_seen_at: first_seen_at,
96
+ environments: environments,
97
+ additional_properties: additional_properties)
98
+ end
99
+
100
+ # Validates an instance of the object from a given value.
101
+ # @param [DriftApiIgnoredDriftCauseGroup2 | Hash] The value against the validation is performed.
102
+ def self.validate(value)
103
+ if value.instance_of? self
104
+ return (
105
+ APIHelper.valid_type?(value.cause_kind,
106
+ ->(val) { val.instance_of? String }) and
107
+ APIHelper.valid_type?(value.cause_key_parts,
108
+ ->(val) { CauseKeyParts2.validate(val) },
109
+ is_model_hash: true) and
110
+ APIHelper.valid_type?(value.cause_id,
111
+ ->(val) { val.instance_of? String }) and
112
+ APIHelper.valid_type?(value.first_seen_at,
113
+ ->(val) { val.instance_of? String }) and
114
+ APIHelper.valid_type?(value.environments,
115
+ ->(val) { DriftApiIgnoredDriftCauseEnvironment.validate(val) },
116
+ is_model_hash: true,
117
+ is_inner_model_hash: true)
118
+ )
119
+ end
120
+
121
+ return false unless value.instance_of? Hash
122
+
123
+ (
124
+ APIHelper.valid_type?(value['causeKind'],
125
+ ->(val) { val.instance_of? String }) and
126
+ APIHelper.valid_type?(value['causeKeyParts'],
127
+ ->(val) { CauseKeyParts2.validate(val) },
128
+ is_model_hash: true) and
129
+ APIHelper.valid_type?(value['causeId'],
130
+ ->(val) { val.instance_of? String }) and
131
+ APIHelper.valid_type?(value['firstSeenAt'],
132
+ ->(val) { val.instance_of? String }) and
133
+ APIHelper.valid_type?(value['environments'],
134
+ ->(val) { DriftApiIgnoredDriftCauseEnvironment.validate(val) },
135
+ is_model_hash: true,
136
+ is_inner_model_hash: true)
137
+ )
138
+ end
139
+
140
+ # Provides a human-readable string representation of the object.
141
+ def to_s
142
+ class_name = self.class.name.split('::').last
143
+ "<#{class_name} cause_kind: #{@cause_kind}, cause_key_parts: #{@cause_key_parts}, cause_id:"\
144
+ " #{@cause_id}, first_seen_at: #{@first_seen_at}, environments: #{@environments},"\
145
+ " additional_properties: #{@additional_properties}>"
146
+ end
147
+
148
+ # Provides a debugging-friendly string with detailed object information.
149
+ def inspect
150
+ class_name = self.class.name.split('::').last
151
+ "<#{class_name} cause_kind: #{@cause_kind.inspect}, cause_key_parts:"\
152
+ " #{@cause_key_parts.inspect}, cause_id: #{@cause_id.inspect}, first_seen_at:"\
153
+ " #{@first_seen_at.inspect}, environments: #{@environments.inspect}, additional_properties:"\
154
+ " #{@additional_properties}>"
155
+ end
156
+ end
157
+ end