pulumi-gcp 8.21.0a1740810968__py3-none-any.whl → 8.21.0a1741103856__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 (50) hide show
  1. pulumi_gcp/__init__.py +16 -0
  2. pulumi_gcp/alloydb/__init__.py +1 -0
  3. pulumi_gcp/alloydb/get_cluster.py +491 -0
  4. pulumi_gcp/alloydb/outputs.py +808 -0
  5. pulumi_gcp/appengine/_inputs.py +3 -3
  6. pulumi_gcp/appengine/outputs.py +2 -2
  7. pulumi_gcp/backupdisasterrecovery/backup_plan.py +16 -0
  8. pulumi_gcp/backupdisasterrecovery/backup_plan_association.py +16 -0
  9. pulumi_gcp/backupdisasterrecovery/management_server.py +16 -0
  10. pulumi_gcp/bigquery/_inputs.py +6 -8
  11. pulumi_gcp/bigquery/data_transfer_config.py +28 -0
  12. pulumi_gcp/bigquery/outputs.py +4 -5
  13. pulumi_gcp/chronicle/rule_deployment.py +21 -7
  14. pulumi_gcp/composer/get_environment.py +12 -0
  15. pulumi_gcp/composer/get_image_versions.py +12 -0
  16. pulumi_gcp/composer/get_user_workloads_config_map.py +12 -0
  17. pulumi_gcp/composer/get_user_workloads_secret.py +12 -0
  18. pulumi_gcp/compute/network_peering_routes_config.py +140 -6
  19. pulumi_gcp/datacatalog/entry_group.py +4 -0
  20. pulumi_gcp/datacatalog/tag_template.py +4 -0
  21. pulumi_gcp/developerconnect/_inputs.py +575 -0
  22. pulumi_gcp/developerconnect/connection.py +200 -0
  23. pulumi_gcp/developerconnect/git_repository_link.py +12 -0
  24. pulumi_gcp/developerconnect/outputs.py +461 -0
  25. pulumi_gcp/gemini/__init__.py +1 -0
  26. pulumi_gcp/gemini/data_sharing_with_google_setting.py +6 -0
  27. pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +722 -0
  28. pulumi_gcp/gemini/logging_setting.py +4 -0
  29. pulumi_gcp/gemini/logging_setting_binding.py +12 -0
  30. pulumi_gcp/iam/organizations_policy_binding.py +10 -2
  31. pulumi_gcp/iam/projects_policy_binding.py +10 -2
  32. pulumi_gcp/iam/workforce_pool_provider.py +63 -11
  33. pulumi_gcp/parametermanager/get_parameter_version_render.py +3 -0
  34. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +3 -0
  35. pulumi_gcp/projects/__init__.py +1 -0
  36. pulumi_gcp/projects/get_ancestry.py +150 -0
  37. pulumi_gcp/projects/outputs.py +30 -0
  38. pulumi_gcp/pulumi-plugin.json +1 -1
  39. pulumi_gcp/redis/cluster.py +211 -94
  40. pulumi_gcp/secretmanager/secret_version.py +73 -23
  41. pulumi_gcp/spanner/__init__.py +1 -0
  42. pulumi_gcp/spanner/instance_partition.py +658 -0
  43. pulumi_gcp/sql/user.py +20 -14
  44. pulumi_gcp/tpu/_inputs.py +150 -1
  45. pulumi_gcp/tpu/outputs.py +114 -1
  46. pulumi_gcp/tpu/v2_queued_resource.py +74 -0
  47. {pulumi_gcp-8.21.0a1740810968.dist-info → pulumi_gcp-8.21.0a1741103856.dist-info}/METADATA +1 -1
  48. {pulumi_gcp-8.21.0a1740810968.dist-info → pulumi_gcp-8.21.0a1741103856.dist-info}/RECORD +50 -46
  49. {pulumi_gcp-8.21.0a1740810968.dist-info → pulumi_gcp-8.21.0a1741103856.dist-info}/WHEEL +0 -0
  50. {pulumi_gcp-8.21.0a1740810968.dist-info → pulumi_gcp-8.21.0a1741103856.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,658 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = ['InstancePartitionArgs', 'InstancePartition']
18
+
19
+ @pulumi.input_type
20
+ class InstancePartitionArgs:
21
+ def __init__(__self__, *,
22
+ config: pulumi.Input[str],
23
+ display_name: pulumi.Input[str],
24
+ instance: pulumi.Input[str],
25
+ name: Optional[pulumi.Input[str]] = None,
26
+ node_count: Optional[pulumi.Input[int]] = None,
27
+ processing_units: Optional[pulumi.Input[int]] = None,
28
+ project: Optional[pulumi.Input[str]] = None):
29
+ """
30
+ The set of arguments for constructing a InstancePartition resource.
31
+ :param pulumi.Input[str] config: The name of the instance partition's configuration (similar to a region) which
32
+ defines the geographic placement and replication of data in this instance partition.
33
+ :param pulumi.Input[str] display_name: The descriptive name for this instance partition as it appears in UIs.
34
+ Must be unique per project and between 4 and 30 characters in length.
35
+ :param pulumi.Input[str] instance: The instance to create the instance partition in.
36
+
37
+
38
+ - - -
39
+ :param pulumi.Input[str] name: A unique identifier for the instance partition, which cannot be changed after
40
+ the instance partition is created. The name must be between 2 and 64 characters
41
+ and match the regular expression [a-z][a-z0-9\\\\-]{0,61}[a-z0-9].
42
+ :param pulumi.Input[int] node_count: The number of nodes allocated to this instance partition. One node equals
43
+ 1000 processing units. Exactly one of either node_count or processing_units
44
+ must be present.
45
+ :param pulumi.Input[int] processing_units: The number of processing units allocated to this instance partition.
46
+ Exactly one of either node_count or processing_units must be present.
47
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
48
+ If it is not provided, the provider project is used.
49
+ """
50
+ pulumi.set(__self__, "config", config)
51
+ pulumi.set(__self__, "display_name", display_name)
52
+ pulumi.set(__self__, "instance", instance)
53
+ if name is not None:
54
+ pulumi.set(__self__, "name", name)
55
+ if node_count is not None:
56
+ pulumi.set(__self__, "node_count", node_count)
57
+ if processing_units is not None:
58
+ pulumi.set(__self__, "processing_units", processing_units)
59
+ if project is not None:
60
+ pulumi.set(__self__, "project", project)
61
+
62
+ @property
63
+ @pulumi.getter
64
+ def config(self) -> pulumi.Input[str]:
65
+ """
66
+ The name of the instance partition's configuration (similar to a region) which
67
+ defines the geographic placement and replication of data in this instance partition.
68
+ """
69
+ return pulumi.get(self, "config")
70
+
71
+ @config.setter
72
+ def config(self, value: pulumi.Input[str]):
73
+ pulumi.set(self, "config", value)
74
+
75
+ @property
76
+ @pulumi.getter(name="displayName")
77
+ def display_name(self) -> pulumi.Input[str]:
78
+ """
79
+ The descriptive name for this instance partition as it appears in UIs.
80
+ Must be unique per project and between 4 and 30 characters in length.
81
+ """
82
+ return pulumi.get(self, "display_name")
83
+
84
+ @display_name.setter
85
+ def display_name(self, value: pulumi.Input[str]):
86
+ pulumi.set(self, "display_name", value)
87
+
88
+ @property
89
+ @pulumi.getter
90
+ def instance(self) -> pulumi.Input[str]:
91
+ """
92
+ The instance to create the instance partition in.
93
+
94
+
95
+ - - -
96
+ """
97
+ return pulumi.get(self, "instance")
98
+
99
+ @instance.setter
100
+ def instance(self, value: pulumi.Input[str]):
101
+ pulumi.set(self, "instance", value)
102
+
103
+ @property
104
+ @pulumi.getter
105
+ def name(self) -> Optional[pulumi.Input[str]]:
106
+ """
107
+ A unique identifier for the instance partition, which cannot be changed after
108
+ the instance partition is created. The name must be between 2 and 64 characters
109
+ and match the regular expression [a-z][a-z0-9\\\\-]{0,61}[a-z0-9].
110
+ """
111
+ return pulumi.get(self, "name")
112
+
113
+ @name.setter
114
+ def name(self, value: Optional[pulumi.Input[str]]):
115
+ pulumi.set(self, "name", value)
116
+
117
+ @property
118
+ @pulumi.getter(name="nodeCount")
119
+ def node_count(self) -> Optional[pulumi.Input[int]]:
120
+ """
121
+ The number of nodes allocated to this instance partition. One node equals
122
+ 1000 processing units. Exactly one of either node_count or processing_units
123
+ must be present.
124
+ """
125
+ return pulumi.get(self, "node_count")
126
+
127
+ @node_count.setter
128
+ def node_count(self, value: Optional[pulumi.Input[int]]):
129
+ pulumi.set(self, "node_count", value)
130
+
131
+ @property
132
+ @pulumi.getter(name="processingUnits")
133
+ def processing_units(self) -> Optional[pulumi.Input[int]]:
134
+ """
135
+ The number of processing units allocated to this instance partition.
136
+ Exactly one of either node_count or processing_units must be present.
137
+ """
138
+ return pulumi.get(self, "processing_units")
139
+
140
+ @processing_units.setter
141
+ def processing_units(self, value: Optional[pulumi.Input[int]]):
142
+ pulumi.set(self, "processing_units", value)
143
+
144
+ @property
145
+ @pulumi.getter
146
+ def project(self) -> Optional[pulumi.Input[str]]:
147
+ """
148
+ The ID of the project in which the resource belongs.
149
+ If it is not provided, the provider project is used.
150
+ """
151
+ return pulumi.get(self, "project")
152
+
153
+ @project.setter
154
+ def project(self, value: Optional[pulumi.Input[str]]):
155
+ pulumi.set(self, "project", value)
156
+
157
+
158
+ @pulumi.input_type
159
+ class _InstancePartitionState:
160
+ def __init__(__self__, *,
161
+ config: Optional[pulumi.Input[str]] = None,
162
+ display_name: Optional[pulumi.Input[str]] = None,
163
+ instance: Optional[pulumi.Input[str]] = None,
164
+ name: Optional[pulumi.Input[str]] = None,
165
+ node_count: Optional[pulumi.Input[int]] = None,
166
+ processing_units: Optional[pulumi.Input[int]] = None,
167
+ project: Optional[pulumi.Input[str]] = None,
168
+ state: Optional[pulumi.Input[str]] = None):
169
+ """
170
+ Input properties used for looking up and filtering InstancePartition resources.
171
+ :param pulumi.Input[str] config: The name of the instance partition's configuration (similar to a region) which
172
+ defines the geographic placement and replication of data in this instance partition.
173
+ :param pulumi.Input[str] display_name: The descriptive name for this instance partition as it appears in UIs.
174
+ Must be unique per project and between 4 and 30 characters in length.
175
+ :param pulumi.Input[str] instance: The instance to create the instance partition in.
176
+
177
+
178
+ - - -
179
+ :param pulumi.Input[str] name: A unique identifier for the instance partition, which cannot be changed after
180
+ the instance partition is created. The name must be between 2 and 64 characters
181
+ and match the regular expression [a-z][a-z0-9\\\\-]{0,61}[a-z0-9].
182
+ :param pulumi.Input[int] node_count: The number of nodes allocated to this instance partition. One node equals
183
+ 1000 processing units. Exactly one of either node_count or processing_units
184
+ must be present.
185
+ :param pulumi.Input[int] processing_units: The number of processing units allocated to this instance partition.
186
+ Exactly one of either node_count or processing_units must be present.
187
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
188
+ If it is not provided, the provider project is used.
189
+ :param pulumi.Input[str] state: The current instance partition state. Possible values are:
190
+ CREATING: The instance partition is being created. Resources are being
191
+ allocated for the instance partition.
192
+ READY: The instance partition has been allocated resources and is ready for use.
193
+ """
194
+ if config is not None:
195
+ pulumi.set(__self__, "config", config)
196
+ if display_name is not None:
197
+ pulumi.set(__self__, "display_name", display_name)
198
+ if instance is not None:
199
+ pulumi.set(__self__, "instance", instance)
200
+ if name is not None:
201
+ pulumi.set(__self__, "name", name)
202
+ if node_count is not None:
203
+ pulumi.set(__self__, "node_count", node_count)
204
+ if processing_units is not None:
205
+ pulumi.set(__self__, "processing_units", processing_units)
206
+ if project is not None:
207
+ pulumi.set(__self__, "project", project)
208
+ if state is not None:
209
+ pulumi.set(__self__, "state", state)
210
+
211
+ @property
212
+ @pulumi.getter
213
+ def config(self) -> Optional[pulumi.Input[str]]:
214
+ """
215
+ The name of the instance partition's configuration (similar to a region) which
216
+ defines the geographic placement and replication of data in this instance partition.
217
+ """
218
+ return pulumi.get(self, "config")
219
+
220
+ @config.setter
221
+ def config(self, value: Optional[pulumi.Input[str]]):
222
+ pulumi.set(self, "config", value)
223
+
224
+ @property
225
+ @pulumi.getter(name="displayName")
226
+ def display_name(self) -> Optional[pulumi.Input[str]]:
227
+ """
228
+ The descriptive name for this instance partition as it appears in UIs.
229
+ Must be unique per project and between 4 and 30 characters in length.
230
+ """
231
+ return pulumi.get(self, "display_name")
232
+
233
+ @display_name.setter
234
+ def display_name(self, value: Optional[pulumi.Input[str]]):
235
+ pulumi.set(self, "display_name", value)
236
+
237
+ @property
238
+ @pulumi.getter
239
+ def instance(self) -> Optional[pulumi.Input[str]]:
240
+ """
241
+ The instance to create the instance partition in.
242
+
243
+
244
+ - - -
245
+ """
246
+ return pulumi.get(self, "instance")
247
+
248
+ @instance.setter
249
+ def instance(self, value: Optional[pulumi.Input[str]]):
250
+ pulumi.set(self, "instance", value)
251
+
252
+ @property
253
+ @pulumi.getter
254
+ def name(self) -> Optional[pulumi.Input[str]]:
255
+ """
256
+ A unique identifier for the instance partition, which cannot be changed after
257
+ the instance partition is created. The name must be between 2 and 64 characters
258
+ and match the regular expression [a-z][a-z0-9\\\\-]{0,61}[a-z0-9].
259
+ """
260
+ return pulumi.get(self, "name")
261
+
262
+ @name.setter
263
+ def name(self, value: Optional[pulumi.Input[str]]):
264
+ pulumi.set(self, "name", value)
265
+
266
+ @property
267
+ @pulumi.getter(name="nodeCount")
268
+ def node_count(self) -> Optional[pulumi.Input[int]]:
269
+ """
270
+ The number of nodes allocated to this instance partition. One node equals
271
+ 1000 processing units. Exactly one of either node_count or processing_units
272
+ must be present.
273
+ """
274
+ return pulumi.get(self, "node_count")
275
+
276
+ @node_count.setter
277
+ def node_count(self, value: Optional[pulumi.Input[int]]):
278
+ pulumi.set(self, "node_count", value)
279
+
280
+ @property
281
+ @pulumi.getter(name="processingUnits")
282
+ def processing_units(self) -> Optional[pulumi.Input[int]]:
283
+ """
284
+ The number of processing units allocated to this instance partition.
285
+ Exactly one of either node_count or processing_units must be present.
286
+ """
287
+ return pulumi.get(self, "processing_units")
288
+
289
+ @processing_units.setter
290
+ def processing_units(self, value: Optional[pulumi.Input[int]]):
291
+ pulumi.set(self, "processing_units", value)
292
+
293
+ @property
294
+ @pulumi.getter
295
+ def project(self) -> Optional[pulumi.Input[str]]:
296
+ """
297
+ The ID of the project in which the resource belongs.
298
+ If it is not provided, the provider project is used.
299
+ """
300
+ return pulumi.get(self, "project")
301
+
302
+ @project.setter
303
+ def project(self, value: Optional[pulumi.Input[str]]):
304
+ pulumi.set(self, "project", value)
305
+
306
+ @property
307
+ @pulumi.getter
308
+ def state(self) -> Optional[pulumi.Input[str]]:
309
+ """
310
+ The current instance partition state. Possible values are:
311
+ CREATING: The instance partition is being created. Resources are being
312
+ allocated for the instance partition.
313
+ READY: The instance partition has been allocated resources and is ready for use.
314
+ """
315
+ return pulumi.get(self, "state")
316
+
317
+ @state.setter
318
+ def state(self, value: Optional[pulumi.Input[str]]):
319
+ pulumi.set(self, "state", value)
320
+
321
+
322
+ class InstancePartition(pulumi.CustomResource):
323
+ @overload
324
+ def __init__(__self__,
325
+ resource_name: str,
326
+ opts: Optional[pulumi.ResourceOptions] = None,
327
+ config: Optional[pulumi.Input[str]] = None,
328
+ display_name: Optional[pulumi.Input[str]] = None,
329
+ instance: Optional[pulumi.Input[str]] = None,
330
+ name: Optional[pulumi.Input[str]] = None,
331
+ node_count: Optional[pulumi.Input[int]] = None,
332
+ processing_units: Optional[pulumi.Input[int]] = None,
333
+ project: Optional[pulumi.Input[str]] = None,
334
+ __props__=None):
335
+ """
336
+ A Cloud Spanner instance partition is a unit of Cloud Spanner database capacity
337
+ that can be used to partition data and processing capacity within an instance.
338
+
339
+ To get more information about InstancePartition, see:
340
+
341
+ * [API documentation](https://cloud.google.com/spanner/docs/reference/rest/v1/projects.instances.instancePartitions)
342
+ * How-to Guides
343
+ * [Official Documentation](https://cloud.google.com/spanner/docs/geo-partitioning)
344
+
345
+ ## Example Usage
346
+
347
+ ### Spanner Instance Partition Basic
348
+
349
+ ```python
350
+ import pulumi
351
+ import pulumi_gcp as gcp
352
+
353
+ main = gcp.spanner.Instance("main",
354
+ name="test-instance",
355
+ config="nam6",
356
+ display_name="main-instance",
357
+ num_nodes=1,
358
+ edition="ENTERPRISE_PLUS")
359
+ partition = gcp.spanner.InstancePartition("partition",
360
+ name="test-partition",
361
+ instance=main.name,
362
+ config="nam8",
363
+ display_name="test-spanner-partition",
364
+ node_count=1)
365
+ ```
366
+
367
+ ## Import
368
+
369
+ InstancePartition can be imported using any of these accepted formats:
370
+
371
+ * `projects/{{project}}/instances/{{instance}}/instancePartitions/{{name}}`
372
+
373
+ * `{{project}}/{{instance}}/{{name}}`
374
+
375
+ * `{{instance}}/{{name}}`
376
+
377
+ When using the `pulumi import` command, InstancePartition can be imported using one of the formats above. For example:
378
+
379
+ ```sh
380
+ $ pulumi import gcp:spanner/instancePartition:InstancePartition default projects/{{project}}/instances/{{instance}}/instancePartitions/{{name}}
381
+ ```
382
+
383
+ ```sh
384
+ $ pulumi import gcp:spanner/instancePartition:InstancePartition default {{project}}/{{instance}}/{{name}}
385
+ ```
386
+
387
+ ```sh
388
+ $ pulumi import gcp:spanner/instancePartition:InstancePartition default {{instance}}/{{name}}
389
+ ```
390
+
391
+ :param str resource_name: The name of the resource.
392
+ :param pulumi.ResourceOptions opts: Options for the resource.
393
+ :param pulumi.Input[str] config: The name of the instance partition's configuration (similar to a region) which
394
+ defines the geographic placement and replication of data in this instance partition.
395
+ :param pulumi.Input[str] display_name: The descriptive name for this instance partition as it appears in UIs.
396
+ Must be unique per project and between 4 and 30 characters in length.
397
+ :param pulumi.Input[str] instance: The instance to create the instance partition in.
398
+
399
+
400
+ - - -
401
+ :param pulumi.Input[str] name: A unique identifier for the instance partition, which cannot be changed after
402
+ the instance partition is created. The name must be between 2 and 64 characters
403
+ and match the regular expression [a-z][a-z0-9\\\\-]{0,61}[a-z0-9].
404
+ :param pulumi.Input[int] node_count: The number of nodes allocated to this instance partition. One node equals
405
+ 1000 processing units. Exactly one of either node_count or processing_units
406
+ must be present.
407
+ :param pulumi.Input[int] processing_units: The number of processing units allocated to this instance partition.
408
+ Exactly one of either node_count or processing_units must be present.
409
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
410
+ If it is not provided, the provider project is used.
411
+ """
412
+ ...
413
+ @overload
414
+ def __init__(__self__,
415
+ resource_name: str,
416
+ args: InstancePartitionArgs,
417
+ opts: Optional[pulumi.ResourceOptions] = None):
418
+ """
419
+ A Cloud Spanner instance partition is a unit of Cloud Spanner database capacity
420
+ that can be used to partition data and processing capacity within an instance.
421
+
422
+ To get more information about InstancePartition, see:
423
+
424
+ * [API documentation](https://cloud.google.com/spanner/docs/reference/rest/v1/projects.instances.instancePartitions)
425
+ * How-to Guides
426
+ * [Official Documentation](https://cloud.google.com/spanner/docs/geo-partitioning)
427
+
428
+ ## Example Usage
429
+
430
+ ### Spanner Instance Partition Basic
431
+
432
+ ```python
433
+ import pulumi
434
+ import pulumi_gcp as gcp
435
+
436
+ main = gcp.spanner.Instance("main",
437
+ name="test-instance",
438
+ config="nam6",
439
+ display_name="main-instance",
440
+ num_nodes=1,
441
+ edition="ENTERPRISE_PLUS")
442
+ partition = gcp.spanner.InstancePartition("partition",
443
+ name="test-partition",
444
+ instance=main.name,
445
+ config="nam8",
446
+ display_name="test-spanner-partition",
447
+ node_count=1)
448
+ ```
449
+
450
+ ## Import
451
+
452
+ InstancePartition can be imported using any of these accepted formats:
453
+
454
+ * `projects/{{project}}/instances/{{instance}}/instancePartitions/{{name}}`
455
+
456
+ * `{{project}}/{{instance}}/{{name}}`
457
+
458
+ * `{{instance}}/{{name}}`
459
+
460
+ When using the `pulumi import` command, InstancePartition can be imported using one of the formats above. For example:
461
+
462
+ ```sh
463
+ $ pulumi import gcp:spanner/instancePartition:InstancePartition default projects/{{project}}/instances/{{instance}}/instancePartitions/{{name}}
464
+ ```
465
+
466
+ ```sh
467
+ $ pulumi import gcp:spanner/instancePartition:InstancePartition default {{project}}/{{instance}}/{{name}}
468
+ ```
469
+
470
+ ```sh
471
+ $ pulumi import gcp:spanner/instancePartition:InstancePartition default {{instance}}/{{name}}
472
+ ```
473
+
474
+ :param str resource_name: The name of the resource.
475
+ :param InstancePartitionArgs args: The arguments to use to populate this resource's properties.
476
+ :param pulumi.ResourceOptions opts: Options for the resource.
477
+ """
478
+ ...
479
+ def __init__(__self__, resource_name: str, *args, **kwargs):
480
+ resource_args, opts = _utilities.get_resource_args_opts(InstancePartitionArgs, pulumi.ResourceOptions, *args, **kwargs)
481
+ if resource_args is not None:
482
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
483
+ else:
484
+ __self__._internal_init(resource_name, *args, **kwargs)
485
+
486
+ def _internal_init(__self__,
487
+ resource_name: str,
488
+ opts: Optional[pulumi.ResourceOptions] = None,
489
+ config: Optional[pulumi.Input[str]] = None,
490
+ display_name: Optional[pulumi.Input[str]] = None,
491
+ instance: Optional[pulumi.Input[str]] = None,
492
+ name: Optional[pulumi.Input[str]] = None,
493
+ node_count: Optional[pulumi.Input[int]] = None,
494
+ processing_units: Optional[pulumi.Input[int]] = None,
495
+ project: Optional[pulumi.Input[str]] = None,
496
+ __props__=None):
497
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
498
+ if not isinstance(opts, pulumi.ResourceOptions):
499
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
500
+ if opts.id is None:
501
+ if __props__ is not None:
502
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
503
+ __props__ = InstancePartitionArgs.__new__(InstancePartitionArgs)
504
+
505
+ if config is None and not opts.urn:
506
+ raise TypeError("Missing required property 'config'")
507
+ __props__.__dict__["config"] = config
508
+ if display_name is None and not opts.urn:
509
+ raise TypeError("Missing required property 'display_name'")
510
+ __props__.__dict__["display_name"] = display_name
511
+ if instance is None and not opts.urn:
512
+ raise TypeError("Missing required property 'instance'")
513
+ __props__.__dict__["instance"] = instance
514
+ __props__.__dict__["name"] = name
515
+ __props__.__dict__["node_count"] = node_count
516
+ __props__.__dict__["processing_units"] = processing_units
517
+ __props__.__dict__["project"] = project
518
+ __props__.__dict__["state"] = None
519
+ super(InstancePartition, __self__).__init__(
520
+ 'gcp:spanner/instancePartition:InstancePartition',
521
+ resource_name,
522
+ __props__,
523
+ opts)
524
+
525
+ @staticmethod
526
+ def get(resource_name: str,
527
+ id: pulumi.Input[str],
528
+ opts: Optional[pulumi.ResourceOptions] = None,
529
+ config: Optional[pulumi.Input[str]] = None,
530
+ display_name: Optional[pulumi.Input[str]] = None,
531
+ instance: Optional[pulumi.Input[str]] = None,
532
+ name: Optional[pulumi.Input[str]] = None,
533
+ node_count: Optional[pulumi.Input[int]] = None,
534
+ processing_units: Optional[pulumi.Input[int]] = None,
535
+ project: Optional[pulumi.Input[str]] = None,
536
+ state: Optional[pulumi.Input[str]] = None) -> 'InstancePartition':
537
+ """
538
+ Get an existing InstancePartition resource's state with the given name, id, and optional extra
539
+ properties used to qualify the lookup.
540
+
541
+ :param str resource_name: The unique name of the resulting resource.
542
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
543
+ :param pulumi.ResourceOptions opts: Options for the resource.
544
+ :param pulumi.Input[str] config: The name of the instance partition's configuration (similar to a region) which
545
+ defines the geographic placement and replication of data in this instance partition.
546
+ :param pulumi.Input[str] display_name: The descriptive name for this instance partition as it appears in UIs.
547
+ Must be unique per project and between 4 and 30 characters in length.
548
+ :param pulumi.Input[str] instance: The instance to create the instance partition in.
549
+
550
+
551
+ - - -
552
+ :param pulumi.Input[str] name: A unique identifier for the instance partition, which cannot be changed after
553
+ the instance partition is created. The name must be between 2 and 64 characters
554
+ and match the regular expression [a-z][a-z0-9\\\\-]{0,61}[a-z0-9].
555
+ :param pulumi.Input[int] node_count: The number of nodes allocated to this instance partition. One node equals
556
+ 1000 processing units. Exactly one of either node_count or processing_units
557
+ must be present.
558
+ :param pulumi.Input[int] processing_units: The number of processing units allocated to this instance partition.
559
+ Exactly one of either node_count or processing_units must be present.
560
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
561
+ If it is not provided, the provider project is used.
562
+ :param pulumi.Input[str] state: The current instance partition state. Possible values are:
563
+ CREATING: The instance partition is being created. Resources are being
564
+ allocated for the instance partition.
565
+ READY: The instance partition has been allocated resources and is ready for use.
566
+ """
567
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
568
+
569
+ __props__ = _InstancePartitionState.__new__(_InstancePartitionState)
570
+
571
+ __props__.__dict__["config"] = config
572
+ __props__.__dict__["display_name"] = display_name
573
+ __props__.__dict__["instance"] = instance
574
+ __props__.__dict__["name"] = name
575
+ __props__.__dict__["node_count"] = node_count
576
+ __props__.__dict__["processing_units"] = processing_units
577
+ __props__.__dict__["project"] = project
578
+ __props__.__dict__["state"] = state
579
+ return InstancePartition(resource_name, opts=opts, __props__=__props__)
580
+
581
+ @property
582
+ @pulumi.getter
583
+ def config(self) -> pulumi.Output[str]:
584
+ """
585
+ The name of the instance partition's configuration (similar to a region) which
586
+ defines the geographic placement and replication of data in this instance partition.
587
+ """
588
+ return pulumi.get(self, "config")
589
+
590
+ @property
591
+ @pulumi.getter(name="displayName")
592
+ def display_name(self) -> pulumi.Output[str]:
593
+ """
594
+ The descriptive name for this instance partition as it appears in UIs.
595
+ Must be unique per project and between 4 and 30 characters in length.
596
+ """
597
+ return pulumi.get(self, "display_name")
598
+
599
+ @property
600
+ @pulumi.getter
601
+ def instance(self) -> pulumi.Output[str]:
602
+ """
603
+ The instance to create the instance partition in.
604
+
605
+
606
+ - - -
607
+ """
608
+ return pulumi.get(self, "instance")
609
+
610
+ @property
611
+ @pulumi.getter
612
+ def name(self) -> pulumi.Output[str]:
613
+ """
614
+ A unique identifier for the instance partition, which cannot be changed after
615
+ the instance partition is created. The name must be between 2 and 64 characters
616
+ and match the regular expression [a-z][a-z0-9\\\\-]{0,61}[a-z0-9].
617
+ """
618
+ return pulumi.get(self, "name")
619
+
620
+ @property
621
+ @pulumi.getter(name="nodeCount")
622
+ def node_count(self) -> pulumi.Output[Optional[int]]:
623
+ """
624
+ The number of nodes allocated to this instance partition. One node equals
625
+ 1000 processing units. Exactly one of either node_count or processing_units
626
+ must be present.
627
+ """
628
+ return pulumi.get(self, "node_count")
629
+
630
+ @property
631
+ @pulumi.getter(name="processingUnits")
632
+ def processing_units(self) -> pulumi.Output[Optional[int]]:
633
+ """
634
+ The number of processing units allocated to this instance partition.
635
+ Exactly one of either node_count or processing_units must be present.
636
+ """
637
+ return pulumi.get(self, "processing_units")
638
+
639
+ @property
640
+ @pulumi.getter
641
+ def project(self) -> pulumi.Output[str]:
642
+ """
643
+ The ID of the project in which the resource belongs.
644
+ If it is not provided, the provider project is used.
645
+ """
646
+ return pulumi.get(self, "project")
647
+
648
+ @property
649
+ @pulumi.getter
650
+ def state(self) -> pulumi.Output[str]:
651
+ """
652
+ The current instance partition state. Possible values are:
653
+ CREATING: The instance partition is being created. Resources are being
654
+ allocated for the instance partition.
655
+ READY: The instance partition has been allocated resources and is ready for use.
656
+ """
657
+ return pulumi.get(self, "state")
658
+