pulumi-gcp 8.28.0a1745598508__py3-none-any.whl → 8.29.0a1746076904__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 (78) hide show
  1. pulumi_gcp/__init__.py +88 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +399 -0
  3. pulumi_gcp/accesscontextmanager/gcp_user_access_binding.py +54 -0
  4. pulumi_gcp/accesscontextmanager/outputs.py +369 -0
  5. pulumi_gcp/alloydb/_inputs.py +47 -1
  6. pulumi_gcp/alloydb/outputs.py +61 -3
  7. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +8 -2
  8. pulumi_gcp/applicationintegration/client.py +34 -12
  9. pulumi_gcp/artifactregistry/outputs.py +2 -2
  10. pulumi_gcp/certificateauthority/_inputs.py +32 -0
  11. pulumi_gcp/certificateauthority/ca_pool.py +2 -0
  12. pulumi_gcp/certificateauthority/outputs.py +22 -0
  13. pulumi_gcp/clouddeploy/_inputs.py +0 -6
  14. pulumi_gcp/clouddeploy/delivery_pipeline.py +84 -77
  15. pulumi_gcp/clouddeploy/outputs.py +0 -4
  16. pulumi_gcp/cloudrunv2/_inputs.py +3 -3
  17. pulumi_gcp/cloudrunv2/outputs.py +4 -4
  18. pulumi_gcp/colab/runtime_template.py +3 -3
  19. pulumi_gcp/compute/__init__.py +7 -0
  20. pulumi_gcp/compute/_inputs.py +809 -1
  21. pulumi_gcp/compute/backend_service.py +89 -0
  22. pulumi_gcp/compute/firewall_policy_with_rules.py +2 -2
  23. pulumi_gcp/compute/get_backend_service.py +12 -1
  24. pulumi_gcp/compute/get_storage_pool_iam_policy.py +183 -0
  25. pulumi_gcp/compute/get_storage_pool_types.py +268 -0
  26. pulumi_gcp/compute/outputs.py +743 -3
  27. pulumi_gcp/compute/resource_policy_attachment.py +476 -0
  28. pulumi_gcp/compute/storage_pool.py +1045 -0
  29. pulumi_gcp/compute/storage_pool_iam_binding.py +1088 -0
  30. pulumi_gcp/compute/storage_pool_iam_member.py +1088 -0
  31. pulumi_gcp/compute/storage_pool_iam_policy.py +907 -0
  32. pulumi_gcp/config/__init__.pyi +2 -0
  33. pulumi_gcp/config/vars.py +4 -0
  34. pulumi_gcp/container/_inputs.py +63 -3
  35. pulumi_gcp/container/outputs.py +70 -6
  36. pulumi_gcp/dataproc/get_metastore_service.py +12 -1
  37. pulumi_gcp/dataproc/metastore_service.py +61 -0
  38. pulumi_gcp/datastream/connection_profile.py +40 -0
  39. pulumi_gcp/discoveryengine/_inputs.py +38 -0
  40. pulumi_gcp/discoveryengine/chat_engine.py +6 -4
  41. pulumi_gcp/discoveryengine/outputs.py +26 -0
  42. pulumi_gcp/firebaserules/_inputs.py +6 -6
  43. pulumi_gcp/firebaserules/outputs.py +4 -4
  44. pulumi_gcp/gkebackup/__init__.py +2 -0
  45. pulumi_gcp/gkebackup/backup_channel.py +737 -0
  46. pulumi_gcp/gkebackup/restore_channel.py +737 -0
  47. pulumi_gcp/gkehub/_inputs.py +208 -0
  48. pulumi_gcp/gkehub/outputs.py +171 -1
  49. pulumi_gcp/healthcare/pipeline_job.py +2 -2
  50. pulumi_gcp/iap/__init__.py +4 -0
  51. pulumi_gcp/iap/_inputs.py +130 -0
  52. pulumi_gcp/iap/get_web_cloud_run_service_iam_policy.py +183 -0
  53. pulumi_gcp/iap/outputs.py +76 -0
  54. pulumi_gcp/iap/web_cloud_run_service_iam_binding.py +1089 -0
  55. pulumi_gcp/iap/web_cloud_run_service_iam_member.py +1089 -0
  56. pulumi_gcp/iap/web_cloud_run_service_iam_policy.py +908 -0
  57. pulumi_gcp/kms/key_ring_import_job.py +7 -7
  58. pulumi_gcp/managedkafka/connect_cluster.py +8 -4
  59. pulumi_gcp/managedkafka/connector.py +8 -4
  60. pulumi_gcp/monitoring/uptime_check_config.py +49 -0
  61. pulumi_gcp/networkconnectivity/internal_range.py +82 -0
  62. pulumi_gcp/projects/_inputs.py +0 -6
  63. pulumi_gcp/projects/api_key.py +28 -0
  64. pulumi_gcp/projects/outputs.py +0 -4
  65. pulumi_gcp/provider.py +20 -0
  66. pulumi_gcp/pulumi-plugin.json +1 -1
  67. pulumi_gcp/redis/get_instance.py +12 -1
  68. pulumi_gcp/redis/instance.py +61 -0
  69. pulumi_gcp/sql/_inputs.py +86 -6
  70. pulumi_gcp/sql/outputs.py +156 -12
  71. pulumi_gcp/storage/__init__.py +1 -0
  72. pulumi_gcp/storage/_inputs.py +457 -0
  73. pulumi_gcp/storage/batch_operations_job.py +776 -0
  74. pulumi_gcp/storage/outputs.py +403 -0
  75. {pulumi_gcp-8.28.0a1745598508.dist-info → pulumi_gcp-8.29.0a1746076904.dist-info}/METADATA +1 -1
  76. {pulumi_gcp-8.28.0a1745598508.dist-info → pulumi_gcp-8.29.0a1746076904.dist-info}/RECORD +78 -64
  77. {pulumi_gcp-8.28.0a1745598508.dist-info → pulumi_gcp-8.29.0a1746076904.dist-info}/WHEEL +1 -1
  78. {pulumi_gcp-8.28.0a1745598508.dist-info → pulumi_gcp-8.29.0a1746076904.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1045 @@
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 builtins
6
+ import copy
7
+ import warnings
8
+ import sys
9
+ import pulumi
10
+ import pulumi.runtime
11
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
12
+ if sys.version_info >= (3, 11):
13
+ from typing import NotRequired, TypedDict, TypeAlias
14
+ else:
15
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
16
+ from .. import _utilities
17
+ from . import outputs
18
+ from ._inputs import *
19
+
20
+ __all__ = ['StoragePoolArgs', 'StoragePool']
21
+
22
+ @pulumi.input_type
23
+ class StoragePoolArgs:
24
+ def __init__(__self__, *,
25
+ pool_provisioned_capacity_gb: pulumi.Input[builtins.str],
26
+ pool_provisioned_throughput: pulumi.Input[builtins.str],
27
+ storage_pool_type: pulumi.Input[builtins.str],
28
+ capacity_provisioning_type: Optional[pulumi.Input[builtins.str]] = None,
29
+ deletion_protection: Optional[pulumi.Input[builtins.bool]] = None,
30
+ description: Optional[pulumi.Input[builtins.str]] = None,
31
+ name: Optional[pulumi.Input[builtins.str]] = None,
32
+ performance_provisioning_type: Optional[pulumi.Input[builtins.str]] = None,
33
+ pool_provisioned_iops: Optional[pulumi.Input[builtins.str]] = None,
34
+ project: Optional[pulumi.Input[builtins.str]] = None,
35
+ zone: Optional[pulumi.Input[builtins.str]] = None):
36
+ """
37
+ The set of arguments for constructing a StoragePool resource.
38
+ :param pulumi.Input[builtins.str] pool_provisioned_capacity_gb: Size, in GiB, of the storage pool. For more information about the size limits,
39
+ see https://cloud.google.com/compute/docs/disks/storage-pools.
40
+ :param pulumi.Input[builtins.str] pool_provisioned_throughput: Provisioned throughput, in MB/s, of the storage pool.
41
+ Only relevant if the storage pool type is `hyperdisk-balanced` or `hyperdisk-throughput`.
42
+ :param pulumi.Input[builtins.str] storage_pool_type: Type of the storage pool. For example, the
43
+ following are valid values:
44
+ * `https://www.googleapis.com/compute/v1/projects/{project_id}/zones/{zone}/storagePoolTypes/hyperdisk-balanced`
45
+ * `hyperdisk-throughput`
46
+
47
+
48
+ - - -
49
+ :param pulumi.Input[builtins.str] capacity_provisioning_type: Provisioning type of the byte capacity of the pool.
50
+ Possible values are: `STANDARD`, `ADVANCED`.
51
+ :param pulumi.Input[builtins.str] description: A description of this resource. Provide this property when you create the resource.
52
+ :param pulumi.Input[builtins.str] name: Name of the resource. Provided by the client when the resource is created.
53
+ The name must be 1-63 characters long, and comply with RFC1035.
54
+ Specifically, the name must be 1-63 characters long and match
55
+ the regular expression `a-z?`
56
+ which means the first character must be a lowercase letter,
57
+ and all following characters must be a dash, lowercase letter, or digit,
58
+ except the last character, which cannot be a dash.
59
+ :param pulumi.Input[builtins.str] performance_provisioning_type: Provisioning type of the performance-related parameters of the pool, such as throughput and IOPS.
60
+ Possible values are: `STANDARD`, `ADVANCED`.
61
+ :param pulumi.Input[builtins.str] pool_provisioned_iops: Provisioned IOPS of the storage pool.
62
+ Only relevant if the storage pool type is `hyperdisk-balanced`.
63
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
64
+ If it is not provided, the provider project is used.
65
+ :param pulumi.Input[builtins.str] zone: A reference to the zone where the storage pool resides.
66
+ """
67
+ pulumi.set(__self__, "pool_provisioned_capacity_gb", pool_provisioned_capacity_gb)
68
+ pulumi.set(__self__, "pool_provisioned_throughput", pool_provisioned_throughput)
69
+ pulumi.set(__self__, "storage_pool_type", storage_pool_type)
70
+ if capacity_provisioning_type is not None:
71
+ pulumi.set(__self__, "capacity_provisioning_type", capacity_provisioning_type)
72
+ if deletion_protection is not None:
73
+ pulumi.set(__self__, "deletion_protection", deletion_protection)
74
+ if description is not None:
75
+ pulumi.set(__self__, "description", description)
76
+ if name is not None:
77
+ pulumi.set(__self__, "name", name)
78
+ if performance_provisioning_type is not None:
79
+ pulumi.set(__self__, "performance_provisioning_type", performance_provisioning_type)
80
+ if pool_provisioned_iops is not None:
81
+ pulumi.set(__self__, "pool_provisioned_iops", pool_provisioned_iops)
82
+ if project is not None:
83
+ pulumi.set(__self__, "project", project)
84
+ if zone is not None:
85
+ pulumi.set(__self__, "zone", zone)
86
+
87
+ @property
88
+ @pulumi.getter(name="poolProvisionedCapacityGb")
89
+ def pool_provisioned_capacity_gb(self) -> pulumi.Input[builtins.str]:
90
+ """
91
+ Size, in GiB, of the storage pool. For more information about the size limits,
92
+ see https://cloud.google.com/compute/docs/disks/storage-pools.
93
+ """
94
+ return pulumi.get(self, "pool_provisioned_capacity_gb")
95
+
96
+ @pool_provisioned_capacity_gb.setter
97
+ def pool_provisioned_capacity_gb(self, value: pulumi.Input[builtins.str]):
98
+ pulumi.set(self, "pool_provisioned_capacity_gb", value)
99
+
100
+ @property
101
+ @pulumi.getter(name="poolProvisionedThroughput")
102
+ def pool_provisioned_throughput(self) -> pulumi.Input[builtins.str]:
103
+ """
104
+ Provisioned throughput, in MB/s, of the storage pool.
105
+ Only relevant if the storage pool type is `hyperdisk-balanced` or `hyperdisk-throughput`.
106
+ """
107
+ return pulumi.get(self, "pool_provisioned_throughput")
108
+
109
+ @pool_provisioned_throughput.setter
110
+ def pool_provisioned_throughput(self, value: pulumi.Input[builtins.str]):
111
+ pulumi.set(self, "pool_provisioned_throughput", value)
112
+
113
+ @property
114
+ @pulumi.getter(name="storagePoolType")
115
+ def storage_pool_type(self) -> pulumi.Input[builtins.str]:
116
+ """
117
+ Type of the storage pool. For example, the
118
+ following are valid values:
119
+ * `https://www.googleapis.com/compute/v1/projects/{project_id}/zones/{zone}/storagePoolTypes/hyperdisk-balanced`
120
+ * `hyperdisk-throughput`
121
+
122
+
123
+ - - -
124
+ """
125
+ return pulumi.get(self, "storage_pool_type")
126
+
127
+ @storage_pool_type.setter
128
+ def storage_pool_type(self, value: pulumi.Input[builtins.str]):
129
+ pulumi.set(self, "storage_pool_type", value)
130
+
131
+ @property
132
+ @pulumi.getter(name="capacityProvisioningType")
133
+ def capacity_provisioning_type(self) -> Optional[pulumi.Input[builtins.str]]:
134
+ """
135
+ Provisioning type of the byte capacity of the pool.
136
+ Possible values are: `STANDARD`, `ADVANCED`.
137
+ """
138
+ return pulumi.get(self, "capacity_provisioning_type")
139
+
140
+ @capacity_provisioning_type.setter
141
+ def capacity_provisioning_type(self, value: Optional[pulumi.Input[builtins.str]]):
142
+ pulumi.set(self, "capacity_provisioning_type", value)
143
+
144
+ @property
145
+ @pulumi.getter(name="deletionProtection")
146
+ def deletion_protection(self) -> Optional[pulumi.Input[builtins.bool]]:
147
+ return pulumi.get(self, "deletion_protection")
148
+
149
+ @deletion_protection.setter
150
+ def deletion_protection(self, value: Optional[pulumi.Input[builtins.bool]]):
151
+ pulumi.set(self, "deletion_protection", value)
152
+
153
+ @property
154
+ @pulumi.getter
155
+ def description(self) -> Optional[pulumi.Input[builtins.str]]:
156
+ """
157
+ A description of this resource. Provide this property when you create the resource.
158
+ """
159
+ return pulumi.get(self, "description")
160
+
161
+ @description.setter
162
+ def description(self, value: Optional[pulumi.Input[builtins.str]]):
163
+ pulumi.set(self, "description", value)
164
+
165
+ @property
166
+ @pulumi.getter
167
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
168
+ """
169
+ Name of the resource. Provided by the client when the resource is created.
170
+ The name must be 1-63 characters long, and comply with RFC1035.
171
+ Specifically, the name must be 1-63 characters long and match
172
+ the regular expression `a-z?`
173
+ which means the first character must be a lowercase letter,
174
+ and all following characters must be a dash, lowercase letter, or digit,
175
+ except the last character, which cannot be a dash.
176
+ """
177
+ return pulumi.get(self, "name")
178
+
179
+ @name.setter
180
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
181
+ pulumi.set(self, "name", value)
182
+
183
+ @property
184
+ @pulumi.getter(name="performanceProvisioningType")
185
+ def performance_provisioning_type(self) -> Optional[pulumi.Input[builtins.str]]:
186
+ """
187
+ Provisioning type of the performance-related parameters of the pool, such as throughput and IOPS.
188
+ Possible values are: `STANDARD`, `ADVANCED`.
189
+ """
190
+ return pulumi.get(self, "performance_provisioning_type")
191
+
192
+ @performance_provisioning_type.setter
193
+ def performance_provisioning_type(self, value: Optional[pulumi.Input[builtins.str]]):
194
+ pulumi.set(self, "performance_provisioning_type", value)
195
+
196
+ @property
197
+ @pulumi.getter(name="poolProvisionedIops")
198
+ def pool_provisioned_iops(self) -> Optional[pulumi.Input[builtins.str]]:
199
+ """
200
+ Provisioned IOPS of the storage pool.
201
+ Only relevant if the storage pool type is `hyperdisk-balanced`.
202
+ """
203
+ return pulumi.get(self, "pool_provisioned_iops")
204
+
205
+ @pool_provisioned_iops.setter
206
+ def pool_provisioned_iops(self, value: Optional[pulumi.Input[builtins.str]]):
207
+ pulumi.set(self, "pool_provisioned_iops", value)
208
+
209
+ @property
210
+ @pulumi.getter
211
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
212
+ """
213
+ The ID of the project in which the resource belongs.
214
+ If it is not provided, the provider project is used.
215
+ """
216
+ return pulumi.get(self, "project")
217
+
218
+ @project.setter
219
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
220
+ pulumi.set(self, "project", value)
221
+
222
+ @property
223
+ @pulumi.getter
224
+ def zone(self) -> Optional[pulumi.Input[builtins.str]]:
225
+ """
226
+ A reference to the zone where the storage pool resides.
227
+ """
228
+ return pulumi.get(self, "zone")
229
+
230
+ @zone.setter
231
+ def zone(self, value: Optional[pulumi.Input[builtins.str]]):
232
+ pulumi.set(self, "zone", value)
233
+
234
+
235
+ @pulumi.input_type
236
+ class _StoragePoolState:
237
+ def __init__(__self__, *,
238
+ capacity_provisioning_type: Optional[pulumi.Input[builtins.str]] = None,
239
+ creation_timestamp: Optional[pulumi.Input[builtins.str]] = None,
240
+ deletion_protection: Optional[pulumi.Input[builtins.bool]] = None,
241
+ description: Optional[pulumi.Input[builtins.str]] = None,
242
+ kind: Optional[pulumi.Input[builtins.str]] = None,
243
+ label_fingerprint: Optional[pulumi.Input[builtins.str]] = None,
244
+ name: Optional[pulumi.Input[builtins.str]] = None,
245
+ performance_provisioning_type: Optional[pulumi.Input[builtins.str]] = None,
246
+ pool_provisioned_capacity_gb: Optional[pulumi.Input[builtins.str]] = None,
247
+ pool_provisioned_iops: Optional[pulumi.Input[builtins.str]] = None,
248
+ pool_provisioned_throughput: Optional[pulumi.Input[builtins.str]] = None,
249
+ project: Optional[pulumi.Input[builtins.str]] = None,
250
+ resource_statuses: Optional[pulumi.Input[Sequence[pulumi.Input['StoragePoolResourceStatusArgs']]]] = None,
251
+ statuses: Optional[pulumi.Input[Sequence[pulumi.Input['StoragePoolStatusArgs']]]] = None,
252
+ storage_pool_type: Optional[pulumi.Input[builtins.str]] = None,
253
+ zone: Optional[pulumi.Input[builtins.str]] = None):
254
+ """
255
+ Input properties used for looking up and filtering StoragePool resources.
256
+ :param pulumi.Input[builtins.str] capacity_provisioning_type: Provisioning type of the byte capacity of the pool.
257
+ Possible values are: `STANDARD`, `ADVANCED`.
258
+ :param pulumi.Input[builtins.str] creation_timestamp: Creation timestamp in RFC3339 text format.
259
+ :param pulumi.Input[builtins.str] description: A description of this resource. Provide this property when you create the resource.
260
+ :param pulumi.Input[builtins.str] kind: Type of the resource.
261
+ :param pulumi.Input[builtins.str] label_fingerprint: The fingerprint used for optimistic locking of this resource.
262
+ Used internally during updates.
263
+ :param pulumi.Input[builtins.str] name: Name of the resource. Provided by the client when the resource is created.
264
+ The name must be 1-63 characters long, and comply with RFC1035.
265
+ Specifically, the name must be 1-63 characters long and match
266
+ the regular expression `a-z?`
267
+ which means the first character must be a lowercase letter,
268
+ and all following characters must be a dash, lowercase letter, or digit,
269
+ except the last character, which cannot be a dash.
270
+ :param pulumi.Input[builtins.str] performance_provisioning_type: Provisioning type of the performance-related parameters of the pool, such as throughput and IOPS.
271
+ Possible values are: `STANDARD`, `ADVANCED`.
272
+ :param pulumi.Input[builtins.str] pool_provisioned_capacity_gb: Size, in GiB, of the storage pool. For more information about the size limits,
273
+ see https://cloud.google.com/compute/docs/disks/storage-pools.
274
+ :param pulumi.Input[builtins.str] pool_provisioned_iops: Provisioned IOPS of the storage pool.
275
+ Only relevant if the storage pool type is `hyperdisk-balanced`.
276
+ :param pulumi.Input[builtins.str] pool_provisioned_throughput: Provisioned throughput, in MB/s, of the storage pool.
277
+ Only relevant if the storage pool type is `hyperdisk-balanced` or `hyperdisk-throughput`.
278
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
279
+ If it is not provided, the provider project is used.
280
+ :param pulumi.Input[Sequence[pulumi.Input['StoragePoolResourceStatusArgs']]] resource_statuses: Status information for the storage pool resource.
281
+ Structure is documented below.
282
+ :param pulumi.Input[Sequence[pulumi.Input['StoragePoolStatusArgs']]] statuses: Status information for the storage pool resource.
283
+ Structure is documented below.
284
+ :param pulumi.Input[builtins.str] storage_pool_type: Type of the storage pool. For example, the
285
+ following are valid values:
286
+ * `https://www.googleapis.com/compute/v1/projects/{project_id}/zones/{zone}/storagePoolTypes/hyperdisk-balanced`
287
+ * `hyperdisk-throughput`
288
+
289
+
290
+ - - -
291
+ :param pulumi.Input[builtins.str] zone: A reference to the zone where the storage pool resides.
292
+ """
293
+ if capacity_provisioning_type is not None:
294
+ pulumi.set(__self__, "capacity_provisioning_type", capacity_provisioning_type)
295
+ if creation_timestamp is not None:
296
+ pulumi.set(__self__, "creation_timestamp", creation_timestamp)
297
+ if deletion_protection is not None:
298
+ pulumi.set(__self__, "deletion_protection", deletion_protection)
299
+ if description is not None:
300
+ pulumi.set(__self__, "description", description)
301
+ if kind is not None:
302
+ pulumi.set(__self__, "kind", kind)
303
+ if label_fingerprint is not None:
304
+ pulumi.set(__self__, "label_fingerprint", label_fingerprint)
305
+ if name is not None:
306
+ pulumi.set(__self__, "name", name)
307
+ if performance_provisioning_type is not None:
308
+ pulumi.set(__self__, "performance_provisioning_type", performance_provisioning_type)
309
+ if pool_provisioned_capacity_gb is not None:
310
+ pulumi.set(__self__, "pool_provisioned_capacity_gb", pool_provisioned_capacity_gb)
311
+ if pool_provisioned_iops is not None:
312
+ pulumi.set(__self__, "pool_provisioned_iops", pool_provisioned_iops)
313
+ if pool_provisioned_throughput is not None:
314
+ pulumi.set(__self__, "pool_provisioned_throughput", pool_provisioned_throughput)
315
+ if project is not None:
316
+ pulumi.set(__self__, "project", project)
317
+ if resource_statuses is not None:
318
+ pulumi.set(__self__, "resource_statuses", resource_statuses)
319
+ if statuses is not None:
320
+ pulumi.set(__self__, "statuses", statuses)
321
+ if storage_pool_type is not None:
322
+ pulumi.set(__self__, "storage_pool_type", storage_pool_type)
323
+ if zone is not None:
324
+ pulumi.set(__self__, "zone", zone)
325
+
326
+ @property
327
+ @pulumi.getter(name="capacityProvisioningType")
328
+ def capacity_provisioning_type(self) -> Optional[pulumi.Input[builtins.str]]:
329
+ """
330
+ Provisioning type of the byte capacity of the pool.
331
+ Possible values are: `STANDARD`, `ADVANCED`.
332
+ """
333
+ return pulumi.get(self, "capacity_provisioning_type")
334
+
335
+ @capacity_provisioning_type.setter
336
+ def capacity_provisioning_type(self, value: Optional[pulumi.Input[builtins.str]]):
337
+ pulumi.set(self, "capacity_provisioning_type", value)
338
+
339
+ @property
340
+ @pulumi.getter(name="creationTimestamp")
341
+ def creation_timestamp(self) -> Optional[pulumi.Input[builtins.str]]:
342
+ """
343
+ Creation timestamp in RFC3339 text format.
344
+ """
345
+ return pulumi.get(self, "creation_timestamp")
346
+
347
+ @creation_timestamp.setter
348
+ def creation_timestamp(self, value: Optional[pulumi.Input[builtins.str]]):
349
+ pulumi.set(self, "creation_timestamp", value)
350
+
351
+ @property
352
+ @pulumi.getter(name="deletionProtection")
353
+ def deletion_protection(self) -> Optional[pulumi.Input[builtins.bool]]:
354
+ return pulumi.get(self, "deletion_protection")
355
+
356
+ @deletion_protection.setter
357
+ def deletion_protection(self, value: Optional[pulumi.Input[builtins.bool]]):
358
+ pulumi.set(self, "deletion_protection", value)
359
+
360
+ @property
361
+ @pulumi.getter
362
+ def description(self) -> Optional[pulumi.Input[builtins.str]]:
363
+ """
364
+ A description of this resource. Provide this property when you create the resource.
365
+ """
366
+ return pulumi.get(self, "description")
367
+
368
+ @description.setter
369
+ def description(self, value: Optional[pulumi.Input[builtins.str]]):
370
+ pulumi.set(self, "description", value)
371
+
372
+ @property
373
+ @pulumi.getter
374
+ def kind(self) -> Optional[pulumi.Input[builtins.str]]:
375
+ """
376
+ Type of the resource.
377
+ """
378
+ return pulumi.get(self, "kind")
379
+
380
+ @kind.setter
381
+ def kind(self, value: Optional[pulumi.Input[builtins.str]]):
382
+ pulumi.set(self, "kind", value)
383
+
384
+ @property
385
+ @pulumi.getter(name="labelFingerprint")
386
+ def label_fingerprint(self) -> Optional[pulumi.Input[builtins.str]]:
387
+ """
388
+ The fingerprint used for optimistic locking of this resource.
389
+ Used internally during updates.
390
+ """
391
+ return pulumi.get(self, "label_fingerprint")
392
+
393
+ @label_fingerprint.setter
394
+ def label_fingerprint(self, value: Optional[pulumi.Input[builtins.str]]):
395
+ pulumi.set(self, "label_fingerprint", value)
396
+
397
+ @property
398
+ @pulumi.getter
399
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
400
+ """
401
+ Name of the resource. Provided by the client when the resource is created.
402
+ The name must be 1-63 characters long, and comply with RFC1035.
403
+ Specifically, the name must be 1-63 characters long and match
404
+ the regular expression `a-z?`
405
+ which means the first character must be a lowercase letter,
406
+ and all following characters must be a dash, lowercase letter, or digit,
407
+ except the last character, which cannot be a dash.
408
+ """
409
+ return pulumi.get(self, "name")
410
+
411
+ @name.setter
412
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
413
+ pulumi.set(self, "name", value)
414
+
415
+ @property
416
+ @pulumi.getter(name="performanceProvisioningType")
417
+ def performance_provisioning_type(self) -> Optional[pulumi.Input[builtins.str]]:
418
+ """
419
+ Provisioning type of the performance-related parameters of the pool, such as throughput and IOPS.
420
+ Possible values are: `STANDARD`, `ADVANCED`.
421
+ """
422
+ return pulumi.get(self, "performance_provisioning_type")
423
+
424
+ @performance_provisioning_type.setter
425
+ def performance_provisioning_type(self, value: Optional[pulumi.Input[builtins.str]]):
426
+ pulumi.set(self, "performance_provisioning_type", value)
427
+
428
+ @property
429
+ @pulumi.getter(name="poolProvisionedCapacityGb")
430
+ def pool_provisioned_capacity_gb(self) -> Optional[pulumi.Input[builtins.str]]:
431
+ """
432
+ Size, in GiB, of the storage pool. For more information about the size limits,
433
+ see https://cloud.google.com/compute/docs/disks/storage-pools.
434
+ """
435
+ return pulumi.get(self, "pool_provisioned_capacity_gb")
436
+
437
+ @pool_provisioned_capacity_gb.setter
438
+ def pool_provisioned_capacity_gb(self, value: Optional[pulumi.Input[builtins.str]]):
439
+ pulumi.set(self, "pool_provisioned_capacity_gb", value)
440
+
441
+ @property
442
+ @pulumi.getter(name="poolProvisionedIops")
443
+ def pool_provisioned_iops(self) -> Optional[pulumi.Input[builtins.str]]:
444
+ """
445
+ Provisioned IOPS of the storage pool.
446
+ Only relevant if the storage pool type is `hyperdisk-balanced`.
447
+ """
448
+ return pulumi.get(self, "pool_provisioned_iops")
449
+
450
+ @pool_provisioned_iops.setter
451
+ def pool_provisioned_iops(self, value: Optional[pulumi.Input[builtins.str]]):
452
+ pulumi.set(self, "pool_provisioned_iops", value)
453
+
454
+ @property
455
+ @pulumi.getter(name="poolProvisionedThroughput")
456
+ def pool_provisioned_throughput(self) -> Optional[pulumi.Input[builtins.str]]:
457
+ """
458
+ Provisioned throughput, in MB/s, of the storage pool.
459
+ Only relevant if the storage pool type is `hyperdisk-balanced` or `hyperdisk-throughput`.
460
+ """
461
+ return pulumi.get(self, "pool_provisioned_throughput")
462
+
463
+ @pool_provisioned_throughput.setter
464
+ def pool_provisioned_throughput(self, value: Optional[pulumi.Input[builtins.str]]):
465
+ pulumi.set(self, "pool_provisioned_throughput", value)
466
+
467
+ @property
468
+ @pulumi.getter
469
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
470
+ """
471
+ The ID of the project in which the resource belongs.
472
+ If it is not provided, the provider project is used.
473
+ """
474
+ return pulumi.get(self, "project")
475
+
476
+ @project.setter
477
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
478
+ pulumi.set(self, "project", value)
479
+
480
+ @property
481
+ @pulumi.getter(name="resourceStatuses")
482
+ def resource_statuses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StoragePoolResourceStatusArgs']]]]:
483
+ """
484
+ Status information for the storage pool resource.
485
+ Structure is documented below.
486
+ """
487
+ return pulumi.get(self, "resource_statuses")
488
+
489
+ @resource_statuses.setter
490
+ def resource_statuses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StoragePoolResourceStatusArgs']]]]):
491
+ pulumi.set(self, "resource_statuses", value)
492
+
493
+ @property
494
+ @pulumi.getter
495
+ def statuses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StoragePoolStatusArgs']]]]:
496
+ """
497
+ Status information for the storage pool resource.
498
+ Structure is documented below.
499
+ """
500
+ return pulumi.get(self, "statuses")
501
+
502
+ @statuses.setter
503
+ def statuses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StoragePoolStatusArgs']]]]):
504
+ pulumi.set(self, "statuses", value)
505
+
506
+ @property
507
+ @pulumi.getter(name="storagePoolType")
508
+ def storage_pool_type(self) -> Optional[pulumi.Input[builtins.str]]:
509
+ """
510
+ Type of the storage pool. For example, the
511
+ following are valid values:
512
+ * `https://www.googleapis.com/compute/v1/projects/{project_id}/zones/{zone}/storagePoolTypes/hyperdisk-balanced`
513
+ * `hyperdisk-throughput`
514
+
515
+
516
+ - - -
517
+ """
518
+ return pulumi.get(self, "storage_pool_type")
519
+
520
+ @storage_pool_type.setter
521
+ def storage_pool_type(self, value: Optional[pulumi.Input[builtins.str]]):
522
+ pulumi.set(self, "storage_pool_type", value)
523
+
524
+ @property
525
+ @pulumi.getter
526
+ def zone(self) -> Optional[pulumi.Input[builtins.str]]:
527
+ """
528
+ A reference to the zone where the storage pool resides.
529
+ """
530
+ return pulumi.get(self, "zone")
531
+
532
+ @zone.setter
533
+ def zone(self, value: Optional[pulumi.Input[builtins.str]]):
534
+ pulumi.set(self, "zone", value)
535
+
536
+
537
+ class StoragePool(pulumi.CustomResource):
538
+ @overload
539
+ def __init__(__self__,
540
+ resource_name: str,
541
+ opts: Optional[pulumi.ResourceOptions] = None,
542
+ capacity_provisioning_type: Optional[pulumi.Input[builtins.str]] = None,
543
+ deletion_protection: Optional[pulumi.Input[builtins.bool]] = None,
544
+ description: Optional[pulumi.Input[builtins.str]] = None,
545
+ name: Optional[pulumi.Input[builtins.str]] = None,
546
+ performance_provisioning_type: Optional[pulumi.Input[builtins.str]] = None,
547
+ pool_provisioned_capacity_gb: Optional[pulumi.Input[builtins.str]] = None,
548
+ pool_provisioned_iops: Optional[pulumi.Input[builtins.str]] = None,
549
+ pool_provisioned_throughput: Optional[pulumi.Input[builtins.str]] = None,
550
+ project: Optional[pulumi.Input[builtins.str]] = None,
551
+ storage_pool_type: Optional[pulumi.Input[builtins.str]] = None,
552
+ zone: Optional[pulumi.Input[builtins.str]] = None,
553
+ __props__=None):
554
+ """
555
+ A Hyperdisk Storage Pool is a pre-purchased collection of capacity, throughput, and IOPS
556
+ which you can then provision to your applications as needed.
557
+ You can use Hyperdisk Storage Pools to create and manage disks in pools and use the disks across multiple workloads.
558
+
559
+ To get more information about StoragePool, see:
560
+
561
+ * [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/storagePools)
562
+ * How-to Guides
563
+ * [Create Hyperdisk Storage Pools](https://cloud.google.com/compute/docs/disks/create-storage-pools)
564
+
565
+ ## Example Usage
566
+
567
+ ### Compute Storage Pool Basic
568
+
569
+ ```python
570
+ import pulumi
571
+ import pulumi_gcp as gcp
572
+
573
+ test_storage_pool_basic = gcp.compute.StoragePool("test-storage-pool-basic",
574
+ name="storage-pool-basic",
575
+ pool_provisioned_capacity_gb="10240",
576
+ pool_provisioned_throughput="100",
577
+ storage_pool_type="hyperdisk-throughput",
578
+ zone="us-central1-a",
579
+ deletion_protection=False)
580
+ project = gcp.organizations.get_project()
581
+ ```
582
+ ### Compute Storage Pool Full
583
+
584
+ ```python
585
+ import pulumi
586
+ import pulumi_gcp as gcp
587
+
588
+ balanced = gcp.compute.get_storage_pool_types(zone="us-central1-a",
589
+ storage_pool_type="hyperdisk-balanced")
590
+ test_storage_pool_full = gcp.compute.StoragePool("test-storage-pool-full",
591
+ name="storage-pool-full",
592
+ description="Hyperdisk Balanced storage pool",
593
+ capacity_provisioning_type="STANDARD",
594
+ pool_provisioned_capacity_gb="10240",
595
+ performance_provisioning_type="STANDARD",
596
+ pool_provisioned_iops="10000",
597
+ pool_provisioned_throughput="1024",
598
+ storage_pool_type=balanced.self_link,
599
+ deletion_protection=False,
600
+ zone="us-central1-a")
601
+ project = gcp.organizations.get_project()
602
+ ```
603
+
604
+ ## Import
605
+
606
+ StoragePool can be imported using any of these accepted formats:
607
+
608
+ * `projects/{{project}}/zones/{{zone}}/storagePools/{{name}}`
609
+
610
+ * `{{project}}/{{zone}}/{{name}}`
611
+
612
+ * `{{zone}}/{{name}}`
613
+
614
+ * `{{name}}`
615
+
616
+ When using the `pulumi import` command, StoragePool can be imported using one of the formats above. For example:
617
+
618
+ ```sh
619
+ $ pulumi import gcp:compute/storagePool:StoragePool default projects/{{project}}/zones/{{zone}}/storagePools/{{name}}
620
+ ```
621
+
622
+ ```sh
623
+ $ pulumi import gcp:compute/storagePool:StoragePool default {{project}}/{{zone}}/{{name}}
624
+ ```
625
+
626
+ ```sh
627
+ $ pulumi import gcp:compute/storagePool:StoragePool default {{zone}}/{{name}}
628
+ ```
629
+
630
+ ```sh
631
+ $ pulumi import gcp:compute/storagePool:StoragePool default {{name}}
632
+ ```
633
+
634
+ :param str resource_name: The name of the resource.
635
+ :param pulumi.ResourceOptions opts: Options for the resource.
636
+ :param pulumi.Input[builtins.str] capacity_provisioning_type: Provisioning type of the byte capacity of the pool.
637
+ Possible values are: `STANDARD`, `ADVANCED`.
638
+ :param pulumi.Input[builtins.str] description: A description of this resource. Provide this property when you create the resource.
639
+ :param pulumi.Input[builtins.str] name: Name of the resource. Provided by the client when the resource is created.
640
+ The name must be 1-63 characters long, and comply with RFC1035.
641
+ Specifically, the name must be 1-63 characters long and match
642
+ the regular expression `a-z?`
643
+ which means the first character must be a lowercase letter,
644
+ and all following characters must be a dash, lowercase letter, or digit,
645
+ except the last character, which cannot be a dash.
646
+ :param pulumi.Input[builtins.str] performance_provisioning_type: Provisioning type of the performance-related parameters of the pool, such as throughput and IOPS.
647
+ Possible values are: `STANDARD`, `ADVANCED`.
648
+ :param pulumi.Input[builtins.str] pool_provisioned_capacity_gb: Size, in GiB, of the storage pool. For more information about the size limits,
649
+ see https://cloud.google.com/compute/docs/disks/storage-pools.
650
+ :param pulumi.Input[builtins.str] pool_provisioned_iops: Provisioned IOPS of the storage pool.
651
+ Only relevant if the storage pool type is `hyperdisk-balanced`.
652
+ :param pulumi.Input[builtins.str] pool_provisioned_throughput: Provisioned throughput, in MB/s, of the storage pool.
653
+ Only relevant if the storage pool type is `hyperdisk-balanced` or `hyperdisk-throughput`.
654
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
655
+ If it is not provided, the provider project is used.
656
+ :param pulumi.Input[builtins.str] storage_pool_type: Type of the storage pool. For example, the
657
+ following are valid values:
658
+ * `https://www.googleapis.com/compute/v1/projects/{project_id}/zones/{zone}/storagePoolTypes/hyperdisk-balanced`
659
+ * `hyperdisk-throughput`
660
+
661
+
662
+ - - -
663
+ :param pulumi.Input[builtins.str] zone: A reference to the zone where the storage pool resides.
664
+ """
665
+ ...
666
+ @overload
667
+ def __init__(__self__,
668
+ resource_name: str,
669
+ args: StoragePoolArgs,
670
+ opts: Optional[pulumi.ResourceOptions] = None):
671
+ """
672
+ A Hyperdisk Storage Pool is a pre-purchased collection of capacity, throughput, and IOPS
673
+ which you can then provision to your applications as needed.
674
+ You can use Hyperdisk Storage Pools to create and manage disks in pools and use the disks across multiple workloads.
675
+
676
+ To get more information about StoragePool, see:
677
+
678
+ * [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/storagePools)
679
+ * How-to Guides
680
+ * [Create Hyperdisk Storage Pools](https://cloud.google.com/compute/docs/disks/create-storage-pools)
681
+
682
+ ## Example Usage
683
+
684
+ ### Compute Storage Pool Basic
685
+
686
+ ```python
687
+ import pulumi
688
+ import pulumi_gcp as gcp
689
+
690
+ test_storage_pool_basic = gcp.compute.StoragePool("test-storage-pool-basic",
691
+ name="storage-pool-basic",
692
+ pool_provisioned_capacity_gb="10240",
693
+ pool_provisioned_throughput="100",
694
+ storage_pool_type="hyperdisk-throughput",
695
+ zone="us-central1-a",
696
+ deletion_protection=False)
697
+ project = gcp.organizations.get_project()
698
+ ```
699
+ ### Compute Storage Pool Full
700
+
701
+ ```python
702
+ import pulumi
703
+ import pulumi_gcp as gcp
704
+
705
+ balanced = gcp.compute.get_storage_pool_types(zone="us-central1-a",
706
+ storage_pool_type="hyperdisk-balanced")
707
+ test_storage_pool_full = gcp.compute.StoragePool("test-storage-pool-full",
708
+ name="storage-pool-full",
709
+ description="Hyperdisk Balanced storage pool",
710
+ capacity_provisioning_type="STANDARD",
711
+ pool_provisioned_capacity_gb="10240",
712
+ performance_provisioning_type="STANDARD",
713
+ pool_provisioned_iops="10000",
714
+ pool_provisioned_throughput="1024",
715
+ storage_pool_type=balanced.self_link,
716
+ deletion_protection=False,
717
+ zone="us-central1-a")
718
+ project = gcp.organizations.get_project()
719
+ ```
720
+
721
+ ## Import
722
+
723
+ StoragePool can be imported using any of these accepted formats:
724
+
725
+ * `projects/{{project}}/zones/{{zone}}/storagePools/{{name}}`
726
+
727
+ * `{{project}}/{{zone}}/{{name}}`
728
+
729
+ * `{{zone}}/{{name}}`
730
+
731
+ * `{{name}}`
732
+
733
+ When using the `pulumi import` command, StoragePool can be imported using one of the formats above. For example:
734
+
735
+ ```sh
736
+ $ pulumi import gcp:compute/storagePool:StoragePool default projects/{{project}}/zones/{{zone}}/storagePools/{{name}}
737
+ ```
738
+
739
+ ```sh
740
+ $ pulumi import gcp:compute/storagePool:StoragePool default {{project}}/{{zone}}/{{name}}
741
+ ```
742
+
743
+ ```sh
744
+ $ pulumi import gcp:compute/storagePool:StoragePool default {{zone}}/{{name}}
745
+ ```
746
+
747
+ ```sh
748
+ $ pulumi import gcp:compute/storagePool:StoragePool default {{name}}
749
+ ```
750
+
751
+ :param str resource_name: The name of the resource.
752
+ :param StoragePoolArgs args: The arguments to use to populate this resource's properties.
753
+ :param pulumi.ResourceOptions opts: Options for the resource.
754
+ """
755
+ ...
756
+ def __init__(__self__, resource_name: str, *args, **kwargs):
757
+ resource_args, opts = _utilities.get_resource_args_opts(StoragePoolArgs, pulumi.ResourceOptions, *args, **kwargs)
758
+ if resource_args is not None:
759
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
760
+ else:
761
+ __self__._internal_init(resource_name, *args, **kwargs)
762
+
763
+ def _internal_init(__self__,
764
+ resource_name: str,
765
+ opts: Optional[pulumi.ResourceOptions] = None,
766
+ capacity_provisioning_type: Optional[pulumi.Input[builtins.str]] = None,
767
+ deletion_protection: Optional[pulumi.Input[builtins.bool]] = None,
768
+ description: Optional[pulumi.Input[builtins.str]] = None,
769
+ name: Optional[pulumi.Input[builtins.str]] = None,
770
+ performance_provisioning_type: Optional[pulumi.Input[builtins.str]] = None,
771
+ pool_provisioned_capacity_gb: Optional[pulumi.Input[builtins.str]] = None,
772
+ pool_provisioned_iops: Optional[pulumi.Input[builtins.str]] = None,
773
+ pool_provisioned_throughput: Optional[pulumi.Input[builtins.str]] = None,
774
+ project: Optional[pulumi.Input[builtins.str]] = None,
775
+ storage_pool_type: Optional[pulumi.Input[builtins.str]] = None,
776
+ zone: Optional[pulumi.Input[builtins.str]] = None,
777
+ __props__=None):
778
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
779
+ if not isinstance(opts, pulumi.ResourceOptions):
780
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
781
+ if opts.id is None:
782
+ if __props__ is not None:
783
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
784
+ __props__ = StoragePoolArgs.__new__(StoragePoolArgs)
785
+
786
+ __props__.__dict__["capacity_provisioning_type"] = capacity_provisioning_type
787
+ __props__.__dict__["deletion_protection"] = deletion_protection
788
+ __props__.__dict__["description"] = description
789
+ __props__.__dict__["name"] = name
790
+ __props__.__dict__["performance_provisioning_type"] = performance_provisioning_type
791
+ if pool_provisioned_capacity_gb is None and not opts.urn:
792
+ raise TypeError("Missing required property 'pool_provisioned_capacity_gb'")
793
+ __props__.__dict__["pool_provisioned_capacity_gb"] = pool_provisioned_capacity_gb
794
+ __props__.__dict__["pool_provisioned_iops"] = pool_provisioned_iops
795
+ if pool_provisioned_throughput is None and not opts.urn:
796
+ raise TypeError("Missing required property 'pool_provisioned_throughput'")
797
+ __props__.__dict__["pool_provisioned_throughput"] = pool_provisioned_throughput
798
+ __props__.__dict__["project"] = project
799
+ if storage_pool_type is None and not opts.urn:
800
+ raise TypeError("Missing required property 'storage_pool_type'")
801
+ __props__.__dict__["storage_pool_type"] = storage_pool_type
802
+ __props__.__dict__["zone"] = zone
803
+ __props__.__dict__["creation_timestamp"] = None
804
+ __props__.__dict__["kind"] = None
805
+ __props__.__dict__["label_fingerprint"] = None
806
+ __props__.__dict__["resource_statuses"] = None
807
+ __props__.__dict__["statuses"] = None
808
+ super(StoragePool, __self__).__init__(
809
+ 'gcp:compute/storagePool:StoragePool',
810
+ resource_name,
811
+ __props__,
812
+ opts)
813
+
814
+ @staticmethod
815
+ def get(resource_name: str,
816
+ id: pulumi.Input[str],
817
+ opts: Optional[pulumi.ResourceOptions] = None,
818
+ capacity_provisioning_type: Optional[pulumi.Input[builtins.str]] = None,
819
+ creation_timestamp: Optional[pulumi.Input[builtins.str]] = None,
820
+ deletion_protection: Optional[pulumi.Input[builtins.bool]] = None,
821
+ description: Optional[pulumi.Input[builtins.str]] = None,
822
+ kind: Optional[pulumi.Input[builtins.str]] = None,
823
+ label_fingerprint: Optional[pulumi.Input[builtins.str]] = None,
824
+ name: Optional[pulumi.Input[builtins.str]] = None,
825
+ performance_provisioning_type: Optional[pulumi.Input[builtins.str]] = None,
826
+ pool_provisioned_capacity_gb: Optional[pulumi.Input[builtins.str]] = None,
827
+ pool_provisioned_iops: Optional[pulumi.Input[builtins.str]] = None,
828
+ pool_provisioned_throughput: Optional[pulumi.Input[builtins.str]] = None,
829
+ project: Optional[pulumi.Input[builtins.str]] = None,
830
+ resource_statuses: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StoragePoolResourceStatusArgs', 'StoragePoolResourceStatusArgsDict']]]]] = None,
831
+ statuses: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StoragePoolStatusArgs', 'StoragePoolStatusArgsDict']]]]] = None,
832
+ storage_pool_type: Optional[pulumi.Input[builtins.str]] = None,
833
+ zone: Optional[pulumi.Input[builtins.str]] = None) -> 'StoragePool':
834
+ """
835
+ Get an existing StoragePool resource's state with the given name, id, and optional extra
836
+ properties used to qualify the lookup.
837
+
838
+ :param str resource_name: The unique name of the resulting resource.
839
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
840
+ :param pulumi.ResourceOptions opts: Options for the resource.
841
+ :param pulumi.Input[builtins.str] capacity_provisioning_type: Provisioning type of the byte capacity of the pool.
842
+ Possible values are: `STANDARD`, `ADVANCED`.
843
+ :param pulumi.Input[builtins.str] creation_timestamp: Creation timestamp in RFC3339 text format.
844
+ :param pulumi.Input[builtins.str] description: A description of this resource. Provide this property when you create the resource.
845
+ :param pulumi.Input[builtins.str] kind: Type of the resource.
846
+ :param pulumi.Input[builtins.str] label_fingerprint: The fingerprint used for optimistic locking of this resource.
847
+ Used internally during updates.
848
+ :param pulumi.Input[builtins.str] name: Name of the resource. Provided by the client when the resource is created.
849
+ The name must be 1-63 characters long, and comply with RFC1035.
850
+ Specifically, the name must be 1-63 characters long and match
851
+ the regular expression `a-z?`
852
+ which means the first character must be a lowercase letter,
853
+ and all following characters must be a dash, lowercase letter, or digit,
854
+ except the last character, which cannot be a dash.
855
+ :param pulumi.Input[builtins.str] performance_provisioning_type: Provisioning type of the performance-related parameters of the pool, such as throughput and IOPS.
856
+ Possible values are: `STANDARD`, `ADVANCED`.
857
+ :param pulumi.Input[builtins.str] pool_provisioned_capacity_gb: Size, in GiB, of the storage pool. For more information about the size limits,
858
+ see https://cloud.google.com/compute/docs/disks/storage-pools.
859
+ :param pulumi.Input[builtins.str] pool_provisioned_iops: Provisioned IOPS of the storage pool.
860
+ Only relevant if the storage pool type is `hyperdisk-balanced`.
861
+ :param pulumi.Input[builtins.str] pool_provisioned_throughput: Provisioned throughput, in MB/s, of the storage pool.
862
+ Only relevant if the storage pool type is `hyperdisk-balanced` or `hyperdisk-throughput`.
863
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
864
+ If it is not provided, the provider project is used.
865
+ :param pulumi.Input[Sequence[pulumi.Input[Union['StoragePoolResourceStatusArgs', 'StoragePoolResourceStatusArgsDict']]]] resource_statuses: Status information for the storage pool resource.
866
+ Structure is documented below.
867
+ :param pulumi.Input[Sequence[pulumi.Input[Union['StoragePoolStatusArgs', 'StoragePoolStatusArgsDict']]]] statuses: Status information for the storage pool resource.
868
+ Structure is documented below.
869
+ :param pulumi.Input[builtins.str] storage_pool_type: Type of the storage pool. For example, the
870
+ following are valid values:
871
+ * `https://www.googleapis.com/compute/v1/projects/{project_id}/zones/{zone}/storagePoolTypes/hyperdisk-balanced`
872
+ * `hyperdisk-throughput`
873
+
874
+
875
+ - - -
876
+ :param pulumi.Input[builtins.str] zone: A reference to the zone where the storage pool resides.
877
+ """
878
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
879
+
880
+ __props__ = _StoragePoolState.__new__(_StoragePoolState)
881
+
882
+ __props__.__dict__["capacity_provisioning_type"] = capacity_provisioning_type
883
+ __props__.__dict__["creation_timestamp"] = creation_timestamp
884
+ __props__.__dict__["deletion_protection"] = deletion_protection
885
+ __props__.__dict__["description"] = description
886
+ __props__.__dict__["kind"] = kind
887
+ __props__.__dict__["label_fingerprint"] = label_fingerprint
888
+ __props__.__dict__["name"] = name
889
+ __props__.__dict__["performance_provisioning_type"] = performance_provisioning_type
890
+ __props__.__dict__["pool_provisioned_capacity_gb"] = pool_provisioned_capacity_gb
891
+ __props__.__dict__["pool_provisioned_iops"] = pool_provisioned_iops
892
+ __props__.__dict__["pool_provisioned_throughput"] = pool_provisioned_throughput
893
+ __props__.__dict__["project"] = project
894
+ __props__.__dict__["resource_statuses"] = resource_statuses
895
+ __props__.__dict__["statuses"] = statuses
896
+ __props__.__dict__["storage_pool_type"] = storage_pool_type
897
+ __props__.__dict__["zone"] = zone
898
+ return StoragePool(resource_name, opts=opts, __props__=__props__)
899
+
900
+ @property
901
+ @pulumi.getter(name="capacityProvisioningType")
902
+ def capacity_provisioning_type(self) -> pulumi.Output[builtins.str]:
903
+ """
904
+ Provisioning type of the byte capacity of the pool.
905
+ Possible values are: `STANDARD`, `ADVANCED`.
906
+ """
907
+ return pulumi.get(self, "capacity_provisioning_type")
908
+
909
+ @property
910
+ @pulumi.getter(name="creationTimestamp")
911
+ def creation_timestamp(self) -> pulumi.Output[builtins.str]:
912
+ """
913
+ Creation timestamp in RFC3339 text format.
914
+ """
915
+ return pulumi.get(self, "creation_timestamp")
916
+
917
+ @property
918
+ @pulumi.getter(name="deletionProtection")
919
+ def deletion_protection(self) -> pulumi.Output[Optional[builtins.bool]]:
920
+ return pulumi.get(self, "deletion_protection")
921
+
922
+ @property
923
+ @pulumi.getter
924
+ def description(self) -> pulumi.Output[Optional[builtins.str]]:
925
+ """
926
+ A description of this resource. Provide this property when you create the resource.
927
+ """
928
+ return pulumi.get(self, "description")
929
+
930
+ @property
931
+ @pulumi.getter
932
+ def kind(self) -> pulumi.Output[builtins.str]:
933
+ """
934
+ Type of the resource.
935
+ """
936
+ return pulumi.get(self, "kind")
937
+
938
+ @property
939
+ @pulumi.getter(name="labelFingerprint")
940
+ def label_fingerprint(self) -> pulumi.Output[builtins.str]:
941
+ """
942
+ The fingerprint used for optimistic locking of this resource.
943
+ Used internally during updates.
944
+ """
945
+ return pulumi.get(self, "label_fingerprint")
946
+
947
+ @property
948
+ @pulumi.getter
949
+ def name(self) -> pulumi.Output[builtins.str]:
950
+ """
951
+ Name of the resource. Provided by the client when the resource is created.
952
+ The name must be 1-63 characters long, and comply with RFC1035.
953
+ Specifically, the name must be 1-63 characters long and match
954
+ the regular expression `a-z?`
955
+ which means the first character must be a lowercase letter,
956
+ and all following characters must be a dash, lowercase letter, or digit,
957
+ except the last character, which cannot be a dash.
958
+ """
959
+ return pulumi.get(self, "name")
960
+
961
+ @property
962
+ @pulumi.getter(name="performanceProvisioningType")
963
+ def performance_provisioning_type(self) -> pulumi.Output[builtins.str]:
964
+ """
965
+ Provisioning type of the performance-related parameters of the pool, such as throughput and IOPS.
966
+ Possible values are: `STANDARD`, `ADVANCED`.
967
+ """
968
+ return pulumi.get(self, "performance_provisioning_type")
969
+
970
+ @property
971
+ @pulumi.getter(name="poolProvisionedCapacityGb")
972
+ def pool_provisioned_capacity_gb(self) -> pulumi.Output[builtins.str]:
973
+ """
974
+ Size, in GiB, of the storage pool. For more information about the size limits,
975
+ see https://cloud.google.com/compute/docs/disks/storage-pools.
976
+ """
977
+ return pulumi.get(self, "pool_provisioned_capacity_gb")
978
+
979
+ @property
980
+ @pulumi.getter(name="poolProvisionedIops")
981
+ def pool_provisioned_iops(self) -> pulumi.Output[Optional[builtins.str]]:
982
+ """
983
+ Provisioned IOPS of the storage pool.
984
+ Only relevant if the storage pool type is `hyperdisk-balanced`.
985
+ """
986
+ return pulumi.get(self, "pool_provisioned_iops")
987
+
988
+ @property
989
+ @pulumi.getter(name="poolProvisionedThroughput")
990
+ def pool_provisioned_throughput(self) -> pulumi.Output[builtins.str]:
991
+ """
992
+ Provisioned throughput, in MB/s, of the storage pool.
993
+ Only relevant if the storage pool type is `hyperdisk-balanced` or `hyperdisk-throughput`.
994
+ """
995
+ return pulumi.get(self, "pool_provisioned_throughput")
996
+
997
+ @property
998
+ @pulumi.getter
999
+ def project(self) -> pulumi.Output[builtins.str]:
1000
+ """
1001
+ The ID of the project in which the resource belongs.
1002
+ If it is not provided, the provider project is used.
1003
+ """
1004
+ return pulumi.get(self, "project")
1005
+
1006
+ @property
1007
+ @pulumi.getter(name="resourceStatuses")
1008
+ def resource_statuses(self) -> pulumi.Output[Sequence['outputs.StoragePoolResourceStatus']]:
1009
+ """
1010
+ Status information for the storage pool resource.
1011
+ Structure is documented below.
1012
+ """
1013
+ return pulumi.get(self, "resource_statuses")
1014
+
1015
+ @property
1016
+ @pulumi.getter
1017
+ def statuses(self) -> pulumi.Output[Sequence['outputs.StoragePoolStatus']]:
1018
+ """
1019
+ Status information for the storage pool resource.
1020
+ Structure is documented below.
1021
+ """
1022
+ return pulumi.get(self, "statuses")
1023
+
1024
+ @property
1025
+ @pulumi.getter(name="storagePoolType")
1026
+ def storage_pool_type(self) -> pulumi.Output[builtins.str]:
1027
+ """
1028
+ Type of the storage pool. For example, the
1029
+ following are valid values:
1030
+ * `https://www.googleapis.com/compute/v1/projects/{project_id}/zones/{zone}/storagePoolTypes/hyperdisk-balanced`
1031
+ * `hyperdisk-throughput`
1032
+
1033
+
1034
+ - - -
1035
+ """
1036
+ return pulumi.get(self, "storage_pool_type")
1037
+
1038
+ @property
1039
+ @pulumi.getter
1040
+ def zone(self) -> pulumi.Output[builtins.str]:
1041
+ """
1042
+ A reference to the zone where the storage pool resides.
1043
+ """
1044
+ return pulumi.get(self, "zone")
1045
+