pulumi-gcp 8.3.0a1726834947__py3-none-any.whl → 8.3.0a1727226164__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 (76) hide show
  1. pulumi_gcp/__init__.py +120 -0
  2. pulumi_gcp/alloydb/_inputs.py +20 -0
  3. pulumi_gcp/alloydb/instance.py +36 -0
  4. pulumi_gcp/alloydb/outputs.py +14 -0
  5. pulumi_gcp/compute/__init__.py +1 -0
  6. pulumi_gcp/compute/_inputs.py +1400 -0
  7. pulumi_gcp/compute/attached_disk.py +103 -0
  8. pulumi_gcp/compute/backend_service.py +29 -22
  9. pulumi_gcp/compute/firewall_policy_with_rules.py +769 -0
  10. pulumi_gcp/compute/outputs.py +1019 -0
  11. pulumi_gcp/compute/region_backend_service.py +29 -22
  12. pulumi_gcp/compute/router_nat.py +27 -66
  13. pulumi_gcp/config/__init__.pyi +2 -0
  14. pulumi_gcp/config/vars.py +4 -0
  15. pulumi_gcp/container/_inputs.py +72 -99
  16. pulumi_gcp/container/outputs.py +53 -70
  17. pulumi_gcp/databasemigrationservice/__init__.py +1 -0
  18. pulumi_gcp/databasemigrationservice/_inputs.py +362 -0
  19. pulumi_gcp/databasemigrationservice/migration_job.py +1739 -0
  20. pulumi_gcp/databasemigrationservice/outputs.py +268 -0
  21. pulumi_gcp/dataproc/get_metastore_service.py +11 -1
  22. pulumi_gcp/dataproc/metastore_service.py +93 -0
  23. pulumi_gcp/developerconnect/_inputs.py +42 -39
  24. pulumi_gcp/developerconnect/connection.py +86 -83
  25. pulumi_gcp/developerconnect/outputs.py +28 -26
  26. pulumi_gcp/discoveryengine/__init__.py +1 -0
  27. pulumi_gcp/discoveryengine/_inputs.py +131 -0
  28. pulumi_gcp/discoveryengine/outputs.py +131 -0
  29. pulumi_gcp/discoveryengine/target_site.py +870 -0
  30. pulumi_gcp/dns/managed_zone.py +1 -1
  31. pulumi_gcp/filestore/get_instance.py +21 -1
  32. pulumi_gcp/filestore/instance.py +94 -0
  33. pulumi_gcp/gkehub/feature_membership.py +140 -62
  34. pulumi_gcp/healthcare/__init__.py +1 -0
  35. pulumi_gcp/healthcare/_inputs.py +39 -0
  36. pulumi_gcp/healthcare/outputs.py +40 -0
  37. pulumi_gcp/healthcare/workspace.py +465 -0
  38. pulumi_gcp/looker/instance.py +81 -0
  39. pulumi_gcp/netapp/_inputs.py +63 -0
  40. pulumi_gcp/netapp/outputs.py +57 -0
  41. pulumi_gcp/netapp/storage_pool.py +54 -0
  42. pulumi_gcp/netapp/volume.py +82 -0
  43. pulumi_gcp/provider.py +20 -0
  44. pulumi_gcp/pubsub/subscription.py +43 -7
  45. pulumi_gcp/pulumi-plugin.json +1 -1
  46. pulumi_gcp/secretmanager/__init__.py +8 -0
  47. pulumi_gcp/secretmanager/_inputs.py +308 -0
  48. pulumi_gcp/secretmanager/get_regional_secret.py +279 -0
  49. pulumi_gcp/secretmanager/get_regional_secret_iam_policy.py +173 -0
  50. pulumi_gcp/secretmanager/get_regional_secret_version.py +241 -0
  51. pulumi_gcp/secretmanager/outputs.py +336 -0
  52. pulumi_gcp/secretmanager/regional_secret.py +1433 -0
  53. pulumi_gcp/secretmanager/regional_secret_iam_binding.py +1082 -0
  54. pulumi_gcp/secretmanager/regional_secret_iam_member.py +1082 -0
  55. pulumi_gcp/secretmanager/regional_secret_iam_policy.py +901 -0
  56. pulumi_gcp/secretmanager/regional_secret_version.py +753 -0
  57. pulumi_gcp/securitycenter/__init__.py +4 -0
  58. pulumi_gcp/securitycenter/folder_scc_big_query_export.py +795 -0
  59. pulumi_gcp/securitycenter/organization_scc_big_query_export.py +738 -0
  60. pulumi_gcp/securitycenter/project_scc_big_query_export.py +749 -0
  61. pulumi_gcp/securitycenter/v2_organization_scc_big_query_export.py +862 -0
  62. pulumi_gcp/securitycenter/v2_organization_scc_big_query_exports.py +6 -2
  63. pulumi_gcp/siteverification/__init__.py +3 -0
  64. pulumi_gcp/siteverification/_inputs.py +85 -0
  65. pulumi_gcp/siteverification/outputs.py +57 -0
  66. pulumi_gcp/siteverification/web_resource.py +398 -0
  67. pulumi_gcp/spanner/__init__.py +1 -0
  68. pulumi_gcp/spanner/_inputs.py +129 -0
  69. pulumi_gcp/spanner/backup_schedule.py +748 -0
  70. pulumi_gcp/spanner/get_instance.py +11 -1
  71. pulumi_gcp/spanner/instance.py +56 -0
  72. pulumi_gcp/spanner/outputs.py +93 -0
  73. {pulumi_gcp-8.3.0a1726834947.dist-info → pulumi_gcp-8.3.0a1727226164.dist-info}/METADATA +1 -1
  74. {pulumi_gcp-8.3.0a1726834947.dist-info → pulumi_gcp-8.3.0a1727226164.dist-info}/RECORD +76 -56
  75. {pulumi_gcp-8.3.0a1726834947.dist-info → pulumi_gcp-8.3.0a1727226164.dist-info}/WHEEL +0 -0
  76. {pulumi_gcp-8.3.0a1726834947.dist-info → pulumi_gcp-8.3.0a1727226164.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,465 @@
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
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['WorkspaceArgs', 'Workspace']
20
+
21
+ @pulumi.input_type
22
+ class WorkspaceArgs:
23
+ def __init__(__self__, *,
24
+ dataset: pulumi.Input[str],
25
+ settings: pulumi.Input['WorkspaceSettingsArgs'],
26
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
27
+ name: Optional[pulumi.Input[str]] = None):
28
+ """
29
+ The set of arguments for constructing a Workspace resource.
30
+ :param pulumi.Input[str] dataset: Identifies the dataset addressed by this request. Must be in the format
31
+ 'projects/{project}/locations/{location}/datasets/{dataset}'
32
+ :param pulumi.Input['WorkspaceSettingsArgs'] settings: Settings associated with this workspace.
33
+ Structure is documented below.
34
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The user labels. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg",
35
+ "count": "3" } **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
36
+ Please refer to the field 'effective_labels' for all of the labels present on the resource.
37
+ :param pulumi.Input[str] name: The name of the workspace, in the format 'projects/{projectId}/locations/{location}/datasets/{datasetId}/dataMapperWorkspaces/{workspaceId}'
38
+ """
39
+ pulumi.set(__self__, "dataset", dataset)
40
+ pulumi.set(__self__, "settings", settings)
41
+ if labels is not None:
42
+ pulumi.set(__self__, "labels", labels)
43
+ if name is not None:
44
+ pulumi.set(__self__, "name", name)
45
+
46
+ @property
47
+ @pulumi.getter
48
+ def dataset(self) -> pulumi.Input[str]:
49
+ """
50
+ Identifies the dataset addressed by this request. Must be in the format
51
+ 'projects/{project}/locations/{location}/datasets/{dataset}'
52
+ """
53
+ return pulumi.get(self, "dataset")
54
+
55
+ @dataset.setter
56
+ def dataset(self, value: pulumi.Input[str]):
57
+ pulumi.set(self, "dataset", value)
58
+
59
+ @property
60
+ @pulumi.getter
61
+ def settings(self) -> pulumi.Input['WorkspaceSettingsArgs']:
62
+ """
63
+ Settings associated with this workspace.
64
+ Structure is documented below.
65
+ """
66
+ return pulumi.get(self, "settings")
67
+
68
+ @settings.setter
69
+ def settings(self, value: pulumi.Input['WorkspaceSettingsArgs']):
70
+ pulumi.set(self, "settings", value)
71
+
72
+ @property
73
+ @pulumi.getter
74
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
75
+ """
76
+ The user labels. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg",
77
+ "count": "3" } **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
78
+ Please refer to the field 'effective_labels' for all of the labels present on the resource.
79
+ """
80
+ return pulumi.get(self, "labels")
81
+
82
+ @labels.setter
83
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
84
+ pulumi.set(self, "labels", value)
85
+
86
+ @property
87
+ @pulumi.getter
88
+ def name(self) -> Optional[pulumi.Input[str]]:
89
+ """
90
+ The name of the workspace, in the format 'projects/{projectId}/locations/{location}/datasets/{datasetId}/dataMapperWorkspaces/{workspaceId}'
91
+ """
92
+ return pulumi.get(self, "name")
93
+
94
+ @name.setter
95
+ def name(self, value: Optional[pulumi.Input[str]]):
96
+ pulumi.set(self, "name", value)
97
+
98
+
99
+ @pulumi.input_type
100
+ class _WorkspaceState:
101
+ def __init__(__self__, *,
102
+ dataset: Optional[pulumi.Input[str]] = None,
103
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
104
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
105
+ name: Optional[pulumi.Input[str]] = None,
106
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
107
+ settings: Optional[pulumi.Input['WorkspaceSettingsArgs']] = None):
108
+ """
109
+ Input properties used for looking up and filtering Workspace resources.
110
+ :param pulumi.Input[str] dataset: Identifies the dataset addressed by this request. Must be in the format
111
+ 'projects/{project}/locations/{location}/datasets/{dataset}'
112
+ :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.
113
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The user labels. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg",
114
+ "count": "3" } **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
115
+ Please refer to the field 'effective_labels' for all of the labels present on the resource.
116
+ :param pulumi.Input[str] name: The name of the workspace, in the format 'projects/{projectId}/locations/{location}/datasets/{datasetId}/dataMapperWorkspaces/{workspaceId}'
117
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
118
+ and default labels configured on the provider.
119
+ :param pulumi.Input['WorkspaceSettingsArgs'] settings: Settings associated with this workspace.
120
+ Structure is documented below.
121
+ """
122
+ if dataset is not None:
123
+ pulumi.set(__self__, "dataset", dataset)
124
+ if effective_labels is not None:
125
+ pulumi.set(__self__, "effective_labels", effective_labels)
126
+ if labels is not None:
127
+ pulumi.set(__self__, "labels", labels)
128
+ if name is not None:
129
+ pulumi.set(__self__, "name", name)
130
+ if pulumi_labels is not None:
131
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
132
+ if settings is not None:
133
+ pulumi.set(__self__, "settings", settings)
134
+
135
+ @property
136
+ @pulumi.getter
137
+ def dataset(self) -> Optional[pulumi.Input[str]]:
138
+ """
139
+ Identifies the dataset addressed by this request. Must be in the format
140
+ 'projects/{project}/locations/{location}/datasets/{dataset}'
141
+ """
142
+ return pulumi.get(self, "dataset")
143
+
144
+ @dataset.setter
145
+ def dataset(self, value: Optional[pulumi.Input[str]]):
146
+ pulumi.set(self, "dataset", value)
147
+
148
+ @property
149
+ @pulumi.getter(name="effectiveLabels")
150
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
151
+ """
152
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
153
+ """
154
+ return pulumi.get(self, "effective_labels")
155
+
156
+ @effective_labels.setter
157
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
158
+ pulumi.set(self, "effective_labels", value)
159
+
160
+ @property
161
+ @pulumi.getter
162
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
163
+ """
164
+ The user labels. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg",
165
+ "count": "3" } **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
176
+ def name(self) -> Optional[pulumi.Input[str]]:
177
+ """
178
+ The name of the workspace, in the format 'projects/{projectId}/locations/{location}/datasets/{datasetId}/dataMapperWorkspaces/{workspaceId}'
179
+ """
180
+ return pulumi.get(self, "name")
181
+
182
+ @name.setter
183
+ def name(self, value: Optional[pulumi.Input[str]]):
184
+ pulumi.set(self, "name", value)
185
+
186
+ @property
187
+ @pulumi.getter(name="pulumiLabels")
188
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
189
+ """
190
+ The combination of labels configured directly on the resource
191
+ and default labels configured on the provider.
192
+ """
193
+ return pulumi.get(self, "pulumi_labels")
194
+
195
+ @pulumi_labels.setter
196
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
197
+ pulumi.set(self, "pulumi_labels", value)
198
+
199
+ @property
200
+ @pulumi.getter
201
+ def settings(self) -> Optional[pulumi.Input['WorkspaceSettingsArgs']]:
202
+ """
203
+ Settings associated with this workspace.
204
+ Structure is documented below.
205
+ """
206
+ return pulumi.get(self, "settings")
207
+
208
+ @settings.setter
209
+ def settings(self, value: Optional[pulumi.Input['WorkspaceSettingsArgs']]):
210
+ pulumi.set(self, "settings", value)
211
+
212
+
213
+ class Workspace(pulumi.CustomResource):
214
+ @overload
215
+ def __init__(__self__,
216
+ resource_name: str,
217
+ opts: Optional[pulumi.ResourceOptions] = None,
218
+ dataset: Optional[pulumi.Input[str]] = None,
219
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
220
+ name: Optional[pulumi.Input[str]] = None,
221
+ settings: Optional[pulumi.Input[Union['WorkspaceSettingsArgs', 'WorkspaceSettingsArgsDict']]] = None,
222
+ __props__=None):
223
+ """
224
+ A Data Mapper workspace is used to configure Data Mapper access, permissions and data sources for mapping clinical patient data to the FHIR standard.
225
+
226
+ To get more information about Workspace, see:
227
+
228
+ * [API documentation](https://cloud.google.com/healthcare-api/healthcare-data-engine/docs/reference/rest/v1/projects.locations.datasets.dataMapperWorkspaces)
229
+ * How-to Guides
230
+ * [Create and manage Data Mapper workspaces ](https://cloud.google.com/healthcare-api/healthcare-data-engine/docs/manage-workspaces)
231
+
232
+ ## Example Usage
233
+
234
+ ### Healthcare Workspace Basic
235
+
236
+ ```python
237
+ import pulumi
238
+ import pulumi_gcp as gcp
239
+
240
+ dataset = gcp.healthcare.Dataset("dataset",
241
+ name="example-dataset",
242
+ location="us-central1")
243
+ default = gcp.healthcare.Workspace("default",
244
+ name="example-dm-workspace",
245
+ dataset=dataset.id,
246
+ settings={
247
+ "data_project_ids": ["example-data-source-project-id"],
248
+ },
249
+ labels={
250
+ "label1": "labelvalue1",
251
+ })
252
+ ```
253
+
254
+ ## Import
255
+
256
+ Workspace can be imported using any of these accepted formats:
257
+
258
+ * `{{dataset}}/dataMapperWorkspaces/{{name}}`
259
+
260
+ When using the `pulumi import` command, Workspace can be imported using one of the formats above. For example:
261
+
262
+ ```sh
263
+ $ pulumi import gcp:healthcare/workspace:Workspace default {{dataset}}/dataMapperWorkspaces/{{name}}
264
+ ```
265
+
266
+ :param str resource_name: The name of the resource.
267
+ :param pulumi.ResourceOptions opts: Options for the resource.
268
+ :param pulumi.Input[str] dataset: Identifies the dataset addressed by this request. Must be in the format
269
+ 'projects/{project}/locations/{location}/datasets/{dataset}'
270
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The user labels. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg",
271
+ "count": "3" } **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
272
+ Please refer to the field 'effective_labels' for all of the labels present on the resource.
273
+ :param pulumi.Input[str] name: The name of the workspace, in the format 'projects/{projectId}/locations/{location}/datasets/{datasetId}/dataMapperWorkspaces/{workspaceId}'
274
+ :param pulumi.Input[Union['WorkspaceSettingsArgs', 'WorkspaceSettingsArgsDict']] settings: Settings associated with this workspace.
275
+ Structure is documented below.
276
+ """
277
+ ...
278
+ @overload
279
+ def __init__(__self__,
280
+ resource_name: str,
281
+ args: WorkspaceArgs,
282
+ opts: Optional[pulumi.ResourceOptions] = None):
283
+ """
284
+ A Data Mapper workspace is used to configure Data Mapper access, permissions and data sources for mapping clinical patient data to the FHIR standard.
285
+
286
+ To get more information about Workspace, see:
287
+
288
+ * [API documentation](https://cloud.google.com/healthcare-api/healthcare-data-engine/docs/reference/rest/v1/projects.locations.datasets.dataMapperWorkspaces)
289
+ * How-to Guides
290
+ * [Create and manage Data Mapper workspaces ](https://cloud.google.com/healthcare-api/healthcare-data-engine/docs/manage-workspaces)
291
+
292
+ ## Example Usage
293
+
294
+ ### Healthcare Workspace Basic
295
+
296
+ ```python
297
+ import pulumi
298
+ import pulumi_gcp as gcp
299
+
300
+ dataset = gcp.healthcare.Dataset("dataset",
301
+ name="example-dataset",
302
+ location="us-central1")
303
+ default = gcp.healthcare.Workspace("default",
304
+ name="example-dm-workspace",
305
+ dataset=dataset.id,
306
+ settings={
307
+ "data_project_ids": ["example-data-source-project-id"],
308
+ },
309
+ labels={
310
+ "label1": "labelvalue1",
311
+ })
312
+ ```
313
+
314
+ ## Import
315
+
316
+ Workspace can be imported using any of these accepted formats:
317
+
318
+ * `{{dataset}}/dataMapperWorkspaces/{{name}}`
319
+
320
+ When using the `pulumi import` command, Workspace can be imported using one of the formats above. For example:
321
+
322
+ ```sh
323
+ $ pulumi import gcp:healthcare/workspace:Workspace default {{dataset}}/dataMapperWorkspaces/{{name}}
324
+ ```
325
+
326
+ :param str resource_name: The name of the resource.
327
+ :param WorkspaceArgs args: The arguments to use to populate this resource's properties.
328
+ :param pulumi.ResourceOptions opts: Options for the resource.
329
+ """
330
+ ...
331
+ def __init__(__self__, resource_name: str, *args, **kwargs):
332
+ resource_args, opts = _utilities.get_resource_args_opts(WorkspaceArgs, pulumi.ResourceOptions, *args, **kwargs)
333
+ if resource_args is not None:
334
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
335
+ else:
336
+ __self__._internal_init(resource_name, *args, **kwargs)
337
+
338
+ def _internal_init(__self__,
339
+ resource_name: str,
340
+ opts: Optional[pulumi.ResourceOptions] = None,
341
+ dataset: Optional[pulumi.Input[str]] = None,
342
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
343
+ name: Optional[pulumi.Input[str]] = None,
344
+ settings: Optional[pulumi.Input[Union['WorkspaceSettingsArgs', 'WorkspaceSettingsArgsDict']]] = None,
345
+ __props__=None):
346
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
347
+ if not isinstance(opts, pulumi.ResourceOptions):
348
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
349
+ if opts.id is None:
350
+ if __props__ is not None:
351
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
352
+ __props__ = WorkspaceArgs.__new__(WorkspaceArgs)
353
+
354
+ if dataset is None and not opts.urn:
355
+ raise TypeError("Missing required property 'dataset'")
356
+ __props__.__dict__["dataset"] = dataset
357
+ __props__.__dict__["labels"] = labels
358
+ __props__.__dict__["name"] = name
359
+ if settings is None and not opts.urn:
360
+ raise TypeError("Missing required property 'settings'")
361
+ __props__.__dict__["settings"] = settings
362
+ __props__.__dict__["effective_labels"] = None
363
+ __props__.__dict__["pulumi_labels"] = None
364
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
365
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
366
+ super(Workspace, __self__).__init__(
367
+ 'gcp:healthcare/workspace:Workspace',
368
+ resource_name,
369
+ __props__,
370
+ opts)
371
+
372
+ @staticmethod
373
+ def get(resource_name: str,
374
+ id: pulumi.Input[str],
375
+ opts: Optional[pulumi.ResourceOptions] = None,
376
+ dataset: Optional[pulumi.Input[str]] = None,
377
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
378
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
379
+ name: Optional[pulumi.Input[str]] = None,
380
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
381
+ settings: Optional[pulumi.Input[Union['WorkspaceSettingsArgs', 'WorkspaceSettingsArgsDict']]] = None) -> 'Workspace':
382
+ """
383
+ Get an existing Workspace resource's state with the given name, id, and optional extra
384
+ properties used to qualify the lookup.
385
+
386
+ :param str resource_name: The unique name of the resulting resource.
387
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
388
+ :param pulumi.ResourceOptions opts: Options for the resource.
389
+ :param pulumi.Input[str] dataset: Identifies the dataset addressed by this request. Must be in the format
390
+ 'projects/{project}/locations/{location}/datasets/{dataset}'
391
+ :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.
392
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The user labels. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg",
393
+ "count": "3" } **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
394
+ Please refer to the field 'effective_labels' for all of the labels present on the resource.
395
+ :param pulumi.Input[str] name: The name of the workspace, in the format 'projects/{projectId}/locations/{location}/datasets/{datasetId}/dataMapperWorkspaces/{workspaceId}'
396
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
397
+ and default labels configured on the provider.
398
+ :param pulumi.Input[Union['WorkspaceSettingsArgs', 'WorkspaceSettingsArgsDict']] settings: Settings associated with this workspace.
399
+ Structure is documented below.
400
+ """
401
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
402
+
403
+ __props__ = _WorkspaceState.__new__(_WorkspaceState)
404
+
405
+ __props__.__dict__["dataset"] = dataset
406
+ __props__.__dict__["effective_labels"] = effective_labels
407
+ __props__.__dict__["labels"] = labels
408
+ __props__.__dict__["name"] = name
409
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
410
+ __props__.__dict__["settings"] = settings
411
+ return Workspace(resource_name, opts=opts, __props__=__props__)
412
+
413
+ @property
414
+ @pulumi.getter
415
+ def dataset(self) -> pulumi.Output[str]:
416
+ """
417
+ Identifies the dataset addressed by this request. Must be in the format
418
+ 'projects/{project}/locations/{location}/datasets/{dataset}'
419
+ """
420
+ return pulumi.get(self, "dataset")
421
+
422
+ @property
423
+ @pulumi.getter(name="effectiveLabels")
424
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
425
+ """
426
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
427
+ """
428
+ return pulumi.get(self, "effective_labels")
429
+
430
+ @property
431
+ @pulumi.getter
432
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
433
+ """
434
+ The user labels. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg",
435
+ "count": "3" } **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
436
+ Please refer to the field 'effective_labels' for all of the labels present on the resource.
437
+ """
438
+ return pulumi.get(self, "labels")
439
+
440
+ @property
441
+ @pulumi.getter
442
+ def name(self) -> pulumi.Output[str]:
443
+ """
444
+ The name of the workspace, in the format 'projects/{projectId}/locations/{location}/datasets/{datasetId}/dataMapperWorkspaces/{workspaceId}'
445
+ """
446
+ return pulumi.get(self, "name")
447
+
448
+ @property
449
+ @pulumi.getter(name="pulumiLabels")
450
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
451
+ """
452
+ The combination of labels configured directly on the resource
453
+ and default labels configured on the provider.
454
+ """
455
+ return pulumi.get(self, "pulumi_labels")
456
+
457
+ @property
458
+ @pulumi.getter
459
+ def settings(self) -> pulumi.Output['outputs.WorkspaceSettings']:
460
+ """
461
+ Settings associated with this workspace.
462
+ Structure is documented below.
463
+ """
464
+ return pulumi.get(self, "settings")
465
+
@@ -26,6 +26,7 @@ class InstanceArgs:
26
26
  custom_domain: Optional[pulumi.Input['InstanceCustomDomainArgs']] = None,
27
27
  deny_maintenance_period: Optional[pulumi.Input['InstanceDenyMaintenancePeriodArgs']] = None,
28
28
  encryption_config: Optional[pulumi.Input['InstanceEncryptionConfigArgs']] = None,
29
+ fips_enabled: Optional[pulumi.Input[bool]] = None,
29
30
  maintenance_window: Optional[pulumi.Input['InstanceMaintenanceWindowArgs']] = None,
30
31
  name: Optional[pulumi.Input[str]] = None,
31
32
  oauth_config: Optional[pulumi.Input['InstanceOauthConfigArgs']] = None,
@@ -51,6 +52,7 @@ class InstanceArgs:
51
52
  Structure is documented below.
52
53
  :param pulumi.Input['InstanceEncryptionConfigArgs'] encryption_config: Looker instance encryption settings.
53
54
  Structure is documented below.
55
+ :param pulumi.Input[bool] fips_enabled: FIPS 140-2 Encryption enablement for Looker (Google Cloud Core).
54
56
  :param pulumi.Input['InstanceMaintenanceWindowArgs'] maintenance_window: Maintenance window for an instance.
55
57
  Maintenance of your instance takes place once a month, and will require
56
58
  your instance to be restarted during updates, which will temporarily
@@ -96,6 +98,8 @@ class InstanceArgs:
96
98
  pulumi.set(__self__, "deny_maintenance_period", deny_maintenance_period)
97
99
  if encryption_config is not None:
98
100
  pulumi.set(__self__, "encryption_config", encryption_config)
101
+ if fips_enabled is not None:
102
+ pulumi.set(__self__, "fips_enabled", fips_enabled)
99
103
  if maintenance_window is not None:
100
104
  pulumi.set(__self__, "maintenance_window", maintenance_window)
101
105
  if name is not None:
@@ -185,6 +189,18 @@ class InstanceArgs:
185
189
  def encryption_config(self, value: Optional[pulumi.Input['InstanceEncryptionConfigArgs']]):
186
190
  pulumi.set(self, "encryption_config", value)
187
191
 
192
+ @property
193
+ @pulumi.getter(name="fipsEnabled")
194
+ def fips_enabled(self) -> Optional[pulumi.Input[bool]]:
195
+ """
196
+ FIPS 140-2 Encryption enablement for Looker (Google Cloud Core).
197
+ """
198
+ return pulumi.get(self, "fips_enabled")
199
+
200
+ @fips_enabled.setter
201
+ def fips_enabled(self, value: Optional[pulumi.Input[bool]]):
202
+ pulumi.set(self, "fips_enabled", value)
203
+
188
204
  @property
189
205
  @pulumi.getter(name="maintenanceWindow")
190
206
  def maintenance_window(self) -> Optional[pulumi.Input['InstanceMaintenanceWindowArgs']]:
@@ -340,6 +356,7 @@ class _InstanceState:
340
356
  deny_maintenance_period: Optional[pulumi.Input['InstanceDenyMaintenancePeriodArgs']] = None,
341
357
  egress_public_ip: Optional[pulumi.Input[str]] = None,
342
358
  encryption_config: Optional[pulumi.Input['InstanceEncryptionConfigArgs']] = None,
359
+ fips_enabled: Optional[pulumi.Input[bool]] = None,
343
360
  ingress_private_ip: Optional[pulumi.Input[str]] = None,
344
361
  ingress_public_ip: Optional[pulumi.Input[str]] = None,
345
362
  looker_uri: Optional[pulumi.Input[str]] = None,
@@ -373,6 +390,7 @@ class _InstanceState:
373
390
  :param pulumi.Input[str] egress_public_ip: Public Egress IP (IPv4).
374
391
  :param pulumi.Input['InstanceEncryptionConfigArgs'] encryption_config: Looker instance encryption settings.
375
392
  Structure is documented below.
393
+ :param pulumi.Input[bool] fips_enabled: FIPS 140-2 Encryption enablement for Looker (Google Cloud Core).
376
394
  :param pulumi.Input[str] ingress_private_ip: Private Ingress IP (IPv4).
377
395
  :param pulumi.Input[str] ingress_public_ip: Public Ingress IP (IPv4).
378
396
  :param pulumi.Input[str] looker_uri: Looker instance URI which can be used to access the Looker Instance UI.
@@ -428,6 +446,8 @@ class _InstanceState:
428
446
  pulumi.set(__self__, "egress_public_ip", egress_public_ip)
429
447
  if encryption_config is not None:
430
448
  pulumi.set(__self__, "encryption_config", encryption_config)
449
+ if fips_enabled is not None:
450
+ pulumi.set(__self__, "fips_enabled", fips_enabled)
431
451
  if ingress_private_ip is not None:
432
452
  pulumi.set(__self__, "ingress_private_ip", ingress_private_ip)
433
453
  if ingress_public_ip is not None:
@@ -552,6 +572,18 @@ class _InstanceState:
552
572
  def encryption_config(self, value: Optional[pulumi.Input['InstanceEncryptionConfigArgs']]):
553
573
  pulumi.set(self, "encryption_config", value)
554
574
 
575
+ @property
576
+ @pulumi.getter(name="fipsEnabled")
577
+ def fips_enabled(self) -> Optional[pulumi.Input[bool]]:
578
+ """
579
+ FIPS 140-2 Encryption enablement for Looker (Google Cloud Core).
580
+ """
581
+ return pulumi.get(self, "fips_enabled")
582
+
583
+ @fips_enabled.setter
584
+ def fips_enabled(self, value: Optional[pulumi.Input[bool]]):
585
+ pulumi.set(self, "fips_enabled", value)
586
+
555
587
  @property
556
588
  @pulumi.getter(name="ingressPrivateIp")
557
589
  def ingress_private_ip(self) -> Optional[pulumi.Input[str]]:
@@ -768,6 +800,7 @@ class Instance(pulumi.CustomResource):
768
800
  custom_domain: Optional[pulumi.Input[Union['InstanceCustomDomainArgs', 'InstanceCustomDomainArgsDict']]] = None,
769
801
  deny_maintenance_period: Optional[pulumi.Input[Union['InstanceDenyMaintenancePeriodArgs', 'InstanceDenyMaintenancePeriodArgsDict']]] = None,
770
802
  encryption_config: Optional[pulumi.Input[Union['InstanceEncryptionConfigArgs', 'InstanceEncryptionConfigArgsDict']]] = None,
803
+ fips_enabled: Optional[pulumi.Input[bool]] = None,
771
804
  maintenance_window: Optional[pulumi.Input[Union['InstanceMaintenanceWindowArgs', 'InstanceMaintenanceWindowArgsDict']]] = None,
772
805
  name: Optional[pulumi.Input[str]] = None,
773
806
  oauth_config: Optional[pulumi.Input[Union['InstanceOauthConfigArgs', 'InstanceOauthConfigArgsDict']]] = None,
@@ -852,6 +885,23 @@ class Instance(pulumi.CustomResource):
852
885
  "client_secret": "my-client-secret",
853
886
  })
854
887
  ```
888
+ ### Looker Instance Fips
889
+
890
+ ```python
891
+ import pulumi
892
+ import pulumi_gcp as gcp
893
+
894
+ looker_instance = gcp.looker.Instance("looker-instance",
895
+ name="my-instance-fips",
896
+ platform_edition="LOOKER_CORE_ENTERPRISE_ANNUAL",
897
+ region="us-central1",
898
+ public_ip_enabled=True,
899
+ fips_enabled=True,
900
+ oauth_config={
901
+ "client_id": "my-client-id",
902
+ "client_secret": "my-client-secret",
903
+ })
904
+ ```
855
905
  ### Looker Instance Enterprise Full
856
906
 
857
907
  ```python
@@ -985,6 +1035,7 @@ class Instance(pulumi.CustomResource):
985
1035
  Structure is documented below.
986
1036
  :param pulumi.Input[Union['InstanceEncryptionConfigArgs', 'InstanceEncryptionConfigArgsDict']] encryption_config: Looker instance encryption settings.
987
1037
  Structure is documented below.
1038
+ :param pulumi.Input[bool] fips_enabled: FIPS 140-2 Encryption enablement for Looker (Google Cloud Core).
988
1039
  :param pulumi.Input[Union['InstanceMaintenanceWindowArgs', 'InstanceMaintenanceWindowArgsDict']] maintenance_window: Maintenance window for an instance.
989
1040
  Maintenance of your instance takes place once a month, and will require
990
1041
  your instance to be restarted during updates, which will temporarily
@@ -1099,6 +1150,23 @@ class Instance(pulumi.CustomResource):
1099
1150
  "client_secret": "my-client-secret",
1100
1151
  })
1101
1152
  ```
1153
+ ### Looker Instance Fips
1154
+
1155
+ ```python
1156
+ import pulumi
1157
+ import pulumi_gcp as gcp
1158
+
1159
+ looker_instance = gcp.looker.Instance("looker-instance",
1160
+ name="my-instance-fips",
1161
+ platform_edition="LOOKER_CORE_ENTERPRISE_ANNUAL",
1162
+ region="us-central1",
1163
+ public_ip_enabled=True,
1164
+ fips_enabled=True,
1165
+ oauth_config={
1166
+ "client_id": "my-client-id",
1167
+ "client_secret": "my-client-secret",
1168
+ })
1169
+ ```
1102
1170
  ### Looker Instance Enterprise Full
1103
1171
 
1104
1172
  ```python
@@ -1237,6 +1305,7 @@ class Instance(pulumi.CustomResource):
1237
1305
  custom_domain: Optional[pulumi.Input[Union['InstanceCustomDomainArgs', 'InstanceCustomDomainArgsDict']]] = None,
1238
1306
  deny_maintenance_period: Optional[pulumi.Input[Union['InstanceDenyMaintenancePeriodArgs', 'InstanceDenyMaintenancePeriodArgsDict']]] = None,
1239
1307
  encryption_config: Optional[pulumi.Input[Union['InstanceEncryptionConfigArgs', 'InstanceEncryptionConfigArgsDict']]] = None,
1308
+ fips_enabled: Optional[pulumi.Input[bool]] = None,
1240
1309
  maintenance_window: Optional[pulumi.Input[Union['InstanceMaintenanceWindowArgs', 'InstanceMaintenanceWindowArgsDict']]] = None,
1241
1310
  name: Optional[pulumi.Input[str]] = None,
1242
1311
  oauth_config: Optional[pulumi.Input[Union['InstanceOauthConfigArgs', 'InstanceOauthConfigArgsDict']]] = None,
@@ -1261,6 +1330,7 @@ class Instance(pulumi.CustomResource):
1261
1330
  __props__.__dict__["custom_domain"] = custom_domain
1262
1331
  __props__.__dict__["deny_maintenance_period"] = deny_maintenance_period
1263
1332
  __props__.__dict__["encryption_config"] = encryption_config
1333
+ __props__.__dict__["fips_enabled"] = fips_enabled
1264
1334
  __props__.__dict__["maintenance_window"] = maintenance_window
1265
1335
  __props__.__dict__["name"] = name
1266
1336
  __props__.__dict__["oauth_config"] = oauth_config
@@ -1295,6 +1365,7 @@ class Instance(pulumi.CustomResource):
1295
1365
  deny_maintenance_period: Optional[pulumi.Input[Union['InstanceDenyMaintenancePeriodArgs', 'InstanceDenyMaintenancePeriodArgsDict']]] = None,
1296
1366
  egress_public_ip: Optional[pulumi.Input[str]] = None,
1297
1367
  encryption_config: Optional[pulumi.Input[Union['InstanceEncryptionConfigArgs', 'InstanceEncryptionConfigArgsDict']]] = None,
1368
+ fips_enabled: Optional[pulumi.Input[bool]] = None,
1298
1369
  ingress_private_ip: Optional[pulumi.Input[str]] = None,
1299
1370
  ingress_public_ip: Optional[pulumi.Input[str]] = None,
1300
1371
  looker_uri: Optional[pulumi.Input[str]] = None,
@@ -1333,6 +1404,7 @@ class Instance(pulumi.CustomResource):
1333
1404
  :param pulumi.Input[str] egress_public_ip: Public Egress IP (IPv4).
1334
1405
  :param pulumi.Input[Union['InstanceEncryptionConfigArgs', 'InstanceEncryptionConfigArgsDict']] encryption_config: Looker instance encryption settings.
1335
1406
  Structure is documented below.
1407
+ :param pulumi.Input[bool] fips_enabled: FIPS 140-2 Encryption enablement for Looker (Google Cloud Core).
1336
1408
  :param pulumi.Input[str] ingress_private_ip: Private Ingress IP (IPv4).
1337
1409
  :param pulumi.Input[str] ingress_public_ip: Public Ingress IP (IPv4).
1338
1410
  :param pulumi.Input[str] looker_uri: Looker instance URI which can be used to access the Looker Instance UI.
@@ -1385,6 +1457,7 @@ class Instance(pulumi.CustomResource):
1385
1457
  __props__.__dict__["deny_maintenance_period"] = deny_maintenance_period
1386
1458
  __props__.__dict__["egress_public_ip"] = egress_public_ip
1387
1459
  __props__.__dict__["encryption_config"] = encryption_config
1460
+ __props__.__dict__["fips_enabled"] = fips_enabled
1388
1461
  __props__.__dict__["ingress_private_ip"] = ingress_private_ip
1389
1462
  __props__.__dict__["ingress_public_ip"] = ingress_public_ip
1390
1463
  __props__.__dict__["looker_uri"] = looker_uri
@@ -1467,6 +1540,14 @@ class Instance(pulumi.CustomResource):
1467
1540
  """
1468
1541
  return pulumi.get(self, "encryption_config")
1469
1542
 
1543
+ @property
1544
+ @pulumi.getter(name="fipsEnabled")
1545
+ def fips_enabled(self) -> pulumi.Output[Optional[bool]]:
1546
+ """
1547
+ FIPS 140-2 Encryption enablement for Looker (Google Cloud Core).
1548
+ """
1549
+ return pulumi.get(self, "fips_enabled")
1550
+
1470
1551
  @property
1471
1552
  @pulumi.getter(name="ingressPrivateIp")
1472
1553
  def ingress_private_ip(self) -> pulumi.Output[str]: