linode-api4 5.43.0__tar.gz → 5.45.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.45.0}/PKG-INFO +1 -1
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/linode.py +60 -28
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/lock.py +2 -2
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/monitor.py +214 -15
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/networking.py +126 -14
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/nodebalancer.py +7 -1
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/object_storage.py +16 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/tag.py +7 -1
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/database.py +1 -6
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/linode.py +48 -37
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/linode_interfaces.py +0 -74
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/lock.py +3 -3
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/monitor.py +390 -2
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/networking.py +68 -2
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/object_storage.py +40 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/region.py +2 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/tag.py +4 -1
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/version.py +1 -1
- {linode_api4-5.43.0 → linode_api4-5.45.0/linode_api4.egg-info}/PKG-INFO +1 -1
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4.egg-info/SOURCES.txt +13 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/pyproject.toml +2 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/monitor_alert-definitions.json +0 -2
- linode_api4-5.45.0/test/fixtures/monitor_dashboards.json +404 -0
- linode_api4-5.45.0/test/fixtures/monitor_dashboards_1.json +83 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/monitor_services_dbaas_alert-definitions.json +0 -4
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/monitor_services_dbaas_alert-definitions_12345.json +0 -4
- linode_api4-5.45.0/test/fixtures/monitor_services_dbaas_dashboards.json +90 -0
- linode_api4-5.45.0/test/fixtures/monitor_streams.json +31 -0
- linode_api4-5.45.0/test/fixtures/monitor_streams_1_history.json +31 -0
- linode_api4-5.45.0/test/fixtures/monitor_streams_2.json +43 -0
- linode_api4-5.45.0/test/fixtures/monitor_streams_3.json +29 -0
- linode_api4-5.45.0/test/fixtures/monitor_streams_destinations.json +24 -0
- linode_api4-5.45.0/test/fixtures/monitor_streams_destinations_1_history.json +24 -0
- linode_api4-5.45.0/test/fixtures/monitor_streams_destinations_2.json +36 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/networking_firewalls.json +5 -3
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/networking_firewalls_123.json +5 -3
- linode_api4-5.45.0/test/fixtures/networking_firewalls_123_rules.json +8 -0
- linode_api4-5.45.0/test/fixtures/networking_reserved_ips.json +35 -0
- linode_api4-5.45.0/test/fixtures/networking_reserved_ips_types.json +27 -0
- linode_api4-5.45.0/test/fixtures/object-storage_global-quotas.json +25 -0
- linode_api4-5.45.0/test/fixtures/object-storage_global-quotas_obj-access-keys-per-account.json +9 -0
- linode_api4-5.45.0/test/fixtures/object-storage_global-quotas_obj-access-keys-per-account_usage.json +4 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/object-storage_quotas.json +6 -2
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/object-storage_quotas_obj-objects-us-ord-1.json +3 -1
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/conftest.py +81 -16
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/linode_client/test_linode_client.py +39 -42
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/account/test_account.py +4 -2
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/domain/test_domain.py +1 -2
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/firewall/test_firewall.py +14 -2
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/linode/interfaces/test_interfaces.py +99 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/linode/test_linode.py +154 -26
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/lock/test_lock.py +2 -1
- linode_api4-5.45.0/test/integration/models/monitor/test_monitor_logs.py +521 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/networking/test_networking.py +212 -4
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/nodebalancer/test_nodebalancer.py +30 -1
- linode_api4-5.45.0/test/integration/models/object_storage/test_obj_quotas.py +116 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/placement/test_placement.py +1 -1
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/sharegroups/test_sharegroups.py +4 -5
- linode_api4-5.45.0/test/integration/models/tag/test_tag.py +51 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/volume/test_blockstorage.py +6 -2
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/volume/test_volume.py +2 -1
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/vpc/test_vpc.py +3 -2
- linode_api4-5.45.0/test/unit/groups/networking_test.py +240 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/linode_client_test.py +134 -5
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/firewall_test.py +2 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/linode_test.py +82 -8
- linode_api4-5.45.0/test/unit/objects/monitor_test.py +761 -0
- linode_api4-5.45.0/test/unit/objects/networking_test.py +457 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/object_storage_test.py +59 -0
- linode_api4-5.45.0/test/unit/objects/tag_test.py +103 -0
- linode_api4-5.43.0/test/fixtures/monitor_dashboards.json +0 -41
- linode_api4-5.43.0/test/fixtures/monitor_dashboards_1.json +0 -34
- linode_api4-5.43.0/test/fixtures/monitor_services_dbaas_dashboards.json +0 -48
- 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/test/integration/models/tag/test_tag.py +0 -22
- linode_api4-5.43.0/test/unit/groups/networking_test.py +0 -17
- linode_api4-5.43.0/test/unit/objects/monitor_test.py +0 -171
- linode_api4-5.43.0/test/unit/objects/networking_test.py +0 -173
- linode_api4-5.43.0/test/unit/objects/tag_test.py +0 -46
- {linode_api4-5.43.0 → linode_api4-5.45.0}/LICENSE +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/MANIFEST.in +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/README.rst +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/examples/install-on-linode/app.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/examples/install-on-linode/make_stackscript.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/__init__.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/common.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/errors.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/__init__.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/account.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/beta.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/database.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/domain.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/group.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/image.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/image_share_group.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/lke.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/lke_tier.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/longview.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/maintenance.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/monitor_api.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/placement.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/polling.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/profile.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/region.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/support.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/volume.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/groups/vpc.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/linode_client.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/login_client.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/__init__.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/account.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/base.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/beta.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/dbase.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/domain.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/filtering.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/image.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/image_share_group.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/lke.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/longview.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/monitor_api.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/nodebalancer.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/placement.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/profile.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/serializable.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/support.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/volume.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/objects/vpc.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/paginated_list.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/polling.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4/util.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4.egg-info/dependency_links.txt +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4.egg-info/requires.txt +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/linode_api4.egg-info/top_level.txt +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/setup.cfg +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/setup.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/__init__.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_availability.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_availability_us-east.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_betas.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_betas_cool.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_child-accounts.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_child-accounts_123456.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_child-accounts_123456_token.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_events_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_invoices.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_invoices_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_invoices_123456_items.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_logins.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_logins_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_maintenance.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_notifications.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_oauth-clients_2737bf16b39ab5d7b4a1.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_payment-method_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_payment-methods.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_payments.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_promo-codes.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_service-transfers.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_service-transfers_12345.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_settings.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_transfer.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/account_users_test-user.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/betas.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/betas_active.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/databases_engines.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/databases_instances.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/databases_mysql_config.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/databases_mysql_instances.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/databases_mysql_instances_123_credentials.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/databases_mysql_instances_123_credentials_reset.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/databases_mysql_instances_123_patch.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/databases_mysql_instances_123_resume.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/databases_mysql_instances_123_ssl.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/databases_mysql_instances_123_suspend.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/databases_postgresql_config.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/databases_postgresql_instances.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/databases_postgresql_instances_123_credentials.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/databases_postgresql_instances_123_credentials_reset.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/databases_postgresql_instances_123_patch.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/databases_postgresql_instances_123_resume.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/databases_postgresql_instances_123_ssl.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/databases_postgresql_instances_123_suspend.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/databases_types.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/domains.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/domains_12345_clone.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/domains_12345_records.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/domains_12345_zone-file.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/domains_import.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/images.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/images_private_1234_sharegroups.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/images_private_123_regions.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/images_private_1337.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/images_sharegroups.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/images_sharegroups_1234.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/images_sharegroups_1234_images.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/images_sharegroups_1234_images_shared_1.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/images_sharegroups_1234_members.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/images_sharegroups_1234_members_abc123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/images_sharegroups_tokens.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/images_sharegroups_tokens_abc123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/images_sharegroups_tokens_abc123_sharegroup.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/images_sharegroups_tokens_abc123_sharegroup_images.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/images_upload.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_123_backups.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_123_configs.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_123_configs_456789.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_123_configs_456789_interfaces.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_123_configs_456789_interfaces_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_123_configs_456789_interfaces_123_put.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_123_configs_456789_interfaces_321.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_123_configs_456789_interfaces_456.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_123_disks.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_123_disks_12345_clone.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_123_firewalls.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_123_ips.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_123_nodebalancers.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_123_transfer.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_123_transfer_2023_4.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_123_volumes.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_124.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_124_interfaces.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_124_interfaces_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_124_interfaces_123_firewalls.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_124_interfaces_456.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_124_interfaces_789.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_124_interfaces_settings.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_instances_124_upgrade-interfaces.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_stackscripts_10079.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_types.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/linode_types_g6-nanode-1.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/lke_clusters.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/lke_clusters_18881.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/lke_clusters_18881_control__plane__acl.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/lke_clusters_18881_dashboard.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/lke_clusters_18881_nodes_123456.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/lke_clusters_18881_pools_456.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/lke_clusters_18882.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/lke_clusters_18882_pools_789.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/lke_tiers_standard_versions.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/lke_types.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/lke_versions.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/locks.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/locks_1.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/longview_clients.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/longview_plan.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/longview_subscriptions.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/maintenance_policies.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/mongodb.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/monitor_alert-channels.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/monitor_services.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/monitor_services_dbaas.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/monitor_services_dbaas_alert-definitions_12345_entities.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/monitor_services_dbaas_metric-definitions.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/monitor_services_dbaas_metrics.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/monitor_services_dbaas_token.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/monitor_services_linode_token.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/network-transfer_prices.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/networking_firewalls_123_devices.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/networking_firewalls_123_devices_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/networking_firewalls_123_devices_456.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/networking_firewalls_123_history.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/networking_firewalls_123_history_rules_2.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/networking_firewalls_settings.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/networking_firewalls_templates.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/networking_firewalls_templates_public.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/networking_firewalls_templates_vpc.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/networking_ips_127.0.0.1.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/networking_ipv6_pools.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/networking_ipv6_ranges.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/networking_ipv6_ranges_2600%3A3c01%3A%3A.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/networking_vlans.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/nodebalancers.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/nodebalancers_123456.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/nodebalancers_123456_configs.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/nodebalancers_123456_configs_65432_nodes.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/nodebalancers_12345_configs_4567_rebuild.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/nodebalancers_12345_firewalls.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/nodebalancers_12345_stats.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/nodebalancers_types.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/object-storage_buckets.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/object-storage_buckets_us-east-1.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/object-storage_buckets_us-east-1_example-bucket.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/object-storage_buckets_us-east-1_example-bucket_object-acl.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/object-storage_buckets_us-east-1_example-bucket_object-list.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/object-storage_buckets_us-east-1_example-bucket_object-url.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/object-storage_buckets_us-east-1_example-bucket_ssl.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/object-storage_buckets_us-east_example-bucket_access.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/object-storage_clusters.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/object-storage_keys.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/object-storage_quotas_obj-objects-us-ord-1_usage.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/object-storage_transfer.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/object-storage_types.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/placement_groups.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/placement_groups_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/profile.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/profile_device_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/profile_devices.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/profile_logins.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/profile_logins_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/profile_preferences.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/profile_security-questions.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/profile_sshkeys.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/regions.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/regions_availability.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/regions_us-east_availability.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/regions_us-east_vpc-availability.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/regions_vpc-availability.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/support_tickets_123.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/tags.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/tags_nothing.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/tags_something.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/testmappedobj1.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/volumes.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/volumes_types.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/vpcs.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/vpcs_123456.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/vpcs_123456_ips.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/vpcs_123456_subnets.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/vpcs_123456_subnets_789.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/fixtures/vpcs_ips.json +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/__init__.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/filters/fixtures.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/filters/model_filters_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/helpers.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/linode_client/__init__.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/linode_client/test_errors.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/linode_client/test_retry.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/login_client/test_login_client.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/__init__.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/database/helpers.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/database/test_database.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/database/test_database_engine_config.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/firewall/test_firewall_templates.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/image/test_image.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/lke/test_lke.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/lock/__init__.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/longview/test_longview.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/maintenance/test_maintenance.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/monitor/test_monitor.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/monitor_api/test_monitor_api.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/object_storage/test_obj.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/profile/test_profile.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/integration/models/region/test_region.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/__init__.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/base.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/errors_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/fixtures.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/groups/__init__.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/groups/database_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/groups/image_share_group_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/groups/image_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/groups/linode_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/groups/lke_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/groups/lke_tier_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/groups/lock_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/groups/monitor_api_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/groups/object_storage_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/groups/placement_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/groups/polling_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/groups/region_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/groups/vpc_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/login_client_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/account_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/base_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/beta_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/database_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/domain_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/image_share_group_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/image_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/linode_interface_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/lke_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/lock_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/longview_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/mapped_object_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/nodebalancers_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/placement_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/profile_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/property_alias_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/region_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/serializable_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/support_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/volume_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/objects/vpc_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/paginated_list_test.py +0 -0
- {linode_api4-5.43.0 → linode_api4-5.45.0}/test/unit/util_test.py +0 -0
|
@@ -162,6 +162,11 @@ 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,
|
|
169
|
+
ipv4: Optional[List[str]] = None,
|
|
165
170
|
**kwargs,
|
|
166
171
|
):
|
|
167
172
|
"""
|
|
@@ -172,27 +177,26 @@ class LinodeGroup(Group):
|
|
|
172
177
|
To create an Instance from an :any:`Image`, call `instance_create` with
|
|
173
178
|
a :any:`Type`, a :any:`Region`, and an :any:`Image`. All three of
|
|
174
179
|
these fields may be provided as either the ID or the appropriate object.
|
|
175
|
-
|
|
176
|
-
|
|
180
|
+
When an Image is provided, at least one of ``root_pass``, ``authorized_users``, or
|
|
181
|
+
``authorized_keys`` must also be given.
|
|
177
182
|
|
|
178
183
|
For example::
|
|
179
184
|
|
|
180
|
-
new_linode
|
|
185
|
+
new_linode = client.linode.instance_create(
|
|
181
186
|
"g6-standard-2",
|
|
182
187
|
"us-east",
|
|
183
|
-
image="linode/
|
|
188
|
+
image="linode/debian13",
|
|
189
|
+
root_pass="aComplex@Password123")
|
|
184
190
|
|
|
185
191
|
ltype = client.linode.types().first()
|
|
186
192
|
region = client.regions().first()
|
|
187
193
|
image = client.images().first()
|
|
188
194
|
|
|
189
|
-
another_linode
|
|
195
|
+
another_linode = client.linode.instance_create(
|
|
190
196
|
ltype,
|
|
191
197
|
region,
|
|
192
|
-
image=image
|
|
193
|
-
|
|
194
|
-
To output the password from the above example:
|
|
195
|
-
print(password)
|
|
198
|
+
image=image,
|
|
199
|
+
authorized_keys="ssh-rsa AAAA")
|
|
196
200
|
|
|
197
201
|
To output the first IPv4 address of the new Linode:
|
|
198
202
|
print(new_linode.ipv4[0])
|
|
@@ -210,10 +214,11 @@ class LinodeGroup(Group):
|
|
|
210
214
|
|
|
211
215
|
stackscript = StackScript(client, 10079)
|
|
212
216
|
|
|
213
|
-
new_linode
|
|
217
|
+
new_linode = client.linode.instance_create(
|
|
214
218
|
"g6-standard-2",
|
|
215
219
|
"us-east",
|
|
216
|
-
image="linode/
|
|
220
|
+
image="linode/debian13",
|
|
221
|
+
root_pass="aComplex@Password123",
|
|
217
222
|
stackscript=stackscript,
|
|
218
223
|
stackscript_data={"gh_username": "example"})
|
|
219
224
|
|
|
@@ -244,10 +249,11 @@ class LinodeGroup(Group):
|
|
|
244
249
|
To create a new Instance with explicit interfaces, provide list of
|
|
245
250
|
LinodeInterfaceOptions objects or dicts to the "interfaces" field::
|
|
246
251
|
|
|
247
|
-
linode
|
|
252
|
+
linode = client.linode.instance_create(
|
|
248
253
|
"g6-standard-1",
|
|
249
254
|
"us-mia",
|
|
250
255
|
image="linode/ubuntu24.04",
|
|
256
|
+
root_pass="aComplex@Password123",
|
|
251
257
|
|
|
252
258
|
# This can be configured as an account-wide default
|
|
253
259
|
interface_generation=InterfaceGeneration.LINODE,
|
|
@@ -280,10 +286,14 @@ class LinodeGroup(Group):
|
|
|
280
286
|
:type ltype: str or Type
|
|
281
287
|
:param region: The Region in which we are creating the Instance
|
|
282
288
|
:type region: str or Region
|
|
283
|
-
:param image: The Image to deploy to this Instance. If this is provided
|
|
284
|
-
|
|
285
|
-
|
|
289
|
+
:param image: The Image to deploy to this Instance. If this is provided,
|
|
290
|
+
at least one of root_pass, authorized_users, or authorized_keys must also be
|
|
291
|
+
provided.
|
|
286
292
|
:type image: str or Image
|
|
293
|
+
:param root_pass: The root password for the new Instance. Required when
|
|
294
|
+
an image is provided and neither authorized_users nor
|
|
295
|
+
authorized_keys are given.
|
|
296
|
+
:type root_pass: str
|
|
287
297
|
:param stackscript: The StackScript to deploy to the new Instance. If
|
|
288
298
|
provided, "image" is required and must be compatible
|
|
289
299
|
with the chosen StackScript.
|
|
@@ -300,6 +310,11 @@ class LinodeGroup(Group):
|
|
|
300
310
|
be a single key, or a path to a file containing
|
|
301
311
|
the key.
|
|
302
312
|
:type authorized_keys: list or str
|
|
313
|
+
:param authorized_users: A list of usernames whose keys should be installed
|
|
314
|
+
as trusted for the root user. These user's keys
|
|
315
|
+
should already be set up, see :any:`ProfileGroup.ssh_keys`
|
|
316
|
+
for details.
|
|
317
|
+
:type authorized_users: list[str]
|
|
303
318
|
:param label: The display label for the new Instance
|
|
304
319
|
:type label: str
|
|
305
320
|
:param group: The display group for the new Instance
|
|
@@ -335,26 +350,42 @@ class LinodeGroup(Group):
|
|
|
335
350
|
:param maintenance_policy: The slug of the maintenance policy to apply during maintenance.
|
|
336
351
|
If not provided, the default policy (linode/migrate) will be applied.
|
|
337
352
|
:type maintenance_policy: str
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
:
|
|
353
|
+
:param kernel: The kernel to boot the Instance with. If provided, this will be used as the
|
|
354
|
+
kernel for the default configuration profile.
|
|
355
|
+
:type kernel: str
|
|
356
|
+
:param boot_size: The size of the boot disk in MB. If provided, this will be used to create
|
|
357
|
+
the boot disk for the Instance.
|
|
358
|
+
:type boot_size: int
|
|
359
|
+
:param ipv4: A list of reserved IPv4 addresses to assign to this Instance.
|
|
360
|
+
NOTE: Reserved IP feature may not currently be available to all users.
|
|
361
|
+
:type ipv4: list[str]
|
|
362
|
+
|
|
363
|
+
:returns: A new Instance object
|
|
364
|
+
:rtype: Instance
|
|
342
365
|
:raises ApiError: If contacting the API fails
|
|
343
366
|
:raises UnexpectedResponseError: If the API response is somehow malformed.
|
|
344
367
|
This usually indicates that you are using
|
|
345
368
|
an outdated library.
|
|
346
369
|
"""
|
|
347
370
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
371
|
+
if (
|
|
372
|
+
image
|
|
373
|
+
and not root_pass
|
|
374
|
+
and not authorized_keys
|
|
375
|
+
and not authorized_users
|
|
376
|
+
):
|
|
377
|
+
raise ValueError(
|
|
378
|
+
"When creating an Instance from an Image, at least one of "
|
|
379
|
+
"root_pass, authorized_users, or authorized_keys must be provided."
|
|
380
|
+
)
|
|
352
381
|
|
|
353
382
|
params = {
|
|
354
383
|
"type": ltype,
|
|
355
384
|
"region": region,
|
|
356
385
|
"image": image,
|
|
386
|
+
"root_pass": root_pass,
|
|
357
387
|
"authorized_keys": load_and_validate_keys(authorized_keys),
|
|
388
|
+
"authorized_users": authorized_users,
|
|
358
389
|
# These will automatically be flattened below
|
|
359
390
|
"firewall_id": firewall,
|
|
360
391
|
"backup_id": backup,
|
|
@@ -372,6 +403,9 @@ class LinodeGroup(Group):
|
|
|
372
403
|
"interfaces": interfaces,
|
|
373
404
|
"interface_generation": interface_generation,
|
|
374
405
|
"network_helper": network_helper,
|
|
406
|
+
"kernel": kernel,
|
|
407
|
+
"boot_size": boot_size,
|
|
408
|
+
"ipv4": ipv4,
|
|
375
409
|
}
|
|
376
410
|
|
|
377
411
|
params.update(kwargs)
|
|
@@ -386,10 +420,7 @@ class LinodeGroup(Group):
|
|
|
386
420
|
"Unexpected response when creating linode!", json=result
|
|
387
421
|
)
|
|
388
422
|
|
|
389
|
-
|
|
390
|
-
if not ret_pass:
|
|
391
|
-
return l
|
|
392
|
-
return l, ret_pass
|
|
423
|
+
return Instance(self.client, result["id"], result)
|
|
393
424
|
|
|
394
425
|
@staticmethod
|
|
395
426
|
def build_instance_metadata(user_data=None, encode_user_data=True):
|
|
@@ -398,10 +429,11 @@ class LinodeGroup(Group):
|
|
|
398
429
|
the :any:`instance_create` method. This helper can also be used
|
|
399
430
|
when cloning and rebuilding Instances.
|
|
400
431
|
**Creating an Instance with User Data**::
|
|
401
|
-
new_linode
|
|
432
|
+
new_linode = client.linode.instance_create(
|
|
402
433
|
"g6-standard-2",
|
|
403
434
|
"us-east",
|
|
404
435
|
image="linode/ubuntu22.04",
|
|
436
|
+
root_pass="aComplex@Password123",
|
|
405
437
|
metadata=client.linode.build_instance_metadata(user_data="myuserdata")
|
|
406
438
|
)
|
|
407
439
|
: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
|
|
@@ -8,11 +8,21 @@ from linode_api4.objects import (
|
|
|
8
8
|
AlertDefinition,
|
|
9
9
|
AlertDefinitionEntity,
|
|
10
10
|
AlertScope,
|
|
11
|
+
LogsDestination,
|
|
12
|
+
LogsDestinationType,
|
|
13
|
+
LogsStream,
|
|
14
|
+
LogsStreamStatus,
|
|
15
|
+
LogsStreamType,
|
|
11
16
|
MonitorDashboard,
|
|
12
17
|
MonitorMetricsDefinition,
|
|
13
18
|
MonitorService,
|
|
14
19
|
MonitorServiceToken,
|
|
15
20
|
)
|
|
21
|
+
from linode_api4.objects.monitor import (
|
|
22
|
+
AkamaiObjectStorageLogsDestinationDetails,
|
|
23
|
+
CustomHTTPSLogsDestinationDetails,
|
|
24
|
+
LogsStreamDetails,
|
|
25
|
+
)
|
|
16
26
|
|
|
17
27
|
__all__ = [
|
|
18
28
|
"MonitorGroup",
|
|
@@ -37,8 +47,6 @@ class MonitorGroup(Group):
|
|
|
37
47
|
dashboard = client.load(MonitorDashboard, 1)
|
|
38
48
|
dashboards_by_service = client.monitor.dashboards(service_type="dbaas")
|
|
39
49
|
|
|
40
|
-
.. note:: This endpoint is in beta. This will only function if base_url is set to `https://api.linode.com/v4beta`.
|
|
41
|
-
|
|
42
50
|
API Documentation:
|
|
43
51
|
- All Dashboards: https://techdocs.akamai.com/linode-api/reference/get-dashboards-all
|
|
44
52
|
- Dashboards by Service: https://techdocs.akamai.com/linode-api/reference/get-dashboards
|
|
@@ -73,8 +81,6 @@ class MonitorGroup(Group):
|
|
|
73
81
|
supported_services = client.monitor.services()
|
|
74
82
|
service_details = client.monitor.load(MonitorService, "dbaas")
|
|
75
83
|
|
|
76
|
-
.. note:: This endpoint is in beta. This will only function if base_url is set to `https://api.linode.com/v4beta`.
|
|
77
|
-
|
|
78
84
|
API Documentation: https://techdocs.akamai.com/linode-api/reference/get-monitor-services
|
|
79
85
|
API Documentation: https://techdocs.akamai.com/linode-api/reference/get-monitor-services-for-service-type
|
|
80
86
|
|
|
@@ -100,7 +106,6 @@ class MonitorGroup(Group):
|
|
|
100
106
|
Returns metrics for a specific service type.
|
|
101
107
|
|
|
102
108
|
metrics = client.monitor.list_metric_definitions(service_type="dbaas")
|
|
103
|
-
.. note:: This endpoint is in beta. This will only function if base_url is set to `https://api.linode.com/v4beta`.
|
|
104
109
|
|
|
105
110
|
API Documentation: https://techdocs.akamai.com/linode-api/reference/get-monitor-information
|
|
106
111
|
|
|
@@ -126,8 +131,6 @@ class MonitorGroup(Group):
|
|
|
126
131
|
Returns a JWE Token for a specific service type.
|
|
127
132
|
token = client.monitor.create_token(service_type="dbaas", entity_ids=[1234])
|
|
128
133
|
|
|
129
|
-
.. note:: This endpoint is in beta. This will only function if base_url is set to `https://api.linode.com/v4beta`.
|
|
130
|
-
|
|
131
134
|
API Documentation: https://techdocs.akamai.com/linode-api/reference/post-get-token
|
|
132
135
|
|
|
133
136
|
:param service_type: The service type to create token for.
|
|
@@ -165,7 +168,6 @@ class MonitorGroup(Group):
|
|
|
165
168
|
|
|
166
169
|
alerts = client.monitor.alert_definitions()
|
|
167
170
|
alerts_by_service = client.monitor.alert_definitions(service_type="dbaas")
|
|
168
|
-
.. note:: This endpoint is in beta and requires using the v4beta base URL.
|
|
169
171
|
|
|
170
172
|
API Documentation:
|
|
171
173
|
https://techdocs.akamai.com/linode-api/reference/get-alert-definitions
|
|
@@ -202,8 +204,6 @@ class MonitorGroup(Group):
|
|
|
202
204
|
Examples:
|
|
203
205
|
channels = client.monitor.alert_channels()
|
|
204
206
|
|
|
205
|
-
.. note:: This endpoint is in beta and requires using the v4beta base URL.
|
|
206
|
-
|
|
207
207
|
API Documentation: https://techdocs.akamai.com/linode-api/reference/get-notification-channels
|
|
208
208
|
|
|
209
209
|
:param filters: Optional filter expressions to apply to the collection.
|
|
@@ -232,8 +232,6 @@ class MonitorGroup(Group):
|
|
|
232
232
|
The alert definition configures when alerts are fired and which channels
|
|
233
233
|
are notified.
|
|
234
234
|
|
|
235
|
-
.. note:: This endpoint is in beta and requires using the v4beta base URL.
|
|
236
|
-
|
|
237
235
|
API Documentation: https://techdocs.akamai.com/linode-api/reference/post-alert-definition-for-service-type
|
|
238
236
|
|
|
239
237
|
:param service_type: Service type for which to create the alert definition
|
|
@@ -309,9 +307,7 @@ class MonitorGroup(Group):
|
|
|
309
307
|
|
|
310
308
|
This endpoint supports pagination fields (`page`, `page_size`) in the API.
|
|
311
309
|
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
API Documentation: TODO
|
|
310
|
+
API Documentation: https://techdocs.akamai.com/linode-api/reference/get-alert-definition-entities
|
|
315
311
|
|
|
316
312
|
:param service_type: Service type for the alert definition (e.g. `dbaas`).
|
|
317
313
|
:type service_type: str
|
|
@@ -332,3 +328,206 @@ class MonitorGroup(Group):
|
|
|
332
328
|
*filters,
|
|
333
329
|
endpoint=endpoint,
|
|
334
330
|
)
|
|
331
|
+
|
|
332
|
+
def destinations(self, *filters) -> PaginatedList:
|
|
333
|
+
"""
|
|
334
|
+
List available logs destinations.
|
|
335
|
+
|
|
336
|
+
Returns a paginated collection of :class:`LogsDestination` objects which
|
|
337
|
+
describe logs destinations. By default, this method returns all available
|
|
338
|
+
destinations; you can supply optional filter expressions to restrict
|
|
339
|
+
the results, for example::
|
|
340
|
+
|
|
341
|
+
# Get destinations created by username and with id 111
|
|
342
|
+
destinations = client.monitor.destinations(LogsDestination.created_by == "username",
|
|
343
|
+
LogsDestination.id == 111)
|
|
344
|
+
|
|
345
|
+
API Documentation: https://techdocs.akamai.com/linode-api/reference/get-destinations
|
|
346
|
+
|
|
347
|
+
:param filters: Any number of filters to apply to this query.
|
|
348
|
+
See :doc:`Filtering Collections</linode_api4/objects/filtering>`
|
|
349
|
+
for more details on filtering.
|
|
350
|
+
|
|
351
|
+
:returns: A list of :class:`LogsDestination` objects matching the query.
|
|
352
|
+
:rtype: PaginatedList of LogsDestination
|
|
353
|
+
"""
|
|
354
|
+
|
|
355
|
+
return self.client._get_and_filter(LogsDestination, *filters)
|
|
356
|
+
|
|
357
|
+
def destination_create(
|
|
358
|
+
self,
|
|
359
|
+
label: str,
|
|
360
|
+
type: Union[LogsDestinationType, str],
|
|
361
|
+
details: Union[
|
|
362
|
+
AkamaiObjectStorageLogsDestinationDetails,
|
|
363
|
+
CustomHTTPSLogsDestinationDetails,
|
|
364
|
+
],
|
|
365
|
+
) -> LogsDestination:
|
|
366
|
+
"""
|
|
367
|
+
Creates a new :any:`LogsDestination` for logs on this account.
|
|
368
|
+
|
|
369
|
+
For an ``akamai_object_storage`` destination::
|
|
370
|
+
|
|
371
|
+
client = LinodeClient(TOKEN)
|
|
372
|
+
|
|
373
|
+
new_destination = client.monitor.destination_create(
|
|
374
|
+
label="OBJ_logs_destination",
|
|
375
|
+
type="akamai_object_storage",
|
|
376
|
+
details=AkamaiObjectStorageLogsDestinationDetails(
|
|
377
|
+
access_key_id="1ABCD23EFG4HIJKLMNO5",
|
|
378
|
+
access_key_secret="1aB2CD3e4fgHi5JK6lmnop7qR8STU9VxYzabcdefHh",
|
|
379
|
+
bucket_name="primary-bucket",
|
|
380
|
+
host="primary-bucket-1.us-east-12.linodeobjects.com",
|
|
381
|
+
path="audit-logs",
|
|
382
|
+
)
|
|
383
|
+
)
|
|
384
|
+
|
|
385
|
+
For a ``custom_https`` destination::
|
|
386
|
+
|
|
387
|
+
new_destination = client.monitor.destination_create(
|
|
388
|
+
label="custom_logs_destination",
|
|
389
|
+
type="custom_https",
|
|
390
|
+
details=CustomHTTPSLogsDestinationDetails(
|
|
391
|
+
endpoint_url="https://my-site.com/log-storage/basicAuth",
|
|
392
|
+
authentication=DestinationAuthentication(
|
|
393
|
+
type="basic",
|
|
394
|
+
details=BasicAuthenticationDetails(
|
|
395
|
+
basic_authentication_user="user",
|
|
396
|
+
basic_authentication_password="pass",
|
|
397
|
+
),
|
|
398
|
+
),
|
|
399
|
+
data_compression="gzip",
|
|
400
|
+
content_type="application/json",
|
|
401
|
+
)
|
|
402
|
+
)
|
|
403
|
+
|
|
404
|
+
API Documentation: https://techdocs.akamai.com/linode-api/reference/post-destination
|
|
405
|
+
|
|
406
|
+
:param label: The name for this logs destination.
|
|
407
|
+
:type label: str
|
|
408
|
+
:param type: The type of destination — ``akamai_object_storage`` or ``custom_https``.
|
|
409
|
+
:type type: str or LogsDestinationType
|
|
410
|
+
:param details: A typed details object matching the destination type.
|
|
411
|
+
Use :class:`AkamaiObjectStorageLogsDestinationDetails` for
|
|
412
|
+
``akamai_object_storage`` or :class:`CustomHTTPSLogsDestinationDetails`
|
|
413
|
+
for ``custom_https``.
|
|
414
|
+
:type details: AkamaiObjectStorageLogsDestinationDetails or CustomHTTPSLogsDestinationDetails
|
|
415
|
+
|
|
416
|
+
:returns: The newly created logs destination.
|
|
417
|
+
:rtype: LogsDestination
|
|
418
|
+
"""
|
|
419
|
+
|
|
420
|
+
params = {
|
|
421
|
+
"label": label,
|
|
422
|
+
"type": type,
|
|
423
|
+
"details": details.dict,
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
result = self.client.post("/monitor/streams/destinations", data=params)
|
|
427
|
+
|
|
428
|
+
if "id" not in result:
|
|
429
|
+
raise UnexpectedResponseError(
|
|
430
|
+
"Unexpected response when creating destination!",
|
|
431
|
+
json=result,
|
|
432
|
+
)
|
|
433
|
+
|
|
434
|
+
return LogsDestination(self.client, result["id"], result)
|
|
435
|
+
|
|
436
|
+
def streams(self, *filters) -> PaginatedList:
|
|
437
|
+
"""
|
|
438
|
+
List available logs streams.
|
|
439
|
+
|
|
440
|
+
Returns a paginated collection of :class:`LogsStream` objects which
|
|
441
|
+
describe logs streams. By default, this method returns all available
|
|
442
|
+
streams; you can supply optional filter expressions to restrict
|
|
443
|
+
the results, for example::
|
|
444
|
+
|
|
445
|
+
# Get all streams with status ``provisioning``
|
|
446
|
+
provisioning_streams = client.monitor.streams(LogsStream.status == "provisioning")
|
|
447
|
+
|
|
448
|
+
API Documentation: https://techdocs.akamai.com/linode-api/reference/get-streams
|
|
449
|
+
|
|
450
|
+
:param filters: Any number of filters to apply to this query.
|
|
451
|
+
See :doc:`Filtering Collections</linode_api4/objects/filtering>`
|
|
452
|
+
for more details on filtering.
|
|
453
|
+
:returns: A list of :class:`LogsStream` objects matching the query.
|
|
454
|
+
:rtype: PaginatedList of LogsStream
|
|
455
|
+
"""
|
|
456
|
+
|
|
457
|
+
return self.client._get_and_filter(LogsStream, *filters)
|
|
458
|
+
|
|
459
|
+
def stream_create(
|
|
460
|
+
self,
|
|
461
|
+
destinations: list[int],
|
|
462
|
+
label: str,
|
|
463
|
+
type: Union[LogsStreamType, str],
|
|
464
|
+
status: Optional[Union[LogsStreamStatus, str]] = None,
|
|
465
|
+
details: Optional[LogsStreamDetails] = None,
|
|
466
|
+
) -> LogsStream:
|
|
467
|
+
"""
|
|
468
|
+
Creates a new :any:`LogsStream` for logs on this account. For example::
|
|
469
|
+
|
|
470
|
+
client = LinodeClient(TOKEN)
|
|
471
|
+
|
|
472
|
+
# audit_logs stream (no details required)
|
|
473
|
+
new_stream = client.monitor.stream_create(
|
|
474
|
+
destinations=[1234],
|
|
475
|
+
label="Linode_services",
|
|
476
|
+
status="active",
|
|
477
|
+
type="audit_logs"
|
|
478
|
+
)
|
|
479
|
+
|
|
480
|
+
# lke_audit_logs stream with specific clusters
|
|
481
|
+
lke_stream = client.monitor.stream_create(
|
|
482
|
+
destinations=[1234],
|
|
483
|
+
label="LKE_audit_stream",
|
|
484
|
+
type="lke_audit_logs",
|
|
485
|
+
details=LogsStreamDetails(
|
|
486
|
+
cluster_ids=[1111, 2222],
|
|
487
|
+
is_auto_add_all_clusters_enabled=False,
|
|
488
|
+
)
|
|
489
|
+
)
|
|
490
|
+
|
|
491
|
+
API Documentation: https://techdocs.akamai.com/linode-api/reference/post-stream
|
|
492
|
+
|
|
493
|
+
:param destinations: The unique identifier for the sync point that will receive logs data.
|
|
494
|
+
Run the List destinations operation and store the id values for each applicable destination.
|
|
495
|
+
At the moment only single destination is supported.
|
|
496
|
+
:type destinations: list[int]
|
|
497
|
+
:param label: The name of the stream. This is used for display purposes in Akamai Cloud Manager.
|
|
498
|
+
:type label: str
|
|
499
|
+
:param type: The type of stream — ``audit_logs`` for Linode control plane logs,
|
|
500
|
+
or ``lke_audit_logs`` for LKE enterprise cluster audit logs.
|
|
501
|
+
:type type: str or LogsStreamType
|
|
502
|
+
:param status: (Optional) The availability status of the stream. Possible values are: ``active``, ``inactive``.
|
|
503
|
+
Defaults to ``active``.
|
|
504
|
+
:type status: str
|
|
505
|
+
:param details: (Optional) Additional stream details. Only applicable for
|
|
506
|
+
``lke_audit_logs`` streams. Omit for ``audit_logs`` streams.
|
|
507
|
+
:type details: LogsStreamDetails
|
|
508
|
+
|
|
509
|
+
:returns: The newly created logs stream.
|
|
510
|
+
:rtype: LogsStream
|
|
511
|
+
"""
|
|
512
|
+
|
|
513
|
+
params = {
|
|
514
|
+
"label": label,
|
|
515
|
+
"type": type,
|
|
516
|
+
"destinations": destinations,
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
if status is not None:
|
|
520
|
+
params["status"] = status
|
|
521
|
+
|
|
522
|
+
if details is not None:
|
|
523
|
+
params["details"] = details.dict
|
|
524
|
+
|
|
525
|
+
result = self.client.post("/monitor/streams", data=params)
|
|
526
|
+
|
|
527
|
+
if "id" not in result:
|
|
528
|
+
raise UnexpectedResponseError(
|
|
529
|
+
"Unexpected response when creating logs stream!",
|
|
530
|
+
json=result,
|
|
531
|
+
)
|
|
532
|
+
|
|
533
|
+
return LogsStream(self.client, result["id"], result)
|