pulumi-gcp 7.3.0a1702567892__py3-none-any.whl → 7.3.1__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. pulumi_gcp/__init__.py +129 -0
  2. pulumi_gcp/artifactregistry/_inputs.py +88 -0
  3. pulumi_gcp/artifactregistry/outputs.py +148 -0
  4. pulumi_gcp/artifactregistry/repository.py +116 -16
  5. pulumi_gcp/bigquery/_inputs.py +110 -0
  6. pulumi_gcp/bigquery/connection.py +123 -3
  7. pulumi_gcp/bigquery/outputs.py +145 -0
  8. pulumi_gcp/cloudbuild/_inputs.py +241 -1
  9. pulumi_gcp/cloudbuild/outputs.py +353 -2
  10. pulumi_gcp/cloudfunctionsv2/_inputs.py +6 -2
  11. pulumi_gcp/cloudfunctionsv2/outputs.py +6 -2
  12. pulumi_gcp/cloudidentity/_inputs.py +54 -5
  13. pulumi_gcp/cloudidentity/group_membership.py +0 -8
  14. pulumi_gcp/cloudidentity/outputs.py +99 -4
  15. pulumi_gcp/cloudrunv2/_inputs.py +8 -4
  16. pulumi_gcp/cloudrunv2/job.py +44 -0
  17. pulumi_gcp/cloudrunv2/outputs.py +8 -4
  18. pulumi_gcp/cloudrunv2/service.py +42 -0
  19. pulumi_gcp/cloudtasks/queue.py +0 -10
  20. pulumi_gcp/composer/_inputs.py +17 -4
  21. pulumi_gcp/composer/outputs.py +20 -4
  22. pulumi_gcp/compute/_inputs.py +46 -0
  23. pulumi_gcp/compute/get_global_forwarding_rule.py +11 -1
  24. pulumi_gcp/compute/global_forwarding_rule.py +69 -0
  25. pulumi_gcp/compute/outputs.py +75 -0
  26. pulumi_gcp/config/__init__.pyi +6 -0
  27. pulumi_gcp/config/vars.py +12 -0
  28. pulumi_gcp/container/_inputs.py +58 -0
  29. pulumi_gcp/container/node_pool.py +68 -14
  30. pulumi_gcp/container/outputs.py +68 -0
  31. pulumi_gcp/dataform/__init__.py +4 -0
  32. pulumi_gcp/dataform/_inputs.py +80 -0
  33. pulumi_gcp/dataform/get_repository_iam_policy.py +144 -0
  34. pulumi_gcp/dataform/outputs.py +56 -0
  35. pulumi_gcp/dataform/repository_iam_binding.py +325 -0
  36. pulumi_gcp/dataform/repository_iam_member.py +325 -0
  37. pulumi_gcp/dataform/repository_iam_policy.py +254 -0
  38. pulumi_gcp/dataloss/_inputs.py +29 -26
  39. pulumi_gcp/dataloss/outputs.py +28 -25
  40. pulumi_gcp/dataloss/prevention_job_trigger.py +78 -0
  41. pulumi_gcp/datastream/connection_profile.py +82 -4
  42. pulumi_gcp/datastream/stream.py +32 -22
  43. pulumi_gcp/firestore/database.py +146 -28
  44. pulumi_gcp/gkehub/_inputs.py +821 -3
  45. pulumi_gcp/gkehub/feature.py +176 -0
  46. pulumi_gcp/gkehub/feature_membership.py +105 -59
  47. pulumi_gcp/gkehub/fleet.py +70 -2
  48. pulumi_gcp/gkehub/outputs.py +819 -3
  49. pulumi_gcp/gkehub/scope.py +2 -2
  50. pulumi_gcp/iam/_inputs.py +72 -0
  51. pulumi_gcp/iam/outputs.py +79 -0
  52. pulumi_gcp/iam/workforce_pool.py +75 -0
  53. pulumi_gcp/identityplatform/project_default_config.py +4 -0
  54. pulumi_gcp/logging/__init__.py +3 -0
  55. pulumi_gcp/logging/get_folder_settings.py +197 -0
  56. pulumi_gcp/logging/get_organization_settings.py +197 -0
  57. pulumi_gcp/logging/get_project_settings.py +197 -0
  58. pulumi_gcp/migrationcenter/__init__.py +8 -0
  59. pulumi_gcp/migrationcenter/group.py +652 -0
  60. pulumi_gcp/netapp/__init__.py +8 -0
  61. pulumi_gcp/netapp/storage_pool.py +970 -0
  62. pulumi_gcp/projects/iam_custom_role.py +7 -7
  63. pulumi_gcp/provider.py +60 -0
  64. pulumi_gcp/securesourcemanager/__init__.py +14 -0
  65. pulumi_gcp/securesourcemanager/_inputs.py +94 -0
  66. pulumi_gcp/securesourcemanager/get_instance_iam_policy.py +168 -0
  67. pulumi_gcp/securesourcemanager/instance.py +607 -0
  68. pulumi_gcp/securesourcemanager/instance_iam_binding.py +325 -0
  69. pulumi_gcp/securesourcemanager/instance_iam_member.py +325 -0
  70. pulumi_gcp/securesourcemanager/instance_iam_policy.py +254 -0
  71. pulumi_gcp/securesourcemanager/outputs.py +70 -0
  72. pulumi_gcp/securitycenter/__init__.py +1 -0
  73. pulumi_gcp/securitycenter/event_threat_detection_custom_module.py +528 -0
  74. pulumi_gcp/sql/_inputs.py +2 -2
  75. pulumi_gcp/sql/database_instance.py +4 -4
  76. pulumi_gcp/sql/outputs.py +2 -2
  77. pulumi_gcp/storage/_inputs.py +16 -0
  78. pulumi_gcp/storage/outputs.py +21 -0
  79. pulumi_gcp/vertex/__init__.py +4 -0
  80. pulumi_gcp/vertex/_inputs.py +80 -0
  81. pulumi_gcp/vertex/ai_endpoint_iam_binding.py +325 -0
  82. pulumi_gcp/vertex/ai_endpoint_iam_member.py +325 -0
  83. pulumi_gcp/vertex/ai_endpoint_iam_policy.py +254 -0
  84. pulumi_gcp/vertex/get_ai_endpoint_iam_policy.py +140 -0
  85. pulumi_gcp/vertex/outputs.py +56 -0
  86. pulumi_gcp/vmwareengine/__init__.py +5 -0
  87. pulumi_gcp/vmwareengine/_inputs.py +104 -2
  88. pulumi_gcp/vmwareengine/get_network.py +14 -4
  89. pulumi_gcp/vmwareengine/get_network_peering.py +260 -0
  90. pulumi_gcp/vmwareengine/get_network_policy.py +228 -0
  91. pulumi_gcp/vmwareengine/get_nsx_credentials.py +133 -0
  92. pulumi_gcp/vmwareengine/get_private_cloud.py +14 -4
  93. pulumi_gcp/vmwareengine/network.py +41 -7
  94. pulumi_gcp/vmwareengine/network_peering.py +959 -0
  95. pulumi_gcp/vmwareengine/network_policy.py +836 -0
  96. pulumi_gcp/vmwareengine/outputs.py +133 -2
  97. pulumi_gcp/vmwareengine/private_cloud.py +20 -68
  98. {pulumi_gcp-7.3.0a1702567892.dist-info → pulumi_gcp-7.3.1.dist-info}/METADATA +1 -1
  99. {pulumi_gcp-7.3.0a1702567892.dist-info → pulumi_gcp-7.3.1.dist-info}/RECORD +101 -72
  100. {pulumi_gcp-7.3.0a1702567892.dist-info → pulumi_gcp-7.3.1.dist-info}/WHEEL +0 -0
  101. {pulumi_gcp-7.3.0a1702567892.dist-info → pulumi_gcp-7.3.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,970 @@
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 pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+
12
+ __all__ = ['StoragePoolArgs', 'StoragePool']
13
+
14
+ @pulumi.input_type
15
+ class StoragePoolArgs:
16
+ def __init__(__self__, *,
17
+ capacity_gib: pulumi.Input[str],
18
+ location: pulumi.Input[str],
19
+ network: pulumi.Input[str],
20
+ service_level: pulumi.Input[str],
21
+ active_directory: Optional[pulumi.Input[str]] = None,
22
+ description: Optional[pulumi.Input[str]] = None,
23
+ kms_config: Optional[pulumi.Input[str]] = None,
24
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
25
+ ldap_enabled: Optional[pulumi.Input[bool]] = None,
26
+ name: Optional[pulumi.Input[str]] = None,
27
+ project: Optional[pulumi.Input[str]] = None):
28
+ """
29
+ The set of arguments for constructing a StoragePool resource.
30
+ :param pulumi.Input[str] capacity_gib: Capacity of the storage pool (in GiB).
31
+ :param pulumi.Input[str] location: Name of the location. Usually a region name, expect for some STANDARD service level pools which require a zone name.
32
+ :param pulumi.Input[str] network: VPC network name with format: `projects/{{project}}/global/networks/{{network}}`
33
+ :param pulumi.Input[str] service_level: Service level of the storage pool.
34
+ Possible values are: `PREMIUM`, `EXTREME`, `STANDARD`.
35
+ :param pulumi.Input[str] active_directory: Specifies the Active Directory policy to be used. Format: `projects/{{project}}/locations/{{location}}/activeDirectories/{{name}}`.
36
+ The policy needs to be in the same location as the storage pool.
37
+ :param pulumi.Input[str] description: An optional description of this resource.
38
+ :param pulumi.Input[str] kms_config: Specifies the CMEK policy to be used for volume encryption. Format: `projects/{{project}}/locations/{{location}}/kmsConfigs/{{name}}`.
39
+ The policy needs to be in the same location as the storage pool.
40
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
41
+
42
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
43
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
44
+ :param pulumi.Input[bool] ldap_enabled: When enabled, the volumes uses Active Directory as LDAP name service for UID/GID lookups. Required to enable extended group support for NFSv3,
45
+ using security identifiers for NFSv4.1 or principal names for kerberized NFSv4.1.
46
+ :param pulumi.Input[str] name: The resource name of the storage pool. Needs to be unique per location.
47
+
48
+
49
+ - - -
50
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
51
+ If it is not provided, the provider project is used.
52
+ """
53
+ pulumi.set(__self__, "capacity_gib", capacity_gib)
54
+ pulumi.set(__self__, "location", location)
55
+ pulumi.set(__self__, "network", network)
56
+ pulumi.set(__self__, "service_level", service_level)
57
+ if active_directory is not None:
58
+ pulumi.set(__self__, "active_directory", active_directory)
59
+ if description is not None:
60
+ pulumi.set(__self__, "description", description)
61
+ if kms_config is not None:
62
+ pulumi.set(__self__, "kms_config", kms_config)
63
+ if labels is not None:
64
+ pulumi.set(__self__, "labels", labels)
65
+ if ldap_enabled is not None:
66
+ pulumi.set(__self__, "ldap_enabled", ldap_enabled)
67
+ if name is not None:
68
+ pulumi.set(__self__, "name", name)
69
+ if project is not None:
70
+ pulumi.set(__self__, "project", project)
71
+
72
+ @property
73
+ @pulumi.getter(name="capacityGib")
74
+ def capacity_gib(self) -> pulumi.Input[str]:
75
+ """
76
+ Capacity of the storage pool (in GiB).
77
+ """
78
+ return pulumi.get(self, "capacity_gib")
79
+
80
+ @capacity_gib.setter
81
+ def capacity_gib(self, value: pulumi.Input[str]):
82
+ pulumi.set(self, "capacity_gib", value)
83
+
84
+ @property
85
+ @pulumi.getter
86
+ def location(self) -> pulumi.Input[str]:
87
+ """
88
+ Name of the location. Usually a region name, expect for some STANDARD service level pools which require a zone name.
89
+ """
90
+ return pulumi.get(self, "location")
91
+
92
+ @location.setter
93
+ def location(self, value: pulumi.Input[str]):
94
+ pulumi.set(self, "location", value)
95
+
96
+ @property
97
+ @pulumi.getter
98
+ def network(self) -> pulumi.Input[str]:
99
+ """
100
+ VPC network name with format: `projects/{{project}}/global/networks/{{network}}`
101
+ """
102
+ return pulumi.get(self, "network")
103
+
104
+ @network.setter
105
+ def network(self, value: pulumi.Input[str]):
106
+ pulumi.set(self, "network", value)
107
+
108
+ @property
109
+ @pulumi.getter(name="serviceLevel")
110
+ def service_level(self) -> pulumi.Input[str]:
111
+ """
112
+ Service level of the storage pool.
113
+ Possible values are: `PREMIUM`, `EXTREME`, `STANDARD`.
114
+ """
115
+ return pulumi.get(self, "service_level")
116
+
117
+ @service_level.setter
118
+ def service_level(self, value: pulumi.Input[str]):
119
+ pulumi.set(self, "service_level", value)
120
+
121
+ @property
122
+ @pulumi.getter(name="activeDirectory")
123
+ def active_directory(self) -> Optional[pulumi.Input[str]]:
124
+ """
125
+ Specifies the Active Directory policy to be used. Format: `projects/{{project}}/locations/{{location}}/activeDirectories/{{name}}`.
126
+ The policy needs to be in the same location as the storage pool.
127
+ """
128
+ return pulumi.get(self, "active_directory")
129
+
130
+ @active_directory.setter
131
+ def active_directory(self, value: Optional[pulumi.Input[str]]):
132
+ pulumi.set(self, "active_directory", value)
133
+
134
+ @property
135
+ @pulumi.getter
136
+ def description(self) -> Optional[pulumi.Input[str]]:
137
+ """
138
+ An optional description of this resource.
139
+ """
140
+ return pulumi.get(self, "description")
141
+
142
+ @description.setter
143
+ def description(self, value: Optional[pulumi.Input[str]]):
144
+ pulumi.set(self, "description", value)
145
+
146
+ @property
147
+ @pulumi.getter(name="kmsConfig")
148
+ def kms_config(self) -> Optional[pulumi.Input[str]]:
149
+ """
150
+ Specifies the CMEK policy to be used for volume encryption. Format: `projects/{{project}}/locations/{{location}}/kmsConfigs/{{name}}`.
151
+ The policy needs to be in the same location as the storage pool.
152
+ """
153
+ return pulumi.get(self, "kms_config")
154
+
155
+ @kms_config.setter
156
+ def kms_config(self, value: Optional[pulumi.Input[str]]):
157
+ pulumi.set(self, "kms_config", value)
158
+
159
+ @property
160
+ @pulumi.getter
161
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
162
+ """
163
+ Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
164
+
165
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
166
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
167
+ """
168
+ return pulumi.get(self, "labels")
169
+
170
+ @labels.setter
171
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
172
+ pulumi.set(self, "labels", value)
173
+
174
+ @property
175
+ @pulumi.getter(name="ldapEnabled")
176
+ def ldap_enabled(self) -> Optional[pulumi.Input[bool]]:
177
+ """
178
+ When enabled, the volumes uses Active Directory as LDAP name service for UID/GID lookups. Required to enable extended group support for NFSv3,
179
+ using security identifiers for NFSv4.1 or principal names for kerberized NFSv4.1.
180
+ """
181
+ return pulumi.get(self, "ldap_enabled")
182
+
183
+ @ldap_enabled.setter
184
+ def ldap_enabled(self, value: Optional[pulumi.Input[bool]]):
185
+ pulumi.set(self, "ldap_enabled", value)
186
+
187
+ @property
188
+ @pulumi.getter
189
+ def name(self) -> Optional[pulumi.Input[str]]:
190
+ """
191
+ The resource name of the storage pool. Needs to be unique per location.
192
+
193
+
194
+ - - -
195
+ """
196
+ return pulumi.get(self, "name")
197
+
198
+ @name.setter
199
+ def name(self, value: Optional[pulumi.Input[str]]):
200
+ pulumi.set(self, "name", value)
201
+
202
+ @property
203
+ @pulumi.getter
204
+ def project(self) -> Optional[pulumi.Input[str]]:
205
+ """
206
+ The ID of the project in which the resource belongs.
207
+ If it is not provided, the provider project is used.
208
+ """
209
+ return pulumi.get(self, "project")
210
+
211
+ @project.setter
212
+ def project(self, value: Optional[pulumi.Input[str]]):
213
+ pulumi.set(self, "project", value)
214
+
215
+
216
+ @pulumi.input_type
217
+ class _StoragePoolState:
218
+ def __init__(__self__, *,
219
+ active_directory: Optional[pulumi.Input[str]] = None,
220
+ capacity_gib: Optional[pulumi.Input[str]] = None,
221
+ description: Optional[pulumi.Input[str]] = None,
222
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
223
+ encryption_type: Optional[pulumi.Input[str]] = None,
224
+ kms_config: Optional[pulumi.Input[str]] = None,
225
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
226
+ ldap_enabled: Optional[pulumi.Input[bool]] = None,
227
+ location: Optional[pulumi.Input[str]] = None,
228
+ name: Optional[pulumi.Input[str]] = None,
229
+ network: Optional[pulumi.Input[str]] = None,
230
+ project: Optional[pulumi.Input[str]] = None,
231
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
232
+ service_level: Optional[pulumi.Input[str]] = None,
233
+ volume_capacity_gib: Optional[pulumi.Input[str]] = None,
234
+ volume_count: Optional[pulumi.Input[int]] = None):
235
+ """
236
+ Input properties used for looking up and filtering StoragePool resources.
237
+ :param pulumi.Input[str] active_directory: Specifies the Active Directory policy to be used. Format: `projects/{{project}}/locations/{{location}}/activeDirectories/{{name}}`.
238
+ The policy needs to be in the same location as the storage pool.
239
+ :param pulumi.Input[str] capacity_gib: Capacity of the storage pool (in GiB).
240
+ :param pulumi.Input[str] description: An optional description of this resource.
241
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
242
+ :param pulumi.Input[str] encryption_type: Reports if volumes in the pool are encrypted using a Google-managed encryption key or CMEK.
243
+ :param pulumi.Input[str] kms_config: Specifies the CMEK policy to be used for volume encryption. Format: `projects/{{project}}/locations/{{location}}/kmsConfigs/{{name}}`.
244
+ The policy needs to be in the same location as the storage pool.
245
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
246
+
247
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
248
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
249
+ :param pulumi.Input[bool] ldap_enabled: When enabled, the volumes uses Active Directory as LDAP name service for UID/GID lookups. Required to enable extended group support for NFSv3,
250
+ using security identifiers for NFSv4.1 or principal names for kerberized NFSv4.1.
251
+ :param pulumi.Input[str] location: Name of the location. Usually a region name, expect for some STANDARD service level pools which require a zone name.
252
+ :param pulumi.Input[str] name: The resource name of the storage pool. Needs to be unique per location.
253
+
254
+
255
+ - - -
256
+ :param pulumi.Input[str] network: VPC network name with format: `projects/{{project}}/global/networks/{{network}}`
257
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
258
+ If it is not provided, the provider project is used.
259
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
260
+ and default labels configured on the provider.
261
+ :param pulumi.Input[str] service_level: Service level of the storage pool.
262
+ Possible values are: `PREMIUM`, `EXTREME`, `STANDARD`.
263
+ :param pulumi.Input[str] volume_capacity_gib: Size allocated to volumes in the storage pool (in GiB).
264
+ :param pulumi.Input[int] volume_count: Number of volume in the storage pool.
265
+ """
266
+ if active_directory is not None:
267
+ pulumi.set(__self__, "active_directory", active_directory)
268
+ if capacity_gib is not None:
269
+ pulumi.set(__self__, "capacity_gib", capacity_gib)
270
+ if description is not None:
271
+ pulumi.set(__self__, "description", description)
272
+ if effective_labels is not None:
273
+ pulumi.set(__self__, "effective_labels", effective_labels)
274
+ if encryption_type is not None:
275
+ pulumi.set(__self__, "encryption_type", encryption_type)
276
+ if kms_config is not None:
277
+ pulumi.set(__self__, "kms_config", kms_config)
278
+ if labels is not None:
279
+ pulumi.set(__self__, "labels", labels)
280
+ if ldap_enabled is not None:
281
+ pulumi.set(__self__, "ldap_enabled", ldap_enabled)
282
+ if location is not None:
283
+ pulumi.set(__self__, "location", location)
284
+ if name is not None:
285
+ pulumi.set(__self__, "name", name)
286
+ if network is not None:
287
+ pulumi.set(__self__, "network", network)
288
+ if project is not None:
289
+ pulumi.set(__self__, "project", project)
290
+ if pulumi_labels is not None:
291
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
292
+ if service_level is not None:
293
+ pulumi.set(__self__, "service_level", service_level)
294
+ if volume_capacity_gib is not None:
295
+ pulumi.set(__self__, "volume_capacity_gib", volume_capacity_gib)
296
+ if volume_count is not None:
297
+ pulumi.set(__self__, "volume_count", volume_count)
298
+
299
+ @property
300
+ @pulumi.getter(name="activeDirectory")
301
+ def active_directory(self) -> Optional[pulumi.Input[str]]:
302
+ """
303
+ Specifies the Active Directory policy to be used. Format: `projects/{{project}}/locations/{{location}}/activeDirectories/{{name}}`.
304
+ The policy needs to be in the same location as the storage pool.
305
+ """
306
+ return pulumi.get(self, "active_directory")
307
+
308
+ @active_directory.setter
309
+ def active_directory(self, value: Optional[pulumi.Input[str]]):
310
+ pulumi.set(self, "active_directory", value)
311
+
312
+ @property
313
+ @pulumi.getter(name="capacityGib")
314
+ def capacity_gib(self) -> Optional[pulumi.Input[str]]:
315
+ """
316
+ Capacity of the storage pool (in GiB).
317
+ """
318
+ return pulumi.get(self, "capacity_gib")
319
+
320
+ @capacity_gib.setter
321
+ def capacity_gib(self, value: Optional[pulumi.Input[str]]):
322
+ pulumi.set(self, "capacity_gib", value)
323
+
324
+ @property
325
+ @pulumi.getter
326
+ def description(self) -> Optional[pulumi.Input[str]]:
327
+ """
328
+ An optional description of this resource.
329
+ """
330
+ return pulumi.get(self, "description")
331
+
332
+ @description.setter
333
+ def description(self, value: Optional[pulumi.Input[str]]):
334
+ pulumi.set(self, "description", value)
335
+
336
+ @property
337
+ @pulumi.getter(name="effectiveLabels")
338
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
339
+ """
340
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
341
+ """
342
+ return pulumi.get(self, "effective_labels")
343
+
344
+ @effective_labels.setter
345
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
346
+ pulumi.set(self, "effective_labels", value)
347
+
348
+ @property
349
+ @pulumi.getter(name="encryptionType")
350
+ def encryption_type(self) -> Optional[pulumi.Input[str]]:
351
+ """
352
+ Reports if volumes in the pool are encrypted using a Google-managed encryption key or CMEK.
353
+ """
354
+ return pulumi.get(self, "encryption_type")
355
+
356
+ @encryption_type.setter
357
+ def encryption_type(self, value: Optional[pulumi.Input[str]]):
358
+ pulumi.set(self, "encryption_type", value)
359
+
360
+ @property
361
+ @pulumi.getter(name="kmsConfig")
362
+ def kms_config(self) -> Optional[pulumi.Input[str]]:
363
+ """
364
+ Specifies the CMEK policy to be used for volume encryption. Format: `projects/{{project}}/locations/{{location}}/kmsConfigs/{{name}}`.
365
+ The policy needs to be in the same location as the storage pool.
366
+ """
367
+ return pulumi.get(self, "kms_config")
368
+
369
+ @kms_config.setter
370
+ def kms_config(self, value: Optional[pulumi.Input[str]]):
371
+ pulumi.set(self, "kms_config", value)
372
+
373
+ @property
374
+ @pulumi.getter
375
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
376
+ """
377
+ Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
378
+
379
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
380
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
381
+ """
382
+ return pulumi.get(self, "labels")
383
+
384
+ @labels.setter
385
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
386
+ pulumi.set(self, "labels", value)
387
+
388
+ @property
389
+ @pulumi.getter(name="ldapEnabled")
390
+ def ldap_enabled(self) -> Optional[pulumi.Input[bool]]:
391
+ """
392
+ When enabled, the volumes uses Active Directory as LDAP name service for UID/GID lookups. Required to enable extended group support for NFSv3,
393
+ using security identifiers for NFSv4.1 or principal names for kerberized NFSv4.1.
394
+ """
395
+ return pulumi.get(self, "ldap_enabled")
396
+
397
+ @ldap_enabled.setter
398
+ def ldap_enabled(self, value: Optional[pulumi.Input[bool]]):
399
+ pulumi.set(self, "ldap_enabled", value)
400
+
401
+ @property
402
+ @pulumi.getter
403
+ def location(self) -> Optional[pulumi.Input[str]]:
404
+ """
405
+ Name of the location. Usually a region name, expect for some STANDARD service level pools which require a zone name.
406
+ """
407
+ return pulumi.get(self, "location")
408
+
409
+ @location.setter
410
+ def location(self, value: Optional[pulumi.Input[str]]):
411
+ pulumi.set(self, "location", value)
412
+
413
+ @property
414
+ @pulumi.getter
415
+ def name(self) -> Optional[pulumi.Input[str]]:
416
+ """
417
+ The resource name of the storage pool. Needs to be unique per location.
418
+
419
+
420
+ - - -
421
+ """
422
+ return pulumi.get(self, "name")
423
+
424
+ @name.setter
425
+ def name(self, value: Optional[pulumi.Input[str]]):
426
+ pulumi.set(self, "name", value)
427
+
428
+ @property
429
+ @pulumi.getter
430
+ def network(self) -> Optional[pulumi.Input[str]]:
431
+ """
432
+ VPC network name with format: `projects/{{project}}/global/networks/{{network}}`
433
+ """
434
+ return pulumi.get(self, "network")
435
+
436
+ @network.setter
437
+ def network(self, value: Optional[pulumi.Input[str]]):
438
+ pulumi.set(self, "network", value)
439
+
440
+ @property
441
+ @pulumi.getter
442
+ def project(self) -> Optional[pulumi.Input[str]]:
443
+ """
444
+ The ID of the project in which the resource belongs.
445
+ If it is not provided, the provider project is used.
446
+ """
447
+ return pulumi.get(self, "project")
448
+
449
+ @project.setter
450
+ def project(self, value: Optional[pulumi.Input[str]]):
451
+ pulumi.set(self, "project", value)
452
+
453
+ @property
454
+ @pulumi.getter(name="pulumiLabels")
455
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
456
+ """
457
+ The combination of labels configured directly on the resource
458
+ and default labels configured on the provider.
459
+ """
460
+ return pulumi.get(self, "pulumi_labels")
461
+
462
+ @pulumi_labels.setter
463
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
464
+ pulumi.set(self, "pulumi_labels", value)
465
+
466
+ @property
467
+ @pulumi.getter(name="serviceLevel")
468
+ def service_level(self) -> Optional[pulumi.Input[str]]:
469
+ """
470
+ Service level of the storage pool.
471
+ Possible values are: `PREMIUM`, `EXTREME`, `STANDARD`.
472
+ """
473
+ return pulumi.get(self, "service_level")
474
+
475
+ @service_level.setter
476
+ def service_level(self, value: Optional[pulumi.Input[str]]):
477
+ pulumi.set(self, "service_level", value)
478
+
479
+ @property
480
+ @pulumi.getter(name="volumeCapacityGib")
481
+ def volume_capacity_gib(self) -> Optional[pulumi.Input[str]]:
482
+ """
483
+ Size allocated to volumes in the storage pool (in GiB).
484
+ """
485
+ return pulumi.get(self, "volume_capacity_gib")
486
+
487
+ @volume_capacity_gib.setter
488
+ def volume_capacity_gib(self, value: Optional[pulumi.Input[str]]):
489
+ pulumi.set(self, "volume_capacity_gib", value)
490
+
491
+ @property
492
+ @pulumi.getter(name="volumeCount")
493
+ def volume_count(self) -> Optional[pulumi.Input[int]]:
494
+ """
495
+ Number of volume in the storage pool.
496
+ """
497
+ return pulumi.get(self, "volume_count")
498
+
499
+ @volume_count.setter
500
+ def volume_count(self, value: Optional[pulumi.Input[int]]):
501
+ pulumi.set(self, "volume_count", value)
502
+
503
+
504
+ class StoragePool(pulumi.CustomResource):
505
+ @overload
506
+ def __init__(__self__,
507
+ resource_name: str,
508
+ opts: Optional[pulumi.ResourceOptions] = None,
509
+ active_directory: Optional[pulumi.Input[str]] = None,
510
+ capacity_gib: Optional[pulumi.Input[str]] = None,
511
+ description: Optional[pulumi.Input[str]] = None,
512
+ kms_config: Optional[pulumi.Input[str]] = None,
513
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
514
+ ldap_enabled: Optional[pulumi.Input[bool]] = None,
515
+ location: Optional[pulumi.Input[str]] = None,
516
+ name: Optional[pulumi.Input[str]] = None,
517
+ network: Optional[pulumi.Input[str]] = None,
518
+ project: Optional[pulumi.Input[str]] = None,
519
+ service_level: Optional[pulumi.Input[str]] = None,
520
+ __props__=None):
521
+ """
522
+ Storage pools act as containers for volumes. All volumes in a storage pool share the following information:
523
+ * Location
524
+ * Service level
525
+ * Virtual Private Cloud (VPC) network
526
+ * Active Directory policy
527
+ * LDAP use for NFS volumes, if applicable
528
+ * Customer-managed encryption key (CMEK) policy
529
+
530
+ The capacity of the pool can be split up and assigned to volumes within the pool. Storage pools are a billable component of NetApp Volumes. Billing is based on the location, service level, and capacity allocated to a pool independent of consumption at the volume level.
531
+
532
+ To get more information about storagePool, see:
533
+
534
+ * [API documentation](https://cloud.google.com/netapp/volumes/docs/reference/rest/v1/projects.locations.storagePools)
535
+ * How-to Guides
536
+ * [QUICKSTART_TITLE](https://cloud.google.com/netapp/volumes/docs/get-started/quickstarts/create-storage-pool)
537
+
538
+ ## Example Usage
539
+ ### Storage Pool Create
540
+
541
+ ```python
542
+ import pulumi
543
+ import pulumi_gcp as gcp
544
+
545
+ peering_network = gcp.compute.Network("peeringNetwork")
546
+ # Create an IP address
547
+ private_ip_alloc = gcp.compute.GlobalAddress("privateIpAlloc",
548
+ purpose="VPC_PEERING",
549
+ address_type="INTERNAL",
550
+ prefix_length=16,
551
+ network=peering_network.id)
552
+ # Create a private connection
553
+ default = gcp.servicenetworking.Connection("default",
554
+ network=peering_network.id,
555
+ service="netapp.servicenetworking.goog",
556
+ reserved_peering_ranges=[private_ip_alloc.name])
557
+ test_pool = gcp.netapp.StoragePool("testPool",
558
+ location="us-central1",
559
+ service_level="PREMIUM",
560
+ capacity_gib="2048",
561
+ network=peering_network.id)
562
+ ```
563
+
564
+ ## Import
565
+
566
+ storagePool can be imported using any of these accepted formats* `projects/{{project}}/locations/{{location}}/storagePools/{{name}}` * `{{project}}/{{location}}/{{name}}` * `{{location}}/{{name}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import storagePool using one of the formats above. For exampletf import {
567
+
568
+ id = "projects/{{project}}/locations/{{location}}/storagePools/{{name}}"
569
+
570
+ to = google_netapp_storage_pool.default }
571
+
572
+ ```sh
573
+ $ pulumi import gcp:netapp/storagePool:StoragePool When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), storagePool can be imported using one of the formats above. For example
574
+ ```
575
+
576
+ ```sh
577
+ $ pulumi import gcp:netapp/storagePool:StoragePool default projects/{{project}}/locations/{{location}}/storagePools/{{name}}
578
+ ```
579
+
580
+ ```sh
581
+ $ pulumi import gcp:netapp/storagePool:StoragePool default {{project}}/{{location}}/{{name}}
582
+ ```
583
+
584
+ ```sh
585
+ $ pulumi import gcp:netapp/storagePool:StoragePool default {{location}}/{{name}}
586
+ ```
587
+
588
+ :param str resource_name: The name of the resource.
589
+ :param pulumi.ResourceOptions opts: Options for the resource.
590
+ :param pulumi.Input[str] active_directory: Specifies the Active Directory policy to be used. Format: `projects/{{project}}/locations/{{location}}/activeDirectories/{{name}}`.
591
+ The policy needs to be in the same location as the storage pool.
592
+ :param pulumi.Input[str] capacity_gib: Capacity of the storage pool (in GiB).
593
+ :param pulumi.Input[str] description: An optional description of this resource.
594
+ :param pulumi.Input[str] kms_config: Specifies the CMEK policy to be used for volume encryption. Format: `projects/{{project}}/locations/{{location}}/kmsConfigs/{{name}}`.
595
+ The policy needs to be in the same location as the storage pool.
596
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
597
+
598
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
599
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
600
+ :param pulumi.Input[bool] ldap_enabled: When enabled, the volumes uses Active Directory as LDAP name service for UID/GID lookups. Required to enable extended group support for NFSv3,
601
+ using security identifiers for NFSv4.1 or principal names for kerberized NFSv4.1.
602
+ :param pulumi.Input[str] location: Name of the location. Usually a region name, expect for some STANDARD service level pools which require a zone name.
603
+ :param pulumi.Input[str] name: The resource name of the storage pool. Needs to be unique per location.
604
+
605
+
606
+ - - -
607
+ :param pulumi.Input[str] network: VPC network name with format: `projects/{{project}}/global/networks/{{network}}`
608
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
609
+ If it is not provided, the provider project is used.
610
+ :param pulumi.Input[str] service_level: Service level of the storage pool.
611
+ Possible values are: `PREMIUM`, `EXTREME`, `STANDARD`.
612
+ """
613
+ ...
614
+ @overload
615
+ def __init__(__self__,
616
+ resource_name: str,
617
+ args: StoragePoolArgs,
618
+ opts: Optional[pulumi.ResourceOptions] = None):
619
+ """
620
+ Storage pools act as containers for volumes. All volumes in a storage pool share the following information:
621
+ * Location
622
+ * Service level
623
+ * Virtual Private Cloud (VPC) network
624
+ * Active Directory policy
625
+ * LDAP use for NFS volumes, if applicable
626
+ * Customer-managed encryption key (CMEK) policy
627
+
628
+ The capacity of the pool can be split up and assigned to volumes within the pool. Storage pools are a billable component of NetApp Volumes. Billing is based on the location, service level, and capacity allocated to a pool independent of consumption at the volume level.
629
+
630
+ To get more information about storagePool, see:
631
+
632
+ * [API documentation](https://cloud.google.com/netapp/volumes/docs/reference/rest/v1/projects.locations.storagePools)
633
+ * How-to Guides
634
+ * [QUICKSTART_TITLE](https://cloud.google.com/netapp/volumes/docs/get-started/quickstarts/create-storage-pool)
635
+
636
+ ## Example Usage
637
+ ### Storage Pool Create
638
+
639
+ ```python
640
+ import pulumi
641
+ import pulumi_gcp as gcp
642
+
643
+ peering_network = gcp.compute.Network("peeringNetwork")
644
+ # Create an IP address
645
+ private_ip_alloc = gcp.compute.GlobalAddress("privateIpAlloc",
646
+ purpose="VPC_PEERING",
647
+ address_type="INTERNAL",
648
+ prefix_length=16,
649
+ network=peering_network.id)
650
+ # Create a private connection
651
+ default = gcp.servicenetworking.Connection("default",
652
+ network=peering_network.id,
653
+ service="netapp.servicenetworking.goog",
654
+ reserved_peering_ranges=[private_ip_alloc.name])
655
+ test_pool = gcp.netapp.StoragePool("testPool",
656
+ location="us-central1",
657
+ service_level="PREMIUM",
658
+ capacity_gib="2048",
659
+ network=peering_network.id)
660
+ ```
661
+
662
+ ## Import
663
+
664
+ storagePool can be imported using any of these accepted formats* `projects/{{project}}/locations/{{location}}/storagePools/{{name}}` * `{{project}}/{{location}}/{{name}}` * `{{location}}/{{name}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import storagePool using one of the formats above. For exampletf import {
665
+
666
+ id = "projects/{{project}}/locations/{{location}}/storagePools/{{name}}"
667
+
668
+ to = google_netapp_storage_pool.default }
669
+
670
+ ```sh
671
+ $ pulumi import gcp:netapp/storagePool:StoragePool When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), storagePool can be imported using one of the formats above. For example
672
+ ```
673
+
674
+ ```sh
675
+ $ pulumi import gcp:netapp/storagePool:StoragePool default projects/{{project}}/locations/{{location}}/storagePools/{{name}}
676
+ ```
677
+
678
+ ```sh
679
+ $ pulumi import gcp:netapp/storagePool:StoragePool default {{project}}/{{location}}/{{name}}
680
+ ```
681
+
682
+ ```sh
683
+ $ pulumi import gcp:netapp/storagePool:StoragePool default {{location}}/{{name}}
684
+ ```
685
+
686
+ :param str resource_name: The name of the resource.
687
+ :param StoragePoolArgs args: The arguments to use to populate this resource's properties.
688
+ :param pulumi.ResourceOptions opts: Options for the resource.
689
+ """
690
+ ...
691
+ def __init__(__self__, resource_name: str, *args, **kwargs):
692
+ resource_args, opts = _utilities.get_resource_args_opts(StoragePoolArgs, pulumi.ResourceOptions, *args, **kwargs)
693
+ if resource_args is not None:
694
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
695
+ else:
696
+ __self__._internal_init(resource_name, *args, **kwargs)
697
+
698
+ def _internal_init(__self__,
699
+ resource_name: str,
700
+ opts: Optional[pulumi.ResourceOptions] = None,
701
+ active_directory: Optional[pulumi.Input[str]] = None,
702
+ capacity_gib: Optional[pulumi.Input[str]] = None,
703
+ description: Optional[pulumi.Input[str]] = None,
704
+ kms_config: Optional[pulumi.Input[str]] = None,
705
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
706
+ ldap_enabled: Optional[pulumi.Input[bool]] = None,
707
+ location: Optional[pulumi.Input[str]] = None,
708
+ name: Optional[pulumi.Input[str]] = None,
709
+ network: Optional[pulumi.Input[str]] = None,
710
+ project: Optional[pulumi.Input[str]] = None,
711
+ service_level: Optional[pulumi.Input[str]] = None,
712
+ __props__=None):
713
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
714
+ if not isinstance(opts, pulumi.ResourceOptions):
715
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
716
+ if opts.id is None:
717
+ if __props__ is not None:
718
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
719
+ __props__ = StoragePoolArgs.__new__(StoragePoolArgs)
720
+
721
+ __props__.__dict__["active_directory"] = active_directory
722
+ if capacity_gib is None and not opts.urn:
723
+ raise TypeError("Missing required property 'capacity_gib'")
724
+ __props__.__dict__["capacity_gib"] = capacity_gib
725
+ __props__.__dict__["description"] = description
726
+ __props__.__dict__["kms_config"] = kms_config
727
+ __props__.__dict__["labels"] = labels
728
+ __props__.__dict__["ldap_enabled"] = ldap_enabled
729
+ if location is None and not opts.urn:
730
+ raise TypeError("Missing required property 'location'")
731
+ __props__.__dict__["location"] = location
732
+ __props__.__dict__["name"] = name
733
+ if network is None and not opts.urn:
734
+ raise TypeError("Missing required property 'network'")
735
+ __props__.__dict__["network"] = network
736
+ __props__.__dict__["project"] = project
737
+ if service_level is None and not opts.urn:
738
+ raise TypeError("Missing required property 'service_level'")
739
+ __props__.__dict__["service_level"] = service_level
740
+ __props__.__dict__["effective_labels"] = None
741
+ __props__.__dict__["encryption_type"] = None
742
+ __props__.__dict__["pulumi_labels"] = None
743
+ __props__.__dict__["volume_capacity_gib"] = None
744
+ __props__.__dict__["volume_count"] = None
745
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
746
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
747
+ super(StoragePool, __self__).__init__(
748
+ 'gcp:netapp/storagePool:StoragePool',
749
+ resource_name,
750
+ __props__,
751
+ opts)
752
+
753
+ @staticmethod
754
+ def get(resource_name: str,
755
+ id: pulumi.Input[str],
756
+ opts: Optional[pulumi.ResourceOptions] = None,
757
+ active_directory: Optional[pulumi.Input[str]] = None,
758
+ capacity_gib: Optional[pulumi.Input[str]] = None,
759
+ description: Optional[pulumi.Input[str]] = None,
760
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
761
+ encryption_type: Optional[pulumi.Input[str]] = None,
762
+ kms_config: Optional[pulumi.Input[str]] = None,
763
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
764
+ ldap_enabled: Optional[pulumi.Input[bool]] = None,
765
+ location: Optional[pulumi.Input[str]] = None,
766
+ name: Optional[pulumi.Input[str]] = None,
767
+ network: Optional[pulumi.Input[str]] = None,
768
+ project: Optional[pulumi.Input[str]] = None,
769
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
770
+ service_level: Optional[pulumi.Input[str]] = None,
771
+ volume_capacity_gib: Optional[pulumi.Input[str]] = None,
772
+ volume_count: Optional[pulumi.Input[int]] = None) -> 'StoragePool':
773
+ """
774
+ Get an existing StoragePool resource's state with the given name, id, and optional extra
775
+ properties used to qualify the lookup.
776
+
777
+ :param str resource_name: The unique name of the resulting resource.
778
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
779
+ :param pulumi.ResourceOptions opts: Options for the resource.
780
+ :param pulumi.Input[str] active_directory: Specifies the Active Directory policy to be used. Format: `projects/{{project}}/locations/{{location}}/activeDirectories/{{name}}`.
781
+ The policy needs to be in the same location as the storage pool.
782
+ :param pulumi.Input[str] capacity_gib: Capacity of the storage pool (in GiB).
783
+ :param pulumi.Input[str] description: An optional description of this resource.
784
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
785
+ :param pulumi.Input[str] encryption_type: Reports if volumes in the pool are encrypted using a Google-managed encryption key or CMEK.
786
+ :param pulumi.Input[str] kms_config: Specifies the CMEK policy to be used for volume encryption. Format: `projects/{{project}}/locations/{{location}}/kmsConfigs/{{name}}`.
787
+ The policy needs to be in the same location as the storage pool.
788
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
789
+
790
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
791
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
792
+ :param pulumi.Input[bool] ldap_enabled: When enabled, the volumes uses Active Directory as LDAP name service for UID/GID lookups. Required to enable extended group support for NFSv3,
793
+ using security identifiers for NFSv4.1 or principal names for kerberized NFSv4.1.
794
+ :param pulumi.Input[str] location: Name of the location. Usually a region name, expect for some STANDARD service level pools which require a zone name.
795
+ :param pulumi.Input[str] name: The resource name of the storage pool. Needs to be unique per location.
796
+
797
+
798
+ - - -
799
+ :param pulumi.Input[str] network: VPC network name with format: `projects/{{project}}/global/networks/{{network}}`
800
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
801
+ If it is not provided, the provider project is used.
802
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
803
+ and default labels configured on the provider.
804
+ :param pulumi.Input[str] service_level: Service level of the storage pool.
805
+ Possible values are: `PREMIUM`, `EXTREME`, `STANDARD`.
806
+ :param pulumi.Input[str] volume_capacity_gib: Size allocated to volumes in the storage pool (in GiB).
807
+ :param pulumi.Input[int] volume_count: Number of volume in the storage pool.
808
+ """
809
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
810
+
811
+ __props__ = _StoragePoolState.__new__(_StoragePoolState)
812
+
813
+ __props__.__dict__["active_directory"] = active_directory
814
+ __props__.__dict__["capacity_gib"] = capacity_gib
815
+ __props__.__dict__["description"] = description
816
+ __props__.__dict__["effective_labels"] = effective_labels
817
+ __props__.__dict__["encryption_type"] = encryption_type
818
+ __props__.__dict__["kms_config"] = kms_config
819
+ __props__.__dict__["labels"] = labels
820
+ __props__.__dict__["ldap_enabled"] = ldap_enabled
821
+ __props__.__dict__["location"] = location
822
+ __props__.__dict__["name"] = name
823
+ __props__.__dict__["network"] = network
824
+ __props__.__dict__["project"] = project
825
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
826
+ __props__.__dict__["service_level"] = service_level
827
+ __props__.__dict__["volume_capacity_gib"] = volume_capacity_gib
828
+ __props__.__dict__["volume_count"] = volume_count
829
+ return StoragePool(resource_name, opts=opts, __props__=__props__)
830
+
831
+ @property
832
+ @pulumi.getter(name="activeDirectory")
833
+ def active_directory(self) -> pulumi.Output[Optional[str]]:
834
+ """
835
+ Specifies the Active Directory policy to be used. Format: `projects/{{project}}/locations/{{location}}/activeDirectories/{{name}}`.
836
+ The policy needs to be in the same location as the storage pool.
837
+ """
838
+ return pulumi.get(self, "active_directory")
839
+
840
+ @property
841
+ @pulumi.getter(name="capacityGib")
842
+ def capacity_gib(self) -> pulumi.Output[str]:
843
+ """
844
+ Capacity of the storage pool (in GiB).
845
+ """
846
+ return pulumi.get(self, "capacity_gib")
847
+
848
+ @property
849
+ @pulumi.getter
850
+ def description(self) -> pulumi.Output[Optional[str]]:
851
+ """
852
+ An optional description of this resource.
853
+ """
854
+ return pulumi.get(self, "description")
855
+
856
+ @property
857
+ @pulumi.getter(name="effectiveLabels")
858
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
859
+ """
860
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
861
+ """
862
+ return pulumi.get(self, "effective_labels")
863
+
864
+ @property
865
+ @pulumi.getter(name="encryptionType")
866
+ def encryption_type(self) -> pulumi.Output[str]:
867
+ """
868
+ Reports if volumes in the pool are encrypted using a Google-managed encryption key or CMEK.
869
+ """
870
+ return pulumi.get(self, "encryption_type")
871
+
872
+ @property
873
+ @pulumi.getter(name="kmsConfig")
874
+ def kms_config(self) -> pulumi.Output[Optional[str]]:
875
+ """
876
+ Specifies the CMEK policy to be used for volume encryption. Format: `projects/{{project}}/locations/{{location}}/kmsConfigs/{{name}}`.
877
+ The policy needs to be in the same location as the storage pool.
878
+ """
879
+ return pulumi.get(self, "kms_config")
880
+
881
+ @property
882
+ @pulumi.getter
883
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
884
+ """
885
+ Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
886
+
887
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
888
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
889
+ """
890
+ return pulumi.get(self, "labels")
891
+
892
+ @property
893
+ @pulumi.getter(name="ldapEnabled")
894
+ def ldap_enabled(self) -> pulumi.Output[Optional[bool]]:
895
+ """
896
+ When enabled, the volumes uses Active Directory as LDAP name service for UID/GID lookups. Required to enable extended group support for NFSv3,
897
+ using security identifiers for NFSv4.1 or principal names for kerberized NFSv4.1.
898
+ """
899
+ return pulumi.get(self, "ldap_enabled")
900
+
901
+ @property
902
+ @pulumi.getter
903
+ def location(self) -> pulumi.Output[str]:
904
+ """
905
+ Name of the location. Usually a region name, expect for some STANDARD service level pools which require a zone name.
906
+ """
907
+ return pulumi.get(self, "location")
908
+
909
+ @property
910
+ @pulumi.getter
911
+ def name(self) -> pulumi.Output[str]:
912
+ """
913
+ The resource name of the storage pool. Needs to be unique per location.
914
+
915
+
916
+ - - -
917
+ """
918
+ return pulumi.get(self, "name")
919
+
920
+ @property
921
+ @pulumi.getter
922
+ def network(self) -> pulumi.Output[str]:
923
+ """
924
+ VPC network name with format: `projects/{{project}}/global/networks/{{network}}`
925
+ """
926
+ return pulumi.get(self, "network")
927
+
928
+ @property
929
+ @pulumi.getter
930
+ def project(self) -> pulumi.Output[str]:
931
+ """
932
+ The ID of the project in which the resource belongs.
933
+ If it is not provided, the provider project is used.
934
+ """
935
+ return pulumi.get(self, "project")
936
+
937
+ @property
938
+ @pulumi.getter(name="pulumiLabels")
939
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
940
+ """
941
+ The combination of labels configured directly on the resource
942
+ and default labels configured on the provider.
943
+ """
944
+ return pulumi.get(self, "pulumi_labels")
945
+
946
+ @property
947
+ @pulumi.getter(name="serviceLevel")
948
+ def service_level(self) -> pulumi.Output[str]:
949
+ """
950
+ Service level of the storage pool.
951
+ Possible values are: `PREMIUM`, `EXTREME`, `STANDARD`.
952
+ """
953
+ return pulumi.get(self, "service_level")
954
+
955
+ @property
956
+ @pulumi.getter(name="volumeCapacityGib")
957
+ def volume_capacity_gib(self) -> pulumi.Output[str]:
958
+ """
959
+ Size allocated to volumes in the storage pool (in GiB).
960
+ """
961
+ return pulumi.get(self, "volume_capacity_gib")
962
+
963
+ @property
964
+ @pulumi.getter(name="volumeCount")
965
+ def volume_count(self) -> pulumi.Output[int]:
966
+ """
967
+ Number of volume in the storage pool.
968
+ """
969
+ return pulumi.get(self, "volume_count")
970
+