pulumi-gcp 7.19.0a1713292926__py3-none-any.whl → 7.19.0a1713444144__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 (41) hide show
  1. pulumi_gcp/__init__.py +11 -0
  2. pulumi_gcp/accesscontextmanager/access_policy.py +4 -4
  3. pulumi_gcp/apigee/sync_authorization.py +4 -4
  4. pulumi_gcp/compute/_inputs.py +24 -0
  5. pulumi_gcp/compute/get_router_nat.py +11 -1
  6. pulumi_gcp/compute/instance_settings.py +16 -0
  7. pulumi_gcp/compute/outputs.py +41 -0
  8. pulumi_gcp/compute/router_interface.py +47 -0
  9. pulumi_gcp/compute/router_nat.py +68 -0
  10. pulumi_gcp/compute/router_peer.py +141 -0
  11. pulumi_gcp/config/__init__.pyi +2 -0
  12. pulumi_gcp/config/vars.py +4 -0
  13. pulumi_gcp/container/_inputs.py +48 -7
  14. pulumi_gcp/container/outputs.py +67 -8
  15. pulumi_gcp/datastore/data_store_index.py +14 -0
  16. pulumi_gcp/dns/_inputs.py +22 -22
  17. pulumi_gcp/dns/outputs.py +22 -22
  18. pulumi_gcp/firestore/_inputs.py +80 -11
  19. pulumi_gcp/firestore/document.py +0 -4
  20. pulumi_gcp/firestore/index.py +116 -42
  21. pulumi_gcp/firestore/outputs.py +70 -11
  22. pulumi_gcp/gkebackup/_inputs.py +358 -3
  23. pulumi_gcp/gkebackup/backup_plan.py +294 -0
  24. pulumi_gcp/gkebackup/outputs.py +353 -3
  25. pulumi_gcp/networksecurity/firewall_endpoint.py +2 -0
  26. pulumi_gcp/networksecurity/firewall_endpoint_association.py +61 -0
  27. pulumi_gcp/parallelstore/__init__.py +8 -0
  28. pulumi_gcp/parallelstore/instance.py +1128 -0
  29. pulumi_gcp/provider.py +20 -0
  30. pulumi_gcp/sql/_inputs.py +16 -0
  31. pulumi_gcp/sql/outputs.py +36 -0
  32. pulumi_gcp/tags/__init__.py +2 -0
  33. pulumi_gcp/tags/get_tag_keys.py +101 -0
  34. pulumi_gcp/tags/get_tag_values.py +101 -0
  35. pulumi_gcp/tags/outputs.py +200 -0
  36. pulumi_gcp/vmwareengine/get_private_cloud.py +21 -1
  37. pulumi_gcp/vmwareengine/private_cloud.py +101 -7
  38. {pulumi_gcp-7.19.0a1713292926.dist-info → pulumi_gcp-7.19.0a1713444144.dist-info}/METADATA +1 -1
  39. {pulumi_gcp-7.19.0a1713292926.dist-info → pulumi_gcp-7.19.0a1713444144.dist-info}/RECORD +41 -37
  40. {pulumi_gcp-7.19.0a1713292926.dist-info → pulumi_gcp-7.19.0a1713444144.dist-info}/WHEEL +0 -0
  41. {pulumi_gcp-7.19.0a1713292926.dist-info → pulumi_gcp-7.19.0a1713444144.dist-info}/top_level.txt +0 -0
@@ -17,6 +17,8 @@ __all__ = [
17
17
  'FieldIndexConfigIndexArgs',
18
18
  'FieldTtlConfigArgs',
19
19
  'IndexFieldArgs',
20
+ 'IndexFieldVectorConfigArgs',
21
+ 'IndexFieldVectorConfigFlatArgs',
20
22
  ]
21
23
 
22
24
  @pulumi.input_type
