pulumi-gcp 7.8.0a1706829616__py3-none-any.whl → 7.8.0a1706905467__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. pulumi_gcp/__init__.py +30 -0
  2. pulumi_gcp/artifactregistry/repository.py +26 -28
  3. pulumi_gcp/cloudrun/_inputs.py +87 -4
  4. pulumi_gcp/cloudrun/outputs.py +152 -4
  5. pulumi_gcp/composer/_inputs.py +63 -0
  6. pulumi_gcp/composer/outputs.py +136 -0
  7. pulumi_gcp/compute/_inputs.py +8 -18
  8. pulumi_gcp/compute/backend_service.py +28 -0
  9. pulumi_gcp/compute/outputs.py +10 -20
  10. pulumi_gcp/compute/region_backend_service.py +30 -0
  11. pulumi_gcp/config/__init__.pyi +4 -0
  12. pulumi_gcp/config/vars.py +8 -0
  13. pulumi_gcp/discoveryengine/__init__.py +8 -0
  14. pulumi_gcp/discoveryengine/data_store.py +734 -0
  15. pulumi_gcp/eventarc/_inputs.py +2 -2
  16. pulumi_gcp/eventarc/outputs.py +2 -2
  17. pulumi_gcp/firebase/_inputs.py +4 -2
  18. pulumi_gcp/firebase/extensions_instance.py +6 -8
  19. pulumi_gcp/firebase/outputs.py +4 -2
  20. pulumi_gcp/firestore/backup_schedule.py +36 -12
  21. pulumi_gcp/firestore/database.py +0 -8
  22. pulumi_gcp/firestore/document.py +0 -68
  23. pulumi_gcp/firestore/field.py +22 -102
  24. pulumi_gcp/firestore/index.py +4 -42
  25. pulumi_gcp/gkehub/feature.py +2 -2
  26. pulumi_gcp/provider.py +40 -0
  27. pulumi_gcp/pubsub/_inputs.py +26 -4
  28. pulumi_gcp/pubsub/outputs.py +45 -8
  29. pulumi_gcp/pubsub/subscription.py +82 -0
  30. pulumi_gcp/securityposture/__init__.py +11 -0
  31. pulumi_gcp/securityposture/_inputs.py +1364 -0
  32. pulumi_gcp/securityposture/outputs.py +1372 -0
  33. pulumi_gcp/securityposture/posture.py +828 -0
  34. pulumi_gcp/securityposture/posture_deployment.py +872 -0
  35. pulumi_gcp/vertex/_inputs.py +156 -0
  36. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +259 -3
  37. pulumi_gcp/vertex/outputs.py +170 -0
  38. pulumi_gcp/workflows/workflow.py +75 -7
  39. pulumi_gcp/workstations/_inputs.py +38 -0
  40. pulumi_gcp/workstations/outputs.py +30 -0
  41. pulumi_gcp/workstations/workstation_config.py +54 -0
  42. {pulumi_gcp-7.8.0a1706829616.dist-info → pulumi_gcp-7.8.0a1706905467.dist-info}/METADATA +1 -1
  43. {pulumi_gcp-7.8.0a1706829616.dist-info → pulumi_gcp-7.8.0a1706905467.dist-info}/RECORD +45 -38
  44. {pulumi_gcp-7.8.0a1706829616.dist-info → pulumi_gcp-7.8.0a1706905467.dist-info}/WHEEL +0 -0
  45. {pulumi_gcp-7.8.0a1706829616.dist-info → pulumi_gcp-7.8.0a1706905467.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,734 @@
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
+
12
+ __all__ = ['DataStoreArgs', 'DataStore']
13
+
14
+ @pulumi.input_type
15
+ class DataStoreArgs:
16
+ def __init__(__self__, *,
17
+ content_config: pulumi.Input[str],
18
+ data_store_id: pulumi.Input[str],
19
+ display_name: pulumi.Input[str],
20
+ industry_vertical: pulumi.Input[str],
21
+ location: pulumi.Input[str],
22
+ create_advanced_site_search: Optional[pulumi.Input[bool]] = None,
23
+ project: Optional[pulumi.Input[str]] = None,
24
+ solution_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
25
+ """
26
+ The set of arguments for constructing a DataStore resource.
27
+ :param pulumi.Input[str] content_config: The content config of the data store.
28
+ Possible values are: `NO_CONTENT`, `CONTENT_REQUIRED`, `PUBLIC_WEBSITE`.
29
+ :param pulumi.Input[str] data_store_id: The unique id of the data store.
30
+
31
+
32
+ - - -
33
+ :param pulumi.Input[str] display_name: The display name of the data store. This field must be a UTF-8 encoded
34
+ string with a length limit of 128 characters.
35
+ :param pulumi.Input[str] industry_vertical: The industry vertical that the data store registers.
36
+ Possible values are: `GENERIC`, `MEDIA`.
37
+ :param pulumi.Input[str] location: The geographic location where the data store should reside. The value can
38
+ only be one of "global", "us" and "eu".
39
+ :param pulumi.Input[bool] create_advanced_site_search: If true, an advanced data store for site search will be created. If the
40
+ data store is not configured as site search (GENERIC vertical and
41
+ PUBLIC_WEBSITE contentConfig), this flag will be ignored.
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
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] solution_types: The solutions that the data store enrolls.
45
+ Each value may be one of: `SOLUTION_TYPE_RECOMMENDATION`, `SOLUTION_TYPE_SEARCH`, `SOLUTION_TYPE_CHAT`.
46
+ """
47
+ pulumi.set(__self__, "content_config", content_config)
48
+ pulumi.set(__self__, "data_store_id", data_store_id)
49
+ pulumi.set(__self__, "display_name", display_name)
50
+ pulumi.set(__self__, "industry_vertical", industry_vertical)
51
+ pulumi.set(__self__, "location", location)
52
+ if create_advanced_site_search is not None:
53
+ pulumi.set(__self__, "create_advanced_site_search", create_advanced_site_search)
54
+ if project is not None:
55
+ pulumi.set(__self__, "project", project)
56
+ if solution_types is not None:
57
+ pulumi.set(__self__, "solution_types", solution_types)
58
+
59
+ @property
60
+ @pulumi.getter(name="contentConfig")
61
+ def content_config(self) -> pulumi.Input[str]:
62
+ """
63
+ The content config of the data store.
64
+ Possible values are: `NO_CONTENT`, `CONTENT_REQUIRED`, `PUBLIC_WEBSITE`.
65
+ """
66
+ return pulumi.get(self, "content_config")
67
+
68
+ @content_config.setter
69
+ def content_config(self, value: pulumi.Input[str]):
70
+ pulumi.set(self, "content_config", value)
71
+
72
+ @property
73
+ @pulumi.getter(name="dataStoreId")
74
+ def data_store_id(self) -> pulumi.Input[str]:
75
+ """
76
+ The unique id of the data store.
77
+
78
+
79
+ - - -
80
+ """
81
+ return pulumi.get(self, "data_store_id")
82
+
83
+ @data_store_id.setter
84
+ def data_store_id(self, value: pulumi.Input[str]):
85
+ pulumi.set(self, "data_store_id", value)
86
+
87
+ @property
88
+ @pulumi.getter(name="displayName")
89
+ def display_name(self) -> pulumi.Input[str]:
90
+ """
91
+ The display name of the data store. This field must be a UTF-8 encoded
92
+ string with a length limit of 128 characters.
93
+ """
94
+ return pulumi.get(self, "display_name")
95
+
96
+ @display_name.setter
97
+ def display_name(self, value: pulumi.Input[str]):
98
+ pulumi.set(self, "display_name", value)
99
+
100
+ @property
101
+ @pulumi.getter(name="industryVertical")
102
+ def industry_vertical(self) -> pulumi.Input[str]:
103
+ """
104
+ The industry vertical that the data store registers.
105
+ Possible values are: `GENERIC`, `MEDIA`.
106
+ """
107
+ return pulumi.get(self, "industry_vertical")
108
+
109
+ @industry_vertical.setter
110
+ def industry_vertical(self, value: pulumi.Input[str]):
111
+ pulumi.set(self, "industry_vertical", value)
112
+
113
+ @property
114
+ @pulumi.getter
115
+ def location(self) -> pulumi.Input[str]:
116
+ """
117
+ The geographic location where the data store should reside. The value can
118
+ only be one of "global", "us" and "eu".
119
+ """
120
+ return pulumi.get(self, "location")
121
+
122
+ @location.setter
123
+ def location(self, value: pulumi.Input[str]):
124
+ pulumi.set(self, "location", value)
125
+
126
+ @property
127
+ @pulumi.getter(name="createAdvancedSiteSearch")
128
+ def create_advanced_site_search(self) -> Optional[pulumi.Input[bool]]:
129
+ """
130
+ If true, an advanced data store for site search will be created. If the
131
+ data store is not configured as site search (GENERIC vertical and
132
+ PUBLIC_WEBSITE contentConfig), this flag will be ignored.
133
+ """
134
+ return pulumi.get(self, "create_advanced_site_search")
135
+
136
+ @create_advanced_site_search.setter
137
+ def create_advanced_site_search(self, value: Optional[pulumi.Input[bool]]):
138
+ pulumi.set(self, "create_advanced_site_search", value)
139
+
140
+ @property
141
+ @pulumi.getter
142
+ def project(self) -> Optional[pulumi.Input[str]]:
143
+ """
144
+ The ID of the project in which the resource belongs.
145
+ If it is not provided, the provider project is used.
146
+ """
147
+ return pulumi.get(self, "project")
148
+
149
+ @project.setter
150
+ def project(self, value: Optional[pulumi.Input[str]]):
151
+ pulumi.set(self, "project", value)
152
+
153
+ @property
154
+ @pulumi.getter(name="solutionTypes")
155
+ def solution_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
156
+ """
157
+ The solutions that the data store enrolls.
158
+ Each value may be one of: `SOLUTION_TYPE_RECOMMENDATION`, `SOLUTION_TYPE_SEARCH`, `SOLUTION_TYPE_CHAT`.
159
+ """
160
+ return pulumi.get(self, "solution_types")
161
+
162
+ @solution_types.setter
163
+ def solution_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
164
+ pulumi.set(self, "solution_types", value)
165
+
166
+
167
+ @pulumi.input_type
168
+ class _DataStoreState:
169
+ def __init__(__self__, *,
170
+ content_config: Optional[pulumi.Input[str]] = None,
171
+ create_advanced_site_search: Optional[pulumi.Input[bool]] = None,
172
+ create_time: Optional[pulumi.Input[str]] = None,
173
+ data_store_id: Optional[pulumi.Input[str]] = None,
174
+ default_schema_id: Optional[pulumi.Input[str]] = None,
175
+ display_name: Optional[pulumi.Input[str]] = None,
176
+ industry_vertical: Optional[pulumi.Input[str]] = None,
177
+ location: Optional[pulumi.Input[str]] = None,
178
+ name: Optional[pulumi.Input[str]] = None,
179
+ project: Optional[pulumi.Input[str]] = None,
180
+ solution_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
181
+ """
182
+ Input properties used for looking up and filtering DataStore resources.
183
+ :param pulumi.Input[str] content_config: The content config of the data store.
184
+ Possible values are: `NO_CONTENT`, `CONTENT_REQUIRED`, `PUBLIC_WEBSITE`.
185
+ :param pulumi.Input[bool] create_advanced_site_search: If true, an advanced data store for site search will be created. If the
186
+ data store is not configured as site search (GENERIC vertical and
187
+ PUBLIC_WEBSITE contentConfig), this flag will be ignored.
188
+ :param pulumi.Input[str] create_time: Timestamp when the DataStore was created.
189
+ :param pulumi.Input[str] data_store_id: The unique id of the data store.
190
+
191
+
192
+ - - -
193
+ :param pulumi.Input[str] default_schema_id: The id of the default Schema associated with this data store.
194
+ :param pulumi.Input[str] display_name: The display name of the data store. This field must be a UTF-8 encoded
195
+ string with a length limit of 128 characters.
196
+ :param pulumi.Input[str] industry_vertical: The industry vertical that the data store registers.
197
+ Possible values are: `GENERIC`, `MEDIA`.
198
+ :param pulumi.Input[str] location: The geographic location where the data store should reside. The value can
199
+ only be one of "global", "us" and "eu".
200
+ :param pulumi.Input[str] name: The unique full resource name of the data store. Values are of the format
201
+ `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_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[Sequence[pulumi.Input[str]]] solution_types: The solutions that the data store enrolls.
207
+ Each value may be one of: `SOLUTION_TYPE_RECOMMENDATION`, `SOLUTION_TYPE_SEARCH`, `SOLUTION_TYPE_CHAT`.
208
+ """
209
+ if content_config is not None:
210
+ pulumi.set(__self__, "content_config", content_config)
211
+ if create_advanced_site_search is not None:
212
+ pulumi.set(__self__, "create_advanced_site_search", create_advanced_site_search)
213
+ if create_time is not None:
214
+ pulumi.set(__self__, "create_time", create_time)
215
+ if data_store_id is not None:
216
+ pulumi.set(__self__, "data_store_id", data_store_id)
217
+ if default_schema_id is not None:
218
+ pulumi.set(__self__, "default_schema_id", default_schema_id)
219
+ if display_name is not None:
220
+ pulumi.set(__self__, "display_name", display_name)
221
+ if industry_vertical is not None:
222
+ pulumi.set(__self__, "industry_vertical", industry_vertical)
223
+ if location is not None:
224
+ pulumi.set(__self__, "location", location)
225
+ if name is not None:
226
+ pulumi.set(__self__, "name", name)
227
+ if project is not None:
228
+ pulumi.set(__self__, "project", project)
229
+ if solution_types is not None:
230
+ pulumi.set(__self__, "solution_types", solution_types)
231
+
232
+ @property
233
+ @pulumi.getter(name="contentConfig")
234
+ def content_config(self) -> Optional[pulumi.Input[str]]:
235
+ """
236
+ The content config of the data store.
237
+ Possible values are: `NO_CONTENT`, `CONTENT_REQUIRED`, `PUBLIC_WEBSITE`.
238
+ """
239
+ return pulumi.get(self, "content_config")
240
+
241
+ @content_config.setter
242
+ def content_config(self, value: Optional[pulumi.Input[str]]):
243
+ pulumi.set(self, "content_config", value)
244
+
245
+ @property
246
+ @pulumi.getter(name="createAdvancedSiteSearch")
247
+ def create_advanced_site_search(self) -> Optional[pulumi.Input[bool]]:
248
+ """
249
+ If true, an advanced data store for site search will be created. If the
250
+ data store is not configured as site search (GENERIC vertical and
251
+ PUBLIC_WEBSITE contentConfig), this flag will be ignored.
252
+ """
253
+ return pulumi.get(self, "create_advanced_site_search")
254
+
255
+ @create_advanced_site_search.setter
256
+ def create_advanced_site_search(self, value: Optional[pulumi.Input[bool]]):
257
+ pulumi.set(self, "create_advanced_site_search", value)
258
+
259
+ @property
260
+ @pulumi.getter(name="createTime")
261
+ def create_time(self) -> Optional[pulumi.Input[str]]:
262
+ """
263
+ Timestamp when the DataStore was created.
264
+ """
265
+ return pulumi.get(self, "create_time")
266
+
267
+ @create_time.setter
268
+ def create_time(self, value: Optional[pulumi.Input[str]]):
269
+ pulumi.set(self, "create_time", value)
270
+
271
+ @property
272
+ @pulumi.getter(name="dataStoreId")
273
+ def data_store_id(self) -> Optional[pulumi.Input[str]]:
274
+ """
275
+ The unique id of the data store.
276
+
277
+
278
+ - - -
279
+ """
280
+ return pulumi.get(self, "data_store_id")
281
+
282
+ @data_store_id.setter
283
+ def data_store_id(self, value: Optional[pulumi.Input[str]]):
284
+ pulumi.set(self, "data_store_id", value)
285
+
286
+ @property
287
+ @pulumi.getter(name="defaultSchemaId")
288
+ def default_schema_id(self) -> Optional[pulumi.Input[str]]:
289
+ """
290
+ The id of the default Schema associated with this data store.
291
+ """
292
+ return pulumi.get(self, "default_schema_id")
293
+
294
+ @default_schema_id.setter
295
+ def default_schema_id(self, value: Optional[pulumi.Input[str]]):
296
+ pulumi.set(self, "default_schema_id", value)
297
+
298
+ @property
299
+ @pulumi.getter(name="displayName")
300
+ def display_name(self) -> Optional[pulumi.Input[str]]:
301
+ """
302
+ The display name of the data store. This field must be a UTF-8 encoded
303
+ string with a length limit of 128 characters.
304
+ """
305
+ return pulumi.get(self, "display_name")
306
+
307
+ @display_name.setter
308
+ def display_name(self, value: Optional[pulumi.Input[str]]):
309
+ pulumi.set(self, "display_name", value)
310
+
311
+ @property
312
+ @pulumi.getter(name="industryVertical")
313
+ def industry_vertical(self) -> Optional[pulumi.Input[str]]:
314
+ """
315
+ The industry vertical that the data store registers.
316
+ Possible values are: `GENERIC`, `MEDIA`.
317
+ """
318
+ return pulumi.get(self, "industry_vertical")
319
+
320
+ @industry_vertical.setter
321
+ def industry_vertical(self, value: Optional[pulumi.Input[str]]):
322
+ pulumi.set(self, "industry_vertical", value)
323
+
324
+ @property
325
+ @pulumi.getter
326
+ def location(self) -> Optional[pulumi.Input[str]]:
327
+ """
328
+ The geographic location where the data store should reside. The value can
329
+ only be one of "global", "us" and "eu".
330
+ """
331
+ return pulumi.get(self, "location")
332
+
333
+ @location.setter
334
+ def location(self, value: Optional[pulumi.Input[str]]):
335
+ pulumi.set(self, "location", value)
336
+
337
+ @property
338
+ @pulumi.getter
339
+ def name(self) -> Optional[pulumi.Input[str]]:
340
+ """
341
+ The unique full resource name of the data store. Values are of the format
342
+ `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.
343
+ This field must be a UTF-8 encoded string with a length limit of 1024
344
+ characters.
345
+ """
346
+ return pulumi.get(self, "name")
347
+
348
+ @name.setter
349
+ def name(self, value: Optional[pulumi.Input[str]]):
350
+ pulumi.set(self, "name", value)
351
+
352
+ @property
353
+ @pulumi.getter
354
+ def project(self) -> Optional[pulumi.Input[str]]:
355
+ """
356
+ The ID of the project in which the resource belongs.
357
+ If it is not provided, the provider project is used.
358
+ """
359
+ return pulumi.get(self, "project")
360
+
361
+ @project.setter
362
+ def project(self, value: Optional[pulumi.Input[str]]):
363
+ pulumi.set(self, "project", value)
364
+
365
+ @property
366
+ @pulumi.getter(name="solutionTypes")
367
+ def solution_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
368
+ """
369
+ The solutions that the data store enrolls.
370
+ Each value may be one of: `SOLUTION_TYPE_RECOMMENDATION`, `SOLUTION_TYPE_SEARCH`, `SOLUTION_TYPE_CHAT`.
371
+ """
372
+ return pulumi.get(self, "solution_types")
373
+
374
+ @solution_types.setter
375
+ def solution_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
376
+ pulumi.set(self, "solution_types", value)
377
+
378
+
379
+ class DataStore(pulumi.CustomResource):
380
+ @overload
381
+ def __init__(__self__,
382
+ resource_name: str,
383
+ opts: Optional[pulumi.ResourceOptions] = None,
384
+ content_config: Optional[pulumi.Input[str]] = None,
385
+ create_advanced_site_search: Optional[pulumi.Input[bool]] = None,
386
+ data_store_id: Optional[pulumi.Input[str]] = None,
387
+ display_name: Optional[pulumi.Input[str]] = None,
388
+ industry_vertical: Optional[pulumi.Input[str]] = None,
389
+ location: Optional[pulumi.Input[str]] = None,
390
+ project: Optional[pulumi.Input[str]] = None,
391
+ solution_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
392
+ __props__=None):
393
+ """
394
+ Data store is a collection of websites and documents used to find answers for
395
+ end-user's questions in Discovery Engine (a.k.a. Vertex AI Search and
396
+ Conversation).
397
+
398
+ To get more information about DataStore, see:
399
+
400
+ * [API documentation](https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/projects.locations.collections.dataStores)
401
+ * How-to Guides
402
+ * [Create a search data store](https://cloud.google.com/generative-ai-app-builder/docs/create-data-store-es)
403
+
404
+ ## Example Usage
405
+ ### Discoveryengine Datastore Basic
406
+
407
+ ```python
408
+ import pulumi
409
+ import pulumi_gcp as gcp
410
+
411
+ basic = gcp.discoveryengine.DataStore("basic",
412
+ content_config="NO_CONTENT",
413
+ create_advanced_site_search=False,
414
+ data_store_id="data-store-id",
415
+ display_name="tf-test-structured-datastore",
416
+ industry_vertical="GENERIC",
417
+ location="global",
418
+ solution_types=["SOLUTION_TYPE_SEARCH"])
419
+ ```
420
+
421
+ ## Import
422
+
423
+ DataStore can be imported using any of these accepted formats* `projects/{{project}}/locations/{{location}}/collections/default_collection/dataStores/{{data_store_id}}` * `{{project}}/{{location}}/{{data_store_id}}` * `{{location}}/{{data_store_id}}` When using the `pulumi import` command, DataStore can be imported using one of the formats above. For example
424
+
425
+ ```sh
426
+ $ pulumi import gcp:discoveryengine/dataStore:DataStore default projects/{{project}}/locations/{{location}}/collections/default_collection/dataStores/{{data_store_id}}
427
+ ```
428
+
429
+ ```sh
430
+ $ pulumi import gcp:discoveryengine/dataStore:DataStore default {{project}}/{{location}}/{{data_store_id}}
431
+ ```
432
+
433
+ ```sh
434
+ $ pulumi import gcp:discoveryengine/dataStore:DataStore default {{location}}/{{data_store_id}}
435
+ ```
436
+
437
+ :param str resource_name: The name of the resource.
438
+ :param pulumi.ResourceOptions opts: Options for the resource.
439
+ :param pulumi.Input[str] content_config: The content config of the data store.
440
+ Possible values are: `NO_CONTENT`, `CONTENT_REQUIRED`, `PUBLIC_WEBSITE`.
441
+ :param pulumi.Input[bool] create_advanced_site_search: If true, an advanced data store for site search will be created. If the
442
+ data store is not configured as site search (GENERIC vertical and
443
+ PUBLIC_WEBSITE contentConfig), this flag will be ignored.
444
+ :param pulumi.Input[str] data_store_id: The unique id of the data store.
445
+
446
+
447
+ - - -
448
+ :param pulumi.Input[str] display_name: The display name of the data store. This field must be a UTF-8 encoded
449
+ string with a length limit of 128 characters.
450
+ :param pulumi.Input[str] industry_vertical: The industry vertical that the data store registers.
451
+ Possible values are: `GENERIC`, `MEDIA`.
452
+ :param pulumi.Input[str] location: The geographic location where the data store should reside. The value can
453
+ only be one of "global", "us" and "eu".
454
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
455
+ If it is not provided, the provider project is used.
456
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] solution_types: The solutions that the data store enrolls.
457
+ Each value may be one of: `SOLUTION_TYPE_RECOMMENDATION`, `SOLUTION_TYPE_SEARCH`, `SOLUTION_TYPE_CHAT`.
458
+ """
459
+ ...
460
+ @overload
461
+ def __init__(__self__,
462
+ resource_name: str,
463
+ args: DataStoreArgs,
464
+ opts: Optional[pulumi.ResourceOptions] = None):
465
+ """
466
+ Data store is a collection of websites and documents used to find answers for
467
+ end-user's questions in Discovery Engine (a.k.a. Vertex AI Search and
468
+ Conversation).
469
+
470
+ To get more information about DataStore, see:
471
+
472
+ * [API documentation](https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/projects.locations.collections.dataStores)
473
+ * How-to Guides
474
+ * [Create a search data store](https://cloud.google.com/generative-ai-app-builder/docs/create-data-store-es)
475
+
476
+ ## Example Usage
477
+ ### Discoveryengine Datastore Basic
478
+
479
+ ```python
480
+ import pulumi
481
+ import pulumi_gcp as gcp
482
+
483
+ basic = gcp.discoveryengine.DataStore("basic",
484
+ content_config="NO_CONTENT",
485
+ create_advanced_site_search=False,
486
+ data_store_id="data-store-id",
487
+ display_name="tf-test-structured-datastore",
488
+ industry_vertical="GENERIC",
489
+ location="global",
490
+ solution_types=["SOLUTION_TYPE_SEARCH"])
491
+ ```
492
+
493
+ ## Import
494
+
495
+ DataStore can be imported using any of these accepted formats* `projects/{{project}}/locations/{{location}}/collections/default_collection/dataStores/{{data_store_id}}` * `{{project}}/{{location}}/{{data_store_id}}` * `{{location}}/{{data_store_id}}` When using the `pulumi import` command, DataStore can be imported using one of the formats above. For example
496
+
497
+ ```sh
498
+ $ pulumi import gcp:discoveryengine/dataStore:DataStore default projects/{{project}}/locations/{{location}}/collections/default_collection/dataStores/{{data_store_id}}
499
+ ```
500
+
501
+ ```sh
502
+ $ pulumi import gcp:discoveryengine/dataStore:DataStore default {{project}}/{{location}}/{{data_store_id}}
503
+ ```
504
+
505
+ ```sh
506
+ $ pulumi import gcp:discoveryengine/dataStore:DataStore default {{location}}/{{data_store_id}}
507
+ ```
508
+
509
+ :param str resource_name: The name of the resource.
510
+ :param DataStoreArgs args: The arguments to use to populate this resource's properties.
511
+ :param pulumi.ResourceOptions opts: Options for the resource.
512
+ """
513
+ ...
514
+ def __init__(__self__, resource_name: str, *args, **kwargs):
515
+ resource_args, opts = _utilities.get_resource_args_opts(DataStoreArgs, pulumi.ResourceOptions, *args, **kwargs)
516
+ if resource_args is not None:
517
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
518
+ else:
519
+ __self__._internal_init(resource_name, *args, **kwargs)
520
+
521
+ def _internal_init(__self__,
522
+ resource_name: str,
523
+ opts: Optional[pulumi.ResourceOptions] = None,
524
+ content_config: Optional[pulumi.Input[str]] = None,
525
+ create_advanced_site_search: Optional[pulumi.Input[bool]] = None,
526
+ data_store_id: Optional[pulumi.Input[str]] = None,
527
+ display_name: Optional[pulumi.Input[str]] = None,
528
+ industry_vertical: Optional[pulumi.Input[str]] = None,
529
+ location: Optional[pulumi.Input[str]] = None,
530
+ project: Optional[pulumi.Input[str]] = None,
531
+ solution_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
532
+ __props__=None):
533
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
534
+ if not isinstance(opts, pulumi.ResourceOptions):
535
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
536
+ if opts.id is None:
537
+ if __props__ is not None:
538
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
539
+ __props__ = DataStoreArgs.__new__(DataStoreArgs)
540
+
541
+ if content_config is None and not opts.urn:
542
+ raise TypeError("Missing required property 'content_config'")
543
+ __props__.__dict__["content_config"] = content_config
544
+ __props__.__dict__["create_advanced_site_search"] = create_advanced_site_search
545
+ if data_store_id is None and not opts.urn:
546
+ raise TypeError("Missing required property 'data_store_id'")
547
+ __props__.__dict__["data_store_id"] = data_store_id
548
+ if display_name is None and not opts.urn:
549
+ raise TypeError("Missing required property 'display_name'")
550
+ __props__.__dict__["display_name"] = display_name
551
+ if industry_vertical is None and not opts.urn:
552
+ raise TypeError("Missing required property 'industry_vertical'")
553
+ __props__.__dict__["industry_vertical"] = industry_vertical
554
+ if location is None and not opts.urn:
555
+ raise TypeError("Missing required property 'location'")
556
+ __props__.__dict__["location"] = location
557
+ __props__.__dict__["project"] = project
558
+ __props__.__dict__["solution_types"] = solution_types
559
+ __props__.__dict__["create_time"] = None
560
+ __props__.__dict__["default_schema_id"] = None
561
+ __props__.__dict__["name"] = None
562
+ super(DataStore, __self__).__init__(
563
+ 'gcp:discoveryengine/dataStore:DataStore',
564
+ resource_name,
565
+ __props__,
566
+ opts)
567
+
568
+ @staticmethod
569
+ def get(resource_name: str,
570
+ id: pulumi.Input[str],
571
+ opts: Optional[pulumi.ResourceOptions] = None,
572
+ content_config: Optional[pulumi.Input[str]] = None,
573
+ create_advanced_site_search: Optional[pulumi.Input[bool]] = None,
574
+ create_time: Optional[pulumi.Input[str]] = None,
575
+ data_store_id: Optional[pulumi.Input[str]] = None,
576
+ default_schema_id: Optional[pulumi.Input[str]] = None,
577
+ display_name: Optional[pulumi.Input[str]] = None,
578
+ industry_vertical: Optional[pulumi.Input[str]] = None,
579
+ location: Optional[pulumi.Input[str]] = None,
580
+ name: Optional[pulumi.Input[str]] = None,
581
+ project: Optional[pulumi.Input[str]] = None,
582
+ solution_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'DataStore':
583
+ """
584
+ Get an existing DataStore resource's state with the given name, id, and optional extra
585
+ properties used to qualify the lookup.
586
+
587
+ :param str resource_name: The unique name of the resulting resource.
588
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
589
+ :param pulumi.ResourceOptions opts: Options for the resource.
590
+ :param pulumi.Input[str] content_config: The content config of the data store.
591
+ Possible values are: `NO_CONTENT`, `CONTENT_REQUIRED`, `PUBLIC_WEBSITE`.
592
+ :param pulumi.Input[bool] create_advanced_site_search: If true, an advanced data store for site search will be created. If the
593
+ data store is not configured as site search (GENERIC vertical and
594
+ PUBLIC_WEBSITE contentConfig), this flag will be ignored.
595
+ :param pulumi.Input[str] create_time: Timestamp when the DataStore was created.
596
+ :param pulumi.Input[str] data_store_id: The unique id of the data store.
597
+
598
+
599
+ - - -
600
+ :param pulumi.Input[str] default_schema_id: The id of the default Schema associated with this data store.
601
+ :param pulumi.Input[str] display_name: The display name of the data store. This field must be a UTF-8 encoded
602
+ string with a length limit of 128 characters.
603
+ :param pulumi.Input[str] industry_vertical: The industry vertical that the data store registers.
604
+ Possible values are: `GENERIC`, `MEDIA`.
605
+ :param pulumi.Input[str] location: The geographic location where the data store should reside. The value can
606
+ only be one of "global", "us" and "eu".
607
+ :param pulumi.Input[str] name: The unique full resource name of the data store. Values are of the format
608
+ `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.
609
+ This field must be a UTF-8 encoded string with a length limit of 1024
610
+ characters.
611
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
612
+ If it is not provided, the provider project is used.
613
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] solution_types: The solutions that the data store enrolls.
614
+ Each value may be one of: `SOLUTION_TYPE_RECOMMENDATION`, `SOLUTION_TYPE_SEARCH`, `SOLUTION_TYPE_CHAT`.
615
+ """
616
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
617
+
618
+ __props__ = _DataStoreState.__new__(_DataStoreState)
619
+
620
+ __props__.__dict__["content_config"] = content_config
621
+ __props__.__dict__["create_advanced_site_search"] = create_advanced_site_search
622
+ __props__.__dict__["create_time"] = create_time
623
+ __props__.__dict__["data_store_id"] = data_store_id
624
+ __props__.__dict__["default_schema_id"] = default_schema_id
625
+ __props__.__dict__["display_name"] = display_name
626
+ __props__.__dict__["industry_vertical"] = industry_vertical
627
+ __props__.__dict__["location"] = location
628
+ __props__.__dict__["name"] = name
629
+ __props__.__dict__["project"] = project
630
+ __props__.__dict__["solution_types"] = solution_types
631
+ return DataStore(resource_name, opts=opts, __props__=__props__)
632
+
633
+ @property
634
+ @pulumi.getter(name="contentConfig")
635
+ def content_config(self) -> pulumi.Output[str]:
636
+ """
637
+ The content config of the data store.
638
+ Possible values are: `NO_CONTENT`, `CONTENT_REQUIRED`, `PUBLIC_WEBSITE`.
639
+ """
640
+ return pulumi.get(self, "content_config")
641
+
642
+ @property
643
+ @pulumi.getter(name="createAdvancedSiteSearch")
644
+ def create_advanced_site_search(self) -> pulumi.Output[Optional[bool]]:
645
+ """
646
+ If true, an advanced data store for site search will be created. If the
647
+ data store is not configured as site search (GENERIC vertical and
648
+ PUBLIC_WEBSITE contentConfig), this flag will be ignored.
649
+ """
650
+ return pulumi.get(self, "create_advanced_site_search")
651
+
652
+ @property
653
+ @pulumi.getter(name="createTime")
654
+ def create_time(self) -> pulumi.Output[str]:
655
+ """
656
+ Timestamp when the DataStore was created.
657
+ """
658
+ return pulumi.get(self, "create_time")
659
+
660
+ @property
661
+ @pulumi.getter(name="dataStoreId")
662
+ def data_store_id(self) -> pulumi.Output[str]:
663
+ """
664
+ The unique id of the data store.
665
+
666
+
667
+ - - -
668
+ """
669
+ return pulumi.get(self, "data_store_id")
670
+
671
+ @property
672
+ @pulumi.getter(name="defaultSchemaId")
673
+ def default_schema_id(self) -> pulumi.Output[str]:
674
+ """
675
+ The id of the default Schema associated with this data store.
676
+ """
677
+ return pulumi.get(self, "default_schema_id")
678
+
679
+ @property
680
+ @pulumi.getter(name="displayName")
681
+ def display_name(self) -> pulumi.Output[str]:
682
+ """
683
+ The display name of the data store. This field must be a UTF-8 encoded
684
+ string with a length limit of 128 characters.
685
+ """
686
+ return pulumi.get(self, "display_name")
687
+
688
+ @property
689
+ @pulumi.getter(name="industryVertical")
690
+ def industry_vertical(self) -> pulumi.Output[str]:
691
+ """
692
+ The industry vertical that the data store registers.
693
+ Possible values are: `GENERIC`, `MEDIA`.
694
+ """
695
+ return pulumi.get(self, "industry_vertical")
696
+
697
+ @property
698
+ @pulumi.getter
699
+ def location(self) -> pulumi.Output[str]:
700
+ """
701
+ The geographic location where the data store should reside. The value can
702
+ only be one of "global", "us" and "eu".
703
+ """
704
+ return pulumi.get(self, "location")
705
+
706
+ @property
707
+ @pulumi.getter
708
+ def name(self) -> pulumi.Output[str]:
709
+ """
710
+ The unique full resource name of the data store. Values are of the format
711
+ `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.
712
+ This field must be a UTF-8 encoded string with a length limit of 1024
713
+ characters.
714
+ """
715
+ return pulumi.get(self, "name")
716
+
717
+ @property
718
+ @pulumi.getter
719
+ def project(self) -> pulumi.Output[str]:
720
+ """
721
+ The ID of the project in which the resource belongs.
722
+ If it is not provided, the provider project is used.
723
+ """
724
+ return pulumi.get(self, "project")
725
+
726
+ @property
727
+ @pulumi.getter(name="solutionTypes")
728
+ def solution_types(self) -> pulumi.Output[Optional[Sequence[str]]]:
729
+ """
730
+ The solutions that the data store enrolls.
731
+ Each value may be one of: `SOLUTION_TYPE_RECOMMENDATION`, `SOLUTION_TYPE_SEARCH`, `SOLUTION_TYPE_CHAT`.
732
+ """
733
+ return pulumi.get(self, "solution_types")
734
+