metal-stack-api 0.0.35__tar.gz → 0.0.37__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.
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/PKG-INFO +1 -1
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metal_stack_api.egg-info/PKG-INFO +1 -1
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metal_stack_api.egg-info/SOURCES.txt +8 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/switch_pb2.py +18 -18
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/switch_pb2.pyi +4 -2
- metal_stack_api-0.0.37/metalstack/admin/v2/vpn_connect.py +184 -0
- metal_stack_api-0.0.37/metalstack/admin/v2/vpn_pb2.py +55 -0
- metal_stack_api-0.0.37/metalstack/admin/v2/vpn_pb2.pyi +43 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/machine_pb2.py +46 -44
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/machine_pb2.pyi +12 -6
- metal_stack_api-0.0.37/metalstack/api/v2/vpn_pb2.py +38 -0
- metal_stack_api-0.0.37/metalstack/api/v2/vpn_pb2.pyi +26 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/client/client.py +8 -0
- metal_stack_api-0.0.37/metalstack/infra/v2/event_connect.py +119 -0
- metal_stack_api-0.0.37/metalstack/infra/v2/event_pb2.py +78 -0
- metal_stack_api-0.0.37/metalstack/infra/v2/event_pb2.pyi +71 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/README.md +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metal_stack_api.egg-info/dependency_links.txt +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metal_stack_api.egg-info/requires.txt +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metal_stack_api.egg-info/top_level.txt +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/__init__.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/__init__.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/__init__.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/filesystem_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/filesystem_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/filesystem_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/image_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/image_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/image_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/ip_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/ip_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/ip_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/machine_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/machine_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/machine_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/network_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/network_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/network_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/partition_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/partition_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/partition_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/project_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/project_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/project_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/size_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/size_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/size_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/switch_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/tenant_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/tenant_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/tenant_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/token_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/token_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/admin/v2/token_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/__init__.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/__init__.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/common_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/common_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/filesystem_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/filesystem_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/filesystem_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/health_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/health_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/health_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/image_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/image_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/image_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/ip_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/ip_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/ip_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/machine_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/method_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/method_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/method_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/network_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/network_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/network_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/partition_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/partition_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/partition_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/predefined_rules_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/predefined_rules_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/project_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/project_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/project_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/size_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/size_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/size_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/switch_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/switch_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/tenant_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/tenant_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/tenant_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/token_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/token_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/token_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/user_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/user_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/user_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/version_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/version_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/api/v2/version_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/client/__init__.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/infra/__init__.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/infra/v2/__init__.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/infra/v2/bmc_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/infra/v2/bmc_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/infra/v2/bmc_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/infra/v2/switch_connect.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/infra/v2/switch_pb2.py +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/metalstack/infra/v2/switch_pb2.pyi +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/setup.cfg +0 -0
- {metal_stack_api-0.0.35 → metal_stack_api-0.0.37}/setup.py +0 -0
|
@@ -41,6 +41,9 @@ metalstack/admin/v2/tenant_pb2.pyi
|
|
|
41
41
|
metalstack/admin/v2/token_connect.py
|
|
42
42
|
metalstack/admin/v2/token_pb2.py
|
|
43
43
|
metalstack/admin/v2/token_pb2.pyi
|
|
44
|
+
metalstack/admin/v2/vpn_connect.py
|
|
45
|
+
metalstack/admin/v2/vpn_pb2.py
|
|
46
|
+
metalstack/admin/v2/vpn_pb2.pyi
|
|
44
47
|
metalstack/api/__init__.py
|
|
45
48
|
metalstack/api/v2/__init__.py
|
|
46
49
|
metalstack/api/v2/common_pb2.py
|
|
@@ -91,6 +94,8 @@ metalstack/api/v2/user_pb2.pyi
|
|
|
91
94
|
metalstack/api/v2/version_connect.py
|
|
92
95
|
metalstack/api/v2/version_pb2.py
|
|
93
96
|
metalstack/api/v2/version_pb2.pyi
|
|
97
|
+
metalstack/api/v2/vpn_pb2.py
|
|
98
|
+
metalstack/api/v2/vpn_pb2.pyi
|
|
94
99
|
metalstack/client/__init__.py
|
|
95
100
|
metalstack/client/client.py
|
|
96
101
|
metalstack/infra/__init__.py
|
|
@@ -98,6 +103,9 @@ metalstack/infra/v2/__init__.py
|
|
|
98
103
|
metalstack/infra/v2/bmc_connect.py
|
|
99
104
|
metalstack/infra/v2/bmc_pb2.py
|
|
100
105
|
metalstack/infra/v2/bmc_pb2.pyi
|
|
106
|
+
metalstack/infra/v2/event_connect.py
|
|
107
|
+
metalstack/infra/v2/event_pb2.py
|
|
108
|
+
metalstack/infra/v2/event_pb2.pyi
|
|
101
109
|
metalstack/infra/v2/switch_connect.py
|
|
102
110
|
metalstack/infra/v2/switch_pb2.py
|
|
103
111
|
metalstack/infra/v2/switch_pb2.pyi
|
|
@@ -29,7 +29,7 @@ from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_
|
|
|
29
29
|
from metalstack.api.v2 import switch_pb2 as metalstack_dot_api_dot_v2_dot_switch__pb2
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n metalstack/admin/v2/switch.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1emetalstack/api/v2/switch.proto\"8\n\x17SwitchServiceGetRequest\x12\x1d\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\x02id\"M\n\x18SwitchServiceGetResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch\"P\n\x18SwitchServiceListRequest\x12\x34\n\x05query\x18\x01 \x01(\x0b\x32\x1e.metalstack.api.v2.SwitchQueryR\x05query\"R\n\x19SwitchServiceListResponse\x12\x35\n\x08switches\x18\x01 \x03(\x0b\x32\x19.metalstack.api.v2.SwitchR\x08switches\"\
|
|
32
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n metalstack/admin/v2/switch.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1emetalstack/api/v2/switch.proto\"8\n\x17SwitchServiceGetRequest\x12\x1d\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\x02id\"M\n\x18SwitchServiceGetResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch\"P\n\x18SwitchServiceListRequest\x12\x34\n\x05query\x18\x01 \x01(\x0b\x32\x1e.metalstack.api.v2.SwitchQueryR\x05query\"R\n\x19SwitchServiceListResponse\x12\x35\n\x08switches\x18\x01 \x03(\x0b\x32\x19.metalstack.api.v2.SwitchR\x08switches\"\x90\x06\n\x1aSwitchServiceUpdateRequest\x12\x1d\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\x02id\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12\x39\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x32\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12V\n\x0creplace_mode\x18\x05 \x01(\x0e\x32$.metalstack.api.v2.SwitchReplaceModeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x01R\x0breplaceMode\x88\x01\x01\x12\x31\n\rmanagement_ip\x18\x06 \x01(\tB\x07\xbaH\x04r\x02p\x01H\x02R\x0cmanagementIp\x88\x01\x01\x12\x39\n\x0fmanagement_user\x18\x07 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x03R\x0emanagementUser\x88\x01\x01\x12\x39\n\x0f\x63onsole_command\x18\x08 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x04R\x0e\x63onsoleCommand\x88\x01\x01\x12\x30\n\x04nics\x18\t \x03(\x0b\x32\x1c.metalstack.api.v2.SwitchNicR\x04nics\x12\x30\n\x02os\x18\n \x01(\x0b\x32\x1b.metalstack.api.v2.SwitchOSH\x05R\x02os\x88\x01\x01\x12U\n\x13machine_connections\x18\x0b \x03(\x0b\x32$.metalstack.api.v2.MachineConnectionR\x12machineConnectionsB\x0e\n\x0c_descriptionB\x0f\n\r_replace_modeB\x10\n\x0e_management_ipB\x12\n\x10_management_userB\x12\n\x10_console_commandB\x05\n\x03_os\"P\n\x1bSwitchServiceUpdateResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch\"Q\n\x1aSwitchServiceDeleteRequest\x12\x1d\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\x02id\x12\x14\n\x05\x66orce\x18\x02 \x01(\x08R\x05\x66orce\"P\n\x1bSwitchServiceDeleteResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch\"y\n\x1bSwitchServiceMigrateRequest\x12,\n\nold_switch\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\toldSwitch\x12,\n\nnew_switch\x18\x02 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\tnewSwitch\"Q\n\x1cSwitchServiceMigrateResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch\"\xa8\x01\n\x18SwitchServicePortRequest\x12\x1d\n\x02id\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01R\x02id\x12&\n\x08nic_name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07nicName\x12\x45\n\x06status\x18\x03 \x01(\x0e\x32#.metalstack.api.v2.SwitchPortStatusB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06status\"N\n\x19SwitchServicePortResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch2\xbf\x05\n\rSwitchService\x12n\n\x03Get\x12,.metalstack.admin.v2.SwitchServiceGetRequest\x1a-.metalstack.admin.v2.SwitchServiceGetResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12q\n\x04List\x12-.metalstack.admin.v2.SwitchServiceListRequest\x1a..metalstack.admin.v2.SwitchServiceListResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12r\n\x06Update\x12/.metalstack.admin.v2.SwitchServiceUpdateRequest\x1a\x30.metalstack.admin.v2.SwitchServiceUpdateResponse\"\x05\xd2\xf3\x18\x01\x01\x12r\n\x06\x44\x65lete\x12/.metalstack.admin.v2.SwitchServiceDeleteRequest\x1a\x30.metalstack.admin.v2.SwitchServiceDeleteResponse\"\x05\xd2\xf3\x18\x01\x01\x12u\n\x07Migrate\x12\x30.metalstack.admin.v2.SwitchServiceMigrateRequest\x1a\x31.metalstack.admin.v2.SwitchServiceMigrateResponse\"\x05\xd2\xf3\x18\x01\x01\x12l\n\x04Port\x12-.metalstack.admin.v2.SwitchServicePortRequest\x1a..metalstack.admin.v2.SwitchServicePortResponse\"\x05\xd2\xf3\x18\x01\x01\x42\xcf\x01\n\x17\x63om.metalstack.admin.v2B\x0bSwitchProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3')
|
|
33
33
|
|
|
34
34
|
_globals = globals()
|
|
35
35
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -86,21 +86,21 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
86
86
|
_globals['_SWITCHSERVICELISTRESPONSE']._serialized_start=444
|
|
87
87
|
_globals['_SWITCHSERVICELISTRESPONSE']._serialized_end=526
|
|
88
88
|
_globals['_SWITCHSERVICEUPDATEREQUEST']._serialized_start=529
|
|
89
|
-
_globals['_SWITCHSERVICEUPDATEREQUEST']._serialized_end=
|
|
90
|
-
_globals['_SWITCHSERVICEUPDATERESPONSE']._serialized_start=
|
|
91
|
-
_globals['_SWITCHSERVICEUPDATERESPONSE']._serialized_end=
|
|
92
|
-
_globals['_SWITCHSERVICEDELETEREQUEST']._serialized_start=
|
|
93
|
-
_globals['_SWITCHSERVICEDELETEREQUEST']._serialized_end=
|
|
94
|
-
_globals['_SWITCHSERVICEDELETERESPONSE']._serialized_start=
|
|
95
|
-
_globals['_SWITCHSERVICEDELETERESPONSE']._serialized_end=
|
|
96
|
-
_globals['_SWITCHSERVICEMIGRATEREQUEST']._serialized_start=
|
|
97
|
-
_globals['_SWITCHSERVICEMIGRATEREQUEST']._serialized_end=
|
|
98
|
-
_globals['_SWITCHSERVICEMIGRATERESPONSE']._serialized_start=
|
|
99
|
-
_globals['_SWITCHSERVICEMIGRATERESPONSE']._serialized_end=
|
|
100
|
-
_globals['_SWITCHSERVICEPORTREQUEST']._serialized_start=
|
|
101
|
-
_globals['_SWITCHSERVICEPORTREQUEST']._serialized_end=
|
|
102
|
-
_globals['_SWITCHSERVICEPORTRESPONSE']._serialized_start=
|
|
103
|
-
_globals['_SWITCHSERVICEPORTRESPONSE']._serialized_end=
|
|
104
|
-
_globals['_SWITCHSERVICE']._serialized_start=
|
|
105
|
-
_globals['_SWITCHSERVICE']._serialized_end=
|
|
89
|
+
_globals['_SWITCHSERVICEUPDATEREQUEST']._serialized_end=1313
|
|
90
|
+
_globals['_SWITCHSERVICEUPDATERESPONSE']._serialized_start=1315
|
|
91
|
+
_globals['_SWITCHSERVICEUPDATERESPONSE']._serialized_end=1395
|
|
92
|
+
_globals['_SWITCHSERVICEDELETEREQUEST']._serialized_start=1397
|
|
93
|
+
_globals['_SWITCHSERVICEDELETEREQUEST']._serialized_end=1478
|
|
94
|
+
_globals['_SWITCHSERVICEDELETERESPONSE']._serialized_start=1480
|
|
95
|
+
_globals['_SWITCHSERVICEDELETERESPONSE']._serialized_end=1560
|
|
96
|
+
_globals['_SWITCHSERVICEMIGRATEREQUEST']._serialized_start=1562
|
|
97
|
+
_globals['_SWITCHSERVICEMIGRATEREQUEST']._serialized_end=1683
|
|
98
|
+
_globals['_SWITCHSERVICEMIGRATERESPONSE']._serialized_start=1685
|
|
99
|
+
_globals['_SWITCHSERVICEMIGRATERESPONSE']._serialized_end=1766
|
|
100
|
+
_globals['_SWITCHSERVICEPORTREQUEST']._serialized_start=1769
|
|
101
|
+
_globals['_SWITCHSERVICEPORTREQUEST']._serialized_end=1937
|
|
102
|
+
_globals['_SWITCHSERVICEPORTRESPONSE']._serialized_start=1939
|
|
103
|
+
_globals['_SWITCHSERVICEPORTRESPONSE']._serialized_end=2017
|
|
104
|
+
_globals['_SWITCHSERVICE']._serialized_start=2020
|
|
105
|
+
_globals['_SWITCHSERVICE']._serialized_end=2723
|
|
106
106
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -38,7 +38,7 @@ class SwitchServiceListResponse(_message.Message):
|
|
|
38
38
|
def __init__(self, switches: _Optional[_Iterable[_Union[_switch_pb2.Switch, _Mapping]]] = ...) -> None: ...
|
|
39
39
|
|
|
40
40
|
class SwitchServiceUpdateRequest(_message.Message):
|
|
41
|
-
__slots__ = ("id", "update_meta", "updated_at", "description", "replace_mode", "management_ip", "management_user", "console_command", "nics", "os")
|
|
41
|
+
__slots__ = ("id", "update_meta", "updated_at", "description", "replace_mode", "management_ip", "management_user", "console_command", "nics", "os", "machine_connections")
|
|
42
42
|
ID_FIELD_NUMBER: _ClassVar[int]
|
|
43
43
|
UPDATE_META_FIELD_NUMBER: _ClassVar[int]
|
|
44
44
|
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -49,6 +49,7 @@ class SwitchServiceUpdateRequest(_message.Message):
|
|
|
49
49
|
CONSOLE_COMMAND_FIELD_NUMBER: _ClassVar[int]
|
|
50
50
|
NICS_FIELD_NUMBER: _ClassVar[int]
|
|
51
51
|
OS_FIELD_NUMBER: _ClassVar[int]
|
|
52
|
+
MACHINE_CONNECTIONS_FIELD_NUMBER: _ClassVar[int]
|
|
52
53
|
id: str
|
|
53
54
|
update_meta: _common_pb2.UpdateMeta
|
|
54
55
|
updated_at: _timestamp_pb2.Timestamp
|
|
@@ -59,7 +60,8 @@ class SwitchServiceUpdateRequest(_message.Message):
|
|
|
59
60
|
console_command: str
|
|
60
61
|
nics: _containers.RepeatedCompositeFieldContainer[_switch_pb2.SwitchNic]
|
|
61
62
|
os: _switch_pb2.SwitchOS
|
|
62
|
-
|
|
63
|
+
machine_connections: _containers.RepeatedCompositeFieldContainer[_switch_pb2.MachineConnection]
|
|
64
|
+
def __init__(self, id: _Optional[str] = ..., update_meta: _Optional[_Union[_common_pb2.UpdateMeta, _Mapping]] = ..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., description: _Optional[str] = ..., replace_mode: _Optional[_Union[_switch_pb2.SwitchReplaceMode, str]] = ..., management_ip: _Optional[str] = ..., management_user: _Optional[str] = ..., console_command: _Optional[str] = ..., nics: _Optional[_Iterable[_Union[_switch_pb2.SwitchNic, _Mapping]]] = ..., os: _Optional[_Union[_switch_pb2.SwitchOS, _Mapping]] = ..., machine_connections: _Optional[_Iterable[_Union[_switch_pb2.MachineConnection, _Mapping]]] = ...) -> None: ...
|
|
63
65
|
|
|
64
66
|
class SwitchServiceUpdateResponse(_message.Message):
|
|
65
67
|
__slots__ = ("switch",)
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by https://github.com/connectrpc/connect-python. DO NOT EDIT!
|
|
3
|
+
# source: metalstack/admin/v2/vpn.proto
|
|
4
|
+
|
|
5
|
+
from collections.abc import AsyncIterator, Iterable, Iterator, Mapping
|
|
6
|
+
from typing import Protocol
|
|
7
|
+
|
|
8
|
+
from connectrpc.client import ConnectClient, ConnectClientSync
|
|
9
|
+
from connectrpc.code import Code
|
|
10
|
+
from connectrpc.errors import ConnectError
|
|
11
|
+
from connectrpc.interceptor import Interceptor, InterceptorSync
|
|
12
|
+
from connectrpc.method import IdempotencyLevel, MethodInfo
|
|
13
|
+
from connectrpc.request import Headers, RequestContext
|
|
14
|
+
from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync
|
|
15
|
+
import metalstack.admin.v2.vpn_pb2 as metalstack_dot_admin_dot_v2_dot_vpn__pb2
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class VPNService(Protocol):
|
|
19
|
+
async def auth_key(self, request: metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceAuthKeyRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceAuthKeyResponse:
|
|
20
|
+
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
|
|
21
|
+
|
|
22
|
+
async def list_nodes(self, request: metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceListNodesRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceListNodesResponse:
|
|
23
|
+
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class VPNServiceASGIApplication(ConnectASGIApplication):
|
|
27
|
+
def __init__(self, service: VPNService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
|
|
28
|
+
super().__init__(
|
|
29
|
+
endpoints={
|
|
30
|
+
"/metalstack.admin.v2.VPNService/AuthKey": Endpoint.unary(
|
|
31
|
+
method=MethodInfo(
|
|
32
|
+
name="AuthKey",
|
|
33
|
+
service_name="metalstack.admin.v2.VPNService",
|
|
34
|
+
input=metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceAuthKeyRequest,
|
|
35
|
+
output=metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceAuthKeyResponse,
|
|
36
|
+
idempotency_level=IdempotencyLevel.UNKNOWN,
|
|
37
|
+
),
|
|
38
|
+
function=service.auth_key,
|
|
39
|
+
),
|
|
40
|
+
"/metalstack.admin.v2.VPNService/ListNodes": Endpoint.unary(
|
|
41
|
+
method=MethodInfo(
|
|
42
|
+
name="ListNodes",
|
|
43
|
+
service_name="metalstack.admin.v2.VPNService",
|
|
44
|
+
input=metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceListNodesRequest,
|
|
45
|
+
output=metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceListNodesResponse,
|
|
46
|
+
idempotency_level=IdempotencyLevel.UNKNOWN,
|
|
47
|
+
),
|
|
48
|
+
function=service.list_nodes,
|
|
49
|
+
),
|
|
50
|
+
},
|
|
51
|
+
interceptors=interceptors,
|
|
52
|
+
read_max_bytes=read_max_bytes,
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
@property
|
|
56
|
+
def path(self) -> str:
|
|
57
|
+
"""Returns the URL path to mount the application to when serving multiple applications."""
|
|
58
|
+
return "/metalstack.admin.v2.VPNService"
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class VPNServiceClient(ConnectClient):
|
|
62
|
+
async def auth_key(
|
|
63
|
+
self,
|
|
64
|
+
request: metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceAuthKeyRequest,
|
|
65
|
+
*,
|
|
66
|
+
headers: Headers | Mapping[str, str] | None = None,
|
|
67
|
+
timeout_ms: int | None = None,
|
|
68
|
+
) -> metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceAuthKeyResponse:
|
|
69
|
+
return await self.execute_unary(
|
|
70
|
+
request=request,
|
|
71
|
+
method=MethodInfo(
|
|
72
|
+
name="AuthKey",
|
|
73
|
+
service_name="metalstack.admin.v2.VPNService",
|
|
74
|
+
input=metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceAuthKeyRequest,
|
|
75
|
+
output=metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceAuthKeyResponse,
|
|
76
|
+
idempotency_level=IdempotencyLevel.UNKNOWN,
|
|
77
|
+
),
|
|
78
|
+
headers=headers,
|
|
79
|
+
timeout_ms=timeout_ms,
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
async def list_nodes(
|
|
83
|
+
self,
|
|
84
|
+
request: metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceListNodesRequest,
|
|
85
|
+
*,
|
|
86
|
+
headers: Headers | Mapping[str, str] | None = None,
|
|
87
|
+
timeout_ms: int | None = None,
|
|
88
|
+
) -> metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceListNodesResponse:
|
|
89
|
+
return await self.execute_unary(
|
|
90
|
+
request=request,
|
|
91
|
+
method=MethodInfo(
|
|
92
|
+
name="ListNodes",
|
|
93
|
+
service_name="metalstack.admin.v2.VPNService",
|
|
94
|
+
input=metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceListNodesRequest,
|
|
95
|
+
output=metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceListNodesResponse,
|
|
96
|
+
idempotency_level=IdempotencyLevel.UNKNOWN,
|
|
97
|
+
),
|
|
98
|
+
headers=headers,
|
|
99
|
+
timeout_ms=timeout_ms,
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
class VPNServiceSync(Protocol):
|
|
104
|
+
def auth_key(self, request: metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceAuthKeyRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceAuthKeyResponse:
|
|
105
|
+
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
|
|
106
|
+
def list_nodes(self, request: metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceListNodesRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceListNodesResponse:
|
|
107
|
+
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
class VPNServiceWSGIApplication(ConnectWSGIApplication):
|
|
111
|
+
def __init__(self, service: VPNServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
|
|
112
|
+
super().__init__(
|
|
113
|
+
endpoints={
|
|
114
|
+
"/metalstack.admin.v2.VPNService/AuthKey": EndpointSync.unary(
|
|
115
|
+
method=MethodInfo(
|
|
116
|
+
name="AuthKey",
|
|
117
|
+
service_name="metalstack.admin.v2.VPNService",
|
|
118
|
+
input=metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceAuthKeyRequest,
|
|
119
|
+
output=metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceAuthKeyResponse,
|
|
120
|
+
idempotency_level=IdempotencyLevel.UNKNOWN,
|
|
121
|
+
),
|
|
122
|
+
function=service.auth_key,
|
|
123
|
+
),
|
|
124
|
+
"/metalstack.admin.v2.VPNService/ListNodes": EndpointSync.unary(
|
|
125
|
+
method=MethodInfo(
|
|
126
|
+
name="ListNodes",
|
|
127
|
+
service_name="metalstack.admin.v2.VPNService",
|
|
128
|
+
input=metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceListNodesRequest,
|
|
129
|
+
output=metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceListNodesResponse,
|
|
130
|
+
idempotency_level=IdempotencyLevel.UNKNOWN,
|
|
131
|
+
),
|
|
132
|
+
function=service.list_nodes,
|
|
133
|
+
),
|
|
134
|
+
},
|
|
135
|
+
interceptors=interceptors,
|
|
136
|
+
read_max_bytes=read_max_bytes,
|
|
137
|
+
)
|
|
138
|
+
|
|
139
|
+
@property
|
|
140
|
+
def path(self) -> str:
|
|
141
|
+
"""Returns the URL path to mount the application to when serving multiple applications."""
|
|
142
|
+
return "/metalstack.admin.v2.VPNService"
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
class VPNServiceClientSync(ConnectClientSync):
|
|
146
|
+
def auth_key(
|
|
147
|
+
self,
|
|
148
|
+
request: metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceAuthKeyRequest,
|
|
149
|
+
*,
|
|
150
|
+
headers: Headers | Mapping[str, str] | None = None,
|
|
151
|
+
timeout_ms: int | None = None,
|
|
152
|
+
) -> metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceAuthKeyResponse:
|
|
153
|
+
return self.execute_unary(
|
|
154
|
+
request=request,
|
|
155
|
+
method=MethodInfo(
|
|
156
|
+
name="AuthKey",
|
|
157
|
+
service_name="metalstack.admin.v2.VPNService",
|
|
158
|
+
input=metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceAuthKeyRequest,
|
|
159
|
+
output=metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceAuthKeyResponse,
|
|
160
|
+
idempotency_level=IdempotencyLevel.UNKNOWN,
|
|
161
|
+
),
|
|
162
|
+
headers=headers,
|
|
163
|
+
timeout_ms=timeout_ms,
|
|
164
|
+
)
|
|
165
|
+
|
|
166
|
+
def list_nodes(
|
|
167
|
+
self,
|
|
168
|
+
request: metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceListNodesRequest,
|
|
169
|
+
*,
|
|
170
|
+
headers: Headers | Mapping[str, str] | None = None,
|
|
171
|
+
timeout_ms: int | None = None,
|
|
172
|
+
) -> metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceListNodesResponse:
|
|
173
|
+
return self.execute_unary(
|
|
174
|
+
request=request,
|
|
175
|
+
method=MethodInfo(
|
|
176
|
+
name="ListNodes",
|
|
177
|
+
service_name="metalstack.admin.v2.VPNService",
|
|
178
|
+
input=metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceListNodesRequest,
|
|
179
|
+
output=metalstack_dot_admin_dot_v2_dot_vpn__pb2.VPNServiceListNodesResponse,
|
|
180
|
+
idempotency_level=IdempotencyLevel.UNKNOWN,
|
|
181
|
+
),
|
|
182
|
+
headers=headers,
|
|
183
|
+
timeout_ms=timeout_ms,
|
|
184
|
+
)
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: metalstack/admin/v2/vpn.proto
|
|
5
|
+
# Protobuf Python Version: 6.32.1
|
|
6
|
+
"""Generated protocol buffer code."""
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
|
14
|
+
6,
|
|
15
|
+
32,
|
|
16
|
+
1,
|
|
17
|
+
'',
|
|
18
|
+
'metalstack/admin/v2/vpn.proto'
|
|
19
|
+
)
|
|
20
|
+
# @@protoc_insertion_point(imports)
|
|
21
|
+
|
|
22
|
+
_sym_db = _symbol_database.Default()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
|
|
26
|
+
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
|
|
27
|
+
from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2
|
|
28
|
+
from metalstack.api.v2 import vpn_pb2 as metalstack_dot_api_dot_v2_dot_vpn__pb2
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dmetalstack/admin/v2/vpn.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\x1bmetalstack/api/v2/vpn.proto\"\x91\x01\n\x18VPNServiceAuthKeyRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x1c\n\tephemeral\x18\x02 \x01(\x08R\tephemeral\x12\x33\n\x07\x65xpires\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\x07\x65xpires\"P\n\x19VPNServiceAuthKeyResponse\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x19\n\x08\x61uth_key\x18\x02 \x01(\tR\x07\x61uthKey\"G\n\x1aVPNServiceListNodesRequest\x12\x1d\n\x07project\x18\x01 \x01(\tH\x00R\x07project\x88\x01\x01\x42\n\n\x08_project\"O\n\x1bVPNServiceListNodesResponse\x12\x30\n\x05nodes\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.VPNNodeR\x05nodes2\xf5\x01\n\nVPNService\x12o\n\x07\x41uthKey\x12-.metalstack.admin.v2.VPNServiceAuthKeyRequest\x1a..metalstack.admin.v2.VPNServiceAuthKeyResponse\"\x05\xd2\xf3\x18\x01\x01\x12v\n\tListNodes\x12/.metalstack.admin.v2.VPNServiceListNodesRequest\x1a\x30.metalstack.admin.v2.VPNServiceListNodesResponse\"\x06\xd2\xf3\x18\x02\x01\x02\x42\xcc\x01\n\x17\x63om.metalstack.admin.v2B\x08VpnProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3')
|
|
32
|
+
|
|
33
|
+
_globals = globals()
|
|
34
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
35
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'metalstack.admin.v2.vpn_pb2', _globals)
|
|
36
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
37
|
+
_globals['DESCRIPTOR']._loaded_options = None
|
|
38
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n\027com.metalstack.admin.v2B\010VpnProtoP\001Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\242\002\003MAX\252\002\023Metalstack.Admin.V2\312\002\023Metalstack\\Admin\\V2\342\002\037Metalstack\\Admin\\V2\\GPBMetadata\352\002\025Metalstack::Admin::V2'
|
|
39
|
+
_globals['_VPNSERVICEAUTHKEYREQUEST'].fields_by_name['project']._loaded_options = None
|
|
40
|
+
_globals['_VPNSERVICEAUTHKEYREQUEST'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001'
|
|
41
|
+
_globals['_VPNSERVICE'].methods_by_name['AuthKey']._loaded_options = None
|
|
42
|
+
_globals['_VPNSERVICE'].methods_by_name['AuthKey']._serialized_options = b'\322\363\030\001\001'
|
|
43
|
+
_globals['_VPNSERVICE'].methods_by_name['ListNodes']._loaded_options = None
|
|
44
|
+
_globals['_VPNSERVICE'].methods_by_name['ListNodes']._serialized_options = b'\322\363\030\002\001\002'
|
|
45
|
+
_globals['_VPNSERVICEAUTHKEYREQUEST']._serialized_start=177
|
|
46
|
+
_globals['_VPNSERVICEAUTHKEYREQUEST']._serialized_end=322
|
|
47
|
+
_globals['_VPNSERVICEAUTHKEYRESPONSE']._serialized_start=324
|
|
48
|
+
_globals['_VPNSERVICEAUTHKEYRESPONSE']._serialized_end=404
|
|
49
|
+
_globals['_VPNSERVICELISTNODESREQUEST']._serialized_start=406
|
|
50
|
+
_globals['_VPNSERVICELISTNODESREQUEST']._serialized_end=477
|
|
51
|
+
_globals['_VPNSERVICELISTNODESRESPONSE']._serialized_start=479
|
|
52
|
+
_globals['_VPNSERVICELISTNODESRESPONSE']._serialized_end=558
|
|
53
|
+
_globals['_VPNSERVICE']._serialized_start=561
|
|
54
|
+
_globals['_VPNSERVICE']._serialized_end=806
|
|
55
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
|
|
3
|
+
from buf.validate import validate_pb2 as _validate_pb2
|
|
4
|
+
from google.protobuf import duration_pb2 as _duration_pb2
|
|
5
|
+
from metalstack.api.v2 import common_pb2 as _common_pb2
|
|
6
|
+
from metalstack.api.v2 import vpn_pb2 as _vpn_pb2
|
|
7
|
+
from google.protobuf.internal import containers as _containers
|
|
8
|
+
from google.protobuf import descriptor as _descriptor
|
|
9
|
+
from google.protobuf import message as _message
|
|
10
|
+
from collections.abc import Iterable as _Iterable, Mapping as _Mapping
|
|
11
|
+
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
|
|
12
|
+
|
|
13
|
+
DESCRIPTOR: _descriptor.FileDescriptor
|
|
14
|
+
|
|
15
|
+
class VPNServiceAuthKeyRequest(_message.Message):
|
|
16
|
+
__slots__ = ("project", "ephemeral", "expires")
|
|
17
|
+
PROJECT_FIELD_NUMBER: _ClassVar[int]
|
|
18
|
+
EPHEMERAL_FIELD_NUMBER: _ClassVar[int]
|
|
19
|
+
EXPIRES_FIELD_NUMBER: _ClassVar[int]
|
|
20
|
+
project: str
|
|
21
|
+
ephemeral: bool
|
|
22
|
+
expires: _duration_pb2.Duration
|
|
23
|
+
def __init__(self, project: _Optional[str] = ..., ephemeral: _Optional[bool] = ..., expires: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ...) -> None: ...
|
|
24
|
+
|
|
25
|
+
class VPNServiceAuthKeyResponse(_message.Message):
|
|
26
|
+
__slots__ = ("address", "auth_key")
|
|
27
|
+
ADDRESS_FIELD_NUMBER: _ClassVar[int]
|
|
28
|
+
AUTH_KEY_FIELD_NUMBER: _ClassVar[int]
|
|
29
|
+
address: str
|
|
30
|
+
auth_key: str
|
|
31
|
+
def __init__(self, address: _Optional[str] = ..., auth_key: _Optional[str] = ...) -> None: ...
|
|
32
|
+
|
|
33
|
+
class VPNServiceListNodesRequest(_message.Message):
|
|
34
|
+
__slots__ = ("project",)
|
|
35
|
+
PROJECT_FIELD_NUMBER: _ClassVar[int]
|
|
36
|
+
project: str
|
|
37
|
+
def __init__(self, project: _Optional[str] = ...) -> None: ...
|
|
38
|
+
|
|
39
|
+
class VPNServiceListNodesResponse(_message.Message):
|
|
40
|
+
__slots__ = ("nodes",)
|
|
41
|
+
NODES_FIELD_NUMBER: _ClassVar[int]
|
|
42
|
+
nodes: _containers.RepeatedCompositeFieldContainer[_vpn_pb2.VPNNode]
|
|
43
|
+
def __init__(self, nodes: _Optional[_Iterable[_Union[_vpn_pb2.VPNNode, _Mapping]]] = ...) -> None: ...
|