@@ -244,17 +246,19 @@ class IndexFieldArgs:
244
246
  def __init__(__self__, *,
245
247
  array_config: Optional[pulumi.Input[str]] = None,
246
248
  field_path: Optional[pulumi.Input[str]] = None,
247
- order: Optional[pulumi.Input[str]] = None):
249
+ order: Optional[pulumi.Input[str]] = None,
250
+ vector_config: Optional[pulumi.Input['IndexFieldVectorConfigArgs']] = None):
248
251
  """
249
- :param pulumi.Input[str] array_config: Indicates that this field supports operations on arrayValues. Only one of `order` and `arrayConfig` can
250
- be specified.
252
+ :param pulumi.Input[str] array_config: Indicates that this field supports operations on arrayValues. Only one of `order`, `arrayConfig`, and
253
+ `vectorConfig` can be specified.
251
254
  Possible values are: `CONTAINS`.
252
-
253
- - - -
254
255
  :param pulumi.Input[str] field_path: Name of the field.
255
256
  :param pulumi.Input[str] order: Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=.
256
- Only one of `order` and `arrayConfig` can be specified.
257
+ Only one of `order`, `arrayConfig`, and `vectorConfig` can be specified.
257
258
  Possible values are: `ASCENDING`, `DESCENDING`.
259
+ :param pulumi.Input['IndexFieldVectorConfigArgs'] vector_config: Indicates that this field supports vector search operations. Only one of `order`, `arrayConfig`, and
260
+ `vectorConfig` can be specified. Vector Fields should come after the field path `__name__`.
261
+ Structure is documented below.
258
262
  """
259
263
  if array_config is not None:
260
264
  pulumi.set(__self__, "array_config", array_config)
@@ -262,16 +266,16 @@ class IndexFieldArgs:
262
266
  pulumi.set(__self__, "field_path", field_path)
263
267
  if order is not None:
264
268
  pulumi.set(__self__, "order", order)
269
+ if vector_config is not None:
270
+ pulumi.set(__self__, "vector_config", vector_config)
265
271
 
266
272
  @property
267
273
  @pulumi.getter(name="arrayConfig")
268
274
  def array_config(self) -> Optional[pulumi.Input[str]]:
269
275
  """
270
- Indicates that this field supports operations on arrayValues. Only one of `order` and `arrayConfig` can
271
- be specified.
276
+ Indicates that this field supports operations on arrayValues. Only one of `order`, `arrayConfig`, and
277
+ `vectorConfig` can be specified.
272
278
  Possible values are: `CONTAINS`.
273
-
274
- - - -
275
279
  """
276
280
  return pulumi.get(self, "array_config")
277
281
 
@@ -296,7 +300,7 @@ class IndexFieldArgs:
296
300
  def order(self) -> Optional[pulumi.Input[str]]:
297
301
  """
298
302
  Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=.
299
- Only one of `order` and `arrayConfig` can be specified.
303
+ Only one of `order`, `arrayConfig`, and `vectorConfig` can be specified.
300
304
  Possible values are: `ASCENDING`, `DESCENDING`.
301
305
  """
302
306
  return pulumi.get(self, "order")
@@ -305,4 +309,69 @@ class IndexFieldArgs:
305
309
  def order(self, value: Optional[pulumi.Input[str]]):
306
310
  pulumi.set(self, "order", value)
307
311
 
