google-cloud-memorystore 0.1.0__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.
Files changed (36) hide show
  1. google/cloud/memorystore/__init__.py +63 -0
  2. google/cloud/memorystore/gapic_version.py +16 -0
  3. google/cloud/memorystore/py.typed +2 -0
  4. google/cloud/memorystore_v1/__init__.py +63 -0
  5. google/cloud/memorystore_v1/gapic_metadata.json +48 -0
  6. google/cloud/memorystore_v1/gapic_version.py +16 -0
  7. google/cloud/memorystore_v1/py.typed +2 -0
  8. google/cloud/memorystore_v1/services/__init__.py +15 -0
  9. google/cloud/memorystore_v1/services/memorystore/__init__.py +18 -0
  10. google/cloud/memorystore_v1/services/memorystore/client.py +1868 -0
  11. google/cloud/memorystore_v1/services/memorystore/pagers.py +117 -0
  12. google/cloud/memorystore_v1/services/memorystore/transports/__init__.py +30 -0
  13. google/cloud/memorystore_v1/services/memorystore/transports/base.py +355 -0
  14. google/cloud/memorystore_v1/services/memorystore/transports/rest.py +2287 -0
  15. google/cloud/memorystore_v1/services/memorystore/transports/rest_base.py +547 -0
  16. google/cloud/memorystore_v1/types/__init__.py +56 -0
  17. google/cloud/memorystore_v1/types/memorystore.py +1230 -0
  18. google/cloud/memorystore_v1beta/__init__.py +63 -0
  19. google/cloud/memorystore_v1beta/gapic_metadata.json +48 -0
  20. google/cloud/memorystore_v1beta/gapic_version.py +16 -0
  21. google/cloud/memorystore_v1beta/py.typed +2 -0
  22. google/cloud/memorystore_v1beta/services/__init__.py +15 -0
  23. google/cloud/memorystore_v1beta/services/memorystore/__init__.py +18 -0
  24. google/cloud/memorystore_v1beta/services/memorystore/client.py +1868 -0
  25. google/cloud/memorystore_v1beta/services/memorystore/pagers.py +117 -0
  26. google/cloud/memorystore_v1beta/services/memorystore/transports/__init__.py +30 -0
  27. google/cloud/memorystore_v1beta/services/memorystore/transports/base.py +355 -0
  28. google/cloud/memorystore_v1beta/services/memorystore/transports/rest.py +2287 -0
  29. google/cloud/memorystore_v1beta/services/memorystore/transports/rest_base.py +547 -0
  30. google/cloud/memorystore_v1beta/types/__init__.py +56 -0
  31. google/cloud/memorystore_v1beta/types/memorystore.py +1230 -0
  32. google_cloud_memorystore-0.1.0.dist-info/LICENSE +202 -0
  33. google_cloud_memorystore-0.1.0.dist-info/METADATA +139 -0
  34. google_cloud_memorystore-0.1.0.dist-info/RECORD +36 -0
  35. google_cloud_memorystore-0.1.0.dist-info/WHEEL +5 -0
  36. google_cloud_memorystore-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1230 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright 2024 Google LLC
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ from __future__ import annotations
17
+
18
+ from typing import MutableMapping, MutableSequence
19
+
20
+ from google.protobuf import field_mask_pb2 # type: ignore
21
+ from google.protobuf import timestamp_pb2 # type: ignore
22
+ import proto # type: ignore
23
+
24
+ __protobuf__ = proto.module(
25
+ package="google.cloud.memorystore.v1",
26
+ manifest={
27
+ "PscConnectionStatus",
28
+ "ConnectionType",
29
+ "Instance",
30
+ "PscAutoConnection",
31
+ "PscConnection",
32
+ "DiscoveryEndpoint",
33
+ "PersistenceConfig",
34
+ "NodeConfig",
35
+ "ZoneDistributionConfig",
36
+ "ListInstancesRequest",
37
+ "ListInstancesResponse",
38
+ "GetInstanceRequest",
39
+ "CreateInstanceRequest",
40
+ "UpdateInstanceRequest",
41
+ "DeleteInstanceRequest",
42
+ "GetCertificateAuthorityRequest",
43
+ "CertificateAuthority",
44
+ "OperationMetadata",
45
+ },
46
+ )
47
+
48
+
49
+ class PscConnectionStatus(proto.Enum):
50
+ r"""Status of the PSC connection.
51
+
52
+ Values:
53
+ PSC_CONNECTION_STATUS_UNSPECIFIED (0):
54
+ PSC connection status is not specified.
55
+ ACTIVE (1):
56
+ The connection is active
57
+ NOT_FOUND (2):
58
+ Connection not found
59
+ """
60
+ PSC_CONNECTION_STATUS_UNSPECIFIED = 0
61
+ ACTIVE = 1
62
+ NOT_FOUND = 2
63
+
64
+
65
+ class ConnectionType(proto.Enum):
66
+ r"""Type of a PSC connection
67
+
68
+ Values:
69
+ CONNECTION_TYPE_UNSPECIFIED (0):
70
+ Connection Type is not set
71
+ CONNECTION_TYPE_DISCOVERY (1):
72
+ Connection that will be used for topology
73
+ discovery.
74
+ CONNECTION_TYPE_PRIMARY (2):
75
+ Connection that will be used as primary
76
+ endpoint to access primary.
77
+ CONNECTION_TYPE_READER (3):
78
+ Connection that will be used as reader
79
+ endpoint to access replicas.
80
+ """
81
+ CONNECTION_TYPE_UNSPECIFIED = 0
82
+ CONNECTION_TYPE_DISCOVERY = 1
83
+ CONNECTION_TYPE_PRIMARY = 2
84
+ CONNECTION_TYPE_READER = 3
85
+
86
+
87
+ class Instance(proto.Message):
88
+ r"""A Memorystore instance.
89
+
90
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
91
+
92
+ Attributes:
93
+ name (str):
94
+ Identifier. Unique name of the instance.
95
+ Format:
96
+ projects/{project}/locations/{location}/instances/{instance}
97
+ create_time (google.protobuf.timestamp_pb2.Timestamp):
98
+ Output only. Creation timestamp of the
99
+ instance.
100
+ update_time (google.protobuf.timestamp_pb2.Timestamp):
101
+ Output only. Latest update timestamp of the
102
+ instance.
103
+ labels (MutableMapping[str, str]):
104
+ Optional. Labels to represent user-provided
105
+ metadata.
106
+ state (google.cloud.memorystore_v1.types.Instance.State):
107
+ Output only. Current state of the instance.
108
+ state_info (google.cloud.memorystore_v1.types.Instance.StateInfo):
109
+ Output only. Additional information about the
110
+ state of the instance.
111
+ uid (str):
112
+ Output only. System assigned, unique
113
+ identifier for the instance.
114
+ replica_count (int):
115
+ Optional. Number of replica nodes per shard.
116
+ If omitted the default is 0 replicas.
117
+
118
+ This field is a member of `oneof`_ ``_replica_count``.
119
+ authorization_mode (google.cloud.memorystore_v1.types.Instance.AuthorizationMode):
120
+ Optional. Immutable. Authorization mode of
121
+ the instance.
122
+ transit_encryption_mode (google.cloud.memorystore_v1.types.Instance.TransitEncryptionMode):
123
+ Optional. Immutable. In-transit encryption
124
+ mode of the instance.
125
+ shard_count (int):
126
+ Optional. Number of shards for the instance.
127
+ discovery_endpoints (MutableSequence[google.cloud.memorystore_v1.types.DiscoveryEndpoint]):
128
+ Output only. Endpoints clients can connect to
129
+ the instance through. Currently only one
130
+ discovery endpoint is supported.
131
+ node_type (google.cloud.memorystore_v1.types.Instance.NodeType):
132
+ Optional. Immutable. Machine type for
133
+ individual nodes of the instance.
134
+ persistence_config (google.cloud.memorystore_v1.types.PersistenceConfig):
135
+ Optional. Persistence configuration of the
136
+ instance.
137
+ engine_version (str):
138
+ Optional. Immutable. Engine version of the
139
+ instance.
140
+ engine_configs (MutableMapping[str, str]):
141
+ Optional. User-provided engine configurations
142
+ for the instance.
143
+ node_config (google.cloud.memorystore_v1.types.NodeConfig):
144
+ Output only. Configuration of individual
145
+ nodes of the instance.
146
+ zone_distribution_config (google.cloud.memorystore_v1.types.ZoneDistributionConfig):
147
+ Optional. Immutable. Zone distribution
148
+ configuration of the instance for node
149
+ allocation.
150
+ deletion_protection_enabled (bool):
151
+ Optional. If set to true deletion of the
152
+ instance will fail.
153
+
154
+ This field is a member of `oneof`_ ``_deletion_protection_enabled``.
155
+ psc_auto_connections (MutableSequence[google.cloud.memorystore_v1.types.PscAutoConnection]):
156
+ Required. Immutable. User inputs and resource
157
+ details of the auto-created PSC connections.
158
+ endpoints (MutableSequence[google.cloud.memorystore_v1.types.Instance.InstanceEndpoint]):
159
+ Optional. Endpoints for the instance.
160
+ mode (google.cloud.memorystore_v1.types.Instance.Mode):
161
+ Optional. The mode config for the instance.
162
+ """
163
+
164
+ class State(proto.Enum):
165
+ r"""Possible states of the instance.
166
+
167
+ Values:
168
+ STATE_UNSPECIFIED (0):
169
+ Not set.
170
+ CREATING (1):
171
+ Instance is being created.
172
+ ACTIVE (2):
173
+ Instance has been created and is usable.
174
+ UPDATING (3):
175
+ Instance is being updated.
176
+ DELETING (4):
177
+ Instance is being deleted.
178
+ """
179
+ STATE_UNSPECIFIED = 0
180
+ CREATING = 1
181
+ ACTIVE = 2
182
+ UPDATING = 3
183
+ DELETING = 4
184
+
185
+ class AuthorizationMode(proto.Enum):
186
+ r"""Possible authorization modes of the instance.
187
+
188
+ Values:
189
+ AUTHORIZATION_MODE_UNSPECIFIED (0):
190
+ Not set.
191
+ AUTH_DISABLED (1):
192
+ Authorization disabled.
193
+ IAM_AUTH (2):
194
+ IAM basic authorization.
195
+ """
196
+ AUTHORIZATION_MODE_UNSPECIFIED = 0
197
+ AUTH_DISABLED = 1
198
+ IAM_AUTH = 2
199
+
200
+ class TransitEncryptionMode(proto.Enum):
201
+ r"""Possible in-transit encryption modes of the instance.
202
+
203
+ Values:
204
+ TRANSIT_ENCRYPTION_MODE_UNSPECIFIED (0):
205
+ Not set.
206
+ TRANSIT_ENCRYPTION_DISABLED (1):
207
+ In-transit encryption is disabled.
208
+ SERVER_AUTHENTICATION (2):
209
+ Server-managed encryption is used for
210
+ in-transit encryption.
211
+ """
212
+ TRANSIT_ENCRYPTION_MODE_UNSPECIFIED = 0
213
+ TRANSIT_ENCRYPTION_DISABLED = 1
214
+ SERVER_AUTHENTICATION = 2
215
+
216
+ class NodeType(proto.Enum):
217
+ r"""Possible node types of the instance. See
218
+ https://cloud.google.com/memorystore/docs/valkey/instance-node-specification
219
+ for more information.
220
+
221
+ Values:
222
+ NODE_TYPE_UNSPECIFIED (0):
223
+ Not set.
224
+ SHARED_CORE_NANO (1):
225
+ Shared core nano.
226
+ HIGHMEM_MEDIUM (2):
227
+ High memory medium.
228
+ HIGHMEM_XLARGE (3):
229
+ High memory extra large.
230
+ STANDARD_SMALL (4):
231
+ Standard small.
232
+ """
233
+ NODE_TYPE_UNSPECIFIED = 0
234
+ SHARED_CORE_NANO = 1
235
+ HIGHMEM_MEDIUM = 2
236
+ HIGHMEM_XLARGE = 3
237
+ STANDARD_SMALL = 4
238
+
239
+ class Mode(proto.Enum):
240
+ r"""The mode config, which is used to enable/disable cluster
241
+ mode.
242
+
243
+ Values:
244
+ MODE_UNSPECIFIED (0):
245
+ Mode is not specified.
246
+ STANDALONE (1):
247
+ Instance is in standalone mode.
248
+ CLUSTER (2):
249
+ Instance is in cluster mode.
250
+ """
251
+ MODE_UNSPECIFIED = 0
252
+ STANDALONE = 1
253
+ CLUSTER = 2
254
+
255
+ class StateInfo(proto.Message):
256
+ r"""Additional information about the state of the instance.
257
+
258
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
259
+
260
+ Attributes:
261
+ update_info (google.cloud.memorystore_v1.types.Instance.StateInfo.UpdateInfo):
262
+ Output only. Describes ongoing update when
263
+ instance state is UPDATING.
264
+
265
+ This field is a member of `oneof`_ ``info``.
266
+ """
267
+
268
+ class UpdateInfo(proto.Message):
269
+ r"""Represents information about instance with state UPDATING.
270
+
271
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
272
+
273
+ Attributes:
274
+ target_shard_count (int):
275
+ Output only. Target number of shards for the
276
+ instance.
277
+
278
+ This field is a member of `oneof`_ ``_target_shard_count``.
279
+ target_replica_count (int):
280
+ Output only. Target number of replica nodes
281
+ per shard for the instance.
282
+
283
+ This field is a member of `oneof`_ ``_target_replica_count``.
284
+ """
285
+
286
+ target_shard_count: int = proto.Field(
287
+ proto.INT32,
288
+ number=1,
289
+ optional=True,
290
+ )
291
+ target_replica_count: int = proto.Field(
292
+ proto.INT32,
293
+ number=2,
294
+ optional=True,
295
+ )
296
+
297
+ update_info: "Instance.StateInfo.UpdateInfo" = proto.Field(
298
+ proto.MESSAGE,
299
+ number=1,
300
+ oneof="info",
301
+ message="Instance.StateInfo.UpdateInfo",
302
+ )
303
+
304
+ class InstanceEndpoint(proto.Message):
305
+ r"""InstanceEndpoint consists of PSC connections that are created
306
+ as a group in each VPC network for accessing the instance. In
307
+ each group, there shall be one connection for each service
308
+ attachment in the cluster.
309
+
310
+ Attributes:
311
+ connections (MutableSequence[google.cloud.memorystore_v1.types.Instance.ConnectionDetail]):
312
+ Optional. A group of PSC connections. They
313
+ are created in the same VPC network, one for
314
+ each service attachment in the cluster.
315
+ """
316
+
317
+ connections: MutableSequence["Instance.ConnectionDetail"] = proto.RepeatedField(
318
+ proto.MESSAGE,
319
+ number=1,
320
+ message="Instance.ConnectionDetail",
321
+ )
322
+
323
+ class ConnectionDetail(proto.Message):
324
+ r"""Information of each PSC connection.
325
+
326
+ This message has `oneof`_ fields (mutually exclusive fields).
327
+ For each oneof, at most one member field can be set at the same time.
328
+ Setting any member of the oneof automatically clears all other
329
+ members.
330
+
331
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
332
+
333
+ Attributes:
334
+ psc_auto_connection (google.cloud.memorystore_v1.types.PscAutoConnection):
335
+ Detailed information of a PSC connection that
336
+ is created through service connectivity
337
+ automation.
338
+
339
+ This field is a member of `oneof`_ ``connection``.
340
+ psc_connection (google.cloud.memorystore_v1.types.PscConnection):
341
+ Detailed information of a PSC connection that
342
+ is created by the user.
343
+
344
+ This field is a member of `oneof`_ ``connection``.
345
+ """
346
+
347
+ psc_auto_connection: "PscAutoConnection" = proto.Field(
348
+ proto.MESSAGE,
349
+ number=1,
350
+ oneof="connection",
351
+ message="PscAutoConnection",
352
+ )
353
+ psc_connection: "PscConnection" = proto.Field(
354
+ proto.MESSAGE,
355
+ number=2,
356
+ oneof="connection",
357
+ message="PscConnection",
358
+ )
359
+
360
+ name: str = proto.Field(
361
+ proto.STRING,
362
+ number=1,
363
+ )
364
+ create_time: timestamp_pb2.Timestamp = proto.Field(
365
+ proto.MESSAGE,
366
+ number=2,
367
+ message=timestamp_pb2.Timestamp,
368
+ )
369
+ update_time: timestamp_pb2.Timestamp = proto.Field(
370
+ proto.MESSAGE,
371
+ number=3,
372
+ message=timestamp_pb2.Timestamp,
373
+ )
374
+ labels: MutableMapping[str, str] = proto.MapField(
375
+ proto.STRING,
376
+ proto.STRING,
377
+ number=4,
378
+ )
379
+ state: State = proto.Field(
380
+ proto.ENUM,
381
+ number=5,
382
+ enum=State,
383
+ )
384
+ state_info: StateInfo = proto.Field(
385
+ proto.MESSAGE,
386
+ number=6,
387
+ message=StateInfo,
388
+ )
389
+ uid: str = proto.Field(
390
+ proto.STRING,
391
+ number=7,
392
+ )
393
+ replica_count: int = proto.Field(
394
+ proto.INT32,
395
+ number=8,
396
+ optional=True,
397
+ )
398
+ authorization_mode: AuthorizationMode = proto.Field(
399
+ proto.ENUM,
400
+ number=9,
401
+ enum=AuthorizationMode,
402
+ )
403
+ transit_encryption_mode: TransitEncryptionMode = proto.Field(
404
+ proto.ENUM,
405
+ number=10,
406
+ enum=TransitEncryptionMode,
407
+ )
408
+ shard_count: int = proto.Field(
409
+ proto.INT32,
410
+ number=11,
411
+ )
412
+ discovery_endpoints: MutableSequence["DiscoveryEndpoint"] = proto.RepeatedField(
413
+ proto.MESSAGE,
414
+ number=12,
415
+ message="DiscoveryEndpoint",
416
+ )
417
+ node_type: NodeType = proto.Field(
418
+ proto.ENUM,
419
+ number=13,
420
+ enum=NodeType,
421
+ )
422
+ persistence_config: "PersistenceConfig" = proto.Field(
423
+ proto.MESSAGE,
424
+ number=14,
425
+ message="PersistenceConfig",
426
+ )
427
+ engine_version: str = proto.Field(
428
+ proto.STRING,
429
+ number=15,
430
+ )
431
+ engine_configs: MutableMapping[str, str] = proto.MapField(
432
+ proto.STRING,
433
+ proto.STRING,
434
+ number=16,
435
+ )
436
+ node_config: "NodeConfig" = proto.Field(
437
+ proto.MESSAGE,
438
+ number=17,
439
+ message="NodeConfig",
440
+ )
441
+ zone_distribution_config: "ZoneDistributionConfig" = proto.Field(
442
+ proto.MESSAGE,
443
+ number=18,
444
+ message="ZoneDistributionConfig",
445
+ )
446
+ deletion_protection_enabled: bool = proto.Field(
447
+ proto.BOOL,
448
+ number=19,
449
+ optional=True,
450
+ )
451
+ psc_auto_connections: MutableSequence["PscAutoConnection"] = proto.RepeatedField(
452
+ proto.MESSAGE,
453
+ number=20,
454
+ message="PscAutoConnection",
455
+ )
456
+ endpoints: MutableSequence[InstanceEndpoint] = proto.RepeatedField(
457
+ proto.MESSAGE,
458
+ number=25,
459
+ message=InstanceEndpoint,
460
+ )
461
+ mode: Mode = proto.Field(
462
+ proto.ENUM,
463
+ number=26,
464
+ enum=Mode,
465
+ )
466
+
467
+
468
+ class PscAutoConnection(proto.Message):
469
+ r"""Details of consumer resources in a PSC connection.
470
+
471
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
472
+
473
+ Attributes:
474
+ port (int):
475
+ Optional. Output only. port will only be set
476
+ for Primary/Reader or Discovery endpoint.
477
+
478
+ This field is a member of `oneof`_ ``ports``.
479
+ psc_connection_id (str):
480
+ Output only. The PSC connection id of the
481
+ forwarding rule connected to the service
482
+ attachment.
483
+ ip_address (str):
484
+ Output only. The IP allocated on the consumer
485
+ network for the PSC forwarding rule.
486
+ forwarding_rule (str):
487
+ Output only. The URI of the consumer side forwarding rule.
488
+ Format:
489
+ projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}
490
+ project_id (str):
491
+ Required. The consumer project_id where PSC connections are
492
+ established. This should be the same project_id that the
493
+ instance is being created in.
494
+ network (str):
495
+ Required. The network where the PSC endpoints are created,
496
+ in the form of
497
+ projects/{project_id}/global/networks/{network_id}.
498
+ service_attachment (str):
499
+ Output only. The service attachment which is
500
+ the target of the PSC connection, in the form of
501
+ projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.
502
+ psc_connection_status (google.cloud.memorystore_v1.types.PscConnectionStatus):
503
+ Output only. The status of the PSC
504
+ connection: whether a connection exists and
505
+ ACTIVE or it no longer exists. Please note that
506
+ this value is updated periodically. Please use
507
+ Private Service Connect APIs for the latest
508
+ status.
509
+ connection_type (google.cloud.memorystore_v1.types.ConnectionType):
510
+ Output only. Type of the PSC connection.
511
+ """
512
+
513
+ port: int = proto.Field(
514
+ proto.INT32,
515
+ number=9,
516
+ oneof="ports",
517
+ )
518
+ psc_connection_id: str = proto.Field(
519
+ proto.STRING,
520
+ number=1,
521
+ )
522
+ ip_address: str = proto.Field(
523
+ proto.STRING,
524
+ number=2,
525
+ )
526
+ forwarding_rule: str = proto.Field(
527
+ proto.STRING,
528
+ number=3,
529
+ )
530
+ project_id: str = proto.Field(
531
+ proto.STRING,
532
+ number=4,
533
+ )
534
+ network: str = proto.Field(
535
+ proto.STRING,
536
+ number=5,
537
+ )
538
+ service_attachment: str = proto.Field(
539
+ proto.STRING,
540
+ number=6,
541
+ )
542
+ psc_connection_status: "PscConnectionStatus" = proto.Field(
543
+ proto.ENUM,
544
+ number=7,
545
+ enum="PscConnectionStatus",
546
+ )
547
+ connection_type: "ConnectionType" = proto.Field(
548
+ proto.ENUM,
549
+ number=8,
550
+ enum="ConnectionType",
551
+ )
552
+
553
+
554
+ class PscConnection(proto.Message):
555
+ r"""User created Psc connection configuration.
556
+
557
+ Attributes:
558
+ psc_connection_id (str):
559
+ Output only. The PSC connection id of the
560
+ forwarding rule connected to the service
561
+ attachment.
562
+ ip_address (str):
563
+ Required. The IP allocated on the consumer
564
+ network for the PSC forwarding rule.
565
+ forwarding_rule (str):
566
+ Required. The URI of the consumer side forwarding rule.
567
+ Format:
568
+ projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}
569
+ project_id (str):
570
+ Output only. The consumer project_id where the forwarding
571
+ rule is created from.
572
+ network (str):
573
+ Required. The consumer network where the IP address resides,
574
+ in the form of
575
+ projects/{project_id}/global/networks/{network_id}.
576
+ service_attachment (str):
577
+ Required. The service attachment which is the
578
+ target of the PSC connection, in the form of
579
+ projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.
580
+ psc_connection_status (google.cloud.memorystore_v1.types.PscConnectionStatus):
581
+ Output only. The status of the PSC
582
+ connection: whether a connection exists and
583
+ ACTIVE or it no longer exists. Please note that
584
+ this value is updated periodically. Please use
585
+ Private Service Connect APIs for the latest
586
+ status.
587
+ connection_type (google.cloud.memorystore_v1.types.ConnectionType):
588
+ Output only. Type of the PSC connection.
589
+ """
590
+
591
+ psc_connection_id: str = proto.Field(
592
+ proto.STRING,
593
+ number=1,
594
+ )
595
+ ip_address: str = proto.Field(
596
+ proto.STRING,
597
+ number=2,
598
+ )
599
+ forwarding_rule: str = proto.Field(
600
+ proto.STRING,
601
+ number=3,
602
+ )
603
+ project_id: str = proto.Field(
604
+ proto.STRING,
605
+ number=4,
606
+ )
607
+ network: str = proto.Field(
608
+ proto.STRING,
609
+ number=5,
610
+ )
611
+ service_attachment: str = proto.Field(
612
+ proto.STRING,
613
+ number=6,
614
+ )
615
+ psc_connection_status: "PscConnectionStatus" = proto.Field(
616
+ proto.ENUM,
617
+ number=7,
618
+ enum="PscConnectionStatus",
619
+ )
620
+ connection_type: "ConnectionType" = proto.Field(
621
+ proto.ENUM,
622
+ number=8,
623
+ enum="ConnectionType",
624
+ )
625
+
626
+
627
+ class DiscoveryEndpoint(proto.Message):
628
+ r"""Represents an endpoint for clients to connect to the
629
+ instance.
630
+
631
+ Attributes:
632
+ address (str):
633
+ Output only. IP address of the exposed
634
+ endpoint clients connect to.
635
+ port (int):
636
+ Output only. The port number of the exposed
637
+ endpoint.
638
+ network (str):
639
+ Output only. The network where the IP address of the
640
+ discovery endpoint will be reserved, in the form of
641
+ projects/{network_project}/global/networks/{network_id}.
642
+ """
643
+
644
+ address: str = proto.Field(
645
+ proto.STRING,
646
+ number=1,
647
+ )
648
+ port: int = proto.Field(
649
+ proto.INT32,
650
+ number=2,
651
+ )
652
+ network: str = proto.Field(
653
+ proto.STRING,
654
+ number=4,
655
+ )
656
+
657
+
658
+ class PersistenceConfig(proto.Message):
659
+ r"""Represents persistence configuration for a instance.
660
+
661
+ Attributes:
662
+ mode (google.cloud.memorystore_v1.types.PersistenceConfig.PersistenceMode):
663
+ Optional. Current persistence mode.
664
+ rdb_config (google.cloud.memorystore_v1.types.PersistenceConfig.RDBConfig):
665
+ Optional. RDB configuration. This field will
666
+ be ignored if mode is not RDB.
667
+ aof_config (google.cloud.memorystore_v1.types.PersistenceConfig.AOFConfig):
668
+ Optional. AOF configuration. This field will
669
+ be ignored if mode is not AOF.
670
+ """
671
+
672
+ class PersistenceMode(proto.Enum):
673
+ r"""Possible persistence modes.
674
+
675
+ Values:
676
+ PERSISTENCE_MODE_UNSPECIFIED (0):
677
+ Not set.
678
+ DISABLED (1):
679
+ Persistence is disabled, and any snapshot
680
+ data is deleted.
681
+ RDB (2):
682
+ RDB based persistence is enabled.
683
+ AOF (3):
684
+ AOF based persistence is enabled.
685
+ """
686
+ PERSISTENCE_MODE_UNSPECIFIED = 0
687
+ DISABLED = 1
688
+ RDB = 2
689
+ AOF = 3
690
+
691
+ class RDBConfig(proto.Message):
692
+ r"""Configuration for RDB based persistence.
693
+
694
+ Attributes:
695
+ rdb_snapshot_period (google.cloud.memorystore_v1.types.PersistenceConfig.RDBConfig.SnapshotPeriod):
696
+ Optional. Period between RDB snapshots.
697
+ rdb_snapshot_start_time (google.protobuf.timestamp_pb2.Timestamp):
698
+ Optional. Time that the first snapshot
699
+ was/will be attempted, and to which future
700
+ snapshots will be aligned. If not provided, the
701
+ current time will be used.
702
+ """
703
+
704
+ class SnapshotPeriod(proto.Enum):
705
+ r"""Possible snapshot periods.
706
+
707
+ Values:
708
+ SNAPSHOT_PERIOD_UNSPECIFIED (0):
709
+ Not set.
710
+ ONE_HOUR (1):
711
+ One hour.
712
+ SIX_HOURS (2):
713
+ Six hours.
714
+ TWELVE_HOURS (3):
715
+ Twelve hours.
716
+ TWENTY_FOUR_HOURS (4):
717
+ Twenty four hours.
718
+ """
719
+ SNAPSHOT_PERIOD_UNSPECIFIED = 0
720
+ ONE_HOUR = 1
721
+ SIX_HOURS = 2
722
+ TWELVE_HOURS = 3
723
+ TWENTY_FOUR_HOURS = 4
724
+
725
+ rdb_snapshot_period: "PersistenceConfig.RDBConfig.SnapshotPeriod" = proto.Field(
726
+ proto.ENUM,
727
+ number=1,
728
+ enum="PersistenceConfig.RDBConfig.SnapshotPeriod",
729
+ )
730
+ rdb_snapshot_start_time: timestamp_pb2.Timestamp = proto.Field(
731
+ proto.MESSAGE,
732
+ number=2,
733
+ message=timestamp_pb2.Timestamp,
734
+ )
735
+
736
+ class AOFConfig(proto.Message):
737
+ r"""Configuration for AOF based persistence.
738
+
739
+ Attributes:
740
+ append_fsync (google.cloud.memorystore_v1.types.PersistenceConfig.AOFConfig.AppendFsync):
741
+ Optional. The fsync mode.
742
+ """
743
+
744
+ class AppendFsync(proto.Enum):
745
+ r"""Possible fsync modes.
746
+
747
+ Values:
748
+ APPEND_FSYNC_UNSPECIFIED (0):
749
+ Not set. Default: EVERY_SEC
750
+ NEVER (1):
751
+ Never fsync. Normally Linux will flush data
752
+ every 30 seconds with this configuration, but
753
+ it's up to the kernel's exact tuning.
754
+ EVERY_SEC (2):
755
+ Fsync every second. You may lose 1 second of
756
+ data if there is a disaster.
757
+ ALWAYS (3):
758
+ Fsync every time new write commands are
759
+ appended to the AOF. The best data loss
760
+ protection at the cost of performance.
761
+ """
762
+ APPEND_FSYNC_UNSPECIFIED = 0
763
+ NEVER = 1
764
+ EVERY_SEC = 2
765
+ ALWAYS = 3
766
+
767
+ append_fsync: "PersistenceConfig.AOFConfig.AppendFsync" = proto.Field(
768
+ proto.ENUM,
769
+ number=1,
770
+ enum="PersistenceConfig.AOFConfig.AppendFsync",
771
+ )
772
+
773
+ mode: PersistenceMode = proto.Field(
774
+ proto.ENUM,
775
+ number=1,
776
+ enum=PersistenceMode,
777
+ )
778
+ rdb_config: RDBConfig = proto.Field(
779
+ proto.MESSAGE,
780
+ number=2,
781
+ message=RDBConfig,
782
+ )
783
+ aof_config: AOFConfig = proto.Field(
784
+ proto.MESSAGE,
785
+ number=3,
786
+ message=AOFConfig,
787
+ )
788
+
789
+
790
+ class NodeConfig(proto.Message):
791
+ r"""Represents configuration for nodes of the instance.
792
+
793
+ Attributes:
794
+ size_gb (float):
795
+ Output only. Memory size in GB of the node.
796
+ """
797
+
798
+ size_gb: float = proto.Field(
799
+ proto.DOUBLE,
800
+ number=1,
801
+ )
802
+
803
+
804
+ class ZoneDistributionConfig(proto.Message):
805
+ r"""Zone distribution configuration for allocation of instance
806
+ resources.
807
+
808
+ Attributes:
809
+ zone (str):
810
+ Optional. Defines zone where all resources will be allocated
811
+ with SINGLE_ZONE mode. Ignored for MULTI_ZONE mode.
812
+ mode (google.cloud.memorystore_v1.types.ZoneDistributionConfig.ZoneDistributionMode):
813
+ Optional. Current zone distribution mode. Defaults to
814
+ MULTI_ZONE.
815
+ """
816
+
817
+ class ZoneDistributionMode(proto.Enum):
818
+ r"""Possible zone distribution modes.
819
+
820
+ Values:
821
+ ZONE_DISTRIBUTION_MODE_UNSPECIFIED (0):
822
+ Not Set. Default: MULTI_ZONE
823
+ MULTI_ZONE (1):
824
+ Distribute resources across 3 zones picked at
825
+ random within the region.
826
+ SINGLE_ZONE (2):
827
+ Provision resources in a single zone. Zone
828
+ field must be specified.
829
+ """
830
+ ZONE_DISTRIBUTION_MODE_UNSPECIFIED = 0
831
+ MULTI_ZONE = 1
832
+ SINGLE_ZONE = 2
833
+
834
+ zone: str = proto.Field(
835
+ proto.STRING,
836
+ number=2,
837
+ )
838
+ mode: ZoneDistributionMode = proto.Field(
839
+ proto.ENUM,
840
+ number=1,
841
+ enum=ZoneDistributionMode,
842
+ )
843
+
844
+
845
+ class ListInstancesRequest(proto.Message):
846
+ r"""Request message for [ListInstances][].
847
+
848
+ Attributes:
849
+ parent (str):
850
+ Required. The parent to list instances from.
851
+ Format: projects/{project}/locations/{location}
852
+ page_size (int):
853
+ Optional. Requested page size. Server may
854
+ return fewer items than requested. If
855
+ unspecified, server will pick an appropriate
856
+ default.
857
+ page_token (str):
858
+ Optional. A token identifying a page of
859
+ results the server should return.
860
+ filter (str):
861
+ Optional. Expression for filtering results.
862
+ order_by (str):
863
+ Optional. Sort results by a defined order. Supported values:
864
+ "name", "create_time".
865
+ """
866
+
867
+ parent: str = proto.Field(
868
+ proto.STRING,
869
+ number=1,
870
+ )
871
+ page_size: int = proto.Field(
872
+ proto.INT32,
873
+ number=2,
874
+ )
875
+ page_token: str = proto.Field(
876
+ proto.STRING,
877
+ number=3,
878
+ )
879
+ filter: str = proto.Field(
880
+ proto.STRING,
881
+ number=4,
882
+ )
883
+ order_by: str = proto.Field(
884
+ proto.STRING,
885
+ number=5,
886
+ )
887
+
888
+
889
+ class ListInstancesResponse(proto.Message):
890
+ r"""Response message for [ListInstances][].
891
+
892
+ Attributes:
893
+ instances (MutableSequence[google.cloud.memorystore_v1.types.Instance]):
894
+ If the {location} requested was "-" the
895
+ response contains a list of instances from all
896
+ locations. Instances in unreachable locations
897
+ will be omitted.
898
+ next_page_token (str):
899
+ A token, which can be sent as ``page_token`` to retrieve the
900
+ next page. If this field is omitted, there are no subsequent
901
+ pages.
902
+ unreachable (MutableSequence[str]):
903
+ Locations that could not be reached.
904
+ """
905
+
906
+ @property
907
+ def raw_page(self):
908
+ return self
909
+
910
+ instances: MutableSequence["Instance"] = proto.RepeatedField(
911
+ proto.MESSAGE,
912
+ number=1,
913
+ message="Instance",
914
+ )
915
+ next_page_token: str = proto.Field(
916
+ proto.STRING,
917
+ number=2,
918
+ )
919
+ unreachable: MutableSequence[str] = proto.RepeatedField(
920
+ proto.STRING,
921
+ number=3,
922
+ )
923
+
924
+
925
+ class GetInstanceRequest(proto.Message):
926
+ r"""Request message for [GetInstance][].
927
+
928
+ Attributes:
929
+ name (str):
930
+ Required. The name of the instance to
931
+ retrieve. Format:
932
+ projects/{project}/locations/{location}/instances/{instance}
933
+ """
934
+
935
+ name: str = proto.Field(
936
+ proto.STRING,
937
+ number=1,
938
+ )
939
+
940
+
941
+ class CreateInstanceRequest(proto.Message):
942
+ r"""Request message for [CreateInstance][].
943
+
944
+ Attributes:
945
+ parent (str):
946
+ Required. The parent resource where this
947
+ instance will be created. Format:
948
+ projects/{project}/locations/{location}
949
+ instance_id (str):
950
+ Required. The ID to use for the instance, which will become
951
+ the final component of the instance's resource name.
952
+
953
+ This value is subject to the following restrictions:
954
+
955
+ - Must be 4-63 characters in length
956
+ - Must begin with a letter or digit
957
+ - Must contain only lowercase letters, digits, and hyphens
958
+ - Must not end with a hyphen
959
+ - Must be unique within a location
960
+ instance (google.cloud.memorystore_v1.types.Instance):
961
+ Required. The instance to create.
962
+ request_id (str):
963
+ Optional. An optional request ID to identify
964
+ requests. Specify a unique request ID so that if
965
+ you must retry your request, the server will
966
+ know to ignore the request if it has already
967
+ been completed. The server will guarantee that
968
+ for at least 60 minutes since the first request.
969
+
970
+ For example, consider a situation where you make
971
+ an initial request and the request times out. If
972
+ you make the request again with the same request
973
+ ID, the server can check if original operation
974
+ with the same request ID was received, and if
975
+ so, will ignore the second request. This
976
+ prevents clients from accidentally creating
977
+ duplicate commitments.
978
+
979
+ The request ID must be a valid UUID with the
980
+ exception that zero UUID is not supported
981
+ (00000000-0000-0000-0000-000000000000).
982
+ """
983
+
984
+ parent: str = proto.Field(
985
+ proto.STRING,
986
+ number=1,
987
+ )
988
+ instance_id: str = proto.Field(
989
+ proto.STRING,
990
+ number=2,
991
+ )
992
+ instance: "Instance" = proto.Field(
993
+ proto.MESSAGE,
994
+ number=3,
995
+ message="Instance",
996
+ )
997
+ request_id: str = proto.Field(
998
+ proto.STRING,
999
+ number=4,
1000
+ )
1001
+
1002
+
1003
+ class UpdateInstanceRequest(proto.Message):
1004
+ r"""Request message for [UpdateInstance][].
1005
+
1006
+ Attributes:
1007
+ update_mask (google.protobuf.field_mask_pb2.FieldMask):
1008
+ Optional. The list of fields to be updated on
1009
+ the instance. At least one field must be
1010
+ specified.
1011
+ instance (google.cloud.memorystore_v1.types.Instance):
1012
+ Required. The instance to update.
1013
+ request_id (str):
1014
+ Optional. An optional request ID to identify
1015
+ requests. Specify a unique request ID so that if
1016
+ you must retry your request, the server will
1017
+ know to ignore the request if it has already
1018
+ been completed. The server will guarantee that
1019
+ for at least 60 minutes since the first request.
1020
+
1021
+ For example, consider a situation where you make
1022
+ an initial request and the request times out. If
1023
+ you make the request again with the same request
1024
+ ID, the server can check if original operation
1025
+ with the same request ID was received, and if
1026
+ so, will ignore the second request. This
1027
+ prevents clients from accidentally creating
1028
+ duplicate commitments.
1029
+
1030
+ The request ID must be a valid UUID with the
1031
+ exception that zero UUID is not supported
1032
+ (00000000-0000-0000-0000-000000000000).
1033
+ """
1034
+
1035
+ update_mask: field_mask_pb2.FieldMask = proto.Field(
1036
+ proto.MESSAGE,
1037
+ number=1,
1038
+ message=field_mask_pb2.FieldMask,
1039
+ )
1040
+ instance: "Instance" = proto.Field(
1041
+ proto.MESSAGE,
1042
+ number=2,
1043
+ message="Instance",
1044
+ )
1045
+ request_id: str = proto.Field(
1046
+ proto.STRING,
1047
+ number=3,
1048
+ )
1049
+
1050
+
1051
+ class DeleteInstanceRequest(proto.Message):
1052
+ r"""Request message for [DeleteInstance][].
1053
+
1054
+ Attributes:
1055
+ name (str):
1056
+ Required. The name of the instance to delete.
1057
+ Format:
1058
+ projects/{project}/locations/{location}/instances/{instance}
1059
+ request_id (str):
1060
+ Optional. An optional request ID to identify
1061
+ requests. Specify a unique request ID so that if
1062
+ you must retry your request, the server will
1063
+ know to ignore the request if it has already
1064
+ been completed. The server will guarantee that
1065
+ for at least 60 minutes after the first request.
1066
+
1067
+ For example, consider a situation where you make
1068
+ an initial request and the request times out. If
1069
+ you make the request again with the same request
1070
+ ID, the server can check if original operation
1071
+ with the same request ID was received, and if
1072
+ so, will ignore the second request. This
1073
+ prevents clients from accidentally creating
1074
+ duplicate commitments.
1075
+
1076
+ The request ID must be a valid UUID with the
1077
+ exception that zero UUID is not supported
1078
+ (00000000-0000-0000-0000-000000000000).
1079
+ """
1080
+
1081
+ name: str = proto.Field(
1082
+ proto.STRING,
1083
+ number=1,
1084
+ )
1085
+ request_id: str = proto.Field(
1086
+ proto.STRING,
1087
+ number=2,
1088
+ )
1089
+
1090
+
1091
+ class GetCertificateAuthorityRequest(proto.Message):
1092
+ r"""Request message for [GetCertificateAuthority][].
1093
+
1094
+ Attributes:
1095
+ name (str):
1096
+ Required. The name of the certificate
1097
+ authority. Format:
1098
+
1099
+ projects/{project}/locations/{location}/instances/{instance}/certificateAuthority
1100
+ """
1101
+
1102
+ name: str = proto.Field(
1103
+ proto.STRING,
1104
+ number=1,
1105
+ )
1106
+
1107
+
1108
+ class CertificateAuthority(proto.Message):
1109
+ r"""A certificate authority for an instance.
1110
+
1111
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
1112
+
1113
+ Attributes:
1114
+ managed_server_ca (google.cloud.memorystore_v1.types.CertificateAuthority.ManagedCertificateAuthority):
1115
+ A managed server certificate authority.
1116
+
1117
+ This field is a member of `oneof`_ ``server_ca``.
1118
+ name (str):
1119
+ Identifier. Unique name of the certificate
1120
+ authority. Format:
1121
+
1122
+ projects/{project}/locations/{location}/instances/{instance}
1123
+ """
1124
+
1125
+ class ManagedCertificateAuthority(proto.Message):
1126
+ r"""A managed certificate authority.
1127
+
1128
+ Attributes:
1129
+ ca_certs (MutableSequence[google.cloud.memorystore_v1.types.CertificateAuthority.ManagedCertificateAuthority.CertChain]):
1130
+ PEM encoded CA certificate chains for managed
1131
+ server authentication.
1132
+ """
1133
+
1134
+ class CertChain(proto.Message):
1135
+ r"""A certificate chain.
1136
+
1137
+ Attributes:
1138
+ certificates (MutableSequence[str]):
1139
+ The certificates that form the CA chain in
1140
+ order of leaf to root.
1141
+ """
1142
+
1143
+ certificates: MutableSequence[str] = proto.RepeatedField(
1144
+ proto.STRING,
1145
+ number=1,
1146
+ )
1147
+
1148
+ ca_certs: MutableSequence[
1149
+ "CertificateAuthority.ManagedCertificateAuthority.CertChain"
1150
+ ] = proto.RepeatedField(
1151
+ proto.MESSAGE,
1152
+ number=1,
1153
+ message="CertificateAuthority.ManagedCertificateAuthority.CertChain",
1154
+ )
1155
+
1156
+ managed_server_ca: ManagedCertificateAuthority = proto.Field(
1157
+ proto.MESSAGE,
1158
+ number=2,
1159
+ oneof="server_ca",
1160
+ message=ManagedCertificateAuthority,
1161
+ )
1162
+ name: str = proto.Field(
1163
+ proto.STRING,
1164
+ number=1,
1165
+ )
1166
+
1167
+
1168
+ class OperationMetadata(proto.Message):
1169
+ r"""Represents the metadata of a long-running operation.
1170
+
1171
+ Attributes:
1172
+ create_time (google.protobuf.timestamp_pb2.Timestamp):
1173
+ Output only. The time the operation was
1174
+ created.
1175
+ end_time (google.protobuf.timestamp_pb2.Timestamp):
1176
+ Output only. The time the operation finished
1177
+ running.
1178
+ target (str):
1179
+ Output only. Server-defined resource path for
1180
+ the target of the operation.
1181
+ verb (str):
1182
+ Output only. Name of the verb executed by the
1183
+ operation.
1184
+ status_message (str):
1185
+ Output only. Human-readable status of the
1186
+ operation, if any.
1187
+ requested_cancellation (bool):
1188
+ Output only. Identifies whether the user has requested
1189
+ cancellation of the operation. Operations that have been
1190
+ cancelled successfully have [Operation.error][] value with a
1191
+ [google.rpc.Status.code][google.rpc.Status.code] of 1,
1192
+ corresponding to ``Code.CANCELLED``.
1193
+ api_version (str):
1194
+ Output only. API version used to start the
1195
+ operation.
1196
+ """
1197
+
1198
+ create_time: timestamp_pb2.Timestamp = proto.Field(
1199
+ proto.MESSAGE,
1200
+ number=1,
1201
+ message=timestamp_pb2.Timestamp,
1202
+ )
1203
+ end_time: timestamp_pb2.Timestamp = proto.Field(
1204
+ proto.MESSAGE,
1205
+ number=2,
1206
+ message=timestamp_pb2.Timestamp,
1207
+ )
1208
+ target: str = proto.Field(
1209
+ proto.STRING,
1210
+ number=3,
1211
+ )
1212
+ verb: str = proto.Field(
1213
+ proto.STRING,
1214
+ number=4,
1215
+ )
1216
+ status_message: str = proto.Field(
1217
+ proto.STRING,
1218
+ number=5,
1219
+ )
1220
+ requested_cancellation: bool = proto.Field(
1221
+ proto.BOOL,
1222
+ number=6,
1223
+ )
1224
+ api_version: str = proto.Field(
1225
+ proto.STRING,
1226
+ number=7,
1227
+ )
1228
+
1229
+
1230
+ __all__ = tuple(sorted(__protobuf__.manifest))