boxd 0.2.13.dev751__tar.gz → 0.2.13.dev755__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. {boxd-0.2.13.dev751/src/boxd.egg-info → boxd-0.2.13.dev755}/PKG-INFO +6 -6
  2. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/README.md +5 -5
  3. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/pyproject.toml +1 -1
  4. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/__init__.py +4 -4
  5. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/_generated/api_pb2.py +131 -131
  6. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/_generated/api_pb2_grpc.py +14 -14
  7. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/_mappers.py +5 -5
  8. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/models.py +6 -6
  9. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/resources/orgs.py +28 -28
  10. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755/src/boxd.egg-info}/PKG-INFO +6 -6
  11. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/tests/test_namespaces.py +9 -9
  12. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/LICENSE +0 -0
  13. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/setup.cfg +0 -0
  14. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/_client.py +0 -0
  15. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/_credentials.py +0 -0
  16. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/_generated/__init__.py +0 -0
  17. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/_requests.py +0 -0
  18. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/_streaming.py +0 -0
  19. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/_transport.py +0 -0
  20. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/_urls.py +0 -0
  21. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/_version_check.py +0 -0
  22. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/errors.py +0 -0
  23. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/resources/__init__.py +0 -0
  24. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/resources/account.py +0 -0
  25. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/resources/credentials.py +0 -0
  26. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/resources/disks.py +0 -0
  27. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/resources/domains.py +0 -0
  28. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/resources/machines.py +0 -0
  29. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/resources/snapshots.py +0 -0
  30. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/resources/teams.py +0 -0
  31. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd/resources/vars.py +0 -0
  32. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd.egg-info/SOURCES.txt +0 -0
  33. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd.egg-info/dependency_links.txt +0 -0
  34. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd.egg-info/requires.txt +0 -0
  35. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/src/boxd.egg-info/top_level.txt +0 -0
  36. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/tests/test_credentials.py +0 -0
  37. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/tests/test_mappers.py +0 -0
  38. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/tests/test_requests.py +0 -0
  39. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/tests/test_streaming.py +0 -0
  40. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/tests/test_transport.py +0 -0
  41. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/tests/test_urls.py +0 -0
  42. {boxd-0.2.13.dev751 → boxd-0.2.13.dev755}/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.13.dev751
3
+ Version: 0.2.13.dev755
4
4
  Summary: Python SDK for the boxd cloud VM platform
5
5
  Author: Azin
6
6
  License-Expression: MIT
@@ -781,8 +781,8 @@ r.total_cost_micro, r.currency
781
781
  for m in r.machines:
782
782
  print(m.name, m.status, m.cost_micro / 1e6)
783
783
 
784
- # The credit ledger: what was actually charged, newest first.
785
- for e in boxd.orgs.ledger(since=datetime(2026, 9, 1, tzinfo=timezone.utc)):
784
+ # Billing activity: what was actually charged, newest first.
785
+ for e in boxd.orgs.billing_activity(since=datetime(2026, 9, 1, tzinfo=timezone.utc)):
786
786
  print(e.created_at, e.kind, e.amount_micro / 1e6) # charges are negative
787
787
  ```
788
788
 
@@ -804,12 +804,12 @@ that runs to now.
804
804
 
805
805
  Money is in micro-units (1e-6) of the org's currency. Usage is metered in
806
806
  15-minute buckets and priced at the org's current rates, so it is an estimate
807
- that tracks the ledger closely; the ledger is what was charged (one
807
+ that tracks billing activity closely; billing activity is what was charged (one
808
808
  `usage_charge` per 15 minutes for the whole org, plus top-ups and grants).
809
809
  Machines deleted since still show up, with status `"deleted"`. A window spans
810
- at most 366 days. `orgs.ledger_page()` returns one page with its
810
+ at most 366 days. `orgs.billing_activity_page()` returns one page with its
811
811
  `next_page_token` when you want to page by hand. The async client has the
812
- same methods (`async for e in boxd.orgs.ledger(): ...`).
812
+ same methods (`async for e in boxd.orgs.billing_activity(): ...`).
813
813
 
814
814
  ## Errors
815
815
 
@@ -749,8 +749,8 @@ r.total_cost_micro, r.currency
749
749
  for m in r.machines:
750
750
  print(m.name, m.status, m.cost_micro / 1e6)
751
751
 
752
- # The credit ledger: what was actually charged, newest first.
753
- for e in boxd.orgs.ledger(since=datetime(2026, 9, 1, tzinfo=timezone.utc)):
752
+ # Billing activity: what was actually charged, newest first.
753
+ for e in boxd.orgs.billing_activity(since=datetime(2026, 9, 1, tzinfo=timezone.utc)):
754
754
  print(e.created_at, e.kind, e.amount_micro / 1e6) # charges are negative
755
755
  ```
756
756
 
@@ -772,12 +772,12 @@ that runs to now.
772
772
 
773
773
  Money is in micro-units (1e-6) of the org's currency. Usage is metered in
774
774
  15-minute buckets and priced at the org's current rates, so it is an estimate