312
+ @property
313
+ @pulumi.getter(name="vectorConfig")
314
+ def vector_config(self) -> Optional[pulumi.Input['IndexFieldVectorConfigArgs']]:
315
+ """
316
+ Indicates that this field supports vector search operations. Only one of `order`, `arrayConfig`, and
317
+ `vectorConfig` can be specified. Vector Fields should come after the field path `__name__`.
318
+ Structure is documented below.
319
+ """
320
+ return pulumi.get(self, "vector_config")
321
+
322
+ @vector_config.setter
323
+ def vector_config(self, value: Optional[pulumi.Input['IndexFieldVectorConfigArgs']]):
324
+ pulumi.set(self, "vector_config", value)
325
+
326
+
327
+ @pulumi.input_type
328
+ class IndexFieldVectorConfigArgs:
329
+ def __init__(__self__, *,
330
+ dimension: Optional[pulumi.Input[int]] = None,
331
+ flat: Optional[pulumi.Input['IndexFieldVectorConfigFlatArgs']] = None):
332
+ """
333
+ :param pulumi.Input[int] dimension: The resulting index will only include vectors of this dimension, and can be used for vector search
334
+ with the same dimension.
335
+ :param pulumi.Input['IndexFieldVectorConfigFlatArgs'] flat: Indicates the vector index is a flat index.
336
+
337
+ - - -
338
+ """
339
+ if dimension is not None:
340
+ pulumi.set(__self__, "dimension", dimension)
341
+ if flat is not None:
342
+ pulumi.set(__self__, "flat", flat)
343
+
344
+ @property
345
+ @pulumi.getter
346
+ def dimension(self) -> Optional[pulumi.Input[int]]:
347
+ """
348
+ The resulting index will only include vectors of this dimension, and can be used for vector search
349
+ with the same dimension.
350
+ """
351
+ return pulumi.get(self, "dimension")
352
+
353
+ @dimension.setter
354
+ def dimension(self, value: Optional[pulumi.Input[int]]):
355
+ pulumi.set(self, "dimension", value)
356
+
357
+ @property
358
+ @pulumi.getter
359
+ def flat(self) -> Optional[pulumi.Input['IndexFieldVectorConfigFlatArgs']]:
360
+ """
361
+ Indicates the vector index is a flat index.
362
+
363
+ - - -
364
+ """
365
+ return pulumi.get(self, "flat")
366
+
367
+ @flat.setter
368
+ def flat(self, value: Optional[pulumi.Input['IndexFieldVectorConfigFlatArgs']]):
369
+ pulumi.set(self, "flat", value)
370
+
371
+
372
+ @pulumi.input_type
373
+ class IndexFieldVectorConfigFlatArgs:
374
+ def __init__(__self__):
375
+ pass
376
+
308
377
 
@@ -295,8 +295,6 @@ class Document(pulumi.CustomResource):
295
295
  `appengine.Application` resource with `database_type` set to
296
296
  `"CLOUD_FIRESTORE"`. Your Firestore location will be the same as
297
297
  the App Engine location specified.
298
- Note: The surface does not support configurable database id. Only `(default)`
299
- is allowed for the database parameter.
300
298
 
301
299
  ## Example Usage
302
300
 
@@ -419,8 +417,6 @@ class Document(pulumi.CustomResource):
419
417
  `appengine.Application` resource with `database_type` set to
420
418
  `"CLOUD_FIRESTORE"`. Your Firestore location will be the same as
421
419
  the App Engine location specified.
422
- Note: The surface does not support configurable database id. Only `(default)`
423
- is allowed for the database parameter.
424
420
 
425
421
  ## Example Usage
426
422
 
@@ -25,12 +25,12 @@ class IndexArgs:
25
25
  """
26
26
  The set of arguments for constructing a Index resource.
27
27
  :param pulumi.Input[str] collection: The collection being indexed.
28
- :param pulumi.Input[Sequence[pulumi.Input['IndexFieldArgs']]] fields: The fields supported by this index. The last field entry is always for
29
- the field path `__name__`. If, on creation, `__name__` was not
30
- specified as the last field, it will be added automatically with the
31
- same direction as that of the last field defined. If the final field
32
- in a composite index is not directional, the `__name__` will be
33
- ordered `"ASCENDING"` (unless explicitly specified otherwise).
28
+ :param pulumi.Input[Sequence[pulumi.Input['IndexFieldArgs']]] fields: The fields supported by this index. The last non-stored field entry is
29
+ always for the field path `__name__`. If, on creation, `__name__` was not
30
+ specified as the last field, it will be added automatically with the same
31
+ direction as that of the last field defined. If the final field in a
32
+ composite index is not directional, the `__name__` will be ordered
33
+ `"ASCENDING"` (unless explicitly specified otherwise).
34
34
  Structure is documented below.
35
35
  :param pulumi.Input[str] api_scope: The API scope at which a query is run.
36
36
  Default value is `ANY_API`.
@@ -69,12 +69,12 @@ class IndexArgs:
69
69
  @pulumi.getter
70
70
  def fields(self) -> pulumi.Input[Sequence[pulumi.Input['IndexFieldArgs']]]:
71
71
  """
