linode-api4 5.43.0__tar.gz → 5.44.0__tar.gz

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 (370) hide show
  1. {linode_api4-5.43.0/linode_api4.egg-info → linode_api4-5.44.0}/PKG-INFO +1 -1
  2. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/linode.py +55 -28
  3. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/lock.py +2 -2
  4. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/networking.py +2 -2
  5. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/object_storage.py +16 -0
  6. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/database.py +1 -6
  7. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/linode.py +34 -32
  8. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/linode_interfaces.py +0 -74
  9. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/lock.py +3 -3
  10. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/monitor.py +1 -1
  11. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/networking.py +0 -2
  12. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/object_storage.py +40 -0
  13. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/version.py +1 -1
  14. {linode_api4-5.43.0 → linode_api4-5.44.0/linode_api4.egg-info}/PKG-INFO +1 -1
  15. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4.egg-info/SOURCES.txt +3 -0
  16. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_alert-definitions.json +0 -2
  17. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_services_dbaas_alert-definitions.json +0 -4
  18. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_services_dbaas_alert-definitions_12345.json +0 -4
  19. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls.json +5 -3
  20. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls_123.json +5 -3
  21. linode_api4-5.44.0/test/fixtures/networking_firewalls_123_rules.json +8 -0
  22. linode_api4-5.44.0/test/fixtures/object-storage_global-quotas.json +25 -0
  23. linode_api4-5.44.0/test/fixtures/object-storage_global-quotas_obj-access-keys-per-account.json +9 -0
  24. linode_api4-5.44.0/test/fixtures/object-storage_global-quotas_obj-access-keys-per-account_usage.json +4 -0
  25. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_quotas.json +6 -2
  26. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_quotas_obj-objects-us-ord-1.json +3 -1
  27. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/conftest.py +12 -6
  28. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/linode_client/test_linode_client.py +6 -7
  29. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/account/test_account.py +2 -1
  30. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/firewall/test_firewall.py +14 -2
  31. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/linode/test_linode.py +112 -25
  32. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/lock/test_lock.py +2 -1
  33. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/networking/test_networking.py +3 -2
  34. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/nodebalancer/test_nodebalancer.py +2 -1
  35. linode_api4-5.44.0/test/integration/models/object_storage/test_obj_quotas.py +116 -0
  36. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/sharegroups/test_sharegroups.py +4 -5
  37. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/volume/test_blockstorage.py +6 -2
  38. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/volume/test_volume.py +2 -1
  39. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/linode_client_test.py +134 -5
  40. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/firewall_test.py +2 -0
  41. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/linode_test.py +82 -8
  42. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/object_storage_test.py +59 -0
  43. linode_api4-5.43.0/test/fixtures/networking_firewalls_123_rules.json +0 -6
  44. linode_api4-5.43.0/test/integration/models/object_storage/test_obj_quotas.py +0 -45
  45. {linode_api4-5.43.0 → linode_api4-5.44.0}/LICENSE +0 -0
  46. {linode_api4-5.43.0 → linode_api4-5.44.0}/MANIFEST.in +0 -0
  47. {linode_api4-5.43.0 → linode_api4-5.44.0}/README.rst +0 -0
  48. {linode_api4-5.43.0 → linode_api4-5.44.0}/examples/install-on-linode/app.py +0 -0
  49. {linode_api4-5.43.0 → linode_api4-5.44.0}/examples/install-on-linode/make_stackscript.py +0 -0
  50. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/__init__.py +0 -0
  51. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/common.py +0 -0
  52. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/errors.py +0 -0
  53. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/__init__.py +0 -0
  54. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/account.py +0 -0
  55. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/beta.py +0 -0
  56. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/database.py +0 -0
  57. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/domain.py +0 -0
  58. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/group.py +0 -0
  59. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/image.py +0 -0
  60. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/image_share_group.py +0 -0
  61. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/lke.py +0 -0
  62. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/lke_tier.py +0 -0
  63. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/longview.py +0 -0
  64. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/maintenance.py +0 -0
  65. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/monitor.py +0 -0
  66. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/monitor_api.py +0 -0
  67. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/nodebalancer.py +0 -0
  68. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/placement.py +0 -0
  69. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/polling.py +0 -0
  70. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/profile.py +0 -0
  71. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/region.py +0 -0
  72. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/support.py +0 -0
  73. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/tag.py +0 -0
  74. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/volume.py +0 -0
  75. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/vpc.py +0 -0
  76. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/linode_client.py +0 -0
  77. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/login_client.py +0 -0
  78. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/__init__.py +0 -0
  79. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/account.py +0 -0
  80. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/base.py +0 -0
  81. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/beta.py +0 -0
  82. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/dbase.py +0 -0
  83. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/domain.py +0 -0
  84. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/filtering.py +0 -0
  85. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/image.py +0 -0
  86. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/image_share_group.py +0 -0
  87. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/lke.py +0 -0
  88. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/longview.py +0 -0
  89. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/monitor_api.py +0 -0
  90. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/nodebalancer.py +0 -0
  91. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/placement.py +0 -0
  92. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/profile.py +0 -0
  93. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/region.py +0 -0
  94. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/serializable.py +0 -0
  95. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/support.py +0 -0
  96. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/tag.py +0 -0
  97. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/volume.py +0 -0
  98. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/vpc.py +0 -0
  99. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/paginated_list.py +0 -0
  100. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/polling.py +0 -0
  101. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/util.py +0 -0
  102. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4.egg-info/dependency_links.txt +0 -0
  103. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4.egg-info/requires.txt +0 -0
  104. {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4.egg-info/top_level.txt +0 -0
  105. {linode_api4-5.43.0 → linode_api4-5.44.0}/pyproject.toml +0 -0
  106. {linode_api4-5.43.0 → linode_api4-5.44.0}/setup.cfg +0 -0
  107. {linode_api4-5.43.0 → linode_api4-5.44.0}/setup.py +0 -0
  108. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/__init__.py +0 -0
  109. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account.json +0 -0
  110. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_availability.json +0 -0
  111. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_availability_us-east.json +0 -0
  112. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_betas.json +0 -0
  113. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_betas_cool.json +0 -0
  114. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_child-accounts.json +0 -0
  115. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_child-accounts_123456.json +0 -0
  116. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_child-accounts_123456_token.json +0 -0
  117. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_events_123.json +0 -0
  118. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_invoices.json +0 -0
  119. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_invoices_123.json +0 -0
  120. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_invoices_123456_items.json +0 -0
  121. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_logins.json +0 -0
  122. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_logins_123.json +0 -0
  123. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_maintenance.json +0 -0
  124. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_notifications.json +0 -0
  125. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_oauth-clients_2737bf16b39ab5d7b4a1.json +0 -0
  126. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_payment-method_123.json +0 -0
  127. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_payment-methods.json +0 -0
  128. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_payments.json +0 -0
  129. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_promo-codes.json +0 -0
  130. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_service-transfers.json +0 -0
  131. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_service-transfers_12345.json +0 -0
  132. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_settings.json +0 -0
  133. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_transfer.json +0 -0
  134. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_users_test-user.json +0 -0
  135. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/betas.json +0 -0
  136. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/betas_active.json +0 -0
  137. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_engines.json +0 -0
  138. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_instances.json +0 -0
  139. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_mysql_config.json +0 -0
  140. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_mysql_instances.json +0 -0
  141. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_mysql_instances_123_credentials.json +0 -0
  142. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_mysql_instances_123_credentials_reset.json +0 -0
  143. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_mysql_instances_123_patch.json +0 -0
  144. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_mysql_instances_123_resume.json +0 -0
  145. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_mysql_instances_123_ssl.json +0 -0
  146. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_mysql_instances_123_suspend.json +0 -0
  147. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_postgresql_config.json +0 -0
  148. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_postgresql_instances.json +0 -0
  149. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_postgresql_instances_123_credentials.json +0 -0
  150. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_postgresql_instances_123_credentials_reset.json +0 -0
  151. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_postgresql_instances_123_patch.json +0 -0
  152. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_postgresql_instances_123_resume.json +0 -0
  153. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_postgresql_instances_123_ssl.json +0 -0
  154. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_postgresql_instances_123_suspend.json +0 -0
  155. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_types.json +0 -0
  156. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/domains.json +0 -0
  157. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/domains_12345_clone.json +0 -0
  158. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/domains_12345_records.json +0 -0
  159. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/domains_12345_zone-file.json +0 -0
  160. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/domains_import.json +0 -0
  161. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images.json +0 -0
  162. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_private_1234_sharegroups.json +0 -0
  163. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_private_123_regions.json +0 -0
  164. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_private_1337.json +0 -0
  165. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_sharegroups.json +0 -0
  166. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_sharegroups_1234.json +0 -0
  167. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_sharegroups_1234_images.json +0 -0
  168. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_sharegroups_1234_images_shared_1.json +0 -0
  169. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_sharegroups_1234_members.json +0 -0
  170. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_sharegroups_1234_members_abc123.json +0 -0
  171. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_sharegroups_tokens.json +0 -0
  172. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_sharegroups_tokens_abc123.json +0 -0
  173. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_sharegroups_tokens_abc123_sharegroup.json +0 -0
  174. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_sharegroups_tokens_abc123_sharegroup_images.json +0 -0
  175. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_upload.json +0 -0
  176. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances.json +0 -0
  177. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_backups.json +0 -0
  178. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_configs.json +0 -0
  179. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_configs_456789.json +0 -0
  180. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_configs_456789_interfaces.json +0 -0
  181. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_configs_456789_interfaces_123.json +0 -0
  182. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_configs_456789_interfaces_123_put.json +0 -0
  183. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_configs_456789_interfaces_321.json +0 -0
  184. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_configs_456789_interfaces_456.json +0 -0
  185. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_disks.json +0 -0
  186. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_disks_12345_clone.json +0 -0
  187. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_firewalls.json +0 -0
  188. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_ips.json +0 -0
  189. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_nodebalancers.json +0 -0
  190. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_transfer.json +0 -0
  191. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_transfer_2023_4.json +0 -0
  192. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_volumes.json +0 -0
  193. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_124.json +0 -0
  194. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_124_interfaces.json +0 -0
  195. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_124_interfaces_123.json +0 -0
  196. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_124_interfaces_123_firewalls.json +0 -0
  197. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_124_interfaces_456.json +0 -0
  198. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_124_interfaces_789.json +0 -0
  199. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_124_interfaces_settings.json +0 -0
  200. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_124_upgrade-interfaces.json +0 -0
  201. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_stackscripts_10079.json +0 -0
  202. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_types.json +0 -0
  203. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_types_g6-nanode-1.json +0 -0
  204. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_clusters.json +0 -0
  205. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_clusters_18881.json +0 -0
  206. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_clusters_18881_control__plane__acl.json +0 -0
  207. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_clusters_18881_dashboard.json +0 -0
  208. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_clusters_18881_nodes_123456.json +0 -0
  209. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_clusters_18881_pools_456.json +0 -0
  210. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_clusters_18882.json +0 -0
  211. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_clusters_18882_pools_789.json +0 -0
  212. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_tiers_standard_versions.json +0 -0
  213. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_types.json +0 -0
  214. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_versions.json +0 -0
  215. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/locks.json +0 -0
  216. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/locks_1.json +0 -0
  217. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/longview_clients.json +0 -0
  218. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/longview_plan.json +0 -0
  219. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/longview_subscriptions.json +0 -0
  220. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/maintenance_policies.json +0 -0
  221. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/mongodb.json +0 -0
  222. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_alert-channels.json +0 -0
  223. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_dashboards.json +0 -0
  224. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_dashboards_1.json +0 -0
  225. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_services.json +0 -0
  226. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_services_dbaas.json +0 -0
  227. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_services_dbaas_alert-definitions_12345_entities.json +0 -0
  228. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_services_dbaas_dashboards.json +0 -0
  229. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_services_dbaas_metric-definitions.json +0 -0
  230. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_services_dbaas_metrics.json +0 -0
  231. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_services_dbaas_token.json +0 -0
  232. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_services_linode_token.json +0 -0
  233. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/network-transfer_prices.json +0 -0
  234. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls_123_devices.json +0 -0
  235. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls_123_devices_123.json +0 -0
  236. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls_123_devices_456.json +0 -0
  237. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls_123_history.json +0 -0
  238. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls_123_history_rules_2.json +0 -0
  239. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls_settings.json +0 -0
  240. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls_templates.json +0 -0
  241. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls_templates_public.json +0 -0
  242. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls_templates_vpc.json +0 -0
  243. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_ips_127.0.0.1.json +0 -0
  244. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_ipv6_pools.json +0 -0
  245. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_ipv6_ranges.json +0 -0
  246. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_ipv6_ranges_2600%3A3c01%3A%3A.json +0 -0
  247. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_vlans.json +0 -0
  248. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/nodebalancers.json +0 -0
  249. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/nodebalancers_123456.json +0 -0
  250. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/nodebalancers_123456_configs.json +0 -0
  251. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/nodebalancers_123456_configs_65432_nodes.json +0 -0
  252. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/nodebalancers_12345_configs_4567_rebuild.json +0 -0
  253. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/nodebalancers_12345_firewalls.json +0 -0
  254. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/nodebalancers_12345_stats.json +0 -0
  255. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/nodebalancers_types.json +0 -0
  256. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_buckets.json +0 -0
  257. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_buckets_us-east-1.json +0 -0
  258. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_buckets_us-east-1_example-bucket.json +0 -0
  259. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_buckets_us-east-1_example-bucket_object-acl.json +0 -0
  260. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_buckets_us-east-1_example-bucket_object-list.json +0 -0
  261. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_buckets_us-east-1_example-bucket_object-url.json +0 -0
  262. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_buckets_us-east-1_example-bucket_ssl.json +0 -0
  263. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_buckets_us-east_example-bucket_access.json +0 -0
  264. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_clusters.json +0 -0
  265. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_keys.json +0 -0
  266. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_quotas_obj-objects-us-ord-1_usage.json +0 -0
  267. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_transfer.json +0 -0
  268. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_types.json +0 -0
  269. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/placement_groups.json +0 -0
  270. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/placement_groups_123.json +0 -0
  271. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/profile.json +0 -0
  272. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/profile_device_123.json +0 -0
  273. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/profile_devices.json +0 -0
  274. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/profile_logins.json +0 -0
  275. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/profile_logins_123.json +0 -0
  276. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/profile_preferences.json +0 -0
  277. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/profile_security-questions.json +0 -0
  278. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/profile_sshkeys.json +0 -0
  279. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/regions.json +0 -0
  280. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/regions_availability.json +0 -0
  281. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/regions_us-east_availability.json +0 -0
  282. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/regions_us-east_vpc-availability.json +0 -0
  283. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/regions_vpc-availability.json +0 -0
  284. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/support_tickets_123.json +0 -0
  285. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/tags.json +0 -0
  286. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/tags_nothing.json +0 -0
  287. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/tags_something.json +0 -0
  288. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/testmappedobj1.json +0 -0
  289. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/volumes.json +0 -0
  290. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/volumes_types.json +0 -0
  291. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/vpcs.json +0 -0
  292. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/vpcs_123456.json +0 -0
  293. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/vpcs_123456_ips.json +0 -0
  294. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/vpcs_123456_subnets.json +0 -0
  295. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/vpcs_123456_subnets_789.json +0 -0
  296. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/vpcs_ips.json +0 -0
  297. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/__init__.py +0 -0
  298. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/filters/fixtures.py +0 -0
  299. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/filters/model_filters_test.py +0 -0
  300. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/helpers.py +0 -0
  301. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/linode_client/__init__.py +0 -0
  302. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/linode_client/test_errors.py +0 -0
  303. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/linode_client/test_retry.py +0 -0
  304. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/login_client/test_login_client.py +0 -0
  305. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/__init__.py +0 -0
  306. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/database/helpers.py +0 -0
  307. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/database/test_database.py +0 -0
  308. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/database/test_database_engine_config.py +0 -0
  309. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/domain/test_domain.py +0 -0
  310. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/firewall/test_firewall_templates.py +0 -0
  311. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/image/test_image.py +0 -0
  312. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/linode/interfaces/test_interfaces.py +0 -0
  313. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/lke/test_lke.py +0 -0
  314. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/lock/__init__.py +0 -0
  315. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/longview/test_longview.py +0 -0
  316. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/maintenance/test_maintenance.py +0 -0
  317. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/monitor/test_monitor.py +0 -0
  318. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/monitor_api/test_monitor_api.py +0 -0
  319. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/object_storage/test_obj.py +0 -0
  320. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/placement/test_placement.py +0 -0
  321. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/profile/test_profile.py +0 -0
  322. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/region/test_region.py +0 -0
  323. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/tag/test_tag.py +0 -0
  324. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/vpc/test_vpc.py +0 -0
  325. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/__init__.py +0 -0
  326. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/base.py +0 -0
  327. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/errors_test.py +0 -0
  328. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/fixtures.py +0 -0
  329. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/__init__.py +0 -0
  330. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/database_test.py +0 -0
  331. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/image_share_group_test.py +0 -0
  332. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/image_test.py +0 -0
  333. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/linode_test.py +0 -0
  334. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/lke_test.py +0 -0
  335. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/lke_tier_test.py +0 -0
  336. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/lock_test.py +0 -0
  337. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/monitor_api_test.py +0 -0
  338. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/networking_test.py +0 -0
  339. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/object_storage_test.py +0 -0
  340. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/placement_test.py +0 -0
  341. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/polling_test.py +0 -0
  342. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/region_test.py +0 -0
  343. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/vpc_test.py +0 -0
  344. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/login_client_test.py +0 -0
  345. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/account_test.py +0 -0
  346. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/base_test.py +0 -0
  347. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/beta_test.py +0 -0
  348. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/database_test.py +0 -0
  349. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/domain_test.py +0 -0
  350. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/image_share_group_test.py +0 -0
  351. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/image_test.py +0 -0
  352. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/linode_interface_test.py +0 -0
  353. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/lke_test.py +0 -0
  354. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/lock_test.py +0 -0
  355. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/longview_test.py +0 -0
  356. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/mapped_object_test.py +0 -0
  357. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/monitor_test.py +0 -0
  358. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/networking_test.py +0 -0
  359. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/nodebalancers_test.py +0 -0
  360. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/placement_test.py +0 -0
  361. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/profile_test.py +0 -0
  362. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/property_alias_test.py +0 -0
  363. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/region_test.py +0 -0
  364. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/serializable_test.py +0 -0
  365. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/support_test.py +0 -0
  366. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/tag_test.py +0 -0
  367. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/volume_test.py +0 -0
  368. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/vpc_test.py +0 -0
  369. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/paginated_list_test.py +0 -0
  370. {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/util_test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: linode_api4
3
- Version: 5.43.0
3
+ Version: 5.44.0
4
4
  Summary: The official Python SDK for Linode API v4
5
5
  Author-email: Linode <devs@linode.com>
6
6
  License: BSD-3-Clause
@@ -162,6 +162,10 @@ class LinodeGroup(Group):
162
162
  interface_generation: Optional[Union[InterfaceGeneration, str]] = None,
163
163
  network_helper: Optional[bool] = None,
164
164
  maintenance_policy: Optional[str] = None,
165
+ root_pass: Optional[str] = None,
166
+ kernel: Optional[str] = None,
167
+ boot_size: Optional[int] = None,
168
+ authorized_users: Optional[List[str]] = None,
165
169
  **kwargs,
166
170
  ):
167
171
  """
@@ -172,27 +176,26 @@ class LinodeGroup(Group):
172
176
  To create an Instance from an :any:`Image`, call `instance_create` with
173
177
  a :any:`Type`, a :any:`Region`, and an :any:`Image`. All three of
174
178
  these fields may be provided as either the ID or the appropriate object.
175
- In this mode, a root password will be generated and returned with the
176
- new Instance object.
179
+ When an Image is provided, at least one of ``root_pass``, ``authorized_users``, or
180
+ ``authorized_keys`` must also be given.
177
181
 
178
182
  For example::
179
183
 
180
- new_linode, password = client.linode.instance_create(
184
+ new_linode = client.linode.instance_create(
181
185
  "g6-standard-2",
182
186
  "us-east",
183
- image="linode/debian9")
187
+ image="linode/debian13",
188
+ root_pass="aComplex@Password123")
184
189
 
185
190
  ltype = client.linode.types().first()
186
191
  region = client.regions().first()
187
192
  image = client.images().first()
188
193
 
189
- another_linode, password = client.linode.instance_create(
194
+ another_linode = client.linode.instance_create(
190
195
  ltype,
191
196
  region,
192
- image=image)
193
-
194
- To output the password from the above example:
195
- print(password)
197
+ image=image,
198
+ authorized_keys="ssh-rsa AAAA")
196
199
 
197
200
  To output the first IPv4 address of the new Linode:
198
201
  print(new_linode.ipv4[0])
@@ -210,10 +213,11 @@ class LinodeGroup(Group):
210
213
 
211
214
  stackscript = StackScript(client, 10079)
212
215
 
213
- new_linode, password = client.linode.instance_create(
216
+ new_linode = client.linode.instance_create(
214
217
  "g6-standard-2",
215
218
  "us-east",
216
- image="linode/debian9",
219
+ image="linode/debian13",
220
+ root_pass="aComplex@Password123",
217
221
  stackscript=stackscript,
218
222
  stackscript_data={"gh_username": "example"})
219
223
 
@@ -244,10 +248,11 @@ class LinodeGroup(Group):
244
248
  To create a new Instance with explicit interfaces, provide list of
245
249
  LinodeInterfaceOptions objects or dicts to the "interfaces" field::
246
250
 
247
- linode, password = client.linode.instance_create(
251
+ linode = client.linode.instance_create(
248
252
  "g6-standard-1",
249
253
  "us-mia",
250
254
  image="linode/ubuntu24.04",
255
+ root_pass="aComplex@Password123",
251
256
 
252
257
  # This can be configured as an account-wide default
253
258
  interface_generation=InterfaceGeneration.LINODE,
@@ -280,10 +285,14 @@ class LinodeGroup(Group):
280
285
  :type ltype: str or Type
281
286
  :param region: The Region in which we are creating the Instance
282
287
  :type region: str or Region
283
- :param image: The Image to deploy to this Instance. If this is provided
284
- and no root_pass is given, a password will be generated
285
- and returned along with the new Instance.
288
+ :param image: The Image to deploy to this Instance. If this is provided,
289
+ at least one of root_pass, authorized_users, or authorized_keys must also be
290
+ provided.
286
291
  :type image: str or Image
292
+ :param root_pass: The root password for the new Instance. Required when
293
+ an image is provided and neither authorized_users nor
294
+ authorized_keys are given.
295
+ :type root_pass: str
287
296
  :param stackscript: The StackScript to deploy to the new Instance. If
288
297
  provided, "image" is required and must be compatible
289
298
  with the chosen StackScript.
@@ -300,6 +309,11 @@ class LinodeGroup(Group):
300
309
  be a single key, or a path to a file containing
301
310
  the key.
302
311
  :type authorized_keys: list or str
312
+ :param authorized_users: A list of usernames whose keys should be installed
313
+ as trusted for the root user. These user's keys
314
+ should already be set up, see :any:`ProfileGroup.ssh_keys`
315
+ for details.
316
+ :type authorized_users: list[str]
303
317
  :param label: The display label for the new Instance
304
318
  :type label: str
305
319
  :param group: The display group for the new Instance
@@ -335,26 +349,39 @@ class LinodeGroup(Group):
335
349
  :param maintenance_policy: The slug of the maintenance policy to apply during maintenance.
336
350
  If not provided, the default policy (linode/migrate) will be applied.
337
351
  :type maintenance_policy: str
338
-
339
- :returns: A new Instance object, or a tuple containing the new Instance and
340
- the generated password.
341
- :rtype: Instance or tuple(Instance, str)
352
+ :param kernel: The kernel to boot the Instance with. If provided, this will be used as the
353
+ kernel for the default configuration profile.
354
+ :type kernel: str
355
+ :param boot_size: The size of the boot disk in MB. If provided, this will be used to create
356
+ the boot disk for the Instance.
357
+ :type boot_size: int
358
+
359
+ :returns: A new Instance object
360
+ :rtype: Instance
342
361
  :raises ApiError: If contacting the API fails
343
362
  :raises UnexpectedResponseError: If the API response is somehow malformed.
344
363
  This usually indicates that you are using
345
364
  an outdated library.
346
365
  """
347
366
 
348
- ret_pass = None
349
- if image and not "root_pass" in kwargs:
350
- ret_pass = Instance.generate_root_password()
351
- kwargs["root_pass"] = ret_pass
367
+ if (
368
+ image
369
+ and not root_pass
370
+ and not authorized_keys
371
+ and not authorized_users
372
+ ):
373
+ raise ValueError(
374
+ "When creating an Instance from an Image, at least one of "
375
+ "root_pass, authorized_users, or authorized_keys must be provided."
376
+ )
352
377
 
353
378
  params = {
354
379
  "type": ltype,
355
380
  "region": region,
356
381
  "image": image,
382
+ "root_pass": root_pass,
357
383
  "authorized_keys": load_and_validate_keys(authorized_keys),
384
+ "authorized_users": authorized_users,
358
385
  # These will automatically be flattened below
359
386
  "firewall_id": firewall,
360
387
  "backup_id": backup,
@@ -372,6 +399,8 @@ class LinodeGroup(Group):
372
399
  "interfaces": interfaces,
373
400
  "interface_generation": interface_generation,
374
401
  "network_helper": network_helper,
402
+ "kernel": kernel,
403
+ "boot_size": boot_size,
375
404
  }
376
405
 
377
406
  params.update(kwargs)
@@ -386,10 +415,7 @@ class LinodeGroup(Group):
386
415
  "Unexpected response when creating linode!", json=result
387
416
  )
