pulumi-gcp 7.7.1__py3-none-any.whl → 7.8.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
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
+