72
- The fields supported by this index. The last field entry is always for
73
- the field path `__name__`. If, on creation, `__name__` was not
74
- specified as the last field, it will be added automatically with the
75
- same direction as that of the last field defined. If the final field
76
- in a composite index is not directional, the `__name__` will be
77
- ordered `"ASCENDING"` (unless explicitly specified otherwise).
72
+ The fields supported by this index. The last non-stored field entry is
73
+ always for the field path `__name__`. If, on creation, `__name__` was not
74
+ specified as the last field, it will be added automatically with the same
75
+ direction as that of the last field defined. If the final field in a
76
+ composite index is not directional, the `__name__` will be ordered
77
+ `"ASCENDING"` (unless explicitly specified otherwise).
78
78
  Structure is documented below.
79
79
  """
80
80
  return pulumi.get(self, "fields")
@@ -154,12 +154,12 @@ class _IndexState:
154
154
  Possible values are: `ANY_API`, `DATASTORE_MODE_API`.
155
155
  :param pulumi.Input[str] collection: The collection being indexed.
156
156
  :param pulumi.Input[str] database: The Firestore database id. Defaults to `"(default)"`.
157
- :param pulumi.Input[Sequence[pulumi.Input['IndexFieldArgs']]] fields: The fields supported by this index. The last field entry is always for
158
- the field path `__name__`. If, on creation, `__name__` was not
159
- specified as the last field, it will be added automatically with the
160
- same direction as that of the last field defined. If the final field
161
- in a composite index is not directional, the `__name__` will be
162
- ordered `"ASCENDING"` (unless explicitly specified otherwise).
157
+ :param pulumi.Input[Sequence[pulumi.Input['IndexFieldArgs']]] fields: The fields supported by this index. The last non-stored field entry is
158
+ always for the field path `__name__`. If, on creation, `__name__` was not
159
+ specified as the last field, it will be added automatically with the same
160
+ direction as that of the last field defined. If the final field in a
161
+ composite index is not directional, the `__name__` will be ordered
162
+ `"ASCENDING"` (unless explicitly specified otherwise).
163
163
  Structure is documented below.
164
164
  :param pulumi.Input[str] name: A server defined name for this index. Format:
165
165
  `projects/{{project}}/databases/{{database}}/collectionGroups/{{collection}}/indexes/{{server_generated_id}}`
@@ -226,12 +226,12 @@ class _IndexState:
226
226
  @pulumi.getter
227
227
  def fields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IndexFieldArgs']]]]:
228
228
  """
229
- The fields supported by this index. The last field entry is always for
230
- the field path `__name__`. If, on creation, `__name__` was not
231
- specified as the last field, it will be added automatically with the
232
- same direction as that of the last field defined. If the final field
233
- in a composite index is not directional, the `__name__` will be
234
- ordered `"ASCENDING"` (unless explicitly specified otherwise).
229
+ The fields supported by this index. The last non-stored field entry is
230
+ always for the field path `__name__`. If, on creation, `__name__` was not
231
+ specified as the last field, it will be added automatically with the same
232
+ direction as that of the last field defined. If the final field in a
233
+ composite index is not directional, the `__name__` will be ordered
234
+ `"ASCENDING"` (unless explicitly specified otherwise).
235
235
  Structure is documented below.