388
417
 
389
- l = Instance(self.client, result["id"], result)
390
- if not ret_pass:
391
- return l
392
- return l, ret_pass
418
+ return Instance(self.client, result["id"], result)
393
419
 
394
420
  @staticmethod
395
421
  def build_instance_metadata(user_data=None, encode_user_data=True):
@@ -398,10 +424,11 @@ class LinodeGroup(Group):
398
424
  the :any:`instance_create` method. This helper can also be used
399
425
  when cloning and rebuilding Instances.
400
426
  **Creating an Instance with User Data**::
401
- new_linode, password = client.linode.instance_create(
427
+ new_linode = client.linode.instance_create(
402
428
  "g6-standard-2",
403
429
  "us-east",
404
430
  image="linode/ubuntu22.04",
431
+ root_pass="aComplex@Password123",
405
432
  metadata=client.linode.build_instance_metadata(user_data="myuserdata")
406
433
  )
407
434
  :param user_data: User-defined data to provide to the Linode Instance through
@@ -24,7 +24,7 @@ class LockGroup(Group):
24
24
 
25
25
  locks = client.locks()
26
26
 
27
- API Documentation: TBD
27
+ API Documentation: https://techdocs.akamai.com/linode-api/reference/get-resource-locks
28
28
 
29
29
  :param filters: Any number of filters to apply to this query.
30
30
  See :doc:`Filtering Collections</linode_api4/objects/filtering>`
@@ -44,7 +44,7 @@ class LockGroup(Group):
44
44
  """
45
45
  Creates a new Resource Lock for the specified entity.
46
46
 
47
- API Documentation: TBD
47
+ API Documentation: https://techdocs.akamai.com/linode-api/reference/post-resource-lock
48
48
 
49
49
  :param entity_type: The type of entity to lock (e.g., "linode").
50
50
  :type entity_type: str
@@ -452,10 +452,10 @@ class NetworkingGroup(Group):
452
452
  :param assignments: Any number of assignments to make. See
453
453
  :any:`IPAddress.to` for details on how to construct
454
454
  assignments.
455
- :type assignments: dct
455
+ :type assignments: list
456
456
  """
457
457
 
458
- for a in assignments["assignments"]:
458
+ for a in assignments:
459
459
  if not "address" in a or not "linode_id" in a:
460
460
  raise ValueError("Invalid assignment: {}".format(a))
461
461
 
@@ -19,6 +19,7 @@ from linode_api4.objects import (
19
19
  ObjectStorageACL,
20
20
  ObjectStorageBucket,
21
21
  ObjectStorageCluster,
22
+ ObjectStorageGlobalQuota,
22
23
  ObjectStorageKeyPermission,
23
24
  ObjectStorageKeys,
24
25
  ObjectStorageQuota,
@@ -533,3 +534,18 @@ class ObjectStorageGroup(Group):
533
534
  :rtype: PaginatedList of ObjectStorageQuota
534
535
  """
535
536
  return self.client._get_and_filter(ObjectStorageQuota, *filters)
537
+
538
+ def global_quotas(self, *filters):
539
+ """
540
+ Lists the active account-level Object Storage quotas applied to your account.
541
+
542
+ API Documentation: TBD
543
+
544
+ :param filters: Any number of filters to apply to this query.
545
+ See :doc:`Filtering Collections</linode_api4/objects/filtering>`
546
+ for more details on filtering.
547
+
548
+ :returns: A list of account-level Object Storage Quotas that matched the query.
549
+ :rtype: PaginatedList of ObjectStorageGlobalQuota
550
+ """
551
+ return self.client._get_and_filter(ObjectStorageGlobalQuota, *filters)
@@ -1,12 +1,7 @@
1
1
  from dataclasses import dataclass, field
2
2
  from typing import Optional
3
3
 
4
- from linode_api4.objects import (
5
- Base,
6
- JSONObject,
7
- MappedObject,
8
- Property,
9
- )
4
+ from linode_api4.objects import Base, JSONObject, MappedObject, Property
10
5
 
11
6
 
12
7
  class DatabaseType(Base):
@@ -1437,11 +1437,10 @@ class Instance(Base):
1437
1437
  for the image deployed the disk will be used. Required
1438
1438
  if creating a disk without an image.
1439
1439
  :param read_only: If True, creates a read-only disk
1440
- :param image: The Image to deploy to the disk.
1440
+ :param image: The Image to deploy to the disk. If provided, at least one of
1441
+ root_pass, authorized_users or authorized_keys must also be given.
1441
1442
  :param root_pass: The password to configure for the root user when deploying an
1442
- image to this disk. Not used if image is not given. If an
1443
- image is given and root_pass is not, a password will be
1444
- generated and returned alongside the new disk.
1443
+ image to this disk. Not used if image is not given.
1445
1444
  :param authorized_keys: A list of SSH keys to install as trusted for the root user.
1446
1445
  :param authorized_users: A list of usernames whose keys should be installed
1447
1446
  as trusted for the root user. These user's keys
@@ -1453,12 +1452,21 @@ class Instance(Base):
1453
1452
  disk. Requires deploying a compatible image.
1454
1453
  :param **stackscript_args: Any arguments to pass to the StackScript, as defined
1455
1454
  by its User Defined Fields.
1455
+
1456
+ :returns: A new Disk object.
1457
+ :rtype: Disk
1456
1458
  """
1457
1459
 
1458
- gen_pass = None
1459
- if image and not root_pass:
1460
- gen_pass = Instance.generate_root_password()
1461
- root_pass = gen_pass
1460
+ if (
1461
+ image
1462
+ and not root_pass
1463
+ and not authorized_keys
1464
+ and not authorized_users
1465
+ ):
1466
+ raise ValueError(
1467
+ "When creating a Disk from an Image, at least one of "
1468
+ "root_pass, authorized_users, or authorized_keys must be provided."
1469
+ )
1462
1470
 
1463
1471
  authorized_keys = load_and_validate_keys(authorized_keys)
1464
1472
 
@@ -1505,11 +1513,7 @@ class Instance(Base):
1505
1513
  "Unexpected response creating disk!", json=result
1506
1514
  )
1507
1515
 
1508
- d = Disk(self._client, result["id"], self.id, result)
1509
-
1510
- if gen_pass:
1511
- return d, gen_pass
1512
- return d
1516
+ return Disk(self._client, result["id"], self.id, result)
1513
1517
 
1514
1518
  def enable_backups(self):
1515
1519
  """
@@ -1621,6 +1625,7 @@ class Instance(Base):
1621
1625
  disk_encryption: Optional[
1622
1626
  Union[InstanceDiskEncryptionType, str]
1623
1627
  ] = None,
1628
+ authorized_users: Optional[List[str]] = None,
1624
1629
  **kwargs,
1625
1630
  ):
1626
1631
  """
@@ -1632,25 +1637,30 @@ class Instance(Base):
1632
1637
 
1633
1638
  :param image: The Image to deploy to this Instance
1634
1639
  :type image: str or Image
1635
- :param root_pass: The root password for the newly rebuilt Instance. If
1636
- omitted, a password will be generated and returned.
1640
+ :param root_pass: The root password for the newly rebuilt Instance. At least
1641
+ one of root_pass, authorized_users, or authorized_keys must be provided.
1637
1642
  :type root_pass: str
1638
1643
  :param authorized_keys: The ssh public keys to install in the linode's
1639
1644
  /root/.ssh/authorized_keys file. Each entry may
1640
1645
  be a single key, or a path to a file containing
1641
1646
  the key.
1642
1647
  :type authorized_keys: list or str
1648
+ :param authorized_users: A list of usernames whose keys should be installed
1649
+ as trusted for the root user. These user's keys
1650
+ should already be set up, see :any:`ProfileGroup.ssh_keys`
1651
+ for details.
1652
+ :type authorized_users: list[str]
1643
1653
  :param disk_encryption: The disk encryption policy for this Linode.
1644
1654
  :type disk_encryption: InstanceDiskEncryptionType or str
1645
1655
 
1646
- :returns: The newly generated password, if one was not provided
1647
- (otherwise True)
1648
- :rtype: str or bool
1656
+ :returns: True.
1657
+ :rtype: bool
1649
1658
  """
1650
- ret_pass = None
1651
- if not root_pass:
1652
- ret_pass = Instance.generate_root_password()
1653
- root_pass = ret_pass
1659
+ if not root_pass and not authorized_keys and not authorized_users:
1660
+ raise ValueError(
1661
+ "When rebuilding an Instance, at least one of "
1662
+ "root_pass, authorized_users, or authorized_keys must be provided."
1663
+ )
1654
1664
 
1655
1665
  authorized_keys = load_and_validate_keys(authorized_keys)
1656
1666
 
@@ -1661,6 +1671,7 @@ class Instance(Base):
1661
1671
  "disk_encryption": (
1662
1672
  str(disk_encryption) if disk_encryption else None
1663
1673
  ),
1674
+ "authorized_users": authorized_users,
1664
1675
  }
1665
1676
 
1666
1677
  params.update(kwargs)
@@ -1679,10 +1690,7 @@ class Instance(Base):
1679
1690
  # update ourself with the newly-returned information
1680
1691
  self._populate(result)
1681
1692
 
1682
- if not ret_pass:
1683
- return True
1684
- else:
1685
- return ret_pass
1693
+ return True
1686
1694
 
1687
1695
  def rescue(self, *disks):
1688
1696
  """
@@ -2055,8 +2063,6 @@ class Instance(Base):
2055
2063
  Creates a new interface under this Linode.
2056
2064
  Linode interfaces are not interchangeable with Config interfaces.
2057
2065
 
2058
- NOTE: Linode interfaces may not currently be available to all users.
2059
-
2060
2066
  API Documentation: https://techdocs.akamai.com/linode-api/reference/post-linode-interface
2061
2067
 
2062
2068
  Example: Creating a simple public interface for this Linode::
@@ -2132,8 +2138,6 @@ class Instance(Base):
2132
2138
  """
2133
2139
  The settings for all interfaces under this Linode.
2134
2140
 
2135
- NOTE: Linode interfaces may not currently be available to all users.
2136
-
2137
2141
  :returns: The settings for instance-level interface settings for this Linode.
2138
2142
  :rtype: LinodeInterfacesSettings
2139
2143
  """
@@ -2202,8 +2206,6 @@ class Instance(Base):
2202
2206
  NOTE: If dry_run is True, interfaces in the result will be
2203
2207
  of type MappedObject rather than LinodeInterface.
2204
2208
 
2205
- NOTE: Linode interfaces may not currently be available to all users.
2206
-
2207
2209
  API Documentation: https://techdocs.akamai.com/linode-api/reference/post-upgrade-linode-interfaces
2208
2210
 
2209
2211
  :param config: The configuration profile the legacy interfaces to