boxd 0.2.15.dev799__tar.gz → 0.2.16.dev832__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.
- {boxd-0.2.15.dev799/src/boxd.egg-info → boxd-0.2.16.dev832}/PKG-INFO +15 -1
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/README.md +14 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/pyproject.toml +1 -1
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/__init__.py +10 -0
- boxd-0.2.16.dev832/src/boxd/_generated/api_pb2.py +572 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/_generated/api_pb2_grpc.py +183 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/_mappers.py +43 -1
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/_requests.py +24 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/models.py +65 -3
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/resources/machines.py +91 -8
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/resources/orgs.py +218 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832/src/boxd.egg-info}/PKG-INFO +15 -1
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/tests/test_mappers.py +37 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/tests/test_namespaces.py +247 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/tests/test_requests.py +54 -0
- boxd-0.2.15.dev799/src/boxd/_generated/api_pb2.py +0 -556
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/LICENSE +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/setup.cfg +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/_client.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/_credentials.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/_generated/__init__.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/_streaming.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/_transport.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/_urls.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/_version_check.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/errors.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/resources/__init__.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/resources/account.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/resources/credentials.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/resources/disks.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/resources/domains.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/resources/snapshots.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/resources/teams.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd/resources/vars.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd.egg-info/SOURCES.txt +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd.egg-info/dependency_links.txt +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd.egg-info/requires.txt +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/src/boxd.egg-info/top_level.txt +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/tests/test_credentials.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/tests/test_delete_self.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/tests/test_streaming.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/tests/test_transport.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/tests/test_urls.py +0 -0
- {boxd-0.2.15.dev799 → boxd-0.2.16.dev832}/tests/test_version_check.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: boxd
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.16.dev832
|
|
4
4
|
Summary: Python SDK for the boxd cloud VM platform
|
|
5
5
|
Author: Azin
|
|
6
6
|
License-Expression: MIT
|
|
@@ -235,6 +235,7 @@ boxd.machines.share(id) # visible to your whole org
|
|
|
235
235
|
boxd.machines.unshare(id)
|
|
236
236
|
boxd.machines.set_auto_suspend_timeout(id, 300) # seconds idle; 0 disables
|
|
237
237
|
boxd.machines.set_auto_hibernate_timeout(id, 0)
|
|
238
|
+
boxd.machines.set_idle_ignore_outbound(id, True) # only inbound connections keep it awake
|
|
238
239
|
boxd.machines.wait_until_ready(id)
|
|
239
240
|
boxd.machines.wait_until_ready(id, timeout=180.0, poll_interval=1.0) # seconds
|
|
240
241
|
boxd.machines.suggest_name()
|
|
@@ -709,6 +710,19 @@ boxd.orgs.clear_machine_defaults("acme") # back to the quota
|
|
|
709
710
|
Only machines created afterwards are affected — every existing machine keeps
|
|
710
711
|
the size it was created with. Omit the org to target your home org.
|
|
711
712
|
|
|
713
|
+
An org can also set whether new machines start with `idle_ignore_outbound` on
|
|
714
|
+
(only inbound connections keep a machine awake). Setting or clearing it
|
|
715
|
+
requires org admin; reading it doesn't.
|
|
716
|
+
|
|
717
|
+
```python
|
|
718
|
+
boxd.orgs.set_idle_ignore_outbound_default("acme", enabled=True)
|
|
719
|
+
r = boxd.orgs.set_idle_ignore_outbound_default("acme", enabled=True, apply_existing=True)
|
|
720
|
+
r.machines_changed, r.machines_skipped # existing machines set; others' private ones left alone
|
|
721
|
+
i = boxd.orgs.get_idle_ignore_outbound_default("acme")
|
|
722
|
+
i.is_set, i.enabled # is_set False = no default, so enabled is False
|
|
723
|
+
boxd.orgs.clear_idle_ignore_outbound_default("acme")
|
|
724
|
+
```
|
|
725
|
+
|
|
712
726
|
```python
|
|
713
727
|
key = boxd.api_keys.create(
|
|
714
728
|
"ci",
|
|
@@ -203,6 +203,7 @@ boxd.machines.share(id) # visible to your whole org
|
|
|
203
203
|
boxd.machines.unshare(id)
|
|
204
204
|
boxd.machines.set_auto_suspend_timeout(id, 300) # seconds idle; 0 disables
|
|
205
205
|
boxd.machines.set_auto_hibernate_timeout(id, 0)
|
|
206
|
+
boxd.machines.set_idle_ignore_outbound(id, True) # only inbound connections keep it awake
|
|
206
207
|
boxd.machines.wait_until_ready(id)
|
|
207
208
|
boxd.machines.wait_until_ready(id, timeout=180.0, poll_interval=1.0) # seconds
|
|
208
209
|
boxd.machines.suggest_name()
|
|
@@ -677,6 +678,19 @@ boxd.orgs.clear_machine_defaults("acme") # back to the quota
|
|
|
677
678
|
Only machines created afterwards are affected — every existing machine keeps
|
|
678
679
|
the size it was created with. Omit the org to target your home org.
|
|
679
680
|
|
|
681
|
+
An org can also set whether new machines start with `idle_ignore_outbound` on
|
|
682
|
+
(only inbound connections keep a machine awake). Setting or clearing it
|
|
683
|
+
requires org admin; reading it doesn't.
|
|
684
|
+
|
|
685
|
+
```python
|
|
686
|
+
boxd.orgs.set_idle_ignore_outbound_default("acme", enabled=True)
|
|
687
|
+
r = boxd.orgs.set_idle_ignore_outbound_default("acme", enabled=True, apply_existing=True)
|
|
688
|
+
r.machines_changed, r.machines_skipped # existing machines set; others' private ones left alone
|
|
689
|
+
i = boxd.orgs.get_idle_ignore_outbound_default("acme")
|
|
690
|
+
i.is_set, i.enabled # is_set False = no default, so enabled is False
|
|
691
|
+
boxd.orgs.clear_idle_ignore_outbound_default("acme")
|
|
692
|
+
```
|
|
693
|
+
|
|
680
694
|
```python
|
|
681
695
|
key = boxd.api_keys.create(
|
|
682
696
|
"ci",
|
|
@@ -57,6 +57,7 @@ from .models import (
|
|
|
57
57
|
BillingActivityEntry,
|
|
58
58
|
BillingActivityPage,
|
|
59
59
|
Machine,
|
|
60
|
+
BotProtectionMode,
|
|
60
61
|
MachineAccess,
|
|
61
62
|
MachineIdle,
|
|
62
63
|
MachineNetworking,
|
|
@@ -67,7 +68,11 @@ from .models import (
|
|
|
67
68
|
MachineUsage,
|
|
68
69
|
MachineUsageReport,
|
|
69
70
|
Org,
|
|
71
|
+
OrgBotProtectionDefault,
|
|
72
|
+
OrgBotProtectionDefaultResult,
|
|
70
73
|
OrgDomain,
|
|
74
|
+
OrgIdleIgnoreOutboundDefault,
|
|
75
|
+
OrgIdleIgnoreOutboundDefaultResult,
|
|
71
76
|
OrgInvite,
|
|
72
77
|
OrgMachineDefaults,
|
|
73
78
|
OrgMember,
|
|
@@ -142,10 +147,15 @@ __all__ = [
|
|
|
142
147
|
"MachineSource",
|
|
143
148
|
"MachineSourceKind",
|
|
144
149
|
"MachineStatus",
|
|
150
|
+
"BotProtectionMode",
|
|
145
151
|
"MachineUsage",
|
|
146
152
|
"MachineUsageReport",
|
|
147
153
|
"Org",
|
|
154
|
+
"OrgBotProtectionDefault",
|
|
155
|
+
"OrgBotProtectionDefaultResult",
|
|
148
156
|
"OrgDomain",
|
|
157
|
+
"OrgIdleIgnoreOutboundDefault",
|
|
158
|
+
"OrgIdleIgnoreOutboundDefaultResult",
|
|
149
159
|
"OrgInvite",
|
|
150
160
|
"OrgMachineDefaults",
|
|
151
161
|
"OrgMember",
|