236
236
  """
237
237
  return pulumi.get(self, "fields")
@@ -376,6 +376,43 @@ class Index(pulumi.CustomResource):
376
376
  ])
377
377
  ```
378
378
  <!--End PulumiCodeChooser -->
379
+ ### Firestore Index Vector
380
+
381
+ <!--Start PulumiCodeChooser -->
382
+ ```python
383
+ import pulumi
384
+ import pulumi_gcp as gcp
385
+
386
+ database = gcp.firestore.Database("database",
387
+ project="my-project-name",
388
+ name="database-id-vector",
389
+ location_id="nam5",
390
+ type="FIRESTORE_NATIVE",
391
+ delete_protection_state="DELETE_PROTECTION_DISABLED",
392
+ deletion_policy="DELETE")
393
+ my_index = gcp.firestore.Index("my-index",
394
+ project="my-project-name",
395
+ database=database.name,
396
+ collection="atestcollection",
397
+ fields=[
398
+ gcp.firestore.IndexFieldArgs(
399
+ field_path="field_name",
400
+ order="ASCENDING",
401
+ ),
402
+ gcp.firestore.IndexFieldArgs(
403
+ field_path="__name__",
404
+ order="ASCENDING",
405
+ ),
406
+ gcp.firestore.IndexFieldArgs(
407
+ field_path="description",
408
+ vector_config=gcp.firestore.IndexFieldVectorConfigArgs(
409
+ dimension=128,
410
+ flat=gcp.firestore.IndexFieldVectorConfigFlatArgs(),
411
+ ),
412
+ ),
413
+ ])
414
+ ```
415
+ <!--End PulumiCodeChooser -->
379
416
 
380
417
  ## Import
381
418
 
@@ -396,12 +433,12 @@ class Index(pulumi.CustomResource):
396
433
  Possible values are: `ANY_API`, `DATASTORE_MODE_API`.
397
434
  :param pulumi.Input[str] collection: The collection being indexed.
398
435
  :param pulumi.Input[str] database: The Firestore database id. Defaults to `"(default)"`.
399
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IndexFieldArgs']]]] fields: The fields supported by this index. The last field entry is always for
400
- the field path `__name__`. If, on creation, `__name__` was not
401
- specified as the last field, it will be added automatically with the
402
- same direction as that of the last field defined. If the final field
403
- in a composite index is not directional, the `__name__` will be
404
- ordered `"ASCENDING"` (unless explicitly specified otherwise).
436
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IndexFieldArgs']]]] fields: The fields supported by this index. The last non-stored field entry is
437
+ always for the field path `__name__`. If, on creation, `__name__` was not
438
+ specified as the last field, it will be added automatically with the same
439
+ direction as that of the last field defined. If the final field in a
440
+ composite index is not directional, the `__name__` will be ordered
441
+ `"ASCENDING"` (unless explicitly specified otherwise).
405
442
  Structure is documented below.
406
443
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
407
444
  If it is not provided, the provider project is used.
@@ -498,6 +535,43 @@ class Index(pulumi.CustomResource):
498
535
  ])
499
536
  ```
500
537
  <!--End PulumiCodeChooser -->
538
+ ### Firestore Index Vector
539
+
540
+ <!--Start PulumiCodeChooser -->
541
+ ```python
542
+ import pulumi
543
+ import pulumi_gcp as gcp
544
+
545
+ database = gcp.firestore.Database("database",
546
+ project="my-project-name",
547
+ name="database-id-vector",
548
+ location_id="nam5",
549
+ type="FIRESTORE_NATIVE",
550
+ delete_protection_state="DELETE_PROTECTION_DISABLED",
551
+ deletion_policy="DELETE")
552
+ my_index = gcp.firestore.Index("my-index",
553
+ project="my-project-name",
554
+ database=database.name,
555
+ collection="atestcollection",
556
+ fields=[
557
+ gcp.firestore.IndexFieldArgs(
558
+ field_path="field_name",
559
+ order="ASCENDING",
560
+ ),
561
+ gcp.firestore.IndexFieldArgs(
562
+ field_path="__name__",
563
+ order="ASCENDING",
564
+ ),
565
+ gcp.firestore.IndexFieldArgs(
566
+ field_path="description",
567
+ vector_config=gcp.firestore.IndexFieldVectorConfigArgs(
568
+ dimension=128,
569
+ flat=gcp.firestore.IndexFieldVectorConfigFlatArgs(),
570
+ ),
571
+ ),
572
+ ])
573
+ ```
574
+ <!--End PulumiCodeChooser -->
501
575
 
502
576
  ## Import
503
577
 
@@ -581,12 +655,12 @@ class Index(pulumi.CustomResource):
581
655
  Possible values are: `ANY_API`, `DATASTORE_MODE_API`.
582
656
  :param pulumi.Input[str] collection: The collection being indexed.
583
657
  :param pulumi.Input[str] database: The Firestore database id. Defaults to `"(default)"`.
584
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IndexFieldArgs']]]] fields: The fields supported by this index. The last field entry is always for
585
- the field path `__name__`. If, on creation, `__name__` was not
586
- specified as the last field, it will be added automatically with the
587
- same direction as that of the last field defined. If the final field
588
- in a composite index is not directional, the `__name__` will be
589
- ordered `"ASCENDING"` (unless explicitly specified otherwise).
658
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IndexFieldArgs']]]] fields: The fields supported by this index. The last non-stored field entry is
659
+ always for the field path `__name__`. If, on creation, `__name__` was not
660
+ specified as the last field, it will be added automatically with the same
661
+ direction as that of the last field defined. If the final field in a
662
+ composite index is not directional, the `__name__` will be ordered
663
+ `"ASCENDING"` (unless explicitly specified otherwise).
590
664
  Structure is documented below.
591
665
  :param pulumi.Input[str] name: A server defined name for this index. Format:
592
666
  `projects/{{project}}/databases/{{database}}/collectionGroups/{{collection}}/indexes/{{server_generated_id}}`
@@ -639,12 +713,12 @@ class Index(pulumi.CustomResource):
639
713
  @pulumi.getter
640
714
  def fields(self) -> pulumi.Output[Sequence['outputs.IndexField']]:
641
715
  """
