katapult-ruby 0.0.5 → 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 (239) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +73 -143
  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/{dns_zone_already_verified_enum.rb → address_list_entry_not_found_enum.rb} +5 -5
  11. data/lib/katapult-ruby/models/{a.rb → address_list_lookup.rb} +11 -10
  12. data/lib/katapult-ruby/models/{property_type_enum.rb → address_list_not_found_enum.rb} +5 -7
  13. data/lib/katapult-ruby/models/certificate.rb +8 -0
  14. data/lib/katapult-ruby/models/country.rb +1 -0
  15. data/lib/katapult-ruby/models/data_center.rb +1 -0
  16. data/lib/katapult-ruby/models/{dns_zone_not_verified.rb → decimal_or_unlimited.rb} +20 -10
  17. data/lib/katapult-ruby/models/{patch_load_balancer_part_weights.rb → delete_address_list200_response.rb} +17 -19
  18. data/lib/katapult-ruby/models/{get_dns_records_dns_record200_response.rb → delete_address_list_entry200_response.rb} +14 -14
  19. data/lib/katapult-ruby/models/{delete_dns_zones_dns_zone200_response.rb → delete_address_list_entry_request.rb} +14 -14
  20. data/lib/katapult-ruby/models/{get_disk_template_part_badge.rb → delete_address_list_request.rb} +17 -10
  21. data/lib/katapult-ruby/models/delete_disk_backup_policy_schedule200_response_disk_backup_policy.rb +1 -0
  22. data/lib/katapult-ruby/models/{delete_dns_records_dns_record_request.rb → delete_dns_record_request.rb} +3 -3
  23. data/lib/katapult-ruby/models/{delete_dns_zones_dns_zone_request.rb → delete_dns_zone_request.rb} +3 -3
  24. data/lib/katapult-ruby/models/delete_file_storage_volume200_response_file_storage_volume.rb +2 -0
  25. data/lib/katapult-ruby/models/delete_file_storage_volume_part_data_center.rb +1 -0
  26. data/lib/katapult-ruby/models/delete_load_balancer200_response_load_balancer.rb +1 -0
  27. data/lib/katapult-ruby/models/delete_virtual_machine200_response_virtual_machine.rb +27 -9
  28. data/lib/katapult-ruby/models/disk.rb +3 -0
  29. data/lib/katapult-ruby/models/disk_installation_attribute.rb +2 -0
  30. data/lib/katapult-ruby/models/disk_io_profile.rb +2 -0
  31. data/lib/katapult-ruby/models/disk_template.rb +3 -0
  32. data/lib/katapult-ruby/models/dns_record.rb +3 -0
  33. data/lib/katapult-ruby/models/dns_record_arguments.rb +24 -14
  34. data/lib/katapult-ruby/models/{get_virtual_machine_part_gpus.rb → dns_record_content_arguments.rb} +115 -55
  35. data/lib/katapult-ruby/models/{get_dns_zones_dns_zone200_response.rb → dns_record_content_arguments_for_a.rb} +11 -17
  36. data/lib/katapult-ruby/models/dns_record_content_arguments_for_aaaa.rb +215 -0
  37. data/lib/katapult-ruby/models/dns_record_content_arguments_for_alias.rb +215 -0
  38. data/lib/katapult-ruby/models/{delete_virtual_machine_part_operating_system.rb → dns_record_content_arguments_for_caa.rb} +23 -22
  39. data/lib/katapult-ruby/models/dns_record_content_arguments_for_cname.rb +215 -0
  40. data/lib/katapult-ruby/models/dns_record_content_arguments_for_ips.rb +215 -0
  41. data/lib/katapult-ruby/models/{cname.rb → dns_record_content_arguments_for_mx.rb} +11 -10
  42. data/lib/katapult-ruby/models/dns_record_content_arguments_for_ns.rb +215 -0
  43. data/lib/katapult-ruby/models/dns_record_content_arguments_for_ptr.rb +215 -0
  44. data/lib/katapult-ruby/models/{srv.rb → dns_record_content_arguments_for_srv.rb} +5 -13
  45. data/lib/katapult-ruby/models/{sshfp.rb → dns_record_content_arguments_for_sshfp.rb} +4 -3
  46. data/lib/katapult-ruby/models/{dns_record_properties.rb → dns_record_content_arguments_for_txt.rb} +11 -10
  47. data/lib/katapult-ruby/models/dns_record_content_arguments_for_virtual_machine.rb +215 -0
  48. data/lib/katapult-ruby/models/dns_record_content_attributes.rb +14 -0
  49. data/lib/katapult-ruby/models/dns_zone.rb +10 -19
  50. data/lib/katapult-ruby/models/dns_zone_arguments.rb +9 -15
  51. data/lib/katapult-ruby/models/{get_dns_zones_dns_zone_verification_details422_response.rb → get_address_list404_response.rb} +4 -4
  52. data/lib/katapult-ruby/models/{delete_virtual_machine_part_currency.rb → get_address_list_entries200_response.rb} +33 -34
  53. data/lib/katapult-ruby/models/get_address_list_entry404_response.rb +254 -0
  54. data/lib/katapult-ruby/models/{dns_zone_verification_details.rb → get_address_lists200_response.rb} +35 -11
  55. data/lib/katapult-ruby/models/{patch_virtual_machine_part_operating_system.rb → get_address_lists200_response_address_lists.rb} +12 -10
  56. data/lib/katapult-ruby/models/get_data_center200_response_data_center.rb +1 -0
  57. data/lib/katapult-ruby/models/get_data_center_default_network200_response_network.rb +1 -0
  58. data/lib/katapult-ruby/models/get_data_center_default_network_part_data_center.rb +1 -0
  59. data/lib/katapult-ruby/models/get_data_centers200_response_data_centers.rb +1 -0
  60. data/lib/katapult-ruby/models/get_disk200_response_disk.rb +5 -2
  61. data/lib/katapult-ruby/models/get_disk_backup_policy200_response_disk_backup_policy.rb +2 -1
  62. data/lib/katapult-ruby/models/get_disk_template200_response_disk_template.rb +4 -1
  63. data/lib/katapult-ruby/models/{get_dns_records_dns_record404_response.rb → get_dns_record404_response.rb} +3 -3
  64. data/lib/katapult-ruby/models/{get_dns_zones_dns_zone404_response.rb → get_dns_zone404_response.rb} +3 -3
  65. data/lib/katapult-ruby/models/get_file_storage_volume200_response_file_storage_volume.rb +2 -0
  66. data/lib/katapult-ruby/models/get_file_storage_volume_part_data_center.rb +1 -0
  67. data/lib/katapult-ruby/models/get_gpu_type_part_data_centers.rb +1 -0
  68. data/lib/katapult-ruby/models/get_gpu_types_part_data_centers.rb +1 -0
  69. data/lib/katapult-ruby/models/get_load_balancer200_response_load_balancer.rb +4 -5
  70. data/lib/katapult-ruby/models/get_load_balancer_part_data_center.rb +1 -0
  71. data/lib/katapult-ruby/models/get_load_balancers_rules_load_balancer_rule200_response_load_balancer_rule.rb +2 -0
  72. data/lib/katapult-ruby/models/{get_organization_users_with_access_part_user.rb → get_organization_address_lists200_response.rb} +33 -34
  73. data/lib/katapult-ruby/models/{get_virtual_machine_part_attached_iso.rb → get_organization_address_lists200_response_address_lists.rb} +12 -10
  74. data/lib/katapult-ruby/models/get_organization_available_networks200_response_networks.rb +1 -0
  75. data/lib/katapult-ruby/models/get_organization_available_networks_part_data_center.rb +1 -0
  76. data/lib/katapult-ruby/models/get_organization_certificates200_response_certificates.rb +2 -0
  77. data/lib/katapult-ruby/models/get_organization_disk_templates200_response_disk_templates.rb +3 -0
  78. data/lib/katapult-ruby/models/get_organization_disks200_response_disk.rb +1 -0
  79. data/lib/katapult-ruby/models/get_organization_file_storage_volumes200_response_file_storage_volumes.rb +2 -0
  80. data/lib/katapult-ruby/models/get_organization_file_storage_volumes_part_data_center.rb +1 -0
  81. data/lib/katapult-ruby/models/get_organization_ip_addresses200_response_ip_addresses.rb +2 -0
  82. data/lib/katapult-ruby/models/get_organization_load_balancers200_response_load_balancers.rb +3 -4
  83. data/lib/katapult-ruby/models/{delete_dns_records_dns_record200_response.rb → get_organization_policy_limits200_response.rb} +14 -14
  84. data/lib/katapult-ruby/models/get_organization_users_with_access200_response_users.rb +2 -1
  85. data/lib/katapult-ruby/models/get_organization_virtual_machines200_response_virtual_machines.rb +3 -1
  86. data/lib/katapult-ruby/models/get_security_group_rules200_response_security_group_rules.rb +2 -0
  87. data/lib/katapult-ruby/models/get_security_groups_rules_security_group_rule200_response_security_group_rule.rb +2 -0
  88. data/lib/katapult-ruby/models/get_virtual_machine200_response_virtual_machine.rb +27 -9
  89. data/lib/katapult-ruby/models/get_virtual_machine_authorized_keys404_response.rb +254 -0
  90. data/lib/katapult-ruby/models/get_virtual_machine_packages200_response_virtual_machine_packages.rb +1 -0
  91. data/lib/katapult-ruby/models/get_virtual_machines_builds_virtual_machine_build200_response_virtual_machine_build.rb +1 -0
  92. data/lib/katapult-ruby/models/get_zones200_response_zones.rb +1 -0
  93. data/lib/katapult-ruby/models/get_zones_part_data_center.rb +1 -0
  94. data/lib/katapult-ruby/models/{mx.rb → integer_or_unlimited.rb} +17 -16
  95. data/lib/katapult-ruby/models/invalid_api_token.rb +1 -0
  96. data/lib/katapult-ruby/models/ip_address.rb +3 -0
  97. data/lib/katapult-ruby/models/iso.rb +1 -0
  98. data/lib/katapult-ruby/models/{get_load_balancer_part_weights.rb → load_balancer_weight.rb} +3 -3
  99. data/lib/katapult-ruby/models/network.rb +1 -0
  100. data/lib/katapult-ruby/models/network_speed_profile.rb +2 -0
  101. data/lib/katapult-ruby/models/{infrastructure_dns_zone_cannot_be_edited_enum.rb → no_virtual_machine_for_api_token_enum.rb} +5 -5
  102. data/lib/katapult-ruby/models/object_in_trash.rb +1 -0
  103. data/lib/katapult-ruby/models/operating_system.rb +1 -0
  104. data/lib/katapult-ruby/models/organization.rb +10 -0
  105. data/lib/katapult-ruby/models/organization_policy.rb +349 -0
  106. data/lib/katapult-ruby/models/pagination_object.rb +2 -0
  107. data/lib/katapult-ruby/models/{delete_virtual_machine_part_zone.rb → patch_address_list_entry_request.rb} +30 -34
  108. data/lib/katapult-ruby/models/{get_disk_part_disk_template.rb → patch_address_list_request.rb} +30 -34
  109. data/lib/katapult-ruby/models/patch_file_storage_volume200_response_file_storage_volume.rb +2 -0
  110. data/lib/katapult-ruby/models/patch_file_storage_volume_part_data_center.rb +1 -0
  111. data/lib/katapult-ruby/models/patch_load_balancer200_response_load_balancer.rb +4 -5
  112. data/lib/katapult-ruby/models/patch_load_balancer_part_data_center.rb +1 -0
  113. data/lib/katapult-ruby/models/patch_load_balancers_rules_load_balancer_rule200_response_load_balancer_rule.rb +2 -0
  114. data/lib/katapult-ruby/models/patch_security_groups_rules_security_group_rule200_response_security_group_rule.rb +2 -0
  115. data/lib/katapult-ruby/models/patch_virtual_machine200_response_virtual_machine.rb +27 -9
  116. data/lib/katapult-ruby/models/permission_denied.rb +1 -0
  117. data/lib/katapult-ruby/models/post_address_list_entries201_response.rb +221 -0
  118. data/lib/katapult-ruby/models/{get_virtual_machine_part_currency.rb → post_address_list_entries_request.rb} +30 -34
  119. data/lib/katapult-ruby/models/post_disk_disk_backup_policies200_response_disk_backup_policy.rb +2 -1
  120. data/lib/katapult-ruby/models/{post_dns_zones_dns_zone_verify422_response.rb → post_dns_zone_verify422_response.rb} +4 -4
  121. data/lib/katapult-ruby/models/post_load_balancer_rules200_response_load_balancer_rule.rb +2 -0
  122. data/lib/katapult-ruby/models/{post_dns_zones_dns_zone_update_ttl200_response.rb → post_organization_address_lists201_response.rb} +14 -14
  123. data/lib/katapult-ruby/models/{post_organizations_organization_dns_zones_request.rb → post_organization_address_lists_request.rb} +4 -4
  124. data/lib/katapult-ruby/models/post_organization_dns_zones201_response.rb +1 -1
  125. data/lib/katapult-ruby/models/post_organization_dns_zones_request.rb +11 -11
  126. data/lib/katapult-ruby/models/post_organization_file_storage_volumes201_response_file_storage_volume.rb +2 -0
  127. data/lib/katapult-ruby/models/post_organization_file_storage_volumes_part_data_center.rb +1 -0
  128. data/lib/katapult-ruby/models/{post_organization_load_balancers200_response.rb → post_organization_load_balancers201_response.rb} +4 -4
  129. data/lib/katapult-ruby/models/{post_organization_load_balancers200_response_load_balancer.rb → post_organization_load_balancers201_response_load_balancer.rb} +7 -8
  130. data/lib/katapult-ruby/models/post_organization_load_balancers_part_data_center.rb +1 -0
  131. data/lib/katapult-ruby/models/post_security_group_rules200_response_security_group_rule.rb +2 -0
  132. data/lib/katapult-ruby/models/post_virtual_machine_disk_backup_policies200_response_disk_backup_policy.rb +2 -1
  133. data/lib/katapult-ruby/models/record_content_attributes_for_a.rb +1 -0
  134. data/lib/katapult-ruby/models/record_content_attributes_for_aaaa.rb +1 -0
  135. data/lib/katapult-ruby/models/record_content_attributes_for_alias.rb +1 -0
  136. data/lib/katapult-ruby/models/record_content_attributes_for_caa.rb +3 -0
  137. data/lib/katapult-ruby/models/record_content_attributes_for_cname.rb +1 -0
  138. data/lib/katapult-ruby/models/record_content_attributes_for_ips.rb +1 -0
  139. data/lib/katapult-ruby/models/record_content_attributes_for_mx.rb +1 -0
  140. data/lib/katapult-ruby/models/record_content_attributes_for_ns.rb +1 -0
  141. data/lib/katapult-ruby/models/record_content_attributes_for_ptr.rb +1 -0
  142. data/lib/katapult-ruby/models/record_content_attributes_for_srv.rb +3 -0
  143. data/lib/katapult-ruby/models/record_content_attributes_for_sshfp.rb +3 -0
  144. data/lib/katapult-ruby/models/record_content_attributes_for_txt.rb +1 -0
  145. data/lib/katapult-ruby/models/record_content_attributes_for_virtual_machine.rb +1 -0
  146. data/lib/katapult-ruby/models/{get_disk_backup_policy_part_schedule.rb → schedule.rb} +3 -3
  147. data/lib/katapult-ruby/models/task.rb +2 -0
  148. data/lib/katapult-ruby/models/template_spec_field.rb +3 -0
  149. data/lib/katapult-ruby/models/virtual_machine.rb +19 -1
  150. data/lib/katapult-ruby/models/virtual_machine_flexible_resources.rb +13 -4
  151. data/lib/katapult-ruby/models/virtual_machine_gpu.rb +2 -0
  152. data/lib/katapult-ruby/models/virtual_machine_package.rb +15 -4
  153. data/lib/katapult-ruby/models/virtual_machine_state_enum.rb +2 -1
  154. data/lib/katapult-ruby/models/zone.rb +1 -0
  155. data/lib/katapult-ruby/version.rb +1 -1
  156. data/lib/katapult-ruby.rb +54 -125
  157. metadata +57 -128
  158. data/lib/katapult-ruby/models/caa.rb +0 -254
  159. data/lib/katapult-ruby/models/delete_dns_zones_dns_zone200_response_dns_zone.rb +0 -250
  160. data/lib/katapult-ruby/models/delete_virtual_machine_part_attached_iso.rb +0 -232
  161. data/lib/katapult-ruby/models/delete_virtual_machine_part_badge.rb +0 -259
  162. data/lib/katapult-ruby/models/delete_virtual_machine_part_country.rb +0 -259
  163. data/lib/katapult-ruby/models/delete_virtual_machine_part_country_state.rb +0 -241
  164. data/lib/katapult-ruby/models/delete_virtual_machine_part_gpus.rb +0 -274
  165. data/lib/katapult-ruby/models/delete_virtual_machine_part_group.rb +0 -250
  166. data/lib/katapult-ruby/models/delete_virtual_machine_part_icon.rb +0 -259
  167. data/lib/katapult-ruby/models/delete_virtual_machine_part_ip_addresses.rb +0 -286
  168. data/lib/katapult-ruby/models/delete_virtual_machine_part_network.rb +0 -241
  169. data/lib/katapult-ruby/models/delete_virtual_machine_part_organization.rb +0 -367
  170. data/lib/katapult-ruby/models/delete_virtual_machine_part_package.rb +0 -317
  171. data/lib/katapult-ruby/models/delete_virtual_machine_part_tags.rb +0 -263
  172. data/lib/katapult-ruby/models/delete_virtual_machine_part_type.rb +0 -259
  173. data/lib/katapult-ruby/models/dns_record_properties_arguments.rb +0 -363
  174. data/lib/katapult-ruby/models/dns_record_properties_properties.rb +0 -114
  175. data/lib/katapult-ruby/models/dns_record_type_enum.rb +0 -49
  176. data/lib/katapult-ruby/models/get_disk_part_attributes.rb +0 -250
  177. data/lib/katapult-ruby/models/get_disk_part_disk_template_version.rb +0 -232
  178. data/lib/katapult-ruby/models/get_disk_part_installation.rb +0 -234
  179. data/lib/katapult-ruby/models/get_disk_part_io_profile.rb +0 -250
  180. data/lib/katapult-ruby/models/get_disk_template_part_operating_system.rb +0 -232
  181. data/lib/katapult-ruby/models/get_dns_records_dns_record200_response_dns_record.rb +0 -272
  182. data/lib/katapult-ruby/models/get_dns_zones_dns_zone_records200_response.rb +0 -224
  183. data/lib/katapult-ruby/models/get_dns_zones_dns_zone_records200_response_dns_records.rb +0 -272
  184. data/lib/katapult-ruby/models/get_dns_zones_dns_zone_verification_details200_response.rb +0 -221
  185. data/lib/katapult-ruby/models/get_organization_virtual_machines_part_data_center.rb +0 -232
  186. data/lib/katapult-ruby/models/get_organization_virtual_machines_part_zone.rb +0 -241
  187. data/lib/katapult-ruby/models/get_virtual_machine_part_badge.rb +0 -259
  188. data/lib/katapult-ruby/models/get_virtual_machine_part_country.rb +0 -259
  189. data/lib/katapult-ruby/models/get_virtual_machine_part_country_state.rb +0 -241
  190. data/lib/katapult-ruby/models/get_virtual_machine_part_data_center.rb +0 -241
  191. data/lib/katapult-ruby/models/get_virtual_machine_part_group.rb +0 -250
  192. data/lib/katapult-ruby/models/get_virtual_machine_part_icon.rb +0 -259
  193. data/lib/katapult-ruby/models/get_virtual_machine_part_ip_addresses.rb +0 -286
  194. data/lib/katapult-ruby/models/get_virtual_machine_part_network.rb +0 -241
  195. data/lib/katapult-ruby/models/get_virtual_machine_part_operating_system.rb +0 -232
  196. data/lib/katapult-ruby/models/get_virtual_machine_part_organization.rb +0 -367
  197. data/lib/katapult-ruby/models/get_virtual_machine_part_package.rb +0 -317
  198. data/lib/katapult-ruby/models/get_virtual_machine_part_tags.rb +0 -263
  199. data/lib/katapult-ruby/models/get_virtual_machine_part_type.rb +0 -259
  200. data/lib/katapult-ruby/models/get_virtual_machine_part_zone.rb +0 -241
  201. data/lib/katapult-ruby/models/infrastructure_dns_zone_cannot_be_edited_schema.rb +0 -255
  202. data/lib/katapult-ruby/models/one_of_infrastructure_dns_zone_cannot_be_edited403_res.rb +0 -107
  203. data/lib/katapult-ruby/models/patch_dns_records_dns_record200_response.rb +0 -221
  204. data/lib/katapult-ruby/models/patch_dns_records_dns_record200_response_dns_record.rb +0 -272
  205. data/lib/katapult-ruby/models/patch_dns_records_dns_record_request.rb +0 -237
  206. data/lib/katapult-ruby/models/patch_virtual_machine_part_attached_iso.rb +0 -232
  207. data/lib/katapult-ruby/models/patch_virtual_machine_part_badge.rb +0 -259
  208. data/lib/katapult-ruby/models/patch_virtual_machine_part_country.rb +0 -259
  209. data/lib/katapult-ruby/models/patch_virtual_machine_part_country_state.rb +0 -241
  210. data/lib/katapult-ruby/models/patch_virtual_machine_part_currency.rb +0 -241
  211. data/lib/katapult-ruby/models/patch_virtual_machine_part_data_center.rb +0 -241
  212. data/lib/katapult-ruby/models/patch_virtual_machine_part_gpus.rb +0 -274
  213. data/lib/katapult-ruby/models/patch_virtual_machine_part_group.rb +0 -250
  214. data/lib/katapult-ruby/models/patch_virtual_machine_part_icon.rb +0 -259
  215. data/lib/katapult-ruby/models/patch_virtual_machine_part_ip_addresses.rb +0 -286
  216. data/lib/katapult-ruby/models/patch_virtual_machine_part_network.rb +0 -241
  217. data/lib/katapult-ruby/models/patch_virtual_machine_part_organization.rb +0 -367
  218. data/lib/katapult-ruby/models/patch_virtual_machine_part_package.rb +0 -317
  219. data/lib/katapult-ruby/models/patch_virtual_machine_part_tags.rb +0 -263
  220. data/lib/katapult-ruby/models/patch_virtual_machine_part_type.rb +0 -259
  221. data/lib/katapult-ruby/models/patch_virtual_machine_part_zone.rb +0 -241
  222. data/lib/katapult-ruby/models/post_disk_disk_backup_policies_part_schedule.rb +0 -272
  223. data/lib/katapult-ruby/models/post_dns_zones_dns_zone_records200_response.rb +0 -221
  224. data/lib/katapult-ruby/models/post_dns_zones_dns_zone_records200_response_dns_record.rb +0 -272
  225. data/lib/katapult-ruby/models/post_dns_zones_dns_zone_records_request.rb +0 -237
  226. data/lib/katapult-ruby/models/post_dns_zones_dns_zone_update_ttl200_response_dns_zone.rb +0 -250
  227. data/lib/katapult-ruby/models/post_dns_zones_dns_zone_update_ttl_request.rb +0 -238
  228. data/lib/katapult-ruby/models/post_dns_zones_dns_zone_verify200_response.rb +0 -221
  229. data/lib/katapult-ruby/models/post_organization_dns_zones201_response_dns_zone.rb +0 -250
  230. data/lib/katapult-ruby/models/post_organization_load_balancers_part_weights.rb +0 -223
  231. data/lib/katapult-ruby/models/post_organization_managed201_response.rb +0 -221
  232. data/lib/katapult-ruby/models/post_organization_managed201_response_organization.rb +0 -367
  233. data/lib/katapult-ruby/models/post_organization_managed_part_country.rb +0 -259
  234. data/lib/katapult-ruby/models/post_organization_managed_part_country_state.rb +0 -241
  235. data/lib/katapult-ruby/models/post_organization_managed_part_currency.rb +0 -241
  236. data/lib/katapult-ruby/models/post_organizations_organization_dns_zones201_response.rb +0 -221
  237. data/lib/katapult-ruby/models/post_organizations_organization_dns_zones201_response_dns_zone.rb +0 -241
  238. data/lib/katapult-ruby/models/post_virtual_machine_disk_backup_policies_part_schedule.rb +0 -272
  239. data/lib/katapult-ruby/models/txt.rb +0 -214
