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,752 @@
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__ = ['SearchEngineArgs', 'SearchEngine']
15
+
16
+ @pulumi.input_type
17
+ class SearchEngineArgs:
18
+ def __init__(__self__, *,
19
+ collection_id: pulumi.Input[str],
20
+ data_store_ids: pulumi.Input[Sequence[pulumi.Input[str]]],
21
+ display_name: pulumi.Input[str],
22
+ engine_id: pulumi.Input[str],
23
+ location: pulumi.Input[str],
24
+ search_engine_config: pulumi.Input['SearchEngineSearchEngineConfigArgs'],
25
+ common_config: Optional[pulumi.Input['SearchEngineCommonConfigArgs']] = 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 SearchEngine resource.
30
+ :param pulumi.Input[str] collection_id: The collection ID.
31
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] data_store_ids: The data stores associated with this engine. For SOLUTION_TYPE_SEARCH type of engines, they can only associate with at most one data store.
32
+ :param pulumi.Input[str] display_name: Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
33
+ :param pulumi.Input[str] engine_id: Unique ID to use for Search Engine App.
34
+ :param pulumi.Input[str] location: Location.
35
+ :param pulumi.Input['SearchEngineSearchEngineConfigArgs'] search_engine_config: Configurations for a Search Engine.
36
+ Structure is documented below.
37
+ :param pulumi.Input['SearchEngineCommonConfigArgs'] 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 engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to GENERIC. Vertical on Engine has to match vertical of the DataStore liniked to the engine.
40
+ Default value is `GENERIC`.
41
+ Possible values are: `GENERIC`, `MEDIA`.
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__, "collection_id", collection_id)
46
+ pulumi.set(__self__, "data_store_ids", data_store_ids)
47
+ pulumi.set(__self__, "display_name", display_name)
48
+ pulumi.set(__self__, "engine_id", engine_id)
49
+ pulumi.set(__self__, "location", location)
50
+ pulumi.set(__self__, "search_engine_config", search_engine_config)
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="collectionId")
60
+ def collection_id(self) -> pulumi.Input[str]:
61
+ """
62
+ The collection ID.
63
+ """
64
+ return pulumi.get(self, "collection_id")
65
+
66
+ @collection_id.setter
67
+ def collection_id(self, value: pulumi.Input[str]):
68
+ pulumi.set(self, "collection_id", value)
69
+
70
+ @property
71
+ @pulumi.getter(name="dataStoreIds")
72
+ def data_store_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
73
+ """
74
+ The data stores associated with this engine. For SOLUTION_TYPE_SEARCH type of engines, they can only associate with at most one data store.
75
+ """
76
+ return pulumi.get(self, "data_store_ids")
77
+
78
+ @data_store_ids.setter
79
+ def data_store_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
80
+ pulumi.set(self, "data_store_ids", value)
81
+
82
+ @property
83
+ @pulumi.getter(name="displayName")
84
+ def display_name(self) -> pulumi.Input[str]:
85
+ """
86
+ Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
87
+ """
88
+ return pulumi.get(self, "display_name")
89
+
90
+ @display_name.setter
91
+ def display_name(self, value: pulumi.Input[str]):
92
+ pulumi.set(self, "display_name", value)
93
+
94
+ @property
95
+ @pulumi.getter(name="engineId")
96
+ def engine_id(self) -> pulumi.Input[str]:
97
+ """
98
+ Unique ID to use for Search Engine App.
99
+ """
100
+ return pulumi.get(self, "engine_id")
101
+
102
+ @engine_id.setter
103
+ def engine_id(self, value: pulumi.Input[str]):
104
+ pulumi.set(self, "engine_id", value)
105
+
106
+ @property
107
+ @pulumi.getter
108
+ def location(self) -> pulumi.Input[str]:
109
+ """
110
+ Location.
111
+ """
112
+ return pulumi.get(self, "location")
113
+
114
+ @location.setter
115
+ def location(self, value: pulumi.Input[str]):
116
+ pulumi.set(self, "location", value)
117
+
118
+ @property
119
+ @pulumi.getter(name="searchEngineConfig")
120
+ def search_engine_config(self) -> pulumi.Input['SearchEngineSearchEngineConfigArgs']:
121
+ """
122
+ Configurations for a Search Engine.
123
+ Structure is documented below.
124
+ """
125
+ return pulumi.get(self, "search_engine_config")
126
+
127
+ @search_engine_config.setter
128
+ def search_engine_config(self, value: pulumi.Input['SearchEngineSearchEngineConfigArgs']):
129
+ pulumi.set(self, "search_engine_config", value)
130
+
131
+ @property
132
+ @pulumi.getter(name="commonConfig")
133
+ def common_config(self) -> Optional[pulumi.Input['SearchEngineCommonConfigArgs']]:
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['SearchEngineCommonConfigArgs']]):
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 engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to GENERIC. Vertical on Engine has to match vertical of the DataStore liniked to the engine.
149
+ Default value is `GENERIC`.
150
+ Possible values are: `GENERIC`, `MEDIA`.
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 _SearchEngineState:
174
+ def __init__(__self__, *,
175
+ collection_id: Optional[pulumi.Input[str]] = None,
176
+ common_config: Optional[pulumi.Input['SearchEngineCommonConfigArgs']] = None,
177
+ create_time: Optional[pulumi.Input[str]] = None,
178
+ data_store_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
179
+ display_name: Optional[pulumi.Input[str]] = None,
180
+ engine_id: Optional[pulumi.Input[str]] = None,
181
+ industry_vertical: Optional[pulumi.Input[str]] = None,
182
+ location: Optional[pulumi.Input[str]] = None,
183
+ name: Optional[pulumi.Input[str]] = None,
184
+ project: Optional[pulumi.Input[str]] = None,
185
+ search_engine_config: Optional[pulumi.Input['SearchEngineSearchEngineConfigArgs']] = None,
186
+ update_time: Optional[pulumi.Input[str]] = None):
187
+ """
188
+ Input properties used for looking up and filtering SearchEngine resources.
189
+ :param pulumi.Input[str] collection_id: The collection ID.
190
+ :param pulumi.Input['SearchEngineCommonConfigArgs'] common_config: Common config spec that specifies the metadata of the engine.
191
+ Structure is documented below.
192
+ :param pulumi.Input[str] create_time: Timestamp the Engine was created at.
193
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] data_store_ids: The data stores associated with this engine. For SOLUTION_TYPE_SEARCH type of engines, they can only associate with at most one data store.
194
+ :param pulumi.Input[str] display_name: Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
195
+ :param pulumi.Input[str] engine_id: Unique ID to use for Search Engine App.
196
+ :param pulumi.Input[str] industry_vertical: The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to GENERIC. Vertical on Engine has to match vertical of the DataStore liniked to the engine.
197
+ Default value is `GENERIC`.
198
+ Possible values are: `GENERIC`, `MEDIA`.
199
+ :param pulumi.Input[str] location: Location.
200
+ :param pulumi.Input[str] name: The unique full resource name of the search engine. Values are of the format
201
+ `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.
202
+ This field must be a UTF-8 encoded string with a length limit of 1024
203
+ characters.
204
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
205
+ If it is not provided, the provider project is used.
206
+ :param pulumi.Input['SearchEngineSearchEngineConfigArgs'] search_engine_config: Configurations for a Search Engine.
207
+ Structure is documented below.
208
+ :param pulumi.Input[str] update_time: Timestamp the Engine was last updated.
209
+ """
210
+ if collection_id is not None:
211
+ pulumi.set(__self__, "collection_id", collection_id)
212
+ if common_config is not None:
213
+ pulumi.set(__self__, "common_config", common_config)
214
+ if create_time is not None:
215
+ pulumi.set(__self__, "create_time", create_time)
216
+ if data_store_ids is not None:
217
+ pulumi.set(__self__, "data_store_ids", data_store_ids)
218
+ if display_name is not None:
219
+ pulumi.set(__self__, "display_name", display_name)
220
+ if engine_id is not None:
221
+ pulumi.set(__self__, "engine_id", engine_id)
222
+ if industry_vertical is not None:
223
+ pulumi.set(__self__, "industry_vertical", industry_vertical)
224
+ if location is not None:
225
+ pulumi.set(__self__, "location", location)
226
+ if name is not None:
227
+ pulumi.set(__self__, "name", name)
228
+ if project is not None:
229
+ pulumi.set(__self__, "project", project)
230
+ if search_engine_config is not None:
231
+ pulumi.set(__self__, "search_engine_config", search_engine_config)
232
+ if update_time is not None:
233
+ pulumi.set(__self__, "update_time", update_time)
234
+
235
+ @property
236
+ @pulumi.getter(name="collectionId")
237
+ def collection_id(self) -> Optional[pulumi.Input[str]]:
238
+ """
239
+ The collection ID.
240
+ """
241
+ return pulumi.get(self, "collection_id")
242
+
243
+ @collection_id.setter
244
+ def collection_id(self, value: Optional[pulumi.Input[str]]):
245
+ pulumi.set(self, "collection_id", value)
246
+
247
+ @property
248
+ @pulumi.getter(name="commonConfig")
249
+ def common_config(self) -> Optional[pulumi.Input['SearchEngineCommonConfigArgs']]:
250
+ """
251
+ Common config spec that specifies the metadata of the engine.
252
+ Structure is documented below.
253
+ """
254
+ return pulumi.get(self, "common_config")
255
+
256
+ @common_config.setter
257
+ def common_config(self, value: Optional[pulumi.Input['SearchEngineCommonConfigArgs']]):
258
+ pulumi.set(self, "common_config", value)
259
+
260
+ @property
261
+ @pulumi.getter(name="createTime")
262
+ def create_time(self) -> Optional[pulumi.Input[str]]:
263
+ """
264
+ Timestamp the Engine was created at.
265
+ """
266
+ return pulumi.get(self, "create_time")
267
+
268
+ @create_time.setter
269
+ def create_time(self, value: Optional[pulumi.Input[str]]):
270
+ pulumi.set(self, "create_time", value)
271
+
272
+ @property
273
+ @pulumi.getter(name="dataStoreIds")
274
+ def data_store_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
275
+ """
276
+ The data stores associated with this engine. For SOLUTION_TYPE_SEARCH type of engines, they can only associate with at most one data store.
277
+ """
278
+ return pulumi.get(self, "data_store_ids")
279
+
280
+ @data_store_ids.setter
281
+ def data_store_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
282
+ pulumi.set(self, "data_store_ids", value)
283
+
284
+ @property
285
+ @pulumi.getter(name="displayName")
286
+ def display_name(self) -> Optional[pulumi.Input[str]]:
287
+ """
288
+ Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
289
+ """
290
+ return pulumi.get(self, "display_name")
291
+
292
+ @display_name.setter
293
+ def display_name(self, value: Optional[pulumi.Input[str]]):
294
+ pulumi.set(self, "display_name", value)
295
+
296
+ @property
297
+ @pulumi.getter(name="engineId")
298
+ def engine_id(self) -> Optional[pulumi.Input[str]]:
299
+ """
300
+ Unique ID to use for Search Engine App.
301
+ """
302
+ return pulumi.get(self, "engine_id")
303
+
304
+ @engine_id.setter
305
+ def engine_id(self, value: Optional[pulumi.Input[str]]):
306
+ pulumi.set(self, "engine_id", value)
307
+
308
+ @property
309
+ @pulumi.getter(name="industryVertical")
310
+ def industry_vertical(self) -> Optional[pulumi.Input[str]]:
311
+ """
312
+ The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to GENERIC. Vertical on Engine has to match vertical of the DataStore liniked to the engine.
313
+ Default value is `GENERIC`.
314
+ Possible values are: `GENERIC`, `MEDIA`.
315
+ """
316
+ return pulumi.get(self, "industry_vertical")
317
+
318
+ @industry_vertical.setter
319
+ def industry_vertical(self, value: Optional[pulumi.Input[str]]):
320
+ pulumi.set(self, "industry_vertical", value)
321
+
322
+ @property
323
+ @pulumi.getter
324
+ def location(self) -> Optional[pulumi.Input[str]]:
325
+ """
326
+ Location.
327
+ """
328
+ return pulumi.get(self, "location")
329
+
330
+ @location.setter
331
+ def location(self, value: Optional[pulumi.Input[str]]):
332
+ pulumi.set(self, "location", value)
333
+
334
+ @property
335
+ @pulumi.getter
336
+ def name(self) -> Optional[pulumi.Input[str]]:
337
+ """
338
+ The unique full resource name of the search engine. Values are of the format
339
+ `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.
340
+ This field must be a UTF-8 encoded string with a length limit of 1024
341
+ characters.
342
+ """
343
+ return pulumi.get(self, "name")
344
+
345
+ @name.setter
346
+ def name(self, value: Optional[pulumi.Input[str]]):
347
+ pulumi.set(self, "name", value)
348
+
349
+ @property
350
+ @pulumi.getter
351
+ def project(self) -> Optional[pulumi.Input[str]]:
352
+ """
353
+ The ID of the project in which the resource belongs.
354
+ If it is not provided, the provider project is used.
355
+ """
356
+ return pulumi.get(self, "project")
357
+
358
+ @project.setter
359
+ def project(self, value: Optional[pulumi.Input[str]]):
360
+ pulumi.set(self, "project", value)
361
+
362
+ @property
363
+ @pulumi.getter(name="searchEngineConfig")
364
+ def search_engine_config(self) -> Optional[pulumi.Input['SearchEngineSearchEngineConfigArgs']]:
365
+ """
366
+ Configurations for a Search Engine.
367
+ Structure is documented below.
368
+ """
369
+ return pulumi.get(self, "search_engine_config")
370
+
371
+ @search_engine_config.setter
372
+ def search_engine_config(self, value: Optional[pulumi.Input['SearchEngineSearchEngineConfigArgs']]):
373
+ pulumi.set(self, "search_engine_config", value)
374
+
375
+ @property
376
+ @pulumi.getter(name="updateTime")
377
+ def update_time(self) -> Optional[pulumi.Input[str]]:
378
+ """
379
+ Timestamp the Engine was last updated.
380
+ """
381
+ return pulumi.get(self, "update_time")
382
+
383
+ @update_time.setter
384
+ def update_time(self, value: Optional[pulumi.Input[str]]):
385
+ pulumi.set(self, "update_time", value)
386
+
387
+
388
+ class SearchEngine(pulumi.CustomResource):
389
+ @overload
390
+ def __init__(__self__,
391
+ resource_name: str,
392
+ opts: Optional[pulumi.ResourceOptions] = None,
393
+ collection_id: Optional[pulumi.Input[str]] = None,
394
+ common_config: Optional[pulumi.Input[pulumi.InputType['SearchEngineCommonConfigArgs']]] = None,
395
+ data_store_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
396
+ display_name: Optional[pulumi.Input[str]] = None,
397
+ engine_id: Optional[pulumi.Input[str]] = None,
398
+ industry_vertical: Optional[pulumi.Input[str]] = None,
399
+ location: Optional[pulumi.Input[str]] = None,
400
+ project: Optional[pulumi.Input[str]] = None,
401
+ search_engine_config: Optional[pulumi.Input[pulumi.InputType['SearchEngineSearchEngineConfigArgs']]] = None,
402
+ __props__=None):
403
+ """
404
+ Vertex AI Search and Conversation can be used to create a search engine or a chat application by connecting it with a datastore
405
+
406
+ To get more information about SearchEngine, see:
407
+
408
+ * [API documentation](https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/projects.locations.collections.engines)
409
+ * How-to Guides
410
+ * [Create a Search Engine](https://cloud.google.com/generative-ai-app-builder/docs/create-engine-es)
411
+
412
+ ## Example Usage
413
+ ### Discoveryengine Searchengine Basic
414
+
415
+ ```python
416
+ import pulumi
417
+ import pulumi_gcp as gcp
418
+
419
+ basic_data_store = gcp.discoveryengine.DataStore("basicDataStore",
420
+ location="global",
421
+ data_store_id="example-datastore-id",
422
+ display_name="tf-test-structured-datastore",
423
+ industry_vertical="GENERIC",
424
+ content_config="NO_CONTENT",
425
+ solution_types=["SOLUTION_TYPE_SEARCH"],
426
+ create_advanced_site_search=False)
427
+ basic_search_engine = gcp.discoveryengine.SearchEngine("basicSearchEngine",
428
+ engine_id="example-engine-id",
429
+ collection_id="default_collection",
430
+ location=basic_data_store.location,
431
+ display_name="Example Display Name",
432
+ data_store_ids=[basic_data_store.data_store_id],
433
+ search_engine_config=gcp.discoveryengine.SearchEngineSearchEngineConfigArgs())
434
+ ```
435
+
436
+ ## Import
437
+
438
+ SearchEngine 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, SearchEngine can be imported using one of the formats above. For example
439
+
440
+ ```sh
441
+ $ pulumi import gcp:discoveryengine/searchEngine:SearchEngine default projects/{{project}}/locations/{{location}}/collections/{{collection_id}}/engines/{{engine_id}}
442
+ ```
443
+
444
+ ```sh
445
+ $ pulumi import gcp:discoveryengine/searchEngine:SearchEngine default {{project}}/{{location}}/{{collection_id}}/{{engine_id}}
446
+ ```
447
+
448
+ ```sh
449
+ $ pulumi import gcp:discoveryengine/searchEngine:SearchEngine default {{location}}/{{collection_id}}/{{engine_id}}
450
+ ```
451
+
452
+ :param str resource_name: The name of the resource.
453
+ :param pulumi.ResourceOptions opts: Options for the resource.
454
+ :param pulumi.Input[str] collection_id: The collection ID.
455
+ :param pulumi.Input[pulumi.InputType['SearchEngineCommonConfigArgs']] common_config: Common config spec that specifies the metadata of the engine.
456
+ Structure is documented below.
457
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] data_store_ids: The data stores associated with this engine. For SOLUTION_TYPE_SEARCH type of engines, they can only associate with at most one data store.
458
+ :param pulumi.Input[str] display_name: Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
459
+ :param pulumi.Input[str] engine_id: Unique ID to use for Search Engine App.
460
+ :param pulumi.Input[str] industry_vertical: The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to GENERIC. Vertical on Engine has to match vertical of the DataStore liniked to the engine.
461
+ Default value is `GENERIC`.
462
+ Possible values are: `GENERIC`, `MEDIA`.
463
+ :param pulumi.Input[str] location: Location.
464
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
465
+ If it is not provided, the provider project is used.
466
+ :param pulumi.Input[pulumi.InputType['SearchEngineSearchEngineConfigArgs']] search_engine_config: Configurations for a Search Engine.
467
+ Structure is documented below.
468
+ """
469
+ ...
470
+ @overload
471
+ def __init__(__self__,
472
+ resource_name: str,
473
+ args: SearchEngineArgs,
474
+ opts: Optional[pulumi.ResourceOptions] = None):
475
+ """
476
+ Vertex AI Search and Conversation can be used to create a search engine or a chat application by connecting it with a datastore
477
+
478
+ To get more information about SearchEngine, see:
479
+
480
+ * [API documentation](https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/projects.locations.collections.engines)
481
+ * How-to Guides
482
+ * [Create a Search Engine](https://cloud.google.com/generative-ai-app-builder/docs/create-engine-es)
483
+
484
+ ## Example Usage
485
+ ### Discoveryengine Searchengine Basic
486
+
487
+ ```python
488
+ import pulumi
489
+ import pulumi_gcp as gcp
490
+
491
+ basic_data_store = gcp.discoveryengine.DataStore("basicDataStore",
492
+ location="global",
493
+ data_store_id="example-datastore-id",
494
+ display_name="tf-test-structured-datastore",
495
+ industry_vertical="GENERIC",
496
+ content_config="NO_CONTENT",
497
+ solution_types=["SOLUTION_TYPE_SEARCH"],
498
+ create_advanced_site_search=False)
499
+ basic_search_engine = gcp.discoveryengine.SearchEngine("basicSearchEngine",
500
+ engine_id="example-engine-id",
501
+ collection_id="default_collection",
502
+ location=basic_data_store.location,
503
+ display_name="Example Display Name",
504
+ data_store_ids=[basic_data_store.data_store_id],
505
+ search_engine_config=gcp.discoveryengine.SearchEngineSearchEngineConfigArgs())
506
+ ```
507
+
508
+ ## Import
509
+
510
+ SearchEngine 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, SearchEngine can be imported using one of the formats above. For example
511
+
512
+ ```sh
513
+ $ pulumi import gcp:discoveryengine/searchEngine:SearchEngine default projects/{{project}}/locations/{{location}}/collections/{{collection_id}}/engines/{{engine_id}}
514
+ ```
515
+
516
+ ```sh
517
+ $ pulumi import gcp:discoveryengine/searchEngine:SearchEngine default {{project}}/{{location}}/{{collection_id}}/{{engine_id}}
518
+ ```
519
+
520
+ ```sh
521
+ $ pulumi import gcp:discoveryengine/searchEngine:SearchEngine default {{location}}/{{collection_id}}/{{engine_id}}
522
+ ```
523
+
524
+ :param str resource_name: The name of the resource.
525
+ :param SearchEngineArgs args: The arguments to use to populate this resource's properties.
526
+ :param pulumi.ResourceOptions opts: Options for the resource.
527
+ """
528
+ ...
529
+ def __init__(__self__, resource_name: str, *args, **kwargs):
530
+ resource_args, opts = _utilities.get_resource_args_opts(SearchEngineArgs, pulumi.ResourceOptions, *args, **kwargs)
531
+ if resource_args is not None:
532
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
533
+ else:
534
+ __self__._internal_init(resource_name, *args, **kwargs)
535
+
536
+ def _internal_init(__self__,
537
+ resource_name: str,
538
+ opts: Optional[pulumi.ResourceOptions] = None,
539
+ collection_id: Optional[pulumi.Input[str]] = None,
540
+ common_config: Optional[pulumi.Input[pulumi.InputType['SearchEngineCommonConfigArgs']]] = None,
541
+ data_store_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
542
+ display_name: Optional[pulumi.Input[str]] = None,
543
+ engine_id: Optional[pulumi.Input[str]] = None,
544
+ industry_vertical: Optional[pulumi.Input[str]] = None,
545
+ location: Optional[pulumi.Input[str]] = None,
546
+ project: Optional[pulumi.Input[str]] = None,
547
+ search_engine_config: Optional[pulumi.Input[pulumi.InputType['SearchEngineSearchEngineConfigArgs']]] = None,
548
+ __props__=None):
549
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
550
+ if not isinstance(opts, pulumi.ResourceOptions):
551
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
552
+ if opts.id is None:
553
+ if __props__ is not None:
554
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
555
+ __props__ = SearchEngineArgs.__new__(SearchEngineArgs)
556
+
557
+ if collection_id is None and not opts.urn:
558
+ raise TypeError("Missing required property 'collection_id'")
559
+ __props__.__dict__["collection_id"] = collection_id
560
+ __props__.__dict__["common_config"] = common_config
561
+ if data_store_ids is None and not opts.urn:
562
+ raise TypeError("Missing required property 'data_store_ids'")
563
+ __props__.__dict__["data_store_ids"] = data_store_ids
564
+ if display_name is None and not opts.urn:
565
+ raise TypeError("Missing required property 'display_name'")
566
+ __props__.__dict__["display_name"] = display_name
567
+ if engine_id is None and not opts.urn:
568
+ raise TypeError("Missing required property 'engine_id'")
569
+ __props__.__dict__["engine_id"] = engine_id
570
+ __props__.__dict__["industry_vertical"] = industry_vertical
571
+ if location is None and not opts.urn:
572
+ raise TypeError("Missing required property 'location'")
573
+ __props__.__dict__["location"] = location
574
+ __props__.__dict__["project"] = project
575
+ if search_engine_config is None and not opts.urn:
576
+ raise TypeError("Missing required property 'search_engine_config'")
577
+ __props__.__dict__["search_engine_config"] = search_engine_config
578
+ __props__.__dict__["create_time"] = None
579
+ __props__.__dict__["name"] = None
580
+ __props__.__dict__["update_time"] = None
581
+ super(SearchEngine, __self__).__init__(
582
+ 'gcp:discoveryengine/searchEngine:SearchEngine',
583
+ resource_name,
584
+ __props__,
585
+ opts)
586
+
587
+ @staticmethod
588
+ def get(resource_name: str,
589
+ id: pulumi.Input[str],
590
+ opts: Optional[pulumi.ResourceOptions] = None,
591
+ collection_id: Optional[pulumi.Input[str]] = None,
592
+ common_config: Optional[pulumi.Input[pulumi.InputType['SearchEngineCommonConfigArgs']]] = None,
593
+ create_time: Optional[pulumi.Input[str]] = None,
594
+ data_store_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
595
+ display_name: Optional[pulumi.Input[str]] = None,
596
+ engine_id: Optional[pulumi.Input[str]] = None,
597
+ industry_vertical: Optional[pulumi.Input[str]] = None,
598
+ location: Optional[pulumi.Input[str]] = None,
599
+ name: Optional[pulumi.Input[str]] = None,
600
+ project: Optional[pulumi.Input[str]] = None,
601
+ search_engine_config: Optional[pulumi.Input[pulumi.InputType['SearchEngineSearchEngineConfigArgs']]] = None,
602
+ update_time: Optional[pulumi.Input[str]] = None) -> 'SearchEngine':
603
+ """
604
+ Get an existing SearchEngine resource's state with the given name, id, and optional extra
605
+ properties used to qualify the lookup.
606
+
607
+ :param str resource_name: The unique name of the resulting resource.
608
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
609
+ :param pulumi.ResourceOptions opts: Options for the resource.
610
+ :param pulumi.Input[str] collection_id: The collection ID.
611
+ :param pulumi.Input[pulumi.InputType['SearchEngineCommonConfigArgs']] common_config: Common config spec that specifies the metadata of the engine.
612
+ Structure is documented below.
613
+ :param pulumi.Input[str] create_time: Timestamp the Engine was created at.
614
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] data_store_ids: The data stores associated with this engine. For SOLUTION_TYPE_SEARCH type of engines, they can only associate with at most one data store.
615
+ :param pulumi.Input[str] display_name: Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
616
+ :param pulumi.Input[str] engine_id: Unique ID to use for Search Engine App.
617
+ :param pulumi.Input[str] industry_vertical: The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to GENERIC. Vertical on Engine has to match vertical of the DataStore liniked to the engine.
618
+ Default value is `GENERIC`.
619
+ Possible values are: `GENERIC`, `MEDIA`.
620
+ :param pulumi.Input[str] location: Location.
621
+ :param pulumi.Input[str] name: The unique full resource name of the search engine. Values are of the format
622
+ `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.
623
+ This field must be a UTF-8 encoded string with a length limit of 1024
624
+ characters.
625
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
626
+ If it is not provided, the provider project is used.
627
+ :param pulumi.Input[pulumi.InputType['SearchEngineSearchEngineConfigArgs']] search_engine_config: Configurations for a Search Engine.
628
+ Structure is documented below.
629
+ :param pulumi.Input[str] update_time: Timestamp the Engine was last updated.
630
+ """
631
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
632
+
633
+ __props__ = _SearchEngineState.__new__(_SearchEngineState)
634
+
635
+ __props__.__dict__["collection_id"] = collection_id
636
+ __props__.__dict__["common_config"] = common_config
637
+ __props__.__dict__["create_time"] = create_time
638
+ __props__.__dict__["data_store_ids"] = data_store_ids
639
+ __props__.__dict__["display_name"] = display_name
640
+ __props__.__dict__["engine_id"] = engine_id
641
+ __props__.__dict__["industry_vertical"] = industry_vertical
642
+ __props__.__dict__["location"] = location
643
+ __props__.__dict__["name"] = name
644
+ __props__.__dict__["project"] = project
645
+ __props__.__dict__["search_engine_config"] = search_engine_config
646
+ __props__.__dict__["update_time"] = update_time
647
+ return SearchEngine(resource_name, opts=opts, __props__=__props__)
648
+
649
+ @property
650
+ @pulumi.getter(name="collectionId")
651
+ def collection_id(self) -> pulumi.Output[str]:
652
+ """
653
+ The collection ID.
654
+ """
655
+ return pulumi.get(self, "collection_id")
656
+
657
+ @property
658
+ @pulumi.getter(name="commonConfig")
659
+ def common_config(self) -> pulumi.Output[Optional['outputs.SearchEngineCommonConfig']]:
660
+ """
661
+ Common config spec that specifies the metadata of the engine.
662
+ Structure is documented below.
663
+ """
664
+ return pulumi.get(self, "common_config")
665
+
666
+ @property
667
+ @pulumi.getter(name="createTime")
668
+ def create_time(self) -> pulumi.Output[str]:
669
+ """
670
+ Timestamp the Engine was created at.
671
+ """
672
+ return pulumi.get(self, "create_time")
673
+
674
+ @property
675
+ @pulumi.getter(name="dataStoreIds")
676
+ def data_store_ids(self) -> pulumi.Output[Sequence[str]]:
677
+ """
678
+ The data stores associated with this engine. For SOLUTION_TYPE_SEARCH type of engines, they can only associate with at most one data store.
679
+ """
680
+ return pulumi.get(self, "data_store_ids")
681
+
682
+ @property
683
+ @pulumi.getter(name="displayName")
684
+ def display_name(self) -> pulumi.Output[str]:
685
+ """
686
+ Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
687
+ """
688
+ return pulumi.get(self, "display_name")
689
+
690
+ @property
691
+ @pulumi.getter(name="engineId")
692
+ def engine_id(self) -> pulumi.Output[str]:
693
+ """
694
+ Unique ID to use for Search Engine App.
695
+ """
696
+ return pulumi.get(self, "engine_id")
697
+
698
+ @property
699
+ @pulumi.getter(name="industryVertical")
700
+ def industry_vertical(self) -> pulumi.Output[Optional[str]]:
701
+ """
702
+ The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to GENERIC. Vertical on Engine has to match vertical of the DataStore liniked to the engine.
703
+ Default value is `GENERIC`.
704
+ Possible values are: `GENERIC`, `MEDIA`.
705
+ """
706
+ return pulumi.get(self, "industry_vertical")
707
+
708
+ @property
709
+ @pulumi.getter
710
+ def location(self) -> pulumi.Output[str]:
711
+ """
712
+ Location.
713
+ """
714
+ return pulumi.get(self, "location")
715
+
716
+ @property
717
+ @pulumi.getter
718
+ def name(self) -> pulumi.Output[str]:
719
+ """
720
+ The unique full resource name of the search engine. Values are of the format
721
+ `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}`.
722
+ This field must be a UTF-8 encoded string with a length limit of 1024
723
+ characters.
724
+ """
725
+ return pulumi.get(self, "name")
726
+
727
+ @property
728
+ @pulumi.getter
729
+ def project(self) -> pulumi.Output[str]:
730
+ """
731
+ The ID of the project in which the resource belongs.
732
+ If it is not provided, the provider project is used.
733
+ """
734
+ return pulumi.get(self, "project")
735
+
736
+ @property
737
+ @pulumi.getter(name="searchEngineConfig")
738
+ def search_engine_config(self) -> pulumi.Output['outputs.SearchEngineSearchEngineConfig']:
739
+ """
740
+ Configurations for a Search Engine.
741
+ Structure is documented below.
742
+ """
743
+ return pulumi.get(self, "search_engine_config")
744
+
745
+ @property
746
+ @pulumi.getter(name="updateTime")
747
+ def update_time(self) -> pulumi.Output[str]:
748
+ """
749
+ Timestamp the Engine was last updated.
750
+ """
751
+ return pulumi.get(self, "update_time")
752
+