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,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
+