katapult-ruby 0.0.4 → 0.0.6

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 (411) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +190 -196
  3. data/lib/katapult-ruby/api/core_api.rb +705 -653
  4. data/lib/katapult-ruby/configuration.rb +3 -3
  5. data/lib/katapult-ruby/models/{delete_virtual_machine_part_data_center.rb → address_list.rb} +20 -16
  6. data/lib/katapult-ruby/models/{model_alias.rb → address_list_arguments.rb} +5 -3
  7. data/lib/katapult-ruby/models/{get_disk_part_operating_system.rb → address_list_entry.rb} +15 -4
  8. data/lib/katapult-ruby/models/{ns.rb → address_list_entry_arguments.rb} +16 -4
  9. data/lib/katapult-ruby/models/{aaaa.rb → address_list_entry_lookup.rb} +11 -10
  10. data/lib/katapult-ruby/models/address_list_entry_not_found_enum.rb +39 -0
  11. data/lib/katapult-ruby/models/{a.rb → address_list_lookup.rb} +11 -10
  12. data/lib/katapult-ruby/models/address_list_not_found_enum.rb +39 -0
  13. data/lib/katapult-ruby/models/{interface_not_found_response.rb → api_authenticator400_schema.rb} +5 -17
  14. data/lib/katapult-ruby/models/certificate.rb +8 -0
  15. data/lib/katapult-ruby/models/certificate_not_found_enum.rb +39 -0
  16. data/lib/katapult-ruby/models/country.rb +1 -0
  17. data/lib/katapult-ruby/models/country_not_found_enum.rb +39 -0
  18. data/lib/katapult-ruby/models/country_state_not_found_enum.rb +39 -0
  19. data/lib/katapult-ruby/models/currency_not_found_enum.rb +39 -0
  20. data/lib/katapult-ruby/models/data_center.rb +1 -0
  21. data/lib/katapult-ruby/models/data_center_not_found_enum.rb +39 -0
  22. data/lib/katapult-ruby/models/{location_required_response.rb → data_center_not_found_schema.rb} +5 -17
  23. data/lib/katapult-ruby/models/{dns_zone_not_verified.rb → decimal_or_unlimited.rb} +20 -10
  24. data/lib/katapult-ruby/models/{patch_load_balancer_part_weights.rb → delete_address_list200_response.rb} +17 -19
  25. data/lib/katapult-ruby/models/{get_dns_records_dns_record200_response.rb → delete_address_list_entry200_response.rb} +14 -14
  26. data/lib/katapult-ruby/models/{delete_dns_records_dns_record200_response.rb → delete_address_list_entry_request.rb} +14 -14
  27. data/lib/katapult-ruby/models/{get_disk_template_part_badge.rb → delete_address_list_request.rb} +17 -10
  28. data/lib/katapult-ruby/models/delete_disk_backup_policy_schedule200_response_disk_backup_policy.rb +1 -0
  29. data/lib/katapult-ruby/models/{delete_dns_records_dns_record_request.rb → delete_dns_record_request.rb} +3 -3
  30. data/lib/katapult-ruby/models/{delete_dns_zones_dns_zone_request.rb → delete_dns_zone_request.rb} +3 -3
  31. data/lib/katapult-ruby/models/delete_file_storage_volume200_response_file_storage_volume.rb +2 -0
  32. data/lib/katapult-ruby/models/delete_file_storage_volume_part_data_center.rb +1 -0
  33. data/lib/katapult-ruby/models/delete_ip_address409_response.rb +1 -13
  34. data/lib/katapult-ruby/models/delete_load_balancer200_response_load_balancer.rb +1 -0
  35. data/lib/katapult-ruby/models/delete_ssh_key404_response.rb +1 -13
  36. data/lib/katapult-ruby/models/delete_ssh_key409_response.rb +1 -13
  37. data/lib/katapult-ruby/models/delete_virtual_machine200_response_virtual_machine.rb +27 -9
  38. data/lib/katapult-ruby/models/deletion_restricted_enum.rb +39 -0
  39. data/lib/katapult-ruby/models/disk.rb +3 -0
  40. data/lib/katapult-ruby/models/disk_backup_policy_not_found_enum.rb +39 -0
  41. data/lib/katapult-ruby/models/disk_installation_attribute.rb +2 -0
  42. data/lib/katapult-ruby/models/disk_io_profile.rb +2 -0
  43. data/lib/katapult-ruby/models/{property_type_enum.rb → disk_not_found_enum.rb} +5 -7
  44. data/lib/katapult-ruby/models/disk_template.rb +3 -0
  45. data/lib/katapult-ruby/models/disk_template_not_found_enum.rb +39 -0
  46. data/lib/katapult-ruby/models/{ip_already_allocated_response.rb → disk_template_not_found_schema.rb} +5 -17
  47. data/lib/katapult-ruby/models/disk_template_version_not_found_enum.rb +39 -0
  48. data/lib/katapult-ruby/models/dns_record.rb +3 -0
  49. data/lib/katapult-ruby/models/dns_record_arguments.rb +24 -14
  50. data/lib/katapult-ruby/models/{get_virtual_machine_part_gpus.rb → dns_record_content_arguments.rb} +115 -55
  51. data/lib/katapult-ruby/models/{get_dns_zones_dns_zone200_response.rb → dns_record_content_arguments_for_a.rb} +11 -17
  52. data/lib/katapult-ruby/models/dns_record_content_arguments_for_aaaa.rb +215 -0
  53. data/lib/katapult-ruby/models/dns_record_content_arguments_for_alias.rb +215 -0
  54. data/lib/katapult-ruby/models/{delete_virtual_machine_part_operating_system.rb → dns_record_content_arguments_for_caa.rb} +23 -22
  55. data/lib/katapult-ruby/models/dns_record_content_arguments_for_cname.rb +215 -0
  56. data/lib/katapult-ruby/models/dns_record_content_arguments_for_ips.rb +215 -0
  57. data/lib/katapult-ruby/models/{dns_record_properties.rb → dns_record_content_arguments_for_mx.rb} +11 -10
  58. data/lib/katapult-ruby/models/dns_record_content_arguments_for_ns.rb +215 -0
  59. data/lib/katapult-ruby/models/dns_record_content_arguments_for_ptr.rb +215 -0
  60. data/lib/katapult-ruby/models/{srv.rb → dns_record_content_arguments_for_srv.rb} +5 -13
  61. data/lib/katapult-ruby/models/{sshfp.rb → dns_record_content_arguments_for_sshfp.rb} +4 -3
  62. data/lib/katapult-ruby/models/{cname.rb → dns_record_content_arguments_for_txt.rb} +11 -10
  63. data/lib/katapult-ruby/models/dns_record_content_arguments_for_virtual_machine.rb +215 -0
  64. data/lib/katapult-ruby/models/dns_record_content_attributes.rb +14 -0
  65. data/lib/katapult-ruby/models/dns_record_not_found_enum.rb +39 -0
  66. data/lib/katapult-ruby/models/dns_zone.rb +10 -19
  67. data/lib/katapult-ruby/models/dns_zone_arguments.rb +9 -15
  68. data/lib/katapult-ruby/models/dns_zone_not_found_enum.rb +39 -0
  69. data/lib/katapult-ruby/models/dns_zone_not_verified_enum.rb +39 -0
  70. data/lib/katapult-ruby/models/file_storage_volume_not_found_enum.rb +39 -0
  71. data/lib/katapult-ruby/models/flexible_resources_unavailable_to_organization_enum.rb +39 -0
  72. data/lib/katapult-ruby/models/{get_dns_zones_dns_zone_verification_details422_response.rb → flexible_resources_unavailable_to_organization_schema.rb} +5 -16
  73. data/lib/katapult-ruby/models/{ip_address_not_found_response.rb → get_address_list404_response.rb} +4 -17
  74. data/lib/katapult-ruby/models/{delete_virtual_machine_part_currency.rb → get_address_list_entries200_response.rb} +33 -34
  75. data/lib/katapult-ruby/models/{virtual_machine_not_found_response.rb → get_address_list_entry404_response.rb} +4 -17
  76. data/lib/katapult-ruby/models/{dns_zone_verification_details.rb → get_address_lists200_response.rb} +35 -11
  77. data/lib/katapult-ruby/models/{patch_virtual_machine_part_operating_system.rb → get_address_lists200_response_address_lists.rb} +12 -10
  78. data/lib/katapult-ruby/models/get_certificate404_response.rb +1 -13
  79. data/lib/katapult-ruby/models/get_country404_response.rb +1 -13
  80. data/lib/katapult-ruby/models/get_country_state404_response.rb +1 -13
  81. data/lib/katapult-ruby/models/get_currency404_response.rb +1 -13
  82. data/lib/katapult-ruby/models/get_data_center200_response_data_center.rb +1 -0
  83. data/lib/katapult-ruby/models/get_data_center404_response.rb +1 -13
  84. data/lib/katapult-ruby/models/get_data_center_default_network200_response_network.rb +1 -0
  85. data/lib/katapult-ruby/models/get_data_center_default_network_part_data_center.rb +1 -0
  86. data/lib/katapult-ruby/models/get_data_centers200_response_data_centers.rb +1 -0
  87. data/lib/katapult-ruby/models/get_data_centers400_response.rb +1 -13
  88. data/lib/katapult-ruby/models/get_data_centers429_response.rb +1 -13
  89. data/lib/katapult-ruby/models/get_disk200_response_disk.rb +5 -2
  90. data/lib/katapult-ruby/models/get_disk404_response.rb +1 -13
  91. data/lib/katapult-ruby/models/get_disk_backup_policy200_response_disk_backup_policy.rb +2 -1
  92. data/lib/katapult-ruby/models/get_disk_backup_policy404_response.rb +1 -13
  93. data/lib/katapult-ruby/models/get_disk_template200_response_disk_template.rb +4 -1
  94. data/lib/katapult-ruby/models/get_disk_template404_response.rb +1 -13
  95. data/lib/katapult-ruby/models/get_disk_template_version404_response.rb +1 -13
  96. data/lib/katapult-ruby/models/{network_not_found_response.rb → get_dns_record404_response.rb} +4 -17
  97. data/lib/katapult-ruby/models/get_dns_zone404_response.rb +254 -0
  98. data/lib/katapult-ruby/models/get_file_storage_volume200_response_file_storage_volume.rb +2 -0
  99. data/lib/katapult-ruby/models/get_file_storage_volume404_response.rb +1 -13
  100. data/lib/katapult-ruby/models/get_file_storage_volume_part_data_center.rb +1 -0
  101. data/lib/katapult-ruby/models/get_gpu_type404_response.rb +1 -13
  102. data/lib/katapult-ruby/models/get_gpu_type_part_data_centers.rb +1 -0
  103. data/lib/katapult-ruby/models/get_gpu_types_part_data_centers.rb +1 -0
  104. data/lib/katapult-ruby/models/get_ip_address404_response.rb +1 -13
  105. data/lib/katapult-ruby/models/get_load_balancer200_response_load_balancer.rb +4 -5
  106. data/lib/katapult-ruby/models/get_load_balancer404_response.rb +1 -13
  107. data/lib/katapult-ruby/models/get_load_balancer_part_data_center.rb +1 -0
  108. data/lib/katapult-ruby/models/get_load_balancers_rules_load_balancer_rule200_response_load_balancer_rule.rb +2 -0
  109. data/lib/katapult-ruby/models/get_load_balancers_rules_load_balancer_rule404_response.rb +1 -13
  110. data/lib/katapult-ruby/models/get_network404_response.rb +1 -13
  111. data/lib/katapult-ruby/models/get_operating_system404_response.rb +1 -13
  112. data/lib/katapult-ruby/models/get_organization404_response.rb +1 -13
  113. data/lib/katapult-ruby/models/{get_organization_users_with_access_part_user.rb → get_organization_address_lists200_response.rb} +33 -34
  114. data/lib/katapult-ruby/models/{get_virtual_machine_part_attached_iso.rb → get_organization_address_lists200_response_address_lists.rb} +12 -10
  115. data/lib/katapult-ruby/models/get_organization_available_networks200_response_networks.rb +1 -0
  116. data/lib/katapult-ruby/models/get_organization_available_networks_part_data_center.rb +1 -0
  117. data/lib/katapult-ruby/models/get_organization_certificates200_response_certificates.rb +2 -0
  118. data/lib/katapult-ruby/models/get_organization_disk_templates200_response_disk_templates.rb +3 -0
  119. data/lib/katapult-ruby/models/get_organization_disks200_response_disk.rb +1 -0
  120. data/lib/katapult-ruby/models/get_organization_file_storage_volumes200_response_file_storage_volumes.rb +2 -0
  121. data/lib/katapult-ruby/models/get_organization_file_storage_volumes_part_data_center.rb +1 -0
  122. data/lib/katapult-ruby/models/get_organization_ip_addresses200_response_ip_addresses.rb +2 -0
  123. data/lib/katapult-ruby/models/get_organization_load_balancers200_response_load_balancers.rb +3 -4
  124. data/lib/katapult-ruby/models/{delete_dns_zones_dns_zone200_response.rb → get_organization_policy_limits200_response.rb} +14 -14
  125. data/lib/katapult-ruby/models/get_organization_users_with_access200_response_users.rb +2 -1
  126. data/lib/katapult-ruby/models/get_organization_virtual_machines200_response_virtual_machines.rb +3 -1
  127. data/lib/katapult-ruby/models/get_security_group404_response.rb +1 -13
  128. data/lib/katapult-ruby/models/get_security_group_rules200_response_security_group_rules.rb +2 -0
  129. data/lib/katapult-ruby/models/get_security_groups_rules_security_group_rule200_response_security_group_rule.rb +2 -0
  130. data/lib/katapult-ruby/models/get_security_groups_rules_security_group_rule404_response.rb +1 -13
  131. data/lib/katapult-ruby/models/get_tag404_response.rb +1 -13
  132. data/lib/katapult-ruby/models/get_task404_response.rb +1 -13
  133. data/lib/katapult-ruby/models/get_trash_object404_response.rb +1 -13
  134. data/lib/katapult-ruby/models/get_users_current404_response.rb +1 -13
  135. data/lib/katapult-ruby/models/get_virtual_machine200_response_virtual_machine.rb +27 -9
  136. data/lib/katapult-ruby/models/get_virtual_machine_authorized_keys404_response.rb +254 -0
  137. data/lib/katapult-ruby/models/get_virtual_machine_disks404_response.rb +1 -13
  138. data/lib/katapult-ruby/models/get_virtual_machine_disks406_response.rb +1 -13
  139. data/lib/katapult-ruby/models/get_virtual_machine_group404_response.rb +1 -13
  140. data/lib/katapult-ruby/models/get_virtual_machine_package404_response.rb +1 -13
  141. data/lib/katapult-ruby/models/get_virtual_machine_packages200_response_virtual_machine_packages.rb +1 -0
  142. data/lib/katapult-ruby/models/get_virtual_machines_builds_virtual_machine_build200_response_virtual_machine_build.rb +1 -0
  143. data/lib/katapult-ruby/models/get_virtual_machines_builds_virtual_machine_build404_response.rb +1 -13
  144. data/lib/katapult-ruby/models/get_vmnivmni404_response.rb +1 -13
  145. data/lib/katapult-ruby/models/get_zone404_response.rb +1 -13
  146. data/lib/katapult-ruby/models/get_zones200_response_zones.rb +1 -0
  147. data/lib/katapult-ruby/models/get_zones_part_data_center.rb +1 -0
  148. data/lib/katapult-ruby/models/gpu_type_not_found_enum.rb +39 -0
  149. data/lib/katapult-ruby/models/identity_not_linked_to_web_session_enum.rb +39 -0
  150. data/lib/katapult-ruby/models/{network_speed_profile_not_found_response.rb → identity_not_linked_to_web_session_schema.rb} +5 -17
  151. data/lib/katapult-ruby/models/{mx.rb → integer_or_unlimited.rb} +17 -16
  152. data/lib/katapult-ruby/models/interface_not_found_enum.rb +39 -0
  153. data/lib/katapult-ruby/models/interface_not_found_schema.rb +255 -0
  154. data/lib/katapult-ruby/models/invalid_api_token.rb +1 -0
  155. data/lib/katapult-ruby/models/invalid_api_token_enum.rb +39 -0
  156. data/lib/katapult-ruby/models/{invalid_api_token_response.rb → invalid_api_token_schema.rb} +4 -16
  157. data/lib/katapult-ruby/models/invalid_ip_enum.rb +39 -0
  158. data/lib/katapult-ruby/models/{invalid_ip_response.rb → invalid_ip_schema.rb} +4 -16
  159. data/lib/katapult-ruby/models/invalid_spec_xml_enum.rb +39 -0
  160. data/lib/katapult-ruby/models/invalid_spec_xml_schema.rb +255 -0
  161. data/lib/katapult-ruby/models/invalid_timestamp_enum.rb +39 -0
  162. data/lib/katapult-ruby/models/{invalid_spec_xml_response.rb → invalid_timestamp_schema.rb} +6 -18
  163. data/lib/katapult-ruby/models/ip_address.rb +3 -0
  164. data/lib/katapult-ruby/models/ip_address_not_found_enum.rb +39 -0
  165. data/lib/katapult-ruby/models/ip_address_not_found_schema.rb +255 -0
  166. data/lib/katapult-ruby/models/ip_already_allocated_enum.rb +39 -0
  167. data/lib/katapult-ruby/models/ip_already_allocated_schema.rb +255 -0
  168. data/lib/katapult-ruby/models/iso.rb +1 -0
  169. data/lib/katapult-ruby/models/load_balancer_not_found_enum.rb +39 -0
  170. data/lib/katapult-ruby/models/load_balancer_rule_not_found_enum.rb +39 -0
  171. data/lib/katapult-ruby/models/{get_load_balancer_part_weights.rb → load_balancer_weight.rb} +3 -3
  172. data/lib/katapult-ruby/models/location_required_enum.rb +39 -0
  173. data/lib/katapult-ruby/models/location_required_schema.rb +255 -0
  174. data/lib/katapult-ruby/models/missing_api_token_enum.rb +39 -0
  175. data/lib/katapult-ruby/models/network.rb +1 -0
  176. data/lib/katapult-ruby/models/network_not_found_enum.rb +39 -0
  177. data/lib/katapult-ruby/models/network_not_found_schema.rb +255 -0
  178. data/lib/katapult-ruby/models/network_speed_profile.rb +2 -0
  179. data/lib/katapult-ruby/models/network_speed_profile_not_found_enum.rb +39 -0
  180. data/lib/katapult-ruby/models/{get_dns_records_dns_record404_response.rb → network_speed_profile_not_found_schema.rb} +5 -16
  181. data/lib/katapult-ruby/models/no_allocation_enum.rb +39 -0
  182. data/lib/katapult-ruby/models/no_available_addresses_enum.rb +39 -0
  183. data/lib/katapult-ruby/models/no_interface_available_enum.rb +39 -0
  184. data/lib/katapult-ruby/models/{data_center_not_found_response.rb → no_interface_available_schema.rb} +5 -17
  185. data/lib/katapult-ruby/models/no_user_associated_with_identity_enum.rb +39 -0
  186. data/lib/katapult-ruby/models/no_virtual_machine_for_api_token_enum.rb +39 -0
  187. data/lib/katapult-ruby/models/object_in_trash.rb +1 -0
  188. data/lib/katapult-ruby/models/{dns_record_type_enum.rb → object_in_trash_enum.rb} +5 -15
  189. data/lib/katapult-ruby/models/{object_in_trash_response.rb → object_in_trash_schema.rb} +4 -16
  190. data/lib/katapult-ruby/models/one_of_api_authenticator403_response.rb +3 -3
  191. data/lib/katapult-ruby/models/{one_of_data_center_not_found_virtual_machine_package_not_found_zone_not_found404_error.rb → one_of_data_center_not_found_virtual_machine_package_not_found_zone_not_found404_res.rb} +7 -7
  192. data/lib/katapult-ruby/models/{one_of_flexible_resources_unavailable_to_organization_permission_denied403_error.rb → one_of_flexible_resources_unavailable_to_organization_permission_denied403_res.rb} +6 -6
  193. data/lib/katapult-ruby/models/one_of_identity_not_linked_to_web_session400_res.rb +105 -0
  194. data/lib/katapult-ruby/models/{one_of_interface_not_found_network_not_found_virtual_machine_not_found404_error.rb → one_of_interface_not_found_network_not_found_virtual_machine_not_found404_res.rb} +4 -4
  195. data/lib/katapult-ruby/models/{one_of_invalid_spec_xml400_error.rb → one_of_invalid_spec_xml400_res.rb} +3 -3
  196. data/lib/katapult-ruby/models/{one_of_invalid_timestamp400_error.rb → one_of_invalid_timestamp400_res.rb} +3 -3
  197. data/lib/katapult-ruby/models/{one_of_ip_address_not_found_virtual_machine_network_interface_not_found404_error.rb → one_of_ip_address_not_found_virtual_machine_network_interface_not_found404_res.rb} +3 -3
  198. data/lib/katapult-ruby/models/one_of_ip_address_not_found_virtual_machine_not_found404_res.rb +105 -0
  199. data/lib/katapult-ruby/models/{one_of_ip_already_allocated_invalid_ip422_error.rb → one_of_ip_already_allocated_invalid_ip422_res.rb} +3 -3
  200. data/lib/katapult-ruby/models/one_of_ip_already_allocated_no_interface_available422_res.rb +105 -0
  201. data/lib/katapult-ruby/models/{one_of_object_in_trash_task_queueing_error406_error.rb → one_of_location_required_validation_error422_res.rb} +3 -3
  202. data/lib/katapult-ruby/models/{one_of_location_required_validation_error422_error.rb → one_of_network_not_found_organization_not_found404_res.rb} +3 -3
  203. data/lib/katapult-ruby/models/{one_of_network_speed_profile_not_found_virtual_machine_network_interface_not_found404_error.rb → one_of_network_speed_profile_not_found_virtual_machine_network_interface_not_found404_res.rb} +3 -3
  204. data/lib/katapult-ruby/models/one_of_object_in_trash_task_queueing_error406_res.rb +105 -0
  205. data/lib/katapult-ruby/models/one_of_object_in_trash_virtual_machine_must_be_started406_res.rb +105 -0
  206. data/lib/katapult-ruby/models/{one_of_identity_not_linked_to_web_session400_error.rb → one_of_operating_system_not_found_organization_not_found404_res.rb} +3 -3
  207. data/lib/katapult-ruby/models/one_of_organization_limit_reached_validation_error422_res.rb +105 -0
  208. data/lib/katapult-ruby/models/{dns_record_properties_properties.rb → one_of_organization_not_activated_organization_suspended403_res.rb} +6 -12
  209. data/lib/katapult-ruby/models/{one_of_organization_not_activated_organization_suspended_permission_denied403_error.rb → one_of_organization_not_activated_organization_suspended_permission_denied403_res.rb} +7 -7
  210. data/lib/katapult-ruby/models/{one_of_organization_not_activated_permission_denied_resource_creation_restricted403_error.rb → one_of_organization_not_activated_permission_denied_resource_creation_restricted403_res.rb} +8 -8
  211. data/lib/katapult-ruby/models/one_of_permission_denied403_res.rb +107 -0
  212. data/lib/katapult-ruby/models/{one_of_virtual_machine_not_found_virtual_machine_package_not_found404_error.rb → one_of_virtual_machine_not_found_virtual_machine_package_not_found404_res.rb} +3 -3
  213. data/lib/katapult-ruby/models/operating_system.rb +1 -0
  214. data/lib/katapult-ruby/models/operating_system_not_found_enum.rb +39 -0
  215. data/lib/katapult-ruby/models/{get_dns_zones_dns_zone404_response.rb → operating_system_not_found_schema.rb} +5 -16
  216. data/lib/katapult-ruby/models/organization.rb +10 -0
  217. data/lib/katapult-ruby/models/organization_limit_reached_enum.rb +39 -0
  218. data/lib/katapult-ruby/models/organization_limit_reached_schema.rb +255 -0
  219. data/lib/katapult-ruby/models/organization_not_activated_enum.rb +39 -0
  220. data/lib/katapult-ruby/models/{organization_not_activated_response.rb → organization_not_activated_schema.rb} +4 -16
  221. data/lib/katapult-ruby/models/organization_not_found_enum.rb +39 -0
  222. data/lib/katapult-ruby/models/organization_not_found_schema.rb +255 -0
  223. data/lib/katapult-ruby/models/organization_policy.rb +349 -0
  224. data/lib/katapult-ruby/models/organization_suspended_enum.rb +39 -0
  225. data/lib/katapult-ruby/models/{api_authenticator400_response.rb → organization_suspended_schema.rb} +5 -17
  226. data/lib/katapult-ruby/models/pagination_object.rb +2 -0
  227. data/lib/katapult-ruby/models/{delete_virtual_machine_part_zone.rb → patch_address_list_entry_request.rb} +30 -34
  228. data/lib/katapult-ruby/models/{get_disk_part_disk_template.rb → patch_address_list_request.rb} +30 -34
  229. data/lib/katapult-ruby/models/patch_file_storage_volume200_response_file_storage_volume.rb +2 -0
  230. data/lib/katapult-ruby/models/patch_file_storage_volume_part_data_center.rb +1 -0
  231. data/lib/katapult-ruby/models/patch_load_balancer200_response_load_balancer.rb +4 -5
  232. data/lib/katapult-ruby/models/patch_load_balancer_part_data_center.rb +1 -0
  233. data/lib/katapult-ruby/models/patch_load_balancers_rules_load_balancer_rule200_response_load_balancer_rule.rb +2 -0
  234. data/lib/katapult-ruby/models/patch_security_groups_rules_security_group_rule200_response_security_group_rule.rb +2 -0
  235. data/lib/katapult-ruby/models/patch_virtual_machine200_response_virtual_machine.rb +27 -9
  236. data/lib/katapult-ruby/models/patch_virtual_machine_network_interface_update_speed_profile406_response.rb +1 -13
  237. data/lib/katapult-ruby/models/patch_virtual_machine_network_interface_update_speed_profile422_response.rb +1 -13
  238. data/lib/katapult-ruby/models/permission_denied.rb +1 -0
  239. data/lib/katapult-ruby/models/permission_denied_enum.rb +39 -0
  240. data/lib/katapult-ruby/models/{permission_denied_response.rb → permission_denied_schema.rb} +4 -16
  241. data/lib/katapult-ruby/models/post_address_list_entries201_response.rb +221 -0
  242. data/lib/katapult-ruby/models/{get_virtual_machine_part_currency.rb → post_address_list_entries_request.rb} +30 -34
  243. data/lib/katapult-ruby/models/post_disk_disk_backup_policies200_response_disk_backup_policy.rb +2 -1
  244. data/lib/katapult-ruby/models/{organization_not_found_response.rb → post_dns_zone_verify422_response.rb} +4 -17
  245. data/lib/katapult-ruby/models/post_ip_address_unallocate422_response.rb +1 -13
  246. data/lib/katapult-ruby/models/post_load_balancer_rules200_response_load_balancer_rule.rb +2 -0
  247. data/lib/katapult-ruby/models/{post_dns_zones_dns_zone_update_ttl200_response.rb → post_organization_address_lists201_response.rb} +14 -14
  248. data/lib/katapult-ruby/models/{post_organizations_organization_dns_zones_request.rb → post_organization_address_lists_request.rb} +4 -4
  249. data/lib/katapult-ruby/models/post_organization_dns_zones201_response.rb +1 -1
  250. data/lib/katapult-ruby/models/post_organization_dns_zones_request.rb +11 -11
  251. data/lib/katapult-ruby/models/post_organization_file_storage_volumes201_response_file_storage_volume.rb +2 -0
  252. data/lib/katapult-ruby/models/post_organization_file_storage_volumes_part_data_center.rb +1 -0
  253. data/lib/katapult-ruby/models/post_organization_ip_addresses503_response.rb +1 -13
  254. data/lib/katapult-ruby/models/{post_organization_load_balancers200_response.rb → post_organization_load_balancers201_response.rb} +4 -4
  255. data/lib/katapult-ruby/models/{post_organization_load_balancers200_response_load_balancer.rb → post_organization_load_balancers201_response_load_balancer.rb} +7 -8
  256. data/lib/katapult-ruby/models/post_organization_load_balancers_part_data_center.rb +1 -0
  257. data/lib/katapult-ruby/models/post_organization_virtual_machines_build_from_spec422_response.rb +1 -13
  258. data/lib/katapult-ruby/models/post_security_group_rules200_response_security_group_rule.rb +2 -0
  259. data/lib/katapult-ruby/models/post_virtual_machine_disk_backup_policies200_response_disk_backup_policy.rb +2 -1
  260. data/lib/katapult-ruby/models/rate_limit_reached_enum.rb +39 -0
  261. data/lib/katapult-ruby/models/record_content_attributes_for_a.rb +1 -0
  262. data/lib/katapult-ruby/models/record_content_attributes_for_aaaa.rb +1 -0
  263. data/lib/katapult-ruby/models/record_content_attributes_for_alias.rb +1 -0
  264. data/lib/katapult-ruby/models/record_content_attributes_for_caa.rb +3 -0
  265. data/lib/katapult-ruby/models/record_content_attributes_for_cname.rb +1 -0
  266. data/lib/katapult-ruby/models/record_content_attributes_for_ips.rb +1 -0
  267. data/lib/katapult-ruby/models/record_content_attributes_for_mx.rb +1 -0
  268. data/lib/katapult-ruby/models/record_content_attributes_for_ns.rb +1 -0
  269. data/lib/katapult-ruby/models/record_content_attributes_for_ptr.rb +1 -0
  270. data/lib/katapult-ruby/models/record_content_attributes_for_srv.rb +3 -0
  271. data/lib/katapult-ruby/models/record_content_attributes_for_sshfp.rb +3 -0
  272. data/lib/katapult-ruby/models/record_content_attributes_for_txt.rb +1 -0
  273. data/lib/katapult-ruby/models/record_content_attributes_for_virtual_machine.rb +1 -0
  274. data/lib/katapult-ruby/models/resource_creation_restricted_enum.rb +39 -0
  275. data/lib/katapult-ruby/models/{organization_limit_reached_response.rb → resource_creation_restricted_schema.rb} +6 -18
  276. data/lib/katapult-ruby/models/resource_does_not_support_unallocation_enum.rb +39 -0
  277. data/lib/katapult-ruby/models/{get_disk_backup_policy_part_schedule.rb → schedule.rb} +3 -3
  278. data/lib/katapult-ruby/models/scope_not_granted_error_enum.rb +39 -0
  279. data/lib/katapult-ruby/models/{scope_not_granted_error_response.rb → scope_not_granted_error_schema.rb} +4 -16
  280. data/lib/katapult-ruby/models/security_group_not_found_enum.rb +39 -0
  281. data/lib/katapult-ruby/models/security_group_rule_not_found_enum.rb +39 -0
  282. data/lib/katapult-ruby/models/speed_profile_already_assigned_enum.rb +39 -0
  283. data/lib/katapult-ruby/models/ssh_key_not_found_enum.rb +39 -0
  284. data/lib/katapult-ruby/models/tag_not_found_enum.rb +39 -0
  285. data/lib/katapult-ruby/models/task.rb +2 -0
  286. data/lib/katapult-ruby/models/task_not_found_enum.rb +39 -0
  287. data/lib/katapult-ruby/models/task_queueing_error_enum.rb +39 -0
  288. data/lib/katapult-ruby/models/{task_queueing_error_response.rb → task_queueing_error_schema.rb} +4 -16
  289. data/lib/katapult-ruby/models/template_spec_field.rb +3 -0
  290. data/lib/katapult-ruby/models/trash_object_not_found_enum.rb +39 -0
  291. data/lib/katapult-ruby/models/unauthorized_network_for_api_token_enum.rb +39 -0
  292. data/lib/katapult-ruby/models/{post_dns_zones_dns_zone_verify422_response.rb → unauthorized_network_for_api_token_schema.rb} +6 -17
  293. data/lib/katapult-ruby/models/validation_error_enum.rb +39 -0
  294. data/lib/katapult-ruby/models/{validation_error_response.rb → validation_error_schema.rb} +4 -16
  295. data/lib/katapult-ruby/models/virtual_machine.rb +19 -1
  296. data/lib/katapult-ruby/models/virtual_machine_build_not_found_enum.rb +39 -0
  297. data/lib/katapult-ruby/models/virtual_machine_flexible_resources.rb +13 -4
  298. data/lib/katapult-ruby/models/virtual_machine_gpu.rb +2 -0
  299. data/lib/katapult-ruby/models/virtual_machine_group_not_found_enum.rb +39 -0
  300. data/lib/katapult-ruby/models/virtual_machine_must_be_started_enum.rb +39 -0
  301. data/lib/katapult-ruby/models/{virtual_machine_must_be_started_response.rb → virtual_machine_must_be_started_schema.rb} +4 -16
  302. data/lib/katapult-ruby/models/virtual_machine_network_interface_not_found_enum.rb +39 -0
  303. data/lib/katapult-ruby/models/{virtual_machine_network_interface_not_found_response.rb → virtual_machine_network_interface_not_found_schema.rb} +4 -16
  304. data/lib/katapult-ruby/models/virtual_machine_not_found_enum.rb +39 -0
  305. data/lib/katapult-ruby/models/{disk_template_not_found_response.rb → virtual_machine_not_found_schema.rb} +5 -17
  306. data/lib/katapult-ruby/models/virtual_machine_package.rb +15 -4
  307. data/lib/katapult-ruby/models/virtual_machine_package_not_found_enum.rb +39 -0
  308. data/lib/katapult-ruby/models/{virtual_machine_package_not_found_response.rb → virtual_machine_package_not_found_schema.rb} +4 -16
  309. data/lib/katapult-ruby/models/virtual_machine_state_enum.rb +2 -1
  310. data/lib/katapult-ruby/models/zone.rb +1 -0
  311. data/lib/katapult-ruby/models/zone_not_found_enum.rb +39 -0
  312. data/lib/katapult-ruby/models/{zone_not_found_response.rb → zone_not_found_schema.rb} +4 -16
  313. data/lib/katapult-ruby/version.rb +1 -1
  314. data/lib/katapult-ruby.rb +171 -178
  315. metadata +174 -181
  316. data/lib/katapult-ruby/models/caa.rb +0 -254
  317. data/lib/katapult-ruby/models/delete_dns_zones_dns_zone200_response_dns_zone.rb +0 -250
  318. data/lib/katapult-ruby/models/delete_virtual_machine_part_attached_iso.rb +0 -232
  319. data/lib/katapult-ruby/models/delete_virtual_machine_part_badge.rb +0 -259
  320. data/lib/katapult-ruby/models/delete_virtual_machine_part_country.rb +0 -259
  321. data/lib/katapult-ruby/models/delete_virtual_machine_part_country_state.rb +0 -241
  322. data/lib/katapult-ruby/models/delete_virtual_machine_part_gpus.rb +0 -274
  323. data/lib/katapult-ruby/models/delete_virtual_machine_part_group.rb +0 -250
  324. data/lib/katapult-ruby/models/delete_virtual_machine_part_icon.rb +0 -259
  325. data/lib/katapult-ruby/models/delete_virtual_machine_part_ip_addresses.rb +0 -286
  326. data/lib/katapult-ruby/models/delete_virtual_machine_part_network.rb +0 -241
  327. data/lib/katapult-ruby/models/delete_virtual_machine_part_organization.rb +0 -367
  328. data/lib/katapult-ruby/models/delete_virtual_machine_part_package.rb +0 -317
  329. data/lib/katapult-ruby/models/delete_virtual_machine_part_tags.rb +0 -263
  330. data/lib/katapult-ruby/models/delete_virtual_machine_part_type.rb +0 -259
  331. data/lib/katapult-ruby/models/dns_record_properties_arguments.rb +0 -363
  332. data/lib/katapult-ruby/models/flexible_resources_unavailable_to_organization_response.rb +0 -267
  333. data/lib/katapult-ruby/models/get_disk_part_attributes.rb +0 -250
  334. data/lib/katapult-ruby/models/get_disk_part_disk_template_version.rb +0 -232
  335. data/lib/katapult-ruby/models/get_disk_part_installation.rb +0 -234
  336. data/lib/katapult-ruby/models/get_disk_part_io_profile.rb +0 -250
  337. data/lib/katapult-ruby/models/get_disk_template_part_operating_system.rb +0 -232
  338. data/lib/katapult-ruby/models/get_dns_records_dns_record200_response_dns_record.rb +0 -272
  339. data/lib/katapult-ruby/models/get_dns_zones_dns_zone_records200_response.rb +0 -224
  340. data/lib/katapult-ruby/models/get_dns_zones_dns_zone_records200_response_dns_records.rb +0 -272
  341. data/lib/katapult-ruby/models/get_dns_zones_dns_zone_verification_details200_response.rb +0 -221
  342. data/lib/katapult-ruby/models/get_organization_virtual_machines_part_data_center.rb +0 -232
  343. data/lib/katapult-ruby/models/get_organization_virtual_machines_part_zone.rb +0 -241
  344. data/lib/katapult-ruby/models/get_virtual_machine_part_badge.rb +0 -259
  345. data/lib/katapult-ruby/models/get_virtual_machine_part_country.rb +0 -259
  346. data/lib/katapult-ruby/models/get_virtual_machine_part_country_state.rb +0 -241
  347. data/lib/katapult-ruby/models/get_virtual_machine_part_data_center.rb +0 -241
  348. data/lib/katapult-ruby/models/get_virtual_machine_part_group.rb +0 -250
  349. data/lib/katapult-ruby/models/get_virtual_machine_part_icon.rb +0 -259
  350. data/lib/katapult-ruby/models/get_virtual_machine_part_ip_addresses.rb +0 -286
  351. data/lib/katapult-ruby/models/get_virtual_machine_part_network.rb +0 -241
  352. data/lib/katapult-ruby/models/get_virtual_machine_part_operating_system.rb +0 -232
  353. data/lib/katapult-ruby/models/get_virtual_machine_part_organization.rb +0 -367
  354. data/lib/katapult-ruby/models/get_virtual_machine_part_package.rb +0 -317
  355. data/lib/katapult-ruby/models/get_virtual_machine_part_tags.rb +0 -263
  356. data/lib/katapult-ruby/models/get_virtual_machine_part_type.rb +0 -259
  357. data/lib/katapult-ruby/models/get_virtual_machine_part_zone.rb +0 -241
  358. data/lib/katapult-ruby/models/identity_not_linked_to_web_session_response.rb +0 -267
  359. data/lib/katapult-ruby/models/infrastructure_dns_zone_cannot_be_edited_response.rb +0 -267
  360. data/lib/katapult-ruby/models/invalid_timestamp_response.rb +0 -267
  361. data/lib/katapult-ruby/models/no_interface_available_response.rb +0 -267
  362. data/lib/katapult-ruby/models/one_of_infrastructure_dns_zone_cannot_be_edited403_error.rb +0 -107
  363. data/lib/katapult-ruby/models/one_of_ip_address_not_found_virtual_machine_not_found404_error.rb +0 -105
  364. data/lib/katapult-ruby/models/one_of_ip_already_allocated_no_interface_available422_error.rb +0 -105
  365. data/lib/katapult-ruby/models/one_of_network_not_found_organization_not_found404_error.rb +0 -105
  366. data/lib/katapult-ruby/models/one_of_object_in_trash_virtual_machine_must_be_started406_error.rb +0 -105
  367. data/lib/katapult-ruby/models/one_of_operating_system_not_found_organization_not_found404_error.rb +0 -105
  368. data/lib/katapult-ruby/models/one_of_organization_limit_reached_validation_error422_error.rb +0 -105
  369. data/lib/katapult-ruby/models/one_of_organization_not_activated_organization_suspended403_error.rb +0 -108
  370. data/lib/katapult-ruby/models/one_of_permission_denied403_error.rb +0 -107
  371. data/lib/katapult-ruby/models/operating_system_not_found_response.rb +0 -267
  372. data/lib/katapult-ruby/models/organization_suspended_response.rb +0 -267
  373. data/lib/katapult-ruby/models/patch_dns_records_dns_record200_response.rb +0 -221
  374. data/lib/katapult-ruby/models/patch_dns_records_dns_record200_response_dns_record.rb +0 -272
  375. data/lib/katapult-ruby/models/patch_dns_records_dns_record_request.rb +0 -237
  376. data/lib/katapult-ruby/models/patch_virtual_machine_part_attached_iso.rb +0 -232
  377. data/lib/katapult-ruby/models/patch_virtual_machine_part_badge.rb +0 -259
  378. data/lib/katapult-ruby/models/patch_virtual_machine_part_country.rb +0 -259
  379. data/lib/katapult-ruby/models/patch_virtual_machine_part_country_state.rb +0 -241
  380. data/lib/katapult-ruby/models/patch_virtual_machine_part_currency.rb +0 -241
  381. data/lib/katapult-ruby/models/patch_virtual_machine_part_data_center.rb +0 -241
  382. data/lib/katapult-ruby/models/patch_virtual_machine_part_gpus.rb +0 -274
  383. data/lib/katapult-ruby/models/patch_virtual_machine_part_group.rb +0 -250
  384. data/lib/katapult-ruby/models/patch_virtual_machine_part_icon.rb +0 -259
  385. data/lib/katapult-ruby/models/patch_virtual_machine_part_ip_addresses.rb +0 -286
  386. data/lib/katapult-ruby/models/patch_virtual_machine_part_network.rb +0 -241
  387. data/lib/katapult-ruby/models/patch_virtual_machine_part_organization.rb +0 -367
  388. data/lib/katapult-ruby/models/patch_virtual_machine_part_package.rb +0 -317
  389. data/lib/katapult-ruby/models/patch_virtual_machine_part_tags.rb +0 -263
  390. data/lib/katapult-ruby/models/patch_virtual_machine_part_type.rb +0 -259
  391. data/lib/katapult-ruby/models/patch_virtual_machine_part_zone.rb +0 -241
  392. data/lib/katapult-ruby/models/post_disk_disk_backup_policies_part_schedule.rb +0 -272
  393. data/lib/katapult-ruby/models/post_dns_zones_dns_zone_records200_response.rb +0 -221
  394. data/lib/katapult-ruby/models/post_dns_zones_dns_zone_records200_response_dns_record.rb +0 -272
  395. data/lib/katapult-ruby/models/post_dns_zones_dns_zone_records_request.rb +0 -237
  396. data/lib/katapult-ruby/models/post_dns_zones_dns_zone_update_ttl200_response_dns_zone.rb +0 -250
  397. data/lib/katapult-ruby/models/post_dns_zones_dns_zone_update_ttl_request.rb +0 -238
  398. data/lib/katapult-ruby/models/post_dns_zones_dns_zone_verify200_response.rb +0 -221
  399. data/lib/katapult-ruby/models/post_organization_dns_zones201_response_dns_zone.rb +0 -250
  400. data/lib/katapult-ruby/models/post_organization_load_balancers_part_weights.rb +0 -223
  401. data/lib/katapult-ruby/models/post_organization_managed201_response.rb +0 -221
  402. data/lib/katapult-ruby/models/post_organization_managed201_response_organization.rb +0 -367
  403. data/lib/katapult-ruby/models/post_organization_managed_part_country.rb +0 -259
  404. data/lib/katapult-ruby/models/post_organization_managed_part_country_state.rb +0 -241
  405. data/lib/katapult-ruby/models/post_organization_managed_part_currency.rb +0 -241
  406. data/lib/katapult-ruby/models/post_organizations_organization_dns_zones201_response.rb +0 -221
  407. data/lib/katapult-ruby/models/post_organizations_organization_dns_zones201_response_dns_zone.rb +0 -241
  408. data/lib/katapult-ruby/models/post_virtual_machine_disk_backup_policies_part_schedule.rb +0 -272
  409. data/lib/katapult-ruby/models/resource_creation_restricted_response.rb +0 -267
  410. data/lib/katapult-ruby/models/txt.rb +0 -214
  411. data/lib/katapult-ruby/models/unauthorized_network_for_api_token_response.rb +0 -267