775
- that tracks the ledger closely; the ledger is what was charged (one
775
+ that tracks billing activity closely; billing activity is what was charged (one
776
776
  `usage_charge` per 15 minutes for the whole org, plus top-ups and grants).
777
777
  Machines deleted since still show up, with status `"deleted"`. A window spans
778
- at most 366 days. `orgs.ledger_page()` returns one page with its
778
+ at most 366 days. `orgs.billing_activity_page()` returns one page with its
779
779
  `next_page_token` when you want to page by hand. The async client has the
780
- same methods (`async for e in boxd.orgs.ledger(): ...`).
780
+ same methods (`async for e in boxd.orgs.billing_activity(): ...`).
781
781
 
782
782
  ## Errors
783
783
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "boxd"
3
- version = "0.2.13.dev751"
3
+ version = "0.2.13.dev755"
4
4
  description = "Python SDK for the boxd cloud VM platform"
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -53,8 +53,8 @@ from .models import (
53
53
  EnvVar,
54
54
  ExecResult,
55
55
  ExposedPort,
56
- LedgerEntry,
57
- LedgerPage,
56
+ BillingActivityEntry,
57
+ BillingActivityPage,
58
58
  Machine,
59
59
  MachineAccess,
60
60
  MachineIdle,
@@ -130,8 +130,8 @@ __all__ = [
130
130
  "EnvVar",
131
131
  "ExecResult",
132
132
  "ExposedPort",
133
- "LedgerEntry",
134
- "LedgerPage",
133
+ "BillingActivityEntry",
134
+ "BillingActivityPage",
135
135
  "Machine",
136
136
  "MachineAccess",
137
137
  "MachineIdle",
@@ -24,7 +24,7 @@ _sym_db = _symbol_database.Default()
24
24
 
25
25
 
26
26
 
27
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\tapi.proto\x12\x0b\x62oxd.api.v1\"\xbf\x01\n\x08VmConfig\x12\x0c\n\x04vcpu\x18\x01 \x01(\r\x12\x14\n\x0cmemory_bytes\x18\x02 \x01(\x04\x12\x12\n\ndisk_bytes\x18\x03 \x01(\x04\x12#\n\x03srf\x18\x04 \x01(\x0b\x32\x16.boxd.api.v1.SrfConfig\x12+\n\x07network\x18\x05 \x01(\x0b\x32\x1a.boxd.api.v1.NetworkConfig\x12)\n\x07volumes\x18\x06 \x03(\x0b\x32\x18.boxd.api.v1.VolumeMount\"t\n\tSrfConfig\x12&\n\x19\x61uto_suspend_timeout_secs\x18\x01 \x01(\rH\x00\x88\x01\x01\x12!\n\x19\x61uto_destroy_timeout_secs\x18\x02 \x01(\rB\x1c\n\x1a_auto_suspend_timeout_secs\"F\n\rNetworkConfig\x12\x0b\n\x03ssh\x18\x01 \x01(\x08\x12(\n\x07proxies\x18\x02 \x03(\x0b\x32\x17.boxd.api.v1.ProxyEntry\"(\n\nProxyEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\"E\n\x0bVolumeMount\x12\x0f\n\x07\x64isk_id\x18\x01 \x01(\t\x12\x12\n\nmount_path\x18\x02 \x01(\t\x12\x11\n\tread_only\x18\x03 \x01(\x08\"\xfb\x01\n\x0f\x43reateVmRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\timage_ref\x18\x02 \x01(\t\x12 \n\x03\x65nv\x18\x05 \x03(\x0b\x32\x13.boxd.api.v1.EnvVar\x12\x0b\n\x03\x63md\x18\x06 \x03(\t\x12\x16\n\x0erestart_policy\x18\x07 \x01(\t\x12%\n\x06\x63onfig\x18\x08 \x01(\x0b\x32\x15.boxd.api.v1.VmConfig\x12\x0b\n\x03org\x18\t \x01(\t\x12\x0e\n\x06shared\x18\n \x01(\x08\x12\x10\n\x08networks\x18\x0b \x03(\t\x12\x10\n\x08isolated\x18\x0c \x01(\x08\x12\x0c\n\x04team\x18\r \x01(\tJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\"$\n\x06\x45nvVar\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\x84\x01\n\x10\x43reateVmResponse\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\tpublic_ip\x18\x03 \x01(\t\x12\x0b\n\x03url\x18\x04 \x01(\t\x12\r\n\x05image\x18\x05 \x01(\t\x12\x0e\n\x06status\x18\x06 \x01(\t\x12\x14\n\x0c\x62oot_time_ms\x18\x07 \x01(\x04\"!\n\x10\x44\x65stroyVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"\x13\n\x11\x44\x65stroyVmResponse\"\x16\n\x14SuggestVmNameRequest\"%\n\x15SuggestVmNameResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\"2\n\x0fRenameVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\" \n\x10RenameVmResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\"7\n\x14SetVmNetworksRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x10\n\x08networks\x18\x02 \x03(\t\")\n\x15SetVmNetworksResponse\x12\x10\n\x08networks\x18\x01 \x03(\t\"6\n\x17SetVmEgressAllowRequest\x12\n\n\x02vm\x18\x01 \x01(\t\x12\x0f\n\x07\x65ntries\x18\x02 \x03(\t\"+\n\x18SetVmEgressAllowResponse\x12\x0f\n\x07\x65ntries\x18\x01 \x03(\t\"U\n\x11\x45xposePortRequest\x12\x11\n\x05vm_id\x18\x01 \x01(\tB\x02\x18\x01\x12\x0f\n\x07vm_port\x18\x02 \x01(\r\x12\x10\n\x08protocol\x18\x03 \x01(\t\x12\n\n\x02vm\x18\x04 \x01(\t\"y\n\x12\x45xposePortResponse\x12\x0f\n\x07vm_name\x18\x01 \x01(\t\x12\x0b\n\x03\x64ns\x18\x02 \x01(\t\x12\x13\n\x0bpublic_port\x18\x03 \x01(\r\x12\x0f\n\x07vm_port\x18\x04 \x01(\r\x12\x10\n\x08protocol\x18\x05 \x01(\t\x12\r\n\x05vm_id\x18\x06 \x01(\t\"E\n\x13UnexposePortRequest\x12\x11\n\x05vm_id\x18\x01 \x01(\tB\x02\x18\x01\x12\x0f\n\x07vm_port\x18\x02 \x01(\r\x12\n\n\x02vm\x18\x03 \x01(\t\"H\n\x14UnexposePortResponse\x12\x30\n\x07\x66orward\x18\x01 \x01(\x0b\x32\x1f.boxd.api.v1.ExposePortResponse\"%\n\x17ListExposedPortsRequest\x12\n\n\x02vm\x18\x01 \x01(\t\"M\n\x18ListExposedPortsResponse\x12\x31\n\x08\x66orwards\x18\x01 \x03(\x0b\x32\x1f.boxd.api.v1.ExposePortResponse\"g\n\rSetVarRequest\x12\x0b\n\x03org\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\r\n\x05value\x18\x04 \x01(\t\x12\r\n\x05scope\x18\x05 \x01(\t\x12\x0f\n\x07\x64omains\x18\x06 \x03(\t\"\x1b\n\x08VarReply\x12\x0f\n\x07message\x18\x01 \x01(\t\",\n\x0fListVarsRequest\x12\x0b\n\x03org\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\t\"Z\n\x07VarItem\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\t\x12\r\n\x05scope\x18\x03 \x01(\t\x12\r\n\x05value\x18\x04 \x01(\t\x12\x0f\n\x07\x64omains\x18\x06 \x03(\tJ\x04\x08\x05\x10\x06\"2\n\x0cVarListReply\x12\"\n\x04vars\x18\x01 \x03(\x0b\x32\x14.boxd.api.v1.VarItem\"J\n\x10RemoveVarRequest\x12\x0b\n\x03org\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\r\n\x05scope\x18\x04 \x01(\t\"L\n\x15SetSecretScopeRequest\x12\x0b\n\x03org\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04\x66rom\x18\x03 \x01(\t\x12\n\n\x02to\x18\x04 \x01(\t\"\x1f\n\x0eStartVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"\x11\n\x0fStartVmResponse\"\x1e\n\rStopVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"\x10\n\x0eStopVmResponse\" \n\x0fRebootVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"\x12\n\x10RebootVmResponse\"!\n\x10SuspendVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"\'\n\x11SuspendVmResponse\x12\x12\n\nsuspend_us\x18\x01 \x01(\x04\" \n\x0fResumeVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"%\n\x10ResumeVmResponse\x12\x11\n\tresume_us\x18\x01 \x01(\x04\"#\n\x12HibernateVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"\x15\n\x13HibernateVmResponse\"\x1e\n\rWakeVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"\x10\n\x0eWakeVmResponse\"\x1d\n\x0cGetVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"\xb4\x05\n\rGetVmResponse\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\timage_ref\x18\x03 \x01(\t\x12\x11\n\tpublic_ip\x18\x04 \x01(\t\x12\x0e\n\x06status\x18\x05 \x01(\t\x12\x16\n\x0erestart_policy\x18\x06 \x01(\t\x12\x12\n\ndisk_bytes\x18\x07 \x01(\x04\x12!\n\x19\x61uto_suspend_timeout_secs\x18\x08 \x01(\r\x12\x10\n\x08ssh_port\x18\t \x01(\r\x12\x0b\n\x03org\x18\n \x01(\t\x12\x13\n\x0b\x62illing_org\x18\x0b \x01(\t\x12\x15\n\raccess_domain\x18\x0c \x01(\t\x12#\n\x1b\x61uto_hibernate_timeout_secs\x18\r \x01(\r\x12\x0e\n\x06source\x18\x0e \x01(\t\x12\x0c\n\x04vcpu\x18\x0f \x01(\r\x12\x14\n\x0cmemory_bytes\x18\x10 \x01(\x04\x12\x12\n\ncreated_at\x18\x11 \x01(\x03\x12\x18\n\x10hibernated_at_ms\x18\x12 \x01(\x03\x12!\n\x19\x61uto_destroy_timeout_secs\x18\x13 \x01(\r\x12\x14\n\x0c\x62oot_time_ms\x18\x14 \x01(\x03\x12\x19\n\x11last_connected_ms\x18\x15 \x01(\x03\x12\x0e\n\x06org_id\x18\x16 \x01(\t\x12\x16\n\x0e\x62illing_org_id\x18\x17 \x01(\t\x12*\n\x0bsource_info\x18\x18 \x01(\x0b\x32\x15.boxd.api.v1.VmSource\x12\x10\n\x08networks\x18\x19 \x03(\t\x12\x10\n\x08isolated\x18\x1a \x01(\x08\x12\x35\n\x0e\x63ustom_domains\x18\x1b \x03(\x0b\x32\x1d.boxd.api.v1.CustomDomainInfo\x12\x14\n\x0c\x65gress_allow\x18\x1c \x03(\t\x12\x16\n\x0e\x62ot_protection\x18\x1d \x01(\x08\"C\n\x08VmSource\x12\x0c\n\x04kind\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x04\x12\n\n\x02id\x18\x04 \x01(\t\"3\n\x0eListVmsRequest\x12\x0b\n\x03org\x18\x01 \x01(\t\x12\x14\n\x0c\x61ll_contexts\x18\x02 \x01(\x08\"P\n\x0fListVmsResponse\x12\'\n\x03vms\x18\x01 \x03(\x0b\x32\x1a.boxd.api.v1.GetVmResponse\x12\x14\n\x0cssh_host_key\x18\x02 \x01(\t\"2\n\x11StreamLogsRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0e\n\x06\x66ollow\x18\x02 \x01(\x08\"\x18\n\x08LogChunk\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"\xc1\x01\n\tExecChunk\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\r\n\x05stdin\x18\x02 \x01(\x08\x12\x0b\n\x03tty\x18\x03 \x01(\x08\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\t\x12\r\n\x05vm_id\x18\x05 \x01(\t\x12\x11\n\texit_code\x18\x06 \x01(\x05\x12\x0c\n\x04\x63ols\x18\x07 \x01(\r\x12\x0c\n\x04rows\x18\x08 \x01(\r\x12\x15\n\rwindow_change\x18\t \x01(\x08\x12\x11\n\tis_stderr\x18\n \x01(\x08\x12\x11\n\tdevice_id\x18\x0b \x01(\t\"+\n\x0c\x44\x65sktopChunk\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"$\n\x14\x43reateNetworkRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"+\n\x15\x43reateNetworkResponse\x12\x12\n\nnetwork_id\x18\x01 \x01(\t\"\x15\n\x13ListNetworksRequest\"B\n\x14ListNetworksResponse\x12*\n\x08networks\x18\x01 \x03(\x0b\x32\x18.boxd.api.v1.NetworkInfo\"A\n\x0bNetworkInfo\x12\x12\n\nnetwork_id\x18\x01 \x01(\t\x12\x0e\n\x06subnet\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\"7\n\x16\x41\x64\x64\x43ustomDomainRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0e\n\x06\x64omain\x18\x02 \x01(\t\"H\n\x17\x41\x64\x64\x43ustomDomainResponse\x12-\n\x06\x64omain\x18\x01 \x01(\x0b\x32\x1d.boxd.api.v1.CustomDomainInfo\"\x1a\n\x18ListCustomDomainsRequest\"K\n\x19ListCustomDomainsResponse\x12.\n\x07\x64omains\x18\x01 \x03(\x0b\x32\x1d.boxd.api.v1.CustomDomainInfo\"+\n\x19RemoveCustomDomainRequest\x12\x0e\n\x06\x64omain\x18\x01 \x01(\t\"\x1c\n\x1aRemoveCustomDomainResponse\"f\n\x10\x43ustomDomainInfo\x12\x0e\n\x06\x64omain\x18\x01 \x01(\t\x12\r\n\x05vm_id\x18\x02 \x01(\t\x12\x0f\n\x07vm_name\x18\x03 \x01(\t\x12\x0e\n\x06status\x18\x04 \x01(\t\x12\x12\n\nlast_error\x18\x05 \x01(\t\"5\n\x13SetOrgDomainRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x0e\n\x06\x64omain\x18\x02 \x01(\t\"B\n\x14SetOrgDomainResponse\x12*\n\x06\x64omain\x18\x01 \x01(\x0b\x32\x1a.boxd.api.v1.OrgDomainInfo\"%\n\x13GetOrgDomainRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\"B\n\x14GetOrgDomainResponse\x12*\n\x06\x64omain\x18\x01 \x01(\x0b\x32\x1a.boxd.api.v1.OrgDomainInfo\"\'\n\x15\x43learOrgDomainRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\"\x18\n\x16\x43learOrgDomainResponse\"S\n\rOrgDomainInfo\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x0e\n\x06\x64omain\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\x12\n\nlast_error\x18\x04 \x01(\t\"\x12\n\x10GetConfigRequest\"8\n\x11GetConfigResponse\x12\x15\n\rdefault_image\x18\x01 \x01(\t\x12\x0c\n\x04zone\x18\x02 \x01(\t\"\x0f\n\rWhoamiRequest\"\x99\x01\n\x0eWhoamiResponse\x12\x0f\n\x07user_id\x18\x01 \x01(\t\x12\x1b\n\x13pubkey_fingerprints\x18\x02 \x03(\t\x12)\n\x07\x62illing\x18\x04 \x01(\x0b\x32\x18.boxd.api.v1.BillingInfo\x12\x14\n\x0c\x64isplay_name\x18\x05 \x01(\tJ\x04\x08\x03\x10\x04R\x12\x64\x65\x66\x61ult_network_id\"\xbb\x02\n\x0b\x42illingInfo\x12\x1b\n\x13subscription_status\x18\x03 \x01(\t\x12\x16\n\x0epast_due_since\x18\x06 \x01(\x03\x12\x0f\n\x07max_vms\x18\x07 \x01(\r\x12\x0c\n\x04vcpu\x18\x08 \x01(\r\x12\x14\n\x0cmemory_bytes\x18\t \x01(\x04\x12\x15\n\rbalance_micro\x18\n \x01(\x03\x12\x14\n\x0c\x62illing_mode\x18\x0b \x01(\t\x12\x10\n\x08\x63urrency\x18\x0c \x01(\t\x12\x14\n\x0c\x63\x65iling_vcpu\x18\r \x01(\r\x12\x1c\n\x14\x63\x65iling_memory_bytes\x18\x0e \x01(\x04J\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06R\x04tierR\x05shapeR\x12stripe_customer_idR\x16stripe_subscription_id\"\x12\n\x10ListPlansRequest\"9\n\x11ListPlansResponse\x12$\n\x05plans\x18\x01 \x03(\x0b\x32\x15.boxd.api.v1.PlanInfo\"\x85\x01\n\x08PlanInfo\x12\x13\n\x0bmonthly_eur\x18\x03 \x01(\r\x12\x12\n\nlookup_key\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\x0c\n\x04vcpu\x18\x06 \x01(\r\x12\x14\n\x0cmemory_bytes\x18\x07 \x01(\x04J\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03R\x04tierR\x05shape\"\x13\n\x11GetBillingRequest\"?\n\x12GetBillingResponse\x12)\n\x07\x62illing\x18\x01 \x01(\x0b\x32\x18.boxd.api.v1.BillingInfo\"T\n\x1c\x43reateCheckoutSessionRequest\x12\x13\n\x0bsuccess_url\x18\x02 \x01(\t\x12\x12\n\ncancel_url\x18\x03 \x01(\tJ\x04\x08\x01\x10\x02R\x05shape\"5\n\x1d\x43reateCheckoutSessionResponse\x12\x14\n\x0c\x63heckout_url\x18\x01 \x01(\t\"7\n!CreateBillingPortalSessionRequest\x12\x12\n\nreturn_url\x18\x01 \x01(\t\"8\n\"CreateBillingPortalSessionResponse\x12\x12\n\nportal_url\x18\x01 \x01(\t\"-\n\x12\x43reateTokenRequest\x12\x17\n\x0f\x65xpires_in_secs\x18\x01 \x01(\x04\"8\n\x13\x43reateTokenResponse\x12\r\n\x05token\x18\x01 \x01(\t\x12\x12\n\nexpires_at\x18\x02 \x01(\x03\"\x13\n\x11ListTokensRequest\"<\n\x12ListTokensResponse\x12&\n\x06tokens\x18\x01 \x03(\x0b\x32\x16.boxd.api.v1.TokenInfo\"@\n\tTokenInfo\x12\x0b\n\x03jti\x18\x01 \x01(\t\x12\x12\n\ncreated_at\x18\x02 \x01(\x03\x12\x12\n\nexpires_at\x18\x03 \x01(\x03\"!\n\x12RevokeTokenRequest\x12\x0b\n\x03jti\x18\x01 \x01(\t\"\x15\n\x13RevokeTokenResponse\"E\n\x11LinkSshKeyRequest\x12\x0e\n\x06pubkey\x18\x01 \x01(\t\x12\x11\n\tdevice_id\x18\x02 \x01(\t\x12\r\n\x05label\x18\x03 \x01(\t\"\x14\n\x12LinkSshKeyResponse\"\x8e\x01\n\rForkVmRequest\x12\x14\n\x0csource_vm_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12%\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\x15.boxd.api.v1.VmConfig\x12\x0e\n\x06shared\x18\x04 \x01(\x08\x12\x10\n\x08networks\x18\x05 \x03(\t\x12\x10\n\x08isolated\x18\x06 \x01(\x08\"\x97\x01\n\x0e\x46orkVmResponse\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\tpublic_ip\x18\x03 \x01(\t\x12\x0b\n\x03url\x18\x04 \x01(\t\x12\r\n\x05image\x18\x05 \x01(\t\x12\x0e\n\x06status\x18\x06 \x01(\t\x12\x13\n\x0b\x66orked_from\x18\x07 \x01(\t\x12\x14\n\x0c\x62oot_time_ms\x18\x08 \x01(\x04\"5\n\x12ListProxiesRequest\x12\x13\n\x07vm_name\x18\x01 \x01(\tB\x02\x18\x01\x12\n\n\x02vm\x18\x02 \x01(\t\">\n\x13ListProxiesResponse\x12\'\n\x07proxies\x18\x01 \x03(\x0b\x32\x16.boxd.api.v1.ProxyInfo\"\xac\x01\n\tProxyInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07vm_name\x18\x02 \x01(\t\x12\x0e\n\x06\x64omain\x18\x03 \x01(\t\x12\x0c\n\x04port\x18\x04 \x01(\r\x12\x12\n\nis_default\x18\x05 \x01(\x08\x12\x14\n\x0cport_display\x18\x06 \x01(\t\x12\r\n\x05vm_id\x18\x07 \x01(\t\x12\x11\n\tport_mode\x18\x08 \x01(\t\x12\x16\n\x0e\x65\x66\x66\x65\x63tive_port\x18\t \x01(\r\"\x17\n\x15ListProxyNodesRequest\"E\n\x16ListProxyNodesResponse\x12+\n\x07proxies\x18\x01 \x03(\x0b\x32\x1a.boxd.api.v1.ProxyNodeInfo\"-\n\rProxyNodeInfo\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x02 \x01(\t\"Q\n\x12\x43reateProxyRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x07vm_name\x18\x02 \x01(\tB\x02\x18\x01\x12\x0c\n\x04port\x18\x03 \x01(\r\x12\n\n\x02vm\x18\x04 \x01(\t\"R\n\x13\x43reateProxyResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07vm_name\x18\x02 \x01(\t\x12\x0e\n\x06\x64omain\x18\x03 \x01(\t\x12\x0c\n\x04port\x18\x04 \x01(\r\"C\n\x12\x44\x65leteProxyRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x07vm_name\x18\x02 \x01(\tB\x02\x18\x01\x12\n\n\x02vm\x18\x03 \x01(\t\"\x15\n\x13\x44\x65leteProxyResponse\"R\n\x13SetProxyPortRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x07vm_name\x18\x02 \x01(\tB\x02\x18\x01\x12\x0c\n\x04port\x18\x03 \x01(\t\x12\n\n\x02vm\x18\x04 \x01(\t\"\x16\n\x14SetProxyPortResponse\">\n\x11UploadFileRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"+\n\x12UploadFileResponse\x12\x15\n\rbytes_written\x18\x01 \x01(\x04\"P\n\x0fUploadFileChunk\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\"2\n\x13\x44ownloadFileRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"$\n\x14\x44ownloadFileResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"5\n\x11\x44ownloadFileChunk\x12\x12\n\ntotal_size\x18\x01 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"-\n\x0eListDirRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"x\n\x08\x44irEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06is_dir\x18\x02 \x01(\x08\x12\x12\n\nsize_bytes\x18\x03 \x01(\x04\x12\x13\n\x0bpermissions\x18\x04 \x01(\t\x12\x13\n\x0bmodified_at\x18\x05 \x01(\x03\x12\x10\n\x08\x61\x64\x64\x65\x64_at\x18\x06 \x01(\x03\"L\n\x0fListDirResponse\x12&\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x15.boxd.api.v1.DirEntry\x12\x11\n\ttruncated\x18\x02 \x01(\x08\"+\n\x0cMkdirRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x0f\n\rMkdirResponse\"F\n\x11RenamePathRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x10\n\x08old_path\x18\x02 \x01(\t\x12\x10\n\x08new_path\x18\x03 \x01(\t\"\x14\n\x12RenamePathResponse\"0\n\x11\x44\x65letePathRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x14\n\x12\x44\x65letePathResponse\"D\n\x0f\x43opyPathRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x10\n\x08old_path\x18\x02 \x01(\t\x12\x10\n\x08new_path\x18\x03 \x01(\t\"\x12\n\x10\x43opyPathResponse\"1\n\x15\x43reateSnapshotRequest\x12\n\n\x02vm\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\\\n\x16\x43reateSnapshotResponse\x12\x13\n\x0bsnapshot_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x04\x12\x0e\n\x06status\x18\x04 \x01(\t\"#\n\x14ListSnapshotsRequest\x12\x0b\n\x03org\x18\x01 \x01(\t\"E\n\x15ListSnapshotsResponse\x12,\n\tsnapshots\x18\x01 \x03(\x0b\x32\x19.boxd.api.v1.SnapshotInfo\"/\n\x12GetSnapshotRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03org\x18\x02 \x01(\t\"B\n\x13GetSnapshotResponse\x12+\n\x08snapshot\x18\x01 \x01(\x0b\x32\x19.boxd.api.v1.SnapshotInfo\"2\n\x15\x44\x65leteSnapshotRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03org\x18\x02 \x01(\t\"\x18\n\x16\x44\x65leteSnapshotResponse\"\x83\x01\n\x1b\x43reateVmFromSnapshotRequest\x12\x10\n\x08snapshot\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12%\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\x15.boxd.api.v1.VmConfig\x12\x0b\n\x03org\x18\x04 \x01(\t\x12\x10\n\x08isolated\x18\x05 \x01(\x08\"\xf3\x01\n\x0cSnapshotInfo\x12\x13\n\x0bsnapshot_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x04\x12\x0e\n\x06status\x18\x04 \x01(\t\x12\x12\n\nsize_bytes\x18\x07 \x01(\x04\x12\x12\n\nupdated_at\x18\x08 \x01(\x03\x12\x0c\n\x04vcpu\x18\t \x01(\r\x12\x14\n\x0cmemory_bytes\x18\n \x01(\x04\x12\x11\n\tuse_count\x18\x0b \x01(\x04\x12\x12\n\ncreated_at\x18\x0c \x01(\x03J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07R\x0eready_replicasR\x10\x64\x65sired_replicas\"3\n\x17\x43reateCheckpointRequest\x12\n\n\x02vm\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"O\n\x18\x43reateCheckpointResponse\x12\x15\n\rcheckpoint_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\"$\n\x16ListCheckpointsRequest\x12\n\n\x02vm\x18\x01 \x01(\t\"K\n\x17ListCheckpointsResponse\x12\x30\n\x0b\x63heckpoints\x18\x01 \x03(\x0b\x32\x1b.boxd.api.v1.CheckpointInfo\"3\n\x17\x44\x65leteCheckpointRequest\x12\n\n\x02vm\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x1a\n\x18\x44\x65leteCheckpointResponse\"4\n\x18RestoreCheckpointRequest\x12\n\n\x02vm\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x1b\n\x19RestoreCheckpointResponse\"\x94\x01\n\x0e\x43heckpointInfo\x12\x15\n\rcheckpoint_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\x12\n\nsize_bytes\x18\x04 \x01(\x04\x12\x12\n\ncreated_at\x18\x05 \x01(\x03\x12\x12\n\ncreated_by\x18\x06 \x01(\t\x12\x11\n\tavailable\x18\x07 \x01(\x08\";\n\x11\x43reateDiskRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nsize_bytes\x18\x02 \x01(\x04J\x04\x08\x03\x10\x04\"]\n\x12\x43reateDiskResponse\x12\x0f\n\x07\x64isk_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nsize_bytes\x18\x03 \x01(\x04\x12\x0e\n\x06status\x18\x04 \x01(\tJ\x04\x08\x05\x10\x06\"\x12\n\x10ListDisksRequest\"9\n\x11ListDisksResponse\x12$\n\x05\x64isks\x18\x01 \x03(\x0b\x32\x15.boxd.api.v1.DiskInfo\"\xaa\x01\n\x08\x44iskInfo\x12\x0f\n\x07\x64isk_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nsize_bytes\x18\x03 \x01(\x04\x12\x0e\n\x06status\x18\x04 \x01(\t\x12\x30\n\x0b\x61ttachments\x18\x06 \x03(\x0b\x32\x1b.boxd.api.v1.DiskAttachment\x12\x12\n\ncreated_at\x18\x08 \x01(\x03J\x04\x08\x05\x10\x06J\x04\x08\x07\x10\x08R\tworker_id\"X\n\x0e\x44iskAttachment\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0f\n\x07vm_name\x18\x02 \x01(\t\x12\x12\n\nmount_path\x18\x03 \x01(\t\x12\x12\n\nmount_mode\x18\x04 \x01(\t\"Z\n\x11\x41ttachDiskRequest\x12\x0f\n\x07\x64isk_id\x18\x01 \x01(\t\x12\r\n\x05vm_id\x18\x02 \x01(\t\x12\x12\n\nmount_path\x18\x03 \x01(\t\x12\x11\n\tread_only\x18\x04 \x01(\x08\"\x14\n\x12\x41ttachDiskResponse\"3\n\x11\x44\x65tachDiskRequest\x12\x0f\n\x07\x64isk_id\x18\x01 \x01(\t\x12\r\n\x05vm_id\x18\x02 \x01(\t\"\x14\n\x12\x44\x65tachDiskResponse\"%\n\x12\x44\x65stroyDiskRequest\x12\x0f\n\x07\x64isk_id\x18\x01 \x01(\t\"\x15\n\x13\x44\x65stroyDiskResponse\"C\n\x1cSetAutoSuspendTimeoutRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x14\n\x0ctimeout_secs\x18\x02 \x01(\r\"\x1f\n\x1dSetAutoSuspendTimeoutResponse\"E\n\x1eSetAutoHibernateTimeoutRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x14\n\x0ctimeout_secs\x18\x02 \x01(\r\"!\n\x1fSetAutoHibernateTimeoutResponse\"9\n\x17SetBotProtectionRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08\"\x1a\n\x18SetBotProtectionResponse\"W\n\x13\x43reateApiKeyRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x17\n\x0f\x65xpires_in_secs\x18\x02 \x01(\x04\x12\x0b\n\x03org\x18\x03 \x01(\t\x12\x0c\n\x04kind\x18\x04 \x01(\t\"G\n\x14\x43reateApiKeyResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07\x61pi_key\x18\x02 \x01(\t\x12\x12\n\nexpires_at\x18\x03 \x01(\x03\"\x14\n\x12ListApiKeysRequest\"<\n\x13ListApiKeysResponse\x12%\n\x04keys\x18\x01 \x03(\x0b\x32\x17.boxd.api.v1.ApiKeyInfo\"\x93\x01\n\nApiKeyInfo\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nkey_prefix\x18\x03 \x01(\t\x12\x12\n\ncreated_at\x18\x04 \x01(\x03\x12\x14\n\x0clast_used_at\x18\x05 \x01(\x03\x12\x12\n\nexpires_at\x18\x06 \x01(\x03\x12\x0b\n\x03org\x18\x07 \x01(\t\x12\x0c\n\x04kind\x18\x08 \x01(\t\"!\n\x13\x44\x65leteApiKeyRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\x16\n\x14\x44\x65leteApiKeyResponse\"\x1f\n\x0eShareVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"\x11\n\x0fShareVmResponse\"\x11\n\x0fListOrgsRequest\"W\n\x10ListOrgsResponse\x12%\n\x04orgs\x18\x01 \x03(\x0b\x32\x17.boxd.api.v1.OrgSummary\x12\x16\n\x0e\x64\x65\x66\x61ult_org_id\x18\x03 \x01(\tJ\x04\x08\x02\x10\x03\"F\n\nOrgSummary\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08is_admin\x18\x03 \x01(\x08\x12\x0c\n\x04slug\x18\x04 \x01(\t\"#\n\x14GetOrgBillingRequest\x12\x0b\n\x03org\x18\x01 \x01(\t\"\xd4\x02\n\x15GetOrgBillingResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08is_admin\x18\x03 \x01(\x08\x12\x0f\n\x07max_vms\x18\x04 \x01(\r\x12\x0c\n\x04vcpu\x18\x05 \x01(\r\x12\x14\n\x0cmemory_bytes\x18\x06 \x01(\x04\x12\x10\n\x08vm_count\x18\x07 \x01(\r\x12%\n\x03vms\x18\x08 \x03(\x0b\x32\x18.boxd.api.v1.OrgBilledVm\x12\x15\n\rbalance_micro\x18\t \x01(\x03\x12\x14\n\x0c\x62illing_mode\x18\n \x01(\t\x12\x1b\n\x0e\x61\x63\x63ruing_micro\x18\x0b \x01(\x03H\x00\x88\x01\x01\x12\x10\n\x08\x63urrency\x18\x0c \x01(\t\x12\x14\n\x0c\x63\x65iling_vcpu\x18\r \x01(\r\x12\x1c\n\x14\x63\x65iling_memory_bytes\x18\x0e \x01(\x04\x42\x11\n\x0f_accruing_micro\"l\n\x0bOrgBilledVm\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05owner\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\x0f\n\x07\x62illing\x18\x05 \x01(\t\x12\x12\n\nowner_name\x18\x06 \x01(\tJ\x04\x08\x04\x10\x05R\x05shape\"^\n\nUsageRates\x12\x17\n\x0fvcpu_hour_micro\x18\x01 \x01(\x03\x12\x1a\n\x12ram_gib_hour_micro\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isk_gib_hour_micro\x18\x03 \x01(\x03\"U\n\x0cStateSeconds\x12\x0f\n\x07running\x18\x01 \x01(\x04\x12\x0f\n\x07standby\x18\x02 \x01(\x04\x12\x12\n\nhibernated\x18\x03 \x01(\x04\x12\x0f\n\x07stopped\x18\x04 \x01(\x04\"\xb7\x02\n\x07VmUsage\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05owner\x18\x03 \x01(\t\x12\x12\n\nowner_name\x18\x04 \x01(\t\x12\x0f\n\x07sharing\x18\x05 \x01(\t\x12\x0e\n\x06status\x18\x06 \x01(\t\x12\x0c\n\x04vcpu\x18\x07 \x01(\r\x12\x14\n\x0cmemory_bytes\x18\x08 \x01(\x04\x12\x12\n\ndisk_bytes\x18\t \x01(\x04\x12*\n\x07seconds\x18\n \x01(\x0b\x32\x19.boxd.api.v1.StateSeconds\x12\x12\n\nvcpu_hours\x18\x0b \x01(\x01\x12\x15\n\rram_gib_hours\x18\x0c \x01(\x01\x12\x16\n\x0e\x64isk_gib_hours\x18\r \x01(\x01\x12\x12\n\ncost_micro\x18\x0e \x01(\x03\x12\x10\n\x08\x63omplete\x18\x0f \x01(\x08\"?\n\x12GetOrgUsageRequest\x12\x0b\n\x03org\x18\x01 \x01(\t\x12\r\n\x05since\x18\x02 \x01(\x03\x12\r\n\x05until\x18\x03 \x01(\x03\"\xe5\x01\n\x13GetOrgUsageResponse\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x0b\n\x03org\x18\x02 \x01(\t\x12\x14\n\x0cperiod_start\x18\x03 \x01(\x03\x12\x12\n\nperiod_end\x18\x04 \x01(\x03\x12\x10\n\x08\x63urrency\x18\x05 \x01(\t\x12&\n\x05rates\x18\x06 \x01(\x0b\x32\x17.boxd.api.v1.UsageRates\x12\x18\n\x10total_cost_micro\x18\x07 \x01(\x03\x12!\n\x03vms\x18\x08 \x03(\x0b\x32\x14.boxd.api.v1.VmUsage\x12\x10\n\x08\x63omplete\x18\t \x01(\x08\"M\n\x11GetVmUsageRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\r\n\x05since\x18\x02 \x01(\x03\x12\r\n\x05until\x18\x03 \x01(\x03\x12\x0b\n\x03org\x18\x04 \x01(\t\"\x9d\x01\n\x12GetVmUsageResponse\x12\x14\n\x0cperiod_start\x18\x01 \x01(\x03\x12\x12\n\nperiod_end\x18\x02 \x01(\x03\x12\x10\n\x08\x63urrency\x18\x03 \x01(\t\x12&\n\x05rates\x18\x04 \x01(\x0b\x32\x17.boxd.api.v1.UsageRates\x12#\n\x05usage\x18\x05 \x01(\x0b\x32\x14.boxd.api.v1.VmUsage\"k\n\x17ListCreditLedgerRequest\x12\x0b\n\x03org\x18\x01 \x01(\t\x12\r\n\x05since\x18\x02 \x01(\x03\x12\r\n\x05until\x18\x03 \x01(\x03\x12\x12\n\npage_token\x18\x04 \x01(\t\x12\x11\n\tpage_size\x18\x05 \x01(\r\"]\n\x11\x43reditLedgerEntry\x12\x10\n\x08\x65ntry_id\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\t\x12\x14\n\x0c\x61mount_micro\x18\x03 \x01(\x03\x12\x12\n\ncreated_at\x18\x04 \x01(\x03\"\x8d\x01\n\x18ListCreditLedgerResponse\x12\x10\n\x08\x63urrency\x18\x01 \x01(\t\x12\x15\n\rbalance_micro\x18\x02 \x01(\x03\x12/\n\x07\x65ntries\x18\x03 \x03(\x0b\x32\x1e.boxd.api.v1.CreditLedgerEntry\x12\x17\n\x0fnext_page_token\x18\x04 \x01(\t\"!\n\x10UnshareVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"\x13\n\x11UnshareVmResponse\"m\n\x18SetBackupScheduleRequest\x12\n\n\x02vm\x18\x01 \x01(\t\x12\x15\n\rschedule_kind\x18\x02 \x01(\t\x12\x16\n\x0eschedule_value\x18\x03 \x01(\t\x12\x16\n\x0eretention_secs\x18\x04 \x01(\r\"\x1b\n\x19SetBackupScheduleResponse\"(\n\x1a\x43learBackupScheduleRequest\x12\n\n\x02vm\x18\x01 \x01(\t\"\x1d\n\x1b\x43learBackupScheduleResponse\"&\n\x18GetBackupScheduleRequest\x12\n\n\x02vm\x18\x01 \x01(\t\"\xa3\x01\n\x19GetBackupScheduleResponse\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x15\n\rschedule_kind\x18\x02 \x01(\t\x12\x16\n\x0eschedule_value\x18\x03 \x01(\t\x12\x16\n\x0eretention_secs\x18\x04 \x01(\r\x12\x16\n\x0enext_backup_at\x18\x05 \x01(\x03\x12\x16\n\x0elast_backup_at\x18\x06 \x01(\x03\" \n\x12ListBackupsRequest\x12\n\n\x02vm\x18\x01 \x01(\t\"\x9a\x01\n\nBackupInfo\x12\x11\n\tbackup_id\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x12\n\nsize_bytes\x18\x03 \x01(\x04\x12\x10\n\x08\x63hecksum\x18\x04 \x01(\t\x12\x1b\n\x13points_to_backup_id\x18\x05 \x01(\t\x12\x12\n\ncreated_at\x18\x06 \x01(\x03\x12\x12\n\nexpires_at\x18\x07 \x01(\x03\"?\n\x13ListBackupsResponse\x12(\n\x07\x62\x61\x63kups\x18\x01 \x03(\x0b\x32\x17.boxd.api.v1.BackupInfo\"\"\n\x14TriggerBackupRequest\x12\n\n\x02vm\x18\x01 \x01(\t\"*\n\x15TriggerBackupResponse\x12\x11\n\tbackup_id\x18\x01 \x01(\t\"4\n\x13\x44\x65leteBackupRequest\x12\n\n\x02vm\x18\x01 \x01(\t\x12\x11\n\tbackup_id\x18\x02 \x01(\t\"\x16\n\x14\x44\x65leteBackupResponse\"5\n\x14RestoreBackupRequest\x12\n\n\x02vm\x18\x01 \x01(\t\x12\x11\n\tbackup_id\x18\x02 \x01(\t\"\x17\n\x15RestoreBackupResponse\"\x87\x01\n\x1bSetOrgBackupsDefaultRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x18\n\x0bperiod_secs\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x1b\n\x0eretention_secs\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x0e\n\x0c_period_secsB\x11\n\x0f_retention_secs\"\\\n\x1cSetOrgBackupsDefaultResponse\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x13\n\x0bperiod_secs\x18\x02 \x01(\r\x12\x16\n\x0eretention_secs\x18\x03 \x01(\r\"-\n\x1bGetOrgBackupsDefaultRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\"\\\n\x1cGetOrgBackupsDefaultResponse\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x13\n\x0bperiod_secs\x18\x02 \x01(\r\x12\x16\n\x0eretention_secs\x18\x03 \x01(\r\"v\n\x1cSetOrgMachineDefaultsRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x11\n\x04vcpu\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x19\n\x0cmemory_bytes\x18\x03 \x01(\x04H\x01\x88\x01\x01\x42\x07\n\x05_vcpuB\x0f\n\r_memory_bytes\"\x1f\n\x1dSetOrgMachineDefaultsResponse\".\n\x1cGetOrgMachineDefaultsRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\"D\n\x0fResizeVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04vcpu\x18\x02 \x01(\r\x12\x14\n\x0cmemory_bytes\x18\x03 \x01(\x04\"H\n\x10ResizeVmResponse\x12\x0c\n\x04vcpu\x18\x01 \x01(\r\x12\x14\n\x0cmemory_bytes\x18\x02 \x01(\x04\x12\x10\n\x08rebooted\x18\x03 \x01(\x08\"\x84\x01\n\x1dGetOrgMachineDefaultsResponse\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0c\n\x04vcpu\x18\x02 \x01(\r\x12\x14\n\x0cmemory_bytes\x18\x03 \x01(\x04\x12\x14\n\x0c\x63\x65iling_vcpu\x18\x04 \x01(\r\x12\x1c\n\x14\x63\x65iling_memory_bytes\x18\x05 \x01(\x04\" \n\x10\x43reateOrgRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"-\n\x11\x43reateOrgResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"0\n\x10RenameOrgRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x13\n\x11RenameOrgResponse\"&\n\x14GetOrgMembersRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\"q\n\x15GetOrgMembersResponse\x12+\n\x07members\x18\x01 \x03(\x0b\x32\x1a.boxd.api.v1.OrgMemberInfo\x12+\n\x07invites\x18\x02 \x03(\x0b\x32\x1a.boxd.api.v1.OrgInviteInfo\"]\n\rOrgMemberInfo\x12\x0f\n\x07user_id\x18\x01 \x01(\t\x12\x0c\n\x04role\x18\x02 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\x17\n\x0fgithub_username\x18\x04 \x01(\t\"w\n\rOrgInviteInfo\x12\r\n\x05token\x18\x01 \x01(\t\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x12\n\naccept_url\x18\x03 \x01(\t\x12\x12\n\ncreated_at\x18\x04 \x01(\x03\x12\x12\n\nexpires_at\x18\x05 \x01(\x03\x12\x0c\n\x04role\x18\x06 \x01(\t\"E\n\x16InviteOrgMemberRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x0c\n\x04role\x18\x03 \x01(\t\"d\n\x17InviteOrgMemberResponse\x12\r\n\x05token\x18\x01 \x01(\t\x12\x12\n\naccept_url\x18\x02 \x01(\t\x12\x12\n\nexpires_at\x18\x03 \x01(\x03\x12\x12\n\ncreated_at\x18\x04 \x01(\x03\"\'\n\x16RevokeOrgInviteRequest\x12\r\n\x05token\x18\x01 \x01(\t\"\x19\n\x17RevokeOrgInviteResponse\"9\n\x16RemoveOrgMemberRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x0f\n\x07user_id\x18\x02 \x01(\t\"\x19\n\x17RemoveOrgMemberResponse\"H\n\x17SetOrgMemberRoleRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x0f\n\x07user_id\x18\x02 \x01(\t\x12\x0c\n\x04role\x18\x03 \x01(\t\"\x1a\n\x18SetOrgMemberRoleResponse\"\xc1\x01\n\x08TeamInfo\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06org_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x1a\n\x12\x63reated_by_user_id\x18\x04 \x01(\t\x12\x12\n\ncreated_at\x18\x05 \x01(\x03\x12\x10\n\x08is_admin\x18\x06 \x01(\x08\x12,\n\x07members\x18\x07 \x03(\x0b\x32\x1b.boxd.api.v1.TeamMemberInfo\x12\x1b\n\x13\x64\x65\x66\x61ult_snapshot_id\x18\x08 \x01(\t\"p\n\x0eTeamMemberInfo\x12\x0f\n\x07user_id\x18\x01 \x01(\t\x12\x0c\n\x04role\x18\x02 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\x17\n\x0fgithub_username\x18\x04 \x01(\t\x12\x10\n\x08\x61\x64\x64\x65\x64_at\x18\x05 \x01(\x03\"\"\n\x10ListTeamsRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\"9\n\x11ListTeamsResponse\x12$\n\x05teams\x18\x01 \x03(\x0b\x32\x15.boxd.api.v1.TeamInfo\"!\n\x0eGetTeamRequest\x12\x0f\n\x07team_id\x18\x01 \x01(\t\"1\n\x11\x43reateTeamRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"2\n\x11RenameTeamRequest\x12\x0f\n\x07team_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x14\n\x12RenameTeamResponse\"%\n\x12\x44\x65stroyTeamRequest\x12\x0f\n\x07team_id\x18\x01 \x01(\t\"\x15\n\x13\x44\x65stroyTeamResponse\"8\n\x14\x41\x64\x64TeamMemberRequest\x12\x0f\n\x07team_id\x18\x01 \x01(\t\x12\x0f\n\x07user_id\x18\x02 \x01(\t\"\x17\n\x15\x41\x64\x64TeamMemberResponse\";\n\x17RemoveTeamMemberRequest\x12\x0f\n\x07team_id\x18\x01 \x01(\t\x12\x0f\n\x07user_id\x18\x02 \x01(\t\"\x1a\n\x18RemoveTeamMemberResponse\"J\n\x18SetTeamMemberRoleRequest\x12\x0f\n\x07team_id\x18\x01 \x01(\t\x12\x0f\n\x07user_id\x18\x02 \x01(\t\x12\x0c\n\x04role\x18\x03 \x01(\t\"\x1b\n\x19SetTeamMemberRoleResponse\"E\n\x1dSetTeamDefaultSnapshotRequest\x12\x0f\n\x07team_id\x18\x01 \x01(\t\x12\x13\n\x0bsnapshot_id\x18\x02 \x01(\t\" \n\x1eSetTeamDefaultSnapshotResponse2\xfeJ\n\x07\x42oxdApi\x12G\n\x08\x43reateVm\x12\x1c.boxd.api.v1.CreateVmRequest\x1a\x1d.boxd.api.v1.CreateVmResponse\x12J\n\tDestroyVm\x12\x1d.boxd.api.v1.DestroyVmRequest\x1a\x1e.boxd.api.v1.DestroyVmResponse\x12G\n\x08RenameVm\x12\x1c.boxd.api.v1.RenameVmRequest\x1a\x1d.boxd.api.v1.RenameVmResponse\x12V\n\rSetVmNetworks\x12!.boxd.api.v1.SetVmNetworksRequest\x1a\".boxd.api.v1.SetVmNetworksResponse\x12_\n\x10SetVmEgressAllow\x12$.boxd.api.v1.SetVmEgressAllowRequest\x1a%.boxd.api.v1.SetVmEgressAllowResponse\x12\x44\n\x07StartVm\x12\x1b.boxd.api.v1.StartVmRequest\x1a\x1c.boxd.api.v1.StartVmResponse\x12\x41\n\x06StopVm\x12\x1a.boxd.api.v1.StopVmRequest\x1a\x1b.boxd.api.v1.StopVmResponse\x12G\n\x08RebootVm\x12\x1c.boxd.api.v1.RebootVmRequest\x1a\x1d.boxd.api.v1.RebootVmResponse\x12>\n\x05GetVm\x12\x19.boxd.api.v1.GetVmRequest\x1a\x1a.boxd.api.v1.GetVmResponse\x12\x44\n\x07ListVms\x12\x1b.boxd.api.v1.ListVmsRequest\x1a\x1c.boxd.api.v1.ListVmsResponse\x12V\n\rSuggestVmName\x12!.boxd.api.v1.SuggestVmNameRequest\x1a\".boxd.api.v1.SuggestVmNameResponse\x12M\n\nExposePort\x12\x1e.boxd.api.v1.ExposePortRequest\x1a\x1f.boxd.api.v1.ExposePortResponse\x12S\n\x0cUnexposePort\x12 .boxd.api.v1.UnexposePortRequest\x1a!.boxd.api.v1.UnexposePortResponse\x12_\n\x10ListExposedPorts\x12$.boxd.api.v1.ListExposedPortsRequest\x1a%.boxd.api.v1.ListExposedPortsResponse\x12;\n\x06SetVar\x12\x1a.boxd.api.v1.SetVarRequest\x1a\x15.boxd.api.v1.VarReply\x12\x43\n\x08ListVars\x12\x1c.boxd.api.v1.ListVarsRequest\x1a\x19.boxd.api.v1.VarListReply\x12\x41\n\tRemoveVar\x12\x1d.boxd.api.v1.RemoveVarRequest\x1a\x15.boxd.api.v1.VarReply\x12K\n\x0eSetSecretScope\x12\".boxd.api.v1.SetSecretScopeRequest\x1a\x15.boxd.api.v1.VarReply\x12\x45\n\nStreamLogs\x12\x1e.boxd.api.v1.StreamLogsRequest\x1a\x15.boxd.api.v1.LogChunk0\x01\x12:\n\x04\x45xec\x12\x16.boxd.api.v1.ExecChunk\x1a\x16.boxd.api.v1.ExecChunk(\x01\x30\x01\x12I\n\rDesktopTunnel\x12\x19.boxd.api.v1.DesktopChunk\x1a\x19.boxd.api.v1.DesktopChunk(\x01\x30\x01\x12V\n\rCreateNetwork\x12!.boxd.api.v1.CreateNetworkRequest\x1a\".boxd.api.v1.CreateNetworkResponse\x12S\n\x0cListNetworks\x12 .boxd.api.v1.ListNetworksRequest\x1a!.boxd.api.v1.ListNetworksResponse\x12\\\n\x0f\x41\x64\x64\x43ustomDomain\x12#.boxd.api.v1.AddCustomDomainRequest\x1a$.boxd.api.v1.AddCustomDomainResponse\x12\x62\n\x11ListCustomDomains\x12%.boxd.api.v1.ListCustomDomainsRequest\x1a&.boxd.api.v1.ListCustomDomainsResponse\x12\x65\n\x12RemoveCustomDomain\x12&.boxd.api.v1.RemoveCustomDomainRequest\x1a\'.boxd.api.v1.RemoveCustomDomainResponse\x12S\n\x0cSetOrgDomain\x12 .boxd.api.v1.SetOrgDomainRequest\x1a!.boxd.api.v1.SetOrgDomainResponse\x12S\n\x0cGetOrgDomain\x12 .boxd.api.v1.GetOrgDomainRequest\x1a!.boxd.api.v1.GetOrgDomainResponse\x12Y\n\x0e\x43learOrgDomain\x12\".boxd.api.v1.ClearOrgDomainRequest\x1a#.boxd.api.v1.ClearOrgDomainResponse\x12\x41\n\x06Whoami\x12\x1a.boxd.api.v1.WhoamiRequest\x1a\x1b.boxd.api.v1.WhoamiResponse\x12P\n\x0b\x43reateToken\x12\x1f.boxd.api.v1.CreateTokenRequest\x1a .boxd.api.v1.CreateTokenResponse\x12M\n\nListTokens\x12\x1e.boxd.api.v1.ListTokensRequest\x1a\x1f.boxd.api.v1.ListTokensResponse\x12P\n\x0bRevokeToken\x12\x1f.boxd.api.v1.RevokeTokenRequest\x1a .boxd.api.v1.RevokeTokenResponse\x12M\n\nLinkSshKey\x12\x1e.boxd.api.v1.LinkSshKeyRequest\x1a\x1f.boxd.api.v1.LinkSshKeyResponse\x12J\n\tGetConfig\x12\x1d.boxd.api.v1.GetConfigRequest\x1a\x1e.boxd.api.v1.GetConfigResponse\x12\x41\n\x06\x46orkVm\x12\x1a.boxd.api.v1.ForkVmRequest\x1a\x1b.boxd.api.v1.ForkVmResponse\x12P\n\x0bListProxies\x12\x1f.boxd.api.v1.ListProxiesRequest\x1a .boxd.api.v1.ListProxiesResponse\x12Y\n\x0eListProxyNodes\x12\".boxd.api.v1.ListProxyNodesRequest\x1a#.boxd.api.v1.ListProxyNodesResponse\x12P\n\x0b\x43reateProxy\x12\x1f.boxd.api.v1.CreateProxyRequest\x1a .boxd.api.v1.CreateProxyResponse\x12P\n\x0b\x44\x65leteProxy\x12\x1f.boxd.api.v1.DeleteProxyRequest\x1a .boxd.api.v1.DeleteProxyResponse\x12S\n\x0cSetProxyPort\x12 .boxd.api.v1.SetProxyPortRequest\x1a!.boxd.api.v1.SetProxyPortResponse\x12M\n\nUploadFile\x12\x1e.boxd.api.v1.UploadFileRequest\x1a\x1f.boxd.api.v1.UploadFileResponse\x12S\n\x10UploadFileStream\x12\x1c.boxd.api.v1.UploadFileChunk\x1a\x1f.boxd.api.v1.UploadFileResponse(\x01\x12S\n\x0c\x44ownloadFile\x12 .boxd.api.v1.DownloadFileRequest\x1a!.boxd.api.v1.DownloadFileResponse\x12X\n\x12\x44ownloadFileStream\x12 .boxd.api.v1.DownloadFileRequest\x1a\x1e.boxd.api.v1.DownloadFileChunk0\x01\x12\x44\n\x07ListDir\x12\x1b.boxd.api.v1.ListDirRequest\x1a\x1c.boxd.api.v1.ListDirResponse\x12>\n\x05Mkdir\x12\x19.boxd.api.v1.MkdirRequest\x1a\x1a.boxd.api.v1.MkdirResponse\x12M\n\nRenamePath\x12\x1e.boxd.api.v1.RenamePathRequest\x1a\x1f.boxd.api.v1.RenamePathResponse\x12M\n\nDeletePath\x12\x1e.boxd.api.v1.DeletePathRequest\x1a\x1f.boxd.api.v1.DeletePathResponse\x12G\n\x08\x43opyPath\x12\x1c.boxd.api.v1.CopyPathRequest\x1a\x1d.boxd.api.v1.CopyPathResponse\x12J\n\tSuspendVm\x12\x1d.boxd.api.v1.SuspendVmRequest\x1a\x1e.boxd.api.v1.SuspendVmResponse\x12G\n\x08ResumeVm\x12\x1c.boxd.api.v1.ResumeVmRequest\x1a\x1d.boxd.api.v1.ResumeVmResponse\x12P\n\x0bHibernateVm\x12\x1f.boxd.api.v1.HibernateVmRequest\x1a .boxd.api.v1.HibernateVmResponse\x12\x41\n\x06WakeVm\x12\x1a.boxd.api.v1.WakeVmRequest\x1a\x1b.boxd.api.v1.WakeVmResponse\x12Y\n\x0e\x43reateSnapshot\x12\".boxd.api.v1.CreateSnapshotRequest\x1a#.boxd.api.v1.CreateSnapshotResponse\x12V\n\rListSnapshots\x12!.boxd.api.v1.ListSnapshotsRequest\x1a\".boxd.api.v1.ListSnapshotsResponse\x12P\n\x0bGetSnapshot\x12\x1f.boxd.api.v1.GetSnapshotRequest\x1a .boxd.api.v1.GetSnapshotResponse\x12Y\n\x0e\x44\x65leteSnapshot\x12\".boxd.api.v1.DeleteSnapshotRequest\x1a#.boxd.api.v1.DeleteSnapshotResponse\x12_\n\x14\x43reateVmFromSnapshot\x12(.boxd.api.v1.CreateVmFromSnapshotRequest\x1a\x1d.boxd.api.v1.CreateVmResponse\x12_\n\x10\x43reateCheckpoint\x12$.boxd.api.v1.CreateCheckpointRequest\x1a%.boxd.api.v1.CreateCheckpointResponse\x12\\\n\x0fListCheckpoints\x12#.boxd.api.v1.ListCheckpointsRequest\x1a$.boxd.api.v1.ListCheckpointsResponse\x12_\n\x10\x44\x65leteCheckpoint\x12$.boxd.api.v1.DeleteCheckpointRequest\x1a%.boxd.api.v1.DeleteCheckpointResponse\x12\x62\n\x11RestoreCheckpoint\x12%.boxd.api.v1.RestoreCheckpointRequest\x1a&.boxd.api.v1.RestoreCheckpointResponse\x12n\n\x15SetAutoSuspendTimeout\x12).boxd.api.v1.SetAutoSuspendTimeoutRequest\x1a*.boxd.api.v1.SetAutoSuspendTimeoutResponse\x12t\n\x17SetAutoHibernateTimeout\x12+.boxd.api.v1.SetAutoHibernateTimeoutRequest\x1a,.boxd.api.v1.SetAutoHibernateTimeoutResponse\x12_\n\x10SetBotProtection\x12$.boxd.api.v1.SetBotProtectionRequest\x1a%.boxd.api.v1.SetBotProtectionResponse\x12M\n\nCreateDisk\x12\x1e.boxd.api.v1.CreateDiskRequest\x1a\x1f.boxd.api.v1.CreateDiskResponse\x12J\n\tListDisks\x12\x1d.boxd.api.v1.ListDisksRequest\x1a\x1e.boxd.api.v1.ListDisksResponse\x12M\n\nAttachDisk\x12\x1e.boxd.api.v1.AttachDiskRequest\x1a\x1f.boxd.api.v1.AttachDiskResponse\x12M\n\nDetachDisk\x12\x1e.boxd.api.v1.DetachDiskRequest\x1a\x1f.boxd.api.v1.DetachDiskResponse\x12P\n\x0b\x44\x65stroyDisk\x12\x1f.boxd.api.v1.DestroyDiskRequest\x1a .boxd.api.v1.DestroyDiskResponse\x12S\n\x0c\x43reateApiKey\x12 .boxd.api.v1.CreateApiKeyRequest\x1a!.boxd.api.v1.CreateApiKeyResponse\x12P\n\x0bListApiKeys\x12\x1f.boxd.api.v1.ListApiKeysRequest\x1a .boxd.api.v1.ListApiKeysResponse\x12S\n\x0c\x44\x65leteApiKey\x12 .boxd.api.v1.DeleteApiKeyRequest\x1a!.boxd.api.v1.DeleteApiKeyResponse\x12J\n\tListPlans\x12\x1d.boxd.api.v1.ListPlansRequest\x1a\x1e.boxd.api.v1.ListPlansResponse\x12M\n\nGetBilling\x12\x1e.boxd.api.v1.GetBillingRequest\x1a\x1f.boxd.api.v1.GetBillingResponse\x12n\n\x15\x43reateCheckoutSession\x12).boxd.api.v1.CreateCheckoutSessionRequest\x1a*.boxd.api.v1.CreateCheckoutSessionResponse\x12}\n\x1a\x43reateBillingPortalSession\x12..boxd.api.v1.CreateBillingPortalSessionRequest\x1a/.boxd.api.v1.CreateBillingPortalSessionResponse\x12\x44\n\x07ShareVm\x12\x1b.boxd.api.v1.ShareVmRequest\x1a\x1c.boxd.api.v1.ShareVmResponse\x12J\n\tUnshareVm\x12\x1d.boxd.api.v1.UnshareVmRequest\x1a\x1e.boxd.api.v1.UnshareVmResponse\x12G\n\x08ListOrgs\x12\x1c.boxd.api.v1.ListOrgsRequest\x1a\x1d.boxd.api.v1.ListOrgsResponse\x12V\n\rGetOrgBilling\x12!.boxd.api.v1.GetOrgBillingRequest\x1a\".boxd.api.v1.GetOrgBillingResponse\x12P\n\x0bGetOrgUsage\x12\x1f.boxd.api.v1.GetOrgUsageRequest\x1a .boxd.api.v1.GetOrgUsageResponse\x12M\n\nGetVmUsage\x12\x1e.boxd.api.v1.GetVmUsageRequest\x1a\x1f.boxd.api.v1.GetVmUsageResponse\x12_\n\x10ListCreditLedger\x12$.boxd.api.v1.ListCreditLedgerRequest\x1a%.boxd.api.v1.ListCreditLedgerResponse\x12\x62\n\x11SetBackupSchedule\x12%.boxd.api.v1.SetBackupScheduleRequest\x1a&.boxd.api.v1.SetBackupScheduleResponse\x12h\n\x13\x43learBackupSchedule\x12\'.boxd.api.v1.ClearBackupScheduleRequest\x1a(.boxd.api.v1.ClearBackupScheduleResponse\x12\x62\n\x11GetBackupSchedule\x12%.boxd.api.v1.GetBackupScheduleRequest\x1a&.boxd.api.v1.GetBackupScheduleResponse\x12P\n\x0bListBackups\x12\x1f.boxd.api.v1.ListBackupsRequest\x1a .boxd.api.v1.ListBackupsResponse\x12V\n\rTriggerBackup\x12!.boxd.api.v1.TriggerBackupRequest\x1a\".boxd.api.v1.TriggerBackupResponse\x12S\n\x0c\x44\x65leteBackup\x12 .boxd.api.v1.DeleteBackupRequest\x1a!.boxd.api.v1.DeleteBackupResponse\x12V\n\rRestoreBackup\x12!.boxd.api.v1.RestoreBackupRequest\x1a\".boxd.api.v1.RestoreBackupResponse\x12k\n\x14SetOrgBackupsDefault\x12(.boxd.api.v1.SetOrgBackupsDefaultRequest\x1a).boxd.api.v1.SetOrgBackupsDefaultResponse\x12k\n\x14GetOrgBackupsDefault\x12(.boxd.api.v1.GetOrgBackupsDefaultRequest\x1a).boxd.api.v1.GetOrgBackupsDefaultResponse\x12n\n\x15SetOrgMachineDefaults\x12).boxd.api.v1.SetOrgMachineDefaultsRequest\x1a*.boxd.api.v1.SetOrgMachineDefaultsResponse\x12n\n\x15GetOrgMachineDefaults\x12).boxd.api.v1.GetOrgMachineDefaultsRequest\x1a*.boxd.api.v1.GetOrgMachineDefaultsResponse\x12J\n\tCreateOrg\x12\x1d.boxd.api.v1.CreateOrgRequest\x1a\x1e.boxd.api.v1.CreateOrgResponse\x12J\n\tRenameOrg\x12\x1d.boxd.api.v1.RenameOrgRequest\x1a\x1e.boxd.api.v1.RenameOrgResponse\x12V\n\rGetOrgMembers\x12!.boxd.api.v1.GetOrgMembersRequest\x1a\".boxd.api.v1.GetOrgMembersResponse\x12\\\n\x0fInviteOrgMember\x12#.boxd.api.v1.InviteOrgMemberRequest\x1a$.boxd.api.v1.InviteOrgMemberResponse\x12\\\n\x0fRevokeOrgInvite\x12#.boxd.api.v1.RevokeOrgInviteRequest\x1a$.boxd.api.v1.RevokeOrgInviteResponse\x12\\\n\x0fRemoveOrgMember\x12#.boxd.api.v1.RemoveOrgMemberRequest\x1a$.boxd.api.v1.RemoveOrgMemberResponse\x12_\n\x10SetOrgMemberRole\x12$.boxd.api.v1.SetOrgMemberRoleRequest\x1a%.boxd.api.v1.SetOrgMemberRoleResponse\x12J\n\tListTeams\x12\x1d.boxd.api.v1.ListTeamsRequest\x1a\x1e.boxd.api.v1.ListTeamsResponse\x12=\n\x07GetTeam\x12\x1b.boxd.api.v1.GetTeamRequest\x1a\x15.boxd.api.v1.TeamInfo\x12\x43\n\nCreateTeam\x12\x1e.boxd.api.v1.CreateTeamRequest\x1a\x15.boxd.api.v1.TeamInfo\x12M\n\nRenameTeam\x12\x1e.boxd.api.v1.RenameTeamRequest\x1a\x1f.boxd.api.v1.RenameTeamResponse\x12P\n\x0b\x44\x65stroyTeam\x12\x1f.boxd.api.v1.DestroyTeamRequest\x1a .boxd.api.v1.DestroyTeamResponse\x12V\n\rAddTeamMember\x12!.boxd.api.v1.AddTeamMemberRequest\x1a\".boxd.api.v1.AddTeamMemberResponse\x12_\n\x10RemoveTeamMember\x12$.boxd.api.v1.RemoveTeamMemberRequest\x1a%.boxd.api.v1.RemoveTeamMemberResponse\x12\x62\n\x11SetTeamMemberRole\x12%.boxd.api.v1.SetTeamMemberRoleRequest\x1a&.boxd.api.v1.SetTeamMemberRoleResponse\x12q\n\x16SetTeamDefaultSnapshot\x12*.boxd.api.v1.SetTeamDefaultSnapshotRequest\x1a+.boxd.api.v1.SetTeamDefaultSnapshotResponse\x12G\n\x08ResizeVm\x12\x1c.boxd.api.v1.ResizeVmRequest\x1a\x1d.boxd.api.v1.ResizeVmResponseb\x06proto3')
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\tapi.proto\x12\x0b\x62oxd.api.v1\"\xbf\x01\n\x08VmConfig\x12\x0c\n\x04vcpu\x18\x01 \x01(\r\x12\x14\n\x0cmemory_bytes\x18\x02 \x01(\x04\x12\x12\n\ndisk_bytes\x18\x03 \x01(\x04\x12#\n\x03srf\x18\x04 \x01(\x0b\x32\x16.boxd.api.v1.SrfConfig\x12+\n\x07network\x18\x05 \x01(\x0b\x32\x1a.boxd.api.v1.NetworkConfig\x12)\n\x07volumes\x18\x06 \x03(\x0b\x32\x18.boxd.api.v1.VolumeMount\"t\n\tSrfConfig\x12&\n\x19\x61uto_suspend_timeout_secs\x18\x01 \x01(\rH\x00\x88\x01\x01\x12!\n\x19\x61uto_destroy_timeout_secs\x18\x02 \x01(\rB\x1c\n\x1a_auto_suspend_timeout_secs\"F\n\rNetworkConfig\x12\x0b\n\x03ssh\x18\x01 \x01(\x08\x12(\n\x07proxies\x18\x02 \x03(\x0b\x32\x17.boxd.api.v1.ProxyEntry\"(\n\nProxyEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\"E\n\x0bVolumeMount\x12\x0f\n\x07\x64isk_id\x18\x01 \x01(\t\x12\x12\n\nmount_path\x18\x02 \x01(\t\x12\x11\n\tread_only\x18\x03 \x01(\x08\"\xfb\x01\n\x0f\x43reateVmRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\timage_ref\x18\x02 \x01(\t\x12 \n\x03\x65nv\x18\x05 \x03(\x0b\x32\x13.boxd.api.v1.EnvVar\x12\x0b\n\x03\x63md\x18\x06 \x03(\t\x12\x16\n\x0erestart_policy\x18\x07 \x01(\t\x12%\n\x06\x63onfig\x18\x08 \x01(\x0b\x32\x15.boxd.api.v1.VmConfig\x12\x0b\n\x03org\x18\t \x01(\t\x12\x0e\n\x06shared\x18\n \x01(\x08\x12\x10\n\x08networks\x18\x0b \x03(\t\x12\x10\n\x08isolated\x18\x0c \x01(\x08\x12\x0c\n\x04team\x18\r \x01(\tJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\"$\n\x06\x45nvVar\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\x84\x01\n\x10\x43reateVmResponse\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\tpublic_ip\x18\x03 \x01(\t\x12\x0b\n\x03url\x18\x04 \x01(\t\x12\r\n\x05image\x18\x05 \x01(\t\x12\x0e\n\x06status\x18\x06 \x01(\t\x12\x14\n\x0c\x62oot_time_ms\x18\x07 \x01(\x04\"!\n\x10\x44\x65stroyVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"\x13\n\x11\x44\x65stroyVmResponse\"\x16\n\x14SuggestVmNameRequest\"%\n\x15SuggestVmNameResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\"2\n\x0fRenameVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\" \n\x10RenameVmResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\"7\n\x14SetVmNetworksRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x10\n\x08networks\x18\x02 \x03(\t\")\n\x15SetVmNetworksResponse\x12\x10\n\x08networks\x18\x01 \x03(\t\"6\n\x17SetVmEgressAllowRequest\x12\n\n\x02vm\x18\x01 \x01(\t\x12\x0f\n\x07\x65ntries\x18\x02 \x03(\t\"+\n\x18SetVmEgressAllowResponse\x12\x0f\n\x07\x65ntries\x18\x01 \x03(\t\"U\n\x11\x45xposePortRequest\x12\x11\n\x05vm_id\x18\x01 \x01(\tB\x02\x18\x01\x12\x0f\n\x07vm_port\x18\x02 \x01(\r\x12\x10\n\x08protocol\x18\x03 \x01(\t\x12\n\n\x02vm\x18\x04 \x01(\t\"y\n\x12\x45xposePortResponse\x12\x0f\n\x07vm_name\x18\x01 \x01(\t\x12\x0b\n\x03\x64ns\x18\x02 \x01(\t\x12\x13\n\x0bpublic_port\x18\x03 \x01(\r\x12\x0f\n\x07vm_port\x18\x04 \x01(\r\x12\x10\n\x08protocol\x18\x05 \x01(\t\x12\r\n\x05vm_id\x18\x06 \x01(\t\"E\n\x13UnexposePortRequest\x12\x11\n\x05vm_id\x18\x01 \x01(\tB\x02\x18\x01\x12\x0f\n\x07vm_port\x18\x02 \x01(\r\x12\n\n\x02vm\x18\x03 \x01(\t\"H\n\x14UnexposePortResponse\x12\x30\n\x07\x66orward\x18\x01 \x01(\x0b\x32\x1f.boxd.api.v1.ExposePortResponse\"%\n\x17ListExposedPortsRequest\x12\n\n\x02vm\x18\x01 \x01(\t\"M\n\x18ListExposedPortsResponse\x12\x31\n\x08\x66orwards\x18\x01 \x03(\x0b\x32\x1f.boxd.api.v1.ExposePortResponse\"g\n\rSetVarRequest\x12\x0b\n\x03org\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\r\n\x05value\x18\x04 \x01(\t\x12\r\n\x05scope\x18\x05 \x01(\t\x12\x0f\n\x07\x64omains\x18\x06 \x03(\t\"\x1b\n\x08VarReply\x12\x0f\n\x07message\x18\x01 \x01(\t\",\n\x0fListVarsRequest\x12\x0b\n\x03org\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\t\"Z\n\x07VarItem\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\t\x12\r\n\x05scope\x18\x03 \x01(\t\x12\r\n\x05value\x18\x04 \x01(\t\x12\x0f\n\x07\x64omains\x18\x06 \x03(\tJ\x04\x08\x05\x10\x06\"2\n\x0cVarListReply\x12\"\n\x04vars\x18\x01 \x03(\x0b\x32\x14.boxd.api.v1.VarItem\"J\n\x10RemoveVarRequest\x12\x0b\n\x03org\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\r\n\x05scope\x18\x04 \x01(\t\"L\n\x15SetSecretScopeRequest\x12\x0b\n\x03org\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04\x66rom\x18\x03 \x01(\t\x12\n\n\x02to\x18\x04 \x01(\t\"\x1f\n\x0eStartVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"\x11\n\x0fStartVmResponse\"\x1e\n\rStopVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"\x10\n\x0eStopVmResponse\" \n\x0fRebootVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"\x12\n\x10RebootVmResponse\"!\n\x10SuspendVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"\'\n\x11SuspendVmResponse\x12\x12\n\nsuspend_us\x18\x01 \x01(\x04\" \n\x0fResumeVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"%\n\x10ResumeVmResponse\x12\x11\n\tresume_us\x18\x01 \x01(\x04\"#\n\x12HibernateVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"\x15\n\x13HibernateVmResponse\"\x1e\n\rWakeVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"\x10\n\x0eWakeVmResponse\"\x1d\n\x0cGetVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"\xb4\x05\n\rGetVmResponse\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\timage_ref\x18\x03 \x01(\t\x12\x11\n\tpublic_ip\x18\x04 \x01(\t\x12\x0e\n\x06status\x18\x05 \x01(\t\x12\x16\n\x0erestart_policy\x18\x06 \x01(\t\x12\x12\n\ndisk_bytes\x18\x07 \x01(\x04\x12!\n\x19\x61uto_suspend_timeout_secs\x18\x08 \x01(\r\x12\x10\n\x08ssh_port\x18\t \x01(\r\x12\x0b\n\x03org\x18\n \x01(\t\x12\x13\n\x0b\x62illing_org\x18\x0b \x01(\t\x12\x15\n\raccess_domain\x18\x0c \x01(\t\x12#\n\x1b\x61uto_hibernate_timeout_secs\x18\r \x01(\r\x12\x0e\n\x06source\x18\x0e \x01(\t\x12\x0c\n\x04vcpu\x18\x0f \x01(\r\x12\x14\n\x0cmemory_bytes\x18\x10 \x01(\x04\x12\x12\n\ncreated_at\x18\x11 \x01(\x03\x12\x18\n\x10hibernated_at_ms\x18\x12 \x01(\x03\x12!\n\x19\x61uto_destroy_timeout_secs\x18\x13 \x01(\r\x12\x14\n\x0c\x62oot_time_ms\x18\x14 \x01(\x03\x12\x19\n\x11last_connected_ms\x18\x15 \x01(\x03\x12\x0e\n\x06org_id\x18\x16 \x01(\t\x12\x16\n\x0e\x62illing_org_id\x18\x17 \x01(\t\x12*\n\x0bsource_info\x18\x18 \x01(\x0b\x32\x15.boxd.api.v1.VmSource\x12\x10\n\x08networks\x18\x19 \x03(\t\x12\x10\n\x08isolated\x18\x1a \x01(\x08\x12\x35\n\x0e\x63ustom_domains\x18\x1b \x03(\x0b\x32\x1d.boxd.api.v1.CustomDomainInfo\x12\x14\n\x0c\x65gress_allow\x18\x1c \x03(\t\x12\x16\n\x0e\x62ot_protection\x18\x1d \x01(\x08\"C\n\x08VmSource\x12\x0c\n\x04kind\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x04\x12\n\n\x02id\x18\x04 \x01(\t\"3\n\x0eListVmsRequest\x12\x0b\n\x03org\x18\x01 \x01(\t\x12\x14\n\x0c\x61ll_contexts\x18\x02 \x01(\x08\"P\n\x0fListVmsResponse\x12\'\n\x03vms\x18\x01 \x03(\x0b\x32\x1a.boxd.api.v1.GetVmResponse\x12\x14\n\x0cssh_host_key\x18\x02 \x01(\t\"2\n\x11StreamLogsRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0e\n\x06\x66ollow\x18\x02 \x01(\x08\"\x18\n\x08LogChunk\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"\xc1\x01\n\tExecChunk\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\r\n\x05stdin\x18\x02 \x01(\x08\x12\x0b\n\x03tty\x18\x03 \x01(\x08\x12\x0f\n\x07\x63ommand\x18\x04 \x01(\t\x12\r\n\x05vm_id\x18\x05 \x01(\t\x12\x11\n\texit_code\x18\x06 \x01(\x05\x12\x0c\n\x04\x63ols\x18\x07 \x01(\r\x12\x0c\n\x04rows\x18\x08 \x01(\r\x12\x15\n\rwindow_change\x18\t \x01(\x08\x12\x11\n\tis_stderr\x18\n \x01(\x08\x12\x11\n\tdevice_id\x18\x0b \x01(\t\"+\n\x0c\x44\x65sktopChunk\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"$\n\x14\x43reateNetworkRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"+\n\x15\x43reateNetworkResponse\x12\x12\n\nnetwork_id\x18\x01 \x01(\t\"\x15\n\x13ListNetworksRequest\"B\n\x14ListNetworksResponse\x12*\n\x08networks\x18\x01 \x03(\x0b\x32\x18.boxd.api.v1.NetworkInfo\"A\n\x0bNetworkInfo\x12\x12\n\nnetwork_id\x18\x01 \x01(\t\x12\x0e\n\x06subnet\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\"7\n\x16\x41\x64\x64\x43ustomDomainRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0e\n\x06\x64omain\x18\x02 \x01(\t\"H\n\x17\x41\x64\x64\x43ustomDomainResponse\x12-\n\x06\x64omain\x18\x01 \x01(\x0b\x32\x1d.boxd.api.v1.CustomDomainInfo\"\x1a\n\x18ListCustomDomainsRequest\"K\n\x19ListCustomDomainsResponse\x12.\n\x07\x64omains\x18\x01 \x03(\x0b\x32\x1d.boxd.api.v1.CustomDomainInfo\"+\n\x19RemoveCustomDomainRequest\x12\x0e\n\x06\x64omain\x18\x01 \x01(\t\"\x1c\n\x1aRemoveCustomDomainResponse\"f\n\x10\x43ustomDomainInfo\x12\x0e\n\x06\x64omain\x18\x01 \x01(\t\x12\r\n\x05vm_id\x18\x02 \x01(\t\x12\x0f\n\x07vm_name\x18\x03 \x01(\t\x12\x0e\n\x06status\x18\x04 \x01(\t\x12\x12\n\nlast_error\x18\x05 \x01(\t\"5\n\x13SetOrgDomainRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x0e\n\x06\x64omain\x18\x02 \x01(\t\"B\n\x14SetOrgDomainResponse\x12*\n\x06\x64omain\x18\x01 \x01(\x0b\x32\x1a.boxd.api.v1.OrgDomainInfo\"%\n\x13GetOrgDomainRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\"B\n\x14GetOrgDomainResponse\x12*\n\x06\x64omain\x18\x01 \x01(\x0b\x32\x1a.boxd.api.v1.OrgDomainInfo\"\'\n\x15\x43learOrgDomainRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\"\x18\n\x16\x43learOrgDomainResponse\"S\n\rOrgDomainInfo\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x0e\n\x06\x64omain\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\x12\n\nlast_error\x18\x04 \x01(\t\"\x12\n\x10GetConfigRequest\"8\n\x11GetConfigResponse\x12\x15\n\rdefault_image\x18\x01 \x01(\t\x12\x0c\n\x04zone\x18\x02 \x01(\t\"\x0f\n\rWhoamiRequest\"\x99\x01\n\x0eWhoamiResponse\x12\x0f\n\x07user_id\x18\x01 \x01(\t\x12\x1b\n\x13pubkey_fingerprints\x18\x02 \x03(\t\x12)\n\x07\x62illing\x18\x04 \x01(\x0b\x32\x18.boxd.api.v1.BillingInfo\x12\x14\n\x0c\x64isplay_name\x18\x05 \x01(\tJ\x04\x08\x03\x10\x04R\x12\x64\x65\x66\x61ult_network_id\"\xbb\x02\n\x0b\x42illingInfo\x12\x1b\n\x13subscription_status\x18\x03 \x01(\t\x12\x16\n\x0epast_due_since\x18\x06 \x01(\x03\x12\x0f\n\x07max_vms\x18\x07 \x01(\r\x12\x0c\n\x04vcpu\x18\x08 \x01(\r\x12\x14\n\x0cmemory_bytes\x18\t \x01(\x04\x12\x15\n\rbalance_micro\x18\n \x01(\x03\x12\x14\n\x0c\x62illing_mode\x18\x0b \x01(\t\x12\x10\n\x08\x63urrency\x18\x0c \x01(\t\x12\x14\n\x0c\x63\x65iling_vcpu\x18\r \x01(\r\x12\x1c\n\x14\x63\x65iling_memory_bytes\x18\x0e \x01(\x04J\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06R\x04tierR\x05shapeR\x12stripe_customer_idR\x16stripe_subscription_id\"\x12\n\x10ListPlansRequest\"9\n\x11ListPlansResponse\x12$\n\x05plans\x18\x01 \x03(\x0b\x32\x15.boxd.api.v1.PlanInfo\"\x85\x01\n\x08PlanInfo\x12\x13\n\x0bmonthly_eur\x18\x03 \x01(\r\x12\x12\n\nlookup_key\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\x0c\n\x04vcpu\x18\x06 \x01(\r\x12\x14\n\x0cmemory_bytes\x18\x07 \x01(\x04J\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03R\x04tierR\x05shape\"\x13\n\x11GetBillingRequest\"?\n\x12GetBillingResponse\x12)\n\x07\x62illing\x18\x01 \x01(\x0b\x32\x18.boxd.api.v1.BillingInfo\"T\n\x1c\x43reateCheckoutSessionRequest\x12\x13\n\x0bsuccess_url\x18\x02 \x01(\t\x12\x12\n\ncancel_url\x18\x03 \x01(\tJ\x04\x08\x01\x10\x02R\x05shape\"5\n\x1d\x43reateCheckoutSessionResponse\x12\x14\n\x0c\x63heckout_url\x18\x01 \x01(\t\"7\n!CreateBillingPortalSessionRequest\x12\x12\n\nreturn_url\x18\x01 \x01(\t\"8\n\"CreateBillingPortalSessionResponse\x12\x12\n\nportal_url\x18\x01 \x01(\t\"-\n\x12\x43reateTokenRequest\x12\x17\n\x0f\x65xpires_in_secs\x18\x01 \x01(\x04\"8\n\x13\x43reateTokenResponse\x12\r\n\x05token\x18\x01 \x01(\t\x12\x12\n\nexpires_at\x18\x02 \x01(\x03\"\x13\n\x11ListTokensRequest\"<\n\x12ListTokensResponse\x12&\n\x06tokens\x18\x01 \x03(\x0b\x32\x16.boxd.api.v1.TokenInfo\"@\n\tTokenInfo\x12\x0b\n\x03jti\x18\x01 \x01(\t\x12\x12\n\ncreated_at\x18\x02 \x01(\x03\x12\x12\n\nexpires_at\x18\x03 \x01(\x03\"!\n\x12RevokeTokenRequest\x12\x0b\n\x03jti\x18\x01 \x01(\t\"\x15\n\x13RevokeTokenResponse\"E\n\x11LinkSshKeyRequest\x12\x0e\n\x06pubkey\x18\x01 \x01(\t\x12\x11\n\tdevice_id\x18\x02 \x01(\t\x12\r\n\x05label\x18\x03 \x01(\t\"\x14\n\x12LinkSshKeyResponse\"\x8e\x01\n\rForkVmRequest\x12\x14\n\x0csource_vm_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12%\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\x15.boxd.api.v1.VmConfig\x12\x0e\n\x06shared\x18\x04 \x01(\x08\x12\x10\n\x08networks\x18\x05 \x03(\t\x12\x10\n\x08isolated\x18\x06 \x01(\x08\"\x97\x01\n\x0e\x46orkVmResponse\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\tpublic_ip\x18\x03 \x01(\t\x12\x0b\n\x03url\x18\x04 \x01(\t\x12\r\n\x05image\x18\x05 \x01(\t\x12\x0e\n\x06status\x18\x06 \x01(\t\x12\x13\n\x0b\x66orked_from\x18\x07 \x01(\t\x12\x14\n\x0c\x62oot_time_ms\x18\x08 \x01(\x04\"5\n\x12ListProxiesRequest\x12\x13\n\x07vm_name\x18\x01 \x01(\tB\x02\x18\x01\x12\n\n\x02vm\x18\x02 \x01(\t\">\n\x13ListProxiesResponse\x12\'\n\x07proxies\x18\x01 \x03(\x0b\x32\x16.boxd.api.v1.ProxyInfo\"\xac\x01\n\tProxyInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07vm_name\x18\x02 \x01(\t\x12\x0e\n\x06\x64omain\x18\x03 \x01(\t\x12\x0c\n\x04port\x18\x04 \x01(\r\x12\x12\n\nis_default\x18\x05 \x01(\x08\x12\x14\n\x0cport_display\x18\x06 \x01(\t\x12\r\n\x05vm_id\x18\x07 \x01(\t\x12\x11\n\tport_mode\x18\x08 \x01(\t\x12\x16\n\x0e\x65\x66\x66\x65\x63tive_port\x18\t \x01(\r\"\x17\n\x15ListProxyNodesRequest\"E\n\x16ListProxyNodesResponse\x12+\n\x07proxies\x18\x01 \x03(\x0b\x32\x1a.boxd.api.v1.ProxyNodeInfo\"-\n\rProxyNodeInfo\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x02 \x01(\t\"Q\n\x12\x43reateProxyRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x07vm_name\x18\x02 \x01(\tB\x02\x18\x01\x12\x0c\n\x04port\x18\x03 \x01(\r\x12\n\n\x02vm\x18\x04 \x01(\t\"R\n\x13\x43reateProxyResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07vm_name\x18\x02 \x01(\t\x12\x0e\n\x06\x64omain\x18\x03 \x01(\t\x12\x0c\n\x04port\x18\x04 \x01(\r\"C\n\x12\x44\x65leteProxyRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x07vm_name\x18\x02 \x01(\tB\x02\x18\x01\x12\n\n\x02vm\x18\x03 \x01(\t\"\x15\n\x13\x44\x65leteProxyResponse\"R\n\x13SetProxyPortRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x07vm_name\x18\x02 \x01(\tB\x02\x18\x01\x12\x0c\n\x04port\x18\x03 \x01(\t\x12\n\n\x02vm\x18\x04 \x01(\t\"\x16\n\x14SetProxyPortResponse\">\n\x11UploadFileRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"+\n\x12UploadFileResponse\x12\x15\n\rbytes_written\x18\x01 \x01(\x04\"P\n\x0fUploadFileChunk\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\"2\n\x13\x44ownloadFileRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"$\n\x14\x44ownloadFileResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"5\n\x11\x44ownloadFileChunk\x12\x12\n\ntotal_size\x18\x01 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"-\n\x0eListDirRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"x\n\x08\x44irEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06is_dir\x18\x02 \x01(\x08\x12\x12\n\nsize_bytes\x18\x03 \x01(\x04\x12\x13\n\x0bpermissions\x18\x04 \x01(\t\x12\x13\n\x0bmodified_at\x18\x05 \x01(\x03\x12\x10\n\x08\x61\x64\x64\x65\x64_at\x18\x06 \x01(\x03\"L\n\x0fListDirResponse\x12&\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x15.boxd.api.v1.DirEntry\x12\x11\n\ttruncated\x18\x02 \x01(\x08\"+\n\x0cMkdirRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x0f\n\rMkdirResponse\"F\n\x11RenamePathRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x10\n\x08old_path\x18\x02 \x01(\t\x12\x10\n\x08new_path\x18\x03 \x01(\t\"\x14\n\x12RenamePathResponse\"0\n\x11\x44\x65letePathRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\"\x14\n\x12\x44\x65letePathResponse\"D\n\x0f\x43opyPathRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x10\n\x08old_path\x18\x02 \x01(\t\x12\x10\n\x08new_path\x18\x03 \x01(\t\"\x12\n\x10\x43opyPathResponse\"1\n\x15\x43reateSnapshotRequest\x12\n\n\x02vm\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\\\n\x16\x43reateSnapshotResponse\x12\x13\n\x0bsnapshot_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x04\x12\x0e\n\x06status\x18\x04 \x01(\t\"#\n\x14ListSnapshotsRequest\x12\x0b\n\x03org\x18\x01 \x01(\t\"E\n\x15ListSnapshotsResponse\x12,\n\tsnapshots\x18\x01 \x03(\x0b\x32\x19.boxd.api.v1.SnapshotInfo\"/\n\x12GetSnapshotRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03org\x18\x02 \x01(\t\"B\n\x13GetSnapshotResponse\x12+\n\x08snapshot\x18\x01 \x01(\x0b\x32\x19.boxd.api.v1.SnapshotInfo\"2\n\x15\x44\x65leteSnapshotRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03org\x18\x02 \x01(\t\"\x18\n\x16\x44\x65leteSnapshotResponse\"\x83\x01\n\x1b\x43reateVmFromSnapshotRequest\x12\x10\n\x08snapshot\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12%\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\x15.boxd.api.v1.VmConfig\x12\x0b\n\x03org\x18\x04 \x01(\t\x12\x10\n\x08isolated\x18\x05 \x01(\x08\"\xf3\x01\n\x0cSnapshotInfo\x12\x13\n\x0bsnapshot_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x04\x12\x0e\n\x06status\x18\x04 \x01(\t\x12\x12\n\nsize_bytes\x18\x07 \x01(\x04\x12\x12\n\nupdated_at\x18\x08 \x01(\x03\x12\x0c\n\x04vcpu\x18\t \x01(\r\x12\x14\n\x0cmemory_bytes\x18\n \x01(\x04\x12\x11\n\tuse_count\x18\x0b \x01(\x04\x12\x12\n\ncreated_at\x18\x0c \x01(\x03J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07R\x0eready_replicasR\x10\x64\x65sired_replicas\"3\n\x17\x43reateCheckpointRequest\x12\n\n\x02vm\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"O\n\x18\x43reateCheckpointResponse\x12\x15\n\rcheckpoint_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\"$\n\x16ListCheckpointsRequest\x12\n\n\x02vm\x18\x01 \x01(\t\"K\n\x17ListCheckpointsResponse\x12\x30\n\x0b\x63heckpoints\x18\x01 \x03(\x0b\x32\x1b.boxd.api.v1.CheckpointInfo\"3\n\x17\x44\x65leteCheckpointRequest\x12\n\n\x02vm\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x1a\n\x18\x44\x65leteCheckpointResponse\"4\n\x18RestoreCheckpointRequest\x12\n\n\x02vm\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x1b\n\x19RestoreCheckpointResponse\"\x94\x01\n\x0e\x43heckpointInfo\x12\x15\n\rcheckpoint_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\x12\n\nsize_bytes\x18\x04 \x01(\x04\x12\x12\n\ncreated_at\x18\x05 \x01(\x03\x12\x12\n\ncreated_by\x18\x06 \x01(\t\x12\x11\n\tavailable\x18\x07 \x01(\x08\";\n\x11\x43reateDiskRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nsize_bytes\x18\x02 \x01(\x04J\x04\x08\x03\x10\x04\"]\n\x12\x43reateDiskResponse\x12\x0f\n\x07\x64isk_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nsize_bytes\x18\x03 \x01(\x04\x12\x0e\n\x06status\x18\x04 \x01(\tJ\x04\x08\x05\x10\x06\"\x12\n\x10ListDisksRequest\"9\n\x11ListDisksResponse\x12$\n\x05\x64isks\x18\x01 \x03(\x0b\x32\x15.boxd.api.v1.DiskInfo\"\xaa\x01\n\x08\x44iskInfo\x12\x0f\n\x07\x64isk_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nsize_bytes\x18\x03 \x01(\x04\x12\x0e\n\x06status\x18\x04 \x01(\t\x12\x30\n\x0b\x61ttachments\x18\x06 \x03(\x0b\x32\x1b.boxd.api.v1.DiskAttachment\x12\x12\n\ncreated_at\x18\x08 \x01(\x03J\x04\x08\x05\x10\x06J\x04\x08\x07\x10\x08R\tworker_id\"X\n\x0e\x44iskAttachment\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0f\n\x07vm_name\x18\x02 \x01(\t\x12\x12\n\nmount_path\x18\x03 \x01(\t\x12\x12\n\nmount_mode\x18\x04 \x01(\t\"Z\n\x11\x41ttachDiskRequest\x12\x0f\n\x07\x64isk_id\x18\x01 \x01(\t\x12\r\n\x05vm_id\x18\x02 \x01(\t\x12\x12\n\nmount_path\x18\x03 \x01(\t\x12\x11\n\tread_only\x18\x04 \x01(\x08\"\x14\n\x12\x41ttachDiskResponse\"3\n\x11\x44\x65tachDiskRequest\x12\x0f\n\x07\x64isk_id\x18\x01 \x01(\t\x12\r\n\x05vm_id\x18\x02 \x01(\t\"\x14\n\x12\x44\x65tachDiskResponse\"%\n\x12\x44\x65stroyDiskRequest\x12\x0f\n\x07\x64isk_id\x18\x01 \x01(\t\"\x15\n\x13\x44\x65stroyDiskResponse\"C\n\x1cSetAutoSuspendTimeoutRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x14\n\x0ctimeout_secs\x18\x02 \x01(\r\"\x1f\n\x1dSetAutoSuspendTimeoutResponse\"E\n\x1eSetAutoHibernateTimeoutRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x14\n\x0ctimeout_secs\x18\x02 \x01(\r\"!\n\x1fSetAutoHibernateTimeoutResponse\"9\n\x17SetBotProtectionRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08\"\x1a\n\x18SetBotProtectionResponse\"W\n\x13\x43reateApiKeyRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x17\n\x0f\x65xpires_in_secs\x18\x02 \x01(\x04\x12\x0b\n\x03org\x18\x03 \x01(\t\x12\x0c\n\x04kind\x18\x04 \x01(\t\"G\n\x14\x43reateApiKeyResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07\x61pi_key\x18\x02 \x01(\t\x12\x12\n\nexpires_at\x18\x03 \x01(\x03\"\x14\n\x12ListApiKeysRequest\"<\n\x13ListApiKeysResponse\x12%\n\x04keys\x18\x01 \x03(\x0b\x32\x17.boxd.api.v1.ApiKeyInfo\"\x93\x01\n\nApiKeyInfo\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nkey_prefix\x18\x03 \x01(\t\x12\x12\n\ncreated_at\x18\x04 \x01(\x03\x12\x14\n\x0clast_used_at\x18\x05 \x01(\x03\x12\x12\n\nexpires_at\x18\x06 \x01(\x03\x12\x0b\n\x03org\x18\x07 \x01(\t\x12\x0c\n\x04kind\x18\x08 \x01(\t\"!\n\x13\x44\x65leteApiKeyRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\x16\n\x14\x44\x65leteApiKeyResponse\"\x1f\n\x0eShareVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"\x11\n\x0fShareVmResponse\"\x11\n\x0fListOrgsRequest\"W\n\x10ListOrgsResponse\x12%\n\x04orgs\x18\x01 \x03(\x0b\x32\x17.boxd.api.v1.OrgSummary\x12\x16\n\x0e\x64\x65\x66\x61ult_org_id\x18\x03 \x01(\tJ\x04\x08\x02\x10\x03\"F\n\nOrgSummary\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08is_admin\x18\x03 \x01(\x08\x12\x0c\n\x04slug\x18\x04 \x01(\t\"#\n\x14GetOrgBillingRequest\x12\x0b\n\x03org\x18\x01 \x01(\t\"\xd4\x02\n\x15GetOrgBillingResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08is_admin\x18\x03 \x01(\x08\x12\x0f\n\x07max_vms\x18\x04 \x01(\r\x12\x0c\n\x04vcpu\x18\x05 \x01(\r\x12\x14\n\x0cmemory_bytes\x18\x06 \x01(\x04\x12\x10\n\x08vm_count\x18\x07 \x01(\r\x12%\n\x03vms\x18\x08 \x03(\x0b\x32\x18.boxd.api.v1.OrgBilledVm\x12\x15\n\rbalance_micro\x18\t \x01(\x03\x12\x14\n\x0c\x62illing_mode\x18\n \x01(\t\x12\x1b\n\x0e\x61\x63\x63ruing_micro\x18\x0b \x01(\x03H\x00\x88\x01\x01\x12\x10\n\x08\x63urrency\x18\x0c \x01(\t\x12\x14\n\x0c\x63\x65iling_vcpu\x18\r \x01(\r\x12\x1c\n\x14\x63\x65iling_memory_bytes\x18\x0e \x01(\x04\x42\x11\n\x0f_accruing_micro\"l\n\x0bOrgBilledVm\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05owner\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12\x0f\n\x07\x62illing\x18\x05 \x01(\t\x12\x12\n\nowner_name\x18\x06 \x01(\tJ\x04\x08\x04\x10\x05R\x05shape\"^\n\nUsageRates\x12\x17\n\x0fvcpu_hour_micro\x18\x01 \x01(\x03\x12\x1a\n\x12ram_gib_hour_micro\x18\x02 \x01(\x03\x12\x1b\n\x13\x64isk_gib_hour_micro\x18\x03 \x01(\x03\"U\n\x0cStateSeconds\x12\x0f\n\x07running\x18\x01 \x01(\x04\x12\x0f\n\x07standby\x18\x02 \x01(\x04\x12\x12\n\nhibernated\x18\x03 \x01(\x04\x12\x0f\n\x07stopped\x18\x04 \x01(\x04\"\xb7\x02\n\x07VmUsage\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05owner\x18\x03 \x01(\t\x12\x12\n\nowner_name\x18\x04 \x01(\t\x12\x0f\n\x07sharing\x18\x05 \x01(\t\x12\x0e\n\x06status\x18\x06 \x01(\t\x12\x0c\n\x04vcpu\x18\x07 \x01(\r\x12\x14\n\x0cmemory_bytes\x18\x08 \x01(\x04\x12\x12\n\ndisk_bytes\x18\t \x01(\x04\x12*\n\x07seconds\x18\n \x01(\x0b\x32\x19.boxd.api.v1.StateSeconds\x12\x12\n\nvcpu_hours\x18\x0b \x01(\x01\x12\x15\n\rram_gib_hours\x18\x0c \x01(\x01\x12\x16\n\x0e\x64isk_gib_hours\x18\r \x01(\x01\x12\x12\n\ncost_micro\x18\x0e \x01(\x03\x12\x10\n\x08\x63omplete\x18\x0f \x01(\x08\"?\n\x12GetOrgUsageRequest\x12\x0b\n\x03org\x18\x01 \x01(\t\x12\r\n\x05since\x18\x02 \x01(\x03\x12\r\n\x05until\x18\x03 \x01(\x03\"\xe5\x01\n\x13GetOrgUsageResponse\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x0b\n\x03org\x18\x02 \x01(\t\x12\x14\n\x0cperiod_start\x18\x03 \x01(\x03\x12\x12\n\nperiod_end\x18\x04 \x01(\x03\x12\x10\n\x08\x63urrency\x18\x05 \x01(\t\x12&\n\x05rates\x18\x06 \x01(\x0b\x32\x17.boxd.api.v1.UsageRates\x12\x18\n\x10total_cost_micro\x18\x07 \x01(\x03\x12!\n\x03vms\x18\x08 \x03(\x0b\x32\x14.boxd.api.v1.VmUsage\x12\x10\n\x08\x63omplete\x18\t \x01(\x08\"M\n\x11GetVmUsageRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\r\n\x05since\x18\x02 \x01(\x03\x12\r\n\x05until\x18\x03 \x01(\x03\x12\x0b\n\x03org\x18\x04 \x01(\t\"\x9d\x01\n\x12GetVmUsageResponse\x12\x14\n\x0cperiod_start\x18\x01 \x01(\x03\x12\x12\n\nperiod_end\x18\x02 \x01(\x03\x12\x10\n\x08\x63urrency\x18\x03 \x01(\t\x12&\n\x05rates\x18\x04 \x01(\x0b\x32\x17.boxd.api.v1.UsageRates\x12#\n\x05usage\x18\x05 \x01(\x0b\x32\x14.boxd.api.v1.VmUsage\"n\n\x1aListBillingActivityRequest\x12\x0b\n\x03org\x18\x01 \x01(\t\x12\r\n\x05since\x18\x02 \x01(\x03\x12\r\n\x05until\x18\x03 \x01(\x03\x12\x12\n\npage_token\x18\x04 \x01(\t\x12\x11\n\tpage_size\x18\x05 \x01(\r\"`\n\x14\x42illingActivityEntry\x12\x10\n\x08\x65ntry_id\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\t\x12\x14\n\x0c\x61mount_micro\x18\x03 \x01(\x03\x12\x12\n\ncreated_at\x18\x04 \x01(\x03\"\x93\x01\n\x1bListBillingActivityResponse\x12\x10\n\x08\x63urrency\x18\x01 \x01(\t\x12\x15\n\rbalance_micro\x18\x02 \x01(\x03\x12\x32\n\x07\x65ntries\x18\x03 \x03(\x0b\x32!.boxd.api.v1.BillingActivityEntry\x12\x17\n\x0fnext_page_token\x18\x04 \x01(\t\"!\n\x10UnshareVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\"\x13\n\x11UnshareVmResponse\"m\n\x18SetBackupScheduleRequest\x12\n\n\x02vm\x18\x01 \x01(\t\x12\x15\n\rschedule_kind\x18\x02 \x01(\t\x12\x16\n\x0eschedule_value\x18\x03 \x01(\t\x12\x16\n\x0eretention_secs\x18\x04 \x01(\r\"\x1b\n\x19SetBackupScheduleResponse\"(\n\x1a\x43learBackupScheduleRequest\x12\n\n\x02vm\x18\x01 \x01(\t\"\x1d\n\x1b\x43learBackupScheduleResponse\"&\n\x18GetBackupScheduleRequest\x12\n\n\x02vm\x18\x01 \x01(\t\"\xa3\x01\n\x19GetBackupScheduleResponse\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x15\n\rschedule_kind\x18\x02 \x01(\t\x12\x16\n\x0eschedule_value\x18\x03 \x01(\t\x12\x16\n\x0eretention_secs\x18\x04 \x01(\r\x12\x16\n\x0enext_backup_at\x18\x05 \x01(\x03\x12\x16\n\x0elast_backup_at\x18\x06 \x01(\x03\" \n\x12ListBackupsRequest\x12\n\n\x02vm\x18\x01 \x01(\t\"\x9a\x01\n\nBackupInfo\x12\x11\n\tbackup_id\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x12\n\nsize_bytes\x18\x03 \x01(\x04\x12\x10\n\x08\x63hecksum\x18\x04 \x01(\t\x12\x1b\n\x13points_to_backup_id\x18\x05 \x01(\t\x12\x12\n\ncreated_at\x18\x06 \x01(\x03\x12\x12\n\nexpires_at\x18\x07 \x01(\x03\"?\n\x13ListBackupsResponse\x12(\n\x07\x62\x61\x63kups\x18\x01 \x03(\x0b\x32\x17.boxd.api.v1.BackupInfo\"\"\n\x14TriggerBackupRequest\x12\n\n\x02vm\x18\x01 \x01(\t\"*\n\x15TriggerBackupResponse\x12\x11\n\tbackup_id\x18\x01 \x01(\t\"4\n\x13\x44\x65leteBackupRequest\x12\n\n\x02vm\x18\x01 \x01(\t\x12\x11\n\tbackup_id\x18\x02 \x01(\t\"\x16\n\x14\x44\x65leteBackupResponse\"5\n\x14RestoreBackupRequest\x12\n\n\x02vm\x18\x01 \x01(\t\x12\x11\n\tbackup_id\x18\x02 \x01(\t\"\x17\n\x15RestoreBackupResponse\"\x87\x01\n\x1bSetOrgBackupsDefaultRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x18\n\x0bperiod_secs\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x1b\n\x0eretention_secs\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x0e\n\x0c_period_secsB\x11\n\x0f_retention_secs\"\\\n\x1cSetOrgBackupsDefaultResponse\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x13\n\x0bperiod_secs\x18\x02 \x01(\r\x12\x16\n\x0eretention_secs\x18\x03 \x01(\r\"-\n\x1bGetOrgBackupsDefaultRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\"\\\n\x1cGetOrgBackupsDefaultResponse\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x13\n\x0bperiod_secs\x18\x02 \x01(\r\x12\x16\n\x0eretention_secs\x18\x03 \x01(\r\"v\n\x1cSetOrgMachineDefaultsRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x11\n\x04vcpu\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x19\n\x0cmemory_bytes\x18\x03 \x01(\x04H\x01\x88\x01\x01\x42\x07\n\x05_vcpuB\x0f\n\r_memory_bytes\"\x1f\n\x1dSetOrgMachineDefaultsResponse\".\n\x1cGetOrgMachineDefaultsRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\"D\n\x0fResizeVmRequest\x12\r\n\x05vm_id\x18\x01 \x01(\t\x12\x0c\n\x04vcpu\x18\x02 \x01(\r\x12\x14\n\x0cmemory_bytes\x18\x03 \x01(\x04\"H\n\x10ResizeVmResponse\x12\x0c\n\x04vcpu\x18\x01 \x01(\r\x12\x14\n\x0cmemory_bytes\x18\x02 \x01(\x04\x12\x10\n\x08rebooted\x18\x03 \x01(\x08\"\x84\x01\n\x1dGetOrgMachineDefaultsResponse\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0c\n\x04vcpu\x18\x02 \x01(\r\x12\x14\n\x0cmemory_bytes\x18\x03 \x01(\x04\x12\x14\n\x0c\x63\x65iling_vcpu\x18\x04 \x01(\r\x12\x1c\n\x14\x63\x65iling_memory_bytes\x18\x05 \x01(\x04\" \n\x10\x43reateOrgRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"-\n\x11\x43reateOrgResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"0\n\x10RenameOrgRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x13\n\x11RenameOrgResponse\"&\n\x14GetOrgMembersRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\"q\n\x15GetOrgMembersResponse\x12+\n\x07members\x18\x01 \x03(\x0b\x32\x1a.boxd.api.v1.OrgMemberInfo\x12+\n\x07invites\x18\x02 \x03(\x0b\x32\x1a.boxd.api.v1.OrgInviteInfo\"]\n\rOrgMemberInfo\x12\x0f\n\x07user_id\x18\x01 \x01(\t\x12\x0c\n\x04role\x18\x02 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\x17\n\x0fgithub_username\x18\x04 \x01(\t\"w\n\rOrgInviteInfo\x12\r\n\x05token\x18\x01 \x01(\t\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x12\n\naccept_url\x18\x03 \x01(\t\x12\x12\n\ncreated_at\x18\x04 \x01(\x03\x12\x12\n\nexpires_at\x18\x05 \x01(\x03\x12\x0c\n\x04role\x18\x06 \x01(\t\"E\n\x16InviteOrgMemberRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x0c\n\x04role\x18\x03 \x01(\t\"d\n\x17InviteOrgMemberResponse\x12\r\n\x05token\x18\x01 \x01(\t\x12\x12\n\naccept_url\x18\x02 \x01(\t\x12\x12\n\nexpires_at\x18\x03 \x01(\x03\x12\x12\n\ncreated_at\x18\x04 \x01(\x03\"\'\n\x16RevokeOrgInviteRequest\x12\r\n\x05token\x18\x01 \x01(\t\"\x19\n\x17RevokeOrgInviteResponse\"9\n\x16RemoveOrgMemberRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x0f\n\x07user_id\x18\x02 \x01(\t\"\x19\n\x17RemoveOrgMemberResponse\"H\n\x17SetOrgMemberRoleRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x0f\n\x07user_id\x18\x02 \x01(\t\x12\x0c\n\x04role\x18\x03 \x01(\t\"\x1a\n\x18SetOrgMemberRoleResponse\"\xc1\x01\n\x08TeamInfo\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06org_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x1a\n\x12\x63reated_by_user_id\x18\x04 \x01(\t\x12\x12\n\ncreated_at\x18\x05 \x01(\x03\x12\x10\n\x08is_admin\x18\x06 \x01(\x08\x12,\n\x07members\x18\x07 \x03(\x0b\x32\x1b.boxd.api.v1.TeamMemberInfo\x12\x1b\n\x13\x64\x65\x66\x61ult_snapshot_id\x18\x08 \x01(\t\"p\n\x0eTeamMemberInfo\x12\x0f\n\x07user_id\x18\x01 \x01(\t\x12\x0c\n\x04role\x18\x02 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\x17\n\x0fgithub_username\x18\x04 \x01(\t\x12\x10\n\x08\x61\x64\x64\x65\x64_at\x18\x05 \x01(\x03\"\"\n\x10ListTeamsRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\"9\n\x11ListTeamsResponse\x12$\n\x05teams\x18\x01 \x03(\x0b\x32\x15.boxd.api.v1.TeamInfo\"!\n\x0eGetTeamRequest\x12\x0f\n\x07team_id\x18\x01 \x01(\t\"1\n\x11\x43reateTeamRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"2\n\x11RenameTeamRequest\x12\x0f\n\x07team_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x14\n\x12RenameTeamResponse\"%\n\x12\x44\x65stroyTeamRequest\x12\x0f\n\x07team_id\x18\x01 \x01(\t\"\x15\n\x13\x44\x65stroyTeamResponse\"8\n\x14\x41\x64\x64TeamMemberRequest\x12\x0f\n\x07team_id\x18\x01 \x01(\t\x12\x0f\n\x07user_id\x18\x02 \x01(\t\"\x17\n\x15\x41\x64\x64TeamMemberResponse\";\n\x17RemoveTeamMemberRequest\x12\x0f\n\x07team_id\x18\x01 \x01(\t\x12\x0f\n\x07user_id\x18\x02 \x01(\t\"\x1a\n\x18RemoveTeamMemberResponse\"J\n\x18SetTeamMemberRoleRequest\x12\x0f\n\x07team_id\x18\x01 \x01(\t\x12\x0f\n\x07user_id\x18\x02 \x01(\t\x12\x0c\n\x04role\x18\x03 \x01(\t\"\x1b\n\x19SetTeamMemberRoleResponse\"E\n\x1dSetTeamDefaultSnapshotRequest\x12\x0f\n\x07team_id\x18\x01 \x01(\t\x12\x13\n\x0bsnapshot_id\x18\x02 \x01(\t\" \n\x1eSetTeamDefaultSnapshotResponse2\x87K\n\x07\x42oxdApi\x12G\n\x08\x43reateVm\x12\x1c.boxd.api.v1.CreateVmRequest\x1a\x1d.boxd.api.v1.CreateVmResponse\x12J\n\tDestroyVm\x12\x1d.boxd.api.v1.DestroyVmRequest\x1a\x1e.boxd.api.v1.DestroyVmResponse\x12G\n\x08RenameVm\x12\x1c.boxd.api.v1.RenameVmRequest\x1a\x1d.boxd.api.v1.RenameVmResponse\x12V\n\rSetVmNetworks\x12!.boxd.api.v1.SetVmNetworksRequest\x1a\".boxd.api.v1.SetVmNetworksResponse\x12_\n\x10SetVmEgressAllow\x12$.boxd.api.v1.SetVmEgressAllowRequest\x1a%.boxd.api.v1.SetVmEgressAllowResponse\x12\x44\n\x07StartVm\x12\x1b.boxd.api.v1.StartVmRequest\x1a\x1c.boxd.api.v1.StartVmResponse\x12\x41\n\x06StopVm\x12\x1a.boxd.api.v1.StopVmRequest\x1a\x1b.boxd.api.v1.StopVmResponse\x12G\n\x08RebootVm\x12\x1c.boxd.api.v1.RebootVmRequest\x1a\x1d.boxd.api.v1.RebootVmResponse\x12>\n\x05GetVm\x12\x19.boxd.api.v1.GetVmRequest\x1a\x1a.boxd.api.v1.GetVmResponse\x12\x44\n\x07ListVms\x12\x1b.boxd.api.v1.ListVmsRequest\x1a\x1c.boxd.api.v1.ListVmsResponse\x12V\n\rSuggestVmName\x12!.boxd.api.v1.SuggestVmNameRequest\x1a\".boxd.api.v1.SuggestVmNameResponse\x12M\n\nExposePort\x12\x1e.boxd.api.v1.ExposePortRequest\x1a\x1f.boxd.api.v1.ExposePortResponse\x12S\n\x0cUnexposePort\x12 .boxd.api.v1.UnexposePortRequest\x1a!.boxd.api.v1.UnexposePortResponse\x12_\n\x10ListExposedPorts\x12$.boxd.api.v1.ListExposedPortsRequest\x1a%.boxd.api.v1.ListExposedPortsResponse\x12;\n\x06SetVar\x12\x1a.boxd.api.v1.SetVarRequest\x1a\x15.boxd.api.v1.VarReply\x12\x43\n\x08ListVars\x12\x1c.boxd.api.v1.ListVarsRequest\x1a\x19.boxd.api.v1.VarListReply\x12\x41\n\tRemoveVar\x12\x1d.boxd.api.v1.RemoveVarRequest\x1a\x15.boxd.api.v1.VarReply\x12K\n\x0eSetSecretScope\x12\".boxd.api.v1.SetSecretScopeRequest\x1a\x15.boxd.api.v1.VarReply\x12\x45\n\nStreamLogs\x12\x1e.boxd.api.v1.StreamLogsRequest\x1a\x15.boxd.api.v1.LogChunk0\x01\x12:\n\x04\x45xec\x12\x16.boxd.api.v1.ExecChunk\x1a\x16.boxd.api.v1.ExecChunk(\x01\x30\x01\x12I\n\rDesktopTunnel\x12\x19.boxd.api.v1.DesktopChunk\x1a\x19.boxd.api.v1.DesktopChunk(\x01\x30\x01\x12V\n\rCreateNetwork\x12!.boxd.api.v1.CreateNetworkRequest\x1a\".boxd.api.v1.CreateNetworkResponse\x12S\n\x0cListNetworks\x12 .boxd.api.v1.ListNetworksRequest\x1a!.boxd.api.v1.ListNetworksResponse\x12\\\n\x0f\x41\x64\x64\x43ustomDomain\x12#.boxd.api.v1.AddCustomDomainRequest\x1a$.boxd.api.v1.AddCustomDomainResponse\x12\x62\n\x11ListCustomDomains\x12%.boxd.api.v1.ListCustomDomainsRequest\x1a&.boxd.api.v1.ListCustomDomainsResponse\x12\x65\n\x12RemoveCustomDomain\x12&.boxd.api.v1.RemoveCustomDomainRequest\x1a\'.boxd.api.v1.RemoveCustomDomainResponse\x12S\n\x0cSetOrgDomain\x12 .boxd.api.v1.SetOrgDomainRequest\x1a!.boxd.api.v1.SetOrgDomainResponse\x12S\n\x0cGetOrgDomain\x12 .boxd.api.v1.GetOrgDomainRequest\x1a!.boxd.api.v1.GetOrgDomainResponse\x12Y\n\x0e\x43learOrgDomain\x12\".boxd.api.v1.ClearOrgDomainRequest\x1a#.boxd.api.v1.ClearOrgDomainResponse\x12\x41\n\x06Whoami\x12\x1a.boxd.api.v1.WhoamiRequest\x1a\x1b.boxd.api.v1.WhoamiResponse\x12P\n\x0b\x43reateToken\x12\x1f.boxd.api.v1.CreateTokenRequest\x1a .boxd.api.v1.CreateTokenResponse\x12M\n\nListTokens\x12\x1e.boxd.api.v1.ListTokensRequest\x1a\x1f.boxd.api.v1.ListTokensResponse\x12P\n\x0bRevokeToken\x12\x1f.boxd.api.v1.RevokeTokenRequest\x1a .boxd.api.v1.RevokeTokenResponse\x12M\n\nLinkSshKey\x12\x1e.boxd.api.v1.LinkSshKeyRequest\x1a\x1f.boxd.api.v1.LinkSshKeyResponse\x12J\n\tGetConfig\x12\x1d.boxd.api.v1.GetConfigRequest\x1a\x1e.boxd.api.v1.GetConfigResponse\x12\x41\n\x06\x46orkVm\x12\x1a.boxd.api.v1.ForkVmRequest\x1a\x1b.boxd.api.v1.ForkVmResponse\x12P\n\x0bListProxies\x12\x1f.boxd.api.v1.ListProxiesRequest\x1a .boxd.api.v1.ListProxiesResponse\x12Y\n\x0eListProxyNodes\x12\".boxd.api.v1.ListProxyNodesRequest\x1a#.boxd.api.v1.ListProxyNodesResponse\x12P\n\x0b\x43reateProxy\x12\x1f.boxd.api.v1.CreateProxyRequest\x1a .boxd.api.v1.CreateProxyResponse\x12P\n\x0b\x44\x65leteProxy\x12\x1f.boxd.api.v1.DeleteProxyRequest\x1a .boxd.api.v1.DeleteProxyResponse\x12S\n\x0cSetProxyPort\x12 .boxd.api.v1.SetProxyPortRequest\x1a!.boxd.api.v1.SetProxyPortResponse\x12M\n\nUploadFile\x12\x1e.boxd.api.v1.UploadFileRequest\x1a\x1f.boxd.api.v1.UploadFileResponse\x12S\n\x10UploadFileStream\x12\x1c.boxd.api.v1.UploadFileChunk\x1a\x1f.boxd.api.v1.UploadFileResponse(\x01\x12S\n\x0c\x44ownloadFile\x12 .boxd.api.v1.DownloadFileRequest\x1a!.boxd.api.v1.DownloadFileResponse\x12X\n\x12\x44ownloadFileStream\x12 .boxd.api.v1.DownloadFileRequest\x1a\x1e.boxd.api.v1.DownloadFileChunk0\x01\x12\x44\n\x07ListDir\x12\x1b.boxd.api.v1.ListDirRequest\x1a\x1c.boxd.api.v1.ListDirResponse\x12>\n\x05Mkdir\x12\x19.boxd.api.v1.MkdirRequest\x1a\x1a.boxd.api.v1.MkdirResponse\x12M\n\nRenamePath\x12\x1e.boxd.api.v1.RenamePathRequest\x1a\x1f.boxd.api.v1.RenamePathResponse\x12M\n\nDeletePath\x12\x1e.boxd.api.v1.DeletePathRequest\x1a\x1f.boxd.api.v1.DeletePathResponse\x12G\n\x08\x43opyPath\x12\x1c.boxd.api.v1.CopyPathRequest\x1a\x1d.boxd.api.v1.CopyPathResponse\x12J\n\tSuspendVm\x12\x1d.boxd.api.v1.SuspendVmRequest\x1a\x1e.boxd.api.v1.SuspendVmResponse\x12G\n\x08ResumeVm\x12\x1c.boxd.api.v1.ResumeVmRequest\x1a\x1d.boxd.api.v1.ResumeVmResponse\x12P\n\x0bHibernateVm\x12\x1f.boxd.api.v1.HibernateVmRequest\x1a .boxd.api.v1.HibernateVmResponse\x12\x41\n\x06WakeVm\x12\x1a.boxd.api.v1.WakeVmRequest\x1a\x1b.boxd.api.v1.WakeVmResponse\x12Y\n\x0e\x43reateSnapshot\x12\".boxd.api.v1.CreateSnapshotRequest\x1a#.boxd.api.v1.CreateSnapshotResponse\x12V\n\rListSnapshots\x12!.boxd.api.v1.ListSnapshotsRequest\x1a\".boxd.api.v1.ListSnapshotsResponse\x12P\n\x0bGetSnapshot\x12\x1f.boxd.api.v1.GetSnapshotRequest\x1a .boxd.api.v1.GetSnapshotResponse\x12Y\n\x0e\x44\x65leteSnapshot\x12\".boxd.api.v1.DeleteSnapshotRequest\x1a#.boxd.api.v1.DeleteSnapshotResponse\x12_\n\x14\x43reateVmFromSnapshot\x12(.boxd.api.v1.CreateVmFromSnapshotRequest\x1a\x1d.boxd.api.v1.CreateVmResponse\x12_\n\x10\x43reateCheckpoint\x12$.boxd.api.v1.CreateCheckpointRequest\x1a%.boxd.api.v1.CreateCheckpointResponse\x12\\\n\x0fListCheckpoints\x12#.boxd.api.v1.ListCheckpointsRequest\x1a$.boxd.api.v1.ListCheckpointsResponse\x12_\n\x10\x44\x65leteCheckpoint\x12$.boxd.api.v1.DeleteCheckpointRequest\x1a%.boxd.api.v1.DeleteCheckpointResponse\x12\x62\n\x11RestoreCheckpoint\x12%.boxd.api.v1.RestoreCheckpointRequest\x1a&.boxd.api.v1.RestoreCheckpointResponse\x12n\n\x15SetAutoSuspendTimeout\x12).boxd.api.v1.SetAutoSuspendTimeoutRequest\x1a*.boxd.api.v1.SetAutoSuspendTimeoutResponse\x12t\n\x17SetAutoHibernateTimeout\x12+.boxd.api.v1.SetAutoHibernateTimeoutRequest\x1a,.boxd.api.v1.SetAutoHibernateTimeoutResponse\x12_\n\x10SetBotProtection\x12$.boxd.api.v1.SetBotProtectionRequest\x1a%.boxd.api.v1.SetBotProtectionResponse\x12M\n\nCreateDisk\x12\x1e.boxd.api.v1.CreateDiskRequest\x1a\x1f.boxd.api.v1.CreateDiskResponse\x12J\n\tListDisks\x12\x1d.boxd.api.v1.ListDisksRequest\x1a\x1e.boxd.api.v1.ListDisksResponse\x12M\n\nAttachDisk\x12\x1e.boxd.api.v1.AttachDiskRequest\x1a\x1f.boxd.api.v1.AttachDiskResponse\x12M\n\nDetachDisk\x12\x1e.boxd.api.v1.DetachDiskRequest\x1a\x1f.boxd.api.v1.DetachDiskResponse\x12P\n\x0b\x44\x65stroyDisk\x12\x1f.boxd.api.v1.DestroyDiskRequest\x1a .boxd.api.v1.DestroyDiskResponse\x12S\n\x0c\x43reateApiKey\x12 .boxd.api.v1.CreateApiKeyRequest\x1a!.boxd.api.v1.CreateApiKeyResponse\x12P\n\x0bListApiKeys\x12\x1f.boxd.api.v1.ListApiKeysRequest\x1a .boxd.api.v1.ListApiKeysResponse\x12S\n\x0c\x44\x65leteApiKey\x12 .boxd.api.v1.DeleteApiKeyRequest\x1a!.boxd.api.v1.DeleteApiKeyResponse\x12J\n\tListPlans\x12\x1d.boxd.api.v1.ListPlansRequest\x1a\x1e.boxd.api.v1.ListPlansResponse\x12M\n\nGetBilling\x12\x1e.boxd.api.v1.GetBillingRequest\x1a\x1f.boxd.api.v1.GetBillingResponse\x12n\n\x15\x43reateCheckoutSession\x12).boxd.api.v1.CreateCheckoutSessionRequest\x1a*.boxd.api.v1.CreateCheckoutSessionResponse\x12}\n\x1a\x43reateBillingPortalSession\x12..boxd.api.v1.CreateBillingPortalSessionRequest\x1a/.boxd.api.v1.CreateBillingPortalSessionResponse\x12\x44\n\x07ShareVm\x12\x1b.boxd.api.v1.ShareVmRequest\x1a\x1c.boxd.api.v1.ShareVmResponse\x12J\n\tUnshareVm\x12\x1d.boxd.api.v1.UnshareVmRequest\x1a\x1e.boxd.api.v1.UnshareVmResponse\x12G\n\x08ListOrgs\x12\x1c.boxd.api.v1.ListOrgsRequest\x1a\x1d.boxd.api.v1.ListOrgsResponse\x12V\n\rGetOrgBilling\x12!.boxd.api.v1.GetOrgBillingRequest\x1a\".boxd.api.v1.GetOrgBillingResponse\x12P\n\x0bGetOrgUsage\x12\x1f.boxd.api.v1.GetOrgUsageRequest\x1a .boxd.api.v1.GetOrgUsageResponse\x12M\n\nGetVmUsage\x12\x1e.boxd.api.v1.GetVmUsageRequest\x1a\x1f.boxd.api.v1.GetVmUsageResponse\x12h\n\x13ListBillingActivity\x12\'.boxd.api.v1.ListBillingActivityRequest\x1a(.boxd.api.v1.ListBillingActivityResponse\x12\x62\n\x11SetBackupSchedule\x12%.boxd.api.v1.SetBackupScheduleRequest\x1a&.boxd.api.v1.SetBackupScheduleResponse\x12h\n\x13\x43learBackupSchedule\x12\'.boxd.api.v1.ClearBackupScheduleRequest\x1a(.boxd.api.v1.ClearBackupScheduleResponse\x12\x62\n\x11GetBackupSchedule\x12%.boxd.api.v1.GetBackupScheduleRequest\x1a&.boxd.api.v1.GetBackupScheduleResponse\x12P\n\x0bListBackups\x12\x1f.boxd.api.v1.ListBackupsRequest\x1a .boxd.api.v1.ListBackupsResponse\x12V\n\rTriggerBackup\x12!.boxd.api.v1.TriggerBackupRequest\x1a\".boxd.api.v1.TriggerBackupResponse\x12S\n\x0c\x44\x65leteBackup\x12 .boxd.api.v1.DeleteBackupRequest\x1a!.boxd.api.v1.DeleteBackupResponse\x12V\n\rRestoreBackup\x12!.boxd.api.v1.RestoreBackupRequest\x1a\".boxd.api.v1.RestoreBackupResponse\x12k\n\x14SetOrgBackupsDefault\x12(.boxd.api.v1.SetOrgBackupsDefaultRequest\x1a).boxd.api.v1.SetOrgBackupsDefaultResponse\x12k\n\x14GetOrgBackupsDefault\x12(.boxd.api.v1.GetOrgBackupsDefaultRequest\x1a).boxd.api.v1.GetOrgBackupsDefaultResponse\x12n\n\x15SetOrgMachineDefaults\x12).boxd.api.v1.SetOrgMachineDefaultsRequest\x1a*.boxd.api.v1.SetOrgMachineDefaultsResponse\x12n\n\x15GetOrgMachineDefaults\x12).boxd.api.v1.GetOrgMachineDefaultsRequest\x1a*.boxd.api.v1.GetOrgMachineDefaultsResponse\x12J\n\tCreateOrg\x12\x1d.boxd.api.v1.CreateOrgRequest\x1a\x1e.boxd.api.v1.CreateOrgResponse\x12J\n\tRenameOrg\x12\x1d.boxd.api.v1.RenameOrgRequest\x1a\x1e.boxd.api.v1.RenameOrgResponse\x12V\n\rGetOrgMembers\x12!.boxd.api.v1.GetOrgMembersRequest\x1a\".boxd.api.v1.GetOrgMembersResponse\x12\\\n\x0fInviteOrgMember\x12#.boxd.api.v1.InviteOrgMemberRequest\x1a$.boxd.api.v1.InviteOrgMemberResponse\x12\\\n\x0fRevokeOrgInvite\x12#.boxd.api.v1.RevokeOrgInviteRequest\x1a$.boxd.api.v1.RevokeOrgInviteResponse\x12\\\n\x0fRemoveOrgMember\x12#.boxd.api.v1.RemoveOrgMemberRequest\x1a$.boxd.api.v1.RemoveOrgMemberResponse\x12_\n\x10SetOrgMemberRole\x12$.boxd.api.v1.SetOrgMemberRoleRequest\x1a%.boxd.api.v1.SetOrgMemberRoleResponse\x12J\n\tListTeams\x12\x1d.boxd.api.v1.ListTeamsRequest\x1a\x1e.boxd.api.v1.ListTeamsResponse\x12=\n\x07GetTeam\x12\x1b.boxd.api.v1.GetTeamRequest\x1a\x15.boxd.api.v1.TeamInfo\x12\x43\n\nCreateTeam\x12\x1e.boxd.api.v1.CreateTeamRequest\x1a\x15.boxd.api.v1.TeamInfo\x12M\n\nRenameTeam\x12\x1e.boxd.api.v1.RenameTeamRequest\x1a\x1f.boxd.api.v1.RenameTeamResponse\x12P\n\x0b\x44\x65stroyTeam\x12\x1f.boxd.api.v1.DestroyTeamRequest\x1a .boxd.api.v1.DestroyTeamResponse\x12V\n\rAddTeamMember\x12!.boxd.api.v1.AddTeamMemberRequest\x1a\".boxd.api.v1.AddTeamMemberResponse\x12_\n\x10RemoveTeamMember\x12$.boxd.api.v1.RemoveTeamMemberRequest\x1a%.boxd.api.v1.RemoveTeamMemberResponse\x12\x62\n\x11SetTeamMemberRole\x12%.boxd.api.v1.SetTeamMemberRoleRequest\x1a&.boxd.api.v1.SetTeamMemberRoleResponse\x12q\n\x16SetTeamDefaultSnapshot\x12*.boxd.api.v1.SetTeamDefaultSnapshotRequest\x1a+.boxd.api.v1.SetTeamDefaultSnapshotResponse\x12G\n\x08ResizeVm\x12\x1c.boxd.api.v1.ResizeVmRequest\x1a\x1d.boxd.api.v1.ResizeVmResponseb\x06proto3')
28
28
 
29
29
  _globals = globals()
30
30
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -415,134 +415,134 @@ if not _descriptor._USE_C_DESCRIPTORS:
415
415
  _globals['_GETVMUSAGEREQUEST']._serialized_end=13028
416
416
  _globals['_GETVMUSAGERESPONSE']._serialized_start=13031
417
417
  _globals['_GETVMUSAGERESPONSE']._serialized_end=13188
418
- _globals['_LISTCREDITLEDGERREQUEST']._serialized_start=13190
419
- _globals['_LISTCREDITLEDGERREQUEST']._serialized_end=13297
420
- _globals['_CREDITLEDGERENTRY']._serialized_start=13299
421
- _globals['_CREDITLEDGERENTRY']._serialized_end=13392
422
- _globals['_LISTCREDITLEDGERRESPONSE']._serialized_start=13395
423
- _globals['_LISTCREDITLEDGERRESPONSE']._serialized_end=13536
424
- _globals['_UNSHAREVMREQUEST']._serialized_start=13538
425
- _globals['_UNSHAREVMREQUEST']._serialized_end=13571
426
- _globals['_UNSHAREVMRESPONSE']._serialized_start=13573
427
- _globals['_UNSHAREVMRESPONSE']._serialized_end=13592
428
- _globals['_SETBACKUPSCHEDULEREQUEST']._serialized_start=13594
429
- _globals['_SETBACKUPSCHEDULEREQUEST']._serialized_end=13703
430
- _globals['_SETBACKUPSCHEDULERESPONSE']._serialized_start=13705
431
- _globals['_SETBACKUPSCHEDULERESPONSE']._serialized_end=13732
432
- _globals['_CLEARBACKUPSCHEDULEREQUEST']._serialized_start=13734
433
- _globals['_CLEARBACKUPSCHEDULEREQUEST']._serialized_end=13774
434
- _globals['_CLEARBACKUPSCHEDULERESPONSE']._serialized_start=13776
435
- _globals['_CLEARBACKUPSCHEDULERESPONSE']._serialized_end=13805
436
- _globals['_GETBACKUPSCHEDULEREQUEST']._serialized_start=13807
437
- _globals['_GETBACKUPSCHEDULEREQUEST']._serialized_end=13845
438
- _globals['_GETBACKUPSCHEDULERESPONSE']._serialized_start=13848
439
- _globals['_GETBACKUPSCHEDULERESPONSE']._serialized_end=14011
440
- _globals['_LISTBACKUPSREQUEST']._serialized_start=14013
441
- _globals['_LISTBACKUPSREQUEST']._serialized_end=14045
442
- _globals['_BACKUPINFO']._serialized_start=14048
443
- _globals['_BACKUPINFO']._serialized_end=14202
444
- _globals['_LISTBACKUPSRESPONSE']._serialized_start=14204
445
- _globals['_LISTBACKUPSRESPONSE']._serialized_end=14267
446
- _globals['_TRIGGERBACKUPREQUEST']._serialized_start=14269
447
- _globals['_TRIGGERBACKUPREQUEST']._serialized_end=14303
448
- _globals['_TRIGGERBACKUPRESPONSE']._serialized_start=14305
449
- _globals['_TRIGGERBACKUPRESPONSE']._serialized_end=14347
450
- _globals['_DELETEBACKUPREQUEST']._serialized_start=14349
451
- _globals['_DELETEBACKUPREQUEST']._serialized_end=14401
452
- _globals['_DELETEBACKUPRESPONSE']._serialized_start=14403
453
- _globals['_DELETEBACKUPRESPONSE']._serialized_end=14425
454
- _globals['_RESTOREBACKUPREQUEST']._serialized_start=14427
455
- _globals['_RESTOREBACKUPREQUEST']._serialized_end=14480
456
- _globals['_RESTOREBACKUPRESPONSE']._serialized_start=14482
457
- _globals['_RESTOREBACKUPRESPONSE']._serialized_end=14505
458
- _globals['_SETORGBACKUPSDEFAULTREQUEST']._serialized_start=14508
459
- _globals['_SETORGBACKUPSDEFAULTREQUEST']._serialized_end=14643
460
- _globals['_SETORGBACKUPSDEFAULTRESPONSE']._serialized_start=14645
461
- _globals['_SETORGBACKUPSDEFAULTRESPONSE']._serialized_end=14737
462
- _globals['_GETORGBACKUPSDEFAULTREQUEST']._serialized_start=14739
463
- _globals['_GETORGBACKUPSDEFAULTREQUEST']._serialized_end=14784
464
- _globals['_GETORGBACKUPSDEFAULTRESPONSE']._serialized_start=14786
465
- _globals['_GETORGBACKUPSDEFAULTRESPONSE']._serialized_end=14878
466
- _globals['_SETORGMACHINEDEFAULTSREQUEST']._serialized_start=14880
467
- _globals['_SETORGMACHINEDEFAULTSREQUEST']._serialized_end=14998
468
- _globals['_SETORGMACHINEDEFAULTSRESPONSE']._serialized_start=15000
469
- _globals['_SETORGMACHINEDEFAULTSRESPONSE']._serialized_end=15031
470
- _globals['_GETORGMACHINEDEFAULTSREQUEST']._serialized_start=15033
471
- _globals['_GETORGMACHINEDEFAULTSREQUEST']._serialized_end=15079
472
- _globals['_RESIZEVMREQUEST']._serialized_start=15081
473
- _globals['_RESIZEVMREQUEST']._serialized_end=15149
474
- _globals['_RESIZEVMRESPONSE']._serialized_start=15151
475
- _globals['_RESIZEVMRESPONSE']._serialized_end=15223
476
- _globals['_GETORGMACHINEDEFAULTSRESPONSE']._serialized_start=15226
477
- _globals['_GETORGMACHINEDEFAULTSRESPONSE']._serialized_end=15358
478
- _globals['_CREATEORGREQUEST']._serialized_start=15360
479
- _globals['_CREATEORGREQUEST']._serialized_end=15392
480
- _globals['_CREATEORGRESPONSE']._serialized_start=15394
481
- _globals['_CREATEORGRESPONSE']._serialized_end=15439
482
- _globals['_RENAMEORGREQUEST']._serialized_start=15441
483
- _globals['_RENAMEORGREQUEST']._serialized_end=15489
484
- _globals['_RENAMEORGRESPONSE']._serialized_start=15491
485
- _globals['_RENAMEORGRESPONSE']._serialized_end=15510
486
- _globals['_GETORGMEMBERSREQUEST']._serialized_start=15512
487
- _globals['_GETORGMEMBERSREQUEST']._serialized_end=15550
488
- _globals['_GETORGMEMBERSRESPONSE']._serialized_start=15552
489
- _globals['_GETORGMEMBERSRESPONSE']._serialized_end=15665
490
- _globals['_ORGMEMBERINFO']._serialized_start=15667
491
- _globals['_ORGMEMBERINFO']._serialized_end=15760
492
- _globals['_ORGINVITEINFO']._serialized_start=15762
493
- _globals['_ORGINVITEINFO']._serialized_end=15881
494
- _globals['_INVITEORGMEMBERREQUEST']._serialized_start=15883
495
- _globals['_INVITEORGMEMBERREQUEST']._serialized_end=15952
496
- _globals['_INVITEORGMEMBERRESPONSE']._serialized_start=15954
497
- _globals['_INVITEORGMEMBERRESPONSE']._serialized_end=16054
498
- _globals['_REVOKEORGINVITEREQUEST']._serialized_start=16056
499
- _globals['_REVOKEORGINVITEREQUEST']._serialized_end=16095
500
- _globals['_REVOKEORGINVITERESPONSE']._serialized_start=16097
501
- _globals['_REVOKEORGINVITERESPONSE']._serialized_end=16122
502
- _globals['_REMOVEORGMEMBERREQUEST']._serialized_start=16124
503
- _globals['_REMOVEORGMEMBERREQUEST']._serialized_end=16181
504
- _globals['_REMOVEORGMEMBERRESPONSE']._serialized_start=16183
505
- _globals['_REMOVEORGMEMBERRESPONSE']._serialized_end=16208
506
- _globals['_SETORGMEMBERROLEREQUEST']._serialized_start=16210
507
- _globals['_SETORGMEMBERROLEREQUEST']._serialized_end=16282
508
- _globals['_SETORGMEMBERROLERESPONSE']._serialized_start=16284
509
- _globals['_SETORGMEMBERROLERESPONSE']._serialized_end=16310
510
- _globals['_TEAMINFO']._serialized_start=16313
511
- _globals['_TEAMINFO']._serialized_end=16506
512
- _globals['_TEAMMEMBERINFO']._serialized_start=16508
513
- _globals['_TEAMMEMBERINFO']._serialized_end=16620
514
- _globals['_LISTTEAMSREQUEST']._serialized_start=16622
515
- _globals['_LISTTEAMSREQUEST']._serialized_end=16656
516
- _globals['_LISTTEAMSRESPONSE']._serialized_start=16658
517
- _globals['_LISTTEAMSRESPONSE']._serialized_end=16715
518
- _globals['_GETTEAMREQUEST']._serialized_start=16717
519
- _globals['_GETTEAMREQUEST']._serialized_end=16750
520
- _globals['_CREATETEAMREQUEST']._serialized_start=16752
521
- _globals['_CREATETEAMREQUEST']._serialized_end=16801
522
- _globals['_RENAMETEAMREQUEST']._serialized_start=16803
523
- _globals['_RENAMETEAMREQUEST']._serialized_end=16853
524
- _globals['_RENAMETEAMRESPONSE']._serialized_start=16855
525
- _globals['_RENAMETEAMRESPONSE']._serialized_end=16875
526
- _globals['_DESTROYTEAMREQUEST']._serialized_start=16877
527
- _globals['_DESTROYTEAMREQUEST']._serialized_end=16914
528
- _globals['_DESTROYTEAMRESPONSE']._serialized_start=16916
529
- _globals['_DESTROYTEAMRESPONSE']._serialized_end=16937
530
- _globals['_ADDTEAMMEMBERREQUEST']._serialized_start=16939
531
- _globals['_ADDTEAMMEMBERREQUEST']._serialized_end=16995
532
- _globals['_ADDTEAMMEMBERRESPONSE']._serialized_start=16997
533
- _globals['_ADDTEAMMEMBERRESPONSE']._serialized_end=17020
534
- _globals['_REMOVETEAMMEMBERREQUEST']._serialized_start=17022
535
- _globals['_REMOVETEAMMEMBERREQUEST']._serialized_end=17081
536
- _globals['_REMOVETEAMMEMBERRESPONSE']._serialized_start=17083
537
- _globals['_REMOVETEAMMEMBERRESPONSE']._serialized_end=17109
538
- _globals['_SETTEAMMEMBERROLEREQUEST']._serialized_start=17111
539
- _globals['_SETTEAMMEMBERROLEREQUEST']._serialized_end=17185
540
- _globals['_SETTEAMMEMBERROLERESPONSE']._serialized_start=17187
541
- _globals['_SETTEAMMEMBERROLERESPONSE']._serialized_end=17214
542
- _globals['_SETTEAMDEFAULTSNAPSHOTREQUEST']._serialized_start=17216
543
- _globals['_SETTEAMDEFAULTSNAPSHOTREQUEST']._serialized_end=17285
544
- _globals['_SETTEAMDEFAULTSNAPSHOTRESPONSE']._serialized_start=17287
545
- _globals['_SETTEAMDEFAULTSNAPSHOTRESPONSE']._serialized_end=17319
546
- _globals['_BOXDAPI']._serialized_start=17322
547
- _globals['_BOXDAPI']._serialized_end=26920
418
+ _globals['_LISTBILLINGACTIVITYREQUEST']._serialized_start=13190
419
+ _globals['_LISTBILLINGACTIVITYREQUEST']._serialized_end=13300
420
+ _globals['_BILLINGACTIVITYENTRY']._serialized_start=13302
421
+ _globals['_BILLINGACTIVITYENTRY']._serialized_end=13398
422
+ _globals['_LISTBILLINGACTIVITYRESPONSE']._serialized_start=13401
423
+ _globals['_LISTBILLINGACTIVITYRESPONSE']._serialized_end=13548
424
+ _globals['_UNSHAREVMREQUEST']._serialized_start=13550
425
+ _globals['_UNSHAREVMREQUEST']._serialized_end=13583
426
+ _globals['_UNSHAREVMRESPONSE']._serialized_start=13585
427
+ _globals['_UNSHAREVMRESPONSE']._serialized_end=13604
428
+ _globals['_SETBACKUPSCHEDULEREQUEST']._serialized_start=13606
429
+ _globals['_SETBACKUPSCHEDULEREQUEST']._serialized_end=13715
430
+ _globals['_SETBACKUPSCHEDULERESPONSE']._serialized_start=13717
431
+ _globals['_SETBACKUPSCHEDULERESPONSE']._serialized_end=13744
432
+ _globals['_CLEARBACKUPSCHEDULEREQUEST']._serialized_start=13746
433
+ _globals['_CLEARBACKUPSCHEDULEREQUEST']._serialized_end=13786
434
+ _globals['_CLEARBACKUPSCHEDULERESPONSE']._serialized_start=13788
435
+ _globals['_CLEARBACKUPSCHEDULERESPONSE']._serialized_end=13817
436
+ _globals['_GETBACKUPSCHEDULEREQUEST']._serialized_start=13819
437
+ _globals['_GETBACKUPSCHEDULEREQUEST']._serialized_end=13857
438
+ _globals['_GETBACKUPSCHEDULERESPONSE']._serialized_start=13860
439
+ _globals['_GETBACKUPSCHEDULERESPONSE']._serialized_end=14023
440
+ _globals['_LISTBACKUPSREQUEST']._serialized_start=14025
441
+ _globals['_LISTBACKUPSREQUEST']._serialized_end=14057
442
+ _globals['_BACKUPINFO']._serialized_start=14060
443
+ _globals['_BACKUPINFO']._serialized_end=14214
444
+ _globals['_LISTBACKUPSRESPONSE']._serialized_start=14216
445
+ _globals['_LISTBACKUPSRESPONSE']._serialized_end=14279
446
+ _globals['_TRIGGERBACKUPREQUEST']._serialized_start=14281
447
+ _globals['_TRIGGERBACKUPREQUEST']._serialized_end=14315
448
+ _globals['_TRIGGERBACKUPRESPONSE']._serialized_start=14317
449
+ _globals['_TRIGGERBACKUPRESPONSE']._serialized_end=14359
450
+ _globals['_DELETEBACKUPREQUEST']._serialized_start=14361
451
+ _globals['_DELETEBACKUPREQUEST']._serialized_end=14413
452
+ _globals['_DELETEBACKUPRESPONSE']._serialized_start=14415
453
+ _globals['_DELETEBACKUPRESPONSE']._serialized_end=14437
454
+ _globals['_RESTOREBACKUPREQUEST']._serialized_start=14439
455
+ _globals['_RESTOREBACKUPREQUEST']._serialized_end=14492
456
+ _globals['_RESTOREBACKUPRESPONSE']._serialized_start=14494
457
+ _globals['_RESTOREBACKUPRESPONSE']._serialized_end=14517
458
+ _globals['_SETORGBACKUPSDEFAULTREQUEST']._serialized_start=14520
459
+ _globals['_SETORGBACKUPSDEFAULTREQUEST']._serialized_end=14655
460
+ _globals['_SETORGBACKUPSDEFAULTRESPONSE']._serialized_start=14657
461
+ _globals['_SETORGBACKUPSDEFAULTRESPONSE']._serialized_end=14749
462
+ _globals['_GETORGBACKUPSDEFAULTREQUEST']._serialized_start=14751
463
+ _globals['_GETORGBACKUPSDEFAULTREQUEST']._serialized_end=14796
464
+ _globals['_GETORGBACKUPSDEFAULTRESPONSE']._serialized_start=14798
465
+ _globals['_GETORGBACKUPSDEFAULTRESPONSE']._serialized_end=14890
466
+ _globals['_SETORGMACHINEDEFAULTSREQUEST']._serialized_start=14892
467
+ _globals['_SETORGMACHINEDEFAULTSREQUEST']._serialized_end=15010
468
+ _globals['_SETORGMACHINEDEFAULTSRESPONSE']._serialized_start=15012
469
+ _globals['_SETORGMACHINEDEFAULTSRESPONSE']._serialized_end=15043
470
+ _globals['_GETORGMACHINEDEFAULTSREQUEST']._serialized_start=15045
471
+ _globals['_GETORGMACHINEDEFAULTSREQUEST']._serialized_end=15091
472
+ _globals['_RESIZEVMREQUEST']._serialized_start=15093
473
+ _globals['_RESIZEVMREQUEST']._serialized_end=15161
474
+ _globals['_RESIZEVMRESPONSE']._serialized_start=15163
475
+ _globals['_RESIZEVMRESPONSE']._serialized_end=15235
476
+ _globals['_GETORGMACHINEDEFAULTSRESPONSE']._serialized_start=15238
477
+ _globals['_GETORGMACHINEDEFAULTSRESPONSE']._serialized_end=15370
478
+ _globals['_CREATEORGREQUEST']._serialized_start=15372
479
+ _globals['_CREATEORGREQUEST']._serialized_end=15404
480
+ _globals['_CREATEORGRESPONSE']._serialized_start=15406
481
+ _globals['_CREATEORGRESPONSE']._serialized_end=15451
482
+ _globals['_RENAMEORGREQUEST']._serialized_start=15453
483
+ _globals['_RENAMEORGREQUEST']._serialized_end=15501
484
+ _globals['_RENAMEORGRESPONSE']._serialized_start=15503
485
+ _globals['_RENAMEORGRESPONSE']._serialized_end=15522
486
+ _globals['_GETORGMEMBERSREQUEST']._serialized_start=15524
487
+ _globals['_GETORGMEMBERSREQUEST']._serialized_end=15562
488
+ _globals['_GETORGMEMBERSRESPONSE']._serialized_start=15564
489
+ _globals['_GETORGMEMBERSRESPONSE']._serialized_end=15677
490
+ _globals['_ORGMEMBERINFO']._serialized_start=15679
491
+ _globals['_ORGMEMBERINFO']._serialized_end=15772
492
+ _globals['_ORGINVITEINFO']._serialized_start=15774
493
+ _globals['_ORGINVITEINFO']._serialized_end=15893
494
+ _globals['_INVITEORGMEMBERREQUEST']._serialized_start=15895
495
+ _globals['_INVITEORGMEMBERREQUEST']._serialized_end=15964
496
+ _globals['_INVITEORGMEMBERRESPONSE']._serialized_start=15966
497
+ _globals['_INVITEORGMEMBERRESPONSE']._serialized_end=16066
498
+ _globals['_REVOKEORGINVITEREQUEST']._serialized_start=16068
499
+ _globals['_REVOKEORGINVITEREQUEST']._serialized_end=16107
500
+ _globals['_REVOKEORGINVITERESPONSE']._serialized_start=16109
501
+ _globals['_REVOKEORGINVITERESPONSE']._serialized_end=16134
502
+ _globals['_REMOVEORGMEMBERREQUEST']._serialized_start=16136
503
+ _globals['_REMOVEORGMEMBERREQUEST']._serialized_end=16193
504
+ _globals['_REMOVEORGMEMBERRESPONSE']._serialized_start=16195
505
+ _globals['_REMOVEORGMEMBERRESPONSE']._serialized_end=16220
506
+ _globals['_SETORGMEMBERROLEREQUEST']._serialized_start=16222
507
+ _globals['_SETORGMEMBERROLEREQUEST']._serialized_end=16294
508
+ _globals['_SETORGMEMBERROLERESPONSE']._serialized_start=16296
509
+ _globals['_SETORGMEMBERROLERESPONSE']._serialized_end=16322
510
+ _globals['_TEAMINFO']._serialized_start=16325
511
+ _globals['_TEAMINFO']._serialized_end=16518
512
+ _globals['_TEAMMEMBERINFO']._serialized_start=16520
513
+ _globals['_TEAMMEMBERINFO']._serialized_end=16632
514
+ _globals['_LISTTEAMSREQUEST']._serialized_start=16634
515
+ _globals['_LISTTEAMSREQUEST']._serialized_end=16668
516
+ _globals['_LISTTEAMSRESPONSE']._serialized_start=16670
517
+ _globals['_LISTTEAMSRESPONSE']._serialized_end=16727
518
+ _globals['_GETTEAMREQUEST']._serialized_start=16729
519
+ _globals['_GETTEAMREQUEST']._serialized_end=16762
520
+ _globals['_CREATETEAMREQUEST']._serialized_start=16764
521
+ _globals['_CREATETEAMREQUEST']._serialized_end=16813
522
+ _globals['_RENAMETEAMREQUEST']._serialized_start=16815
523
+ _globals['_RENAMETEAMREQUEST']._serialized_end=16865
524
+ _globals['_RENAMETEAMRESPONSE']._serialized_start=16867
525
+ _globals['_RENAMETEAMRESPONSE']._serialized_end=16887
526
+ _globals['_DESTROYTEAMREQUEST']._serialized_start=16889
527
+ _globals['_DESTROYTEAMREQUEST']._serialized_end=16926
528
+ _globals['_DESTROYTEAMRESPONSE']._serialized_start=16928
529
+ _globals['_DESTROYTEAMRESPONSE']._serialized_end=16949
530
+ _globals['_ADDTEAMMEMBERREQUEST']._serialized_start=16951
531
+ _globals['_ADDTEAMMEMBERREQUEST']._serialized_end=17007
532
+ _globals['_ADDTEAMMEMBERRESPONSE']._serialized_start=17009
533
+ _globals['_ADDTEAMMEMBERRESPONSE']._serialized_end=17032
534
+ _globals['_REMOVETEAMMEMBERREQUEST']._serialized_start=17034
535
+ _globals['_REMOVETEAMMEMBERREQUEST']._serialized_end=17093
536
+ _globals['_REMOVETEAMMEMBERRESPONSE']._serialized_start=17095
537
+ _globals['_REMOVETEAMMEMBERRESPONSE']._serialized_end=17121
538
+ _globals['_SETTEAMMEMBERROLEREQUEST']._serialized_start=17123
539
+ _globals['_SETTEAMMEMBERROLEREQUEST']._serialized_end=17197
540
+ _globals['_SETTEAMMEMBERROLERESPONSE']._serialized_start=17199
541
+ _globals['_SETTEAMMEMBERROLERESPONSE']._serialized_end=17226
542
+ _globals['_SETTEAMDEFAULTSNAPSHOTREQUEST']._serialized_start=17228
543
+ _globals['_SETTEAMDEFAULTSNAPSHOTREQUEST']._serialized_end=17297
544
+ _globals['_SETTEAMDEFAULTSNAPSHOTRESPONSE']._serialized_start=17299
545
+ _globals['_SETTEAMDEFAULTSNAPSHOTRESPONSE']._serialized_end=17331
546
+ _globals['_BOXDAPI']._serialized_start=17334
547
+ _globals['_BOXDAPI']._serialized_end=26941
548
548
  # @@protoc_insertion_point(module_scope)
@@ -454,10 +454,10 @@ class BoxdApiStub(object):
454
454
  request_serializer=api__pb2.GetVmUsageRequest.SerializeToString,
455
455
  response_deserializer=api__pb2.GetVmUsageResponse.FromString,
456
456
  _registered_method=True)
