pulumi-gcp 7.7.1__py3-none-any.whl → 7.8.0__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 (37) hide show
  1. pulumi_gcp/__init__.py +43 -0
  2. pulumi_gcp/alloydb/instance.py +1 -1
  3. pulumi_gcp/blockchainnodeengine/__init__.py +10 -0
  4. pulumi_gcp/blockchainnodeengine/_inputs.py +388 -0
  5. pulumi_gcp/blockchainnodeengine/blockchain_nodes.py +791 -0
  6. pulumi_gcp/blockchainnodeengine/outputs.py +441 -0
  7. pulumi_gcp/compute/__init__.py +2 -0
  8. pulumi_gcp/compute/disk.py +28 -0
  9. pulumi_gcp/compute/get_disk.py +11 -1
  10. pulumi_gcp/compute/get_instance_group_manager.py +11 -1
  11. pulumi_gcp/compute/get_machine_types.py +143 -0
  12. pulumi_gcp/compute/instance_group_manager.py +28 -0
  13. pulumi_gcp/compute/interconnect_attachment.py +75 -0
  14. pulumi_gcp/compute/outputs.py +219 -0
  15. pulumi_gcp/compute/region_instance_group_manager.py +28 -0
  16. pulumi_gcp/compute/region_network_endpoint.py +556 -0
  17. pulumi_gcp/compute/region_network_endpoint_group.py +128 -71
  18. pulumi_gcp/config/__init__.pyi +2 -2
  19. pulumi_gcp/config/vars.py +4 -4
  20. pulumi_gcp/discoveryengine/__init__.py +4 -0
  21. pulumi_gcp/discoveryengine/_inputs.py +237 -0
  22. pulumi_gcp/discoveryengine/chat_engine.py +822 -0
  23. pulumi_gcp/discoveryengine/outputs.py +304 -0
  24. pulumi_gcp/discoveryengine/search_engine.py +752 -0
  25. pulumi_gcp/filestore/_inputs.py +1 -3
  26. pulumi_gcp/filestore/outputs.py +1 -3
  27. pulumi_gcp/memcache/instance.py +61 -0
  28. pulumi_gcp/netapp/__init__.py +1 -0
  29. pulumi_gcp/netapp/storage_pool.py +34 -6
  30. pulumi_gcp/netapp/volume.py +65 -2
  31. pulumi_gcp/netapp/volume_snapshot.py +625 -0
  32. pulumi_gcp/provider.py +20 -0
  33. pulumi_gcp/vmwareengine/private_cloud.py +0 -7
  34. {pulumi_gcp-7.7.1.dist-info → pulumi_gcp-7.8.0.dist-info}/METADATA +1 -1
  35. {pulumi_gcp-7.7.1.dist-info → pulumi_gcp-7.8.0.dist-info}/RECORD +37 -26
  36. {pulumi_gcp-7.7.1.dist-info → pulumi_gcp-7.8.0.dist-info}/WHEEL +0 -0
  37. {pulumi_gcp-7.7.1.dist-info → pulumi_gcp-7.8.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,822 @@
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
+ from . import outputs
12
+ from ._inputs import *
13
+
14
+ __all__ = ['ChatEngineArgs', 'ChatEngine']
15
+
16
+ @pulumi.input_type
17
+ class ChatEngineArgs:
18
+ def __init__(__self__, *,
19
+ chat_engine_config: pulumi.Input['ChatEngineChatEngineConfigArgs'],
20
+ collection_id: pulumi.Input[str],
21
+ data_store_ids: pulumi.Input[Sequence[pulumi.Input[str]]],
22
+ display_name: pulumi.Input[str],
23
+ engine_id: pulumi.Input[str],
24
+ location: pulumi.Input[str],
25
+ common_config: Optional[pulumi.Input['ChatEngineCommonConfigArgs']] = None,
26
+ industry_vertical: Optional[pulumi.Input[str]] = None,
27
+ project: Optional[pulumi.Input[str]] = None):
28
+ """
29
+ The set of arguments for constructing a ChatEngine resource.
30
+ :param pulumi.Input['ChatEngineChatEngineConfigArgs'] chat_engine_config: Configurations for a chat Engine.
31
+ Structure is documented below.
32
+ :param pulumi.Input[str] collection_id: The collection ID.
33
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] data_store_ids: The data stores associated with this engine. Multiple DataStores in the same Collection can be associated here. All listed DataStores must be `SOLUTION_TYPE_CHAT`. Adding or removing data stores will force recreation.
34
+ :param pulumi.Input[str] display_name: The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
35
+ :param pulumi.Input[str] engine_id: The ID to use for chat engine.
36
+ :param pulumi.Input[str] location: Location.
37
+ :param pulumi.Input['ChatEngineCommonConfigArgs'] common_config: Common config spec that specifies the metadata of the engine.
38
+ Structure is documented below.
39
+ :param pulumi.Input[str] industry_vertical: The industry vertical that the chat engine registers. Vertical on Engine has to match vertical of the DataStore linked to the engine.
40
+ Default value is `GENERIC`.
41
+ Possible values are: `GENERIC`.
42
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
43
+ If it is not provided, the provider project is used.
44
+ """
45
+ pulumi.set(__self__, "chat_engine_config", chat_engine_config)
46
+ pulumi.set(__self__, "collection_id", collection_id)
47
+ pulumi.set(__self__, "data_store_ids", data_store_ids)
48
+ pulumi.set(__self__, "display_name", display_name)
49
+ pulumi.set(__self__, "engine_id", engine_id)
50
+ pulumi.set(__self__, "location", location)
51
+ if common_config is not None:
52
+ pulumi.set(__self__, "common_config", common_config)
53
+ if industry_vertical is not None:
54
+ pulumi.set(__self__, "industry_vertical", industry_vertical)
55
+ if project is not None:
56
+ pulumi.set(__self__, "project", project)
57
+
58
+ @property
59
+ @pulumi.getter(name="chatEngineConfig")
60
+ def chat_engine_config(self) -> pulumi.Input['ChatEngineChatEngineConfigArgs']:
61
+ """
62
+ Configurations for a chat Engine.
63
+ Structure is documented below.
64
+ """
65
+ return pulumi.get(self, "chat_engine_config")
66
+
67
+ @chat_engine_config.setter
68
+ def chat_engine_config(self, value: pulumi.Input['ChatEngineChatEngineConfigArgs']):
69
+ pulumi.set(self, "chat_engine_config", value)
70
+
71
+ @property
72
+ @pulumi.getter(name="collectionId")
73
+ def collection_id(self) -> pulumi.Input[str]:
74
+ """
75
+ The collection ID.
76
+ """
77
+ return pulumi.get(self, "collection_id")
78
+
79
+ @collection_id.setter
80
+ def collection_id(self, value: pulumi.Input[str]):
81
+ pulumi.set(self, "collection_id", value)
82
+
83
+ @property
84
+ @pulumi.getter(name="dataStoreIds")
85
+ def data_store_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
86
+ """
87
+ The data stores associated with this engine. Multiple DataStores in the same Collection can be associated here. All listed DataStores must be `SOLUTION_TYPE_CHAT`. Adding or removing data stores will force recreation.
88
+ """
89
+ return pulumi.get(self, "data_store_ids")
90
+
91
+ @data_store_ids.setter
92
+ def data_store_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
93
+ pulumi.set(self, "data_store_ids", value)
94
+
95
+ @property
96
+ @pulumi.getter(name="displayName")
97
+ def display_name(self) -> pulumi.Input[str]:
98
+ """
99
+ The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
100
+ """
101
+ return pulumi.get(self, "display_name")
102
+
103
+ @display_name.setter
104
+ def display_name(self, value: pulumi.Input[str]):
105
+ pulumi.set(self, "display_name", value)
106
+
107
+ @property
108
+ @pulumi.getter(name="engineId")
109
+ def engine_id(self) -> pulumi.Input[str]:
110
+ """
111
+ The ID to use for chat engine.
112
+ """
113
+ return pulumi.get(self, "engine_id")
114
+
115
+ @engine_id.setter
116
+ def engine_id(self, value: pulumi.Input[str]):
117
+ pulumi.set(self, "engine_id", value)
118
+
119
+ @property
120
+ @pulumi.getter
121
+ def location(self) -> pulumi.Input[str]:
122
+ """
123
+ Location.
124
+ """
125
+ return pulumi.get(self, "location")
126
+
127
+ @location.setter
128
+ def location(self, value: pulumi.Input[str]):
129
+ pulumi.set(self, "location", value)
130
+
131
+ @property
132
+ @pulumi.getter(name="commonConfig")
133
+ def common_config(self) -> Optional[pulumi.Input['ChatEngineCommonConfigArgs']]:
134
+ """
135
+ Common config spec that specifies the metadata of the engine.
136
+ Structure is documented below.
137
+ """
138
+ return pulumi.get(self, "common_config")
139
+
140
+ @common_config.setter
141
+ def common_config(self, value: Optional[pulumi.Input['ChatEngineCommonConfigArgs']]):
142
+ pulumi.set(self, "common_config", value)
143
+
144
+ @property
145
+ @pulumi.getter(name="industryVertical")
146
+ def industry_vertical(self) -> Optional[pulumi.Input[str]]:
147
+ """
148
+ The industry vertical that the chat engine registers. Vertical on Engine has to match vertical of the DataStore linked to the engine.
149
+ Default value is `GENERIC`.
150
+ Possible values are: `GENERIC`.
151
+ """
152
+ return pulumi.get(self, "industry_vertical")
153
+
154
+ @industry_vertical.setter
155
+ def industry_vertical(self, value: Optional[pulumi.Input[str]]):
156
+ pulumi.set(self, "industry_vertical", value)
157
+
158
+ @property
159
+ @pulumi.getter
160
+ def project(self) -> Optional[pulumi.Input[str]]:
161
+ """
162
+ The ID of the project in which the resource belongs.
163
+ If it is not provided, the provider project is used.
164
+ """
165
+ return pulumi.get(self, "project")
166
+
167
+ @project.setter
168
+ def project(self, value: Optional[pulumi.Input[str]]):
169
+ pulumi.set(self, "project", value)
170
+
171
+
172
+ @pulumi.input_type
173
+ class _ChatEngineState:
174
+ def __init__(__self__, *,
175
+ chat_engine_config: Optional[pulumi.Input['ChatEngineChatEngineConfigArgs']] = None,
176
+ chat_engine_metadatas: Optional[pulumi.Input[Sequence[pulumi.Input['ChatEngineChatEngineMetadataArgs']]]] = None,
177
+ collection_id: Optional[pulumi.Input[str]] = None,
178
+ common_config: Optional[pulumi.Input['ChatEngineCommonConfigArgs']] = None,
179
+ create_time: Optional[pulumi.Input[str]] = None,
180
+ data_store_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
181
+ display_name: Optional[pulumi.Input[str]] = None,
182
+ engine_id: Optional[pulumi.Input[str]] = None,
183
+ industry_vertical: Optional[pulumi.Input[str]] = None,
184
+ location: Optional[pulumi.Input[str]] = None,
185
+ name: Optional[pulumi.Input[str]] = None,
186
+ project: Optional[pulumi.Input[str]] = None,
187
+ update_time: Optional[pulumi.Input[str]] = None):
188
+ """
189
+ Input properties used for looking up and filtering ChatEngine resources.
190
+ :param pulumi.Input['ChatEngineChatEngineConfigArgs'] chat_engine_config: Configurations for a chat Engine.
191
+ Structure is documented below.
192
+ :param pulumi.Input[Sequence[pulumi.Input['ChatEngineChatEngineMetadataArgs']]] chat_engine_metadatas: Additional information of the Chat Engine.
193
+ Structure is documented below.
194
+ :param pulumi.Input[str] collection_id: The collection ID.
195
+ :param pulumi.Input['ChatEngineCommonConfigArgs'] common_config: Common config spec that specifies the metadata of the engine.
196
+ Structure is documented below.
197
+ :param pulumi.Input[str] create_time: Timestamp the Engine was created at.
198
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] data_store_ids: The data stores associated with this engine. Multiple DataStores in the same Collection can be associated here. All listed DataStores must be `SOLUTION_TYPE_CHAT`. Adding or removing data stores will force recreation.
199
+ :param pulumi.Input[str] display_name: The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
200
+ :param pulumi.Input[str] engine_id: The ID to use for chat engine.
201
+ :param pulumi.Input[str] industry_vertical: The industry vertical that the chat engine registers. Vertical on Engine has to match vertical of the DataStore linked to the engine.
202
+ Default value is `GENERIC`.
203
+ Possible values are: `GENERIC`.
204
+ :param pulumi.Input[str] location: Location.
205
+ :param pulumi.Input[str] name: The unique full resource name of the chat engine. Values are of the format
206
+ `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.
207
+ This field must be a UTF-8 encoded string with a length limit of 1024
208
+ characters.
209
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
210
+ If it is not provided, the provider project is used.
211
+ :param pulumi.Input[str] update_time: Timestamp the Engine was last updated.
212
+ """
213
+ if chat_engine_config is not None:
214
+ pulumi.set(__self__, "chat_engine_config", chat_engine_config)
215
+ if chat_engine_metadatas is not None:
216
+ pulumi.set(__self__, "chat_engine_metadatas", chat_engine_metadatas)
217
+ if collection_id is not None:
218
+ pulumi.set(__self__, "collection_id", collection_id)
219
+ if common_config is not None:
220
+ pulumi.set(__self__, "common_config", common_config)
221
+ if create_time is not None:
222
+ pulumi.set(__self__, "create_time", create_time)
223
+ if data_store_ids is not None:
224
+ pulumi.set(__self__, "data_store_ids", data_store_ids)
225
+ if display_name is not None:
226
+ pulumi.set(__self__, "display_name", display_name)
227
+ if engine_id is not None:
228
+ pulumi.set(__self__, "engine_id", engine_id)
229
+ if industry_vertical is not None:
230
+ pulumi.set(__self__, "industry_vertical", industry_vertical)
231
+ if location is not None:
232
+ pulumi.set(__self__, "location", location)
233
+ if name is not None:
234
+ pulumi.set(__self__, "name", name)
235
+ if project is not None:
236
+ pulumi.set(__self__, "project", project)
237
+ if update_time is not None:
238
+ pulumi.set(__self__, "update_time", update_time)
239
+
240
+ @property
241
+ @pulumi.getter(name="chatEngineConfig")
242
+ def chat_engine_config(self) -> Optional[pulumi.Input['ChatEngineChatEngineConfigArgs']]:
243
+ """
244
+ Configurations for a chat Engine.
245
+ Structure is documented below.
246
+ """
247
+ return pulumi.get(self, "chat_engine_config")
248
+
249
+ @chat_engine_config.setter
250
+ def chat_engine_config(self, value: Optional[pulumi.Input['ChatEngineChatEngineConfigArgs']]):
251
+ pulumi.set(self, "chat_engine_config", value)
252
+
253
+ @property
254
+ @pulumi.getter(name="chatEngineMetadatas")
255
+ def chat_engine_metadatas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ChatEngineChatEngineMetadataArgs']]]]:
256
+ """
257
+ Additional information of the Chat Engine.
258
+ Structure is documented below.
259
+ """
260
+ return pulumi.get(self, "chat_engine_metadatas")
261
+
262
+ @chat_engine_metadatas.setter
263
+ def chat_engine_metadatas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ChatEngineChatEngineMetadataArgs']]]]):
264
+ pulumi.set(self, "chat_engine_metadatas", value)
265
+
266
+ @property
267
+ @pulumi.getter(name="collectionId")
268
+ def collection_id(self) -> Optional[pulumi.Input[str]]:
269
+ """
270
+ The collection ID.
271
+ """
272
+ return pulumi.get(self, "collection_id")
273
+
274
+ @collection_id.setter
275
+ def collection_id(self, value: Optional[pulumi.Input[str]]):
276
+ pulumi.set(self, "collection_id", value)
277
+
278
+ @property
279
+ @pulumi.getter(name="commonConfig")
280
+ def common_config(self) -> Optional[pulumi.Input['ChatEngineCommonConfigArgs']]:
281
+ """
282
+ Common config spec that specifies the metadata of the engine.
283
+ Structure is documented below.
284
+ """
285
+ return pulumi.get(self, "common_config")
286
+
287
+ @common_config.setter
288
+ def common_config(self, value: Optional[pulumi.Input['ChatEngineCommonConfigArgs']]):
289
+ pulumi.set(self, "common_config", value)
290
+
291
+ @property
292
+ @pulumi.getter(name="createTime")
293
+ def create_time(self) -> Optional[pulumi.Input[str]]:
294
+ """
295
+ Timestamp the Engine was created at.
296
+ """
297
+ return pulumi.get(self, "create_time")
298
+
299
+ @create_time.setter
300
+ def create_time(self, value: Optional[pulumi.Input[str]]):
301
+ pulumi.set(self, "create_time", value)
302
+
303
+ @property
304
+ @pulumi.getter(name="dataStoreIds")
305
+ def data_store_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
306
+ """
307
+ The data stores associated with this engine. Multiple DataStores in the same Collection can be associated here. All listed DataStores must be `SOLUTION_TYPE_CHAT`. Adding or removing data stores will force recreation.
308
+ """
309
+ return pulumi.get(self, "data_store_ids")
310
+
311
+ @data_store_ids.setter
312
+ def data_store_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
313
+ pulumi.set(self, "data_store_ids", value)
314
+
315
+ @property
316
+ @pulumi.getter(name="displayName")
317
+ def display_name(self) -> Optional[pulumi.Input[str]]:
318
+ """
319
+ The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
320
+ """
321
+ return pulumi.get(self, "display_name")
322
+
323
+ @display_name.setter
324
+ def display_name(self, value: Optional[pulumi.Input[str]]):
325
+ pulumi.set(self, "display_name", value)
326
+
327
+ @property
328
+ @pulumi.getter(name="engineId")
329
+ def engine_id(self) -> Optional[pulumi.Input[str]]:
330
+ """
331
+ The ID to use for chat engine.
332
+ """
333
+ return pulumi.get(self, "engine_id")
334
+
335
+ @engine_id.setter
336
+ def engine_id(self, value: Optional[pulumi.Input[str]]):
337
+ pulumi.set(self, "engine_id", value)
338
+
339
+ @property
340
+ @pulumi.getter(name="industryVertical")
341
+ def industry_vertical(self) -> Optional[pulumi.Input[str]]:
342
+ """
343
+ The industry vertical that the chat engine registers. Vertical on Engine has to match vertical of the DataStore linked to the engine.
344
+ Default value is `GENERIC`.
345
+ Possible values are: `GENERIC`.
346
+ """
347
+ return pulumi.get(self, "industry_vertical")
348
+
349
+ @industry_vertical.setter
350
+ def industry_vertical(self, value: Optional[pulumi.Input[str]]):
351
+ pulumi.set(self, "industry_vertical", value)
352
+
353
+ @property
354
+ @pulumi.getter
355
+ def location(self) -> Optional[pulumi.Input[str]]:
356
+ """
357
+ Location.
358
+ """
359
+ return pulumi.get(self, "location")
360
+
361
+ @location.setter
362
+ def location(self, value: Optional[pulumi.Input[str]]):
363
+ pulumi.set(self, "location", value)
364
+
365
+ @property
366
+ @pulumi.getter
367
+ def name(self) -> Optional[pulumi.Input[str]]:
368
+ """
369
+ The unique full resource name of the chat engine. Values are of the format
370
+ `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.
371
+ This field must be a UTF-8 encoded string with a length limit of 1024
372
+ characters.
373
+ """
374
+ return pulumi.get(self, "name")
375
+
376
+ @name.setter
377
+ def name(self, value: Optional[pulumi.Input[str]]):
378
+ pulumi.set(self, "name", value)
379
+
380
+ @property
381
+ @pulumi.getter
382
+ def project(self) -> Optional[pulumi.Input[str]]:
383
+ """
384
+ The ID of the project in which the resource belongs.
385
+ If it is not provided, the provider project is used.
386
+ """
387
+ return pulumi.get(self, "project")
388
+
389
+ @project.setter
390
+ def project(self, value: Optional[pulumi.Input[str]]):
391
+ pulumi.set(self, "project", value)
392
+
393
+ @property
394
+ @pulumi.getter(name="updateTime")
395
+ def update_time(self) -> Optional[pulumi.Input[str]]:
396
+ """
397
+ Timestamp the Engine was last updated.
398
+ """
399
+ return pulumi.get(self, "update_time")
400
+
401
+ @update_time.setter
402
+ def update_time(self, value: Optional[pulumi.Input[str]]):
403
+ pulumi.set(self, "update_time", value)
404
+
405
+
406
+ class ChatEngine(pulumi.CustomResource):
407
+ @overload
408
+ def __init__(__self__,
409
+ resource_name: str,
410
+ opts: Optional[pulumi.ResourceOptions] = None,
411
+ chat_engine_config: Optional[pulumi.Input[pulumi.InputType['ChatEngineChatEngineConfigArgs']]] = None,
412
+ collection_id: Optional[pulumi.Input[str]] = None,
413
+ common_config: Optional[pulumi.Input[pulumi.InputType['ChatEngineCommonConfigArgs']]] = None,
414
+ data_store_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
415
+ display_name: Optional[pulumi.Input[str]] = None,
416
+ engine_id: Optional[pulumi.Input[str]] = None,
417
+ industry_vertical: Optional[pulumi.Input[str]] = None,
418
+ location: Optional[pulumi.Input[str]] = None,
419
+ project: Optional[pulumi.Input[str]] = None,
420
+ __props__=None):
421
+ """
422
+ Vertex chat and Conversation Engine Chat type
423
+
424
+ To get more information about ChatEngine, see:
425
+
426
+ * [API documentation](https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/projects.locations.collections.engines)
427
+ * How-to Guides
428
+ * [Vertex AI Conversation](https://cloud.google.com/dialogflow/cx/docs/concept/generative)
429
+
430
+ ## Example Usage
431
+ ### Discoveryengine Chat Engine Basic
432
+
433
+ ```python
434
+ import pulumi
435
+ import pulumi_gcp as gcp
436
+
437
+ test_data_store = gcp.discoveryengine.DataStore("testDataStore",
438
+ location="global",
439
+ data_store_id="data-store",
440
+ display_name="Structured datastore",
441
+ industry_vertical="GENERIC",
442
+ content_config="NO_CONTENT",
443
+ solution_types=["SOLUTION_TYPE_CHAT"])
444
+ test_data_store2 = gcp.discoveryengine.DataStore("testDataStore2",
445
+ location=test_data_store.location,
446
+ data_store_id="data-store-2",
447
+ display_name="Structured datastore 2",
448
+ industry_vertical="GENERIC",
449
+ content_config="NO_CONTENT",
450
+ solution_types=["SOLUTION_TYPE_CHAT"])
451
+ primary = gcp.discoveryengine.ChatEngine("primary",
452
+ engine_id="chat-engine-id",
453
+ collection_id="default_collection",
454
+ location=test_data_store.location,
455
+ display_name="Chat engine",
456
+ industry_vertical="GENERIC",
457
+ data_store_ids=[
458
+ test_data_store.data_store_id,
459
+ test_data_store2.data_store_id,
460
+ ],
461
+ common_config=gcp.discoveryengine.ChatEngineCommonConfigArgs(
462
+ company_name="test-company",
463
+ ),
464
+ chat_engine_config=gcp.discoveryengine.ChatEngineChatEngineConfigArgs(
465
+ agent_creation_config=gcp.discoveryengine.ChatEngineChatEngineConfigAgentCreationConfigArgs(
466
+ business="test business name",
467
+ default_language_code="en",
468
+ time_zone="America/Los_Angeles",
469
+ ),
470
+ ))
471
+ ```
472
+
473
+ ## Import
474
+
475
+ ChatEngine can be imported using any of these accepted formats* `projects/{{project}}/locations/{{location}}/collections/{{collection_id}}/engines/{{engine_id}}` * `{{project}}/{{location}}/{{collection_id}}/{{engine_id}}` * `{{location}}/{{collection_id}}/{{engine_id}}` When using the `pulumi import` command, ChatEngine can be imported using one of the formats above. For example
476
+
477
+ ```sh
478
+ $ pulumi import gcp:discoveryengine/chatEngine:ChatEngine default projects/{{project}}/locations/{{location}}/collections/{{collection_id}}/engines/{{engine_id}}
479
+ ```
480
+
481
+ ```sh
482
+ $ pulumi import gcp:discoveryengine/chatEngine:ChatEngine default {{project}}/{{location}}/{{collection_id}}/{{engine_id}}
483
+ ```
484
+
485
+ ```sh
486
+ $ pulumi import gcp:discoveryengine/chatEngine:ChatEngine default {{location}}/{{collection_id}}/{{engine_id}}
487
+ ```
488
+
489
+ :param str resource_name: The name of the resource.
490
+ :param pulumi.ResourceOptions opts: Options for the resource.
491
+ :param pulumi.Input[pulumi.InputType['ChatEngineChatEngineConfigArgs']] chat_engine_config: Configurations for a chat Engine.
492
+ Structure is documented below.
493
+ :param pulumi.Input[str] collection_id: The collection ID.
494
+ :param pulumi.Input[pulumi.InputType['ChatEngineCommonConfigArgs']] common_config: Common config spec that specifies the metadata of the engine.
495
+ Structure is documented below.
496
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] data_store_ids: The data stores associated with this engine. Multiple DataStores in the same Collection can be associated here. All listed DataStores must be `SOLUTION_TYPE_CHAT`. Adding or removing data stores will force recreation.
497
+ :param pulumi.Input[str] display_name: The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
498
+ :param pulumi.Input[str] engine_id: The ID to use for chat engine.
499
+ :param pulumi.Input[str] industry_vertical: The industry vertical that the chat engine registers. Vertical on Engine has to match vertical of the DataStore linked to the engine.
500
+ Default value is `GENERIC`.
501
+ Possible values are: `GENERIC`.
502
+ :param pulumi.Input[str] location: Location.
503
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
504
+ If it is not provided, the provider project is used.
505
+ """
506
+ ...
507
+ @overload
508
+ def __init__(__self__,
509
+ resource_name: str,
510
+ args: ChatEngineArgs,
511
+ opts: Optional[pulumi.ResourceOptions] = None):
512
+ """
513
+ Vertex chat and Conversation Engine Chat type
514
+
515
+ To get more information about ChatEngine, see:
516
+
517
+ * [API documentation](https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/projects.locations.collections.engines)
518
+ * How-to Guides
519
+ * [Vertex AI Conversation](https://cloud.google.com/dialogflow/cx/docs/concept/generative)
520
+
521
+ ## Example Usage
522
+ ### Discoveryengine Chat Engine Basic
523
+
524
+ ```python
525
+ import pulumi
526
+ import pulumi_gcp as gcp
527
+
528
+ test_data_store = gcp.discoveryengine.DataStore("testDataStore",
529
+ location="global",
530
+ data_store_id="data-store",
531
+ display_name="Structured datastore",
532
+ industry_vertical="GENERIC",
533
+ content_config="NO_CONTENT",
534
+ solution_types=["SOLUTION_TYPE_CHAT"])
535
+ test_data_store2 = gcp.discoveryengine.DataStore("testDataStore2",
536
+ location=test_data_store.location,
537
+ data_store_id="data-store-2",
538
+ display_name="Structured datastore 2",
539
+ industry_vertical="GENERIC",
540
+ content_config="NO_CONTENT",
541
+ solution_types=["SOLUTION_TYPE_CHAT"])
542
+ primary = gcp.discoveryengine.ChatEngine("primary",
543
+ engine_id="chat-engine-id",
544
+ collection_id="default_collection",
545
+ location=test_data_store.location,
546
+ display_name="Chat engine",
547
+ industry_vertical="GENERIC",
548
+ data_store_ids=[
549
+ test_data_store.data_store_id,
550
+ test_data_store2.data_store_id,
551
+ ],
552
+ common_config=gcp.discoveryengine.ChatEngineCommonConfigArgs(
553
+ company_name="test-company",
554
+ ),
555
+ chat_engine_config=gcp.discoveryengine.ChatEngineChatEngineConfigArgs(
556
+ agent_creation_config=gcp.discoveryengine.ChatEngineChatEngineConfigAgentCreationConfigArgs(
557
+ business="test business name",
558
+ default_language_code="en",
559
+ time_zone="America/Los_Angeles",
560
+ ),
561
+ ))
562
+ ```
563
+
564
+ ## Import
565
+
566
+ ChatEngine can be imported using any of these accepted formats* `projects/{{project}}/locations/{{location}}/collections/{{collection_id}}/engines/{{engine_id}}` * `{{project}}/{{location}}/{{collection_id}}/{{engine_id}}` * `{{location}}/{{collection_id}}/{{engine_id}}` When using the `pulumi import` command, ChatEngine can be imported using one of the formats above. For example
567
+
568
+ ```sh
569
+ $ pulumi import gcp:discoveryengine/chatEngine:ChatEngine default projects/{{project}}/locations/{{location}}/collections/{{collection_id}}/engines/{{engine_id}}
570
+ ```
571
+
572
+ ```sh
573
+ $ pulumi import gcp:discoveryengine/chatEngine:ChatEngine default {{project}}/{{location}}/{{collection_id}}/{{engine_id}}
574
+ ```
575
+
576
+ ```sh
577
+ $ pulumi import gcp:discoveryengine/chatEngine:ChatEngine default {{location}}/{{collection_id}}/{{engine_id}}
578
+ ```
579
+
580
+ :param str resource_name: The name of the resource.
581
+ :param ChatEngineArgs args: The arguments to use to populate this resource's properties.
582
+ :param pulumi.ResourceOptions opts: Options for the resource.
583
+ """
584
+ ...
585
+ def __init__(__self__, resource_name: str, *args, **kwargs):
586
+ resource_args, opts = _utilities.get_resource_args_opts(ChatEngineArgs, pulumi.ResourceOptions, *args, **kwargs)
587
+ if resource_args is not None:
588
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
589
+ else:
590
+ __self__._internal_init(resource_name, *args, **kwargs)
591
+
592
+ def _internal_init(__self__,
593
+ resource_name: str,
594
+ opts: Optional[pulumi.ResourceOptions] = None,
595
+ chat_engine_config: Optional[pulumi.Input[pulumi.InputType['ChatEngineChatEngineConfigArgs']]] = None,
596
+ collection_id: Optional[pulumi.Input[str]] = None,
597
+ common_config: Optional[pulumi.Input[pulumi.InputType['ChatEngineCommonConfigArgs']]] = None,
598
+ data_store_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
599
+ display_name: Optional[pulumi.Input[str]] = None,
600
+ engine_id: Optional[pulumi.Input[str]] = None,
601
+ industry_vertical: Optional[pulumi.Input[str]] = None,
602
+ location: Optional[pulumi.Input[str]] = None,
603
+ project: Optional[pulumi.Input[str]] = None,
604
+ __props__=None):
605
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
606
+ if not isinstance(opts, pulumi.ResourceOptions):
607
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
608
+ if opts.id is None:
609
+ if __props__ is not None:
610
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
611
+ __props__ = ChatEngineArgs.__new__(ChatEngineArgs)
612
+
613
+ if chat_engine_config is None and not opts.urn:
614
+ raise TypeError("Missing required property 'chat_engine_config'")
615
+ __props__.__dict__["chat_engine_config"] = chat_engine_config
616
+ if collection_id is None and not opts.urn:
617
+ raise TypeError("Missing required property 'collection_id'")
618
+ __props__.__dict__["collection_id"] = collection_id
619
+ __props__.__dict__["common_config"] = common_config
620
+ if data_store_ids is None and not opts.urn:
621
+ raise TypeError("Missing required property 'data_store_ids'")
622
+ __props__.__dict__["data_store_ids"] = data_store_ids
623
+ if display_name is None and not opts.urn:
624
+ raise TypeError("Missing required property 'display_name'")
625
+ __props__.__dict__["display_name"] = display_name
626
+ if engine_id is None and not opts.urn:
627
+ raise TypeError("Missing required property 'engine_id'")
628
+ __props__.__dict__["engine_id"] = engine_id
629
+ __props__.__dict__["industry_vertical"] = industry_vertical
630
+ if location is None and not opts.urn:
631
+ raise TypeError("Missing required property 'location'")
632
+ __props__.__dict__["location"] = location
633
+ __props__.__dict__["project"] = project
634
+ __props__.__dict__["chat_engine_metadatas"] = None
635
+ __props__.__dict__["create_time"] = None
636
+ __props__.__dict__["name"] = None
637
+ __props__.__dict__["update_time"] = None
638
+ super(ChatEngine, __self__).__init__(
639
+ 'gcp:discoveryengine/chatEngine:ChatEngine',
640
+ resource_name,
641
+ __props__,
642
+ opts)
643
+
644
+ @staticmethod
645
+ def get(resource_name: str,
646
+ id: pulumi.Input[str],
647
+ opts: Optional[pulumi.ResourceOptions] = None,
648
+ chat_engine_config: Optional[pulumi.Input[pulumi.InputType['ChatEngineChatEngineConfigArgs']]] = None,
649
+ chat_engine_metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ChatEngineChatEngineMetadataArgs']]]]] = None,
650
+ collection_id: Optional[pulumi.Input[str]] = None,
651
+ common_config: Optional[pulumi.Input[pulumi.InputType['ChatEngineCommonConfigArgs']]] = None,
652
+ create_time: Optional[pulumi.Input[str]] = None,
653
+ data_store_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
654
+ display_name: Optional[pulumi.Input[str]] = None,
655
+ engine_id: Optional[pulumi.Input[str]] = None,
656
+ industry_vertical: Optional[pulumi.Input[str]] = None,
657
+ location: Optional[pulumi.Input[str]] = None,
658
+ name: Optional[pulumi.Input[str]] = None,
659
+ project: Optional[pulumi.Input[str]] = None,
660
+ update_time: Optional[pulumi.Input[str]] = None) -> 'ChatEngine':
661
+ """
662
+ Get an existing ChatEngine resource's state with the given name, id, and optional extra
663
+ properties used to qualify the lookup.
664
+
665
+ :param str resource_name: The unique name of the resulting resource.
666
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
667
+ :param pulumi.ResourceOptions opts: Options for the resource.
668
+ :param pulumi.Input[pulumi.InputType['ChatEngineChatEngineConfigArgs']] chat_engine_config: Configurations for a chat Engine.
669
+ Structure is documented below.
670
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ChatEngineChatEngineMetadataArgs']]]] chat_engine_metadatas: Additional information of the Chat Engine.
671
+ Structure is documented below.
672
+ :param pulumi.Input[str] collection_id: The collection ID.
673
+ :param pulumi.Input[pulumi.InputType['ChatEngineCommonConfigArgs']] common_config: Common config spec that specifies the metadata of the engine.
674
+ Structure is documented below.
675
+ :param pulumi.Input[str] create_time: Timestamp the Engine was created at.
676
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] data_store_ids: The data stores associated with this engine. Multiple DataStores in the same Collection can be associated here. All listed DataStores must be `SOLUTION_TYPE_CHAT`. Adding or removing data stores will force recreation.
677
+ :param pulumi.Input[str] display_name: The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
678
+ :param pulumi.Input[str] engine_id: The ID to use for chat engine.
679
+ :param pulumi.Input[str] industry_vertical: The industry vertical that the chat engine registers. Vertical on Engine has to match vertical of the DataStore linked to the engine.
680
+ Default value is `GENERIC`.
681
+ Possible values are: `GENERIC`.
682
+ :param pulumi.Input[str] location: Location.
683
+ :param pulumi.Input[str] name: The unique full resource name of the chat engine. Values are of the format
684
+ `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.
685
+ This field must be a UTF-8 encoded string with a length limit of 1024
686
+ characters.
687
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
688
+ If it is not provided, the provider project is used.
689
+ :param pulumi.Input[str] update_time: Timestamp the Engine was last updated.
690
+ """
691
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
692
+
693
+ __props__ = _ChatEngineState.__new__(_ChatEngineState)
694
+
695
+ __props__.__dict__["chat_engine_config"] = chat_engine_config
696
+ __props__.__dict__["chat_engine_metadatas"] = chat_engine_metadatas
697
+ __props__.__dict__["collection_id"] = collection_id
698
+ __props__.__dict__["common_config"] = common_config
699
+ __props__.__dict__["create_time"] = create_time
700
+ __props__.__dict__["data_store_ids"] = data_store_ids
701
+ __props__.__dict__["display_name"] = display_name
702
+ __props__.__dict__["engine_id"] = engine_id
703
+ __props__.__dict__["industry_vertical"] = industry_vertical
704
+ __props__.__dict__["location"] = location
705
+ __props__.__dict__["name"] = name
706
+ __props__.__dict__["project"] = project
707
+ __props__.__dict__["update_time"] = update_time
708
+ return ChatEngine(resource_name, opts=opts, __props__=__props__)
709
+
710
+ @property
711
+ @pulumi.getter(name="chatEngineConfig")
712
+ def chat_engine_config(self) -> pulumi.Output['outputs.ChatEngineChatEngineConfig']:
713
+ """
714
+ Configurations for a chat Engine.
715
+ Structure is documented below.
716
+ """
717
+ return pulumi.get(self, "chat_engine_config")
718
+
719
+ @property
720
+ @pulumi.getter(name="chatEngineMetadatas")
721
+ def chat_engine_metadatas(self) -> pulumi.Output[Sequence['outputs.ChatEngineChatEngineMetadata']]:
722
+ """
723
+ Additional information of the Chat Engine.
724
+ Structure is documented below.
725
+ """
726
+ return pulumi.get(self, "chat_engine_metadatas")
727
+
728
+ @property
729
+ @pulumi.getter(name="collectionId")
730
+ def collection_id(self) -> pulumi.Output[str]:
731
+ """
732
+ The collection ID.
733
+ """
734
+ return pulumi.get(self, "collection_id")
735
+
736
+ @property
737
+ @pulumi.getter(name="commonConfig")
738
+ def common_config(self) -> pulumi.Output[Optional['outputs.ChatEngineCommonConfig']]:
739
+ """
740
+ Common config spec that specifies the metadata of the engine.
741
+ Structure is documented below.
742
+ """
743
+ return pulumi.get(self, "common_config")
744
+
745
+ @property
746
+ @pulumi.getter(name="createTime")
747
+ def create_time(self) -> pulumi.Output[str]:
748
+ """
749
+ Timestamp the Engine was created at.
750
+ """
751
+ return pulumi.get(self, "create_time")
752
+
753
+ @property
754
+ @pulumi.getter(name="dataStoreIds")
755
+ def data_store_ids(self) -> pulumi.Output[Sequence[str]]:
756
+ """
757
+ The data stores associated with this engine. Multiple DataStores in the same Collection can be associated here. All listed DataStores must be `SOLUTION_TYPE_CHAT`. Adding or removing data stores will force recreation.
758
+ """
759
+ return pulumi.get(self, "data_store_ids")
760
+
761
+ @property
762
+ @pulumi.getter(name="displayName")
763
+ def display_name(self) -> pulumi.Output[str]:
764
+ """
765
+ The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
766
+ """
767
+ return pulumi.get(self, "display_name")
768
+
769
+ @property
770
+ @pulumi.getter(name="engineId")
771
+ def engine_id(self) -> pulumi.Output[str]:
772
+ """
773
+ The ID to use for chat engine.
774
+ """
775
+ return pulumi.get(self, "engine_id")
776
+
777
+ @property
778
+ @pulumi.getter(name="industryVertical")
779
+ def industry_vertical(self) -> pulumi.Output[Optional[str]]:
780
+ """
781
+ The industry vertical that the chat engine registers. Vertical on Engine has to match vertical of the DataStore linked to the engine.
782
+ Default value is `GENERIC`.
783
+ Possible values are: `GENERIC`.
784
+ """
785
+ return pulumi.get(self, "industry_vertical")
786
+
787
+ @property
788
+ @pulumi.getter
789
+ def location(self) -> pulumi.Output[str]:
790
+ """
791
+ Location.
792
+ """
793
+ return pulumi.get(self, "location")
794
+
795
+ @property
796
+ @pulumi.getter
797
+ def name(self) -> pulumi.Output[str]:
798
+ """
799
+ The unique full resource name of the chat engine. Values are of the format
800
+ `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.
801
+ This field must be a UTF-8 encoded string with a length limit of 1024
802
+ characters.
803
+ """
804
+ return pulumi.get(self, "name")
805
+
806
+ @property
807
+ @pulumi.getter
808
+ def project(self) -> pulumi.Output[str]:
809
+ """
810
+ The ID of the project in which the resource belongs.
811
+ If it is not provided, the provider project is used.
812
+ """
813
+ return pulumi.get(self, "project")
814
+
815
+ @property
816
+ @pulumi.getter(name="updateTime")
817
+ def update_time(self) -> pulumi.Output[str]:
818
+ """
819
+ Timestamp the Engine was last updated.
820
+ """
821
+ return pulumi.get(self, "update_time")
822
+