@@ -0,0 +1,105 @@
1
+ =begin
2
+ #Katapult Core API
3
+
4
+ #Welcome to the documentation for the Katapult Core API
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.1.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module KatapultAPI
17
+ module OneOfObjectInTrashTaskQueueingError406Res
18
+ class << self
19
+ # List of class defined in oneOf (OpenAPI v3)
20
+ def openapi_one_of
21
+ [
22
+ :'ObjectInTrashSchema',
23
+ :'TaskQueueingErrorSchema'
24
+ ]
25
+ end
26
+
27
+ # Builds the object
28
+ # @param [Mixed] Data to be matched against the list of oneOf items
29
+ # @return [Object] Returns the model or the data itself
30
+ def build(data)
31
+ # Go through the list of oneOf items and attempt to identify the appropriate one.
32
+ # Note:
33
+ # - We do not attempt to check whether exactly one item matches.
34
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
35
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
36
+ # - TODO: scalar values are de facto behaving as if they were nullable.
37
+ # - TODO: logging when debugging is set.
38
+ openapi_one_of.each do |klass|
39
+ begin
40
+ next if klass == :AnyType # "nullable: true"
41
+ typed_data = find_and_cast_into_type(klass, data)
42
+ return typed_data if typed_data
43
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
44
+ end
45
+ end
46
+
47
+ openapi_one_of.include?(:AnyType) ? data : nil
48
+ end
49
+
50
+ private
51
+
52
+ SchemaMismatchError = Class.new(StandardError)
53
+
54
+ # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
55
+ def find_and_cast_into_type(klass, data)
56
+ return if data.nil?
57
+
58
+ case klass.to_s
59
+ when 'Boolean'
60
+ return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
61
+ when 'Float'
62
+ return data if data.instance_of?(Float)
63
+ when 'Integer'
64
+ return data if data.instance_of?(Integer)
65
+ when 'Time'
66
+ return Time.parse(data)
67
+ when 'Date'
68
+ return Date.parse(data)
69
+ when 'String'
70
+ return data if data.instance_of?(String)
71
+ when 'Object' # "type: object"
72
+ return data if data.instance_of?(Hash)
73
+ when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
74
+ if data.instance_of?(Array)
75
+ sub_type = Regexp.last_match[:sub_type]
76
+ return data.map { |item| find_and_cast_into_type(sub_type, item) }
77
+ end
78
+ when /\AHash<String, (?<sub_type>.+)>\z/ # "type: object" with "additionalProperties: { ... }"
79
+ if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
80
+ sub_type = Regexp.last_match[:sub_type]
81
+ return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
82
+ end
83
+ else # model
84
+ const = KatapultAPI.const_get(klass)
85
+ if const
86
+ if const.respond_to?(:openapi_one_of) # nested oneOf model
87
+ model = const.build(data)
88
+ return model if model
89
+ else
90
+ # raise if data contains keys that are not known to the model
91
+ raise unless (data.keys - const.acceptable_attributes).empty?
92
+ model = const.build_from_hash(data)
93
+ return model if model
94
+ end
95
+ end
96
+ end
97
+
98
+ raise # if no match by now, raise
99
+ rescue
100
+ raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
101
+ end
102
+ end
103
+ end
104
+
105
+ end
@@ -0,0 +1,105 @@
1
+ =begin
2
+ #Katapult Core API
3
+
4
+ #Welcome to the documentation for the Katapult Core API
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.1.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module KatapultAPI
17
+ module OneOfObjectInTrashVirtualMachineMustBeStarted406Res
18
+ class << self
19
+ # List of class defined in oneOf (OpenAPI v3)
20
+ def openapi_one_of
21
+ [
22
+ :'ObjectInTrashSchema',
23
+ :'VirtualMachineMustBeStartedSchema'
24
+ ]
25
+ end
26
+
27
+ # Builds the object
28
+ # @param [Mixed] Data to be matched against the list of oneOf items
29
+ # @return [Object] Returns the model or the data itself
30
+ def build(data)
31
+ # Go through the list of oneOf items and attempt to identify the appropriate one.
32
+ # Note:
33
+ # - We do not attempt to check whether exactly one item matches.
34
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
35
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
36
+ # - TODO: scalar values are de facto behaving as if they were nullable.
37
+ # - TODO: logging when debugging is set.
38
+ openapi_one_of.each do |klass|
39
+ begin
40
+ next if klass == :AnyType # "nullable: true"
41
+ typed_data = find_and_cast_into_type(klass, data)
42
+ return typed_data if typed_data
43
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
44
+ end
45
+ end
46
+
47
+ openapi_one_of.include?(:AnyType) ? data : nil
48
+ end
49
+
50
+ private
51
+
52
+ SchemaMismatchError = Class.new(StandardError)
53
+
54
+ # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
55
+ def find_and_cast_into_type(klass, data)
56
+ return if data.nil?
57
+
58
+ case klass.to_s
59
+ when 'Boolean'
60
+ return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
61
+ when 'Float'
62
+ return data if data.instance_of?(Float)
63
+ when 'Integer'
64
+ return data if data.instance_of?(Integer)
65
+ when 'Time'
66
+ return Time.parse(data)
67
+ when 'Date'
68
+ return Date.parse(data)
69
+ when 'String'
70
+ return data if data.instance_of?(String)
71
+ when 'Object' # "type: object"
72
+ return data if data.instance_of?(Hash)
73
+ when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
74
+ if data.instance_of?(Array)
75
+ sub_type = Regexp.last_match[:sub_type]
76
+ return data.map { |item| find_and_cast_into_type(sub_type, item) }
77
+ end
78
+ when /\AHash<String, (?<sub_type>.+)>\z/ # "type: object" with "additionalProperties: { ... }"
79
+ if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
80
+ sub_type = Regexp.last_match[:sub_type]
81
+ return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
82
+ end
83
+ else # model
84
+ const = KatapultAPI.const_get(klass)
85
+ if const
86
+ if const.respond_to?(:openapi_one_of) # nested oneOf model
87
+ model = const.build(data)
88
+ return model if model
89
+ else
90
+ # raise if data contains keys that are not known to the model
91
+ raise unless (data.keys - const.acceptable_attributes).empty?
92
+ model = const.build_from_hash(data)
93
+ return model if model
94
+ end
95
+ end
96
+ end
97
+
98
+ raise # if no match by now, raise
99
+ rescue
100
+ raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
101
+ end
102
+ end
103
+ end
104
+
105
+ end
@@ -14,13 +14,13 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module KatapultAPI
17
- module OneOfIdentityNotLinkedToWebSession400Error
17
+ module OneOfOperatingSystemNotFoundOrganizationNotFound404Res
18
18
  class << self