457
- self.ListCreditLedger = channel.unary_unary(
458
- '/boxd.api.v1.BoxdApi/ListCreditLedger',
459
- request_serializer=api__pb2.ListCreditLedgerRequest.SerializeToString,
460
- response_deserializer=api__pb2.ListCreditLedgerResponse.FromString,
457
+ self.ListBillingActivity = channel.unary_unary(
458
+ '/boxd.api.v1.BoxdApi/ListBillingActivity',
459
+ request_serializer=api__pb2.ListBillingActivityRequest.SerializeToString,
460
+ response_deserializer=api__pb2.ListBillingActivityResponse.FromString,
461
461
  _registered_method=True)
462
462
  self.SetBackupSchedule = channel.unary_unary(
463
463
  '/boxd.api.v1.BoxdApi/SetBackupSchedule',
@@ -1191,7 +1191,7 @@ class BoxdApiServicer(object):
1191
1191
 
1192
1192
  def GetOrgUsage(self, request, context):
1193
1193
  """Usage and cost (BOX-290): what each machine used and cost over a window,
1194
- and the credit ledger (what was actually charged). Org owners and admins
1194
+ and billing activity (what was actually charged). Org owners and admins
1195
1195
  only; API keys fenced to the org work, tokens minted inside a VM don't.
1196
1196
  """
1197
1197
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
@@ -1204,7 +1204,7 @@ class BoxdApiServicer(object):
1204
1204
  context.set_details('Method not implemented!')
1205
1205
  raise NotImplementedError('Method not implemented!')
1206
1206
 
1207
- def ListCreditLedger(self, request, context):
1207
+ def ListBillingActivity(self, request, context):
1208
1208
  """Missing associated documentation comment in .proto file."""
1209
1209
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
1210
1210
  context.set_details('Method not implemented!')
@@ -1861,10 +1861,10 @@ def add_BoxdApiServicer_to_server(servicer, server):
1861
1861
  request_deserializer=api__pb2.GetVmUsageRequest.FromString,
1862
1862
  response_serializer=api__pb2.GetVmUsageResponse.SerializeToString,
1863
1863
  ),
1864
- 'ListCreditLedger': grpc.unary_unary_rpc_method_handler(
1865
- servicer.ListCreditLedger,
1866
- request_deserializer=api__pb2.ListCreditLedgerRequest.FromString,
1867
- response_serializer=api__pb2.ListCreditLedgerResponse.SerializeToString,
1864
+ 'ListBillingActivity': grpc.unary_unary_rpc_method_handler(
1865
+ servicer.ListBillingActivity,
1866
+ request_deserializer=api__pb2.ListBillingActivityRequest.FromString,
1867
+ response_serializer=api__pb2.ListBillingActivityResponse.SerializeToString,
1868
1868
  ),
1869
1869
  'SetBackupSchedule': grpc.unary_unary_rpc_method_handler(
1870
1870
  servicer.SetBackupSchedule,
@@ -4286,7 +4286,7 @@ class BoxdApi(object):
4286
4286
  _registered_method=True)
4287
4287
 
4288
4288
  @staticmethod
4289
- def ListCreditLedger(request,
4289
+ def ListBillingActivity(request,
4290
4290
  target,
4291
4291
  options=(),
4292
4292
  channel_credentials=None,
@@ -4299,9 +4299,9 @@ class BoxdApi(object):
4299
4299
  return grpc.experimental.unary_unary(
4300
4300
  request,
4301
4301
  target,
4302
- '/boxd.api.v1.BoxdApi/ListCreditLedger',
4303
- api__pb2.ListCreditLedgerRequest.SerializeToString,
4304
- api__pb2.ListCreditLedgerResponse.FromString,
4302
+ '/boxd.api.v1.BoxdApi/ListBillingActivity',
4303
+ api__pb2.ListBillingActivityRequest.SerializeToString,
4304
+ api__pb2.ListBillingActivityResponse.FromString,
4305
4305
  options,
4306
4306
  channel_credentials,
4307
4307
  insecure,
@@ -34,8 +34,8 @@ from .models import (
34
34
  DiskAttachment,
35
35
  EnvVar,
36
36
  ExposedPort,
37
- LedgerEntry,
38
- LedgerPage,
37
+ BillingActivityEntry,
38
+ BillingActivityPage,
39
39
  Machine,
40
40
  MachineAccess,
41
41
  MachineIdle,
@@ -591,12 +591,12 @@ def org_usage(msg) -> OrgUsage:
591
591
  )
592
592
 
593
593
 
594
- def ledger_page(msg) -> LedgerPage:
595
- return LedgerPage(
594
+ def billing_activity_page(msg) -> BillingActivityPage:
595
+ return BillingActivityPage(
596
596
  currency=msg.currency,
597
597
  balance_micro=msg.balance_micro,
598
598
  entries=[
599
- LedgerEntry(
599
+ BillingActivityEntry(
600
600
  id=e.entry_id,
601
601
  kind=e.kind,
602
602
  amount_micro=e.amount_micro,
@@ -626,7 +626,7 @@ class MachineUsage(BaseModel):
626
626
  """GiB-hours of used disk, in every state."""
627
627
  cost_micro: int
628
628
  """Estimated cost at current rates, micro-units of the currency
629
- (``cost_micro / 1e6`` is the amount). The ledger is what was charged."""
629
+ (``cost_micro / 1e6`` is the amount). Billing activity is what was charged."""
630
630
  complete: bool
631
631
  """All of this machine's usage in the window has been metered, so the
632
632
  figures won't grow. Metering lags by up to ~25 minutes: a machine read
@@ -660,8 +660,8 @@ class OrgUsage(BaseModel):
660
660
  """Most expensive first, including machines deleted since."""
661
661
 
662
662
 
663
- class LedgerEntry(BaseModel):
664
- """One entry of the org's credit ledger: what was actually charged or added."""
663
+ class BillingActivityEntry(BaseModel):
664
+ """One entry of the org's billing activity: what was actually charged or added."""
665
665
 
666
666
  id: str
667
667
  kind: str
@@ -672,13 +672,13 @@ class LedgerEntry(BaseModel):
672
672
  created_at: datetime
673
673
 
674
674
 
675
- class LedgerPage(BaseModel):
676
- """`orgs.ledger_page()`: one page of the ledger, newest first."""
675
+ class BillingActivityPage(BaseModel):
676
+ """`orgs.billing_activity_page()`: one page of billing activity, newest first."""
677
677
 
678
678
  currency: str
679
679
  balance_micro: int
680
680
  """The org's balance now, micro-units of ``currency``."""
681
- entries: list[LedgerEntry]
681
+ entries: list[BillingActivityEntry]
682
682
  next_page_token: str | None
683
683
  """Pass as ``page_token`` for the next (older) page. None = this was the last."""
684
684
 
@@ -10,8 +10,8 @@ from .. import _requests as req
10
10
  from .._generated import api_pb2
11
11
  from ..models import (
12
12
  CreatedOrg,
13
- LedgerEntry,
14
- LedgerPage,
13
+ BillingActivityEntry,
14
+ BillingActivityPage,
15
15
  Org,
16
16
  OrgDomain,
17
17
  OrgInvite,
@@ -191,7 +191,7 @@ class Orgs(Namespace):
191
191
  Most expensive first, including machines deleted since. `since`
192
192
  defaults to 28 days before `until`, `until` to now; each is a datetime
193
193
  or unix seconds, and the window spans at most 366 days. Costs are
194
- estimates at the org's current rates; `ledger()` is what was actually
194
+ estimates at the org's current rates; `billing_activity()` is what was actually
195
195
  charged.
196
196
 
197
197
  Org owners and admins only. Works with an API key issued for the org.
@@ -207,7 +207,7 @@ class Orgs(Namespace):
207
207
  )
208
208
  )
209
209
 
210
- def ledger_page(
210
+ def billing_activity_page(
211
211
  self,
212
212
  *,
213
213
  org: str = "",
@@ -215,21 +215,21 @@ class Orgs(Namespace):
215
215
  until: datetime | int | None = None,
216
216
  page_token: str = "",
217
217
  page_size: int = 0,
218
- ) -> LedgerPage:
219
- """One page of the org's credit ledger, newest first.
218
+ ) -> BillingActivityPage:
219
+ """One page of the org's billing activity, newest first.
220
220
 
221
221
  Top-ups, grants and usage charges (one org-wide charge per 15
222
222
  minutes): what was actually charged. Omit `since` and `until` for the
223
223
  whole history. Pass the returned `next_page_token` as `page_token`
224
- for the next page, or iterate every entry with `ledger()`.
224
+ for the next page, or iterate every entry with `billing_activity()`.
225
225
  `page_size` defaults to 500, at most 1000.
226
226
 
227
227
  Org owners and admins only. Works with an API key issued for the org.
228
228
  """
229
- return m.ledger_page(
229
+ return m.billing_activity_page(
230
230
  self._transport.call(
231
- "ListCreditLedger",
232
- api_pb2.ListCreditLedgerRequest(
231
+ "ListBillingActivity",
232
+ api_pb2.ListBillingActivityRequest(
233
233
  org=org,
234
234
  since=req.unix_seconds(since),
235
235
  until=req.unix_seconds(until),
@@ -239,23 +239,23 @@ class Orgs(Namespace):
239
239
  )
240
240
  )
241
241
 
242
- def ledger(
242
+ def billing_activity(
243
243
  self,
244
244
  *,
245
245
  org: str = "",
246
246
  since: datetime | int | None = None,
247
247
  until: datetime | int | None = None,
248
248
  page_size: int = 0,
249
- ) -> Iterator[LedgerEntry]:
250
- """Every ledger entry in the window, newest first, fetching pages as
249
+ ) -> Iterator[BillingActivityEntry]:
250
+ """Every billing activity entry in the window, newest first, fetching pages as
251
251
  you go::
252
252
 
253
- for e in boxd.orgs.ledger(since=datetime(2026, 9, 1)):
253
+ for e in boxd.orgs.billing_activity(since=datetime(2026, 9, 1)):
254
254
  print(e.created_at, e.kind, e.amount_micro / 1e6)
255
255
  """
256
256
  token = ""
257
257
  while True:
258
- page = self.ledger_page(
258
+ page = self.billing_activity_page(
259
259
  org=org, since=since, until=until, page_token=token, page_size=page_size
260
260
  )
261
261
  yield from page.entries
@@ -437,7 +437,7 @@ class AsyncOrgs(Namespace):
437
437
  Most expensive first, including machines deleted since. `since`
438
438
  defaults to 28 days before `until`, `until` to now; each is a datetime
439
439
  or unix seconds, and the window spans at most 366 days. Costs are
440
- estimates at the org's current rates; `ledger()` is what was actually
440
+ estimates at the org's current rates; `billing_activity()` is what was actually
441
441
  charged.
442
442
 
443
443
  Org owners and admins only. Works with an API key issued for the org.
@@ -453,7 +453,7 @@ class AsyncOrgs(Namespace):
453
453
  )
454
454
  )
455
455
 
456
- async def ledger_page(
456
+ async def billing_activity_page(
457
457
  self,
458
458
  *,
459
459
  org: str = "",
@@ -461,21 +461,21 @@ class AsyncOrgs(Namespace):
461
461
  until: datetime | int | None = None,
462
462
  page_token: str = "",
463
463
  page_size: int = 0,
464
- ) -> LedgerPage:
465
- """One page of the org's credit ledger, newest first.
464
+ ) -> BillingActivityPage:
465
+ """One page of the org's billing activity, newest first.
466
466
 
467
467
  Top-ups, grants and usage charges (one org-wide charge per 15
468
468
  minutes): what was actually charged. Omit `since` and `until` for the
469
469
  whole history. Pass the returned `next_page_token` as `page_token`
470
- for the next page, or iterate every entry with `ledger()`.
470
+ for the next page, or iterate every entry with `billing_activity()`.
471
471
  `page_size` defaults to 500, at most 1000.
472
472
 
473
473
  Org owners and admins only. Works with an API key issued for the org.
474
474
  """
475
- return m.ledger_page(
475
+ return m.billing_activity_page(
476
476
  await self._transport.call(
477
- "ListCreditLedger",
478
- api_pb2.ListCreditLedgerRequest(
477
+ "ListBillingActivity",
478
+ api_pb2.ListBillingActivityRequest(
479
479
  org=org,
480
480
  since=req.unix_seconds(since),
481
481
  until=req.unix_seconds(until),
@@ -485,19 +485,19 @@ class AsyncOrgs(Namespace):
485
485
  )
486
486
  )
487
487
 
488
- async def ledger(
488
+ async def billing_activity(
489
489
  self,
490
490
  *,
491
491
  org: str = "",
492
492
  since: datetime | int | None = None,
493
493
  until: datetime | int | None = None,
494
494
  page_size: int = 0,
495
- ) -> AsyncIterator[LedgerEntry]:
496
- """Every ledger entry in the window, newest first, fetching pages as
497
- you go (``async for e in boxd.orgs.ledger(): ...``)."""
495
+ ) -> AsyncIterator[BillingActivityEntry]:
496
+ """Every billing activity entry in the window, newest first, fetching pages as
497
+ you go (``async for e in boxd.orgs.billing_activity(): ...``)."""
498
498
  token = ""
499
499
  while True:
500
- page = await self.ledger_page(
500
+ page = await self.billing_activity_page(
501
501
  org=org, since=since, until=until, page_token=token, page_size=page_size
502
502
  )
503
503
  for e in page.entries:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boxd
3
- Version: 0.2.13.dev751
3
+ Version: 0.2.13.dev755
4
4
  Summary: Python SDK for the boxd cloud VM platform
5
5
  Author: Azin
6
6
  License-Expression: MIT
@@ -781,8 +781,8 @@ r.total_cost_micro, r.currency
781
781
  for m in r.machines:
782
782
  print(m.name, m.status, m.cost_micro / 1e6)
783
783
 
784
- # The credit ledger: what was actually charged, newest first.
785
- for e in boxd.orgs.ledger(since=datetime(2026, 9, 1, tzinfo=timezone.utc)):
784
+ # Billing activity: what was actually charged, newest first.
785
+ for e in boxd.orgs.billing_activity(since=datetime(2026, 9, 1, tzinfo=timezone.utc)):
786
786
  print(e.created_at, e.kind, e.amount_micro / 1e6) # charges are negative
787
787
  ```
788
788
 
@@ -804,12 +804,12 @@ that runs to now.
804
804
 
805
805
  Money is in micro-units (1e-6) of the org's currency. Usage is metered in
806
806
  15-minute buckets and priced at the org's current rates, so it is an estimate
807
- that tracks the ledger closely; the ledger is what was charged (one
807
+ that tracks billing activity closely; billing activity is what was charged (one
808
808
  `usage_charge` per 15 minutes for the whole org, plus top-ups and grants).
809
809
  Machines deleted since still show up, with status `"deleted"`. A window spans
810
- at most 366 days. `orgs.ledger_page()` returns one page with its
810
+ at most 366 days. `orgs.billing_activity_page()` returns one page with its
811
811
  `next_page_token` when you want to page by hand. The async client has the
812
- same methods (`async for e in boxd.orgs.ledger(): ...`).
812
+ same methods (`async for e in boxd.orgs.billing_activity(): ...`).
813
813
 
814
814
  ## Errors
815
815
 
@@ -1147,12 +1147,12 @@ def test_orgs_usage_maps_every_machine():
1147
1147
  assert [m.name for m in r.machines] == ["alpha"]
1148
1148
 
1149
1149
 
1150
- def _ledger_page(ids, token=""):
1151
- return api_pb2.ListCreditLedgerResponse(
1150
+ def _billing_activity_page(ids, token=""):
1151
+ return api_pb2.ListBillingActivityResponse(
1152
1152
  currency="eur",
1153
1153
  balance_micro=10,
1154
1154
  entries=[
1155
- api_pb2.CreditLedgerEntry(
1155
+ api_pb2.BillingActivityEntry(
1156
1156
  entry_id=i, kind="usage_charge", amount_micro=-5, created_at=1_000
1157
1157
  )
1158
1158
  for i in ids
@@ -1161,18 +1161,18 @@ def _ledger_page(ids, token=""):
1161
1161
  )
1162
1162
 
1163
1163
 
1164
- def test_orgs_ledger_walks_every_page():
1164
+ def test_orgs_billing_activity_walks_every_page():
1165
1165
  from boxd.resources.orgs import Orgs
1166
1166
 
1167
- transport = FakeTransport([_ledger_page(["a", "b"], "tok"), _ledger_page(["c"])])
1168
- ids = [e.id for e in Orgs(transport).ledger(page_size=2)]
1167
+ transport = FakeTransport([_billing_activity_page(["a", "b"], "tok"), _billing_activity_page(["c"])])
1168
+ ids = [e.id for e in Orgs(transport).billing_activity(page_size=2)]
1169
1169
  assert ids == ["a", "b", "c"]
1170
1170
  assert [r.page_token for _, r in transport.calls] == ["", "tok"]
1171
1171
  assert transport.calls[0][1].page_size == 2
1172
1172
 
1173
1173
 
1174
- async def test_async_orgs_ledger_walks_every_page():
1174
+ async def test_async_orgs_billing_activity_walks_every_page():
1175
1175
  from boxd.resources.orgs import AsyncOrgs
1176
1176
 
1177
- transport = FakeAsyncTransport([_ledger_page(["a"], "tok"), _ledger_page(["b"])])
1178
- assert [e.id async for e in AsyncOrgs(transport).ledger()] == ["a", "b"]
1177
+ transport = FakeAsyncTransport([_billing_activity_page(["a"], "tok"), _billing_activity_page(["b"])])
1178
+ assert [e.id async for e in AsyncOrgs(transport).billing_activity()] == ["a", "b"]
File without changes
File without changes