pulumi-gcp 7.30.0a1720075632__py3-none-any.whl → 7.30.0a1720437548__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 (56) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/artifactregistry/get_docker_image.py +2 -2
  3. pulumi_gcp/bigtable/gc_policy.py +68 -14
  4. pulumi_gcp/cloudfunctionsv2/_inputs.py +97 -0
  5. pulumi_gcp/cloudfunctionsv2/function.py +232 -0
  6. pulumi_gcp/cloudfunctionsv2/outputs.py +129 -1
  7. pulumi_gcp/compute/_inputs.py +622 -0
  8. pulumi_gcp/compute/address.py +0 -7
  9. pulumi_gcp/compute/backend_service.py +0 -14
  10. pulumi_gcp/compute/forwarding_rule.py +0 -21
  11. pulumi_gcp/compute/global_forwarding_rule.py +0 -21
  12. pulumi_gcp/compute/managed_ssl_certificate.py +0 -7
  13. pulumi_gcp/compute/manged_ssl_certificate.py +0 -7
  14. pulumi_gcp/compute/network_attachment.py +16 -0
  15. pulumi_gcp/compute/outputs.py +504 -8
  16. pulumi_gcp/compute/region_backend_service.py +0 -14
  17. pulumi_gcp/compute/region_ssl_certificate.py +0 -7
  18. pulumi_gcp/compute/ssl_certificate.py +0 -7
  19. pulumi_gcp/compute/target_https_proxy.py +76 -1
  20. pulumi_gcp/compute/url_map.py +255 -0
  21. pulumi_gcp/container/aws_cluster.py +2 -2
  22. pulumi_gcp/container/aws_node_pool.py +2 -2
  23. pulumi_gcp/container/azure_client.py +2 -2
  24. pulumi_gcp/container/azure_cluster.py +2 -2
  25. pulumi_gcp/container/azure_node_pool.py +2 -2
  26. pulumi_gcp/datafusion/_inputs.py +163 -11
  27. pulumi_gcp/datafusion/instance.py +64 -0
  28. pulumi_gcp/datafusion/outputs.py +127 -7
  29. pulumi_gcp/healthcare/_inputs.py +43 -0
  30. pulumi_gcp/healthcare/dataset.py +110 -0
  31. pulumi_gcp/healthcare/outputs.py +43 -0
  32. pulumi_gcp/identityplatform/config.py +1 -1
  33. pulumi_gcp/logging/billing_account_bucket_config.py +1 -1
  34. pulumi_gcp/logging/folder_bucket_config.py +1 -1
  35. pulumi_gcp/logging/organization_bucket_config.py +1 -1
  36. pulumi_gcp/monitoring/_inputs.py +77 -0
  37. pulumi_gcp/monitoring/outputs.py +63 -0
  38. pulumi_gcp/pulumi-plugin.json +1 -1
  39. pulumi_gcp/securitycenter/instance_iam_binding.py +64 -0
  40. pulumi_gcp/securitycenter/instance_iam_member.py +64 -0
  41. pulumi_gcp/securitycenter/instance_iam_policy.py +64 -0
  42. pulumi_gcp/storage/__init__.py +5 -0
  43. pulumi_gcp/storage/_inputs.py +130 -0
  44. pulumi_gcp/storage/get_managed_folder_iam_policy.py +115 -0
  45. pulumi_gcp/storage/managed_folder.py +440 -0
  46. pulumi_gcp/storage/managed_folder_iam_binding.py +947 -0
  47. pulumi_gcp/storage/managed_folder_iam_member.py +947 -0
  48. pulumi_gcp/storage/managed_folder_iam_policy.py +766 -0
  49. pulumi_gcp/storage/outputs.py +76 -0
  50. pulumi_gcp/vertex/_inputs.py +3 -3
  51. pulumi_gcp/vertex/ai_feature_online_store.py +9 -9
  52. pulumi_gcp/vertex/outputs.py +2 -2
  53. {pulumi_gcp-7.30.0a1720075632.dist-info → pulumi_gcp-7.30.0a1720437548.dist-info}/METADATA +1 -1
  54. {pulumi_gcp-7.30.0a1720075632.dist-info → pulumi_gcp-7.30.0a1720437548.dist-info}/RECORD +56 -51
  55. {pulumi_gcp-7.30.0a1720075632.dist-info → pulumi_gcp-7.30.0a1720437548.dist-info}/WHEEL +0 -0
  56. {pulumi_gcp-7.30.0a1720075632.dist-info → pulumi_gcp-7.30.0a1720437548.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,440 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = ['ManagedFolderArgs', 'ManagedFolder']
18
+
19
+ @pulumi.input_type
20
+ class ManagedFolderArgs:
21
+ def __init__(__self__, *,
22
+ bucket: pulumi.Input[str],
23
+ name: Optional[pulumi.Input[str]] = None):
24
+ """
25
+ The set of arguments for constructing a ManagedFolder resource.
26
+ :param pulumi.Input[str] bucket: The name of the bucket that contains the managed folder.
27
+ :param pulumi.Input[str] name: The name of the managed folder expressed as a path. Must include
28
+ trailing '/'. For example, `example_dir/example_dir2/`.
29
+
30
+
31
+ - - -
32
+ """
33
+ pulumi.set(__self__, "bucket", bucket)
34
+ if name is not None:
35
+ pulumi.set(__self__, "name", name)
36
+
37
+ @property
38
+ @pulumi.getter
39
+ def bucket(self) -> pulumi.Input[str]:
40
+ """
41
+ The name of the bucket that contains the managed folder.
42
+ """
43
+ return pulumi.get(self, "bucket")
44
+
45
+ @bucket.setter
46
+ def bucket(self, value: pulumi.Input[str]):
47
+ pulumi.set(self, "bucket", value)
48
+
49
+ @property
50
+ @pulumi.getter
51
+ def name(self) -> Optional[pulumi.Input[str]]:
52
+ """
53
+ The name of the managed folder expressed as a path. Must include
54
+ trailing '/'. For example, `example_dir/example_dir2/`.
55
+
56
+
57
+ - - -
58
+ """
59
+ return pulumi.get(self, "name")
60
+
61
+ @name.setter
62
+ def name(self, value: Optional[pulumi.Input[str]]):
63
+ pulumi.set(self, "name", value)
64
+
65
+
66
+ @pulumi.input_type
67
+ class _ManagedFolderState:
68
+ def __init__(__self__, *,
69
+ bucket: Optional[pulumi.Input[str]] = None,
70
+ create_time: Optional[pulumi.Input[str]] = None,
71
+ metageneration: Optional[pulumi.Input[str]] = None,
72
+ name: Optional[pulumi.Input[str]] = None,
73
+ self_link: Optional[pulumi.Input[str]] = None,
74
+ update_time: Optional[pulumi.Input[str]] = None):
75
+ """
76
+ Input properties used for looking up and filtering ManagedFolder resources.
77
+ :param pulumi.Input[str] bucket: The name of the bucket that contains the managed folder.
78
+ :param pulumi.Input[str] create_time: The timestamp at which this managed folder was created.
79
+ :param pulumi.Input[str] metageneration: The metadata generation of the managed folder.
80
+ :param pulumi.Input[str] name: The name of the managed folder expressed as a path. Must include
81
+ trailing '/'. For example, `example_dir/example_dir2/`.
82
+
83
+
84
+ - - -
85
+ :param pulumi.Input[str] self_link: The URI of the created resource.
86
+ :param pulumi.Input[str] update_time: The timestamp at which this managed folder was most recently updated.
87
+ """
88
+ if bucket is not None:
89
+ pulumi.set(__self__, "bucket", bucket)
90
+ if create_time is not None:
91
+ pulumi.set(__self__, "create_time", create_time)
92
+ if metageneration is not None:
93
+ pulumi.set(__self__, "metageneration", metageneration)
94
+ if name is not None:
95
+ pulumi.set(__self__, "name", name)
96
+ if self_link is not None:
97
+ pulumi.set(__self__, "self_link", self_link)
98
+ if update_time is not None:
99
+ pulumi.set(__self__, "update_time", update_time)
100
+
101
+ @property
102
+ @pulumi.getter
103
+ def bucket(self) -> Optional[pulumi.Input[str]]:
104
+ """
105
+ The name of the bucket that contains the managed folder.
106
+ """
107
+ return pulumi.get(self, "bucket")
108
+
109
+ @bucket.setter
110
+ def bucket(self, value: Optional[pulumi.Input[str]]):
111
+ pulumi.set(self, "bucket", value)
112
+
113
+ @property
114
+ @pulumi.getter(name="createTime")
115
+ def create_time(self) -> Optional[pulumi.Input[str]]:
116
+ """
117
+ The timestamp at which this managed folder was created.
118
+ """
119
+ return pulumi.get(self, "create_time")
120
+
121
+ @create_time.setter
122
+ def create_time(self, value: Optional[pulumi.Input[str]]):
123
+ pulumi.set(self, "create_time", value)
124
+
125
+ @property
126
+ @pulumi.getter
127
+ def metageneration(self) -> Optional[pulumi.Input[str]]:
128
+ """
129
+ The metadata generation of the managed folder.
130
+ """
131
+ return pulumi.get(self, "metageneration")
132
+
133
+ @metageneration.setter
134
+ def metageneration(self, value: Optional[pulumi.Input[str]]):
135
+ pulumi.set(self, "metageneration", value)
136
+
137
+ @property
138
+ @pulumi.getter
139
+ def name(self) -> Optional[pulumi.Input[str]]:
140
+ """
141
+ The name of the managed folder expressed as a path. Must include
142
+ trailing '/'. For example, `example_dir/example_dir2/`.
143
+
144
+
145
+ - - -
146
+ """
147
+ return pulumi.get(self, "name")
148
+
149
+ @name.setter
150
+ def name(self, value: Optional[pulumi.Input[str]]):
151
+ pulumi.set(self, "name", value)
152
+
153
+ @property
154
+ @pulumi.getter(name="selfLink")
155
+ def self_link(self) -> Optional[pulumi.Input[str]]:
156
+ """
157
+ The URI of the created resource.
158
+ """
159
+ return pulumi.get(self, "self_link")
160
+
161
+ @self_link.setter
162
+ def self_link(self, value: Optional[pulumi.Input[str]]):
163
+ pulumi.set(self, "self_link", value)
164
+
165
+ @property
166
+ @pulumi.getter(name="updateTime")
167
+ def update_time(self) -> Optional[pulumi.Input[str]]:
168
+ """
169
+ The timestamp at which this managed folder was most recently updated.
170
+ """
171
+ return pulumi.get(self, "update_time")
172
+
173
+ @update_time.setter
174
+ def update_time(self, value: Optional[pulumi.Input[str]]):
175
+ pulumi.set(self, "update_time", value)
176
+
177
+
178
+ class ManagedFolder(pulumi.CustomResource):
179
+ @overload
180
+ def __init__(__self__,
181
+ resource_name: str,
182
+ opts: Optional[pulumi.ResourceOptions] = None,
183
+ bucket: Optional[pulumi.Input[str]] = None,
184
+ name: Optional[pulumi.Input[str]] = None,
185
+ __props__=None):
186
+ """
187
+ A Google Cloud Storage Managed Folder.
188
+
189
+ You can apply Identity and Access Management (IAM) policies to
190
+ managed folders to grant principals access only to the objects
191
+ within the managed folder, which lets you more finely control access
192
+ for specific data sets and tables within a bucket. You can nest
193
+ managed folders up to 15 levels deep, including the parent managed
194
+ folder.
195
+
196
+ Managed folders can only be created in buckets that have uniform
197
+ bucket-level access enabled.
198
+
199
+ To get more information about ManagedFolder, see:
200
+
201
+ * [API documentation](https://cloud.google.com/storage/docs/json_api/v1/managedFolder)
202
+ * How-to Guides
203
+ * [Official Documentation](https://cloud.google.com/storage/docs/managed-folders)
204
+
205
+ ## Example Usage
206
+
207
+ ### Storage Managed Folder Basic
208
+
209
+ ```python
210
+ import pulumi
211
+ import pulumi_gcp as gcp
212
+
213
+ bucket = gcp.storage.Bucket("bucket",
214
+ name="my-bucket",
215
+ location="EU",
216
+ uniform_bucket_level_access=True)
217
+ folder = gcp.storage.ManagedFolder("folder",
218
+ bucket=bucket.name,
219
+ name="managed/folder/name/")
220
+ ```
221
+
222
+ ## Import
223
+
224
+ ManagedFolder can be imported using any of these accepted formats:
225
+
226
+ * `{{bucket}}/managedFolders/{{name}}`
227
+
228
+ * `{{bucket}}/{{name}}`
229
+
230
+ When using the `pulumi import` command, ManagedFolder can be imported using one of the formats above. For example:
231
+
232
+ ```sh
233
+ $ pulumi import gcp:storage/managedFolder:ManagedFolder default {{bucket}}/managedFolders/{{name}}
234
+ ```
235
+
236
+ ```sh
237
+ $ pulumi import gcp:storage/managedFolder:ManagedFolder default {{bucket}}/{{name}}
238
+ ```
239
+
240
+ :param str resource_name: The name of the resource.
241
+ :param pulumi.ResourceOptions opts: Options for the resource.
242
+ :param pulumi.Input[str] bucket: The name of the bucket that contains the managed folder.
243
+ :param pulumi.Input[str] name: The name of the managed folder expressed as a path. Must include
244
+ trailing '/'. For example, `example_dir/example_dir2/`.
245
+
246
+
247
+ - - -
248
+ """
249
+ ...
250
+ @overload
251
+ def __init__(__self__,
252
+ resource_name: str,
253
+ args: ManagedFolderArgs,
254
+ opts: Optional[pulumi.ResourceOptions] = None):
255
+ """
256
+ A Google Cloud Storage Managed Folder.
257
+
258
+ You can apply Identity and Access Management (IAM) policies to
259
+ managed folders to grant principals access only to the objects
260
+ within the managed folder, which lets you more finely control access
261
+ for specific data sets and tables within a bucket. You can nest
262
+ managed folders up to 15 levels deep, including the parent managed
263
+ folder.
264
+
265
+ Managed folders can only be created in buckets that have uniform
266
+ bucket-level access enabled.
267
+
268
+ To get more information about ManagedFolder, see:
269
+
270
+ * [API documentation](https://cloud.google.com/storage/docs/json_api/v1/managedFolder)
271
+ * How-to Guides
272
+ * [Official Documentation](https://cloud.google.com/storage/docs/managed-folders)
273
+
274
+ ## Example Usage
275
+
276
+ ### Storage Managed Folder Basic
277
+
278
+ ```python
279
+ import pulumi
280
+ import pulumi_gcp as gcp
281
+
282
+ bucket = gcp.storage.Bucket("bucket",
283
+ name="my-bucket",
284
+ location="EU",
285
+ uniform_bucket_level_access=True)
286
+ folder = gcp.storage.ManagedFolder("folder",
287
+ bucket=bucket.name,
288
+ name="managed/folder/name/")
289
+ ```
290
+
291
+ ## Import
292
+
293
+ ManagedFolder can be imported using any of these accepted formats:
294
+
295
+ * `{{bucket}}/managedFolders/{{name}}`
296
+
297
+ * `{{bucket}}/{{name}}`
298
+
299
+ When using the `pulumi import` command, ManagedFolder can be imported using one of the formats above. For example:
300
+
301
+ ```sh
302
+ $ pulumi import gcp:storage/managedFolder:ManagedFolder default {{bucket}}/managedFolders/{{name}}
303
+ ```
304
+
305
+ ```sh
306
+ $ pulumi import gcp:storage/managedFolder:ManagedFolder default {{bucket}}/{{name}}
307
+ ```
308
+
309
+ :param str resource_name: The name of the resource.
310
+ :param ManagedFolderArgs args: The arguments to use to populate this resource's properties.
311
+ :param pulumi.ResourceOptions opts: Options for the resource.
312
+ """
313
+ ...
314
+ def __init__(__self__, resource_name: str, *args, **kwargs):
315
+ resource_args, opts = _utilities.get_resource_args_opts(ManagedFolderArgs, pulumi.ResourceOptions, *args, **kwargs)
316
+ if resource_args is not None:
317
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
318
+ else:
319
+ __self__._internal_init(resource_name, *args, **kwargs)
320
+
321
+ def _internal_init(__self__,
322
+ resource_name: str,
323
+ opts: Optional[pulumi.ResourceOptions] = None,
324
+ bucket: Optional[pulumi.Input[str]] = None,
325
+ name: Optional[pulumi.Input[str]] = None,
326
+ __props__=None):
327
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
328
+ if not isinstance(opts, pulumi.ResourceOptions):
329
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
330
+ if opts.id is None:
331
+ if __props__ is not None:
332
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
333
+ __props__ = ManagedFolderArgs.__new__(ManagedFolderArgs)
334
+
335
+ if bucket is None and not opts.urn:
336
+ raise TypeError("Missing required property 'bucket'")
337
+ __props__.__dict__["bucket"] = bucket
338
+ __props__.__dict__["name"] = name
339
+ __props__.__dict__["create_time"] = None
340
+ __props__.__dict__["metageneration"] = None
341
+ __props__.__dict__["self_link"] = None
342
+ __props__.__dict__["update_time"] = None
343
+ super(ManagedFolder, __self__).__init__(
344
+ 'gcp:storage/managedFolder:ManagedFolder',
345
+ resource_name,
346
+ __props__,
347
+ opts)
348
+
349
+ @staticmethod
350
+ def get(resource_name: str,
351
+ id: pulumi.Input[str],
352
+ opts: Optional[pulumi.ResourceOptions] = None,
353
+ bucket: Optional[pulumi.Input[str]] = None,
354
+ create_time: Optional[pulumi.Input[str]] = None,
355
+ metageneration: Optional[pulumi.Input[str]] = None,
356
+ name: Optional[pulumi.Input[str]] = None,
357
+ self_link: Optional[pulumi.Input[str]] = None,
358
+ update_time: Optional[pulumi.Input[str]] = None) -> 'ManagedFolder':
359
+ """
360
+ Get an existing ManagedFolder resource's state with the given name, id, and optional extra
361
+ properties used to qualify the lookup.
362
+
363
+ :param str resource_name: The unique name of the resulting resource.
364
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
365
+ :param pulumi.ResourceOptions opts: Options for the resource.
366
+ :param pulumi.Input[str] bucket: The name of the bucket that contains the managed folder.
367
+ :param pulumi.Input[str] create_time: The timestamp at which this managed folder was created.
368
+ :param pulumi.Input[str] metageneration: The metadata generation of the managed folder.
369
+ :param pulumi.Input[str] name: The name of the managed folder expressed as a path. Must include
370
+ trailing '/'. For example, `example_dir/example_dir2/`.
371
+
372
+
373
+ - - -
374
+ :param pulumi.Input[str] self_link: The URI of the created resource.
375
+ :param pulumi.Input[str] update_time: The timestamp at which this managed folder was most recently updated.
376
+ """
377
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
378
+
379
+ __props__ = _ManagedFolderState.__new__(_ManagedFolderState)
380
+
381
+ __props__.__dict__["bucket"] = bucket
382
+ __props__.__dict__["create_time"] = create_time
383
+ __props__.__dict__["metageneration"] = metageneration
384
+ __props__.__dict__["name"] = name
385
+ __props__.__dict__["self_link"] = self_link
386
+ __props__.__dict__["update_time"] = update_time
387
+ return ManagedFolder(resource_name, opts=opts, __props__=__props__)
388
+
389
+ @property
390
+ @pulumi.getter
391
+ def bucket(self) -> pulumi.Output[str]:
392
+ """
393
+ The name of the bucket that contains the managed folder.
394
+ """
395
+ return pulumi.get(self, "bucket")
396
+
397
+ @property
398
+ @pulumi.getter(name="createTime")
399
+ def create_time(self) -> pulumi.Output[str]:
400
+ """
401
+ The timestamp at which this managed folder was created.
402
+ """
403
+ return pulumi.get(self, "create_time")
404
+
405
+ @property
406
+ @pulumi.getter
407
+ def metageneration(self) -> pulumi.Output[str]:
408
+ """
409
+ The metadata generation of the managed folder.
410
+ """
411
+ return pulumi.get(self, "metageneration")
412
+
413
+ @property
414
+ @pulumi.getter
415
+ def name(self) -> pulumi.Output[str]:
416
+ """
417
+ The name of the managed folder expressed as a path. Must include
418
+ trailing '/'. For example, `example_dir/example_dir2/`.
419
+
420
+
421
+ - - -
422
+ """
423
+ return pulumi.get(self, "name")
424
+
425
+ @property
426
+ @pulumi.getter(name="selfLink")
427
+ def self_link(self) -> pulumi.Output[str]:
428
+ """
429
+ The URI of the created resource.
430
+ """
431
+ return pulumi.get(self, "self_link")
432
+
433
+ @property
434
+ @pulumi.getter(name="updateTime")
435
+ def update_time(self) -> pulumi.Output[str]:
436
+ """
437
+ The timestamp at which this managed folder was most recently updated.
438
+ """
439
+ return pulumi.get(self, "update_time")
440
+