19
19
  # List of class defined in oneOf (OpenAPI v3)
20
20
  def openapi_one_of
21
21
  [
22
- :'APIAuthenticator400Response',
23
- :'IdentityNotLinkedToWebSessionResponse'
22
+ :'OperatingSystemNotFoundSchema',
23
+ :'OrganizationNotFoundSchema'
24
24
  ]
25
25
  end
26
26
 
@@ -0,0 +1,105 @@
1
+ =begin
2
+ #Katapult Core API
3
+
4
+ #Welcome to the documentation for the Katapult Core API
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.1.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module KatapultAPI
17
+ module OneOfOrganizationLimitReachedValidationError422Res
18
+ class << self
19
+ # List of class defined in oneOf (OpenAPI v3)
20
+ def openapi_one_of
21
+ [
22
+ :'OrganizationLimitReachedSchema',
23
+ :'ValidationErrorSchema'
24
+ ]
25
+ end
26
+
27
+ # Builds the object
28
+ # @param [Mixed] Data to be matched against the list of oneOf items
29
+ # @return [Object] Returns the model or the data itself
30
+ def build(data)
31
+ # Go through the list of oneOf items and attempt to identify the appropriate one.
32
+ # Note:
33
+ # - We do not attempt to check whether exactly one item matches.
34
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
35
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
36
+ # - TODO: scalar values are de facto behaving as if they were nullable.
37
+ # - TODO: logging when debugging is set.
38
+ openapi_one_of.each do |klass|
39
+ begin
40
+ next if klass == :AnyType # "nullable: true"
41
+ typed_data = find_and_cast_into_type(klass, data)
42
+ return typed_data if typed_data
43
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
44
+ end
45
+ end
46
+
47
+ openapi_one_of.include?(:AnyType) ? data : nil
48
+ end
49
+
50
+ private
51
+
52
+ SchemaMismatchError = Class.new(StandardError)
53
+
54
+ # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
55
+ def find_and_cast_into_type(klass, data)
56
+ return if data.nil?
57
+
58
+ case klass.to_s
59
+ when 'Boolean'
60
+ return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
61
+ when 'Float'
62
+ return data if data.instance_of?(Float)
63
+ when 'Integer'
64
+ return data if data.instance_of?(Integer)
65
+ when 'Time'
66
+ return Time.parse(data)
67
+ when 'Date'
68
+ return Date.parse(data)
69
+ when 'String'
70
+ return data if data.instance_of?(String)
71
+ when 'Object' # "type: object"
72
+ return data if data.instance_of?(Hash)
73
+ when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
74
+ if data.instance_of?(Array)
75
+ sub_type = Regexp.last_match[:sub_type]
76
+ return data.map { |item| find_and_cast_into_type(sub_type, item) }
77
+ end
78
+ when /\AHash<String, (?<sub_type>.+)>\z/ # "type: object" with "additionalProperties: { ... }"
79
+ if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
80
+ sub_type = Regexp.last_match[:sub_type]
81
+ return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
82
+ end
83
+ else # model
84
+ const = KatapultAPI.const_get(klass)
85
+ if const
86
+ if const.respond_to?(:openapi_one_of) # nested oneOf model
87
+ model = const.build(data)
88
+ return model if model
89
+ else
90
+ # raise if data contains keys that are not known to the model
91
+ raise unless (data.keys - const.acceptable_attributes).empty?
92
+ model = const.build_from_hash(data)
93
+ return model if model
94
+ end
95
+ end
96
+ end
97
+
98
+ raise # if no match by now, raise
99
+ rescue
100
+ raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
101
+ end
102
+ end
103
+ end
104
+
105
+ end
@@ -14,22 +14,16 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module KatapultAPI
17
- module DNSRecordPropertiesProperties
17
+ module OneOfOrganizationNotActivatedOrganizationSuspended403Res
18
18
  class << self
