meshtrade 0.0.8__py3-none-any.whl → 0.0.10__py3-none-any.whl
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.
Potentially problematic release.
This version of meshtrade might be problematic. Click here for more details.
- buf/validate/validate_pb2.py +450 -0
- buf/validate/validate_pb2.pyi +627 -0
- meshtrade/common/__init__.py +28 -0
- meshtrade/common/config.py +30 -0
- meshtrade/common/grpc_client.py +202 -0
- meshtrade/compliance/client/v1/__init__.py +65 -7
- meshtrade/compliance/client/v1/client_pb2.py +2 -2
- meshtrade/compliance/client/v1/client_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/company_pb2.py +2 -2
- meshtrade/compliance/client/v1/company_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/company_representative_pb2.py +2 -2
- meshtrade/compliance/client/v1/company_representative_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/company_representative_role_pb2.py +2 -2
- meshtrade/compliance/client/v1/company_representative_role_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/fund_pb2.py +2 -2
- meshtrade/compliance/client/v1/fund_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/identification_document_type_pb2.py +2 -2
- meshtrade/compliance/client/v1/identification_document_type_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/industry_classification_pb2.py +2 -2
- meshtrade/compliance/client/v1/industry_classification_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/natural_person_connection_type_pb2.py +2 -2
- meshtrade/compliance/client/v1/natural_person_connection_type_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/natural_person_pb2.py +2 -2
- meshtrade/compliance/client/v1/natural_person_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/pep_status_pb2.py +2 -2
- meshtrade/compliance/client/v1/pep_status_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/service_meshpy.py +186 -0
- meshtrade/compliance/client/v1/service_options_meshpy.py +65 -0
- meshtrade/compliance/client/v1/service_pb2.py +20 -10
- meshtrade/compliance/client/v1/service_pb2.pyi +8 -0
- meshtrade/compliance/client/v1/service_pb2_grpc.py +192 -0
- meshtrade/compliance/client/v1/source_of_income_and_wealth_pb2.py +2 -2
- meshtrade/compliance/client/v1/source_of_income_and_wealth_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/tax_residency_pb2.py +2 -2
- meshtrade/compliance/client/v1/tax_residency_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/trust_pb2.py +2 -2
- meshtrade/compliance/client/v1/trust_pb2_grpc.py +4 -0
- meshtrade/compliance/client/v1/verification_status_pb2.py +2 -2
- meshtrade/compliance/client/v1/verification_status_pb2_grpc.py +4 -0
- meshtrade/iam/api_user/v1/__init__.py +99 -0
- meshtrade/iam/api_user/v1/api_credentials.py +156 -0
- meshtrade/iam/api_user/v1/api_credentials_pb2.py +42 -0
- meshtrade/iam/api_user/v1/api_credentials_pb2.pyi +14 -0
- meshtrade/iam/api_user/v1/api_credentials_pb2_grpc.py +4 -0
- meshtrade/iam/api_user/v1/api_user_pb2.py +48 -0
- meshtrade/iam/api_user/v1/api_user_pb2.pyi +49 -0
- meshtrade/iam/api_user/v1/api_user_pb2_grpc.py +4 -0
- meshtrade/iam/api_user/v1/service.py +58 -0
- meshtrade/iam/api_user/v1/service_meshpy.py +255 -0
- meshtrade/iam/api_user/v1/service_options_meshpy.py +65 -0
- meshtrade/iam/api_user/v1/service_pb2.py +77 -0
- meshtrade/iam/api_user/v1/service_pb2.pyi +63 -0
- meshtrade/iam/api_user/v1/service_pb2_grpc.py +458 -0
- meshtrade/iam/group/v1/__init__.py +59 -1
- meshtrade/iam/group/v1/group_pb2.py +2 -2
- meshtrade/iam/group/v1/group_pb2_grpc.py +4 -0
- meshtrade/iam/group/v1/service_meshpy.py +187 -0
- meshtrade/iam/group/v1/service_options_meshpy.py +65 -0
- meshtrade/iam/group/v1/service_pb2.py +22 -6
- meshtrade/iam/group/v1/service_pb2.pyi +29 -1
- meshtrade/iam/group/v1/service_pb2_grpc.py +170 -0
- meshtrade/iam/role/v1/__init__.py +44 -0
- meshtrade/iam/role/v1/role.py +23 -0
- meshtrade/iam/role/v1/role_pb2.py +40 -0
- meshtrade/{option/v1/auth_pb2.pyi → iam/role/v1/role_pb2.pyi} +16 -0
- meshtrade/iam/role/v1/role_pb2_grpc.py +4 -0
- meshtrade/iam/user/v1/__init__.py +53 -0
- meshtrade/iam/user/v1/service_meshpy.py +151 -0
- meshtrade/iam/user/v1/service_options_meshpy.py +65 -0
- meshtrade/iam/user/v1/service_pb2.py +51 -0
- meshtrade/iam/user/v1/service_pb2.pyi +19 -0
- meshtrade/iam/user/v1/service_pb2_grpc.py +82 -0
- meshtrade/{issuance_hub/instrument/v1/instrument_pb2.py → iam/user/v1/user_pb2.py} +7 -7
- meshtrade/iam/user/v1/user_pb2.pyi +15 -0
- meshtrade/iam/user/v1/user_pb2_grpc.py +4 -0
- meshtrade/ledger/transaction/v1/__init__.py +34 -0
- meshtrade/ledger/transaction/v1/transaction_action_pb2.py +2 -2
- meshtrade/ledger/transaction/v1/transaction_action_pb2_grpc.py +4 -0
- meshtrade/ledger/transaction/v1/transaction_state_pb2.py +2 -2
- meshtrade/ledger/transaction/v1/transaction_state_pb2_grpc.py +4 -0
- meshtrade/option/v1/__init__.py +36 -4
- meshtrade/option/v1/{service_type_pb2.py → method_type_pb2.py} +7 -7
- meshtrade/option/v1/method_type_pb2.pyi +17 -0
- meshtrade/option/v1/method_type_pb2_grpc.py +4 -0
- meshtrade/trading/limit_order/v1/__init__.py +47 -1
- meshtrade/trading/limit_order/v1/limit_order_pb2.py +2 -2
- meshtrade/trading/limit_order/v1/limit_order_pb2_grpc.py +4 -0
- meshtrade/trading/limit_order/v1/service_meshpy.py +151 -0
- meshtrade/trading/limit_order/v1/service_options_meshpy.py +65 -0
- meshtrade/trading/limit_order/v1/service_pb2.py +10 -6
- meshtrade/trading/limit_order/v1/service_pb2.pyi +2 -0
- meshtrade/trading/limit_order/v1/service_pb2_grpc.py +78 -0
- meshtrade/trading/market_order/v1/__init__.py +53 -0
- meshtrade/trading/{direct_order/v1/direct_order_pb2.py → market_order/v1/market_order_pb2.py} +7 -7
- meshtrade/trading/{spot/v1/spot_pb2.pyi → market_order/v1/market_order_pb2.pyi} +1 -1
- meshtrade/trading/market_order/v1/market_order_pb2_grpc.py +4 -0
- meshtrade/trading/market_order/v1/service_meshpy.py +151 -0
- meshtrade/trading/market_order/v1/service_options_meshpy.py +65 -0
- meshtrade/trading/market_order/v1/service_pb2.py +44 -0
- meshtrade/trading/{spot → market_order}/v1/service_pb2.pyi +4 -2
- meshtrade/trading/market_order/v1/service_pb2_grpc.py +78 -0
- meshtrade/type/v1/__init__.py +89 -50
- meshtrade/type/v1/address_pb2.py +2 -2
- meshtrade/type/v1/address_pb2_grpc.py +4 -0
- meshtrade/type/v1/amount.py +2 -8
- meshtrade/type/v1/amount_pb2.py +2 -2
- meshtrade/type/v1/amount_pb2_grpc.py +4 -0
- meshtrade/type/v1/contact_details_pb2.py +2 -2
- meshtrade/type/v1/contact_details_pb2_grpc.py +4 -0
- meshtrade/type/v1/date.py +263 -91
- meshtrade/type/v1/date_pb2.py +2 -2
- meshtrade/type/v1/date_pb2_grpc.py +4 -0
- meshtrade/type/v1/decimal_built_in_conversions.py +1 -1
- meshtrade/type/v1/decimal_pb2.py +2 -2
- meshtrade/type/v1/decimal_pb2_grpc.py +4 -0
- meshtrade/type/v1/ledger.py +1 -1
- meshtrade/type/v1/ledger_pb2.py +2 -2
- meshtrade/type/v1/ledger_pb2_grpc.py +4 -0
- meshtrade/type/v1/time_of_day.py +52 -87
- meshtrade/type/v1/time_of_day_pb2.py +2 -2
- meshtrade/type/v1/time_of_day_pb2_grpc.py +4 -0
- meshtrade/type/v1/token_pb2.py +2 -2
- meshtrade/type/v1/token_pb2_grpc.py +4 -0
- meshtrade/wallet/account/v1/__init__.py +46 -0
- meshtrade/wallet/account/v1/account_pb2.py +2 -2
- meshtrade/wallet/account/v1/account_pb2_grpc.py +4 -0
- meshtrade/wallet/account/v1/service_meshpy.py +204 -0
- meshtrade/wallet/account/v1/service_options_meshpy.py +65 -0
- meshtrade/wallet/account/v1/service_pb2.py +18 -18
- meshtrade/wallet/account/v1/service_pb2.pyi +2 -2
- meshtrade/wallet/account/v1/service_pb2_grpc.py +222 -0
- meshtrade-0.0.10.dist-info/METADATA +95 -0
- meshtrade-0.0.10.dist-info/RECORD +173 -0
- {meshtrade-0.0.8.dist-info → meshtrade-0.0.10.dist-info}/top_level.txt +1 -0
- meshtrade/issuance_hub/__init__.py +0 -0
- meshtrade/issuance_hub/instrument/__init__.py +0 -0
- meshtrade/issuance_hub/instrument/v1/__init__.py +0 -11
- meshtrade/issuance_hub/instrument/v1/instrument_pb2.pyi +0 -11
- meshtrade/issuance_hub/instrument/v1/service_pb2.py +0 -49
- meshtrade/issuance_hub/instrument/v1/service_pb2.pyi +0 -46
- meshtrade/option/v1/auth_pb2.py +0 -40
- meshtrade/option/v1/service_type_pb2.pyi +0 -17
- meshtrade/trading/direct_order/__init__.py +0 -0
- meshtrade/trading/direct_order/v1/__init__.py +0 -7
- meshtrade/trading/direct_order/v1/direct_order_pb2.pyi +0 -11
- meshtrade/trading/direct_order/v1/service_pb2.py +0 -40
- meshtrade/trading/direct_order/v1/service_pb2.pyi +0 -12
- meshtrade/trading/spot/__init__.py +0 -0
- meshtrade/trading/spot/v1/__init__.py +0 -7
- meshtrade/trading/spot/v1/service_pb2.py +0 -40
- meshtrade/trading/spot/v1/spot_pb2.py +0 -37
- meshtrade-0.0.8.dist-info/METADATA +0 -35
- meshtrade-0.0.8.dist-info/RECORD +0 -113
- meshtrade-0.0.8.dist-info/licenses/LICENSE +0 -10
- {meshtrade-0.0.8.dist-info → meshtrade-0.0.10.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
# Code generated by protoc-gen-meshpy. DO NOT EDIT.
|
|
2
|
+
# source: meshtrade/iam/group/v1/service.proto
|
|
3
|
+
|
|
4
|
+
"""
|
|
5
|
+
GroupService gRPC service wrapper with authentication, timeouts, and resource management.
|
|
6
|
+
|
|
7
|
+
This module provides a high-level gRPC service for the GroupService service that combines
|
|
8
|
+
the service interface with resource management capabilities, providing authentication,
|
|
9
|
+
timeouts, and proper connection handling.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
from datetime import timedelta
|
|
13
|
+
from typing import Optional
|
|
14
|
+
|
|
15
|
+
from meshtrade.common import BaseGRPCClient
|
|
16
|
+
from meshtrade.iam.api_user.v1.api_credentials import find_credentials
|
|
17
|
+
|
|
18
|
+
from .group_pb2 import Group
|
|
19
|
+
from .service_options_meshpy import ServiceOptions
|
|
20
|
+
from .service_pb2 import (
|
|
21
|
+
GetGroupRequest,
|
|
22
|
+
ListGroupsRequest,
|
|
23
|
+
ListGroupsResponse,
|
|
24
|
+
SearchGroupsRequest,
|
|
25
|
+
SearchGroupsResponse,
|
|
26
|
+
)
|
|
27
|
+
from .service_pb2_grpc import GroupServiceStub
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def _create_groupservice_stub(channel):
|
|
31
|
+
"""Factory function to create GroupServiceStub from gRPC channel."""
|
|
32
|
+
return GroupServiceStub(channel)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class GroupService(BaseGRPCClient):
|
|
36
|
+
"""GroupService gRPC service with authentication, timeouts, and resource management.
|
|
37
|
+
|
|
38
|
+
This service provides a complete implementation of the GroupService with proper authentication, timeout handling, and automatic resource cleanup.
|
|
39
|
+
|
|
40
|
+
Full Service documentation: https://meshtrade.github.io/api/docs/api-reference/iam/group/v1
|
|
41
|
+
|
|
42
|
+
Basic service usage with default SDK Configuration:
|
|
43
|
+
```python
|
|
44
|
+
service = GroupService()
|
|
45
|
+
|
|
46
|
+
with service: # `with` ensures proper clean up of underlying connection after use
|
|
47
|
+
response = service.get_api_user(request)
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
With default configuration API credentials are searched for using the standard discovery hierarchy:
|
|
51
|
+
|
|
52
|
+
1. MESH_API_CREDENTIALS environment variable
|
|
53
|
+
|
|
54
|
+
2. Default credential file location:
|
|
55
|
+
|
|
56
|
+
- Linux: `$XDG_CONFIG_HOME/mesh/credentials.json` or fallback to `$HOME/.config/mesh/credentials.json`
|
|
57
|
+
- macOS: `$HOME/Library/Application Support/mesh/credentials.json`
|
|
58
|
+
- Windows: `C:\\Users\\<user>\\AppData\\Roaming\\mesh\\credentials.json`
|
|
59
|
+
|
|
60
|
+
For more information on authentication: https://meshtrade.github.io/api/docs/architecture/authentication
|
|
61
|
+
|
|
62
|
+
The service may also be configured with custom options:
|
|
63
|
+
```python
|
|
64
|
+
from .service_options_meshpy import ServiceOptions
|
|
65
|
+
from datetime import timedelta
|
|
66
|
+
|
|
67
|
+
options = ServiceOptions(
|
|
68
|
+
url="api.staging.example.com",
|
|
69
|
+
port=443,
|
|
70
|
+
api_key="your-api-key",
|
|
71
|
+
group="groups/your-group-id",
|
|
72
|
+
timeout=timedelta(seconds=60)
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
service = GroupService(options)
|
|
76
|
+
|
|
77
|
+
with service: # `with` ensures proper clean up of underlying connection after use
|
|
78
|
+
response = service.get_api_user(request)
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
For more information on service configuration: https://meshtrade.github.io/api/docs/architecture/sdk-configuration
|
|
82
|
+
"""
|
|
83
|
+
|
|
84
|
+
def __init__(self, options: Optional[ServiceOptions] = None):
|
|
85
|
+
"""Construct and initialize the GroupService service.
|
|
86
|
+
|
|
87
|
+
Full Service documentation: https://meshtrade.github.io/api/docs/api-reference/iam/group/v1
|
|
88
|
+
|
|
89
|
+
Args:
|
|
90
|
+
options: Optional ServiceOptions for configuring the service.
|
|
91
|
+
If None, service is constructed with default configuration.
|
|
92
|
+
With default configuration API credentials are searched for using the standard discovery hierarchy:
|
|
93
|
+
|
|
94
|
+
1. MESH_API_CREDENTIALS environment variable
|
|
95
|
+
|
|
96
|
+
2. Default credential file location:
|
|
97
|
+
|
|
98
|
+
- Linux: `$XDG_CONFIG_HOME/mesh/credentials.json` or fallback to `$HOME/.config/mesh/credentials.json`
|
|
99
|
+
- macOS: `$HOME/Library/Application Support/mesh/credentials.json`
|
|
100
|
+
- Windows: `C:\\Users\\<user>\\AppData\\Roaming\\mesh\\credentials.json`
|
|
101
|
+
|
|
102
|
+
For more information on authentication: https://meshtrade.github.io/api/docs/architecture/authentication
|
|
103
|
+
|
|
104
|
+
For more information on service configuration: https://meshtrade.github.io/api/docs/architecture/sdk-configuration
|
|
105
|
+
|
|
106
|
+
Example:
|
|
107
|
+
```python
|
|
108
|
+
# construct with default configuration
|
|
109
|
+
service = GroupService()
|
|
110
|
+
|
|
111
|
+
# construct with custom configuration
|
|
112
|
+
options = ServiceOptions(
|
|
113
|
+
url="api.example.com",
|
|
114
|
+
api_key="your-key",
|
|
115
|
+
group="groups/your-group"
|
|
116
|
+
)
|
|
117
|
+
service = GroupService(options)
|
|
118
|
+
```
|
|
119
|
+
"""
|
|
120
|
+
if options is None:
|
|
121
|
+
options = ServiceOptions()
|
|
122
|
+
|
|
123
|
+
# Initialize the base client with all common functionality
|
|
124
|
+
super().__init__(
|
|
125
|
+
service_name="GroupService",
|
|
126
|
+
stub_factory=_create_groupservice_stub,
|
|
127
|
+
find_credentials_func=find_credentials,
|
|
128
|
+
url=options.url,
|
|
129
|
+
port=options.port,
|
|
130
|
+
api_key=options.api_key,
|
|
131
|
+
group=options.group,
|
|
132
|
+
timeout=options.timeout,
|
|
133
|
+
tls=options.tls,
|
|
134
|
+
)
|
|
135
|
+
|
|
136
|
+
def get_group(self, request: GetGroupRequest, timeout: Optional[timedelta] = None) -> Group:
|
|
137
|
+
"""GetGroup method.
|
|
138
|
+
|
|
139
|
+
Args:
|
|
140
|
+
request: The GetGroup request message
|
|
141
|
+
timeout: Optional timeout override for this call
|
|
142
|
+
|
|
143
|
+
Returns:
|
|
144
|
+
The GetGroup response message
|
|
145
|
+
|
|
146
|
+
Raises:
|
|
147
|
+
grpc.RpcError: If the gRPC call fails
|
|
148
|
+
ValueError: If authentication credentials are missing
|
|
149
|
+
"""
|
|
150
|
+
return self._execute_method("GetGroup", request, timeout)
|
|
151
|
+
|
|
152
|
+
def list_groups(self, request: ListGroupsRequest, timeout: Optional[timedelta] = None) -> ListGroupsResponse:
|
|
153
|
+
"""ListGroups method.
|
|
154
|
+
|
|
155
|
+
Args:
|
|
156
|
+
request: The ListGroups request message
|
|
157
|
+
timeout: Optional timeout override for this call
|
|
158
|
+
|
|
159
|
+
Returns:
|
|
160
|
+
The ListGroups response message
|
|
161
|
+
|
|
162
|
+
Raises:
|
|
163
|
+
grpc.RpcError: If the gRPC call fails
|
|
164
|
+
ValueError: If authentication credentials are missing
|
|
165
|
+
"""
|
|
166
|
+
return self._execute_method("ListGroups", request, timeout)
|
|
167
|
+
|
|
168
|
+
def search_groups(self, request: SearchGroupsRequest, timeout: Optional[timedelta] = None) -> SearchGroupsResponse:
|
|
169
|
+
"""SearchGroups method.
|
|
170
|
+
|
|
171
|
+
Args:
|
|
172
|
+
request: The SearchGroups request message
|
|
173
|
+
timeout: Optional timeout override for this call
|
|
174
|
+
|
|
175
|
+
Returns:
|
|
176
|
+
The SearchGroups response message
|
|
177
|
+
|
|
178
|
+
Raises:
|
|
179
|
+
grpc.RpcError: If the gRPC call fails
|
|
180
|
+
ValueError: If authentication credentials are missing
|
|
181
|
+
"""
|
|
182
|
+
return self._execute_method("SearchGroups", request, timeout)
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
# Create aliases to match expected exports
|
|
186
|
+
GroupServiceGRPCClient = GroupService
|
|
187
|
+
GroupServiceGRPCClientInterface = GroupService
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Code generated by protoc-gen-meshpy. DO NOT EDIT.
|
|
2
|
+
# source: meshtrade/iam/group/v1/service.proto
|
|
3
|
+
|
|
4
|
+
"""
|
|
5
|
+
Configuration options for GroupService gRPC service.
|
|
6
|
+
This module provides a clean, extensible way to configure the service with optional
|
|
7
|
+
parameters while maintaining backward compatibility and readability.
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
from datetime import timedelta
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ServiceOptions:
|
|
14
|
+
"""Configuration options for GroupService gRPC service.
|
|
15
|
+
|
|
16
|
+
This class provides a clean, extensible way to configure the service with optional
|
|
17
|
+
parameters while maintaining backward compatibility and readability.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
def __init__(
|
|
21
|
+
self,
|
|
22
|
+
tls: bool = True,
|
|
23
|
+
url: str | None = None,
|
|
24
|
+
port: int | None = None,
|
|
25
|
+
api_key: str | None = None,
|
|
26
|
+
group: str | None = None,
|
|
27
|
+
timeout: timedelta = timedelta(seconds=30),
|
|
28
|
+
):
|
|
29
|
+
"""Initialize service options.
|
|
30
|
+
|
|
31
|
+
Args:
|
|
32
|
+
tls: Whether to use TLS encryption for the gRPC connection.
|
|
33
|
+
When True, establishes a secure connection using TLS.
|
|
34
|
+
When False, uses an insecure connection.
|
|
35
|
+
Default: True (secure connection)
|
|
36
|
+
|
|
37
|
+
url: The server hostname or IP address (e.g., "api.example.com", "localhost").
|
|
38
|
+
Default: Uses DEFAULT_GRPC_URL from common module
|
|
39
|
+
|
|
40
|
+
port: The server port number (e.g., 443 for HTTPS, 8080 for development).
|
|
41
|
+
Default: Uses DEFAULT_GRPC_PORT from common module
|
|
42
|
+
|
|
43
|
+
api_key: The API key string (without "Bearer " prefix) for authentication.
|
|
44
|
+
The API key will be sent as a Bearer token in the Authorization header.
|
|
45
|
+
This is the primary authentication method for service-to-service communication.
|
|
46
|
+
|
|
47
|
+
group: The group resource name in format groups/{group_id} required for all API requests.
|
|
48
|
+
The group determines the authorization context for operations
|
|
49
|
+
and is sent as an "x-group" header with every request.
|
|
50
|
+
|
|
51
|
+
timeout: The default timeout for all gRPC method calls.
|
|
52
|
+
This timeout applies to individual method calls and helps prevent hanging requests.
|
|
53
|
+
If a request takes longer than the specified timeout, it will be cancelled.
|
|
54
|
+
Default: 30 seconds
|
|
55
|
+
"""
|
|
56
|
+
self.tls = tls
|
|
57
|
+
self.url = url
|
|
58
|
+
self.port = port
|
|
59
|
+
self.api_key = api_key
|
|
60
|
+
self.group = group
|
|
61
|
+
self.timeout = timeout
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
# Create alias to match expected exports
|
|
65
|
+
ClientOptions = ServiceOptions
|
|
@@ -23,18 +23,34 @@ _sym_db = _symbol_database.Default()
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
from meshtrade.iam.group.v1 import group_pb2 as meshtrade_dot_iam_dot_group_dot_v1_dot_group__pb2
|
|
26
|
+
from meshtrade.iam.role.v1 import role_pb2 as meshtrade_dot_iam_dot_role_dot_v1_dot_role__pb2
|
|
27
|
+
from meshtrade.option.v1 import method_type_pb2 as meshtrade_dot_option_dot_v1_dot_method__type__pb2
|
|
26
28
|
|
|
27
29
|
|
|
28
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$meshtrade/iam/group/v1/service.proto\x12\x16meshtrade.iam.group.v1\x1a\"meshtrade/iam/group/v1/group.proto\"\
|
|
30
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$meshtrade/iam/group/v1/service.proto\x12\x16meshtrade.iam.group.v1\x1a\"meshtrade/iam/group/v1/group.proto\x1a meshtrade/iam/role/v1/role.proto\x1a%meshtrade/option/v1/method_type.proto\"%\n\x0fGetGroupRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"\x13\n\x11ListGroupsRequest\"K\n\x12ListGroupsResponse\x12\x35\n\x06groups\x18\x01 \x03(\x0b\x32\x1d.meshtrade.iam.group.v1.GroupR\x06groups\")\n\x13SearchGroupsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"M\n\x14SearchGroupsResponse\x12\x35\n\x06groups\x18\x01 \x03(\x0b\x32\x1d.meshtrade.iam.group.v1.GroupR\x06groups2\xdc\x02\n\x0cGroupService\x12`\n\x08GetGroup\x12\'.meshtrade.iam.group.v1.GetGroupRequest\x1a\x1d.meshtrade.iam.group.v1.Group\"\x0c\xa0\xb5\x18\x01\xaa\xb5\x18\x04\n\x02\x05\x06\x12q\n\nListGroups\x12).meshtrade.iam.group.v1.ListGroupsRequest\x1a*.meshtrade.iam.group.v1.ListGroupsResponse\"\x0c\xa0\xb5\x18\x01\xaa\xb5\x18\x04\n\x02\x05\x06\x12w\n\x0cSearchGroups\x12+.meshtrade.iam.group.v1.SearchGroupsRequest\x1a,.meshtrade.iam.group.v1.SearchGroupsResponse\"\x0c\xa0\xb5\x18\x01\xaa\xb5\x18\x04\n\x02\x05\x06\x42Q\n\x1d\x63o.meshtrade.api.iam.group.v1Z0github.com/meshtrade/api/go/iam/group/v1;groupv1b\x06proto3')
|
|
29
31
|
|
|
30
32
|
_globals = globals()
|
|
31
33
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
32
34
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.iam.group.v1.service_pb2', _globals)
|
|
33
35
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
34
36
|
_globals['DESCRIPTOR']._loaded_options = None
|
|
35
|
-
_globals['DESCRIPTOR']._serialized_options = b'
|
|
36
|
-
_globals['
|
|
37
|
-
_globals['
|
|
38
|
-
_globals['_GROUPSERVICE'].
|
|
39
|
-
_globals['_GROUPSERVICE'].
|
|
37
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n\035co.meshtrade.api.iam.group.v1Z0github.com/meshtrade/api/go/iam/group/v1;groupv1'
|
|
38
|
+
_globals['_GROUPSERVICE'].methods_by_name['GetGroup']._loaded_options = None
|
|
39
|
+
_globals['_GROUPSERVICE'].methods_by_name['GetGroup']._serialized_options = b'\240\265\030\001\252\265\030\004\n\002\005\006'
|
|
40
|
+
_globals['_GROUPSERVICE'].methods_by_name['ListGroups']._loaded_options = None
|
|
41
|
+
_globals['_GROUPSERVICE'].methods_by_name['ListGroups']._serialized_options = b'\240\265\030\001\252\265\030\004\n\002\005\006'
|
|
42
|
+
_globals['_GROUPSERVICE'].methods_by_name['SearchGroups']._loaded_options = None
|
|
43
|
+
_globals['_GROUPSERVICE'].methods_by_name['SearchGroups']._serialized_options = b'\240\265\030\001\252\265\030\004\n\002\005\006'
|
|
44
|
+
_globals['_GETGROUPREQUEST']._serialized_start=173
|
|
45
|
+
_globals['_GETGROUPREQUEST']._serialized_end=210
|
|
46
|
+
_globals['_LISTGROUPSREQUEST']._serialized_start=212
|
|
47
|
+
_globals['_LISTGROUPSREQUEST']._serialized_end=231
|
|
48
|
+
_globals['_LISTGROUPSRESPONSE']._serialized_start=233
|
|
49
|
+
_globals['_LISTGROUPSRESPONSE']._serialized_end=308
|
|
50
|
+
_globals['_SEARCHGROUPSREQUEST']._serialized_start=310
|
|
51
|
+
_globals['_SEARCHGROUPSREQUEST']._serialized_end=351
|
|
52
|
+
_globals['_SEARCHGROUPSRESPONSE']._serialized_start=353
|
|
53
|
+
_globals['_SEARCHGROUPSRESPONSE']._serialized_end=430
|
|
54
|
+
_globals['_GROUPSERVICE']._serialized_start=433
|
|
55
|
+
_globals['_GROUPSERVICE']._serialized_end=781
|
|
40
56
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -1,10 +1,38 @@
|
|
|
1
1
|
from meshtrade.iam.group.v1 import group_pb2 as _group_pb2
|
|
2
|
+
from meshtrade.iam.role.v1 import role_pb2 as _role_pb2
|
|
3
|
+
from meshtrade.option.v1 import method_type_pb2 as _method_type_pb2
|
|
4
|
+
from google.protobuf.internal import containers as _containers
|
|
2
5
|
from google.protobuf import descriptor as _descriptor
|
|
3
6
|
from google.protobuf import message as _message
|
|
4
|
-
from
|
|
7
|
+
from collections.abc import Iterable as _Iterable, Mapping as _Mapping
|
|
8
|
+
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
|
|
5
9
|
|
|
6
10
|
DESCRIPTOR: _descriptor.FileDescriptor
|
|
7
11
|
|
|
8
12
|
class GetGroupRequest(_message.Message):
|
|
13
|
+
__slots__ = ("name",)
|
|
14
|
+
NAME_FIELD_NUMBER: _ClassVar[int]
|
|
15
|
+
name: str
|
|
16
|
+
def __init__(self, name: _Optional[str] = ...) -> None: ...
|
|
17
|
+
|
|
18
|
+
class ListGroupsRequest(_message.Message):
|
|
9
19
|
__slots__ = ()
|
|
10
20
|
def __init__(self) -> None: ...
|
|
21
|
+
|
|
22
|
+
class ListGroupsResponse(_message.Message):
|
|
23
|
+
__slots__ = ("groups",)
|
|
24
|
+
GROUPS_FIELD_NUMBER: _ClassVar[int]
|
|
25
|
+
groups: _containers.RepeatedCompositeFieldContainer[_group_pb2.Group]
|
|
26
|
+
def __init__(self, groups: _Optional[_Iterable[_Union[_group_pb2.Group, _Mapping]]] = ...) -> None: ...
|
|
27
|
+
|
|
28
|
+
class SearchGroupsRequest(_message.Message):
|
|
29
|
+
__slots__ = ("name",)
|
|
30
|
+
NAME_FIELD_NUMBER: _ClassVar[int]
|
|
31
|
+
name: str
|
|
32
|
+
def __init__(self, name: _Optional[str] = ...) -> None: ...
|
|
33
|
+
|
|
34
|
+
class SearchGroupsResponse(_message.Message):
|
|
35
|
+
__slots__ = ("groups",)
|
|
36
|
+
GROUPS_FIELD_NUMBER: _ClassVar[int]
|
|
37
|
+
groups: _containers.RepeatedCompositeFieldContainer[_group_pb2.Group]
|
|
38
|
+
def __init__(self, groups: _Optional[_Iterable[_Union[_group_pb2.Group, _Mapping]]] = ...) -> None: ...
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
|
2
|
+
"""Client and server classes corresponding to protobuf-defined services."""
|
|
3
|
+
import grpc
|
|
4
|
+
|
|
5
|
+
from meshtrade.iam.group.v1 import group_pb2 as meshtrade_dot_iam_dot_group_dot_v1_dot_group__pb2
|
|
6
|
+
from meshtrade.iam.group.v1 import service_pb2 as meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class GroupServiceStub(object):
|
|
10
|
+
"""Missing associated documentation comment in .proto file."""
|
|
11
|
+
|
|
12
|
+
def __init__(self, channel):
|
|
13
|
+
"""Constructor.
|
|
14
|
+
|
|
15
|
+
Args:
|
|
16
|
+
channel: A grpc.Channel.
|
|
17
|
+
"""
|
|
18
|
+
self.GetGroup = channel.unary_unary(
|
|
19
|
+
'/meshtrade.iam.group.v1.GroupService/GetGroup',
|
|
20
|
+
request_serializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.GetGroupRequest.SerializeToString,
|
|
21
|
+
response_deserializer=meshtrade_dot_iam_dot_group_dot_v1_dot_group__pb2.Group.FromString,
|
|
22
|
+
_registered_method=True)
|
|
23
|
+
self.ListGroups = channel.unary_unary(
|
|
24
|
+
'/meshtrade.iam.group.v1.GroupService/ListGroups',
|
|
25
|
+
request_serializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.ListGroupsRequest.SerializeToString,
|
|
26
|
+
response_deserializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.ListGroupsResponse.FromString,
|
|
27
|
+
_registered_method=True)
|
|
28
|
+
self.SearchGroups = channel.unary_unary(
|
|
29
|
+
'/meshtrade.iam.group.v1.GroupService/SearchGroups',
|
|
30
|
+
request_serializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.SearchGroupsRequest.SerializeToString,
|
|
31
|
+
response_deserializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.SearchGroupsResponse.FromString,
|
|
32
|
+
_registered_method=True)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class GroupServiceServicer(object):
|
|
36
|
+
"""Missing associated documentation comment in .proto file."""
|
|
37
|
+
|
|
38
|
+
def GetGroup(self, request, context):
|
|
39
|
+
"""
|
|
40
|
+
Get Specific Group.
|
|
41
|
+
"""
|
|
42
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
43
|
+
context.set_details('Method not implemented!')
|
|
44
|
+
raise NotImplementedError('Method not implemented!')
|
|
45
|
+
|
|
46
|
+
def ListGroups(self, request, context):
|
|
47
|
+
"""
|
|
48
|
+
Get all groups
|
|
49
|
+
"""
|
|
50
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
51
|
+
context.set_details('Method not implemented!')
|
|
52
|
+
raise NotImplementedError('Method not implemented!')
|
|
53
|
+
|
|
54
|
+
def SearchGroups(self, request, context):
|
|
55
|
+
"""
|
|
56
|
+
Get all groups with search filtering options.
|
|
57
|
+
"""
|
|
58
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
59
|
+
context.set_details('Method not implemented!')
|
|
60
|
+
raise NotImplementedError('Method not implemented!')
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def add_GroupServiceServicer_to_server(servicer, server):
|
|
64
|
+
rpc_method_handlers = {
|
|
65
|
+
'GetGroup': grpc.unary_unary_rpc_method_handler(
|
|
66
|
+
servicer.GetGroup,
|
|
67
|
+
request_deserializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.GetGroupRequest.FromString,
|
|
68
|
+
response_serializer=meshtrade_dot_iam_dot_group_dot_v1_dot_group__pb2.Group.SerializeToString,
|
|
69
|
+
),
|
|
70
|
+
'ListGroups': grpc.unary_unary_rpc_method_handler(
|
|
71
|
+
servicer.ListGroups,
|
|
72
|
+
request_deserializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.ListGroupsRequest.FromString,
|
|
73
|
+
response_serializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.ListGroupsResponse.SerializeToString,
|
|
74
|
+
),
|
|
75
|
+
'SearchGroups': grpc.unary_unary_rpc_method_handler(
|
|
76
|
+
servicer.SearchGroups,
|
|
77
|
+
request_deserializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.SearchGroupsRequest.FromString,
|
|
78
|
+
response_serializer=meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.SearchGroupsResponse.SerializeToString,
|
|
79
|
+
),
|
|
80
|
+
}
|
|
81
|
+
generic_handler = grpc.method_handlers_generic_handler(
|
|
82
|
+
'meshtrade.iam.group.v1.GroupService', rpc_method_handlers)
|
|
83
|
+
server.add_generic_rpc_handlers((generic_handler,))
|
|
84
|
+
server.add_registered_method_handlers('meshtrade.iam.group.v1.GroupService', rpc_method_handlers)
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
# This class is part of an EXPERIMENTAL API.
|
|
88
|
+
class GroupService(object):
|
|
89
|
+
"""Missing associated documentation comment in .proto file."""
|
|
90
|
+
|
|
91
|
+
@staticmethod
|
|
92
|
+
def GetGroup(request,
|
|
93
|
+
target,
|
|
94
|
+
options=(),
|
|
95
|
+
channel_credentials=None,
|
|
96
|
+
call_credentials=None,
|
|
97
|
+
insecure=False,
|
|
98
|
+
compression=None,
|
|
99
|
+
wait_for_ready=None,
|
|
100
|
+
timeout=None,
|
|
101
|
+
metadata=None):
|
|
102
|
+
return grpc.experimental.unary_unary(
|
|
103
|
+
request,
|
|
104
|
+
target,
|
|
105
|
+
'/meshtrade.iam.group.v1.GroupService/GetGroup',
|
|
106
|
+
meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.GetGroupRequest.SerializeToString,
|
|
107
|
+
meshtrade_dot_iam_dot_group_dot_v1_dot_group__pb2.Group.FromString,
|
|
108
|
+
options,
|
|
109
|
+
channel_credentials,
|
|
110
|
+
insecure,
|
|
111
|
+
call_credentials,
|
|
112
|
+
compression,
|
|
113
|
+
wait_for_ready,
|
|
114
|
+
timeout,
|
|
115
|
+
metadata,
|
|
116
|
+
_registered_method=True)
|
|
117
|
+
|
|
118
|
+
@staticmethod
|
|
119
|
+
def ListGroups(request,
|
|
120
|
+
target,
|
|
121
|
+
options=(),
|
|
122
|
+
channel_credentials=None,
|
|
123
|
+
call_credentials=None,
|
|
124
|
+
insecure=False,
|
|
125
|
+
compression=None,
|
|
126
|
+
wait_for_ready=None,
|
|
127
|
+
timeout=None,
|
|
128
|
+
metadata=None):
|
|
129
|
+
return grpc.experimental.unary_unary(
|
|
130
|
+
request,
|
|
131
|
+
target,
|
|
132
|
+
'/meshtrade.iam.group.v1.GroupService/ListGroups',
|
|
133
|
+
meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.ListGroupsRequest.SerializeToString,
|
|
134
|
+
meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.ListGroupsResponse.FromString,
|
|
135
|
+
options,
|
|
136
|
+
channel_credentials,
|
|
137
|
+
insecure,
|
|
138
|
+
call_credentials,
|
|
139
|
+
compression,
|
|
140
|
+
wait_for_ready,
|
|
141
|
+
timeout,
|
|
142
|
+
metadata,
|
|
143
|
+
_registered_method=True)
|
|
144
|
+
|
|
145
|
+
@staticmethod
|
|
146
|
+
def SearchGroups(request,
|
|
147
|
+
target,
|
|
148
|
+
options=(),
|
|
149
|
+
channel_credentials=None,
|
|
150
|
+
call_credentials=None,
|
|
151
|
+
insecure=False,
|
|
152
|
+
compression=None,
|
|
153
|
+
wait_for_ready=None,
|
|
154
|
+
timeout=None,
|
|
155
|
+
metadata=None):
|
|
156
|
+
return grpc.experimental.unary_unary(
|
|
157
|
+
request,
|
|
158
|
+
target,
|
|
159
|
+
'/meshtrade.iam.group.v1.GroupService/SearchGroups',
|
|
160
|
+
meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.SearchGroupsRequest.SerializeToString,
|
|
161
|
+
meshtrade_dot_iam_dot_group_dot_v1_dot_service__pb2.SearchGroupsResponse.FromString,
|
|
162
|
+
options,
|
|
163
|
+
channel_credentials,
|
|
164
|
+
insecure,
|
|
165
|
+
call_credentials,
|
|
166
|
+
compression,
|
|
167
|
+
wait_for_ready,
|
|
168
|
+
timeout,
|
|
169
|
+
metadata,
|
|
170
|
+
_registered_method=True)
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"""Role v1 package."""
|
|
2
|
+
|
|
3
|
+
# ===================================================================
|
|
4
|
+
# AUTO-GENERATED SECTION - ONLY EDIT BELOW THE CLOSING COMMENT BLOCK
|
|
5
|
+
# ===================================================================
|
|
6
|
+
# This section is automatically managed by protoc-gen-meshpy.
|
|
7
|
+
#
|
|
8
|
+
# DO NOT EDIT ANYTHING IN THIS SECTION MANUALLY!
|
|
9
|
+
# Your changes will be overwritten during code generation.
|
|
10
|
+
#
|
|
11
|
+
# To add custom imports and exports, scroll down to the
|
|
12
|
+
# "MANUAL SECTION" indicated below.
|
|
13
|
+
# ===================================================================
|
|
14
|
+
|
|
15
|
+
# Generated protobuf imports
|
|
16
|
+
from .role_pb2 import Role, RoleList
|
|
17
|
+
|
|
18
|
+
# ===================================================================
|
|
19
|
+
# END OF AUTO-GENERATED SECTION
|
|
20
|
+
# ===================================================================
|
|
21
|
+
#
|
|
22
|
+
# MANUAL SECTION - ADD YOUR CUSTOM IMPORTS AND EXPORTS BELOW
|
|
23
|
+
#
|
|
24
|
+
# You can safely add your own imports, functions, classes, and exports
|
|
25
|
+
# in this section. They will be preserved across code generation.
|
|
26
|
+
#
|
|
27
|
+
# Example:
|
|
28
|
+
# from my_custom_module import my_function
|
|
29
|
+
#
|
|
30
|
+
# ===================================================================
|
|
31
|
+
|
|
32
|
+
from .role import full_resource_name_from_group_name
|
|
33
|
+
|
|
34
|
+
# ===================================================================
|
|
35
|
+
# MODULE EXPORTS
|
|
36
|
+
# ===================================================================
|
|
37
|
+
# Combined auto-generated and manual exports
|
|
38
|
+
__all__ = [
|
|
39
|
+
# Generated exports
|
|
40
|
+
"Role",
|
|
41
|
+
"RoleList",
|
|
42
|
+
# Manual exports
|
|
43
|
+
"full_resource_name_from_group_name",
|
|
44
|
+
]
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"""Role helper functions for IAM role management."""
|
|
2
|
+
|
|
3
|
+
from .role_pb2 import Role
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def full_resource_name_from_group_name(role: Role, group_name: str) -> str:
|
|
7
|
+
"""
|
|
8
|
+
Create a full resource name for a role within a specific group.
|
|
9
|
+
|
|
10
|
+
This function provides the Python equivalent of Go's Role.FullResourceNameFromGroupName() method.
|
|
11
|
+
|
|
12
|
+
Args:
|
|
13
|
+
role: The Role enum value (e.g., Role.ROLE_IAM_ADMIN)
|
|
14
|
+
group_name: The group name (e.g., "groups/01DD32GZ7R0000000000000001")
|
|
15
|
+
|
|
16
|
+
Returns:
|
|
17
|
+
The full resource name string (e.g., "groups/01DD32GZ7R0000000000000001/5")
|
|
18
|
+
|
|
19
|
+
Example:
|
|
20
|
+
>>> full_resource_name_from_group_name(Role.ROLE_IAM_ADMIN, "groups/01DD32GZ7R0000000000000001")
|
|
21
|
+
"groups/01DD32GZ7R0000000000000001/5"
|
|
22
|
+
"""
|
|
23
|
+
return f"{group_name}/{role}"
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: meshtrade/iam/role/v1/role.proto
|
|
5
|
+
# Protobuf Python Version: 6.31.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
|
+
31,
|
|
16
|
+
1,
|
|
17
|
+
'',
|
|
18
|
+
'meshtrade/iam/role/v1/role.proto'
|
|
19
|
+
)
|
|
20
|
+
# @@protoc_insertion_point(imports)
|
|
21
|
+
|
|
22
|
+
_sym_db = _symbol_database.Default()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n meshtrade/iam/role/v1/role.proto\x12\x15meshtrade.iam.role.v1\x1a google/protobuf/descriptor.proto\"=\n\x08RoleList\x12\x31\n\x05roles\x18\x01 \x03(\x0e\x32\x1b.meshtrade.iam.role.v1.RoleR\x05roles*\x97\x02\n\x04Role\x12\x14\n\x10ROLE_UNSPECIFIED\x10\x00\x12\x15\n\x11ROLE_WALLET_ADMIN\x10\x01\x12\x16\n\x12ROLE_WALLET_VIEWER\x10\x02\x12\x19\n\x15ROLE_COMPLIANCE_ADMIN\x10\x03\x12\x1a\n\x16ROLE_COMPLIANCE_VIEWER\x10\x04\x12\x12\n\x0eROLE_IAM_ADMIN\x10\x05\x12\x13\n\x0fROLE_IAM_VIEWER\x10\x06\x12\x1b\n\x17ROLE_ISSUANCE_HUB_ADMIN\x10\x07\x12\x1c\n\x18ROLE_ISSUANCE_HUB_VIEWER\x10\x08\x12\x16\n\x12ROLE_TRADING_ADMIN\x10\t\x12\x17\n\x13ROLE_TRADING_VIEWER\x10\n:f\n\x0estandard_roles\x12\x1c.google.protobuf.FileOptions\x18\xd3\x86\x03 \x01(\x0b\x32\x1f.meshtrade.iam.role.v1.RoleListR\rstandardRoles:W\n\x05roles\x12\x1e.google.protobuf.MethodOptions\x18\xd5\x86\x03 \x01(\x0b\x32\x1f.meshtrade.iam.role.v1.RoleListR\x05rolesBN\n\x1c\x63o.meshtrade.api.iam.role.v1Z.github.com/meshtrade/api/go/iam/role/v1;rolev1b\x06proto3')
|
|
29
|
+
|
|
30
|
+
_globals = globals()
|
|
31
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
32
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.iam.role.v1.role_pb2', _globals)
|
|
33
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
34
|
+
_globals['DESCRIPTOR']._loaded_options = None
|
|
35
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n\034co.meshtrade.api.iam.role.v1Z.github.com/meshtrade/api/go/iam/role/v1;rolev1'
|
|
36
|
+
_globals['_ROLE']._serialized_start=157
|
|
37
|
+
_globals['_ROLE']._serialized_end=436
|
|
38
|
+
_globals['_ROLELIST']._serialized_start=93
|
|
39
|
+
_globals['_ROLELIST']._serialized_end=154
|
|
40
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -13,9 +13,25 @@ class Role(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
|
13
13
|
ROLE_UNSPECIFIED: _ClassVar[Role]
|
|
14
14
|
ROLE_WALLET_ADMIN: _ClassVar[Role]
|
|
15
15
|
ROLE_WALLET_VIEWER: _ClassVar[Role]
|
|
16
|
+
ROLE_COMPLIANCE_ADMIN: _ClassVar[Role]
|
|
17
|
+
ROLE_COMPLIANCE_VIEWER: _ClassVar[Role]
|
|
18
|
+
ROLE_IAM_ADMIN: _ClassVar[Role]
|
|
19
|
+
ROLE_IAM_VIEWER: _ClassVar[Role]
|
|
20
|
+
ROLE_ISSUANCE_HUB_ADMIN: _ClassVar[Role]
|
|
21
|
+
ROLE_ISSUANCE_HUB_VIEWER: _ClassVar[Role]
|
|
22
|
+
ROLE_TRADING_ADMIN: _ClassVar[Role]
|
|
23
|
+
ROLE_TRADING_VIEWER: _ClassVar[Role]
|
|
16
24
|
ROLE_UNSPECIFIED: Role
|
|
17
25
|
ROLE_WALLET_ADMIN: Role
|
|
18
26
|
ROLE_WALLET_VIEWER: Role
|
|
27
|
+
ROLE_COMPLIANCE_ADMIN: Role
|
|
28
|
+
ROLE_COMPLIANCE_VIEWER: Role
|
|
29
|
+
ROLE_IAM_ADMIN: Role
|
|
30
|
+
ROLE_IAM_VIEWER: Role
|
|
31
|
+
ROLE_ISSUANCE_HUB_ADMIN: Role
|
|
32
|
+
ROLE_ISSUANCE_HUB_VIEWER: Role
|
|
33
|
+
ROLE_TRADING_ADMIN: Role
|
|
34
|
+
ROLE_TRADING_VIEWER: Role
|
|
19
35
|
STANDARD_ROLES_FIELD_NUMBER: _ClassVar[int]
|
|
20
36
|
standard_roles: _descriptor.FieldDescriptor
|
|
21
37
|
ROLES_FIELD_NUMBER: _ClassVar[int]
|