pulumi-gcp 8.36.0a1750439108__py3-none-any.whl → 8.36.0a1751060819__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 (71) hide show
  1. pulumi_gcp/__init__.py +35 -0
  2. pulumi_gcp/alloydb/_inputs.py +26 -0
  3. pulumi_gcp/alloydb/outputs.py +34 -1
  4. pulumi_gcp/apihub/__init__.py +1 -0
  5. pulumi_gcp/apihub/_inputs.py +983 -0
  6. pulumi_gcp/apihub/outputs.py +807 -0
  7. pulumi_gcp/apihub/plugin_instance.py +808 -0
  8. pulumi_gcp/bigquery/table.py +16 -12
  9. pulumi_gcp/bigqueryanalyticshub/_inputs.py +56 -6
  10. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +73 -0
  11. pulumi_gcp/bigqueryanalyticshub/listing.py +201 -48
  12. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +28 -0
  13. pulumi_gcp/bigqueryanalyticshub/outputs.py +50 -4
  14. pulumi_gcp/bigtable/table.py +82 -0
  15. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +64 -8
  16. pulumi_gcp/compute/_inputs.py +24 -12
  17. pulumi_gcp/compute/instance.py +2 -2
  18. pulumi_gcp/compute/instance_template.py +2 -2
  19. pulumi_gcp/compute/interconnect.py +43 -11
  20. pulumi_gcp/compute/node_template.py +21 -0
  21. pulumi_gcp/compute/outputs.py +16 -8
  22. pulumi_gcp/compute/service_attachment.py +76 -8
  23. pulumi_gcp/config/__init__.pyi +2 -0
  24. pulumi_gcp/config/vars.py +4 -0
  25. pulumi_gcp/contactcenterinsights/__init__.py +9 -0
  26. pulumi_gcp/contactcenterinsights/view.py +526 -0
  27. pulumi_gcp/container/_inputs.py +72 -12
  28. pulumi_gcp/container/get_engine_versions.py +15 -1
  29. pulumi_gcp/container/outputs.py +73 -9
  30. pulumi_gcp/dataplex/_inputs.py +431 -6
  31. pulumi_gcp/dataplex/datascan.py +251 -0
  32. pulumi_gcp/dataplex/entry_type.py +2 -2
  33. pulumi_gcp/dataplex/glossary_category.py +8 -8
  34. pulumi_gcp/dataplex/glossary_term.py +8 -8
  35. pulumi_gcp/dataplex/outputs.py +353 -4
  36. pulumi_gcp/dataplex/task.py +16 -16
  37. pulumi_gcp/dataproc/__init__.py +1 -0
  38. pulumi_gcp/dataproc/_inputs.py +486 -0
  39. pulumi_gcp/dataproc/batch.py +10 -10
  40. pulumi_gcp/dataproc/outputs.py +407 -0
  41. pulumi_gcp/dataproc/session_template.py +1084 -0
  42. pulumi_gcp/diagflow/__init__.py +1 -0
  43. pulumi_gcp/diagflow/_inputs.py +48 -0
  44. pulumi_gcp/diagflow/cx_tool.py +2 -2
  45. pulumi_gcp/diagflow/encryption_spec.py +382 -0
  46. pulumi_gcp/diagflow/outputs.py +46 -0
  47. pulumi_gcp/firestore/field.py +6 -6
  48. pulumi_gcp/gkehub/membership_binding.py +6 -6
  49. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  50. pulumi_gcp/gkehub/namespace.py +4 -4
  51. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  52. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  53. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  54. pulumi_gcp/lustre/get_instance.py +12 -1
  55. pulumi_gcp/lustre/instance.py +143 -86
  56. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  57. pulumi_gcp/managedkafka/connector.py +4 -4
  58. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  59. pulumi_gcp/orgpolicy/policy.py +2 -2
  60. pulumi_gcp/provider.py +20 -0
  61. pulumi_gcp/pubsub/subscription.py +6 -6
  62. pulumi_gcp/pulumi-plugin.json +1 -1
  63. pulumi_gcp/storage/bucket_object.py +56 -0
  64. pulumi_gcp/storage/get_bucket_object.py +12 -1
  65. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  66. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  67. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  68. {pulumi_gcp-8.36.0a1750439108.dist-info → pulumi_gcp-8.36.0a1751060819.dist-info}/METADATA +2 -2
  69. {pulumi_gcp-8.36.0a1750439108.dist-info → pulumi_gcp-8.36.0a1751060819.dist-info}/RECORD +71 -66
  70. {pulumi_gcp-8.36.0a1750439108.dist-info → pulumi_gcp-8.36.0a1751060819.dist-info}/WHEEL +0 -0
  71. {pulumi_gcp-8.36.0a1750439108.dist-info → pulumi_gcp-8.36.0a1751060819.dist-info}/top_level.txt +0 -0