19
19
  # List of class defined in oneOf (OpenAPI v3)
20
20
  def openapi_one_of
21
21
  [
22
- :'A',
23
- :'AAAA',
24
- :'CAA',
25
- :'CNAME',
26
- :'MX',
27
- :'ModelALIAS',
28
- :'NS',
29
- :'SRV',
30
- :'SSHFP',
31
- :'TXT',
32
- :'VirtualMachine'
22
+ :'InvalidAPITokenSchema',
23
+ :'OrganizationNotActivatedSchema',
24
+ :'OrganizationSuspendedSchema',
25
+ :'ScopeNotGrantedErrorSchema',
26
+ :'UnauthorizedNetworkForAPITokenSchema'
33
27
  ]
34
28
  end
35
29
 
@@ -14,17 +14,17 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module KatapultAPI
17
- module OneOfOrganizationNotActivatedOrganizationSuspendedPermissionDenied403Error
17
+ module OneOfOrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res
18
18
  class << self
19
19
  # List of class defined in oneOf (OpenAPI v3)
20
20
  def openapi_one_of
21
21
  [
22
- :'InvalidAPITokenResponse',
23
- :'OrganizationNotActivatedResponse',
24
- :'OrganizationSuspendedResponse',
25
- :'PermissionDeniedResponse',
26
- :'ScopeNotGrantedErrorResponse',
27
- :'UnauthorizedNetworkForAPITokenResponse'
22
+ :'InvalidAPITokenSchema',
23
+ :'OrganizationNotActivatedSchema',
24
+ :'OrganizationSuspendedSchema',
25
+ :'PermissionDeniedSchema',
26
+ :'ScopeNotGrantedErrorSchema',
27
+ :'UnauthorizedNetworkForAPITokenSchema'
28
28
  ]