642
- The fields supported by this index. The last field entry is always for
643
- the field path `__name__`. If, on creation, `__name__` was not
644
- specified as the last field, it will be added automatically with the
645
- same direction as that of the last field defined. If the final field
646
- in a composite index is not directional, the `__name__` will be
647
- ordered `"ASCENDING"` (unless explicitly specified otherwise).
716
+ The fields supported by this index. The last non-stored field entry is
717
+ always for the field path `__name__`. If, on creation, `__name__` was not
718
+ specified as the last field, it will be added automatically with the same
719
+ direction as that of the last field defined. If the final field in a
720
+ composite index is not directional, the `__name__` will be ordered
721
+ `"ASCENDING"` (unless explicitly specified otherwise).
648
722
  Structure is documented below.
649
723
  """
650
724
  return pulumi.get(self, "fields")
@@ -18,6 +18,8 @@ __all__ = [
18
18
  'FieldIndexConfigIndex',
19
19
  'FieldTtlConfig',
20
20
  'IndexField',
21
+ 'IndexFieldVectorConfig',
22
+ 'IndexFieldVectorConfigFlat',
21
23
  ]
22
24
 
23
25
  @pulumi.output_type
@@ -255,6 +257,8 @@ class IndexField(dict):
255
257
  suggest = "array_config"
256
258
  elif key == "fieldPath":
257
259
  suggest = "field_path"
260
+ elif key == "vectorConfig":
261
+ suggest = "vector_config"
258
262
 
259
263
  if suggest:
260
264
  pulumi.log.warn(f"Key '{key}' not found in IndexField. Access the value via the '{suggest}' property getter instead.")
@@ -270,17 +274,19 @@ class IndexField(dict):
270
274
  def __init__(__self__, *,
271
275
  array_config: Optional[str] = None,
272
276
  field_path: Optional[str] = None,
273
- order: Optional[str] = None):
277
+ order: Optional[str] = None,
278
+ vector_config: Optional['outputs.IndexFieldVectorConfig'] = None):
274
279
  """
275
- :param str array_config: Indicates that this field supports operations on arrayValues. Only one of `order` and `arrayConfig` can
276
- be specified.
280
+ :param str array_config: Indicates that this field supports operations on arrayValues. Only one of `order`, `arrayConfig`, and
281
+ `vectorConfig` can be specified.
277
282
  Possible values are: `CONTAINS`.
278
-
279
- - - -
280
283
  :param str field_path: Name of the field.
281
284
  :param str order: Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=.