@@ -0,0 +1,215 @@
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
+ # All 'IPS[]' params are mutually exclusive, only one can be provided.
18
+ class DNSRecordContentArgumentsForIPS
19
+ attr_accessor :ip_addresses
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'ip_addresses' => :'ip_addresses'
25
+ }
26
+ end
27
+
28
+ # Returns all the JSON keys this model knows about
29
+ def self.acceptable_attributes
30
+ attribute_map.values
31
+ end
32
+
33
+ # Attribute type mapping.
34
+ def self.openapi_types
35
+ {
36
+ :'ip_addresses' => :'String'
37
+ }
38
+ end
39
+
40
+ # List of attributes with nullable: true
41
+ def self.openapi_nullable
42
+ Set.new([
43
+ ])
44
+ end
45
+
46
+ # Initializes the object
47
+ # @param [Hash] attributes Model attributes in the form of hash
48
+ def initialize(attributes = {})
49
+ if (!attributes.is_a?(Hash))
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `KatapultAPI::DNSRecordContentArgumentsForIPS` initialize method"
51
+ end
52
+
53
+ # check to see if the attribute exists and convert string to symbol for hash key
54
+ attributes = attributes.each_with_object({}) { |(k, v), h|
55
+ if (!self.class.attribute_map.key?(k.to_sym))
56
+ fail ArgumentError, "`#{k}` is not a valid attribute in `KatapultAPI::DNSRecordContentArgumentsForIPS`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
57
+ end
58
+ h[k.to_sym] = v
59
+ }
60
+
61
+ if attributes.key?(:'ip_addresses')
62
+ self.ip_addresses = attributes[:'ip_addresses']
63
+ end
64
+ end
65
+
66
+ # Show invalid properties with the reasons. Usually used together with valid?
67
+ # @return Array for valid properties with the reasons
68
+ def list_invalid_properties
69
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
70
+ invalid_properties = Array.new
71
+ invalid_properties
72
+ end
73
+
74
+ # Check to see if the all the properties in the model are valid
75
+ # @return true if the model is valid
76
+ def valid?
77
+ warn '[DEPRECATED] the `valid?` method is obsolete'
78
+ true
79
+ end
80
+
81
+ # Checks equality by comparing each attribute.
82
+ # @param [Object] Object to be compared
83
+ def ==(o)
84
+ return true if self.equal?(o)
85
+ self.class == o.class &&
86
+ ip_addresses == o.ip_addresses
87
+ end
88
+
89
+ # @see the `==` method
90
+ # @param [Object] Object to be compared
91
+ def eql?(o)
92
+ self == o
93
+ end
94
+
95
+ # Calculates hash code according to all attributes.
96
+ # @return [Integer] Hash code
97
+ def hash
98
+ [ip_addresses].hash
99
+ end
100
+
101
+ # Builds the object from hash
102
+ # @param [Hash] attributes Model attributes in the form of hash
103
+ # @return [Object] Returns the model itself
104
+ def self.build_from_hash(attributes)
105
+ return nil unless attributes.is_a?(Hash)
106
+ attributes = attributes.transform_keys(&:to_sym)
107
+ transformed_hash = {}
108
+ openapi_types.each_pair do |key, type|
109
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
110
+ transformed_hash["#{key}"] = nil
111
+ elsif type =~ /\AArray<(.*)>/i
112
+ # check to ensure the input is an array given that the attribute
113
+ # is documented as an array but the input is not
114
+ if attributes[attribute_map[key]].is_a?(Array)
115
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
116
+ end
117
+ elsif !attributes[attribute_map[key]].nil?
118
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
119
+ end
120
+ end
121
+ new(transformed_hash)
122
+ end
123
+
124
+ # Deserializes the data based on type
125
+ # @param string type Data type
126
+ # @param string value Value to be deserialized
127
+ # @return [Object] Deserialized data
128
+ def self._deserialize(type, value)
129
+ case type.to_sym
130
+ when :Time
131
+ Time.parse(value)
132
+ when :Date
133
+ Date.parse(value)
134
+ when :String
135
+ value.to_s
136
+ when :Integer
137
+ value.to_i
138
+ when :Float
139
+ value.to_f
140
+ when :Boolean
141
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
142
+ true
143
+ else
144
+ false
145
+ end
146
+ when :Object
147
+ # generic object (usually a Hash), return directly
148
+ value
149
+ when /\AArray<(?<inner_type>.+)>\z/
150
+ inner_type = Regexp.last_match[:inner_type]
151
+ value.map { |v| _deserialize(inner_type, v) }
152
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
153
+ k_type = Regexp.last_match[:k_type]
154
+ v_type = Regexp.last_match[:v_type]
155
+ {}.tap do |hash|
156
+ value.each do |k, v|
157
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
158
+ end
159
+ end
160
+ else # model
161
+ # models (e.g. Pet) or oneOf
162
+ klass = KatapultAPI.const_get(type)
163
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
164
+ end
165
+ end
166
+
167
+ # Returns the string representation of the object
168
+ # @return [String] String presentation of the object
169
+ def to_s
170
+ to_hash.to_s
171
+ end
172
+
173
+ # to_body is an alias to to_hash (backward compatibility)
174
+ # @return [Hash] Returns the object in the form of hash
175
+ def to_body
176
+ to_hash
177
+ end
178
+
179
+ # Returns the object in the form of hash
180
+ # @return [Hash] Returns the object in the form of hash
181
+ def to_hash
182
+ hash = {}
183
+ self.class.attribute_map.each_pair do |attr, param|
184
+ value = self.send(attr)
185
+ if value.nil?
186
+ is_nullable = self.class.openapi_nullable.include?(attr)
187
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
188
+ end
189
+
190
+ hash[param] = _to_hash(value)
191
+ end
192
+ hash
193
+ end
194
+
195
+ # Outputs non-array value in the form of hash
196
+ # For object, use to_hash. Otherwise, just return the value
197
+ # @param [Object] value Any valid value
198
+ # @return [Hash] Returns the value in the form of hash
199
+ def _to_hash(value)
200
+ if value.is_a?(Array)
201
+ value.compact.map { |v| _to_hash(v) }
202
+ elsif value.is_a?(Hash)
203
+ {}.tap do |hash|
204
+ value.each { |k, v| hash[k] = _to_hash(v) }
205
+ end
206
+ elsif value.respond_to? :to_hash
207
+ value.to_hash
208
+ else
209
+ value
210
+ end
211
+ end
212
+
213
+ end
214
+
215
+ end
@@ -14,13 +14,14 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module KatapultAPI
17
- class CNAME
18
- attr_accessor :name
17
+ # All 'MX[]' params are mutually exclusive, only one can be provided.
18
+ class DNSRecordContentArgumentsForMX
19
+ attr_accessor :hostname
19
20
 