29
29
  end
30
30
 
@@ -14,18 +14,18 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module KatapultAPI
17
- module OneOfOrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Error
17
+ module OneOfOrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res
18
18
  class << self
19
19
  # List of class defined in oneOf (OpenAPI v3)
20
20
  def openapi_one_of
21
21
  [
22
- :'InvalidAPITokenResponse',
23
- :'OrganizationNotActivatedResponse',
24
- :'OrganizationSuspendedResponse',
25
- :'PermissionDeniedResponse',
26
- :'ResourceCreationRestrictedResponse',
27
- :'ScopeNotGrantedErrorResponse',
28
- :'UnauthorizedNetworkForAPITokenResponse'
22
+ :'InvalidAPITokenSchema',
23
+ :'OrganizationNotActivatedSchema',
24
+ :'OrganizationSuspendedSchema',
25
+ :'PermissionDeniedSchema',
26
+ :'ResourceCreationRestrictedSchema',
27
+ :'ScopeNotGrantedErrorSchema',
28
+ :'UnauthorizedNetworkForAPITokenSchema'
29
29
  ]
30
30
  end
31
31
 
@@ -0,0 +1,107 @@
1
+ =begin
2
+ #Katapult Core API
3
+
4
+ #Welcome to the documentation for the Katapult Core API
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.1.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module KatapultAPI
17
+ module OneOfPermissionDenied403Res
18
+ class << self
19
+ # List of class defined in oneOf (OpenAPI v3)
20
+ def openapi_one_of
21
+ [
22
+ :'InvalidAPITokenSchema',
23
+ :'PermissionDeniedSchema',
24
+ :'ScopeNotGrantedErrorSchema',
25
+ :'UnauthorizedNetworkForAPITokenSchema'
26
+ ]
27
+ end
28
+
29
+ # Builds the object
30
+ # @param [Mixed] Data to be matched against the list of oneOf items
31
+ # @return [Object] Returns the model or the data itself
32
+ def build(data)
33
+ # Go through the list of oneOf items and attempt to identify the appropriate one.
34
+ # Note:
35
+ # - We do not attempt to check whether exactly one item matches.
36
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
37
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
38
+ # - TODO: scalar values are de facto behaving as if they were nullable.
39
+ # - TODO: logging when debugging is set.
40
+ openapi_one_of.each do |klass|
41
+ begin
42
+ next if klass == :AnyType # "nullable: true"
43
+ typed_data = find_and_cast_into_type(klass, data)
44
+ return typed_data if typed_data
45
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
46
+ end
47
+ end
48
+
49
+ openapi_one_of.include?(:AnyType) ? data : nil
50
+ end
51
+
52
+ private
53
+
54
+ SchemaMismatchError = Class.new(StandardError)
55
+
56
+ # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
57
+ def find_and_cast_into_type(klass, data)
58
+ return if data.nil?
59
+
60
+ case klass.to_s
61
+ when 'Boolean'
62
+ return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
63
+ when 'Float'
64
+ return data if data.instance_of?(Float)
65
+ when 'Integer'
66
+ return data if data.instance_of?(Integer)
67
+ when 'Time'
68
+ return Time.parse(data)
69
+ when 'Date'
70
+ return Date.parse(data)
71
+ when 'String'
72
+ return data if data.instance_of?(String)
73
+ when 'Object' # "type: object"
74
+ return data if data.instance_of?(Hash)
75
+ when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
76
+ if data.instance_of?(Array)
77
+ sub_type = Regexp.last_match[:sub_type]
78
+ return data.map { |item| find_and_cast_into_type(sub_type, item) }
79
+ end
80
+ when /\AHash<String, (?<sub_type>.+)>\z/ # "type: object" with "additionalProperties: { ... }"
81
+ if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
82
+ sub_type = Regexp.last_match[:sub_type]
83
+ return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
84
+ end
85
+ else # model
86
+ const = KatapultAPI.const_get(klass)
87
+ if const
88
+ if const.respond_to?(:openapi_one_of) # nested oneOf model
89
+ model = const.build(data)
90
+ return model if model
91
+ else
92
+ # raise if data contains keys that are not known to the model
93
+ raise unless (data.keys - const.acceptable_attributes).empty?
94
+ model = const.build_from_hash(data)
95
+ return model if model
96
+ end
97
+ end
98
+ end
99
+
100
+ raise # if no match by now, raise
101
+ rescue
102
+ raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
103
+ end
104
+ end
105
+ end
106
+
107
+ end
@@ -14,13 +14,13 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module KatapultAPI
17
- module OneOfVirtualMachineNotFoundVirtualMachinePackageNotFound404Error
17
+ module OneOfVirtualMachineNotFoundVirtualMachinePackageNotFound404Res
18
18
  class << self