282
- Only one of `order` and `arrayConfig` can be specified.
285
+ Only one of `order`, `arrayConfig`, and `vectorConfig` can be specified.
283
286
  Possible values are: `ASCENDING`, `DESCENDING`.
287
+ :param 'IndexFieldVectorConfigArgs' vector_config: Indicates that this field supports vector search operations. Only one of `order`, `arrayConfig`, and
288
+ `vectorConfig` can be specified. Vector Fields should come after the field path `__name__`.
289
+ Structure is documented below.
284
290
  """
285
291
  if array_config is not None:
286
292
  pulumi.set(__self__, "array_config", array_config)
@@ -288,16 +294,16 @@ class IndexField(dict):
288
294
  pulumi.set(__self__, "field_path", field_path)
289
295
  if order is not None:
290
296
  pulumi.set(__self__, "order", order)
297
+ if vector_config is not None:
298
+ pulumi.set(__self__, "vector_config", vector_config)
291
299
 
292
300
  @property
293
301
  @pulumi.getter(name="arrayConfig")
294
302
  def array_config(self) -> Optional[str]:
295
303
  """
296
- Indicates that this field supports operations on arrayValues. Only one of `order` and `arrayConfig` can
297
- be specified.
304
+ Indicates that this field supports operations on arrayValues. Only one of `order`, `arrayConfig`, and
305
+ `vectorConfig` can be specified.
298
306
  Possible values are: `CONTAINS`.
299
-
300
- - - -
301
307
  """
302
308
  return pulumi.get(self, "array_config")
303
309
 
@@ -314,9 +320,62 @@ class IndexField(dict):
314
320
  def order(self) -> Optional[str]:
315
321
  """
316
322
  Indicates that this field supports ordering by the specified order or comparing using =, <, <=, >, >=.
317
- Only one of `order` and `arrayConfig` can be specified.
323
+ Only one of `order`, `arrayConfig`, and `vectorConfig` can be specified.
318
324
  Possible values are: `ASCENDING`, `DESCENDING`.
319
325
  """
320
326
  return pulumi.get(self, "order")
321
327
 
328
+ @property
329
+ @pulumi.getter(name="vectorConfig")
330
+ def vector_config(self) -> Optional['outputs.IndexFieldVectorConfig']:
331
+ """
332
+ Indicates that this field supports vector search operations. Only one of `order`, `arrayConfig`, and
333
+ `vectorConfig` can be specified. Vector Fields should come after the field path `__name__`.
334
+ Structure is documented below.
335
+ """
336
+ return pulumi.get(self, "vector_config")
337
+
338
+
339
+ @pulumi.output_type
340
+ class IndexFieldVectorConfig(dict):
341
+ def __init__(__self__, *,
342
+ dimension: Optional[int] = None,
343
+ flat: Optional['outputs.IndexFieldVectorConfigFlat'] = None):
344
+ """
345
+ :param int dimension: The resulting index will only include vectors of this dimension, and can be used for vector search
346
+ with the same dimension.
347
+ :param 'IndexFieldVectorConfigFlatArgs' flat: Indicates the vector index is a flat index.
348
+
349
+ - - -
350
+ """
351
+ if dimension is not None:
352
+ pulumi.set(__self__, "dimension", dimension)
353
+ if flat is not None:
354
+ pulumi.set(__self__, "flat", flat)
355
+
356
+ @property
357
+ @pulumi.getter
358
+ def dimension(self) -> Optional[int]:
359
+ """
360
+ The resulting index will only include vectors of this dimension, and can be used for vector search
361
+ with the same dimension.
362
+ """
363
+ return pulumi.get(self, "dimension")
364
+
365
+ @property
366
+ @pulumi.getter
367
+ def flat(self) -> Optional['outputs.IndexFieldVectorConfigFlat']:
368
+ """
369
+ Indicates the vector index is a flat index.
370
+
371
+ - - -
372
+ """
373
+ return pulumi.get(self, "flat")
374
+
375
+
376
+ @pulumi.output_type
377
+ class IndexFieldVectorConfigFlat(dict):
378
+ def __init__(__self__):
379
+ pass
380
+
322
381