linode-api4 5.47.0__tar.gz → 5.48.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.47.0/linode_api4.egg-info → linode_api4-5.48.0}/PKG-INFO +26 -27
- {linode_api4-5.47.0 → linode_api4-5.48.0}/README.rst +4 -7
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/nodebalancer.py +21 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/linode.py +37 -1
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/nodebalancer.py +17 -2
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/version.py +1 -1
- {linode_api4-5.47.0 → linode_api4-5.48.0/linode_api4.egg-info}/PKG-INFO +26 -27
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4.egg-info/requires.txt +21 -14
- {linode_api4-5.47.0 → linode_api4-5.48.0}/pyproject.toml +17 -12
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances.json +2 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_123_nodebalancers.json +3 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/nodebalancers.json +8 -2
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/nodebalancers_123456.json +5 -2
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/nodebalancer/test_nodebalancer.py +7 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/linode_client_test.py +79 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/linode_test.py +26 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/nodebalancers_test.py +86 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/LICENSE +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/MANIFEST.in +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/examples/install-on-linode/app.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/examples/install-on-linode/make_stackscript.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/__init__.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/common.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/errors.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/__init__.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/account.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/beta.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/database.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/domain.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/group.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/image.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/image_share_group.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/linode.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/lke.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/lke_tier.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/lock.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/longview.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/maintenance.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/monitor.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/monitor_api.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/networking.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/object_storage.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/placement.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/polling.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/profile.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/region.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/support.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/tag.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/volume.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/groups/vpc.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/linode_client.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/login_client.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/__init__.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/account.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/base.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/beta.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/database.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/dbase.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/domain.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/filtering.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/image.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/image_share_group.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/linode_interfaces.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/lke.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/lock.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/longview.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/monitor.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/monitor_api.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/networking.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/object_storage.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/placement.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/profile.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/region.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/serializable.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/support.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/tag.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/volume.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/objects/vpc.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/paginated_list.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/polling.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4/util.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4.egg-info/SOURCES.txt +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4.egg-info/dependency_links.txt +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/linode_api4.egg-info/top_level.txt +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/setup.cfg +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/setup.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/__init__.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_availability.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_availability_us-east.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_betas.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_betas_cool.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_child-accounts.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_child-accounts_123456.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_child-accounts_123456_token.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_events_123.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_invoices.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_invoices_123.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_invoices_123456_items.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_logins.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_logins_123.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_maintenance.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_notifications.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_oauth-clients_2737bf16b39ab5d7b4a1.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_payment-method_123.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_payment-methods.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_payments.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_promo-codes.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_service-transfers.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_service-transfers_12345.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_settings.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_transfer.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/account_users_test-user.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/betas.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/betas_active.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/databases_engines.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/databases_instances.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/databases_mysql_config.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/databases_mysql_instances.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/databases_mysql_instances_123_credentials.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/databases_mysql_instances_123_credentials_reset.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/databases_mysql_instances_123_patch.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/databases_mysql_instances_123_resume.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/databases_mysql_instances_123_ssl.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/databases_mysql_instances_123_suspend.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/databases_postgresql_config.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/databases_postgresql_instances.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/databases_postgresql_instances_123_credentials.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/databases_postgresql_instances_123_credentials_reset.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/databases_postgresql_instances_123_patch.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/databases_postgresql_instances_123_resume.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/databases_postgresql_instances_123_ssl.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/databases_postgresql_instances_123_suspend.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/databases_types.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/domains.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/domains_12345_clone.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/domains_12345_records.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/domains_12345_zone-file.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/domains_import.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/images.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/images_private_1234_sharegroups.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/images_private_123_regions.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/images_private_1337.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/images_sharegroups.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/images_sharegroups_1234.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/images_sharegroups_1234_images.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/images_sharegroups_1234_images_shared_1.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/images_sharegroups_1234_members.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/images_sharegroups_1234_members_abc123.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/images_sharegroups_tokens.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/images_sharegroups_tokens_abc123.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/images_sharegroups_tokens_abc123_sharegroup.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/images_sharegroups_tokens_abc123_sharegroup_images.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/images_upload.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_123_backups.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_123_configs.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_123_configs_456789.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_123_configs_456789_interfaces.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_123_configs_456789_interfaces_123.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_123_configs_456789_interfaces_123_put.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_123_configs_456789_interfaces_321.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_123_configs_456789_interfaces_456.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_123_disks.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_123_disks_12345_clone.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_123_firewalls.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_123_ips.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_123_transfer.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_123_transfer_2023_4.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_123_volumes.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_124.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_124_interfaces.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_124_interfaces_123.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_124_interfaces_123_firewalls.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_124_interfaces_456.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_124_interfaces_789.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_124_interfaces_999.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_124_interfaces_settings.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_instances_124_upgrade-interfaces.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_stackscripts_10079.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_types.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/linode_types_g6-nanode-1.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/lke_clusters.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/lke_clusters_18881.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/lke_clusters_18881_control__plane__acl.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/lke_clusters_18881_dashboard.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/lke_clusters_18881_nodes_123456.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/lke_clusters_18881_pools_456.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/lke_clusters_18882.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/lke_clusters_18882_pools_789.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/lke_tiers_standard_versions.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/lke_types.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/lke_versions.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/locks.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/locks_1.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/longview_clients.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/longview_plan.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/longview_subscriptions.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/maintenance_policies.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/mongodb.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_alert-channels.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_alert-definitions.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_dashboards.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_dashboards_1.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_services.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_services_dbaas.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_services_dbaas_alert-definitions.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_services_dbaas_alert-definitions_12345.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_services_dbaas_alert-definitions_12345_clone.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_services_dbaas_alert-definitions_12345_entities.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_services_dbaas_dashboards.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_services_dbaas_metric-definitions.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_services_dbaas_metrics.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_services_dbaas_token.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_services_linode_token.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_streams.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_streams_1_history.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_streams_2.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_streams_3.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_streams_destinations.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_streams_destinations_1_history.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/monitor_streams_destinations_2.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/network-transfer_prices.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/networking_firewalls.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/networking_firewalls_123.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/networking_firewalls_123_devices.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/networking_firewalls_123_devices_123.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/networking_firewalls_123_devices_456.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/networking_firewalls_123_history.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/networking_firewalls_123_history_rules_2.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/networking_firewalls_123_rules.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/networking_firewalls_settings.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/networking_firewalls_templates.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/networking_firewalls_templates_public.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/networking_firewalls_templates_vpc.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/networking_ips_127.0.0.1.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/networking_ipv6_pools.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/networking_ipv6_ranges.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/networking_ipv6_ranges_2600%3A3c01%3A%3A.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/networking_reserved_ips.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/networking_reserved_ips_types.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/networking_vlans.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/nodebalancers_123456_configs.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/nodebalancers_123456_configs_65432_nodes.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/nodebalancers_12345_configs_4567_rebuild.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/nodebalancers_12345_firewalls.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/nodebalancers_12345_stats.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/nodebalancers_types.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/object-storage_buckets.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/object-storage_buckets_us-east-1.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/object-storage_buckets_us-east-1_example-bucket.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/object-storage_buckets_us-east-1_example-bucket_object-acl.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/object-storage_buckets_us-east-1_example-bucket_object-list.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/object-storage_buckets_us-east-1_example-bucket_object-url.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/object-storage_buckets_us-east-1_example-bucket_ssl.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/object-storage_buckets_us-east_example-bucket_access.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/object-storage_clusters.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/object-storage_global-quotas.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/object-storage_global-quotas_obj-access-keys-per-account.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/object-storage_global-quotas_obj-access-keys-per-account_usage.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/object-storage_keys.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/object-storage_quotas.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/object-storage_quotas_obj-objects-us-ord-1.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/object-storage_quotas_obj-objects-us-ord-1_usage.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/object-storage_transfer.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/object-storage_types.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/placement_groups.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/placement_groups_123.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/profile.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/profile_device_123.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/profile_devices.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/profile_logins.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/profile_logins_123.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/profile_preferences.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/profile_security-questions.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/profile_sshkeys.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/regions.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/regions_availability.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/regions_us-east_availability.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/regions_us-east_vpc-availability.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/regions_vpc-availability.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/support_tickets_123.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/tags.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/tags_nothing.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/tags_something.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/testmappedobj1.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/volumes.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/volumes_types.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/vpcs.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/vpcs_123456.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/vpcs_123456_ips.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/vpcs_123456_subnets.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/vpcs_123456_subnets_789.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/vpcs_default-ranges.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/fixtures/vpcs_ips.json +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/__init__.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/conftest.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/filters/fixtures.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/filters/model_filters_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/helpers.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/linode_client/__init__.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/linode_client/test_errors.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/linode_client/test_linode_client.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/linode_client/test_retry.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/login_client/test_login_client.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/__init__.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/account/test_account.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/database/helpers.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/database/test_database.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/database/test_database_engine_config.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/domain/test_domain.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/firewall/test_firewall.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/firewall/test_firewall_templates.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/image/test_image.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/linode/interfaces/test_interfaces.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/linode/test_linode.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/lke/test_lke.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/lock/__init__.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/lock/test_lock.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/longview/test_longview.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/maintenance/test_maintenance.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/monitor/test_monitor.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/monitor/test_monitor_logs.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/monitor_api/test_monitor_api.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/networking/test_networking.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/object_storage/test_obj.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/object_storage/test_obj_quotas.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/placement/test_placement.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/profile/test_profile.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/region/test_region.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/sharegroups/test_sharegroups.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/tag/test_tag.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/volume/test_blockstorage.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/volume/test_volume.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/vpc/test_vpc.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/__init__.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/base.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/errors_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/fixtures.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/groups/__init__.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/groups/database_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/groups/image_share_group_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/groups/image_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/groups/linode_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/groups/lke_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/groups/lke_tier_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/groups/lock_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/groups/monitor_api_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/groups/networking_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/groups/object_storage_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/groups/placement_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/groups/polling_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/groups/region_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/groups/vpc_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/login_client_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/account_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/base_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/beta_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/database_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/domain_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/firewall_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/image_share_group_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/image_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/linode_interface_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/lke_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/lock_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/longview_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/mapped_object_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/monitor_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/networking_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/object_storage_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/placement_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/profile_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/property_alias_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/region_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/serializable_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/support_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/tag_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/volume_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/objects/vpc_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.0}/test/unit/paginated_list_test.py +0 -0
- {linode_api4-5.47.0 → linode_api4-5.48.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.
|
|
3
|
+
Version: 5.48.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
|
|
@@ -25,29 +25,31 @@ License-File: LICENSE
|
|
|
25
25
|
Requires-Dist: requests
|
|
26
26
|
Requires-Dist: polling
|
|
27
27
|
Requires-Dist: deprecated
|
|
28
|
-
Provides-Extra: test
|
|
29
|
-
Requires-Dist:
|
|
30
|
-
|
|
31
|
-
Requires-Dist:
|
|
32
|
-
|
|
33
|
-
Requires-Dist:
|
|
34
|
-
Requires-Dist:
|
|
35
|
-
|
|
36
|
-
Requires-Dist:
|
|
37
|
-
|
|
38
|
-
Requires-Dist:
|
|
39
|
-
Requires-Dist:
|
|
40
|
-
Requires-Dist:
|
|
41
|
-
Requires-Dist:
|
|
42
|
-
Requires-Dist:
|
|
43
|
-
Requires-Dist:
|
|
44
|
-
Requires-Dist: build>=0.10.0; extra == "dev"
|
|
45
|
-
Requires-Dist: twine>=4.0.2; extra == "dev"
|
|
46
|
-
Requires-Dist: pytest-rerunfailures; extra == "dev"
|
|
28
|
+
Provides-Extra: test-shared
|
|
29
|
+
Requires-Dist: pytest>=7.3.1; extra == "test-shared"
|
|
30
|
+
Requires-Dist: httpretty>=1.1.4; extra == "test-shared"
|
|
31
|
+
Requires-Dist: pytest-rerunfailures; extra == "test-shared"
|
|
32
|
+
Provides-Extra: unit-test
|
|
33
|
+
Requires-Dist: linode_api4[test-shared]; extra == "unit-test"
|
|
34
|
+
Requires-Dist: mock>=5.0.0; extra == "unit-test"
|
|
35
|
+
Provides-Extra: int-test
|
|
36
|
+
Requires-Dist: linode_api4[test-shared]; extra == "int-test"
|
|
37
|
+
Provides-Extra: lint
|
|
38
|
+
Requires-Dist: black>=23.1.0; extra == "lint"
|
|
39
|
+
Requires-Dist: isort>=5.12.0; extra == "lint"
|
|
40
|
+
Requires-Dist: autoflake>=2.0.1; extra == "lint"
|
|
41
|
+
Requires-Dist: pylint; extra == "lint"
|
|
42
|
+
Requires-Dist: twine>=4.0.2; extra == "lint"
|
|
43
|
+
Requires-Dist: build>=0.10.0; extra == "lint"
|
|
47
44
|
Provides-Extra: doc
|
|
48
45
|
Requires-Dist: Sphinx>=6.0.0; extra == "doc"
|
|
49
46
|
Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "doc"
|
|
50
47
|
Requires-Dist: sphinxcontrib-fulltoc>=1.2.0; extra == "doc"
|
|
48
|
+
Provides-Extra: dev
|
|
49
|
+
Requires-Dist: linode_api4[unit-test]; extra == "dev"
|
|
50
|
+
Requires-Dist: linode_api4[int-test]; extra == "dev"
|
|
51
|
+
Requires-Dist: linode_api4[lint]; extra == "dev"
|
|
52
|
+
Requires-Dist: linode_api4[doc]; extra == "dev"
|
|
51
53
|
Dynamic: license-file
|
|
52
54
|
|
|
53
55
|
linode_api4
|
|
@@ -154,14 +156,13 @@ Tests
|
|
|
154
156
|
-----
|
|
155
157
|
|
|
156
158
|
Tests live in the ``test`` directory. When invoking tests, make sure you are
|
|
157
|
-
in the root directory of this project.
|
|
158
|
-
|
|
159
|
+
in the root directory of this project. Install unit-test dependencies and run
|
|
160
|
+
the mocked unit suite with:
|
|
159
161
|
|
|
160
162
|
.. code-block:: shell
|
|
161
163
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
Running tox also runs pylint and coverage reports.
|
|
164
|
+
python3 -m pip install -e ".[unit-test]"
|
|
165
|
+
make test-unit
|
|
165
166
|
|
|
166
167
|
The test suite uses fixtures stored as JSON in ``test/fixtures``. These files
|
|
167
168
|
contain sanitized JSON responses from the API - the file name is the URL called
|
|
@@ -183,8 +184,6 @@ from the api base url that should be returned, for example::
|
|
|
183
184
|
linode = self.client.linode.instance_create('g6-standard-2', 'us-east')
|
|
184
185
|
self.assertEqual(linode.id, 123) # passes
|
|
185
186
|
|
|
186
|
-
.. _tox: http://tox.readthedocs.io
|
|
187
|
-
|
|
188
187
|
|
|
189
188
|
Integration Tests
|
|
190
189
|
-----------------
|
|
@@ -102,14 +102,13 @@ Tests
|
|
|
102
102
|
-----
|
|
103
103
|
|
|
104
104
|
Tests live in the ``test`` directory. When invoking tests, make sure you are
|
|
105
|
-
in the root directory of this project.
|
|
106
|
-
|
|
105
|
+
in the root directory of this project. Install unit-test dependencies and run
|
|
106
|
+
the mocked unit suite with:
|
|
107
107
|
|
|
108
108
|
.. code-block:: shell
|
|
109
109
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
Running tox also runs pylint and coverage reports.
|
|
110
|
+
python3 -m pip install -e ".[unit-test]"
|
|
111
|
+
make test-unit
|
|
113
112
|
|
|
114
113
|
The test suite uses fixtures stored as JSON in ``test/fixtures``. These files
|
|
115
114
|
contain sanitized JSON responses from the API - the file name is the URL called
|
|
@@ -131,8 +130,6 @@ from the api base url that should be returned, for example::
|
|
|
131
130
|
linode = self.client.linode.instance_create('g6-standard-2', 'us-east')
|
|
132
131
|
self.assertEqual(linode.id, 123) # passes
|
|
133
132
|
|
|
134
|
-
.. _tox: http://tox.readthedocs.io
|
|
135
|
-
|
|
136
133
|
|
|
137
134
|
Integration Tests
|
|
138
135
|
-----------------
|
|
@@ -35,6 +35,27 @@ class NodeBalancerGroup(Group):
|
|
|
35
35
|
:param ipv4: A reserved IPv4 address to assign to this NodeBalancer.
|
|
36
36
|
NOTE: Reserved IP feature may not currently be available to all users.
|
|
37
37
|
:type ipv4: str
|
|
38
|
+
:param type: The NodeBalancer type. Supported values include
|
|
39
|
+
``common``, ``premium``, ``premium_40gb``, and
|
|
40
|
+
``enterprise``. This cannot be changed after creation.
|
|
41
|
+
NOTE: Creating premium or enterprise NodeBalancers may not
|
|
42
|
+
currently be available to all users.
|
|
43
|
+
:type type: str
|
|
44
|
+
:param backend_connectivity: How this NodeBalancer communicates with
|
|
45
|
+
backends (``legacy``, ``ipv6``, or ``vpc``). If omitted,
|
|
46
|
+
the API infers a value from ``vpcs`` or config nodes, or
|
|
47
|
+
returns ``undefined`` until the first node is added.
|
|
48
|
+
``undefined`` cannot be sent by clients. This cannot be
|
|
49
|
+
changed after creation.
|
|
50
|
+
NOTE: This field may not currently be available to all users.
|
|
51
|
+
:type backend_connectivity: NodeBalancerBackendConnectivity | str
|
|
52
|
+
:param vpcs: VPC attachments for this NodeBalancer. Required when
|
|
53
|
+
``backend_connectivity`` is ``vpc``.
|
|
54
|
+
:type vpcs: list[dict]
|
|
55
|
+
:param configs: NodeBalancer configs and optional nodes to create
|
|
56
|
+
with this NodeBalancer. Node addresses must match the
|
|
57
|
+
selected or inferred backend connectivity.
|
|
58
|
+
:type configs: list[dict]
|
|
38
59
|
|
|
39
60
|
:returns: The new NodeBalancer
|
|
40
61
|
:rtype: NodeBalancer
|
|
@@ -790,6 +790,42 @@ class UpgradeInterfacesResult(JSONObject):
|
|
|
790
790
|
)
|
|
791
791
|
|
|
792
792
|
|
|
793
|
+
@dataclass
|
|
794
|
+
class InstanceBackupSchedule(JSONObject):
|
|
795
|
+
"""
|
|
796
|
+
InstanceBackupSchedule represents when automatic backups of a Linode Instance are taken.
|
|
797
|
+
"""
|
|
798
|
+
|
|
799
|
+
include_none_values = True
|
|
800
|
+
|
|
801
|
+
day: Optional[str] = None
|
|
802
|
+
window: Optional[str] = None
|
|
803
|
+
|
|
804
|
+
|
|
805
|
+
@dataclass
|
|
806
|
+
class InstanceBackupsOptions(JSONObject):
|
|
807
|
+
"""
|
|
808
|
+
InstanceBackupsOptions is used to update the backup settings of a Linode Instance.
|
|
809
|
+
"""
|
|
810
|
+
|
|
811
|
+
enabled: bool = False
|
|
812
|
+
schedule: Optional[InstanceBackupSchedule] = None
|
|
813
|
+
|
|
814
|
+
|
|
815
|
+
@dataclass
|
|
816
|
+
class InstanceBackups(JSONObject):
|
|
817
|
+
"""
|
|
818
|
+
InstanceBackups represents the backup settings and status of a Linode Instance.
|
|
819
|
+
"""
|
|
820
|
+
|
|
821
|
+
put_class = InstanceBackupsOptions
|
|
822
|
+
|
|
823
|
+
enabled: bool = False
|
|
824
|
+
available: bool = False
|
|
825
|
+
schedule: Optional[InstanceBackupSchedule] = None
|
|
826
|
+
last_successful: Optional[str] = None
|
|
827
|
+
|
|
828
|
+
|
|
793
829
|
class Instance(Base):
|
|
794
830
|
"""
|
|
795
831
|
A Linode Instance.
|
|
@@ -811,7 +847,7 @@ class Instance(Base):
|
|
|
811
847
|
"disks": Property(derived_class=Disk),
|
|
812
848
|
"configs": Property(derived_class=Config),
|
|
813
849
|
"type": Property(slug_relationship=Type),
|
|
814
|
-
"backups": Property(mutable=True),
|
|
850
|
+
"backups": Property(mutable=True, json_object=InstanceBackups),
|
|
815
851
|
"ipv4": Property(unordered=True),
|
|
816
852
|
"ipv6": Property(),
|
|
817
853
|
"hypervisor": Property(),
|
|
@@ -7,6 +7,16 @@ from linode_api4.objects.base import Base, MappedObject, Property
|
|
|
7
7
|
from linode_api4.objects.dbase import DerivedBase
|
|
8
8
|
from linode_api4.objects.networking import Firewall, IPAddress
|
|
9
9
|
from linode_api4.objects.region import Region
|
|
10
|
+
from linode_api4.objects.serializable import StrEnum
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class NodeBalancerBackendConnectivity(StrEnum):
|
|
14
|
+
"""Backend connectivity modes accepted when creating a NodeBalancer."""
|
|
15
|
+
|
|
16
|
+
IPV6 = "ipv6"
|
|
17
|
+
LEGACY = "legacy"
|
|
18
|
+
UNDEFINED = "undefined"
|
|
19
|
+
VPC = "vpc"
|
|
10
20
|
|
|
11
21
|
|
|
12
22
|
class NodeBalancerType(Base):
|
|
@@ -162,8 +172,10 @@ class NodeBalancerConfig(DerivedBase):
|
|
|
162
172
|
|
|
163
173
|
API documentation: https://techdocs.akamai.com/linode-api/reference/post-node-balancer-node
|
|
164
174
|
|
|
165
|
-
:param address: The
|
|
166
|
-
|
|
175
|
+
:param address: The address and port where this backend can be reached.
|
|
176
|
+
The address may be a private IPv4 address, a public
|
|
177
|
+
IPv6 address, or a VPC address. The address type must
|
|
178
|
+
match this NodeBalancer's ``backend_connectivity``.
|
|
167
179
|
:type address: str
|
|
168
180
|
|
|
169
181
|
:param label: The label for this node. This is for display purposes only.
|
|
@@ -255,6 +267,9 @@ class NodeBalancer(Base):
|
|
|
255
267
|
"tags": Property(mutable=True, unordered=True),
|
|
256
268
|
"client_udp_sess_throttle": Property(mutable=True),
|
|
257
269
|
"locks": Property(unordered=True),
|
|
270
|
+
"type": Property(),
|
|
271
|
+
"backend_connectivity": Property(),
|
|
272
|
+
"backend_ipv6_prefix": Property(),
|
|
258
273
|
}
|
|
259
274
|
|
|
260
275
|
# create derived objects
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: linode_api4
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.48.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
|
|
@@ -25,29 +25,31 @@ License-File: LICENSE
|
|
|
25
25
|
Requires-Dist: requests
|
|
26
26
|
Requires-Dist: polling
|
|
27
27
|
Requires-Dist: deprecated
|
|
28
|
-
Provides-Extra: test
|
|
29
|
-
Requires-Dist:
|
|
30
|
-
|
|
31
|
-
Requires-Dist:
|
|
32
|
-
|
|
33
|
-
Requires-Dist:
|
|
34
|
-
Requires-Dist:
|
|
35
|
-
|
|
36
|
-
Requires-Dist:
|
|
37
|
-
|
|
38
|
-
Requires-Dist:
|
|
39
|
-
Requires-Dist:
|
|
40
|
-
Requires-Dist:
|
|
41
|
-
Requires-Dist:
|
|
42
|
-
Requires-Dist:
|
|
43
|
-
Requires-Dist:
|
|
44
|
-
Requires-Dist: build>=0.10.0; extra == "dev"
|
|
45
|
-
Requires-Dist: twine>=4.0.2; extra == "dev"
|
|
46
|
-
Requires-Dist: pytest-rerunfailures; extra == "dev"
|
|
28
|
+
Provides-Extra: test-shared
|
|
29
|
+
Requires-Dist: pytest>=7.3.1; extra == "test-shared"
|
|
30
|
+
Requires-Dist: httpretty>=1.1.4; extra == "test-shared"
|
|
31
|
+
Requires-Dist: pytest-rerunfailures; extra == "test-shared"
|
|
32
|
+
Provides-Extra: unit-test
|
|
33
|
+
Requires-Dist: linode_api4[test-shared]; extra == "unit-test"
|
|
34
|
+
Requires-Dist: mock>=5.0.0; extra == "unit-test"
|
|
35
|
+
Provides-Extra: int-test
|
|
36
|
+
Requires-Dist: linode_api4[test-shared]; extra == "int-test"
|
|
37
|
+
Provides-Extra: lint
|
|
38
|
+
Requires-Dist: black>=23.1.0; extra == "lint"
|
|
39
|
+
Requires-Dist: isort>=5.12.0; extra == "lint"
|
|
40
|
+
Requires-Dist: autoflake>=2.0.1; extra == "lint"
|
|
41
|
+
Requires-Dist: pylint; extra == "lint"
|
|
42
|
+
Requires-Dist: twine>=4.0.2; extra == "lint"
|
|
43
|
+
Requires-Dist: build>=0.10.0; extra == "lint"
|
|
47
44
|
Provides-Extra: doc
|
|
48
45
|
Requires-Dist: Sphinx>=6.0.0; extra == "doc"
|
|
49
46
|
Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "doc"
|
|
50
47
|
Requires-Dist: sphinxcontrib-fulltoc>=1.2.0; extra == "doc"
|
|
48
|
+
Provides-Extra: dev
|
|
49
|
+
Requires-Dist: linode_api4[unit-test]; extra == "dev"
|
|
50
|
+
Requires-Dist: linode_api4[int-test]; extra == "dev"
|
|
51
|
+
Requires-Dist: linode_api4[lint]; extra == "dev"
|
|
52
|
+
Requires-Dist: linode_api4[doc]; extra == "dev"
|
|
51
53
|
Dynamic: license-file
|
|
52
54
|
|
|
53
55
|
linode_api4
|
|
@@ -154,14 +156,13 @@ Tests
|
|
|
154
156
|
-----
|
|
155
157
|
|
|
156
158
|
Tests live in the ``test`` directory. When invoking tests, make sure you are
|
|
157
|
-
in the root directory of this project.
|
|
158
|
-
|
|
159
|
+
in the root directory of this project. Install unit-test dependencies and run
|
|
160
|
+
the mocked unit suite with:
|
|
159
161
|
|
|
160
162
|
.. code-block:: shell
|
|
161
163
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
Running tox also runs pylint and coverage reports.
|
|
164
|
+
python3 -m pip install -e ".[unit-test]"
|
|
165
|
+
make test-unit
|
|
165
166
|
|
|
166
167
|
The test suite uses fixtures stored as JSON in ``test/fixtures``. These files
|
|
167
168
|
contain sanitized JSON responses from the API - the file name is the URL called
|
|
@@ -183,8 +184,6 @@ from the api base url that should be returned, for example::
|
|
|
183
184
|
linode = self.client.linode.instance_create('g6-standard-2', 'us-east')
|
|
184
185
|
self.assertEqual(linode.id, 123) # passes
|
|
185
186
|
|
|
186
|
-
.. _tox: http://tox.readthedocs.io
|
|
187
|
-
|
|
188
187
|
|
|
189
188
|
Integration Tests
|
|
190
189
|
-----------------
|
|
@@ -3,25 +3,32 @@ polling
|
|
|
3
3
|
deprecated
|
|
4
4
|
|
|
5
5
|
[dev]
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
linode_api4[unit-test]
|
|
7
|
+
linode_api4[int-test]
|
|
8
|
+
linode_api4[lint]
|
|
9
|
+
linode_api4[doc]
|
|
10
|
+
|
|
11
|
+
[doc]
|
|
12
|
+
Sphinx>=6.0.0
|
|
13
|
+
sphinx-autobuild>=2021.3.14
|
|
14
|
+
sphinxcontrib-fulltoc>=1.2.0
|
|
15
|
+
|
|
16
|
+
[int-test]
|
|
17
|
+
linode_api4[test-shared]
|
|
18
|
+
|
|
19
|
+
[lint]
|
|
10
20
|
black>=23.1.0
|
|
11
21
|
isort>=5.12.0
|
|
12
22
|
autoflake>=2.0.1
|
|
13
23
|
pylint
|
|
14
24
|
twine>=4.0.2
|
|
15
25
|
build>=0.10.0
|
|
16
|
-
Sphinx>=6.0.0
|
|
17
|
-
sphinx-autobuild>=2021.3.14
|
|
18
|
-
sphinxcontrib-fulltoc>=1.2.0
|
|
19
|
-
pytest-rerunfailures
|
|
20
26
|
|
|
21
|
-
[
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
27
|
+
[test-shared]
|
|
28
|
+
pytest>=7.3.1
|
|
29
|
+
httpretty>=1.1.4
|
|
30
|
+
pytest-rerunfailures
|
|
25
31
|
|
|
26
|
-
[test]
|
|
27
|
-
|
|
32
|
+
[unit-test]
|
|
33
|
+
linode_api4[test-shared]
|
|
34
|
+
mock>=5.0.0
|
|
@@ -35,32 +35,37 @@ dependencies = ["requests", "polling", "deprecated"]
|
|
|
35
35
|
dynamic = ["version"]
|
|
36
36
|
|
|
37
37
|
[project.optional-dependencies]
|
|
38
|
-
test = [
|
|
39
|
-
|
|
40
|
-
dev = [
|
|
41
|
-
"tox>=4.4.0",
|
|
42
|
-
"mock>=5.0.0",
|
|
38
|
+
test-shared = [
|
|
43
39
|
"pytest>=7.3.1",
|
|
44
40
|
"httpretty>=1.1.4",
|
|
41
|
+
"pytest-rerunfailures",
|
|
42
|
+
]
|
|
43
|
+
unit-test = [
|
|
44
|
+
"linode_api4[test-shared]",
|
|
45
|
+
"mock>=5.0.0",
|
|
46
|
+
]
|
|
47
|
+
int-test = [
|
|
48
|
+
"linode_api4[test-shared]",
|
|
49
|
+
]
|
|
50
|
+
lint = [
|
|
45
51
|
"black>=23.1.0",
|
|
46
52
|
"isort>=5.12.0",
|
|
47
53
|
"autoflake>=2.0.1",
|
|
48
54
|
"pylint",
|
|
49
55
|
"twine>=4.0.2",
|
|
50
56
|
"build>=0.10.0",
|
|
51
|
-
"Sphinx>=6.0.0",
|
|
52
|
-
"sphinx-autobuild>=2021.3.14",
|
|
53
|
-
"sphinxcontrib-fulltoc>=1.2.0",
|
|
54
|
-
"build>=0.10.0",
|
|
55
|
-
"twine>=4.0.2",
|
|
56
|
-
"pytest-rerunfailures",
|
|
57
57
|
]
|
|
58
|
-
|
|
59
58
|
doc = [
|
|
60
59
|
"Sphinx>=6.0.0",
|
|
61
60
|
"sphinx-autobuild>=2021.3.14",
|
|
62
61
|
"sphinxcontrib-fulltoc>=1.2.0",
|
|
63
62
|
]
|
|
63
|
+
dev = [
|
|
64
|
+
"linode_api4[unit-test]",
|
|
65
|
+
"linode_api4[int-test]",
|
|
66
|
+
"linode_api4[lint]",
|
|
67
|
+
"linode_api4[doc]",
|
|
68
|
+
]
|
|
64
69
|
|
|
65
70
|
[project.urls]
|
|
66
71
|
Homepage = "https://github.com/linode/linode_api4-python"
|
|
@@ -11,7 +11,10 @@
|
|
|
11
11
|
"label": "balancer123456",
|
|
12
12
|
"client_conn_throttle": 0,
|
|
13
13
|
"tags": ["something"],
|
|
14
|
-
"locks": ["cannot_delete_with_subresources"]
|
|
14
|
+
"locks": ["cannot_delete_with_subresources"],
|
|
15
|
+
"type": "premium",
|
|
16
|
+
"backend_connectivity": "ipv6",
|
|
17
|
+
"backend_ipv6_prefix": "2600:3c22:1:20:0:3039::/96"
|
|
15
18
|
},
|
|
16
19
|
{
|
|
17
20
|
"created": "2018-01-01T00:01:01",
|
|
@@ -24,7 +27,10 @@
|
|
|
24
27
|
"label": "balancer123457",
|
|
25
28
|
"client_conn_throttle": 0,
|
|
26
29
|
"tags": [],
|
|
27
|
-
"locks": []
|
|
30
|
+
"locks": [],
|
|
31
|
+
"type": "premium",
|
|
32
|
+
"backend_connectivity": "ipv6",
|
|
33
|
+
"backend_ipv6_prefix": null
|
|
28
34
|
}
|
|
29
35
|
],
|
|
30
36
|
"results": 2,
|
{linode_api4-5.47.0 → linode_api4-5.48.0}/test/integration/models/nodebalancer/test_nodebalancer.py
RENAMED
|
@@ -106,11 +106,18 @@ def test_create_nb(test_linode_client, e2e_test_firewall):
|
|
|
106
106
|
label=label,
|
|
107
107
|
firewall=e2e_test_firewall.id,
|
|
108
108
|
client_udp_sess_throttle=5,
|
|
109
|
+
type="premium",
|
|
110
|
+
backend_connectivity="ipv6",
|
|
109
111
|
)
|
|
110
112
|
|
|
111
113
|
assert TEST_REGION, nb.region
|
|
112
114
|
assert label == nb.label
|
|
113
115
|
assert 5 == nb.client_udp_sess_throttle
|
|
116
|
+
assert nb.type == "premium"
|
|
117
|
+
assert nb.backend_connectivity == "ipv6"
|
|
118
|
+
assert nb.backend_ipv6_prefix is None or isinstance(
|
|
119
|
+
nb.backend_ipv6_prefix, str
|
|
120
|
+
)
|
|
114
121
|
|
|
115
122
|
nb.delete()
|
|
116
123
|
|
|
@@ -5,6 +5,7 @@ from linode_api4 import FirewallCreateDevicesOptions, LongviewSubscription
|
|
|
5
5
|
from linode_api4.objects.beta import BetaProgram
|
|
6
6
|
from linode_api4.objects.linode import Instance
|
|
7
7
|
from linode_api4.objects.networking import IPAddress
|
|
8
|
+
from linode_api4.objects.nodebalancer import NodeBalancerBackendConnectivity
|
|
8
9
|
from linode_api4.objects.object_storage import (
|
|
9
10
|
ObjectStorageACL,
|
|
10
11
|
ObjectStorageCluster,
|
|
@@ -1589,6 +1590,84 @@ class NodeBalancerGroupTest(ClientBaseCase):
|
|
|
1589
1590
|
self.assertEqual(types[0].region_prices[0].hourly, 0.018)
|
|
1590
1591
|
self.assertEqual(types[0].region_prices[0].monthly, 12)
|
|
1591
1592
|
|
|
1593
|
+
def test_create_with_type_and_backend_connectivity(self):
|
|
1594
|
+
"""
|
|
1595
|
+
Tests that creating a NodeBalancer forwards type, backend_connectivity,
|
|
1596
|
+
vpcs, and config node addresses.
|
|
1597
|
+
"""
|
|
1598
|
+
with self.mock_post(
|
|
1599
|
+
{
|
|
1600
|
+
"id": 1234,
|
|
1601
|
+
"label": "my-premium-nb",
|
|
1602
|
+
"type": "premium",
|
|
1603
|
+
"backend_connectivity": "ipv6",
|
|
1604
|
+
"backend_ipv6_prefix": "2600:3c22:1:20:0:3039::/96",
|
|
1605
|
+
"region": "us-east",
|
|
1606
|
+
}
|
|
1607
|
+
) as m:
|
|
1608
|
+
nb = self.client.nodebalancers.create(
|
|
1609
|
+
"us-east",
|
|
1610
|
+
label="my-premium-nb",
|
|
1611
|
+
type="premium",
|
|
1612
|
+
backend_connectivity=NodeBalancerBackendConnectivity.IPV6,
|
|
1613
|
+
configs=[
|
|
1614
|
+
{
|
|
1615
|
+
"port": 80,
|
|
1616
|
+
"nodes": [
|
|
1617
|
+
{
|
|
1618
|
+
"address": "[2001:db8:abcd:0012::1]:80",
|
|
1619
|
+
"label": "node1",
|
|
1620
|
+
}
|
|
1621
|
+
],
|
|
1622
|
+
}
|
|
1623
|
+
],
|
|
1624
|
+
)
|
|
1625
|
+
|
|
1626
|
+
self.assertEqual(m.call_url, "/nodebalancers")
|
|
1627
|
+
self.assertEqual(m.call_data["region"], "us-east")
|
|
1628
|
+
self.assertEqual(m.call_data["type"], "premium")
|
|
1629
|
+
self.assertEqual(m.call_data["backend_connectivity"], "ipv6")
|
|
1630
|
+
self.assertIs(type(m.call_data["backend_connectivity"]), str)
|
|
1631
|
+
self.assertEqual(
|
|
1632
|
+
m.call_data["configs"][0]["nodes"][0]["address"],
|
|
1633
|
+
"[2001:db8:abcd:0012::1]:80",
|
|
1634
|
+
)
|
|
1635
|
+
self.assertEqual(nb.id, 1234)
|
|
1636
|
+
self.assertEqual(nb.type, "premium")
|
|
1637
|
+
self.assertEqual(nb.backend_connectivity, "ipv6")
|
|
1638
|
+
self.assertEqual(
|
|
1639
|
+
nb.backend_ipv6_prefix, "2600:3c22:1:20:0:3039::/96"
|
|
1640
|
+
)
|
|
1641
|
+
self.assertNotIn("backend_ipv6_prefix", m.call_data)
|
|
1642
|
+
|
|
1643
|
+
def test_create_with_vpc_backend_connectivity(self):
|
|
1644
|
+
"""
|
|
1645
|
+
Tests that creating a NodeBalancer forwards vpc backend connectivity.
|
|
1646
|
+
"""
|
|
1647
|
+
with self.mock_post(
|
|
1648
|
+
{
|
|
1649
|
+
"id": 1234,
|
|
1650
|
+
"label": "my-nb",
|
|
1651
|
+
"type": "common",
|
|
1652
|
+
"backend_connectivity": "vpc",
|
|
1653
|
+
"region": "us-east",
|
|
1654
|
+
}
|
|
1655
|
+
) as m:
|
|
1656
|
+
nb = self.client.nodebalancers.create(
|
|
1657
|
+
"us-east",
|
|
1658
|
+
label="my-nb",
|
|
1659
|
+
backend_connectivity="vpc",
|
|
1660
|
+
vpcs=[{"subnet_id": 123456, "ipv4_range": "10.0.250.4/30"}],
|
|
1661
|
+
)
|
|
1662
|
+
|
|
1663
|
+
self.assertEqual(m.call_url, "/nodebalancers")
|
|
1664
|
+
self.assertEqual(m.call_data["backend_connectivity"], "vpc")
|
|
1665
|
+
self.assertEqual(
|
|
1666
|
+
m.call_data["vpcs"],
|
|
1667
|
+
[{"subnet_id": 123456, "ipv4_range": "10.0.250.4/30"}],
|
|
1668
|
+
)
|
|
1669
|
+
self.assertEqual(nb.backend_connectivity, "vpc")
|
|
1670
|
+
|
|
1592
1671
|
|
|
1593
1672
|
class VolumeGroupTest(ClientBaseCase):
|
|
1594
1673
|
"""
|
|
@@ -26,6 +26,8 @@ from linode_api4.objects import (
|
|
|
26
26
|
Disk,
|
|
27
27
|
Image,
|
|
28
28
|
Instance,
|
|
29
|
+
InstanceBackups,
|
|
30
|
+
InstanceBackupSchedule,
|
|
29
31
|
StackScript,
|
|
30
32
|
Type,
|
|
31
33
|
VPCSubnet,
|
|
@@ -59,6 +61,14 @@ class LinodeTest(ClientBaseCase):
|
|
|
59
61
|
self.assertEqual(linode.lke_cluster_id, None)
|
|
60
62
|
self.assertEqual(linode.maintenance_policy, "linode/migrate")
|
|
61
63
|
|
|
64
|
+
self.assertIsInstance(linode.backups, InstanceBackups)
|
|
65
|
+
self.assertTrue(linode.backups.enabled)
|
|
66
|
+
self.assertTrue(linode.backups.available)
|
|
67
|
+
self.assertEqual(linode.backups.last_successful, "2018-01-01T00:01:01")
|
|
68
|
+
self.assertIsInstance(linode.backups.schedule, InstanceBackupSchedule)
|
|
69
|
+
self.assertEqual(linode.backups.schedule.day, "Scheduling")
|
|
70
|
+
self.assertEqual(linode.backups.schedule.window, "W02")
|
|
71
|
+
|
|
62
72
|
json = linode._raw_json
|
|
63
73
|
self.assertIsNotNone(json)
|
|
64
74
|
self.assertEqual(json["id"], 123)
|
|
@@ -229,6 +239,22 @@ class LinodeTest(ClientBaseCase):
|
|
|
229
239
|
},
|
|
230
240
|
)
|
|
231
241
|
|
|
242
|
+
def test_update_linode_backups_disabled(self):
|
|
243
|
+
"""
|
|
244
|
+
Tests that an unset backup schedule is sent as explicit nulls
|
|
245
|
+
"""
|
|
246
|
+
with self.mock_put("linode/instances/456") as m:
|
|
247
|
+
linode = self.client.load(Instance, 456)
|
|
248
|
+
linode.save()
|
|
249
|
+
|
|
250
|
+
self.assertEqual(
|
|
251
|
+
m.call_data["backups"],
|
|
252
|
+
{
|
|
253
|
+
"enabled": False,
|
|
254
|
+
"schedule": {"day": None, "window": None},
|
|
255
|
+
},
|
|
256
|
+
)
|
|
257
|
+
|
|
232
258
|
def test_delete_linode(self):
|
|
233
259
|
"""
|
|
234
260
|
Tests that deleting a Linode creates the correct api request
|