19
19
  # List of class defined in oneOf (OpenAPI v3)
20
20
  def openapi_one_of
21
21
  [
22
- :'VirtualMachineNotFoundResponse',
23
- :'VirtualMachinePackageNotFoundResponse'
22
+ :'VirtualMachineNotFoundSchema',
23
+ :'VirtualMachinePackageNotFoundSchema'
24
24
  ]
25
25
  end
26
26
 
@@ -47,6 +47,7 @@ module KatapultAPI
47
47
  # List of attributes with nullable: true
48
48
  def self.openapi_nullable
49
49
  Set.new([
50
+ :'badge'
50
51
  ])
51
52
  end
52
53
 
@@ -0,0 +1,39 @@
1
+ =begin
2
+ #Katapult Core API
3
+
4
+ #Welcome to the documentation for the Katapult Core API
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.1.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module KatapultAPI
17
+ class OperatingSystemNotFoundEnum
18
+ OPERATING_SYSTEM_NOT_FOUND = "operating_system_not_found".freeze
19
+
20
+ def self.all_vars
21
+ @all_vars ||= [OPERATING_SYSTEM_NOT_FOUND].freeze
22
+ end
23
+
24
+ # Builds the enum from string
25
+ # @param [String] The enum value in the form of the string
26
+ # @return [String] The enum value
27
+ def self.build_from_hash(value)
28
+ new.build_from_hash(value)
29
+ end
30
+
31
+ # Builds the enum from string
32
+ # @param [String] The enum value in the form of the string
33
+ # @return [String] The enum value
34
+ def build_from_hash(value)
35
+ return value if OperatingSystemNotFoundEnum.all_vars.include?(value)
36
+ raise "Invalid ENUM value #{value} for class #OperatingSystemNotFoundEnum"
37
+ end
38
+ end
39
+ end
@@ -14,7 +14,8 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module KatapultAPI
17
- class GetDnsZonesDnsZone404Response
17
+ # No operating system was found matching any of the criteria provided in the arguments
18
+ class OperatingSystemNotFoundSchema
18
19
  attr_accessor :code
19
20
 
20
21
  attr_accessor :description
@@ -60,7 +61,7 @@ module KatapultAPI
60
61
  # Attribute type mapping.
61
62
  def self.openapi_types
62
63
  {
63
- :'code' => :'String',
64
+ :'code' => :'OperatingSystemNotFoundEnum',
64
65
  :'description' => :'String',
65
66
  :'detail' => :'Object'
66
67
  }
@@ -76,13 +77,13 @@ module KatapultAPI
76
77
  # @param [Hash] attributes Model attributes in the form of hash
77
78
  def initialize(attributes = {})
78
79
  if (!attributes.is_a?(Hash))
79
- fail ArgumentError, "The input argument (attributes) must be a hash in `KatapultAPI::GetDnsZonesDnsZone404Response` initialize method"
80
+ fail ArgumentError, "The input argument (attributes) must be a hash in `KatapultAPI::OperatingSystemNotFoundSchema` initialize method"
80
81
  end
81
82
 
82
83
  # check to see if the attribute exists and convert string to symbol for hash key
83
84
  attributes = attributes.each_with_object({}) { |(k, v), h|
84
85
  if (!self.class.attribute_map.key?(k.to_sym))
85
- fail ArgumentError, "`#{k}` is not a valid attribute in `KatapultAPI::GetDnsZonesDnsZone404Response`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
86
+ fail ArgumentError, "`#{k}` is not a valid attribute in `KatapultAPI::OperatingSystemNotFoundSchema`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
86
87
  end
87
88
  h[k.to_sym] = v
88
89
  }
