valkey-glide 2.1.0rc2__cp312-cp312-macosx_11_0_arm64.whl → 2.2.3rc1__cp312-cp312-macosx_11_0_arm64.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.
- glide/__init__.py +58 -0
- glide/async_commands/cluster_commands.py +18 -3
- glide/async_commands/core.py +84 -21
- glide/async_commands/standalone_commands.py +1 -40
- glide/glide.cpython-312-darwin.so +0 -0
- glide/glide_client.py +15 -2
- glide/py.typed +0 -0
- glide_shared/__init__.py +4 -0
- glide_shared/commands/batch.py +30 -22
- glide_shared/config.py +274 -37
- glide_shared/protobuf/command_request_pb2.py +11 -9
- glide_shared/protobuf/connection_request_pb2.py +29 -25
- {valkey_glide-2.1.0rc2.dist-info → valkey_glide-2.2.3rc1.dist-info}/METADATA +2 -1
- {valkey_glide-2.1.0rc2.dist-info → valkey_glide-2.2.3rc1.dist-info}/RECORD +15 -14
- {valkey_glide-2.1.0rc2.dist-info → valkey_glide-2.2.3rc1.dist-info}/WHEEL +0 -0
glide_shared/config.py
CHANGED
|
@@ -107,23 +107,92 @@ class BackoffStrategy:
|
|
|
107
107
|
self.jitter_percent = jitter_percent
|
|
108
108
|
|
|
109
109
|
|
|
110
|
+
class ServiceType(Enum):
|
|
111
|
+
"""
|
|
112
|
+
Represents the types of AWS services that can be used for IAM authentication.
|
|
113
|
+
"""
|
|
114
|
+
|
|
115
|
+
ELASTICACHE = 0
|
|
116
|
+
"""Amazon ElastiCache service."""
|
|
117
|
+
MEMORYDB = 1
|
|
118
|
+
"""Amazon MemoryDB service."""
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
class IamAuthConfig:
|
|
122
|
+
"""
|
|
123
|
+
Configuration settings for IAM authentication.
|
|
124
|
+
|
|
125
|
+
Attributes:
|
|
126
|
+
cluster_name (str): The name of the ElastiCache/MemoryDB cluster.
|
|
127
|
+
service (ServiceType): The type of service being used (ElastiCache or MemoryDB).
|
|
128
|
+
region (str): The AWS region where the ElastiCache/MemoryDB cluster is located.
|
|
129
|
+
refresh_interval_seconds (Optional[int]): Optional refresh interval in seconds for renewing IAM authentication tokens.
|
|
130
|
+
If not provided, the core will use a default value of 300 seconds (5 min).
|
|
131
|
+
"""
|
|
132
|
+
|
|
133
|
+
def __init__(
|
|
134
|
+
self,
|
|
135
|
+
cluster_name: str,
|
|
136
|
+
service: ServiceType,
|
|
137
|
+
region: str,
|
|
138
|
+
refresh_interval_seconds: Optional[int] = None,
|
|
139
|
+
):
|
|
140
|
+
self.cluster_name = cluster_name
|
|
141
|
+
self.service = service
|
|
142
|
+
self.region = region
|
|
143
|
+
self.refresh_interval_seconds = refresh_interval_seconds
|
|
144
|
+
|
|
145
|
+
|
|
110
146
|
class ServerCredentials:
|
|
111
147
|
"""
|
|
112
148
|
Represents the credentials for connecting to a server.
|
|
113
149
|
|
|
150
|
+
Exactly one of the following authentication modes must be provided:
|
|
151
|
+
- Password-based authentication: Use password (and optionally username)
|
|
152
|
+
- IAM authentication: Use username (required) and iam_config
|
|
153
|
+
|
|
154
|
+
These modes are mutually exclusive - you cannot use both simultaneously.
|
|
155
|
+
|
|
114
156
|
Attributes:
|
|
115
|
-
password (str): The password that will be used for authenticating connections to the servers.
|
|
157
|
+
password (Optional[str]): The password that will be used for authenticating connections to the servers.
|
|
158
|
+
Mutually exclusive with iam_config. Either password or iam_config must be provided.
|
|
116
159
|
username (Optional[str]): The username that will be used for authenticating connections to the servers.
|
|
117
|
-
If not supplied, "default" will be used.
|
|
160
|
+
If not supplied for password-based authentication, "default" will be used.
|
|
161
|
+
Required for IAM authentication.
|
|
162
|
+
iam_config (Optional[IamAuthConfig]): IAM authentication configuration. Mutually exclusive with password.
|
|
163
|
+
Either password or iam_config must be provided.
|
|
164
|
+
The client will automatically generate and refresh the authentication token based on the provided configuration.
|
|
118
165
|
"""
|
|
119
166
|
|
|
120
167
|
def __init__(
|
|
121
168
|
self,
|
|
122
|
-
password: str,
|
|
169
|
+
password: Optional[str] = None,
|
|
123
170
|
username: Optional[str] = None,
|
|
171
|
+
iam_config: Optional[IamAuthConfig] = None,
|
|
124
172
|
):
|
|
173
|
+
# Validate mutual exclusivity
|
|
174
|
+
if password is not None and iam_config is not None:
|
|
175
|
+
raise ConfigurationError(
|
|
176
|
+
"password and iam_config are mutually exclusive. Use either password-based or IAM authentication, not both."
|
|
177
|
+
)
|
|
178
|
+
|
|
179
|
+
# Validate IAM requires username
|
|
180
|
+
if iam_config is not None and not username:
|
|
181
|
+
raise ConfigurationError("username is required for IAM authentication.")
|
|
182
|
+
|
|
183
|
+
# At least one authentication method must be provided
|
|
184
|
+
if password is None and iam_config is None:
|
|
185
|
+
raise ConfigurationError(
|
|
186
|
+
"Either password or iam_config must be provided for authentication."
|
|
187
|
+
)
|
|
188
|
+
|
|
125
189
|
self.password = password
|
|
126
190
|
self.username = username
|
|
191
|
+
self.iam_config = iam_config
|
|
192
|
+
|
|
193
|
+
def is_iam_auth(self) -> bool:
|
|
194
|
+
"""Returns True if this credential is configured for IAM authentication."""
|
|
195
|
+
return self.iam_config is not None
|
|
127
196
|
|
|
128
197
|
|
|
129
198
|
class PeriodicChecksManualInterval:
|
|
@@ -172,10 +241,40 @@ class TlsAdvancedConfiguration:
|
|
|
172
241
|
Enabling it without TLS will result in a `ConfigurationError`.
|
|
173
242
|
|
|
174
243
|
- Default: False (verification is enforced).
|
|
244
|
+
|
|
245
|
+
root_pem_cacerts (Optional[bytes]): Custom root certificate data for TLS connections in PEM format.
|
|
246
|
+
|
|
247
|
+
- When provided, these certificates will be used instead of the system's default trust store.
|
|
248
|
+
This is useful for connecting to servers with self-signed certificates or corporate
|
|
249
|
+
certificate authorities.
|
|
250
|
+
|
|
251
|
+
- If set to an empty bytes object (non-None but length 0), a `ConfigurationError` will be raised.
|
|
252
|
+
|
|
253
|
+
- If None (default), the system's default certificate trust store will be used (platform verifier).
|
|
254
|
+
|
|
255
|
+
- The certificate data should be in PEM format as a bytes object.
|
|
256
|
+
|
|
257
|
+
- Multiple certificates can be provided by concatenating them in PEM format.
|
|
258
|
+
|
|
259
|
+
Example usage::
|
|
260
|
+
|
|
261
|
+
# Load from file
|
|
262
|
+
with open('/path/to/ca-cert.pem', 'rb') as f:
|
|
263
|
+
cert_data = f.read()
|
|
264
|
+
tls_config = TlsAdvancedConfiguration(root_pem_cacerts=cert_data)
|
|
265
|
+
|
|
266
|
+
# Or provide directly
|
|
267
|
+
cert_data = b"-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----"
|
|
268
|
+
tls_config = TlsAdvancedConfiguration(root_pem_cacerts=cert_data)
|
|
175
269
|
"""
|
|
176
270
|
|
|
177
|
-
def __init__(
|
|
271
|
+
def __init__(
|
|
272
|
+
self,
|
|
273
|
+
use_insecure_tls: Optional[bool] = None,
|
|
274
|
+
root_pem_cacerts: Optional[bytes] = None,
|
|
275
|
+
):
|
|
178
276
|
self.use_insecure_tls = use_insecure_tls
|
|
277
|
+
self.root_pem_cacerts = root_pem_cacerts
|
|
179
278
|
|
|
180
279
|
|
|
181
280
|
class AdvancedBaseClientConfiguration:
|
|
@@ -206,13 +305,24 @@ class AdvancedBaseClientConfiguration:
|
|
|
206
305
|
if self.connection_timeout:
|
|
207
306
|
request.connection_timeout = self.connection_timeout
|
|
208
307
|
|
|
209
|
-
if self.tls_config
|
|
210
|
-
if
|
|
308
|
+
if self.tls_config:
|
|
309
|
+
if self.tls_config.use_insecure_tls:
|
|
310
|
+
# Validate that TLS is enabled before allowing insecure mode
|
|
311
|
+
if request.tls_mode == TlsMode.NoTls:
|
|
312
|
+
raise ConfigurationError(
|
|
313
|
+
"use_insecure_tls cannot be enabled when use_tls is disabled."
|
|
314
|
+
)
|
|
315
|
+
|
|
316
|
+
# Override the default SecureTls mode to InsecureTls when user explicitly requests it
|
|
211
317
|
request.tls_mode = TlsMode.InsecureTls
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
)
|
|
318
|
+
|
|
319
|
+
# Handle root certificates
|
|
320
|
+
if self.tls_config.root_pem_cacerts is not None:
|
|
321
|
+
if len(self.tls_config.root_pem_cacerts) == 0:
|
|
322
|
+
raise ConfigurationError(
|
|
323
|
+
"root_pem_cacerts cannot be an empty bytes object; use None to use platform verifier"
|
|
324
|
+
)
|
|
325
|
+
request.root_certs.append(self.tls_config.root_pem_cacerts)
|
|
216
326
|
|
|
217
327
|
return request
|
|
218
328
|
|
|
@@ -249,6 +359,8 @@ class BaseClientConfiguration:
|
|
|
249
359
|
reconnect_strategy (Optional[BackoffStrategy]): Strategy used to determine how and when to reconnect, in case of
|
|
250
360
|
connection failures.
|
|
251
361
|
If not set, a default backoff strategy will be used.
|
|
362
|
+
database_id (Optional[int]): Index of the logical database to connect to.
|
|
363
|
+
Must be a non-negative integer.If not set, the client will connect to database 0.
|
|
252
364
|
client_name (Optional[str]): Client name to be used for the client. Will be used with CLIENT SETNAME command
|
|
253
365
|
during connection establishment.
|
|
254
366
|
protocol (ProtocolVersion): Serialization protocol to be used. If not set, `RESP3` will be used.
|
|
@@ -292,6 +404,7 @@ class BaseClientConfiguration:
|
|
|
292
404
|
read_from: ReadFrom = ReadFrom.PRIMARY,
|
|
293
405
|
request_timeout: Optional[int] = None,
|
|
294
406
|
reconnect_strategy: Optional[BackoffStrategy] = None,
|
|
407
|
+
database_id: Optional[int] = None,
|
|
295
408
|
client_name: Optional[str] = None,
|
|
296
409
|
protocol: ProtocolVersion = ProtocolVersion.RESP3,
|
|
297
410
|
inflight_requests_limit: Optional[int] = None,
|
|
@@ -305,6 +418,7 @@ class BaseClientConfiguration:
|
|
|
305
418
|
self.read_from = read_from
|
|
306
419
|
self.request_timeout = request_timeout
|
|
307
420
|
self.reconnect_strategy = reconnect_strategy
|
|
421
|
+
self.database_id = database_id
|
|
308
422
|
self.client_name = client_name
|
|
309
423
|
self.protocol = protocol
|
|
310
424
|
self.inflight_requests_limit = inflight_requests_limit
|
|
@@ -322,6 +436,73 @@ class BaseClientConfiguration:
|
|
|
322
436
|
"client_az must be set when read_from is set to AZ_AFFINITY_REPLICAS_AND_PRIMARY"
|
|
323
437
|
)
|
|
324
438
|
|
|
439
|
+
def _set_addresses_in_request(self, request: ConnectionRequest) -> None:
|
|
440
|
+
"""Set addresses in the protobuf request."""
|
|
441
|
+
for address in self.addresses:
|
|
442
|
+
address_info = request.addresses.add()
|
|
443
|
+
address_info.host = address.host
|
|
444
|
+
address_info.port = address.port
|
|
445
|
+
|
|
446
|
+
def _set_reconnect_strategy_in_request(self, request: ConnectionRequest) -> None:
|
|
447
|
+
"""Set reconnect strategy in the protobuf request."""
|
|
448
|
+
if not self.reconnect_strategy:
|
|
449
|
+
return
|
|
450
|
+
|
|
451
|
+
request.connection_retry_strategy.number_of_retries = (
|
|
452
|
+
self.reconnect_strategy.num_of_retries
|
|
453
|
+
)
|
|
454
|
+
request.connection_retry_strategy.factor = self.reconnect_strategy.factor
|
|
455
|
+
request.connection_retry_strategy.exponent_base = (
|
|
456
|
+
self.reconnect_strategy.exponent_base
|
|
457
|
+
)
|
|
458
|
+
if self.reconnect_strategy.jitter_percent is not None:
|
|
459
|
+
request.connection_retry_strategy.jitter_percent = (
|
|
460
|
+
self.reconnect_strategy.jitter_percent
|
|
461
|
+
)
|
|
462
|
+
|
|
463
|
+
def _set_credentials_in_request(self, request: ConnectionRequest) -> None:
|
|
464
|
+
"""Set credentials in the protobuf request."""
|
|
465
|
+
if not self.credentials:
|
|
466
|
+
return
|
|
467
|
+
|
|
468
|
+
if self.credentials.username:
|
|
469
|
+
request.authentication_info.username = self.credentials.username
|
|
470
|
+
|
|
471
|
+
if self.credentials.password:
|
|
472
|
+
request.authentication_info.password = self.credentials.password
|
|
473
|
+
|
|
474
|
+
# Set IAM credentials if present
|
|
475
|
+
if self.credentials.iam_config:
|
|
476
|
+
iam_config = self.credentials.iam_config
|
|
477
|
+
request.authentication_info.iam_credentials.cluster_name = (
|
|
478
|
+
iam_config.cluster_name
|
|
479
|
+
)
|
|
480
|
+
request.authentication_info.iam_credentials.region = iam_config.region
|
|
481
|
+
|
|
482
|
+
# Map ServiceType enum to protobuf ServiceType
|
|
483
|
+
if iam_config.service == ServiceType.ELASTICACHE:
|
|
484
|
+
from glide_shared.protobuf.connection_request_pb2 import (
|
|
485
|
+
ServiceType as ProtobufServiceType,
|
|
486
|
+
)
|
|
487
|
+
|
|
488
|
+
request.authentication_info.iam_credentials.service_type = (
|
|
489
|
+
ProtobufServiceType.ELASTICACHE
|
|
490
|
+
)
|
|
491
|
+
elif iam_config.service == ServiceType.MEMORYDB:
|
|
492
|
+
from glide_shared.protobuf.connection_request_pb2 import (
|
|
493
|
+
ServiceType as ProtobufServiceType,
|
|
494
|
+
)
|
|
495
|
+
|
|
496
|
+
request.authentication_info.iam_credentials.service_type = (
|
|
497
|
+
ProtobufServiceType.MEMORYDB
|
|
498
|
+
)
|
|
499
|
+
|
|
500
|
+
# Set optional refresh interval
|
|
501
|
+
if iam_config.refresh_interval_seconds is not None:
|
|
502
|
+
request.authentication_info.iam_credentials.refresh_interval_seconds = (
|
|
503
|
+
iam_config.refresh_interval_seconds
|
|
504
|
+
)
|
|
505
|
+
|
|
325
506
|
def _create_a_protobuf_conn_request(
|
|
326
507
|
self, cluster_mode: bool = False
|
|
327
508
|
) -> ConnectionRequest:
|
|
@@ -335,44 +516,34 @@ class BaseClientConfiguration:
|
|
|
335
516
|
ConnectionRequest: Protobuf ConnectionRequest.
|
|
336
517
|
"""
|
|
337
518
|
request = ConnectionRequest()
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
address_info.port = address.port
|
|
519
|
+
|
|
520
|
+
# Set basic configuration
|
|
521
|
+
self._set_addresses_in_request(request)
|
|
342
522
|
request.tls_mode = TlsMode.SecureTls if self.use_tls else TlsMode.NoTls
|
|
343
523
|
request.read_from = self.read_from.value
|
|
524
|
+
request.cluster_mode_enabled = cluster_mode
|
|
525
|
+
request.protocol = self.protocol.value
|
|
526
|
+
|
|
527
|
+
# Set optional configuration
|
|
344
528
|
if self.request_timeout:
|
|
345
529
|
request.request_timeout = self.request_timeout
|
|
346
|
-
if self.reconnect_strategy:
|
|
347
|
-
request.connection_retry_strategy.number_of_retries = (
|
|
348
|
-
self.reconnect_strategy.num_of_retries
|
|
349
|
-
)
|
|
350
|
-
request.connection_retry_strategy.factor = self.reconnect_strategy.factor
|
|
351
|
-
request.connection_retry_strategy.exponent_base = (
|
|
352
|
-
self.reconnect_strategy.exponent_base
|
|
353
|
-
)
|
|
354
|
-
if self.reconnect_strategy.jitter_percent is not None:
|
|
355
|
-
request.connection_retry_strategy.jitter_percent = (
|
|
356
|
-
self.reconnect_strategy.jitter_percent
|
|
357
|
-
)
|
|
358
530
|
|
|
359
|
-
request
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
request.authentication_info.username = self.credentials.username
|
|
363
|
-
request.authentication_info.password = self.credentials.password
|
|
531
|
+
self._set_reconnect_strategy_in_request(request)
|
|
532
|
+
self._set_credentials_in_request(request)
|
|
533
|
+
|
|
364
534
|
if self.client_name:
|
|
365
535
|
request.client_name = self.client_name
|
|
366
|
-
request.protocol = self.protocol.value
|
|
367
536
|
if self.inflight_requests_limit:
|
|
368
537
|
request.inflight_requests_limit = self.inflight_requests_limit
|
|
369
538
|
if self.client_az:
|
|
370
539
|
request.client_az = self.client_az
|
|
540
|
+
if self.database_id is not None:
|
|
541
|
+
request.database_id = self.database_id
|
|
371
542
|
if self.advanced_config:
|
|
372
543
|
self.advanced_config._create_a_protobuf_conn_request(request)
|
|
373
|
-
|
|
374
544
|
if self.lazy_connect is not None:
|
|
375
545
|
request.lazy_connect = self.lazy_connect
|
|
546
|
+
|
|
376
547
|
return request
|
|
377
548
|
|
|
378
549
|
def _is_pubsub_configured(self) -> bool:
|
|
@@ -425,7 +596,7 @@ class GlideClientConfiguration(BaseClientConfiguration):
|
|
|
425
596
|
reconnect_strategy (Optional[BackoffStrategy]): Strategy used to determine how and when to reconnect, in case of
|
|
426
597
|
connection failures.
|
|
427
598
|
If not set, a default backoff strategy will be used.
|
|
428
|
-
database_id (Optional[int]):
|
|
599
|
+
database_id (Optional[int]): Index of the logical database to connect to.
|
|
429
600
|
client_name (Optional[str]): Client name to be used for the client. Will be used with CLIENT SETNAME command during
|
|
430
601
|
connection establishment.
|
|
431
602
|
protocol (ProtocolVersion): The version of the RESP protocol to communicate with the server.
|
|
@@ -500,6 +671,7 @@ class GlideClientConfiguration(BaseClientConfiguration):
|
|
|
500
671
|
read_from=read_from,
|
|
501
672
|
request_timeout=request_timeout,
|
|
502
673
|
reconnect_strategy=reconnect_strategy,
|
|
674
|
+
database_id=database_id,
|
|
503
675
|
client_name=client_name,
|
|
504
676
|
protocol=protocol,
|
|
505
677
|
inflight_requests_limit=inflight_requests_limit,
|
|
@@ -507,7 +679,6 @@ class GlideClientConfiguration(BaseClientConfiguration):
|
|
|
507
679
|
advanced_config=advanced_config,
|
|
508
680
|
lazy_connect=lazy_connect,
|
|
509
681
|
)
|
|
510
|
-
self.database_id = database_id
|
|
511
682
|
self.pubsub_subscriptions = pubsub_subscriptions
|
|
512
683
|
|
|
513
684
|
def _create_a_protobuf_conn_request(
|
|
@@ -515,8 +686,6 @@ class GlideClientConfiguration(BaseClientConfiguration):
|
|
|
515
686
|
) -> ConnectionRequest:
|
|
516
687
|
assert cluster_mode is False
|
|
517
688
|
request = super()._create_a_protobuf_conn_request(cluster_mode)
|
|
518
|
-
if self.database_id:
|
|
519
|
-
request.database_id = self.database_id
|
|
520
689
|
|
|
521
690
|
if self.pubsub_subscriptions:
|
|
522
691
|
if self.protocol == ProtocolVersion.RESP2:
|
|
@@ -556,14 +725,38 @@ class GlideClientConfiguration(BaseClientConfiguration):
|
|
|
556
725
|
class AdvancedGlideClusterClientConfiguration(AdvancedBaseClientConfiguration):
|
|
557
726
|
"""
|
|
558
727
|
Represents the advanced configuration settings for a Glide Cluster client.
|
|
728
|
+
|
|
729
|
+
Attributes:
|
|
730
|
+
connection_timeout (Optional[int]): The duration in milliseconds to wait for a TCP/TLS connection to complete.
|
|
731
|
+
This applies both during initial client creation and any reconnection that may occur during request processing.
|
|
732
|
+
**Note**: A high connection timeout may lead to prolonged blocking of the entire command pipeline.
|
|
733
|
+
If not explicitly set, a default value of 2000 milliseconds will be used.
|
|
734
|
+
tls_config (Optional[TlsAdvancedConfiguration]): The advanced TLS configuration settings.
|
|
735
|
+
This allows for more granular control of TLS behavior, such as enabling an insecure mode
|
|
736
|
+
that bypasses certificate validation.
|
|
737
|
+
refresh_topology_from_initial_nodes (bool): Enables refreshing the cluster topology using only the initial nodes.
|
|
738
|
+
When this option is enabled, all topology updates (both the periodic checks and on-demand refreshes
|
|
739
|
+
triggered by topology changes) will query only the initial nodes provided when creating the client, rather than using the internal cluster view.
|
|
559
740
|
"""
|
|
560
741
|
|
|
561
742
|
def __init__(
|
|
562
743
|
self,
|
|
563
744
|
connection_timeout: Optional[int] = None,
|
|
564
745
|
tls_config: Optional[TlsAdvancedConfiguration] = None,
|
|
746
|
+
refresh_topology_from_initial_nodes: bool = False,
|
|
565
747
|
):
|
|
566
748
|
super().__init__(connection_timeout, tls_config)
|
|
749
|
+
self.refresh_topology_from_initial_nodes = refresh_topology_from_initial_nodes
|
|
750
|
+
|
|
751
|
+
def _create_a_protobuf_conn_request(
|
|
752
|
+
self, request: ConnectionRequest
|
|
753
|
+
) -> ConnectionRequest:
|
|
754
|
+
super()._create_a_protobuf_conn_request(request)
|
|
755
|
+
|
|
756
|
+
request.refresh_topology_from_initial_nodes = (
|
|
757
|
+
self.refresh_topology_from_initial_nodes
|
|
758
|
+
)
|
|
759
|
+
return request
|
|
567
760
|
|
|
568
761
|
|
|
569
762
|
class GlideClusterClientConfiguration(BaseClientConfiguration):
|
|
@@ -592,6 +785,7 @@ class GlideClusterClientConfiguration(BaseClientConfiguration):
|
|
|
592
785
|
reconnect_strategy (Optional[BackoffStrategy]): Strategy used to determine how and when to reconnect, in case of
|
|
593
786
|
connection failures.
|
|
594
787
|
If not set, a default backoff strategy will be used.
|
|
788
|
+
database_id (Optional[int]): Index of the logical database to connect to.
|
|
595
789
|
client_name (Optional[str]): Client name to be used for the client. Will be used with CLIENT SETNAME command during
|
|
596
790
|
connection establishment.
|
|
597
791
|
protocol (ProtocolVersion): The version of the RESP protocol to communicate with the server.
|
|
@@ -661,6 +855,7 @@ class GlideClusterClientConfiguration(BaseClientConfiguration):
|
|
|
661
855
|
read_from: ReadFrom = ReadFrom.PRIMARY,
|
|
662
856
|
request_timeout: Optional[int] = None,
|
|
663
857
|
reconnect_strategy: Optional[BackoffStrategy] = None,
|
|
858
|
+
database_id: Optional[int] = None,
|
|
664
859
|
client_name: Optional[str] = None,
|
|
665
860
|
protocol: ProtocolVersion = ProtocolVersion.RESP3,
|
|
666
861
|
periodic_checks: Union[
|
|
@@ -679,6 +874,7 @@ class GlideClusterClientConfiguration(BaseClientConfiguration):
|
|
|
679
874
|
read_from=read_from,
|
|
680
875
|
request_timeout=request_timeout,
|
|
681
876
|
reconnect_strategy=reconnect_strategy,
|
|
877
|
+
database_id=database_id,
|
|
682
878
|
client_name=client_name,
|
|
683
879
|
protocol=protocol,
|
|
684
880
|
inflight_requests_limit=inflight_requests_limit,
|
|
@@ -736,3 +932,44 @@ class GlideClusterClientConfiguration(BaseClientConfiguration):
|
|
|
736
932
|
if self.pubsub_subscriptions:
|
|
737
933
|
return self.pubsub_subscriptions.callback, self.pubsub_subscriptions.context
|
|
738
934
|
return None, None
|
|
935
|
+
|
|
936
|
+
|
|
937
|
+
def load_root_certificates_from_file(path: str) -> bytes:
|
|
938
|
+
"""
|
|
939
|
+
Load PEM-encoded root certificates from a file.
|
|
940
|
+
|
|
941
|
+
This is a convenience function for loading custom root certificates from disk
|
|
942
|
+
to be used with TlsAdvancedConfiguration.
|
|
943
|
+
|
|
944
|
+
Args:
|
|
945
|
+
path (str): The file path to the PEM-encoded certificate file.
|
|
946
|
+
|
|
947
|
+
Returns:
|
|
948
|
+
bytes: The certificate data in PEM format.
|
|
949
|
+
|
|
950
|
+
Raises:
|
|
951
|
+
FileNotFoundError: If the certificate file does not exist.
|
|
952
|
+
ConfigurationError: If the certificate file is empty.
|
|
953
|
+
|
|
954
|
+
Example usage::
|
|
955
|
+
|
|
956
|
+
from glide_shared.config import load_root_certificates_from_file, TlsAdvancedConfiguration
|
|
957
|
+
|
|
958
|
+
# Load certificates from file
|
|
959
|
+
certs = load_root_certificates_from_file('/path/to/ca-cert.pem')
|
|
960
|
+
|
|
961
|
+
# Use in TLS configuration
|
|
962
|
+
tls_config = TlsAdvancedConfiguration(root_pem_cacerts=certs)
|
|
963
|
+
"""
|
|
964
|
+
try:
|
|
965
|
+
with open(path, "rb") as f:
|
|
966
|
+
data = f.read()
|
|
967
|
+
except FileNotFoundError:
|
|
968
|
+
raise FileNotFoundError(f"Certificate file not found: {path}")
|
|
969
|
+
except Exception as e:
|
|
970
|
+
raise ConfigurationError(f"Failed to read certificate file: {e}")
|
|
971
|
+
|
|
972
|
+
if len(data) == 0:
|
|
973
|
+
raise ConfigurationError(f"Certificate file is empty: {path}")
|
|
974
|
+
|
|
975
|
+
return data
|
|
@@ -14,19 +14,19 @@ _sym_db = _symbol_database.Default()
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eprotobuf/command_request.proto\x12\x0f\x63ommand_request\"M\n\x0bSlotIdRoute\x12-\n\tslot_type\x18\x01 \x01(\x0e\x32\x1a.command_request.SlotTypes\x12\x0f\n\x07slot_id\x18\x02 \x01(\x05\"O\n\x0cSlotKeyRoute\x12-\n\tslot_type\x18\x01 \x01(\x0e\x32\x1a.command_request.SlotTypes\x12\x10\n\x08slot_key\x18\x02 \x01(\t\",\n\x0e\x42yAddressRoute\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"\xf6\x01\n\x06Routes\x12\x36\n\rsimple_routes\x18\x01 \x01(\x0e\x32\x1d.command_request.SimpleRoutesH\x00\x12\x37\n\x0eslot_key_route\x18\x02 \x01(\x0b\x32\x1d.command_request.SlotKeyRouteH\x00\x12\x35\n\rslot_id_route\x18\x03 \x01(\x0b\x32\x1c.command_request.SlotIdRouteH\x00\x12;\n\x10\x62y_address_route\x18\x04 \x01(\x0b\x32\x1f.command_request.ByAddressRouteH\x00\x42\x07\n\x05value\"\xb6\x01\n\x07\x43ommand\x12\x32\n\x0crequest_type\x18\x01 \x01(\x0e\x32\x1c.command_request.RequestType\x12\x38\n\nargs_array\x18\x02 \x01(\x0b\x32\".command_request.Command.ArgsArrayH\x00\x12\x1a\n\x10\x61rgs_vec_pointer\x18\x03 \x01(\x04H\x00\x1a\x19\n\tArgsArray\x12\x0c\n\x04\x61rgs\x18\x01 \x03(\x0c\x42\x06\n\x04\x61rgs\"\x80\x01\n\x18ScriptInvocationPointers\x12\x0c\n\x04hash\x18\x01 \x01(\t\x12\x19\n\x0ckeys_pointer\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x19\n\x0c\x61rgs_pointer\x18\x03 \x01(\x04H\x01\x88\x01\x01\x42\x0f\n\r_keys_pointerB\x0f\n\r_args_pointer\"<\n\x10ScriptInvocation\x12\x0c\n\x04hash\x18\x01 \x01(\t\x12\x0c\n\x04keys\x18\x02 \x03(\x0c\x12\x0c\n\x04\x61rgs\x18\x03 \x03(\x0c\"\x90\x02\n\x05\x42\x61tch\x12\x11\n\tis_atomic\x18\x01 \x01(\x08\x12*\n\x08\x63ommands\x18\x02 \x03(\x0b\x32\x18.command_request.Command\x12\x1b\n\x0eraise_on_error\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1f\n\x12retry_server_error\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12#\n\x16retry_connection_error\x18\x06 \x01(\x08H\x03\x88\x01\x01\x42\x11\n\x0f_raise_on_errorB\n\n\x08_timeoutB\x15\n\x13_retry_server_errorB\x19\n\x17_retry_connection_error\"\xb4\x01\n\x0b\x43lusterScan\x12\x0e\n\x06\x63ursor\x18\x01 \x01(\t\x12\x1a\n\rmatch_pattern\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\x03H\x01\x88\x01\x01\x12\x18\n\x0bobject_type\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x1f\n\x17\x61llow_non_covered_slots\x18\x05 \x01(\x08\x42\x10\n\x0e_match_patternB\x08\n\x06_countB\x0e\n\x0c_object_type\"V\n\x18UpdateConnectionPassword\x12\x15\n\x08password\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x16\n\x0eimmediate_auth\x18\x02 \x01(\x08\x42\x0b\n\t_password\"\xfc\x03\n\x0e\x43ommandRequest\x12\x14\n\x0c\x63\x61llback_idx\x18\x01 \x01(\r\x12\x32\n\x0esingle_command\x18\x02 \x01(\x0b\x32\x18.command_request.CommandH\x00\x12\'\n\x05\x62\x61tch\x18\x03 \x01(\x0b\x32\x16.command_request.BatchH\x00\x12>\n\x11script_invocation\x18\x04 \x01(\x0b\x32!.command_request.ScriptInvocationH\x00\x12O\n\x1ascript_invocation_pointers\x18\x05 \x01(\x0b\x32).command_request.ScriptInvocationPointersH\x00\x12\x34\n\x0c\x63luster_scan\x18\x06 \x01(\x0b\x32\x1c.command_request.ClusterScanH\x00\x12O\n\x1aupdate_connection_password\x18\x07 \x01(\x0b\x32).command_request.UpdateConnectionPasswordH\x00\x12&\n\x05route\x18\x08 \x01(\x0b\x32\x17.command_request.Routes\x12\x1a\n\rroot_span_ptr\x18\t \x01(\x04H\x01\x88\x01\x01\x42\t\n\x07\x63ommandB\x10\n\x0e_root_span_ptr*:\n\x0cSimpleRoutes\x12\x0c\n\x08\x41llNodes\x10\x00\x12\x10\n\x0c\x41llPrimaries\x10\x01\x12\n\n\x06Random\x10\x02*%\n\tSlotTypes\x12\x0b\n\x07Primary\x10\x00\x12\x0b\n\x07Replica\x10\x01*\xea\x30\n\x0bRequestType\x12\x12\n\x0eInvalidRequest\x10\x00\x12\x11\n\rCustomCommand\x10\x01\x12\x0c\n\x08\x42itCount\x10\x65\x12\x0c\n\x08\x42itField\x10\x66\x12\x14\n\x10\x42itFieldReadOnly\x10g\x12\t\n\x05\x42itOp\x10h\x12\n\n\x06\x42itPos\x10i\x12\n\n\x06GetBit\x10j\x12\n\n\x06SetBit\x10k\x12\x0b\n\x06\x41sking\x10\xc9\x01\x12\x14\n\x0f\x43lusterAddSlots\x10\xca\x01\x12\x19\n\x14\x43lusterAddSlotsRange\x10\xcb\x01\x12\x15\n\x10\x43lusterBumpEpoch\x10\xcc\x01\x12\x1f\n\x1a\x43lusterCountFailureReports\x10\xcd\x01\x12\x1b\n\x16\x43lusterCountKeysInSlot\x10\xce\x01\x12\x14\n\x0f\x43lusterDelSlots\x10\xcf\x01\x12\x19\n\x14\x43lusterDelSlotsRange\x10\xd0\x01\x12\x14\n\x0f\x43lusterFailover\x10\xd1\x01\x12\x16\n\x11\x43lusterFlushSlots\x10\xd2\x01\x12\x12\n\rClusterForget\x10\xd3\x01\x12\x19\n\x14\x43lusterGetKeysInSlot\x10\xd4\x01\x12\x10\n\x0b\x43lusterInfo\x10\xd5\x01\x12\x13\n\x0e\x43lusterKeySlot\x10\xd6\x01\x12\x11\n\x0c\x43lusterLinks\x10\xd7\x01\x12\x10\n\x0b\x43lusterMeet\x10\xd8\x01\x12\x10\n\x0b\x43lusterMyId\x10\xd9\x01\x12\x15\n\x10\x43lusterMyShardId\x10\xda\x01\x12\x11\n\x0c\x43lusterNodes\x10\xdb\x01\x12\x14\n\x0f\x43lusterReplicas\x10\xdc\x01\x12\x15\n\x10\x43lusterReplicate\x10\xdd\x01\x12\x11\n\x0c\x43lusterReset\x10\xde\x01\x12\x16\n\x11\x43lusterSaveConfig\x10\xdf\x01\x12\x1a\n\x15\x43lusterSetConfigEpoch\x10\xe0\x01\x12\x13\n\x0e\x43lusterSetslot\x10\xe1\x01\x12\x12\n\rClusterShards\x10\xe2\x01\x12\x12\n\rClusterSlaves\x10\xe3\x01\x12\x11\n\x0c\x43lusterSlots\x10\xe4\x01\x12\r\n\x08ReadOnly\x10\xe5\x01\x12\x0e\n\tReadWrite\x10\xe6\x01\x12\t\n\x04\x41uth\x10\xad\x02\x12\x12\n\rClientCaching\x10\xae\x02\x12\x12\n\rClientGetName\x10\xaf\x02\x12\x13\n\x0e\x43lientGetRedir\x10\xb0\x02\x12\r\n\x08\x43lientId\x10\xb1\x02\x12\x0f\n\nClientInfo\x10\xb2\x02\x12\x15\n\x10\x43lientKillSimple\x10\xb3\x02\x12\x0f\n\nClientKill\x10\xb4\x02\x12\x0f\n\nClientList\x10\xb5\x02\x12\x12\n\rClientNoEvict\x10\xb6\x02\x12\x12\n\rClientNoTouch\x10\xb7\x02\x12\x10\n\x0b\x43lientPause\x10\xb8\x02\x12\x10\n\x0b\x43lientReply\x10\xb9\x02\x12\x12\n\rClientSetInfo\x10\xba\x02\x12\x12\n\rClientSetName\x10\xbb\x02\x12\x13\n\x0e\x43lientTracking\x10\xbc\x02\x12\x17\n\x12\x43lientTrackingInfo\x10\xbd\x02\x12\x12\n\rClientUnblock\x10\xbe\x02\x12\x12\n\rClientUnpause\x10\xbf\x02\x12\t\n\x04\x45\x63ho\x10\xc0\x02\x12\n\n\x05Hello\x10\xc1\x02\x12\t\n\x04Ping\x10\xc2\x02\x12\t\n\x04Quit\x10\xc3\x02\x12\n\n\x05Reset\x10\xc4\x02\x12\x0b\n\x06Select\x10\xc5\x02\x12\t\n\x04\x43opy\x10\x91\x03\x12\x08\n\x03\x44\x65l\x10\x92\x03\x12\t\n\x04\x44ump\x10\x93\x03\x12\x0b\n\x06\x45xists\x10\x94\x03\x12\x0b\n\x06\x45xpire\x10\x95\x03\x12\r\n\x08\x45xpireAt\x10\x96\x03\x12\x0f\n\nExpireTime\x10\x97\x03\x12\t\n\x04Keys\x10\x98\x03\x12\x0c\n\x07Migrate\x10\x99\x03\x12\t\n\x04Move\x10\x9a\x03\x12\x13\n\x0eObjectEncoding\x10\x9b\x03\x12\x0f\n\nObjectFreq\x10\x9c\x03\x12\x13\n\x0eObjectIdleTime\x10\x9d\x03\x12\x13\n\x0eObjectRefCount\x10\x9e\x03\x12\x0c\n\x07Persist\x10\x9f\x03\x12\x0c\n\x07PExpire\x10\xa0\x03\x12\x0e\n\tPExpireAt\x10\xa1\x03\x12\x10\n\x0bPExpireTime\x10\xa2\x03\x12\t\n\x04PTTL\x10\xa3\x03\x12\x0e\n\tRandomKey\x10\xa4\x03\x12\x0b\n\x06Rename\x10\xa5\x03\x12\r\n\x08RenameNX\x10\xa6\x03\x12\x0c\n\x07Restore\x10\xa7\x03\x12\t\n\x04Scan\x10\xa8\x03\x12\t\n\x04Sort\x10\xa9\x03\x12\x11\n\x0cSortReadOnly\x10\xaa\x03\x12\n\n\x05Touch\x10\xab\x03\x12\x08\n\x03TTL\x10\xac\x03\x12\t\n\x04Type\x10\xad\x03\x12\x0b\n\x06Unlink\x10\xae\x03\x12\t\n\x04Wait\x10\xaf\x03\x12\x0c\n\x07WaitAof\x10\xb0\x03\x12\x0b\n\x06GeoAdd\x10\xf5\x03\x12\x0c\n\x07GeoDist\x10\xf6\x03\x12\x0c\n\x07GeoHash\x10\xf7\x03\x12\x0b\n\x06GeoPos\x10\xf8\x03\x12\x0e\n\tGeoRadius\x10\xf9\x03\x12\x16\n\x11GeoRadiusReadOnly\x10\xfa\x03\x12\x16\n\x11GeoRadiusByMember\x10\xfb\x03\x12\x1e\n\x19GeoRadiusByMemberReadOnly\x10\xfc\x03\x12\x0e\n\tGeoSearch\x10\xfd\x03\x12\x13\n\x0eGeoSearchStore\x10\xfe\x03\x12\t\n\x04HDel\x10\xd9\x04\x12\x0c\n\x07HExists\x10\xda\x04\x12\t\n\x04HGet\x10\xdb\x04\x12\x0c\n\x07HGetAll\x10\xdc\x04\x12\x0c\n\x07HIncrBy\x10\xdd\x04\x12\x11\n\x0cHIncrByFloat\x10\xde\x04\x12\n\n\x05HKeys\x10\xdf\x04\x12\t\n\x04HLen\x10\xe0\x04\x12\n\n\x05HMGet\x10\xe1\x04\x12\n\n\x05HMSet\x10\xe2\x04\x12\x0f\n\nHRandField\x10\xe3\x04\x12\n\n\x05HScan\x10\xe4\x04\x12\t\n\x04HSet\x10\xe5\x04\x12\x0b\n\x06HSetNX\x10\xe6\x04\x12\x0c\n\x07HStrlen\x10\xe7\x04\x12\n\n\x05HVals\x10\xe8\x04\x12\x0b\n\x06HSetEx\x10\xe9\x04\x12\x0b\n\x06HGetEx\x10\xea\x04\x12\x0c\n\x07HExpire\x10\xeb\x04\x12\x0e\n\tHExpireAt\x10\xec\x04\x12\r\n\x08HPExpire\x10\xed\x04\x12\x0f\n\nHPExpireAt\x10\xee\x04\x12\r\n\x08HPersist\x10\xef\x04\x12\t\n\x04HTtl\x10\xf0\x04\x12\n\n\x05HPTtl\x10\xf1\x04\x12\x10\n\x0bHExpireTime\x10\xf2\x04\x12\x11\n\x0cHPExpireTime\x10\xf3\x04\x12\n\n\x05PfAdd\x10\xbd\x05\x12\x0c\n\x07PfCount\x10\xbe\x05\x12\x0c\n\x07PfMerge\x10\xbf\x05\x12\x0b\n\x06\x42LMove\x10\xa1\x06\x12\x0b\n\x06\x42LMPop\x10\xa2\x06\x12\n\n\x05\x42LPop\x10\xa3\x06\x12\n\n\x05\x42RPop\x10\xa4\x06\x12\x0f\n\nBRPopLPush\x10\xa5\x06\x12\x0b\n\x06LIndex\x10\xa6\x06\x12\x0c\n\x07LInsert\x10\xa7\x06\x12\t\n\x04LLen\x10\xa8\x06\x12\n\n\x05LMove\x10\xa9\x06\x12\n\n\x05LMPop\x10\xaa\x06\x12\t\n\x04LPop\x10\xab\x06\x12\t\n\x04LPos\x10\xac\x06\x12\n\n\x05LPush\x10\xad\x06\x12\x0b\n\x06LPushX\x10\xae\x06\x12\x0b\n\x06LRange\x10\xaf\x06\x12\t\n\x04LRem\x10\xb0\x06\x12\t\n\x04LSet\x10\xb1\x06\x12\n\n\x05LTrim\x10\xb2\x06\x12\t\n\x04RPop\x10\xb3\x06\x12\x0e\n\tRPopLPush\x10\xb4\x06\x12\n\n\x05RPush\x10\xb5\x06\x12\x0b\n\x06RPushX\x10\xb6\x06\x12\x0f\n\nPSubscribe\x10\x85\x07\x12\x0c\n\x07Publish\x10\x86\x07\x12\x13\n\x0ePubSubChannels\x10\x87\x07\x12\x11\n\x0cPubSubNumPat\x10\x88\x07\x12\x11\n\x0cPubSubNumSub\x10\x89\x07\x12\x18\n\x13PubSubShardChannels\x10\x8a\x07\x12\x16\n\x11PubSubShardNumSub\x10\x8b\x07\x12\x11\n\x0cPUnsubscribe\x10\x8c\x07\x12\r\n\x08SPublish\x10\x8d\x07\x12\x0f\n\nSSubscribe\x10\x8e\x07\x12\x0e\n\tSubscribe\x10\x8f\x07\x12\x11\n\x0cSUnsubscribe\x10\x90\x07\x12\x10\n\x0bUnsubscribe\x10\x91\x07\x12\t\n\x04\x45val\x10\xe9\x07\x12\x11\n\x0c\x45valReadOnly\x10\xea\x07\x12\x0c\n\x07\x45valSha\x10\xeb\x07\x12\x14\n\x0f\x45valShaReadOnly\x10\xec\x07\x12\n\n\x05\x46\x43\x61ll\x10\xed\x07\x12\x12\n\rFCallReadOnly\x10\xee\x07\x12\x13\n\x0e\x46unctionDelete\x10\xef\x07\x12\x11\n\x0c\x46unctionDump\x10\xf0\x07\x12\x12\n\rFunctionFlush\x10\xf1\x07\x12\x11\n\x0c\x46unctionKill\x10\xf2\x07\x12\x11\n\x0c\x46unctionList\x10\xf3\x07\x12\x11\n\x0c\x46unctionLoad\x10\xf4\x07\x12\x14\n\x0f\x46unctionRestore\x10\xf5\x07\x12\x12\n\rFunctionStats\x10\xf6\x07\x12\x10\n\x0bScriptDebug\x10\xf7\x07\x12\x11\n\x0cScriptExists\x10\xf8\x07\x12\x10\n\x0bScriptFlush\x10\xf9\x07\x12\x0f\n\nScriptKill\x10\xfa\x07\x12\x0f\n\nScriptLoad\x10\xfb\x07\x12\x0f\n\nScriptShow\x10\xfc\x07\x12\x0b\n\x06\x41\x63lCat\x10\xcd\x08\x12\x0f\n\nAclDelUser\x10\xce\x08\x12\x0e\n\tAclDryRun\x10\xcf\x08\x12\x0f\n\nAclGenPass\x10\xd0\x08\x12\x0f\n\nAclGetUser\x10\xd1\x08\x12\x0c\n\x07\x41\x63lList\x10\xd2\x08\x12\x0c\n\x07\x41\x63lLoad\x10\xd3\x08\x12\x0b\n\x06\x41\x63lLog\x10\xd4\x08\x12\x0c\n\x07\x41\x63lSave\x10\xd5\x08\x12\x0f\n\nAclSetSser\x10\xd6\x08\x12\r\n\x08\x41\x63lUsers\x10\xd7\x08\x12\x0e\n\tAclWhoami\x10\xd8\x08\x12\x11\n\x0c\x42gRewriteAof\x10\xd9\x08\x12\x0b\n\x06\x42gSave\x10\xda\x08\x12\r\n\x08\x43ommand_\x10\xdb\x08\x12\x11\n\x0c\x43ommandCount\x10\xdc\x08\x12\x10\n\x0b\x43ommandDocs\x10\xdd\x08\x12\x13\n\x0e\x43ommandGetKeys\x10\xde\x08\x12\x1b\n\x16\x43ommandGetKeysAndFlags\x10\xdf\x08\x12\x10\n\x0b\x43ommandInfo\x10\xe0\x08\x12\x10\n\x0b\x43ommandList\x10\xe1\x08\x12\x0e\n\tConfigGet\x10\xe2\x08\x12\x14\n\x0f\x43onfigResetStat\x10\xe3\x08\x12\x12\n\rConfigRewrite\x10\xe4\x08\x12\x0e\n\tConfigSet\x10\xe5\x08\x12\x0b\n\x06\x44\x42Size\x10\xe6\x08\x12\r\n\x08\x46\x61ilOver\x10\xe7\x08\x12\r\n\x08\x46lushAll\x10\xe8\x08\x12\x0c\n\x07\x46lushDB\x10\xe9\x08\x12\t\n\x04Info\x10\xea\x08\x12\r\n\x08LastSave\x10\xeb\x08\x12\x12\n\rLatencyDoctor\x10\xec\x08\x12\x11\n\x0cLatencyGraph\x10\xed\x08\x12\x15\n\x10LatencyHistogram\x10\xee\x08\x12\x13\n\x0eLatencyHistory\x10\xef\x08\x12\x12\n\rLatencyLatest\x10\xf0\x08\x12\x11\n\x0cLatencyReset\x10\xf1\x08\x12\x0b\n\x06Lolwut\x10\xf2\x08\x12\x11\n\x0cMemoryDoctor\x10\xf3\x08\x12\x16\n\x11MemoryMallocStats\x10\xf4\x08\x12\x10\n\x0bMemoryPurge\x10\xf5\x08\x12\x10\n\x0bMemoryStats\x10\xf6\x08\x12\x10\n\x0bMemoryUsage\x10\xf7\x08\x12\x0f\n\nModuleList\x10\xf8\x08\x12\x0f\n\nModuleLoad\x10\xf9\x08\x12\x11\n\x0cModuleLoadEx\x10\xfa\x08\x12\x11\n\x0cModuleUnload\x10\xfb\x08\x12\x0c\n\x07Monitor\x10\xfc\x08\x12\n\n\x05PSync\x10\xfd\x08\x12\r\n\x08ReplConf\x10\xfe\x08\x12\x0e\n\tReplicaOf\x10\xff\x08\x12\x12\n\rRestoreAsking\x10\x80\t\x12\t\n\x04Role\x10\x81\t\x12\t\n\x04Save\x10\x82\t\x12\r\n\x08ShutDown\x10\x83\t\x12\x0c\n\x07SlaveOf\x10\x84\t\x12\x0f\n\nSlowLogGet\x10\x85\t\x12\x0f\n\nSlowLogLen\x10\x86\t\x12\x11\n\x0cSlowLogReset\x10\x87\t\x12\x0b\n\x06SwapDb\x10\x88\t\x12\t\n\x04Sync\x10\x89\t\x12\t\n\x04Time\x10\x8a\t\x12\t\n\x04SAdd\x10\xb1\t\x12\n\n\x05SCard\x10\xb2\t\x12\n\n\x05SDiff\x10\xb3\t\x12\x0f\n\nSDiffStore\x10\xb4\t\x12\x0b\n\x06SInter\x10\xb5\t\x12\x0f\n\nSInterCard\x10\xb6\t\x12\x10\n\x0bSInterStore\x10\xb7\t\x12\x0e\n\tSIsMember\x10\xb8\t\x12\r\n\x08SMembers\x10\xb9\t\x12\x0f\n\nSMIsMember\x10\xba\t\x12\n\n\x05SMove\x10\xbb\t\x12\t\n\x04SPop\x10\xbc\t\x12\x10\n\x0bSRandMember\x10\xbd\t\x12\t\n\x04SRem\x10\xbe\t\x12\n\n\x05SScan\x10\xbf\t\x12\x0b\n\x06SUnion\x10\xc0\t\x12\x10\n\x0bSUnionStore\x10\xc1\t\x12\x0b\n\x06\x42ZMPop\x10\x95\n\x12\r\n\x08\x42ZPopMax\x10\x96\n\x12\r\n\x08\x42ZPopMin\x10\x97\n\x12\t\n\x04ZAdd\x10\x98\n\x12\n\n\x05ZCard\x10\x99\n\x12\x0b\n\x06ZCount\x10\x9a\n\x12\n\n\x05ZDiff\x10\x9b\n\x12\x0f\n\nZDiffStore\x10\x9c\n\x12\x0c\n\x07ZIncrBy\x10\x9d\n\x12\x0b\n\x06ZInter\x10\x9e\n\x12\x0f\n\nZInterCard\x10\x9f\n\x12\x10\n\x0bZInterStore\x10\xa0\n\x12\x0e\n\tZLexCount\x10\xa1\n\x12\n\n\x05ZMPop\x10\xa2\n\x12\x0c\n\x07ZMScore\x10\xa3\n\x12\x0c\n\x07ZPopMax\x10\xa4\n\x12\x0c\n\x07ZPopMin\x10\xa5\n\x12\x10\n\x0bZRandMember\x10\xa6\n\x12\x0b\n\x06ZRange\x10\xa7\n\x12\x10\n\x0bZRangeByLex\x10\xa8\n\x12\x12\n\rZRangeByScore\x10\xa9\n\x12\x10\n\x0bZRangeStore\x10\xaa\n\x12\n\n\x05ZRank\x10\xab\n\x12\t\n\x04ZRem\x10\xac\n\x12\x13\n\x0eZRemRangeByLex\x10\xad\n\x12\x14\n\x0fZRemRangeByRank\x10\xae\n\x12\x15\n\x10ZRemRangeByScore\x10\xaf\n\x12\x0e\n\tZRevRange\x10\xb0\n\x12\x13\n\x0eZRevRangeByLex\x10\xb1\n\x12\x15\n\x10ZRevRangeByScore\x10\xb2\n\x12\r\n\x08ZRevRank\x10\xb3\n\x12\n\n\x05ZScan\x10\xb4\n\x12\x0b\n\x06ZScore\x10\xb5\n\x12\x0b\n\x06ZUnion\x10\xb6\n\x12\x10\n\x0bZUnionStore\x10\xb7\n\x12\t\n\x04XAck\x10\xf9\n\x12\t\n\x04XAdd\x10\xfa\n\x12\x0f\n\nXAutoClaim\x10\xfb\n\x12\x0b\n\x06XClaim\x10\xfc\n\x12\t\n\x04XDel\x10\xfd\n\x12\x11\n\x0cXGroupCreate\x10\xfe\n\x12\x19\n\x14XGroupCreateConsumer\x10\xff\n\x12\x16\n\x11XGroupDelConsumer\x10\x80\x0b\x12\x12\n\rXGroupDestroy\x10\x81\x0b\x12\x10\n\x0bXGroupSetId\x10\x82\x0b\x12\x13\n\x0eXInfoConsumers\x10\x83\x0b\x12\x10\n\x0bXInfoGroups\x10\x84\x0b\x12\x10\n\x0bXInfoStream\x10\x85\x0b\x12\t\n\x04XLen\x10\x86\x0b\x12\r\n\x08XPending\x10\x87\x0b\x12\x0b\n\x06XRange\x10\x88\x0b\x12\n\n\x05XRead\x10\x89\x0b\x12\x0f\n\nXReadGroup\x10\x8a\x0b\x12\x0e\n\tXRevRange\x10\x8b\x0b\x12\x0b\n\x06XSetId\x10\x8c\x0b\x12\n\n\x05XTrim\x10\x8d\x0b\x12\x0b\n\x06\x41ppend\x10\xdd\x0b\x12\t\n\x04\x44\x65\x63r\x10\xde\x0b\x12\x0b\n\x06\x44\x65\x63rBy\x10\xdf\x0b\x12\x08\n\x03Get\x10\xe0\x0b\x12\x0b\n\x06GetDel\x10\xe1\x0b\x12\n\n\x05GetEx\x10\xe2\x0b\x12\r\n\x08GetRange\x10\xe3\x0b\x12\x0b\n\x06GetSet\x10\xe4\x0b\x12\t\n\x04Incr\x10\xe5\x0b\x12\x0b\n\x06IncrBy\x10\xe6\x0b\x12\x10\n\x0bIncrByFloat\x10\xe7\x0b\x12\x08\n\x03LCS\x10\xe8\x0b\x12\t\n\x04MGet\x10\xe9\x0b\x12\t\n\x04MSet\x10\xea\x0b\x12\x0b\n\x06MSetNX\x10\xeb\x0b\x12\x0b\n\x06PSetEx\x10\xec\x0b\x12\x08\n\x03Set\x10\xed\x0b\x12\n\n\x05SetEx\x10\xee\x0b\x12\n\n\x05SetNX\x10\xef\x0b\x12\r\n\x08SetRange\x10\xf0\x0b\x12\x0b\n\x06Strlen\x10\xf1\x0b\x12\x0b\n\x06Substr\x10\xf2\x0b\x12\x0c\n\x07\x44iscard\x10\xc1\x0c\x12\t\n\x04\x45xec\x10\xc2\x0c\x12\n\n\x05Multi\x10\xc3\x0c\x12\x0c\n\x07UnWatch\x10\xc4\x0c\x12\n\n\x05Watch\x10\xc5\x0c\x12\x12\n\rJsonArrAppend\x10\xd1\x0f\x12\x11\n\x0cJsonArrIndex\x10\xd2\x0f\x12\x12\n\rJsonArrInsert\x10\xd3\x0f\x12\x0f\n\nJsonArrLen\x10\xd4\x0f\x12\x0f\n\nJsonArrPop\x10\xd5\x0f\x12\x10\n\x0bJsonArrTrim\x10\xd6\x0f\x12\x0e\n\tJsonClear\x10\xd7\x0f\x12\x0e\n\tJsonDebug\x10\xd8\x0f\x12\x0c\n\x07JsonDel\x10\xd9\x0f\x12\x0f\n\nJsonForget\x10\xda\x0f\x12\x0c\n\x07JsonGet\x10\xdb\x0f\x12\r\n\x08JsonMGet\x10\xdc\x0f\x12\x12\n\rJsonNumIncrBy\x10\xdd\x0f\x12\x12\n\rJsonNumMultBy\x10\xde\x0f\x12\x10\n\x0bJsonObjKeys\x10\xdf\x0f\x12\x0f\n\nJsonObjLen\x10\xe0\x0f\x12\r\n\x08JsonResp\x10\xe1\x0f\x12\x0c\n\x07JsonSet\x10\xe2\x0f\x12\x12\n\rJsonStrAppend\x10\xe3\x0f\x12\x0f\n\nJsonStrLen\x10\xe4\x0f\x12\x0f\n\nJsonToggle\x10\xe5\x0f\x12\r\n\x08JsonType\x10\xe6\x0f\x12\x0b\n\x06\x46tList\x10\xb5\x10\x12\x10\n\x0b\x46tAggregate\x10\xb6\x10\x12\x0f\n\nFtAliasAdd\x10\xb7\x10\x12\x0f\n\nFtAliasDel\x10\xb8\x10\x12\x10\n\x0b\x46tAliasList\x10\xb9\x10\x12\x12\n\rFtAliasUpdate\x10\xba\x10\x12\r\n\x08\x46tCreate\x10\xbb\x10\x12\x10\n\x0b\x46tDropIndex\x10\xbc\x10\x12\x0e\n\tFtExplain\x10\xbd\x10\x12\x11\n\x0c\x46tExplainCli\x10\xbe\x10\x12\x0b\n\x06\x46tInfo\x10\xbf\x10\x12\x0e\n\tFtProfile\x10\xc0\x10\x12\r\n\x08\x46tSearch\x10\xc1\x10\x62\x06proto3')
|
|
17
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eprotobuf/command_request.proto\x12\x0f\x63ommand_request\"M\n\x0bSlotIdRoute\x12-\n\tslot_type\x18\x01 \x01(\x0e\x32\x1a.command_request.SlotTypes\x12\x0f\n\x07slot_id\x18\x02 \x01(\x05\"O\n\x0cSlotKeyRoute\x12-\n\tslot_type\x18\x01 \x01(\x0e\x32\x1a.command_request.SlotTypes\x12\x10\n\x08slot_key\x18\x02 \x01(\t\",\n\x0e\x42yAddressRoute\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"\xf6\x01\n\x06Routes\x12\x36\n\rsimple_routes\x18\x01 \x01(\x0e\x32\x1d.command_request.SimpleRoutesH\x00\x12\x37\n\x0eslot_key_route\x18\x02 \x01(\x0b\x32\x1d.command_request.SlotKeyRouteH\x00\x12\x35\n\rslot_id_route\x18\x03 \x01(\x0b\x32\x1c.command_request.SlotIdRouteH\x00\x12;\n\x10\x62y_address_route\x18\x04 \x01(\x0b\x32\x1f.command_request.ByAddressRouteH\x00\x42\x07\n\x05value\"\xb6\x01\n\x07\x43ommand\x12\x32\n\x0crequest_type\x18\x01 \x01(\x0e\x32\x1c.command_request.RequestType\x12\x38\n\nargs_array\x18\x02 \x01(\x0b\x32\".command_request.Command.ArgsArrayH\x00\x12\x1a\n\x10\x61rgs_vec_pointer\x18\x03 \x01(\x04H\x00\x1a\x19\n\tArgsArray\x12\x0c\n\x04\x61rgs\x18\x01 \x03(\x0c\x42\x06\n\x04\x61rgs\"\x80\x01\n\x18ScriptInvocationPointers\x12\x0c\n\x04hash\x18\x01 \x01(\t\x12\x19\n\x0ckeys_pointer\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x19\n\x0c\x61rgs_pointer\x18\x03 \x01(\x04H\x01\x88\x01\x01\x42\x0f\n\r_keys_pointerB\x0f\n\r_args_pointer\"<\n\x10ScriptInvocation\x12\x0c\n\x04hash\x18\x01 \x01(\t\x12\x0c\n\x04keys\x18\x02 \x03(\x0c\x12\x0c\n\x04\x61rgs\x18\x03 \x03(\x0c\"\x90\x02\n\x05\x42\x61tch\x12\x11\n\tis_atomic\x18\x01 \x01(\x08\x12*\n\x08\x63ommands\x18\x02 \x03(\x0b\x32\x18.command_request.Command\x12\x1b\n\x0eraise_on_error\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1f\n\x12retry_server_error\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12#\n\x16retry_connection_error\x18\x06 \x01(\x08H\x03\x88\x01\x01\x42\x11\n\x0f_raise_on_errorB\n\n\x08_timeoutB\x15\n\x13_retry_server_errorB\x19\n\x17_retry_connection_error\"\xb4\x01\n\x0b\x43lusterScan\x12\x0e\n\x06\x63ursor\x18\x01 \x01(\t\x12\x1a\n\rmatch_pattern\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\x03H\x01\x88\x01\x01\x12\x18\n\x0bobject_type\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x1f\n\x17\x61llow_non_covered_slots\x18\x05 \x01(\x08\x42\x10\n\x0e_match_patternB\x08\n\x06_countB\x0e\n\x0c_object_type\"V\n\x18UpdateConnectionPassword\x12\x15\n\x08password\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x16\n\x0eimmediate_auth\x18\x02 \x01(\x08\x42\x0b\n\t_password\"\x11\n\x0fRefreshIamToken\"\xbb\x04\n\x0e\x43ommandRequest\x12\x14\n\x0c\x63\x61llback_idx\x18\x01 \x01(\r\x12\x32\n\x0esingle_command\x18\x02 \x01(\x0b\x32\x18.command_request.CommandH\x00\x12\'\n\x05\x62\x61tch\x18\x03 \x01(\x0b\x32\x16.command_request.BatchH\x00\x12>\n\x11script_invocation\x18\x04 \x01(\x0b\x32!.command_request.ScriptInvocationH\x00\x12O\n\x1ascript_invocation_pointers\x18\x05 \x01(\x0b\x32).command_request.ScriptInvocationPointersH\x00\x12\x34\n\x0c\x63luster_scan\x18\x06 \x01(\x0b\x32\x1c.command_request.ClusterScanH\x00\x12O\n\x1aupdate_connection_password\x18\x07 \x01(\x0b\x32).command_request.UpdateConnectionPasswordH\x00\x12=\n\x11refresh_iam_token\x18\x08 \x01(\x0b\x32 .command_request.RefreshIamTokenH\x00\x12&\n\x05route\x18\t \x01(\x0b\x32\x17.command_request.Routes\x12\x1a\n\rroot_span_ptr\x18\n \x01(\x04H\x01\x88\x01\x01\x42\t\n\x07\x63ommandB\x10\n\x0e_root_span_ptr*:\n\x0cSimpleRoutes\x12\x0c\n\x08\x41llNodes\x10\x00\x12\x10\n\x0c\x41llPrimaries\x10\x01\x12\n\n\x06Random\x10\x02*%\n\tSlotTypes\x12\x0b\n\x07Primary\x10\x00\x12\x0b\n\x07Replica\x10\x01*\xea\x30\n\x0bRequestType\x12\x12\n\x0eInvalidRequest\x10\x00\x12\x11\n\rCustomCommand\x10\x01\x12\x0c\n\x08\x42itCount\x10\x65\x12\x0c\n\x08\x42itField\x10\x66\x12\x14\n\x10\x42itFieldReadOnly\x10g\x12\t\n\x05\x42itOp\x10h\x12\n\n\x06\x42itPos\x10i\x12\n\n\x06GetBit\x10j\x12\n\n\x06SetBit\x10k\x12\x0b\n\x06\x41sking\x10\xc9\x01\x12\x14\n\x0f\x43lusterAddSlots\x10\xca\x01\x12\x19\n\x14\x43lusterAddSlotsRange\x10\xcb\x01\x12\x15\n\x10\x43lusterBumpEpoch\x10\xcc\x01\x12\x1f\n\x1a\x43lusterCountFailureReports\x10\xcd\x01\x12\x1b\n\x16\x43lusterCountKeysInSlot\x10\xce\x01\x12\x14\n\x0f\x43lusterDelSlots\x10\xcf\x01\x12\x19\n\x14\x43lusterDelSlotsRange\x10\xd0\x01\x12\x14\n\x0f\x43lusterFailover\x10\xd1\x01\x12\x16\n\x11\x43lusterFlushSlots\x10\xd2\x01\x12\x12\n\rClusterForget\x10\xd3\x01\x12\x19\n\x14\x43lusterGetKeysInSlot\x10\xd4\x01\x12\x10\n\x0b\x43lusterInfo\x10\xd5\x01\x12\x13\n\x0e\x43lusterKeySlot\x10\xd6\x01\x12\x11\n\x0c\x43lusterLinks\x10\xd7\x01\x12\x10\n\x0b\x43lusterMeet\x10\xd8\x01\x12\x10\n\x0b\x43lusterMyId\x10\xd9\x01\x12\x15\n\x10\x43lusterMyShardId\x10\xda\x01\x12\x11\n\x0c\x43lusterNodes\x10\xdb\x01\x12\x14\n\x0f\x43lusterReplicas\x10\xdc\x01\x12\x15\n\x10\x43lusterReplicate\x10\xdd\x01\x12\x11\n\x0c\x43lusterReset\x10\xde\x01\x12\x16\n\x11\x43lusterSaveConfig\x10\xdf\x01\x12\x1a\n\x15\x43lusterSetConfigEpoch\x10\xe0\x01\x12\x13\n\x0e\x43lusterSetslot\x10\xe1\x01\x12\x12\n\rClusterShards\x10\xe2\x01\x12\x12\n\rClusterSlaves\x10\xe3\x01\x12\x11\n\x0c\x43lusterSlots\x10\xe4\x01\x12\r\n\x08ReadOnly\x10\xe5\x01\x12\x0e\n\tReadWrite\x10\xe6\x01\x12\t\n\x04\x41uth\x10\xad\x02\x12\x12\n\rClientCaching\x10\xae\x02\x12\x12\n\rClientGetName\x10\xaf\x02\x12\x13\n\x0e\x43lientGetRedir\x10\xb0\x02\x12\r\n\x08\x43lientId\x10\xb1\x02\x12\x0f\n\nClientInfo\x10\xb2\x02\x12\x15\n\x10\x43lientKillSimple\x10\xb3\x02\x12\x0f\n\nClientKill\x10\xb4\x02\x12\x0f\n\nClientList\x10\xb5\x02\x12\x12\n\rClientNoEvict\x10\xb6\x02\x12\x12\n\rClientNoTouch\x10\xb7\x02\x12\x10\n\x0b\x43lientPause\x10\xb8\x02\x12\x10\n\x0b\x43lientReply\x10\xb9\x02\x12\x12\n\rClientSetInfo\x10\xba\x02\x12\x12\n\rClientSetName\x10\xbb\x02\x12\x13\n\x0e\x43lientTracking\x10\xbc\x02\x12\x17\n\x12\x43lientTrackingInfo\x10\xbd\x02\x12\x12\n\rClientUnblock\x10\xbe\x02\x12\x12\n\rClientUnpause\x10\xbf\x02\x12\t\n\x04\x45\x63ho\x10\xc0\x02\x12\n\n\x05Hello\x10\xc1\x02\x12\t\n\x04Ping\x10\xc2\x02\x12\t\n\x04Quit\x10\xc3\x02\x12\n\n\x05Reset\x10\xc4\x02\x12\x0b\n\x06Select\x10\xc5\x02\x12\t\n\x04\x43opy\x10\x91\x03\x12\x08\n\x03\x44\x65l\x10\x92\x03\x12\t\n\x04\x44ump\x10\x93\x03\x12\x0b\n\x06\x45xists\x10\x94\x03\x12\x0b\n\x06\x45xpire\x10\x95\x03\x12\r\n\x08\x45xpireAt\x10\x96\x03\x12\x0f\n\nExpireTime\x10\x97\x03\x12\t\n\x04Keys\x10\x98\x03\x12\x0c\n\x07Migrate\x10\x99\x03\x12\t\n\x04Move\x10\x9a\x03\x12\x13\n\x0eObjectEncoding\x10\x9b\x03\x12\x0f\n\nObjectFreq\x10\x9c\x03\x12\x13\n\x0eObjectIdleTime\x10\x9d\x03\x12\x13\n\x0eObjectRefCount\x10\x9e\x03\x12\x0c\n\x07Persist\x10\x9f\x03\x12\x0c\n\x07PExpire\x10\xa0\x03\x12\x0e\n\tPExpireAt\x10\xa1\x03\x12\x10\n\x0bPExpireTime\x10\xa2\x03\x12\t\n\x04PTTL\x10\xa3\x03\x12\x0e\n\tRandomKey\x10\xa4\x03\x12\x0b\n\x06Rename\x10\xa5\x03\x12\r\n\x08RenameNX\x10\xa6\x03\x12\x0c\n\x07Restore\x10\xa7\x03\x12\t\n\x04Scan\x10\xa8\x03\x12\t\n\x04Sort\x10\xa9\x03\x12\x11\n\x0cSortReadOnly\x10\xaa\x03\x12\n\n\x05Touch\x10\xab\x03\x12\x08\n\x03TTL\x10\xac\x03\x12\t\n\x04Type\x10\xad\x03\x12\x0b\n\x06Unlink\x10\xae\x03\x12\t\n\x04Wait\x10\xaf\x03\x12\x0c\n\x07WaitAof\x10\xb0\x03\x12\x0b\n\x06GeoAdd\x10\xf5\x03\x12\x0c\n\x07GeoDist\x10\xf6\x03\x12\x0c\n\x07GeoHash\x10\xf7\x03\x12\x0b\n\x06GeoPos\x10\xf8\x03\x12\x0e\n\tGeoRadius\x10\xf9\x03\x12\x16\n\x11GeoRadiusReadOnly\x10\xfa\x03\x12\x16\n\x11GeoRadiusByMember\x10\xfb\x03\x12\x1e\n\x19GeoRadiusByMemberReadOnly\x10\xfc\x03\x12\x0e\n\tGeoSearch\x10\xfd\x03\x12\x13\n\x0eGeoSearchStore\x10\xfe\x03\x12\t\n\x04HDel\x10\xd9\x04\x12\x0c\n\x07HExists\x10\xda\x04\x12\t\n\x04HGet\x10\xdb\x04\x12\x0c\n\x07HGetAll\x10\xdc\x04\x12\x0c\n\x07HIncrBy\x10\xdd\x04\x12\x11\n\x0cHIncrByFloat\x10\xde\x04\x12\n\n\x05HKeys\x10\xdf\x04\x12\t\n\x04HLen\x10\xe0\x04\x12\n\n\x05HMGet\x10\xe1\x04\x12\n\n\x05HMSet\x10\xe2\x04\x12\x0f\n\nHRandField\x10\xe3\x04\x12\n\n\x05HScan\x10\xe4\x04\x12\t\n\x04HSet\x10\xe5\x04\x12\x0b\n\x06HSetNX\x10\xe6\x04\x12\x0c\n\x07HStrlen\x10\xe7\x04\x12\n\n\x05HVals\x10\xe8\x04\x12\x0b\n\x06HSetEx\x10\xe9\x04\x12\x0b\n\x06HGetEx\x10\xea\x04\x12\x0c\n\x07HExpire\x10\xeb\x04\x12\x0e\n\tHExpireAt\x10\xec\x04\x12\r\n\x08HPExpire\x10\xed\x04\x12\x0f\n\nHPExpireAt\x10\xee\x04\x12\r\n\x08HPersist\x10\xef\x04\x12\t\n\x04HTtl\x10\xf0\x04\x12\n\n\x05HPTtl\x10\xf1\x04\x12\x10\n\x0bHExpireTime\x10\xf2\x04\x12\x11\n\x0cHPExpireTime\x10\xf3\x04\x12\n\n\x05PfAdd\x10\xbd\x05\x12\x0c\n\x07PfCount\x10\xbe\x05\x12\x0c\n\x07PfMerge\x10\xbf\x05\x12\x0b\n\x06\x42LMove\x10\xa1\x06\x12\x0b\n\x06\x42LMPop\x10\xa2\x06\x12\n\n\x05\x42LPop\x10\xa3\x06\x12\n\n\x05\x42RPop\x10\xa4\x06\x12\x0f\n\nBRPopLPush\x10\xa5\x06\x12\x0b\n\x06LIndex\x10\xa6\x06\x12\x0c\n\x07LInsert\x10\xa7\x06\x12\t\n\x04LLen\x10\xa8\x06\x12\n\n\x05LMove\x10\xa9\x06\x12\n\n\x05LMPop\x10\xaa\x06\x12\t\n\x04LPop\x10\xab\x06\x12\t\n\x04LPos\x10\xac\x06\x12\n\n\x05LPush\x10\xad\x06\x12\x0b\n\x06LPushX\x10\xae\x06\x12\x0b\n\x06LRange\x10\xaf\x06\x12\t\n\x04LRem\x10\xb0\x06\x12\t\n\x04LSet\x10\xb1\x06\x12\n\n\x05LTrim\x10\xb2\x06\x12\t\n\x04RPop\x10\xb3\x06\x12\x0e\n\tRPopLPush\x10\xb4\x06\x12\n\n\x05RPush\x10\xb5\x06\x12\x0b\n\x06RPushX\x10\xb6\x06\x12\x0f\n\nPSubscribe\x10\x85\x07\x12\x0c\n\x07Publish\x10\x86\x07\x12\x13\n\x0ePubSubChannels\x10\x87\x07\x12\x11\n\x0cPubSubNumPat\x10\x88\x07\x12\x11\n\x0cPubSubNumSub\x10\x89\x07\x12\x18\n\x13PubSubShardChannels\x10\x8a\x07\x12\x16\n\x11PubSubShardNumSub\x10\x8b\x07\x12\x11\n\x0cPUnsubscribe\x10\x8c\x07\x12\r\n\x08SPublish\x10\x8d\x07\x12\x0f\n\nSSubscribe\x10\x8e\x07\x12\x0e\n\tSubscribe\x10\x8f\x07\x12\x11\n\x0cSUnsubscribe\x10\x90\x07\x12\x10\n\x0bUnsubscribe\x10\x91\x07\x12\t\n\x04\x45val\x10\xe9\x07\x12\x11\n\x0c\x45valReadOnly\x10\xea\x07\x12\x0c\n\x07\x45valSha\x10\xeb\x07\x12\x14\n\x0f\x45valShaReadOnly\x10\xec\x07\x12\n\n\x05\x46\x43\x61ll\x10\xed\x07\x12\x12\n\rFCallReadOnly\x10\xee\x07\x12\x13\n\x0e\x46unctionDelete\x10\xef\x07\x12\x11\n\x0c\x46unctionDump\x10\xf0\x07\x12\x12\n\rFunctionFlush\x10\xf1\x07\x12\x11\n\x0c\x46unctionKill\x10\xf2\x07\x12\x11\n\x0c\x46unctionList\x10\xf3\x07\x12\x11\n\x0c\x46unctionLoad\x10\xf4\x07\x12\x14\n\x0f\x46unctionRestore\x10\xf5\x07\x12\x12\n\rFunctionStats\x10\xf6\x07\x12\x10\n\x0bScriptDebug\x10\xf7\x07\x12\x11\n\x0cScriptExists\x10\xf8\x07\x12\x10\n\x0bScriptFlush\x10\xf9\x07\x12\x0f\n\nScriptKill\x10\xfa\x07\x12\x0f\n\nScriptLoad\x10\xfb\x07\x12\x0f\n\nScriptShow\x10\xfc\x07\x12\x0b\n\x06\x41\x63lCat\x10\xcd\x08\x12\x0f\n\nAclDelUser\x10\xce\x08\x12\x0e\n\tAclDryRun\x10\xcf\x08\x12\x0f\n\nAclGenPass\x10\xd0\x08\x12\x0f\n\nAclGetUser\x10\xd1\x08\x12\x0c\n\x07\x41\x63lList\x10\xd2\x08\x12\x0c\n\x07\x41\x63lLoad\x10\xd3\x08\x12\x0b\n\x06\x41\x63lLog\x10\xd4\x08\x12\x0c\n\x07\x41\x63lSave\x10\xd5\x08\x12\x0f\n\nAclSetSser\x10\xd6\x08\x12\r\n\x08\x41\x63lUsers\x10\xd7\x08\x12\x0e\n\tAclWhoami\x10\xd8\x08\x12\x11\n\x0c\x42gRewriteAof\x10\xd9\x08\x12\x0b\n\x06\x42gSave\x10\xda\x08\x12\r\n\x08\x43ommand_\x10\xdb\x08\x12\x11\n\x0c\x43ommandCount\x10\xdc\x08\x12\x10\n\x0b\x43ommandDocs\x10\xdd\x08\x12\x13\n\x0e\x43ommandGetKeys\x10\xde\x08\x12\x1b\n\x16\x43ommandGetKeysAndFlags\x10\xdf\x08\x12\x10\n\x0b\x43ommandInfo\x10\xe0\x08\x12\x10\n\x0b\x43ommandList\x10\xe1\x08\x12\x0e\n\tConfigGet\x10\xe2\x08\x12\x14\n\x0f\x43onfigResetStat\x10\xe3\x08\x12\x12\n\rConfigRewrite\x10\xe4\x08\x12\x0e\n\tConfigSet\x10\xe5\x08\x12\x0b\n\x06\x44\x42Size\x10\xe6\x08\x12\r\n\x08\x46\x61ilOver\x10\xe7\x08\x12\r\n\x08\x46lushAll\x10\xe8\x08\x12\x0c\n\x07\x46lushDB\x10\xe9\x08\x12\t\n\x04Info\x10\xea\x08\x12\r\n\x08LastSave\x10\xeb\x08\x12\x12\n\rLatencyDoctor\x10\xec\x08\x12\x11\n\x0cLatencyGraph\x10\xed\x08\x12\x15\n\x10LatencyHistogram\x10\xee\x08\x12\x13\n\x0eLatencyHistory\x10\xef\x08\x12\x12\n\rLatencyLatest\x10\xf0\x08\x12\x11\n\x0cLatencyReset\x10\xf1\x08\x12\x0b\n\x06Lolwut\x10\xf2\x08\x12\x11\n\x0cMemoryDoctor\x10\xf3\x08\x12\x16\n\x11MemoryMallocStats\x10\xf4\x08\x12\x10\n\x0bMemoryPurge\x10\xf5\x08\x12\x10\n\x0bMemoryStats\x10\xf6\x08\x12\x10\n\x0bMemoryUsage\x10\xf7\x08\x12\x0f\n\nModuleList\x10\xf8\x08\x12\x0f\n\nModuleLoad\x10\xf9\x08\x12\x11\n\x0cModuleLoadEx\x10\xfa\x08\x12\x11\n\x0cModuleUnload\x10\xfb\x08\x12\x0c\n\x07Monitor\x10\xfc\x08\x12\n\n\x05PSync\x10\xfd\x08\x12\r\n\x08ReplConf\x10\xfe\x08\x12\x0e\n\tReplicaOf\x10\xff\x08\x12\x12\n\rRestoreAsking\x10\x80\t\x12\t\n\x04Role\x10\x81\t\x12\t\n\x04Save\x10\x82\t\x12\r\n\x08ShutDown\x10\x83\t\x12\x0c\n\x07SlaveOf\x10\x84\t\x12\x0f\n\nSlowLogGet\x10\x85\t\x12\x0f\n\nSlowLogLen\x10\x86\t\x12\x11\n\x0cSlowLogReset\x10\x87\t\x12\x0b\n\x06SwapDb\x10\x88\t\x12\t\n\x04Sync\x10\x89\t\x12\t\n\x04Time\x10\x8a\t\x12\t\n\x04SAdd\x10\xb1\t\x12\n\n\x05SCard\x10\xb2\t\x12\n\n\x05SDiff\x10\xb3\t\x12\x0f\n\nSDiffStore\x10\xb4\t\x12\x0b\n\x06SInter\x10\xb5\t\x12\x0f\n\nSInterCard\x10\xb6\t\x12\x10\n\x0bSInterStore\x10\xb7\t\x12\x0e\n\tSIsMember\x10\xb8\t\x12\r\n\x08SMembers\x10\xb9\t\x12\x0f\n\nSMIsMember\x10\xba\t\x12\n\n\x05SMove\x10\xbb\t\x12\t\n\x04SPop\x10\xbc\t\x12\x10\n\x0bSRandMember\x10\xbd\t\x12\t\n\x04SRem\x10\xbe\t\x12\n\n\x05SScan\x10\xbf\t\x12\x0b\n\x06SUnion\x10\xc0\t\x12\x10\n\x0bSUnionStore\x10\xc1\t\x12\x0b\n\x06\x42ZMPop\x10\x95\n\x12\r\n\x08\x42ZPopMax\x10\x96\n\x12\r\n\x08\x42ZPopMin\x10\x97\n\x12\t\n\x04ZAdd\x10\x98\n\x12\n\n\x05ZCard\x10\x99\n\x12\x0b\n\x06ZCount\x10\x9a\n\x12\n\n\x05ZDiff\x10\x9b\n\x12\x0f\n\nZDiffStore\x10\x9c\n\x12\x0c\n\x07ZIncrBy\x10\x9d\n\x12\x0b\n\x06ZInter\x10\x9e\n\x12\x0f\n\nZInterCard\x10\x9f\n\x12\x10\n\x0bZInterStore\x10\xa0\n\x12\x0e\n\tZLexCount\x10\xa1\n\x12\n\n\x05ZMPop\x10\xa2\n\x12\x0c\n\x07ZMScore\x10\xa3\n\x12\x0c\n\x07ZPopMax\x10\xa4\n\x12\x0c\n\x07ZPopMin\x10\xa5\n\x12\x10\n\x0bZRandMember\x10\xa6\n\x12\x0b\n\x06ZRange\x10\xa7\n\x12\x10\n\x0bZRangeByLex\x10\xa8\n\x12\x12\n\rZRangeByScore\x10\xa9\n\x12\x10\n\x0bZRangeStore\x10\xaa\n\x12\n\n\x05ZRank\x10\xab\n\x12\t\n\x04ZRem\x10\xac\n\x12\x13\n\x0eZRemRangeByLex\x10\xad\n\x12\x14\n\x0fZRemRangeByRank\x10\xae\n\x12\x15\n\x10ZRemRangeByScore\x10\xaf\n\x12\x0e\n\tZRevRange\x10\xb0\n\x12\x13\n\x0eZRevRangeByLex\x10\xb1\n\x12\x15\n\x10ZRevRangeByScore\x10\xb2\n\x12\r\n\x08ZRevRank\x10\xb3\n\x12\n\n\x05ZScan\x10\xb4\n\x12\x0b\n\x06ZScore\x10\xb5\n\x12\x0b\n\x06ZUnion\x10\xb6\n\x12\x10\n\x0bZUnionStore\x10\xb7\n\x12\t\n\x04XAck\x10\xf9\n\x12\t\n\x04XAdd\x10\xfa\n\x12\x0f\n\nXAutoClaim\x10\xfb\n\x12\x0b\n\x06XClaim\x10\xfc\n\x12\t\n\x04XDel\x10\xfd\n\x12\x11\n\x0cXGroupCreate\x10\xfe\n\x12\x19\n\x14XGroupCreateConsumer\x10\xff\n\x12\x16\n\x11XGroupDelConsumer\x10\x80\x0b\x12\x12\n\rXGroupDestroy\x10\x81\x0b\x12\x10\n\x0bXGroupSetId\x10\x82\x0b\x12\x13\n\x0eXInfoConsumers\x10\x83\x0b\x12\x10\n\x0bXInfoGroups\x10\x84\x0b\x12\x10\n\x0bXInfoStream\x10\x85\x0b\x12\t\n\x04XLen\x10\x86\x0b\x12\r\n\x08XPending\x10\x87\x0b\x12\x0b\n\x06XRange\x10\x88\x0b\x12\n\n\x05XRead\x10\x89\x0b\x12\x0f\n\nXReadGroup\x10\x8a\x0b\x12\x0e\n\tXRevRange\x10\x8b\x0b\x12\x0b\n\x06XSetId\x10\x8c\x0b\x12\n\n\x05XTrim\x10\x8d\x0b\x12\x0b\n\x06\x41ppend\x10\xdd\x0b\x12\t\n\x04\x44\x65\x63r\x10\xde\x0b\x12\x0b\n\x06\x44\x65\x63rBy\x10\xdf\x0b\x12\x08\n\x03Get\x10\xe0\x0b\x12\x0b\n\x06GetDel\x10\xe1\x0b\x12\n\n\x05GetEx\x10\xe2\x0b\x12\r\n\x08GetRange\x10\xe3\x0b\x12\x0b\n\x06GetSet\x10\xe4\x0b\x12\t\n\x04Incr\x10\xe5\x0b\x12\x0b\n\x06IncrBy\x10\xe6\x0b\x12\x10\n\x0bIncrByFloat\x10\xe7\x0b\x12\x08\n\x03LCS\x10\xe8\x0b\x12\t\n\x04MGet\x10\xe9\x0b\x12\t\n\x04MSet\x10\xea\x0b\x12\x0b\n\x06MSetNX\x10\xeb\x0b\x12\x0b\n\x06PSetEx\x10\xec\x0b\x12\x08\n\x03Set\x10\xed\x0b\x12\n\n\x05SetEx\x10\xee\x0b\x12\n\n\x05SetNX\x10\xef\x0b\x12\r\n\x08SetRange\x10\xf0\x0b\x12\x0b\n\x06Strlen\x10\xf1\x0b\x12\x0b\n\x06Substr\x10\xf2\x0b\x12\x0c\n\x07\x44iscard\x10\xc1\x0c\x12\t\n\x04\x45xec\x10\xc2\x0c\x12\n\n\x05Multi\x10\xc3\x0c\x12\x0c\n\x07UnWatch\x10\xc4\x0c\x12\n\n\x05Watch\x10\xc5\x0c\x12\x12\n\rJsonArrAppend\x10\xd1\x0f\x12\x11\n\x0cJsonArrIndex\x10\xd2\x0f\x12\x12\n\rJsonArrInsert\x10\xd3\x0f\x12\x0f\n\nJsonArrLen\x10\xd4\x0f\x12\x0f\n\nJsonArrPop\x10\xd5\x0f\x12\x10\n\x0bJsonArrTrim\x10\xd6\x0f\x12\x0e\n\tJsonClear\x10\xd7\x0f\x12\x0e\n\tJsonDebug\x10\xd8\x0f\x12\x0c\n\x07JsonDel\x10\xd9\x0f\x12\x0f\n\nJsonForget\x10\xda\x0f\x12\x0c\n\x07JsonGet\x10\xdb\x0f\x12\r\n\x08JsonMGet\x10\xdc\x0f\x12\x12\n\rJsonNumIncrBy\x10\xdd\x0f\x12\x12\n\rJsonNumMultBy\x10\xde\x0f\x12\x10\n\x0bJsonObjKeys\x10\xdf\x0f\x12\x0f\n\nJsonObjLen\x10\xe0\x0f\x12\r\n\x08JsonResp\x10\xe1\x0f\x12\x0c\n\x07JsonSet\x10\xe2\x0f\x12\x12\n\rJsonStrAppend\x10\xe3\x0f\x12\x0f\n\nJsonStrLen\x10\xe4\x0f\x12\x0f\n\nJsonToggle\x10\xe5\x0f\x12\r\n\x08JsonType\x10\xe6\x0f\x12\x0b\n\x06\x46tList\x10\xb5\x10\x12\x10\n\x0b\x46tAggregate\x10\xb6\x10\x12\x0f\n\nFtAliasAdd\x10\xb7\x10\x12\x0f\n\nFtAliasDel\x10\xb8\x10\x12\x10\n\x0b\x46tAliasList\x10\xb9\x10\x12\x12\n\rFtAliasUpdate\x10\xba\x10\x12\r\n\x08\x46tCreate\x10\xbb\x10\x12\x10\n\x0b\x46tDropIndex\x10\xbc\x10\x12\x0e\n\tFtExplain\x10\xbd\x10\x12\x11\n\x0c\x46tExplainCli\x10\xbe\x10\x12\x0b\n\x06\x46tInfo\x10\xbf\x10\x12\x0e\n\tFtProfile\x10\xc0\x10\x12\r\n\x08\x46tSearch\x10\xc1\x10\x62\x06proto3')
|
|
18
18
|
|
|
19
19
|
_globals = globals()
|
|
20
20
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
21
21
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protobuf.command_request_pb2', _globals)
|
|
22
22
|
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
23
23
|
DESCRIPTOR._options = None
|
|
24
|
-
_globals['_SIMPLEROUTES']._serialized_start=
|
|
25
|
-
_globals['_SIMPLEROUTES']._serialized_end=
|
|
26
|
-
_globals['_SLOTTYPES']._serialized_start=
|
|
27
|
-
_globals['_SLOTTYPES']._serialized_end=
|
|
28
|
-
_globals['_REQUESTTYPE']._serialized_start=
|
|
29
|
-
_globals['_REQUESTTYPE']._serialized_end=
|
|
24
|
+
_globals['_SIMPLEROUTES']._serialized_start=2023
|
|
25
|
+
_globals['_SIMPLEROUTES']._serialized_end=2081
|
|
26
|
+
_globals['_SLOTTYPES']._serialized_start=2083
|
|
27
|
+
_globals['_SLOTTYPES']._serialized_end=2120
|
|
28
|
+
_globals['_REQUESTTYPE']._serialized_start=2123
|
|
29
|
+
_globals['_REQUESTTYPE']._serialized_end=8373
|
|
30
30
|
_globals['_SLOTIDROUTE']._serialized_start=51
|
|
31
31
|
_globals['_SLOTIDROUTE']._serialized_end=128
|
|
32
32
|
_globals['_SLOTKEYROUTE']._serialized_start=130
|
|
@@ -49,6 +49,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
|
49
49
|
_globals['_CLUSTERSCAN']._serialized_end=1340
|
|
50
50
|
_globals['_UPDATECONNECTIONPASSWORD']._serialized_start=1342
|
|
51
51
|
_globals['_UPDATECONNECTIONPASSWORD']._serialized_end=1428
|
|
52
|
-
_globals['
|
|
53
|
-
_globals['
|
|
52
|
+
_globals['_REFRESHIAMTOKEN']._serialized_start=1430
|
|
53
|
+
_globals['_REFRESHIAMTOKEN']._serialized_end=1447
|
|
54
|
+
_globals['_COMMANDREQUEST']._serialized_start=1450
|
|
55
|
+
_globals['_COMMANDREQUEST']._serialized_end=2021
|
|
54
56
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!protobuf/connection_request.proto\x12\x12\x63onnection_request\")\n\x0bNodeAddress\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\"
|
|
17
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!protobuf/connection_request.proto\x12\x12\x63onnection_request\")\n\x0bNodeAddress\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\"\x8e\x01\n\x12\x41uthenticationInfo\x12\x10\n\x08password\x18\x01 \x01(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12@\n\x0fiam_credentials\x18\x03 \x01(\x0b\x32\".connection_request.IamCredentialsH\x00\x88\x01\x01\x42\x12\n\x10_iam_credentials\"\xb1\x01\n\x0eIamCredentials\x12\x14\n\x0c\x63luster_name\x18\x01 \x01(\t\x12\x0e\n\x06region\x18\x02 \x01(\t\x12\x35\n\x0cservice_type\x18\x03 \x01(\x0e\x32\x1f.connection_request.ServiceType\x12%\n\x18refresh_interval_seconds\x18\x04 \x01(\rH\x00\x88\x01\x01\x42\x1b\n\x19_refresh_interval_seconds\"7\n\x1cPeriodicChecksManualInterval\x12\x17\n\x0f\x64uration_in_sec\x18\x01 \x01(\r\"\x18\n\x16PeriodicChecksDisabled\"8\n\x18PubSubChannelsOrPatterns\x12\x1c\n\x14\x63hannels_or_patterns\x18\x01 \x03(\x0c\"\xf1\x01\n\x13PubSubSubscriptions\x12k\n\x1c\x63hannels_or_patterns_by_type\x18\x01 \x03(\x0b\x32\x45.connection_request.PubSubSubscriptions.ChannelsOrPatternsByTypeEntry\x1am\n\x1d\x43hannelsOrPatternsByTypeEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12;\n\x05value\x18\x02 \x01(\x0b\x32,.connection_request.PubSubChannelsOrPatterns:\x02\x38\x01\"\x94\x07\n\x11\x43onnectionRequest\x12\x32\n\taddresses\x18\x01 \x03(\x0b\x32\x1f.connection_request.NodeAddress\x12-\n\x08tls_mode\x18\x02 \x01(\x0e\x32\x1b.connection_request.TlsMode\x12\x1c\n\x14\x63luster_mode_enabled\x18\x03 \x01(\x08\x12\x17\n\x0frequest_timeout\x18\x04 \x01(\r\x12/\n\tread_from\x18\x05 \x01(\x0e\x32\x1c.connection_request.ReadFrom\x12N\n\x19\x63onnection_retry_strategy\x18\x06 \x01(\x0b\x32+.connection_request.ConnectionRetryStrategy\x12\x43\n\x13\x61uthentication_info\x18\x07 \x01(\x0b\x32&.connection_request.AuthenticationInfo\x12\x13\n\x0b\x64\x61tabase_id\x18\x08 \x01(\r\x12\x35\n\x08protocol\x18\t \x01(\x0e\x32#.connection_request.ProtocolVersion\x12\x13\n\x0b\x63lient_name\x18\n \x01(\t\x12[\n\x1fperiodic_checks_manual_interval\x18\x0b \x01(\x0b\x32\x30.connection_request.PeriodicChecksManualIntervalH\x00\x12N\n\x18periodic_checks_disabled\x18\x0c \x01(\x0b\x32*.connection_request.PeriodicChecksDisabledH\x00\x12\x45\n\x14pubsub_subscriptions\x18\r \x01(\x0b\x32\'.connection_request.PubSubSubscriptions\x12\x1f\n\x17inflight_requests_limit\x18\x0e \x01(\r\x12\x11\n\tclient_az\x18\x0f \x01(\t\x12\x1a\n\x12\x63onnection_timeout\x18\x10 \x01(\r\x12\x14\n\x0clazy_connect\x18\x11 \x01(\x08\x12+\n#refresh_topology_from_initial_nodes\x18\x12 \x01(\x08\x12\x10\n\x08lib_name\x18\x13 \x01(\t\x12\x12\n\nroot_certs\x18\x14 \x03(\x0c\x42\x11\n\x0fperiodic_checks\"\x8b\x01\n\x17\x43onnectionRetryStrategy\x12\x19\n\x11number_of_retries\x18\x01 \x01(\r\x12\x0e\n\x06\x66\x61\x63tor\x18\x02 \x01(\r\x12\x15\n\rexponent_base\x18\x03 \x01(\r\x12\x1b\n\x0ejitter_percent\x18\x04 \x01(\rH\x00\x88\x01\x01\x42\x11\n\x0f_jitter_percent*o\n\x08ReadFrom\x12\x0b\n\x07Primary\x10\x00\x12\x11\n\rPreferReplica\x10\x01\x12\x11\n\rLowestLatency\x10\x02\x12\x0e\n\nAZAffinity\x10\x03\x12 \n\x1c\x41ZAffinityReplicasAndPrimary\x10\x04*4\n\x07TlsMode\x12\t\n\x05NoTls\x10\x00\x12\r\n\tSecureTls\x10\x01\x12\x0f\n\x0bInsecureTls\x10\x02*,\n\x0bServiceType\x12\x0f\n\x0b\x45LASTICACHE\x10\x00\x12\x0c\n\x08MEMORYDB\x10\x01*\'\n\x0fProtocolVersion\x12\t\n\x05RESP3\x10\x00\x12\t\n\x05RESP2\x10\x01*8\n\x11PubSubChannelType\x12\t\n\x05\x45xact\x10\x00\x12\x0b\n\x07Pattern\x10\x01\x12\x0b\n\x07Sharded\x10\x02\x62\x06proto3')
|
|
18
18
|
|
|
19
19
|
_globals = globals()
|
|
20
20
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -23,30 +23,34 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
|
23
23
|
DESCRIPTOR._options = None
|
|
24
24
|
_globals['_PUBSUBSUBSCRIPTIONS_CHANNELSORPATTERNSBYTYPEENTRY']._options = None
|
|
25
25
|
_globals['_PUBSUBSUBSCRIPTIONS_CHANNELSORPATTERNSBYTYPEENTRY']._serialized_options = b'8\001'
|
|
26
|
-
_globals['_READFROM']._serialized_start=
|
|
27
|
-
_globals['_READFROM']._serialized_end=
|
|
28
|
-
_globals['_TLSMODE']._serialized_start=
|
|
29
|
-
_globals['_TLSMODE']._serialized_end=
|
|
30
|
-
_globals['
|
|
31
|
-
_globals['
|
|
32
|
-
_globals['
|
|
33
|
-
_globals['
|
|
26
|
+
_globals['_READFROM']._serialized_start=1871
|
|
27
|
+
_globals['_READFROM']._serialized_end=1982
|
|
28
|
+
_globals['_TLSMODE']._serialized_start=1984
|
|
29
|
+
_globals['_TLSMODE']._serialized_end=2036
|
|
30
|
+
_globals['_SERVICETYPE']._serialized_start=2038
|
|
31
|
+
_globals['_SERVICETYPE']._serialized_end=2082
|
|
32
|
+
_globals['_PROTOCOLVERSION']._serialized_start=2084
|
|
33
|
+
_globals['_PROTOCOLVERSION']._serialized_end=2123
|
|
34
|
+
_globals['_PUBSUBCHANNELTYPE']._serialized_start=2125
|
|
35
|
+
_globals['_PUBSUBCHANNELTYPE']._serialized_end=2181
|
|
34
36
|
_globals['_NODEADDRESS']._serialized_start=57
|
|
35
37
|
_globals['_NODEADDRESS']._serialized_end=98
|
|
36
|
-
_globals['_AUTHENTICATIONINFO']._serialized_start=
|
|
37
|
-
_globals['_AUTHENTICATIONINFO']._serialized_end=
|
|
38
|
-
_globals['
|
|
39
|
-
_globals['
|
|
40
|
-
_globals['
|
|
41
|
-
_globals['
|
|
42
|
-
_globals['
|
|
43
|
-
_globals['
|
|
44
|
-
_globals['
|
|
45
|
-
_globals['
|
|
46
|
-
_globals['
|
|
47
|
-
_globals['
|
|
48
|
-
_globals['
|
|
49
|
-
_globals['
|
|
50
|
-
_globals['
|
|
51
|
-
_globals['
|
|
38
|
+
_globals['_AUTHENTICATIONINFO']._serialized_start=101
|
|
39
|
+
_globals['_AUTHENTICATIONINFO']._serialized_end=243
|
|
40
|
+
_globals['_IAMCREDENTIALS']._serialized_start=246
|
|
41
|
+
_globals['_IAMCREDENTIALS']._serialized_end=423
|
|
42
|
+
_globals['_PERIODICCHECKSMANUALINTERVAL']._serialized_start=425
|
|
43
|
+
_globals['_PERIODICCHECKSMANUALINTERVAL']._serialized_end=480
|
|
44
|
+
_globals['_PERIODICCHECKSDISABLED']._serialized_start=482
|
|
45
|
+
_globals['_PERIODICCHECKSDISABLED']._serialized_end=506
|
|
46
|
+
_globals['_PUBSUBCHANNELSORPATTERNS']._serialized_start=508
|
|
47
|
+
_globals['_PUBSUBCHANNELSORPATTERNS']._serialized_end=564
|
|
48
|
+
_globals['_PUBSUBSUBSCRIPTIONS']._serialized_start=567
|
|
49
|
+
_globals['_PUBSUBSUBSCRIPTIONS']._serialized_end=808
|
|
50
|
+
_globals['_PUBSUBSUBSCRIPTIONS_CHANNELSORPATTERNSBYTYPEENTRY']._serialized_start=699
|
|
51
|
+
_globals['_PUBSUBSUBSCRIPTIONS_CHANNELSORPATTERNSBYTYPEENTRY']._serialized_end=808
|
|
52
|
+
_globals['_CONNECTIONREQUEST']._serialized_start=811
|
|
53
|
+
_globals['_CONNECTIONREQUEST']._serialized_end=1727
|
|
54
|
+
_globals['_CONNECTIONRETRYSTRATEGY']._serialized_start=1730
|
|
55
|
+
_globals['_CONNECTIONRETRYSTRATEGY']._serialized_end=1869
|
|
52
56
|
# @@protoc_insertion_point(module_scope)
|