pulumi-gcp 8.40.0a1754721948__py3-none-any.whl → 8.40.0a1754951145__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 (157) hide show
  1. pulumi_gcp/__init__.py +128 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +24 -4
  3. pulumi_gcp/accesscontextmanager/outputs.py +15 -3
  4. pulumi_gcp/apigee/__init__.py +2 -0
  5. pulumi_gcp/apigee/_inputs.py +1435 -0
  6. pulumi_gcp/apigee/api_product.py +1698 -0
  7. pulumi_gcp/apigee/outputs.py +1081 -0
  8. pulumi_gcp/apigee/security_action.py +1010 -0
  9. pulumi_gcp/artifactregistry/__init__.py +1 -0
  10. pulumi_gcp/artifactregistry/get_docker_images.py +164 -0
  11. pulumi_gcp/artifactregistry/outputs.py +109 -2
  12. pulumi_gcp/artifactregistry/repository.py +6 -6
  13. pulumi_gcp/backupdisasterrecovery/backup_vault.py +56 -0
  14. pulumi_gcp/backupdisasterrecovery/get_backup_vault.py +12 -1
  15. pulumi_gcp/bigquery/_inputs.py +6 -0
  16. pulumi_gcp/bigquery/get_table.py +23 -1
  17. pulumi_gcp/bigquery/outputs.py +4 -0
  18. pulumi_gcp/bigquery/table.py +62 -0
  19. pulumi_gcp/bigqueryanalyticshub/_inputs.py +180 -0
  20. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +80 -0
  21. pulumi_gcp/bigqueryanalyticshub/listing.py +322 -2
  22. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +32 -0
  23. pulumi_gcp/bigqueryanalyticshub/outputs.py +159 -0
  24. pulumi_gcp/bigtable/__init__.py +1 -0
  25. pulumi_gcp/bigtable/_inputs.py +33 -0
  26. pulumi_gcp/bigtable/outputs.py +36 -0
  27. pulumi_gcp/bigtable/schema_bundle.py +568 -0
  28. pulumi_gcp/cloudfunctions/_inputs.py +48 -0
  29. pulumi_gcp/cloudfunctions/function.py +94 -0
  30. pulumi_gcp/cloudfunctions/get_function.py +23 -1
  31. pulumi_gcp/cloudfunctions/outputs.py +70 -0
  32. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  33. pulumi_gcp/cloudrunv2/job.py +2 -0
  34. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  35. pulumi_gcp/cloudrunv2/worker_pool.py +2 -0
  36. pulumi_gcp/compute/__init__.py +1 -0
  37. pulumi_gcp/compute/_inputs.py +713 -22
  38. pulumi_gcp/compute/firewall_policy_with_rules.py +66 -0
  39. pulumi_gcp/compute/forwarding_rule.py +0 -21
  40. pulumi_gcp/compute/get_router.py +12 -1
  41. pulumi_gcp/compute/outputs.py +562 -22
  42. pulumi_gcp/compute/preview_feature.py +396 -0
  43. pulumi_gcp/compute/region_url_map.py +392 -0
  44. pulumi_gcp/compute/reservation.py +4 -4
  45. pulumi_gcp/compute/router.py +54 -0
  46. pulumi_gcp/compute/storage_pool.py +154 -0
  47. pulumi_gcp/compute/subnetwork.py +54 -0
  48. pulumi_gcp/config/__init__.pyi +2 -0
  49. pulumi_gcp/config/vars.py +4 -0
  50. pulumi_gcp/container/_inputs.py +278 -8
  51. pulumi_gcp/container/cluster.py +61 -21
  52. pulumi_gcp/container/get_cluster.py +12 -1
  53. pulumi_gcp/container/outputs.py +352 -8
  54. pulumi_gcp/dataproc/_inputs.py +249 -14
  55. pulumi_gcp/dataproc/batch.py +6 -0
  56. pulumi_gcp/dataproc/cluster.py +2 -0
  57. pulumi_gcp/dataproc/outputs.py +215 -12
  58. pulumi_gcp/dataproc/session_template.py +14 -2
  59. pulumi_gcp/developerconnect/__init__.py +1 -0
  60. pulumi_gcp/developerconnect/_inputs.py +583 -0
  61. pulumi_gcp/developerconnect/insights_config.py +895 -0
  62. pulumi_gcp/developerconnect/outputs.py +442 -0
  63. pulumi_gcp/diagflow/__init__.py +1 -0
  64. pulumi_gcp/diagflow/_inputs.py +1165 -58
  65. pulumi_gcp/diagflow/cx_generator.py +636 -0
  66. pulumi_gcp/diagflow/cx_tool.py +2 -2
  67. pulumi_gcp/diagflow/cx_webhook.py +380 -36
  68. pulumi_gcp/diagflow/outputs.py +848 -25
  69. pulumi_gcp/discoveryengine/__init__.py +2 -0
  70. pulumi_gcp/discoveryengine/_inputs.py +465 -0
  71. pulumi_gcp/discoveryengine/cmek_config.py +707 -0
  72. pulumi_gcp/discoveryengine/outputs.py +412 -0
  73. pulumi_gcp/discoveryengine/recommendation_engine.py +813 -0
  74. pulumi_gcp/firestore/field.py +6 -6
  75. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +107 -9
  76. pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +2 -2
  77. pulumi_gcp/gkehub/membership_binding.py +6 -6
  78. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  79. pulumi_gcp/gkehub/namespace.py +4 -4
  80. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  81. pulumi_gcp/iam/__init__.py +4 -0
  82. pulumi_gcp/iam/_inputs.py +98 -0
  83. pulumi_gcp/iam/get_workforce_pool_iam_policy.py +161 -0
  84. pulumi_gcp/iam/outputs.py +56 -0
  85. pulumi_gcp/iam/workforce_pool_iam_binding.py +761 -0
  86. pulumi_gcp/iam/workforce_pool_iam_member.py +761 -0
  87. pulumi_gcp/iam/workforce_pool_iam_policy.py +600 -0
  88. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  89. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  90. pulumi_gcp/looker/instance.py +28 -7
  91. pulumi_gcp/managedkafka/_inputs.py +127 -0
  92. pulumi_gcp/managedkafka/cluster.py +131 -1
  93. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  94. pulumi_gcp/managedkafka/connector.py +4 -4
  95. pulumi_gcp/managedkafka/outputs.py +128 -0
  96. pulumi_gcp/memorystore/instance.py +8 -12
  97. pulumi_gcp/modelarmor/__init__.py +1 -0
  98. pulumi_gcp/modelarmor/_inputs.py +683 -0
  99. pulumi_gcp/modelarmor/floorsetting.py +736 -0
  100. pulumi_gcp/modelarmor/outputs.py +618 -0
  101. pulumi_gcp/networkconnectivity/_inputs.py +60 -0
  102. pulumi_gcp/networkconnectivity/internal_range.py +136 -0
  103. pulumi_gcp/networkconnectivity/outputs.py +55 -0
  104. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  105. pulumi_gcp/oracledatabase/__init__.py +2 -0
  106. pulumi_gcp/oracledatabase/autonomous_database.py +262 -38
  107. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +314 -50
  108. pulumi_gcp/oracledatabase/get_autonomous_database.py +23 -1
  109. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +34 -1
  110. pulumi_gcp/oracledatabase/odb_network.py +721 -0
  111. pulumi_gcp/oracledatabase/odb_subnet.py +803 -0
  112. pulumi_gcp/oracledatabase/outputs.py +83 -0
  113. pulumi_gcp/orgpolicy/policy.py +2 -2
  114. pulumi_gcp/parametermanager/parameter_version.py +62 -0
  115. pulumi_gcp/parametermanager/regional_parameter_version.py +64 -0
  116. pulumi_gcp/provider.py +20 -0
  117. pulumi_gcp/pubsub/subscription.py +46 -6
  118. pulumi_gcp/pubsub/topic.py +36 -0
  119. pulumi_gcp/pulumi-plugin.json +1 -1
  120. pulumi_gcp/redis/cluster.py +70 -0
  121. pulumi_gcp/redis/get_cluster.py +12 -1
  122. pulumi_gcp/redis/instance.py +8 -12
  123. pulumi_gcp/secretmanager/get_regional_secret.py +12 -1
  124. pulumi_gcp/secretmanager/get_secret.py +12 -1
  125. pulumi_gcp/secretmanager/outputs.py +30 -0
  126. pulumi_gcp/secretmanager/regional_secret.py +61 -0
  127. pulumi_gcp/secretmanager/secret.py +61 -0
  128. pulumi_gcp/securesourcemanager/branch_rule.py +16 -8
  129. pulumi_gcp/securesourcemanager/instance.py +112 -4
  130. pulumi_gcp/securesourcemanager/repository.py +112 -8
  131. pulumi_gcp/serviceaccount/get_account_key.py +1 -0
  132. pulumi_gcp/sql/_inputs.py +6 -6
  133. pulumi_gcp/sql/database.py +0 -12
  134. pulumi_gcp/sql/outputs.py +4 -4
  135. pulumi_gcp/storage/__init__.py +2 -0
  136. pulumi_gcp/storage/_inputs.py +451 -0
  137. pulumi_gcp/storage/bucket.py +7 -7
  138. pulumi_gcp/storage/bucket_object.py +34 -0
  139. pulumi_gcp/storage/get_bucket_object.py +12 -1
  140. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  141. pulumi_gcp/storage/get_insights_dataset_config.py +363 -0
  142. pulumi_gcp/storage/insights_dataset_config.py +1280 -0
  143. pulumi_gcp/storage/outputs.py +619 -0
  144. pulumi_gcp/vertex/__init__.py +1 -0
  145. pulumi_gcp/vertex/_inputs.py +3646 -3
  146. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  147. pulumi_gcp/vertex/ai_endpoint_with_model_garden_deployment.py +940 -0
  148. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  149. pulumi_gcp/vertex/outputs.py +2609 -2
  150. pulumi_gcp/vmwareengine/network_peering.py +7 -7
  151. pulumi_gcp/workbench/_inputs.py +118 -0
  152. pulumi_gcp/workbench/instance.py +171 -2
  153. pulumi_gcp/workbench/outputs.py +91 -0
  154. {pulumi_gcp-8.40.0a1754721948.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/METADATA +1 -1
  155. {pulumi_gcp-8.40.0a1754721948.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/RECORD +157 -138
  156. {pulumi_gcp-8.40.0a1754721948.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/WHEEL +0 -0
  157. {pulumi_gcp-8.40.0a1754721948.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,813 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['RecommendationEngineArgs', 'RecommendationEngine']
20
+
21
+ @pulumi.input_type
22
+ class RecommendationEngineArgs:
23
+ def __init__(__self__, *,
24
+ data_store_ids: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
25
+ display_name: pulumi.Input[_builtins.str],
26
+ engine_id: pulumi.Input[_builtins.str],
27
+ location: pulumi.Input[_builtins.str],
28
+ common_config: Optional[pulumi.Input['RecommendationEngineCommonConfigArgs']] = None,
29
+ industry_vertical: Optional[pulumi.Input[_builtins.str]] = None,
30
+ media_recommendation_engine_config: Optional[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigArgs']] = None,
31
+ project: Optional[pulumi.Input[_builtins.str]] = None):
32
+ """
33
+ The set of arguments for constructing a RecommendationEngine resource.
34
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] data_store_ids: The data stores associated with this engine. For SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store.
35
+ :param pulumi.Input[_builtins.str] display_name: Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
36
+ :param pulumi.Input[_builtins.str] engine_id: Unique ID to use for Recommendation Engine.
37
+ :param pulumi.Input[_builtins.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['RecommendationEngineCommonConfigArgs'] common_config: Common config spec that specifies the metadata of the engine.
40
+ Structure is documented below.
41
+ :param pulumi.Input[_builtins.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.
42
+ Default value is `GENERIC`.
43
+ Possible values are: `GENERIC`, `MEDIA`.
44
+ :param pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigArgs'] media_recommendation_engine_config: Configurations for a Media Recommendation Engine. Only applicable on the data stores
45
+ with SOLUTION_TYPE_RECOMMENDATION solution type and MEDIA industry vertical.
46
+ Structure is documented below.
47
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
48
+ If it is not provided, the provider project is used.
49
+ """
50
+ pulumi.set(__self__, "data_store_ids", data_store_ids)
51
+ pulumi.set(__self__, "display_name", display_name)
52
+ pulumi.set(__self__, "engine_id", engine_id)
53
+ pulumi.set(__self__, "location", location)
54
+ if common_config is not None:
55
+ pulumi.set(__self__, "common_config", common_config)
56
+ if industry_vertical is not None:
57
+ pulumi.set(__self__, "industry_vertical", industry_vertical)
58
+ if media_recommendation_engine_config is not None:
59
+ pulumi.set(__self__, "media_recommendation_engine_config", media_recommendation_engine_config)
60
+ if project is not None:
61
+ pulumi.set(__self__, "project", project)
62
+
63
+ @_builtins.property
64
+ @pulumi.getter(name="dataStoreIds")
65
+ def data_store_ids(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
66
+ """
67
+ The data stores associated with this engine. For SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store.
68
+ """
69
+ return pulumi.get(self, "data_store_ids")
70
+
71
+ @data_store_ids.setter
72
+ def data_store_ids(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
73
+ pulumi.set(self, "data_store_ids", value)
74
+
75
+ @_builtins.property
76
+ @pulumi.getter(name="displayName")
77
+ def display_name(self) -> pulumi.Input[_builtins.str]:
78
+ """
79
+ Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
80
+ """
81
+ return pulumi.get(self, "display_name")
82
+
83
+ @display_name.setter
84
+ def display_name(self, value: pulumi.Input[_builtins.str]):
85
+ pulumi.set(self, "display_name", value)
86
+
87
+ @_builtins.property
88
+ @pulumi.getter(name="engineId")
89
+ def engine_id(self) -> pulumi.Input[_builtins.str]:
90
+ """
91
+ Unique ID to use for Recommendation Engine.
92
+ """
93
+ return pulumi.get(self, "engine_id")
94
+
95
+ @engine_id.setter
96
+ def engine_id(self, value: pulumi.Input[_builtins.str]):
97
+ pulumi.set(self, "engine_id", value)
98
+
99
+ @_builtins.property
100
+ @pulumi.getter
101
+ def location(self) -> pulumi.Input[_builtins.str]:
102
+ """
103
+ The geographic location where the data store should reside. The value can
104
+ only be one of "global", "us" and "eu".
105
+ """
106
+ return pulumi.get(self, "location")
107
+
108
+ @location.setter
109
+ def location(self, value: pulumi.Input[_builtins.str]):
110
+ pulumi.set(self, "location", value)
111
+
112
+ @_builtins.property
113
+ @pulumi.getter(name="commonConfig")
114
+ def common_config(self) -> Optional[pulumi.Input['RecommendationEngineCommonConfigArgs']]:
115
+ """
116
+ Common config spec that specifies the metadata of the engine.
117
+ Structure is documented below.
118
+ """
119
+ return pulumi.get(self, "common_config")
120
+
121
+ @common_config.setter
122
+ def common_config(self, value: Optional[pulumi.Input['RecommendationEngineCommonConfigArgs']]):
123
+ pulumi.set(self, "common_config", value)
124
+
125
+ @_builtins.property
126
+ @pulumi.getter(name="industryVertical")
127
+ def industry_vertical(self) -> Optional[pulumi.Input[_builtins.str]]:
128
+ """
129
+ 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.
130
+ Default value is `GENERIC`.
131
+ Possible values are: `GENERIC`, `MEDIA`.
132
+ """
133
+ return pulumi.get(self, "industry_vertical")
134
+
135
+ @industry_vertical.setter
136
+ def industry_vertical(self, value: Optional[pulumi.Input[_builtins.str]]):
137
+ pulumi.set(self, "industry_vertical", value)
138
+
139
+ @_builtins.property
140
+ @pulumi.getter(name="mediaRecommendationEngineConfig")
141
+ def media_recommendation_engine_config(self) -> Optional[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigArgs']]:
142
+ """
143
+ Configurations for a Media Recommendation Engine. Only applicable on the data stores
144
+ with SOLUTION_TYPE_RECOMMENDATION solution type and MEDIA industry vertical.
145
+ Structure is documented below.
146
+ """
147
+ return pulumi.get(self, "media_recommendation_engine_config")
148
+
149
+ @media_recommendation_engine_config.setter
150
+ def media_recommendation_engine_config(self, value: Optional[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigArgs']]):
151
+ pulumi.set(self, "media_recommendation_engine_config", value)
152
+
153
+ @_builtins.property
154
+ @pulumi.getter
155
+ def project(self) -> Optional[pulumi.Input[_builtins.str]]:
156
+ """
157
+ The ID of the project in which the resource belongs.
158
+ If it is not provided, the provider project is used.
159
+ """
160
+ return pulumi.get(self, "project")
161
+
162
+ @project.setter
163
+ def project(self, value: Optional[pulumi.Input[_builtins.str]]):
164
+ pulumi.set(self, "project", value)
165
+
166
+
167
+ @pulumi.input_type
168
+ class _RecommendationEngineState:
169
+ def __init__(__self__, *,
170
+ common_config: Optional[pulumi.Input['RecommendationEngineCommonConfigArgs']] = None,
171
+ create_time: Optional[pulumi.Input[_builtins.str]] = None,
172
+ data_store_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
173
+ display_name: Optional[pulumi.Input[_builtins.str]] = None,
174
+ engine_id: Optional[pulumi.Input[_builtins.str]] = None,
175
+ industry_vertical: Optional[pulumi.Input[_builtins.str]] = None,
176
+ location: Optional[pulumi.Input[_builtins.str]] = None,
177
+ media_recommendation_engine_config: Optional[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigArgs']] = None,
178
+ name: Optional[pulumi.Input[_builtins.str]] = None,
179
+ project: Optional[pulumi.Input[_builtins.str]] = None,
180
+ update_time: Optional[pulumi.Input[_builtins.str]] = None):
181
+ """
182
+ Input properties used for looking up and filtering RecommendationEngine resources.
183
+ :param pulumi.Input['RecommendationEngineCommonConfigArgs'] common_config: Common config spec that specifies the metadata of the engine.
184
+ Structure is documented below.
185
+ :param pulumi.Input[_builtins.str] create_time: Timestamp the Engine was created at.
186
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] data_store_ids: The data stores associated with this engine. For SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store.
187
+ :param pulumi.Input[_builtins.str] display_name: Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
188
+ :param pulumi.Input[_builtins.str] engine_id: Unique ID to use for Recommendation Engine.
189
+ :param pulumi.Input[_builtins.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.
190
+ Default value is `GENERIC`.
191
+ Possible values are: `GENERIC`, `MEDIA`.
192
+ :param pulumi.Input[_builtins.str] location: The geographic location where the data store should reside. The value can
193
+ only be one of "global", "us" and "eu".
194
+ :param pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigArgs'] media_recommendation_engine_config: Configurations for a Media Recommendation Engine. Only applicable on the data stores
195
+ with SOLUTION_TYPE_RECOMMENDATION solution type and MEDIA industry vertical.
196
+ Structure is documented below.
197
+ :param pulumi.Input[_builtins.str] name: The unique full resource name of the recommendation engine. Values are of the format
198
+ `projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}`.
199
+ This field must be a UTF-8 encoded string with a length limit of 1024 characters.
200
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
201
+ If it is not provided, the provider project is used.
202
+ :param pulumi.Input[_builtins.str] update_time: Timestamp the Engine was last updated.
203
+ """
204
+ if common_config is not None:
205
+ pulumi.set(__self__, "common_config", common_config)
206
+ if create_time is not None:
207
+ pulumi.set(__self__, "create_time", create_time)
208
+ if data_store_ids is not None:
209
+ pulumi.set(__self__, "data_store_ids", data_store_ids)
210
+ if display_name is not None:
211
+ pulumi.set(__self__, "display_name", display_name)
212
+ if engine_id is not None:
213
+ pulumi.set(__self__, "engine_id", engine_id)
214
+ if industry_vertical is not None:
215
+ pulumi.set(__self__, "industry_vertical", industry_vertical)
216
+ if location is not None:
217
+ pulumi.set(__self__, "location", location)
218
+ if media_recommendation_engine_config is not None:
219
+ pulumi.set(__self__, "media_recommendation_engine_config", media_recommendation_engine_config)
220
+ if name is not None:
221
+ pulumi.set(__self__, "name", name)
222
+ if project is not None:
223
+ pulumi.set(__self__, "project", project)
224
+ if update_time is not None:
225
+ pulumi.set(__self__, "update_time", update_time)
226
+
227
+ @_builtins.property
228
+ @pulumi.getter(name="commonConfig")
229
+ def common_config(self) -> Optional[pulumi.Input['RecommendationEngineCommonConfigArgs']]:
230
+ """
231
+ Common config spec that specifies the metadata of the engine.
232
+ Structure is documented below.
233
+ """
234
+ return pulumi.get(self, "common_config")
235
+
236
+ @common_config.setter
237
+ def common_config(self, value: Optional[pulumi.Input['RecommendationEngineCommonConfigArgs']]):
238
+ pulumi.set(self, "common_config", value)
239
+
240
+ @_builtins.property
241
+ @pulumi.getter(name="createTime")
242
+ def create_time(self) -> Optional[pulumi.Input[_builtins.str]]:
243
+ """
244
+ Timestamp the Engine was created at.
245
+ """
246
+ return pulumi.get(self, "create_time")
247
+
248
+ @create_time.setter
249
+ def create_time(self, value: Optional[pulumi.Input[_builtins.str]]):
250
+ pulumi.set(self, "create_time", value)
251
+
252
+ @_builtins.property
253
+ @pulumi.getter(name="dataStoreIds")
254
+ def data_store_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
255
+ """
256
+ The data stores associated with this engine. For SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store.
257
+ """
258
+ return pulumi.get(self, "data_store_ids")
259
+
260
+ @data_store_ids.setter
261
+ def data_store_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
262
+ pulumi.set(self, "data_store_ids", value)
263
+
264
+ @_builtins.property
265
+ @pulumi.getter(name="displayName")
266
+ def display_name(self) -> Optional[pulumi.Input[_builtins.str]]:
267
+ """
268
+ Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
269
+ """
270
+ return pulumi.get(self, "display_name")
271
+
272
+ @display_name.setter
273
+ def display_name(self, value: Optional[pulumi.Input[_builtins.str]]):
274
+ pulumi.set(self, "display_name", value)
275
+
276
+ @_builtins.property
277
+ @pulumi.getter(name="engineId")
278
+ def engine_id(self) -> Optional[pulumi.Input[_builtins.str]]:
279
+ """
280
+ Unique ID to use for Recommendation Engine.
281
+ """
282
+ return pulumi.get(self, "engine_id")
283
+
284
+ @engine_id.setter
285
+ def engine_id(self, value: Optional[pulumi.Input[_builtins.str]]):
286
+ pulumi.set(self, "engine_id", value)
287
+
288
+ @_builtins.property
289
+ @pulumi.getter(name="industryVertical")
290
+ def industry_vertical(self) -> Optional[pulumi.Input[_builtins.str]]:
291
+ """
292
+ 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.
293
+ Default value is `GENERIC`.
294
+ Possible values are: `GENERIC`, `MEDIA`.
295
+ """
296
+ return pulumi.get(self, "industry_vertical")
297
+
298
+ @industry_vertical.setter
299
+ def industry_vertical(self, value: Optional[pulumi.Input[_builtins.str]]):
300
+ pulumi.set(self, "industry_vertical", value)
301
+
302
+ @_builtins.property
303
+ @pulumi.getter
304
+ def location(self) -> Optional[pulumi.Input[_builtins.str]]:
305
+ """
306
+ The geographic location where the data store should reside. The value can
307
+ only be one of "global", "us" and "eu".
308
+ """
309
+ return pulumi.get(self, "location")
310
+
311
+ @location.setter
312
+ def location(self, value: Optional[pulumi.Input[_builtins.str]]):
313
+ pulumi.set(self, "location", value)
314
+
315
+ @_builtins.property
316
+ @pulumi.getter(name="mediaRecommendationEngineConfig")
317
+ def media_recommendation_engine_config(self) -> Optional[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigArgs']]:
318
+ """
319
+ Configurations for a Media Recommendation Engine. Only applicable on the data stores
320
+ with SOLUTION_TYPE_RECOMMENDATION solution type and MEDIA industry vertical.
321
+ Structure is documented below.
322
+ """
323
+ return pulumi.get(self, "media_recommendation_engine_config")
324
+
325
+ @media_recommendation_engine_config.setter
326
+ def media_recommendation_engine_config(self, value: Optional[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigArgs']]):
327
+ pulumi.set(self, "media_recommendation_engine_config", value)
328
+
329
+ @_builtins.property
330
+ @pulumi.getter
331
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
332
+ """
333
+ The unique full resource name of the recommendation engine. Values are of the format
334
+ `projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}`.
335
+ This field must be a UTF-8 encoded string with a length limit of 1024 characters.
336
+ """
337
+ return pulumi.get(self, "name")
338
+
339
+ @name.setter
340
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
341
+ pulumi.set(self, "name", value)
342
+
343
+ @_builtins.property
344
+ @pulumi.getter
345
+ def project(self) -> Optional[pulumi.Input[_builtins.str]]:
346
+ """
347
+ The ID of the project in which the resource belongs.
348
+ If it is not provided, the provider project is used.
349
+ """
350
+ return pulumi.get(self, "project")
351
+
352
+ @project.setter
353
+ def project(self, value: Optional[pulumi.Input[_builtins.str]]):
354
+ pulumi.set(self, "project", value)
355
+
356
+ @_builtins.property
357
+ @pulumi.getter(name="updateTime")
358
+ def update_time(self) -> Optional[pulumi.Input[_builtins.str]]:
359
+ """
360
+ Timestamp the Engine was last updated.
361
+ """
362
+ return pulumi.get(self, "update_time")
363
+
364
+ @update_time.setter
365
+ def update_time(self, value: Optional[pulumi.Input[_builtins.str]]):
366
+ pulumi.set(self, "update_time", value)
367
+
368
+
369
+ @pulumi.type_token("gcp:discoveryengine/recommendationEngine:RecommendationEngine")
370
+ class RecommendationEngine(pulumi.CustomResource):
371
+ @overload
372
+ def __init__(__self__,
373
+ resource_name: str,
374
+ opts: Optional[pulumi.ResourceOptions] = None,
375
+ common_config: Optional[pulumi.Input[Union['RecommendationEngineCommonConfigArgs', 'RecommendationEngineCommonConfigArgsDict']]] = None,
376
+ data_store_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
377
+ display_name: Optional[pulumi.Input[_builtins.str]] = None,
378
+ engine_id: Optional[pulumi.Input[_builtins.str]] = None,
379
+ industry_vertical: Optional[pulumi.Input[_builtins.str]] = None,
380
+ location: Optional[pulumi.Input[_builtins.str]] = None,
381
+ media_recommendation_engine_config: Optional[pulumi.Input[Union['RecommendationEngineMediaRecommendationEngineConfigArgs', 'RecommendationEngineMediaRecommendationEngineConfigArgsDict']]] = None,
382
+ project: Optional[pulumi.Input[_builtins.str]] = None,
383
+ __props__=None):
384
+ """
385
+ Vertex AI Search recommendation apps.
386
+
387
+ To get more information about RecommendationEngine, see:
388
+
389
+ * [API documentation](https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/projects.locations.collections.engines)
390
+ * How-to Guides
391
+ * [Create a Recommendation Engine](https://cloud.google.com/generative-ai-app-builder/docs/create-generic-recommendations-app)
392
+
393
+ ## Example Usage
394
+
395
+ ### Discoveryengine Recommendationengine Generic
396
+
397
+ ```python
398
+ import pulumi
399
+ import pulumi_gcp as gcp
400
+
401
+ generic = gcp.discoveryengine.DataStore("generic",
402
+ location="global",
403
+ data_store_id="recommendation-datastore-id",
404
+ display_name="tf-test-structured-datastore",
405
+ industry_vertical="GENERIC",
406
+ content_config="NO_CONTENT",
407
+ solution_types=["SOLUTION_TYPE_RECOMMENDATION"],
408
+ create_advanced_site_search=False,
409
+ skip_default_schema_creation=False)
410
+ generic_recommendation_engine = gcp.discoveryengine.RecommendationEngine("generic",
411
+ engine_id="recommendation-engine-id",
412
+ location=generic.location,
413
+ display_name="Example Recommendation Engine",
414
+ data_store_ids=[generic.data_store_id],
415
+ industry_vertical="GENERIC",
416
+ common_config={
417
+ "company_name": "test-company",
418
+ })
419
+ ```
420
+ ### Discoveryengine Recommendationengine Media
421
+
422
+ ```python
423
+ import pulumi
424
+ import pulumi_gcp as gcp
425
+
426
+ media = gcp.discoveryengine.DataStore("media",
427
+ location="global",
428
+ data_store_id="recommendation-datastore-id",
429
+ display_name="tf-test-structured-datastore",
430
+ industry_vertical="MEDIA",
431
+ content_config="NO_CONTENT",
432
+ solution_types=["SOLUTION_TYPE_RECOMMENDATION"],
433
+ create_advanced_site_search=False,
434
+ skip_default_schema_creation=False)
435
+ media_recommendation_engine = gcp.discoveryengine.RecommendationEngine("media",
436
+ engine_id="recommendation-engine-id",
437
+ location=media.location,
438
+ display_name="Example Media Recommendation Engine",
439
+ data_store_ids=[media.data_store_id],
440
+ industry_vertical="MEDIA",
441
+ media_recommendation_engine_config={
442
+ "type": "recommended-for-you",
443
+ "optimization_objective": "ctr",
444
+ "training_state": "PAUSED",
445
+ "engine_features_config": {
446
+ "recommended_for_you_config": {
447
+ "context_event_type": "generic",
448
+ },
449
+ },
450
+ },
451
+ common_config={
452
+ "company_name": "test-company",
453
+ })
454
+ ```
455
+
456
+ ## Import
457
+
458
+ RecommendationEngine can be imported using any of these accepted formats:
459
+
460
+ * `projects/{{project}}/locations/{{location}}/collections/default_collection/engines/{{engine_id}}`
461
+
462
+ * `{{project}}/{{location}}/{{engine_id}}`
463
+
464
+ * `{{location}}/{{engine_id}}`
465
+
466
+ When using the `pulumi import` command, RecommendationEngine can be imported using one of the formats above. For example:
467
+
468
+ ```sh
469
+ $ pulumi import gcp:discoveryengine/recommendationEngine:RecommendationEngine default projects/{{project}}/locations/{{location}}/collections/default_collection/engines/{{engine_id}}
470
+ ```
471
+
472
+ ```sh
473
+ $ pulumi import gcp:discoveryengine/recommendationEngine:RecommendationEngine default {{project}}/{{location}}/{{engine_id}}
474
+ ```
475
+
476
+ ```sh
477
+ $ pulumi import gcp:discoveryengine/recommendationEngine:RecommendationEngine default {{location}}/{{engine_id}}
478
+ ```
479
+
480
+ :param str resource_name: The name of the resource.
481
+ :param pulumi.ResourceOptions opts: Options for the resource.
482
+ :param pulumi.Input[Union['RecommendationEngineCommonConfigArgs', 'RecommendationEngineCommonConfigArgsDict']] common_config: Common config spec that specifies the metadata of the engine.
483
+ Structure is documented below.
484
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] data_store_ids: The data stores associated with this engine. For SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store.
485
+ :param pulumi.Input[_builtins.str] display_name: Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
486
+ :param pulumi.Input[_builtins.str] engine_id: Unique ID to use for Recommendation Engine.
487
+ :param pulumi.Input[_builtins.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.
488
+ Default value is `GENERIC`.
489
+ Possible values are: `GENERIC`, `MEDIA`.
490
+ :param pulumi.Input[_builtins.str] location: The geographic location where the data store should reside. The value can
491
+ only be one of "global", "us" and "eu".
492
+ :param pulumi.Input[Union['RecommendationEngineMediaRecommendationEngineConfigArgs', 'RecommendationEngineMediaRecommendationEngineConfigArgsDict']] media_recommendation_engine_config: Configurations for a Media Recommendation Engine. Only applicable on the data stores
493
+ with SOLUTION_TYPE_RECOMMENDATION solution type and MEDIA industry vertical.
494
+ Structure is documented below.
495
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
496
+ If it is not provided, the provider project is used.
497
+ """
498
+ ...
499
+ @overload
500
+ def __init__(__self__,
501
+ resource_name: str,
502
+ args: RecommendationEngineArgs,
503
+ opts: Optional[pulumi.ResourceOptions] = None):
504
+ """
505
+ Vertex AI Search recommendation apps.
506
+
507
+ To get more information about RecommendationEngine, see:
508
+
509
+ * [API documentation](https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/projects.locations.collections.engines)
510
+ * How-to Guides
511
+ * [Create a Recommendation Engine](https://cloud.google.com/generative-ai-app-builder/docs/create-generic-recommendations-app)
512
+
513
+ ## Example Usage
514
+
515
+ ### Discoveryengine Recommendationengine Generic
516
+
517
+ ```python
518
+ import pulumi
519
+ import pulumi_gcp as gcp
520
+
521
+ generic = gcp.discoveryengine.DataStore("generic",
522
+ location="global",
523
+ data_store_id="recommendation-datastore-id",
524
+ display_name="tf-test-structured-datastore",
525
+ industry_vertical="GENERIC",
526
+ content_config="NO_CONTENT",
527
+ solution_types=["SOLUTION_TYPE_RECOMMENDATION"],
528
+ create_advanced_site_search=False,
529
+ skip_default_schema_creation=False)
530
+ generic_recommendation_engine = gcp.discoveryengine.RecommendationEngine("generic",
531
+ engine_id="recommendation-engine-id",
532
+ location=generic.location,
533
+ display_name="Example Recommendation Engine",
534
+ data_store_ids=[generic.data_store_id],
535
+ industry_vertical="GENERIC",
536
+ common_config={
537
+ "company_name": "test-company",
538
+ })
539
+ ```
540
+ ### Discoveryengine Recommendationengine Media
541
+
542
+ ```python
543
+ import pulumi
544
+ import pulumi_gcp as gcp
545
+
546
+ media = gcp.discoveryengine.DataStore("media",
547
+ location="global",
548
+ data_store_id="recommendation-datastore-id",
549
+ display_name="tf-test-structured-datastore",
550
+ industry_vertical="MEDIA",
551
+ content_config="NO_CONTENT",
552
+ solution_types=["SOLUTION_TYPE_RECOMMENDATION"],
553
+ create_advanced_site_search=False,
554
+ skip_default_schema_creation=False)
555
+ media_recommendation_engine = gcp.discoveryengine.RecommendationEngine("media",
556
+ engine_id="recommendation-engine-id",
557
+ location=media.location,
558
+ display_name="Example Media Recommendation Engine",
559
+ data_store_ids=[media.data_store_id],
560
+ industry_vertical="MEDIA",
561
+ media_recommendation_engine_config={
562
+ "type": "recommended-for-you",
563
+ "optimization_objective": "ctr",
564
+ "training_state": "PAUSED",
565
+ "engine_features_config": {
566
+ "recommended_for_you_config": {
567
+ "context_event_type": "generic",
568
+ },
569
+ },
570
+ },
571
+ common_config={
572
+ "company_name": "test-company",
573
+ })
574
+ ```
575
+
576
+ ## Import
577
+
578
+ RecommendationEngine can be imported using any of these accepted formats:
579
+
580
+ * `projects/{{project}}/locations/{{location}}/collections/default_collection/engines/{{engine_id}}`
581
+
582
+ * `{{project}}/{{location}}/{{engine_id}}`
583
+
584
+ * `{{location}}/{{engine_id}}`
585
+
586
+ When using the `pulumi import` command, RecommendationEngine can be imported using one of the formats above. For example:
587
+
588
+ ```sh
589
+ $ pulumi import gcp:discoveryengine/recommendationEngine:RecommendationEngine default projects/{{project}}/locations/{{location}}/collections/default_collection/engines/{{engine_id}}
590
+ ```
591
+
592
+ ```sh
593
+ $ pulumi import gcp:discoveryengine/recommendationEngine:RecommendationEngine default {{project}}/{{location}}/{{engine_id}}
594
+ ```
595
+
596
+ ```sh
597
+ $ pulumi import gcp:discoveryengine/recommendationEngine:RecommendationEngine default {{location}}/{{engine_id}}
598
+ ```
599
+
600
+ :param str resource_name: The name of the resource.
601
+ :param RecommendationEngineArgs args: The arguments to use to populate this resource's properties.
602
+ :param pulumi.ResourceOptions opts: Options for the resource.
603
+ """
604
+ ...
605
+ def __init__(__self__, resource_name: str, *args, **kwargs):
606
+ resource_args, opts = _utilities.get_resource_args_opts(RecommendationEngineArgs, pulumi.ResourceOptions, *args, **kwargs)
607
+ if resource_args is not None:
608
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
609
+ else:
610
+ __self__._internal_init(resource_name, *args, **kwargs)
611
+
612
+ def _internal_init(__self__,
613
+ resource_name: str,
614
+ opts: Optional[pulumi.ResourceOptions] = None,
615
+ common_config: Optional[pulumi.Input[Union['RecommendationEngineCommonConfigArgs', 'RecommendationEngineCommonConfigArgsDict']]] = None,
616
+ data_store_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
617
+ display_name: Optional[pulumi.Input[_builtins.str]] = None,
618
+ engine_id: Optional[pulumi.Input[_builtins.str]] = None,
619
+ industry_vertical: Optional[pulumi.Input[_builtins.str]] = None,
620
+ location: Optional[pulumi.Input[_builtins.str]] = None,
621
+ media_recommendation_engine_config: Optional[pulumi.Input[Union['RecommendationEngineMediaRecommendationEngineConfigArgs', 'RecommendationEngineMediaRecommendationEngineConfigArgsDict']]] = None,
622
+ project: Optional[pulumi.Input[_builtins.str]] = None,
623
+ __props__=None):
624
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
625
+ if not isinstance(opts, pulumi.ResourceOptions):
626
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
627
+ if opts.id is None:
628
+ if __props__ is not None:
629
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
630
+ __props__ = RecommendationEngineArgs.__new__(RecommendationEngineArgs)
631
+
632
+ __props__.__dict__["common_config"] = common_config
633
+ if data_store_ids is None and not opts.urn:
634
+ raise TypeError("Missing required property 'data_store_ids'")
635
+ __props__.__dict__["data_store_ids"] = data_store_ids
636
+ if display_name is None and not opts.urn:
637
+ raise TypeError("Missing required property 'display_name'")
638
+ __props__.__dict__["display_name"] = display_name
639
+ if engine_id is None and not opts.urn:
640
+ raise TypeError("Missing required property 'engine_id'")
641
+ __props__.__dict__["engine_id"] = engine_id
642
+ __props__.__dict__["industry_vertical"] = industry_vertical
643
+ if location is None and not opts.urn:
644
+ raise TypeError("Missing required property 'location'")
645
+ __props__.__dict__["location"] = location
646
+ __props__.__dict__["media_recommendation_engine_config"] = media_recommendation_engine_config
647
+ __props__.__dict__["project"] = project
648
+ __props__.__dict__["create_time"] = None
649
+ __props__.__dict__["name"] = None
650
+ __props__.__dict__["update_time"] = None
651
+ super(RecommendationEngine, __self__).__init__(
652
+ 'gcp:discoveryengine/recommendationEngine:RecommendationEngine',
653
+ resource_name,
654
+ __props__,
655
+ opts)
656
+
657
+ @staticmethod
658
+ def get(resource_name: str,
659
+ id: pulumi.Input[str],
660
+ opts: Optional[pulumi.ResourceOptions] = None,
661
+ common_config: Optional[pulumi.Input[Union['RecommendationEngineCommonConfigArgs', 'RecommendationEngineCommonConfigArgsDict']]] = None,
662
+ create_time: Optional[pulumi.Input[_builtins.str]] = None,
663
+ data_store_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
664
+ display_name: Optional[pulumi.Input[_builtins.str]] = None,
665
+ engine_id: Optional[pulumi.Input[_builtins.str]] = None,
666
+ industry_vertical: Optional[pulumi.Input[_builtins.str]] = None,
667
+ location: Optional[pulumi.Input[_builtins.str]] = None,
668
+ media_recommendation_engine_config: Optional[pulumi.Input[Union['RecommendationEngineMediaRecommendationEngineConfigArgs', 'RecommendationEngineMediaRecommendationEngineConfigArgsDict']]] = None,
669
+ name: Optional[pulumi.Input[_builtins.str]] = None,
670
+ project: Optional[pulumi.Input[_builtins.str]] = None,
671
+ update_time: Optional[pulumi.Input[_builtins.str]] = None) -> 'RecommendationEngine':
672
+ """
673
+ Get an existing RecommendationEngine resource's state with the given name, id, and optional extra
674
+ properties used to qualify the lookup.
675
+
676
+ :param str resource_name: The unique name of the resulting resource.
677
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
678
+ :param pulumi.ResourceOptions opts: Options for the resource.
679
+ :param pulumi.Input[Union['RecommendationEngineCommonConfigArgs', 'RecommendationEngineCommonConfigArgsDict']] common_config: Common config spec that specifies the metadata of the engine.
680
+ Structure is documented below.
681
+ :param pulumi.Input[_builtins.str] create_time: Timestamp the Engine was created at.
682
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] data_store_ids: The data stores associated with this engine. For SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store.
683
+ :param pulumi.Input[_builtins.str] display_name: Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
684
+ :param pulumi.Input[_builtins.str] engine_id: Unique ID to use for Recommendation Engine.
685
+ :param pulumi.Input[_builtins.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.
686
+ Default value is `GENERIC`.
687
+ Possible values are: `GENERIC`, `MEDIA`.
688
+ :param pulumi.Input[_builtins.str] location: The geographic location where the data store should reside. The value can
689
+ only be one of "global", "us" and "eu".
690
+ :param pulumi.Input[Union['RecommendationEngineMediaRecommendationEngineConfigArgs', 'RecommendationEngineMediaRecommendationEngineConfigArgsDict']] media_recommendation_engine_config: Configurations for a Media Recommendation Engine. Only applicable on the data stores
691
+ with SOLUTION_TYPE_RECOMMENDATION solution type and MEDIA industry vertical.
692
+ Structure is documented below.
693
+ :param pulumi.Input[_builtins.str] name: The unique full resource name of the recommendation engine. Values are of the format
694
+ `projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}`.
695
+ This field must be a UTF-8 encoded string with a length limit of 1024 characters.
696
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
697
+ If it is not provided, the provider project is used.
698
+ :param pulumi.Input[_builtins.str] update_time: Timestamp the Engine was last updated.
699
+ """
700
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
701
+
702
+ __props__ = _RecommendationEngineState.__new__(_RecommendationEngineState)
703
+
704
+ __props__.__dict__["common_config"] = common_config
705
+ __props__.__dict__["create_time"] = create_time
706
+ __props__.__dict__["data_store_ids"] = data_store_ids
707
+ __props__.__dict__["display_name"] = display_name
708
+ __props__.__dict__["engine_id"] = engine_id
709
+ __props__.__dict__["industry_vertical"] = industry_vertical
710
+ __props__.__dict__["location"] = location
711
+ __props__.__dict__["media_recommendation_engine_config"] = media_recommendation_engine_config
712
+ __props__.__dict__["name"] = name
713
+ __props__.__dict__["project"] = project
714
+ __props__.__dict__["update_time"] = update_time
715
+ return RecommendationEngine(resource_name, opts=opts, __props__=__props__)
716
+
717
+ @_builtins.property
718
+ @pulumi.getter(name="commonConfig")
719
+ def common_config(self) -> pulumi.Output[Optional['outputs.RecommendationEngineCommonConfig']]:
720
+ """
721
+ Common config spec that specifies the metadata of the engine.
722
+ Structure is documented below.
723
+ """
724
+ return pulumi.get(self, "common_config")
725
+
726
+ @_builtins.property
727
+ @pulumi.getter(name="createTime")
728
+ def create_time(self) -> pulumi.Output[_builtins.str]:
729
+ """
730
+ Timestamp the Engine was created at.
731
+ """
732
+ return pulumi.get(self, "create_time")
733
+
734
+ @_builtins.property
735
+ @pulumi.getter(name="dataStoreIds")
736
+ def data_store_ids(self) -> pulumi.Output[Sequence[_builtins.str]]:
737
+ """
738
+ The data stores associated with this engine. For SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store.
739
+ """
740
+ return pulumi.get(self, "data_store_ids")
741
+
742
+ @_builtins.property
743
+ @pulumi.getter(name="displayName")
744
+ def display_name(self) -> pulumi.Output[_builtins.str]:
745
+ """
746
+ Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
747
+ """
748
+ return pulumi.get(self, "display_name")
749
+
750
+ @_builtins.property
751
+ @pulumi.getter(name="engineId")
752
+ def engine_id(self) -> pulumi.Output[_builtins.str]:
753
+ """
754
+ Unique ID to use for Recommendation Engine.
755
+ """
756
+ return pulumi.get(self, "engine_id")
757
+
758
+ @_builtins.property
759
+ @pulumi.getter(name="industryVertical")
760
+ def industry_vertical(self) -> pulumi.Output[Optional[_builtins.str]]:
761
+ """
762
+ 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.
763
+ Default value is `GENERIC`.
764
+ Possible values are: `GENERIC`, `MEDIA`.
765
+ """
766
+ return pulumi.get(self, "industry_vertical")
767
+
768
+ @_builtins.property
769
+ @pulumi.getter
770
+ def location(self) -> pulumi.Output[_builtins.str]:
771
+ """
772
+ The geographic location where the data store should reside. The value can
773
+ only be one of "global", "us" and "eu".
774
+ """
775
+ return pulumi.get(self, "location")
776
+
777
+ @_builtins.property
778
+ @pulumi.getter(name="mediaRecommendationEngineConfig")
779
+ def media_recommendation_engine_config(self) -> pulumi.Output[Optional['outputs.RecommendationEngineMediaRecommendationEngineConfig']]:
780
+ """
781
+ Configurations for a Media Recommendation Engine. Only applicable on the data stores
782
+ with SOLUTION_TYPE_RECOMMENDATION solution type and MEDIA industry vertical.
783
+ Structure is documented below.
784
+ """
785
+ return pulumi.get(self, "media_recommendation_engine_config")
786
+
787
+ @_builtins.property
788
+ @pulumi.getter
789
+ def name(self) -> pulumi.Output[_builtins.str]:
790
+ """
791
+ The unique full resource name of the recommendation engine. Values are of the format
792
+ `projects/{project}/locations/{location}/collections/{collection}/engines/{engine_id}`.
793
+ This field must be a UTF-8 encoded string with a length limit of 1024 characters.
794
+ """
795
+ return pulumi.get(self, "name")
796
+
797
+ @_builtins.property
798
+ @pulumi.getter
799
+ def project(self) -> pulumi.Output[_builtins.str]:
800
+ """
801
+ The ID of the project in which the resource belongs.
802
+ If it is not provided, the provider project is used.
803
+ """
804
+ return pulumi.get(self, "project")
805
+
806
+ @_builtins.property
807
+ @pulumi.getter(name="updateTime")
808
+ def update_time(self) -> pulumi.Output[_builtins.str]:
809
+ """
810
+ Timestamp the Engine was last updated.
811
+ """
812
+ return pulumi.get(self, "update_time")
813
+