@@ -18,6 +18,7 @@ from .cx_test_case import *
18
18
  from .cx_tool import *
19
19
  from .cx_version import *
20
20
  from .cx_webhook import *
21
+ from .encryption_spec import *
21
22
  from .entity_type import *
22
23
  from .fulfillment import *
23
24
  from .intent import *
@@ -390,6 +390,8 @@ __all__ = [
390
390
  'CxWebhookServiceDirectoryArgsDict',
391
391
  'CxWebhookServiceDirectoryGenericWebServiceArgs',
392
392
  'CxWebhookServiceDirectoryGenericWebServiceArgsDict',
393
+ 'EncryptionSpecEncryptionSpecArgs',
394
+ 'EncryptionSpecEncryptionSpecArgsDict',
393
395
  'EntityTypeEntityArgs',
394
396
  'EntityTypeEntityArgsDict',
395
397
  'FulfillmentFeatureArgs',
@@ -14779,6 +14781,52 @@ class CxWebhookServiceDirectoryGenericWebServiceArgs:
14779
14781
  pulumi.set(self, "request_headers", value)
14780
14782
 
14781
14783
 
14784
+ if not MYPY:
14785
+ class EncryptionSpecEncryptionSpecArgsDict(TypedDict):
14786
+ kms_key: pulumi.Input[builtins.str]
14787
+ """
14788
+ The name of customer-managed encryption key that is used to secure a resource and its sub-resources.
14789
+ If empty, the resource is secured by the default Google encryption key.
14790
+ Only the key in the same location as this resource is allowed to be used for encryption.
14791
+ Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}
14792
+
14793
+ - - -
14794
+ """
14795
+ elif False:
14796
+ EncryptionSpecEncryptionSpecArgsDict: TypeAlias = Mapping[str, Any]
14797
+
14798
+ @pulumi.input_type
14799
+ class EncryptionSpecEncryptionSpecArgs:
14800
+ def __init__(__self__, *,
14801
+ kms_key: pulumi.Input[builtins.str]):
14802
+ """
14803
+ :param pulumi.Input[builtins.str] kms_key: The name of customer-managed encryption key that is used to secure a resource and its sub-resources.
14804
+ If empty, the resource is secured by the default Google encryption key.
14805
+ Only the key in the same location as this resource is allowed to be used for encryption.
14806
+ Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}
14807
+
14808
+ - - -
14809
+ """
14810
+ pulumi.set(__self__, "kms_key", kms_key)
14811
+
14812
+ @property
14813
+ @pulumi.getter(name="kmsKey")
14814
+ def kms_key(self) -> pulumi.Input[builtins.str]:
14815
+ """
14816
+ The name of customer-managed encryption key that is used to secure a resource and its sub-resources.
14817
+ If empty, the resource is secured by the default Google encryption key.
14818
+ Only the key in the same location as this resource is allowed to be used for encryption.
14819
+ Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}
14820
+
14821
+ - - -
14822
+ """
14823
+ return pulumi.get(self, "kms_key")
14824
+
14825
+ @kms_key.setter
14826
+ def kms_key(self, value: pulumi.Input[builtins.str]):
14827
+ pulumi.set(self, "kms_key", value)
14828
+
14829
+
14782
14830
  if not MYPY:
14783
14831
  class EntityTypeEntityArgsDict(TypedDict):
14784
14832
  synonyms: pulumi.Input[Sequence[pulumi.Input[builtins.str]]]
@@ -412,7 +412,7 @@ class CxTool(pulumi.CustomResource):
412
412
 
413
413
  my_datastore = gcp.discoveryengine.DataStore("my_datastore",
414
414
  location="global",
415
- data_store_id="datastore-tool-test-_29439",
415
+ data_store_id="datastore-tool-test-_79169",
416
416
  display_name="datastore for Tool test",
417
417
  industry_vertical="GENERIC",
418
418
  content_config="NO_CONTENT",
@@ -629,7 +629,7 @@ class CxTool(pulumi.CustomResource):
629
629
 
630
630
  my_datastore = gcp.discoveryengine.DataStore("my_datastore",
631
631
  location="global",
632
- data_store_id="datastore-tool-test-_29439",
632
+ data_store_id="datastore-tool-test-_79169",
633
633
  display_name="datastore for Tool test",
634
634
  industry_vertical="GENERIC",
635
635
  content_config="NO_CONTENT",
@@ -0,0 +1,382 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins
6
+ import copy
7
+ import warnings
8
+ import sys
9
+ import pulumi
10
+ import pulumi.runtime
11
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
12
+ if sys.version_info >= (3, 11):
13
+ from typing import NotRequired, TypedDict, TypeAlias
14
+ else:
15
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
16
+ from .. import _utilities
17
+ from . import outputs
18
+ from ._inputs import *
19
+
20
+ __all__ = ['EncryptionSpecArgs', 'EncryptionSpec']
21
+
22
+ @pulumi.input_type
23
+ class EncryptionSpecArgs:
24
+ def __init__(__self__, *,
25
+ encryption_spec: pulumi.Input['EncryptionSpecEncryptionSpecArgs'],
26
+ location: pulumi.Input[builtins.str],
27
+ project: Optional[pulumi.Input[builtins.str]] = None):
28
+ """
29
+ The set of arguments for constructing a EncryptionSpec resource.
30
+ :param pulumi.Input['EncryptionSpecEncryptionSpecArgs'] encryption_spec: A nested object resource.
31
+ Structure is documented below.
32
+ :param pulumi.Input[builtins.str] location: The location in which the encryptionSpec is to be initialized.
33
+ """
34
+ pulumi.set(__self__, "encryption_spec", encryption_spec)
35
+ pulumi.set(__self__, "location", location)
36
+ if project is not None:
37
+ pulumi.set(__self__, "project", project)
38
+
39
+ @property
40
+ @pulumi.getter(name="encryptionSpec")
41
+ def encryption_spec(self) -> pulumi.Input['EncryptionSpecEncryptionSpecArgs']:
42
+ """
43
+ A nested object resource.
44
+ Structure is documented below.
45
+ """
46
+ return pulumi.get(self, "encryption_spec")
47
+
48
+ @encryption_spec.setter
49
+ def encryption_spec(self, value: pulumi.Input['EncryptionSpecEncryptionSpecArgs']):
50
+ pulumi.set(self, "encryption_spec", value)
51
+
52
+ @property
53
+ @pulumi.getter
54
+ def location(self) -> pulumi.Input[builtins.str]:
55
+ """
56
+ The location in which the encryptionSpec is to be initialized.
57
+ """
58
+ return pulumi.get(self, "location")
59
+
60
+ @location.setter
61
+ def location(self, value: pulumi.Input[builtins.str]):
62
+ pulumi.set(self, "location", value)
63
+
64
+ @property
65
+ @pulumi.getter
66
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
67
+ return pulumi.get(self, "project")
68
+
69
+ @project.setter
70
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
71
+ pulumi.set(self, "project", value)
72
+
73
+
74
+ @pulumi.input_type
75
+ class _EncryptionSpecState:
76
+ def __init__(__self__, *,
77
+ encryption_spec: Optional[pulumi.Input['EncryptionSpecEncryptionSpecArgs']] = None,
78
+ location: Optional[pulumi.Input[builtins.str]] = None,
79
+ project: Optional[pulumi.Input[builtins.str]] = None):
80
+ """
81
+ Input properties used for looking up and filtering EncryptionSpec resources.
82
+ :param pulumi.Input['EncryptionSpecEncryptionSpecArgs'] encryption_spec: A nested object resource.
83
+ Structure is documented below.
84
+ :param pulumi.Input[builtins.str] location: The location in which the encryptionSpec is to be initialized.
85
+ """
86
+ if encryption_spec is not None:
87
+ pulumi.set(__self__, "encryption_spec", encryption_spec)
88
+ if location is not None:
89
+ pulumi.set(__self__, "location", location)
90
+ if project is not None:
91
+ pulumi.set(__self__, "project", project)
92
+
93
+ @property
94
+ @pulumi.getter(name="encryptionSpec")
95
+ def encryption_spec(self) -> Optional[pulumi.Input['EncryptionSpecEncryptionSpecArgs']]:
96
+ """
97
+ A nested object resource.
98
+ Structure is documented below.
99
+ """
100
+ return pulumi.get(self, "encryption_spec")
101
+
102
+ @encryption_spec.setter
103
+ def encryption_spec(self, value: Optional[pulumi.Input['EncryptionSpecEncryptionSpecArgs']]):
104
+ pulumi.set(self, "encryption_spec", value)
105
+
106
+ @property
107
+ @pulumi.getter
108
+ def location(self) -> Optional[pulumi.Input[builtins.str]]:
109
+ """
110
+ The location in which the encryptionSpec is to be initialized.
111
+ """
112
+ return pulumi.get(self, "location")
113
+
114
+ @location.setter
115
+ def location(self, value: Optional[pulumi.Input[builtins.str]]):
116
+ pulumi.set(self, "location", value)
117
+
118
+ @property
119
+ @pulumi.getter
120
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
121
+ return pulumi.get(self, "project")
122
+
123
+ @project.setter
124
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
125
+ pulumi.set(self, "project", value)
126
+
127
+
128
+ @pulumi.type_token("gcp:diagflow/encryptionSpec:EncryptionSpec")
129
+ class EncryptionSpec(pulumi.CustomResource):
130
+ @overload
131
+ def __init__(__self__,
132
+ resource_name: str,
133
+ opts: Optional[pulumi.ResourceOptions] = None,
134
+ encryption_spec: Optional[pulumi.Input[Union['EncryptionSpecEncryptionSpecArgs', 'EncryptionSpecEncryptionSpecArgsDict']]] = None,
135
+ location: Optional[pulumi.Input[builtins.str]] = None,
136
+ project: Optional[pulumi.Input[builtins.str]] = None,
137
+ __props__=None):
138
+ """
139
+ Initializes a location-level encryption key specification.
140
+
141
+ To get more information about EncryptionSpec, see:
142
+
143
+ * [API documentation](https://cloud.google.com/dialogflow/es/docs/reference/rest/v2/projects.locations.encryptionSpec)
144
+ * How-to Guides
145
+ * [Official CX Documentation](https://cloud.google.com/dialogflow/cx/docs)
146
+ * [Official ES Documentation](https://cloud.google.com/dialogflow/es/docs)
147
+
148
+ ## Example Usage
149
+
150
+ ### Dialogflow Encryption Spec Basic
151
+
152
+ ```python
153
+ import pulumi
154
+ import pulumi_gcp as gcp
155
+ import pulumi_std as std
156
+ import pulumi_time as time
157
+
158
+ project = gcp.organizations.Project("project",
159
+ project_id="my-proj",
160
+ name="my-proj",
161
+ org_id="123456789",
162
+ billing_account="000000-0000000-0000000-000000",
163
+ deletion_policy="DELETE")
164
+ cloudkms = gcp.projects.Service("cloudkms",
165
+ project=project.project_id,
166
+ service="cloudkms.googleapis.com")
167
+ dialogflow = gcp.projects.Service("dialogflow",
168
+ project=project.project_id,
169
+ service="dialogflow.googleapis.com")
170
+ wait_enable_service_api = time.index.Sleep("wait_enable_service_api", create_duration=30s,
171
+ opts = pulumi.ResourceOptions(depends_on=[
172
+ cloudkms,
173
+ dialogflow,
174
+ ]))
175
+ gcp_sa = gcp.projects.ServiceIdentity("gcp_sa",
176
+ service="dialogflow.googleapis.com",
177
+ project=project.project_id,
178
+ opts = pulumi.ResourceOptions(depends_on=[wait_enable_service_api]))
179
+ wait_create_sa = time.index.Sleep("wait_create_sa", create_duration=30s,
180
+ opts = pulumi.ResourceOptions(depends_on=[gcp_sa]))
181
+ keyring = gcp.kms.KeyRing("keyring",
182
+ name="my-keyring",
183
+ location="us-central1",
184
+ project=project.project_id,
185
+ opts = pulumi.ResourceOptions(depends_on=[wait_enable_service_api]))
186
+ key = gcp.kms.CryptoKey("key",
187
+ name="my-key",
188
+ key_ring=keyring.id,
189
+ purpose="ENCRYPT_DECRYPT")
190
+ crypto_key = gcp.kms.CryptoKeyIAMMember("crypto_key",
191
+ crypto_key_id=key.id,
192
+ member=std.replace_output(text=gcp_sa.member,
193
+ search="@gcp-sa-dialogflow.iam",
194
+ replace="@gcp-sa-ccai-cmek.iam").apply(lambda invoke: invoke.result),
195
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
196
+ opts = pulumi.ResourceOptions(depends_on=[wait_create_sa]))
197
+ my_encryption_spec = gcp.diagflow.EncryptionSpec("my-encryption-spec",
198
+ project=project.project_id,
199
+ location="us-central1",
200
+ encryption_spec={
201
+ "kms_key": key.id,
202
+ },
203
+ opts = pulumi.ResourceOptions(depends_on=[crypto_key]))
204
+ ```
205
+
206
+ ## Import
207
+
208
+ This resource does not support import.
209
+
210
+ :param str resource_name: The name of the resource.
211
+ :param pulumi.ResourceOptions opts: Options for the resource.
212
+ :param pulumi.Input[Union['EncryptionSpecEncryptionSpecArgs', 'EncryptionSpecEncryptionSpecArgsDict']] encryption_spec: A nested object resource.
213
+ Structure is documented below.
214
+ :param pulumi.Input[builtins.str] location: The location in which the encryptionSpec is to be initialized.
215
+ """
216
+ ...
217
+ @overload
218
+ def __init__(__self__,
219
+ resource_name: str,
220
+ args: EncryptionSpecArgs,
221
+ opts: Optional[pulumi.ResourceOptions] = None):
222
+ """
223
+ Initializes a location-level encryption key specification.
224
+
225
+ To get more information about EncryptionSpec, see:
226
+
227
+ * [API documentation](https://cloud.google.com/dialogflow/es/docs/reference/rest/v2/projects.locations.encryptionSpec)
228
+ * How-to Guides
229
+ * [Official CX Documentation](https://cloud.google.com/dialogflow/cx/docs)
230
+ * [Official ES Documentation](https://cloud.google.com/dialogflow/es/docs)
231
+
232
+ ## Example Usage
233
+
234
+ ### Dialogflow Encryption Spec Basic
235
+
236
+ ```python
237
+ import pulumi
238
+ import pulumi_gcp as gcp
239
+ import pulumi_std as std
240
+ import pulumi_time as time
241
+
242
+ project = gcp.organizations.Project("project",
243
+ project_id="my-proj",
244
+ name="my-proj",
245
+ org_id="123456789",
246
+ billing_account="000000-0000000-0000000-000000",
247
+ deletion_policy="DELETE")
248
+ cloudkms = gcp.projects.Service("cloudkms",
249
+ project=project.project_id,
250
+ service="cloudkms.googleapis.com")
251
+ dialogflow = gcp.projects.Service("dialogflow",
252
+ project=project.project_id,
253
+ service="dialogflow.googleapis.com")
254
+ wait_enable_service_api = time.index.Sleep("wait_enable_service_api", create_duration=30s,
255
+ opts = pulumi.ResourceOptions(depends_on=[
256
+ cloudkms,
257
+ dialogflow,
258
+ ]))
259
+ gcp_sa = gcp.projects.ServiceIdentity("gcp_sa",
260
+ service="dialogflow.googleapis.com",
261
+ project=project.project_id,
262
+ opts = pulumi.ResourceOptions(depends_on=[wait_enable_service_api]))
263
+ wait_create_sa = time.index.Sleep("wait_create_sa", create_duration=30s,
264
+ opts = pulumi.ResourceOptions(depends_on=[gcp_sa]))
265
+ keyring = gcp.kms.KeyRing("keyring",
266
+ name="my-keyring",
267
+ location="us-central1",
268
+ project=project.project_id,
269
+ opts = pulumi.ResourceOptions(depends_on=[wait_enable_service_api]))
270
+ key = gcp.kms.CryptoKey("key",
271
+ name="my-key",
272
+ key_ring=keyring.id,
273
+ purpose="ENCRYPT_DECRYPT")
274
+ crypto_key = gcp.kms.CryptoKeyIAMMember("crypto_key",
275
+ crypto_key_id=key.id,
276
+ member=std.replace_output(text=gcp_sa.member,
277
+ search="@gcp-sa-dialogflow.iam",
278
+ replace="@gcp-sa-ccai-cmek.iam").apply(lambda invoke: invoke.result),
279
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
280
+ opts = pulumi.ResourceOptions(depends_on=[wait_create_sa]))
281
+ my_encryption_spec = gcp.diagflow.EncryptionSpec("my-encryption-spec",
282
+ project=project.project_id,
283
+ location="us-central1",
284
+ encryption_spec={
285
+ "kms_key": key.id,
286
+ },
287
+ opts = pulumi.ResourceOptions(depends_on=[crypto_key]))
288
+ ```
289
+
290
+ ## Import
291
+
292
+ This resource does not support import.
293
+
294
+ :param str resource_name: The name of the resource.
295
+ :param EncryptionSpecArgs args: The arguments to use to populate this resource's properties.
296
+ :param pulumi.ResourceOptions opts: Options for the resource.
297
+ """
298
+ ...
299
+ def __init__(__self__, resource_name: str, *args, **kwargs):
300
+ resource_args, opts = _utilities.get_resource_args_opts(EncryptionSpecArgs, pulumi.ResourceOptions, *args, **kwargs)
301
+ if resource_args is not None:
302
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
303
+ else:
304
+ __self__._internal_init(resource_name, *args, **kwargs)
305
+
306
+ def _internal_init(__self__,
307
+ resource_name: str,
308
+ opts: Optional[pulumi.ResourceOptions] = None,
309
+ encryption_spec: Optional[pulumi.Input[Union['EncryptionSpecEncryptionSpecArgs', 'EncryptionSpecEncryptionSpecArgsDict']]] = None,
310
+ location: Optional[pulumi.Input[builtins.str]] = None,
311
+ project: Optional[pulumi.Input[builtins.str]] = None,
312
+ __props__=None):
313
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
314
+ if not isinstance(opts, pulumi.ResourceOptions):
315
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
316
+ if opts.id is None:
317
+ if __props__ is not None:
318
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
319
+ __props__ = EncryptionSpecArgs.__new__(EncryptionSpecArgs)
320
+
321
+ if encryption_spec is None and not opts.urn:
322
+ raise TypeError("Missing required property 'encryption_spec'")
323
+ __props__.__dict__["encryption_spec"] = encryption_spec
324
+ if location is None and not opts.urn:
325
+ raise TypeError("Missing required property 'location'")
326
+ __props__.__dict__["location"] = location
327
+ __props__.__dict__["project"] = project
328
+ super(EncryptionSpec, __self__).__init__(
329
+ 'gcp:diagflow/encryptionSpec:EncryptionSpec',
330
+ resource_name,
331
+ __props__,
332
+ opts)
333
+
334
+ @staticmethod
335
+ def get(resource_name: str,
336
+ id: pulumi.Input[str],
337
+ opts: Optional[pulumi.ResourceOptions] = None,
338
+ encryption_spec: Optional[pulumi.Input[Union['EncryptionSpecEncryptionSpecArgs', 'EncryptionSpecEncryptionSpecArgsDict']]] = None,
339
+ location: Optional[pulumi.Input[builtins.str]] = None,
340
+ project: Optional[pulumi.Input[builtins.str]] = None) -> 'EncryptionSpec':
341
+ """
342
+ Get an existing EncryptionSpec resource's state with the given name, id, and optional extra
343
+ properties used to qualify the lookup.
344
+
345
+ :param str resource_name: The unique name of the resulting resource.
346
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
347
+ :param pulumi.ResourceOptions opts: Options for the resource.
348
+ :param pulumi.Input[Union['EncryptionSpecEncryptionSpecArgs', 'EncryptionSpecEncryptionSpecArgsDict']] encryption_spec: A nested object resource.
349
+ Structure is documented below.
350
+ :param pulumi.Input[builtins.str] location: The location in which the encryptionSpec is to be initialized.
351
+ """
352
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
353
+
354
+ __props__ = _EncryptionSpecState.__new__(_EncryptionSpecState)
355
+
356
+ __props__.__dict__["encryption_spec"] = encryption_spec
357
+ __props__.__dict__["location"] = location
358
+ __props__.__dict__["project"] = project
359
+ return EncryptionSpec(resource_name, opts=opts, __props__=__props__)
360
+
361
+ @property
362
+ @pulumi.getter(name="encryptionSpec")
363
+ def encryption_spec(self) -> pulumi.Output['outputs.EncryptionSpecEncryptionSpec']:
364
+ """
365
+ A nested object resource.
366
+ Structure is documented below.
367
+ """
368
+ return pulumi.get(self, "encryption_spec")
369
+
370
+ @property
371
+ @pulumi.getter
372
+ def location(self) -> pulumi.Output[builtins.str]:
373
+ """
374
+ The location in which the encryptionSpec is to be initialized.
375
+ """
376
+ return pulumi.get(self, "location")
377
+
378
+ @property
379
+ @pulumi.getter
380
+ def project(self) -> pulumi.Output[builtins.str]:
381
+ return pulumi.get(self, "project")
382
+
@@ -204,6 +204,7 @@ __all__ = [
204
204
  'CxWebhookGenericWebService',
205
205
  'CxWebhookServiceDirectory',
206
206
  'CxWebhookServiceDirectoryGenericWebService',
207
+ 'EncryptionSpecEncryptionSpec',
207
208
  'EntityTypeEntity',
208
209
  'FulfillmentFeature',
209
210
  'FulfillmentGenericWebService',
@@ -11431,6 +11432,51 @@ class CxWebhookServiceDirectoryGenericWebService(dict):
11431
11432
  return pulumi.get(self, "request_headers")
11432
11433
 
11433
11434
 
11435
+ @pulumi.output_type
11436
+ class EncryptionSpecEncryptionSpec(dict):
11437
+ @staticmethod
11438
+ def __key_warning(key: str):
11439
+ suggest = None
11440
+ if key == "kmsKey":
11441
+ suggest = "kms_key"
11442
+
11443
+ if suggest:
11444
+ pulumi.log.warn(f"Key '{key}' not found in EncryptionSpecEncryptionSpec. Access the value via the '{suggest}' property getter instead.")
11445
+
11446
+ def __getitem__(self, key: str) -> Any:
11447
+ EncryptionSpecEncryptionSpec.__key_warning(key)
11448
+ return super().__getitem__(key)
11449
+
11450
+ def get(self, key: str, default = None) -> Any:
11451
+ EncryptionSpecEncryptionSpec.__key_warning(key)
11452
+ return super().get(key, default)
11453
+
11454
+ def __init__(__self__, *,
11455
+ kms_key: builtins.str):
11456
+ """
11457
+ :param builtins.str kms_key: The name of customer-managed encryption key that is used to secure a resource and its sub-resources.
11458
+ If empty, the resource is secured by the default Google encryption key.
11459
+ Only the key in the same location as this resource is allowed to be used for encryption.
11460
+ Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}
11461
+
11462
+ - - -
11463
+ """
11464
+ pulumi.set(__self__, "kms_key", kms_key)
11465
+
11466
+ @property
11467
+ @pulumi.getter(name="kmsKey")
11468
+ def kms_key(self) -> builtins.str:
11469
+ """
11470
+ The name of customer-managed encryption key that is used to secure a resource and its sub-resources.
11471
+ If empty, the resource is secured by the default Google encryption key.
11472
+ Only the key in the same location as this resource is allowed to be used for encryption.
11473
+ Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}
11474
+
11475
+ - - -
11476
+ """
11477
+ return pulumi.get(self, "kms_key")
11478
+
11479
+
11434
11480
  @pulumi.output_type
11435
11481
  class EntityTypeEntity(dict):
11436
11482
  def __init__(__self__, *,
@@ -326,7 +326,7 @@ class Field(pulumi.CustomResource):
326
326
  basic = gcp.firestore.Field("basic",
327
327
  project="my-project-name",
328
328
  database=database.name,
329
- collection="chatrooms__87786",
329
+ collection="chatrooms__56529",
330
330
  field="basic",
331
331
  index_config={
332
332
  "indexes": [
@@ -377,7 +377,7 @@ class Field(pulumi.CustomResource):
377
377
  match_override = gcp.firestore.Field("match_override",
378
378
  project="my-project-name",
379
379
  database=database.name,
380
- collection="chatrooms__2067",
380
+ collection="chatrooms__75413",
381
381
  field="field_with_same_configuration_as_ancestor",
382
382
  index_config={
383
383
  "indexes": [
@@ -409,7 +409,7 @@ class Field(pulumi.CustomResource):
409
409
  wildcard = gcp.firestore.Field("wildcard",
410
410
  project="my-project-name",
411
411
  database=database.name,
412
- collection="chatrooms__40785",
412
+ collection="chatrooms__55138",
413
413
  field="*",
414
414
  index_config={
415
415
  "indexes": [
@@ -494,7 +494,7 @@ class Field(pulumi.CustomResource):
494
494
  basic = gcp.firestore.Field("basic",
495
495
  project="my-project-name",
496
496
  database=database.name,
497
- collection="chatrooms__87786",
497
+ collection="chatrooms__56529",
498
498
  field="basic",
499
499
  index_config={
500
500
  "indexes": [
@@ -545,7 +545,7 @@ class Field(pulumi.CustomResource):
545
545
  match_override = gcp.firestore.Field("match_override",
546
546
  project="my-project-name",
547
547
  database=database.name,
548
- collection="chatrooms__2067",
548
+ collection="chatrooms__75413",
549
549
  field="field_with_same_configuration_as_ancestor",
550
550
  index_config={
551
551
  "indexes": [
@@ -577,7 +577,7 @@ class Field(pulumi.CustomResource):
577
577
  wildcard = gcp.firestore.Field("wildcard",
578
578
  project="my-project-name",
579
579
  database=database.name,
580
- collection="chatrooms__40785",
580
+ collection="chatrooms__55138",
581
581
  field="*",
582
582
  index_config={
583
583
  "indexes": [
@@ -425,16 +425,16 @@ class MembershipBinding(pulumi.CustomResource):
425
425
  network="default",
426
426
  subnetwork="default")
427
427
  membership = gcp.gkehub.Membership("membership",
428
- membership_id="tf-test-membership_79169",
428
+ membership_id="tf-test-membership_37559",
429
429
  endpoint={
430
430
  "gke_cluster": {
431
431
  "resource_link": primary.id.apply(lambda id: f"//container.googleapis.com/{id}"),
432
432
  },
433
433
  },
434
434
  opts = pulumi.ResourceOptions(depends_on=[primary]))
435
- scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_56529")
435
+ scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_91980")
436
436
  membership_binding = gcp.gkehub.MembershipBinding("membership_binding",
437
- membership_binding_id="tf-test-membership-binding_75413",
437
+ membership_binding_id="tf-test-membership-binding_37118",
438
438
  scope=scope.name,
439
439
  membership_id=membership.membership_id,
440
440
  location="global",
@@ -521,16 +521,16 @@ class MembershipBinding(pulumi.CustomResource):
521
521
  network="default",
522
522
  subnetwork="default")
523
523
  membership = gcp.gkehub.Membership("membership",
524
- membership_id="tf-test-membership_79169",
524
+ membership_id="tf-test-membership_37559",
525
525
  endpoint={
526
526
  "gke_cluster": {
527
527
  "resource_link": primary.id.apply(lambda id: f"//container.googleapis.com/{id}"),
528
528
  },
529
529
  },
530
530
  opts = pulumi.ResourceOptions(depends_on=[primary]))
531
- scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_56529")
531
+ scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_91980")
532
532
  membership_binding = gcp.gkehub.MembershipBinding("membership_binding",
533
- membership_binding_id="tf-test-membership-binding_75413",
533
+ membership_binding_id="tf-test-membership-binding_37118",
534
534
  scope=scope.name,
535
535
  membership_id=membership.membership_id,
536
536
  location="global",
@@ -358,7 +358,7 @@ class MembershipRbacRoleBinding(pulumi.CustomResource):
358
358
  network="default",
359
359
  subnetwork="default")
360
360
  membership = gcp.gkehub.Membership("membership",
361
- membership_id="tf-test-membership_55138",
361
+ membership_id="tf-test-membership_80332",
362
362
  endpoint={
363
363
  "gke_cluster": {
364
364
  "resource_link": primary.id.apply(lambda id: f"//container.googleapis.com/{id}"),
@@ -367,7 +367,7 @@ class MembershipRbacRoleBinding(pulumi.CustomResource):
367
367
  opts = pulumi.ResourceOptions(depends_on=[primary]))
368
368
  project = gcp.organizations.get_project()
369
369
  membership_rbac_role_binding = gcp.gkehub.MembershipRbacRoleBinding("membership_rbac_role_binding",
370
- membership_rbac_role_binding_id="tf-test-membership-rbac-role-binding_37559",
370
+ membership_rbac_role_binding_id="tf-test-membership-rbac-role-binding_13293",
371
371
  membership_id=membership.membership_id,
372
372
  user=f"service-{project.number}@gcp-sa-anthossupport.iam.gserviceaccount.com",
373
373
  role={
@@ -436,7 +436,7 @@ class MembershipRbacRoleBinding(pulumi.CustomResource):
436
436
  network="default",
437
437
  subnetwork="default")
438
438
  membership = gcp.gkehub.Membership("membership",
439
- membership_id="tf-test-membership_55138",
439
+ membership_id="tf-test-membership_80332",
440
440
  endpoint={
441
441
  "gke_cluster": {
442
442
  "resource_link": primary.id.apply(lambda id: f"//container.googleapis.com/{id}"),
@@ -445,7 +445,7 @@ class MembershipRbacRoleBinding(pulumi.CustomResource):
445
445
  opts = pulumi.ResourceOptions(depends_on=[primary]))
446
446
  project = gcp.organizations.get_project()
447
447
  membership_rbac_role_binding = gcp.gkehub.MembershipRbacRoleBinding("membership_rbac_role_binding",
448
- membership_rbac_role_binding_id="tf-test-membership-rbac-role-binding_37559",
448
+ membership_rbac_role_binding_id="tf-test-membership-rbac-role-binding_13293",
449
449
  membership_id=membership.membership_id,
450
450
  user=f"service-{project.number}@gcp-sa-anthossupport.iam.gserviceaccount.com",
451
451
  role={