20
21
  # Attribute mapping from ruby-style variable name to JSON key.
21
22
  def self.attribute_map
22
23
  {
23
- :'name' => :'name'
24
+ :'hostname' => :'hostname'
24
25
  }
25
26
  end
26
27
 
@@ -32,7 +33,7 @@ module KatapultAPI
32
33
  # Attribute type mapping.
33
34
  def self.openapi_types
34
35
  {
35
- :'name' => :'String'
36
+ :'hostname' => :'String'
36
37
  }
37
38
  end
38
39
 
@@ -46,19 +47,19 @@ module KatapultAPI
46
47
  # @param [Hash] attributes Model attributes in the form of hash
47
48
  def initialize(attributes = {})
48
49
  if (!attributes.is_a?(Hash))
49
- fail ArgumentError, "The input argument (attributes) must be a hash in `KatapultAPI::CNAME` initialize method"
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `KatapultAPI::DNSRecordContentArgumentsForMX` initialize method"
50
51
  end
51
52
 
52
53
  # check to see if the attribute exists and convert string to symbol for hash key
53
54
  attributes = attributes.each_with_object({}) { |(k, v), h|
54
55
  if (!self.class.attribute_map.key?(k.to_sym))
55
- fail ArgumentError, "`#{k}` is not a valid attribute in `KatapultAPI::CNAME`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
+ fail ArgumentError, "`#{k}` is not a valid attribute in `KatapultAPI::DNSRecordContentArgumentsForMX`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
57
  end
57
58
  h[k.to_sym] = v
58
59
  }
