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.
- {linode_api4-5.43.0/linode_api4.egg-info → linode_api4-5.44.0}/PKG-INFO +1 -1
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/linode.py +55 -28
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/lock.py +2 -2
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/networking.py +2 -2
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/object_storage.py +16 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/database.py +1 -6
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/linode.py +34 -32
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/linode_interfaces.py +0 -74
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/lock.py +3 -3
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/monitor.py +1 -1
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/networking.py +0 -2
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/object_storage.py +40 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/version.py +1 -1
- {linode_api4-5.43.0 → linode_api4-5.44.0/linode_api4.egg-info}/PKG-INFO +1 -1
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4.egg-info/SOURCES.txt +3 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_alert-definitions.json +0 -2
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_services_dbaas_alert-definitions.json +0 -4
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_services_dbaas_alert-definitions_12345.json +0 -4
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls.json +5 -3
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls_123.json +5 -3
- linode_api4-5.44.0/test/fixtures/networking_firewalls_123_rules.json +8 -0
- linode_api4-5.44.0/test/fixtures/object-storage_global-quotas.json +25 -0
- linode_api4-5.44.0/test/fixtures/object-storage_global-quotas_obj-access-keys-per-account.json +9 -0
- linode_api4-5.44.0/test/fixtures/object-storage_global-quotas_obj-access-keys-per-account_usage.json +4 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_quotas.json +6 -2
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_quotas_obj-objects-us-ord-1.json +3 -1
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/conftest.py +12 -6
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/linode_client/test_linode_client.py +6 -7
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/account/test_account.py +2 -1
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/firewall/test_firewall.py +14 -2
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/linode/test_linode.py +112 -25
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/lock/test_lock.py +2 -1
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/networking/test_networking.py +3 -2
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/nodebalancer/test_nodebalancer.py +2 -1
- linode_api4-5.44.0/test/integration/models/object_storage/test_obj_quotas.py +116 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/sharegroups/test_sharegroups.py +4 -5
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/volume/test_blockstorage.py +6 -2
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/volume/test_volume.py +2 -1
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/linode_client_test.py +134 -5
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/firewall_test.py +2 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/linode_test.py +82 -8
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/object_storage_test.py +59 -0
- linode_api4-5.43.0/test/fixtures/networking_firewalls_123_rules.json +0 -6
- linode_api4-5.43.0/test/integration/models/object_storage/test_obj_quotas.py +0 -45
- {linode_api4-5.43.0 → linode_api4-5.44.0}/LICENSE +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/MANIFEST.in +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/README.rst +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/examples/install-on-linode/app.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/examples/install-on-linode/make_stackscript.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/__init__.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/common.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/errors.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/__init__.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/account.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/beta.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/database.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/domain.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/group.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/image.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/image_share_group.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/lke.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/lke_tier.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/longview.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/maintenance.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/monitor.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/monitor_api.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/nodebalancer.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/placement.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/polling.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/profile.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/region.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/support.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/tag.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/volume.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/groups/vpc.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/linode_client.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/login_client.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/__init__.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/account.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/base.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/beta.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/dbase.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/domain.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/filtering.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/image.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/image_share_group.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/lke.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/longview.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/monitor_api.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/nodebalancer.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/placement.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/profile.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/region.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/serializable.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/support.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/tag.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/volume.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/objects/vpc.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/paginated_list.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/polling.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4/util.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4.egg-info/dependency_links.txt +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4.egg-info/requires.txt +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/linode_api4.egg-info/top_level.txt +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/pyproject.toml +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/setup.cfg +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/setup.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/__init__.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_availability.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_availability_us-east.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_betas.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_betas_cool.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_child-accounts.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_child-accounts_123456.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_child-accounts_123456_token.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_events_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_invoices.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_invoices_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_invoices_123456_items.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_logins.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_logins_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_maintenance.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_notifications.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_oauth-clients_2737bf16b39ab5d7b4a1.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_payment-method_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_payment-methods.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_payments.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_promo-codes.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_service-transfers.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_service-transfers_12345.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_settings.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_transfer.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/account_users_test-user.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/betas.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/betas_active.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_engines.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_instances.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_mysql_config.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_mysql_instances.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_mysql_instances_123_credentials.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_mysql_instances_123_credentials_reset.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_mysql_instances_123_patch.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_mysql_instances_123_resume.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_mysql_instances_123_ssl.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_mysql_instances_123_suspend.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_postgresql_config.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_postgresql_instances.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_postgresql_instances_123_credentials.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_postgresql_instances_123_credentials_reset.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_postgresql_instances_123_patch.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_postgresql_instances_123_resume.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_postgresql_instances_123_ssl.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_postgresql_instances_123_suspend.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/databases_types.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/domains.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/domains_12345_clone.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/domains_12345_records.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/domains_12345_zone-file.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/domains_import.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_private_1234_sharegroups.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_private_123_regions.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_private_1337.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_sharegroups.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_sharegroups_1234.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_sharegroups_1234_images.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_sharegroups_1234_images_shared_1.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_sharegroups_1234_members.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_sharegroups_1234_members_abc123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_sharegroups_tokens.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_sharegroups_tokens_abc123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_sharegroups_tokens_abc123_sharegroup.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_sharegroups_tokens_abc123_sharegroup_images.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/images_upload.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_backups.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_configs.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_configs_456789.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_configs_456789_interfaces.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_configs_456789_interfaces_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_configs_456789_interfaces_123_put.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_configs_456789_interfaces_321.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_configs_456789_interfaces_456.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_disks.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_disks_12345_clone.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_firewalls.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_ips.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_nodebalancers.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_transfer.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_transfer_2023_4.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_123_volumes.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_124.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_124_interfaces.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_124_interfaces_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_124_interfaces_123_firewalls.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_124_interfaces_456.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_124_interfaces_789.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_124_interfaces_settings.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_instances_124_upgrade-interfaces.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_stackscripts_10079.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_types.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/linode_types_g6-nanode-1.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_clusters.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_clusters_18881.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_clusters_18881_control__plane__acl.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_clusters_18881_dashboard.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_clusters_18881_nodes_123456.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_clusters_18881_pools_456.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_clusters_18882.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_clusters_18882_pools_789.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_tiers_standard_versions.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_types.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/lke_versions.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/locks.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/locks_1.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/longview_clients.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/longview_plan.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/longview_subscriptions.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/maintenance_policies.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/mongodb.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_alert-channels.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_dashboards.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_dashboards_1.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_services.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_services_dbaas.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_services_dbaas_alert-definitions_12345_entities.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_services_dbaas_dashboards.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_services_dbaas_metric-definitions.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_services_dbaas_metrics.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_services_dbaas_token.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/monitor_services_linode_token.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/network-transfer_prices.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls_123_devices.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls_123_devices_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls_123_devices_456.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls_123_history.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls_123_history_rules_2.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls_settings.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls_templates.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls_templates_public.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_firewalls_templates_vpc.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_ips_127.0.0.1.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_ipv6_pools.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_ipv6_ranges.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_ipv6_ranges_2600%3A3c01%3A%3A.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/networking_vlans.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/nodebalancers.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/nodebalancers_123456.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/nodebalancers_123456_configs.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/nodebalancers_123456_configs_65432_nodes.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/nodebalancers_12345_configs_4567_rebuild.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/nodebalancers_12345_firewalls.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/nodebalancers_12345_stats.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/nodebalancers_types.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_buckets.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_buckets_us-east-1.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_buckets_us-east-1_example-bucket.json +0 -0
- {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
- {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
- {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
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_buckets_us-east-1_example-bucket_ssl.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_buckets_us-east_example-bucket_access.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_clusters.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_keys.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_quotas_obj-objects-us-ord-1_usage.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_transfer.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/object-storage_types.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/placement_groups.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/placement_groups_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/profile.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/profile_device_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/profile_devices.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/profile_logins.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/profile_logins_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/profile_preferences.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/profile_security-questions.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/profile_sshkeys.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/regions.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/regions_availability.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/regions_us-east_availability.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/regions_us-east_vpc-availability.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/regions_vpc-availability.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/support_tickets_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/tags.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/tags_nothing.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/tags_something.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/testmappedobj1.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/volumes.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/volumes_types.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/vpcs.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/vpcs_123456.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/vpcs_123456_ips.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/vpcs_123456_subnets.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/vpcs_123456_subnets_789.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/fixtures/vpcs_ips.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/__init__.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/filters/fixtures.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/filters/model_filters_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/helpers.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/linode_client/__init__.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/linode_client/test_errors.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/linode_client/test_retry.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/login_client/test_login_client.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/__init__.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/database/helpers.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/database/test_database.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/database/test_database_engine_config.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/domain/test_domain.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/firewall/test_firewall_templates.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/image/test_image.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/linode/interfaces/test_interfaces.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/lke/test_lke.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/lock/__init__.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/longview/test_longview.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/maintenance/test_maintenance.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/monitor/test_monitor.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/monitor_api/test_monitor_api.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/object_storage/test_obj.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/placement/test_placement.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/profile/test_profile.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/region/test_region.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/tag/test_tag.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/integration/models/vpc/test_vpc.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/__init__.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/base.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/errors_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/fixtures.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/__init__.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/database_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/image_share_group_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/image_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/linode_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/lke_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/lke_tier_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/lock_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/monitor_api_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/networking_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/object_storage_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/placement_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/polling_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/region_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/groups/vpc_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/login_client_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/account_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/base_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/beta_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/database_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/domain_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/image_share_group_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/image_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/linode_interface_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/lke_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/lock_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/longview_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/mapped_object_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/monitor_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/networking_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/nodebalancers_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/placement_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/profile_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/property_alias_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/region_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/serializable_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/support_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/tag_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/volume_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/objects/vpc_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/paginated_list_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.44.0}/test/unit/util_test.py +0 -0
|
@@ -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
|
-
|
|
176
|
-
|
|
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
|
|
184
|
+
new_linode = client.linode.instance_create(
|
|
181
185
|
"g6-standard-2",
|
|
182
186
|
"us-east",
|
|
183
|
-
image="linode/
|
|
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
|
|
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
|
|
216
|
+
new_linode = client.linode.instance_create(
|
|
214
217
|
"g6-standard-2",
|
|
215
218
|
"us-east",
|
|
216
|
-
image="linode/
|
|
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
|
|
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
|
-
|
|
285
|
-
|
|
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
|
-
|
|
340
|
-
|
|
341
|
-
:
|
|
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
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
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
|
-
|
|
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
|
|
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:
|
|
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:
|
|
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:
|
|
455
|
+
:type assignments: list
|
|
456
456
|
"""
|
|
457
457
|
|
|
458
|
-
for a in 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.
|
|
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
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
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
|
-
|
|
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.
|
|
1636
|
-
|
|
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:
|
|
1647
|
-
|
|
1648
|
-
:rtype: str or bool
|
|
1656
|
+
:returns: True.
|
|
1657
|
+
:rtype: bool
|
|
1649
1658
|
"""
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
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
|
-
|
|
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
|