@@ -112,21 +113,9 @@ module KatapultAPI
112
113
  # @return true if the model is valid
113
114
  def valid?
114
115
  warn '[DEPRECATED] the `valid?` method is obsolete'
115
- code_validator = EnumAttributeValidator.new('String', ["dns_zone_not_found"])
116
- return false unless code_validator.valid?(@code)
117
116
  true
118
117
  end
119
118
 
120
- # Custom attribute writer method checking allowed values (enum).
121
- # @param [Object] code Object to be assigned
122
- def code=(code)
123
- validator = EnumAttributeValidator.new('String', ["dns_zone_not_found"])
124
- unless validator.valid?(code)
125
- fail ArgumentError, "invalid value for \"code\", must be one of #{validator.allowable_values}."
126
- end
127
- @code = code
128
- end
129
-
130
119
  # Checks equality by comparing each attribute.
131
120
  # @param [Object] Object to be compared
132
121
  def ==(o)
@@ -107,6 +107,16 @@ module KatapultAPI
107
107
  # List of attributes with nullable: true
108
108
  def self.openapi_nullable
109
109
  Set.new([
110
+ :'billing_name',
111
+ :'address1',
112
+ :'address2',
113
+ :'address3',
114
+ :'address4',
115
+ :'postcode',
116
+ :'vat_number',
117
+ :'phone_number',
118
+ :'country',
119
+ :'country_state'
110
120
  ])
111
121
  end
112
122