59
60
 
60
- if attributes.key?(:'name')
61
- self.name = attributes[:'name']
61
+ if attributes.key?(:'hostname')
62
+ self.hostname = attributes[:'hostname']
62
63
  end
63
64
  end
64
65
 
@@ -82,7 +83,7 @@ module KatapultAPI
82
83
  def ==(o)
83
84
  return true if self.equal?(o)
84
85
  self.class == o.class &&
85
- name == o.name
86
+ hostname == o.hostname
86
87
  end
87
88
 
88
89
  # @see the `==` method
@@ -94,7 +95,7 @@ module KatapultAPI
94
95
  # Calculates hash code according to all attributes.
95
96
  # @return [Integer] Hash code
96
97
  def hash
97
- [name].hash
98
+ [hostname].hash
98
99
  end
99
100
 
100
101
  # Builds the object from hash
@@ -0,0 +1,215 @@
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
+ # All 'NS[]' params are mutually exclusive, only one can be provided.
18
+ class DNSRecordContentArgumentsForNS
19
+ attr_accessor :hostname
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'hostname' => :'hostname'
25
+ }
26
+ end
27
+
28
+ # Returns all the JSON keys this model knows about
29
+ def self.acceptable_attributes
30
+ attribute_map.values
31
+ end
32
+
33
+ # Attribute type mapping.
34
+ def self.openapi_types
35
+ {
36
+ :'hostname' => :'String'
37
+ }
38
+ end
39
+
40
+ # List of attributes with nullable: true
41
+ def self.openapi_nullable
42
+ Set.new([
43
+ ])
44
+ end
45
+
46
+ # Initializes the object
47
+ # @param [Hash] attributes Model attributes in the form of hash
48
+ def initialize(attributes = {})
49
+ if (!attributes.is_a?(Hash))
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `KatapultAPI::DNSRecordContentArgumentsForNS` initialize method"
51
+ end
52
+
53
+ # check to see if the attribute exists and convert string to symbol for hash key
54
+ attributes = attributes.each_with_object({}) { |(k, v), h|
55
+ if (!self.class.attribute_map.key?(k.to_sym))
56
+ fail ArgumentError, "`#{k}` is not a valid attribute in `KatapultAPI::DNSRecordContentArgumentsForNS`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
57
+ end
58
+ h[k.to_sym] = v
59
+ }
60
+
61
+ if attributes.key?(:'hostname')
62
+ self.hostname = attributes[:'hostname']
63
+ end
64
+ end
65
+
66
+ # Show invalid properties with the reasons. Usually used together with valid?
67
+ # @return Array for valid properties with the reasons
68
+ def list_invalid_properties
69
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
70
+ invalid_properties = Array.new
71
+ invalid_properties
72
+ end
73
+
74
+ # Check to see if the all the properties in the model are valid
75
+ # @return true if the model is valid
76
+ def valid?
77
+ warn '[DEPRECATED] the `valid?` method is obsolete'
78
+ true
79
+ end
80
+
81
+ # Checks equality by comparing each attribute.
82
+ # @param [Object] Object to be compared
83
+ def ==(o)
84
+ return true if self.equal?(o)
85
+ self.class == o.class &&
86
+ hostname == o.hostname
87
+ end
88
+
89
+ # @see the `==` method
90
+ # @param [Object] Object to be compared
91
+ def eql?(o)
92
+ self == o
93
+ end
94
+
95
+ # Calculates hash code according to all attributes.
96
+ # @return [Integer] Hash code
97
+ def hash
98
+ [hostname].hash
99
+ end
100
+
101
+ # Builds the object from hash
102
+ # @param [Hash] attributes Model attributes in the form of hash
103
+ # @return [Object] Returns the model itself
104
+ def self.build_from_hash(attributes)
105
+ return nil unless attributes.is_a?(Hash)
106
+ attributes = attributes.transform_keys(&:to_sym)
107
+ transformed_hash = {}
108
+ openapi_types.each_pair do |key, type|
109
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
110
+ transformed_hash["#{key}"] = nil
111
+ elsif type =~ /\AArray<(.*)>/i
112
+ # check to ensure the input is an array given that the attribute
113
+ # is documented as an array but the input is not
114
+ if attributes[attribute_map[key]].is_a?(Array)
115
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
116
+ end
117
+ elsif !attributes[attribute_map[key]].nil?
118
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
119
+ end
120
+ end
121
+ new(transformed_hash)
122
+ end
123
+
124
+ # Deserializes the data based on type
125
+ # @param string type Data type
126
+ # @param string value Value to be deserialized
127
+ # @return [Object] Deserialized data
128
+ def self._deserialize(type, value)
129
+ case type.to_sym
130
+ when :Time
131
+ Time.parse(value)
132
+ when :Date
133
+ Date.parse(value)
134
+ when :String
135
+ value.to_s
136
+ when :Integer
137
+ value.to_i
138
+ when :Float
139
+ value.to_f
140
+ when :Boolean
141
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
142
+ true
143
+ else
144
+ false
145
+ end
146
+ when :Object
147
+ # generic object (usually a Hash), return directly
148
+ value
149
+ when /\AArray<(?<inner_type>.+)>\z/
150
+ inner_type = Regexp.last_match[:inner_type]
151
+ value.map { |v| _deserialize(inner_type, v) }
152
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
153
+ k_type = Regexp.last_match[:k_type]
154
+ v_type = Regexp.last_match[:v_type]
155
+ {}.tap do |hash|
156
+ value.each do |k, v|
157
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
158
+ end
159
+ end
160
+ else # model
161
+ # models (e.g. Pet) or oneOf
162
+ klass = KatapultAPI.const_get(type)
163
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
164
+ end
165
+ end
166
+
167
+ # Returns the string representation of the object
168
+ # @return [String] String presentation of the object
169
+ def to_s
170
+ to_hash.to_s
171
+ end
172
+
173
+ # to_body is an alias to to_hash (backward compatibility)
174
+ # @return [Hash] Returns the object in the form of hash
175
+ def to_body
176
+ to_hash
177
+ end
178
+
179
+ # Returns the object in the form of hash
180
+ # @return [Hash] Returns the object in the form of hash
181
+ def to_hash
182
+ hash = {}
183
+ self.class.attribute_map.each_pair do |attr, param|
184
+ value = self.send(attr)
185
+ if value.nil?
186
+ is_nullable = self.class.openapi_nullable.include?(attr)
187
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
188
+ end
189
+
190
+ hash[param] = _to_hash(value)
191
+ end
192
+ hash
193
+ end
194
+
195
+ # Outputs non-array value in the form of hash
196
+ # For object, use to_hash. Otherwise, just return the value
197
+ # @param [Object] value Any valid value
198
+ # @return [Hash] Returns the value in the form of hash
199
+ def _to_hash(value)
200
+ if value.is_a?(Array)
201
+ value.compact.map { |v| _to_hash(v) }
202
+ elsif value.is_a?(Hash)
203
+ {}.tap do |hash|
204
+ value.each { |k, v| hash[k] = _to_hash(v) }
205
+ end
206
+ elsif value.respond_to? :to_hash
207
+ value.to_hash
208
+ else
209
+ value
210
+ end
211
+ end
212
+
213
+ end
214
+
215
+ end
@@ -0,0 +1,215 @@
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
+ # All 'PTR[]' params are mutually exclusive, only one can be provided.
18
+ class DNSRecordContentArgumentsForPTR
19
+ attr_accessor :hostname
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'hostname' => :'hostname'
25
+ }
26
+ end
27
+
28
+ # Returns all the JSON keys this model knows about
29
+ def self.acceptable_attributes
30
+ attribute_map.values
31
+ end
32
+
33
+ # Attribute type mapping.
34
+ def self.openapi_types
35
+ {
36
+ :'hostname' => :'String'
37
+ }
38
+ end
39
+
40
+ # List of attributes with nullable: true
41
+ def self.openapi_nullable
42
+ Set.new([
43
+ ])
44
+ end
45
+
46
+ # Initializes the object
47
+ # @param [Hash] attributes Model attributes in the form of hash
48
+ def initialize(attributes = {})
49
+ if (!attributes.is_a?(Hash))
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `KatapultAPI::DNSRecordContentArgumentsForPTR` initialize method"
51
+ end
52
+
53
+ # check to see if the attribute exists and convert string to symbol for hash key
54
+ attributes = attributes.each_with_object({}) { |(k, v), h|
55
+ if (!self.class.attribute_map.key?(k.to_sym))
56
+ fail ArgumentError, "`#{k}` is not a valid attribute in `KatapultAPI::DNSRecordContentArgumentsForPTR`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
57
+ end
58
+ h[k.to_sym] = v
59
+ }
60
+
61
+ if attributes.key?(:'hostname')
62
+ self.hostname = attributes[:'hostname']
63
+ end
64
+ end
65
+
66
+ # Show invalid properties with the reasons. Usually used together with valid?
67
+ # @return Array for valid properties with the reasons
68
+ def list_invalid_properties
69
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
70
+ invalid_properties = Array.new
71
+ invalid_properties
72
+ end
73
+
74
+ # Check to see if the all the properties in the model are valid
75
+ # @return true if the model is valid
76
+ def valid?
77
+ warn '[DEPRECATED] the `valid?` method is obsolete'
78
+ true
79
+ end
80
+
81
+ # Checks equality by comparing each attribute.
82
+ # @param [Object] Object to be compared
83
+ def ==(o)
84
+ return true if self.equal?(o)
85
+ self.class == o.class &&
86
+ hostname == o.hostname
87
+ end
88
+
89
+ # @see the `==` method
90
+ # @param [Object] Object to be compared
91
+ def eql?(o)
92
+ self == o
93
+ end
94
+
95
+ # Calculates hash code according to all attributes.
96
+ # @return [Integer] Hash code
97
+ def hash
98
+ [hostname].hash
99
+ end
100
+
101
+ # Builds the object from hash
102
+ # @param [Hash] attributes Model attributes in the form of hash
103
+ # @return [Object] Returns the model itself
104
+ def self.build_from_hash(attributes)
105
+ return nil unless attributes.is_a?(Hash)
106
+ attributes = attributes.transform_keys(&:to_sym)
107
+ transformed_hash = {}
108
+ openapi_types.each_pair do |key, type|
109
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
110
+ transformed_hash["#{key}"] = nil
111
+ elsif type =~ /\AArray<(.*)>/i
112
+ # check to ensure the input is an array given that the attribute
113
+ # is documented as an array but the input is not
114
+ if attributes[attribute_map[key]].is_a?(Array)
115
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
116
+ end
117
+ elsif !attributes[attribute_map[key]].nil?
118
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
119
+ end
120
+ end
121
+ new(transformed_hash)
122
+ end
123
+
124
+ # Deserializes the data based on type
125
+ # @param string type Data type
126
+ # @param string value Value to be deserialized
127
+ # @return [Object] Deserialized data
128
+ def self._deserialize(type, value)
129
+ case type.to_sym
130
+ when :Time
131
+ Time.parse(value)
132
+ when :Date
133
+ Date.parse(value)
134
+ when :String
135
+ value.to_s
136
+ when :Integer
137
+ value.to_i
138
+ when :Float
139
+ value.to_f
140
+ when :Boolean
141
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
142
+ true
143
+ else
144
+ false
145
+ end
146
+ when :Object
147
+ # generic object (usually a Hash), return directly
148
+ value
149
+ when /\AArray<(?<inner_type>.+)>\z/
150
+ inner_type = Regexp.last_match[:inner_type]
151
+ value.map { |v| _deserialize(inner_type, v) }
152
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
153
+ k_type = Regexp.last_match[:k_type]
154
+ v_type = Regexp.last_match[:v_type]
155
+ {}.tap do |hash|
156
+ value.each do |k, v|
157
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
158
+ end
159
+ end
160
+ else # model
161
+ # models (e.g. Pet) or oneOf
162
+ klass = KatapultAPI.const_get(type)
163
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
164
+ end
165
+ end
166
+
167
+ # Returns the string representation of the object
168
+ # @return [String] String presentation of the object
169
+ def to_s
170
+ to_hash.to_s
171
+ end
172
+
173
+ # to_body is an alias to to_hash (backward compatibility)
174
+ # @return [Hash] Returns the object in the form of hash
175
+ def to_body
176
+ to_hash
177
+ end
178
+
179
+ # Returns the object in the form of hash
180
+ # @return [Hash] Returns the object in the form of hash
181
+ def to_hash
182
+ hash = {}
183
+ self.class.attribute_map.each_pair do |attr, param|
184
+ value = self.send(attr)
185
+ if value.nil?
186
+ is_nullable = self.class.openapi_nullable.include?(attr)
187
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
188
+ end
189
+
190
+ hash[param] = _to_hash(value)
191
+ end
192
+ hash
193
+ end
194
+
195
+ # Outputs non-array value in the form of hash
196
+ # For object, use to_hash. Otherwise, just return the value
197
+ # @param [Object] value Any valid value
198
+ # @return [Hash] Returns the value in the form of hash
199
+ def _to_hash(value)
200
+ if value.is_a?(Array)
201
+ value.compact.map { |v| _to_hash(v) }
202
+ elsif value.is_a?(Hash)
203
+ {}.tap do |hash|
204
+ value.each { |k, v| hash[k] = _to_hash(v) }
205
+ end
206
+ elsif value.respond_to? :to_hash
207
+ value.to_hash
208
+ else
209
+ value
210
+ end
211
+ end
212
+
213
+ end
214
+
215
+ end