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
@@ -7,7 +7,9 @@ from .. import _utilities
7
7
  import typing
8
8
  # Export this package's modules as members:
9
9
  from .chat_engine import *
10
+ from .cmek_config import *
10
11
  from .data_store import *
12
+ from .recommendation_engine import *
11
13
  from .schema import *
12
14
  from .search_engine import *
13
15
  from .sitemap import *
@@ -23,6 +23,8 @@ __all__ = [
23
23
  'ChatEngineChatEngineMetadataArgsDict',
24
24
  'ChatEngineCommonConfigArgs',
25
25
  'ChatEngineCommonConfigArgsDict',
26
+ 'CmekConfigSingleRegionKeyArgs',
27
+ 'CmekConfigSingleRegionKeyArgsDict',
26
28
  'DataStoreAdvancedSiteSearchConfigArgs',
27
29
  'DataStoreAdvancedSiteSearchConfigArgsDict',
28
30
  'DataStoreDocumentProcessingConfigArgs',
@@ -47,6 +49,18 @@ __all__ = [
47
49
  'DataStoreDocumentProcessingConfigParsingConfigOverrideLayoutParsingConfigArgsDict',
48
50
  'DataStoreDocumentProcessingConfigParsingConfigOverrideOcrParsingConfigArgs',
49
51
  'DataStoreDocumentProcessingConfigParsingConfigOverrideOcrParsingConfigArgsDict',
52
+ 'RecommendationEngineCommonConfigArgs',
53
+ 'RecommendationEngineCommonConfigArgsDict',
54
+ 'RecommendationEngineMediaRecommendationEngineConfigArgs',
55
+ 'RecommendationEngineMediaRecommendationEngineConfigArgsDict',
56
+ 'RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigArgs',
57
+ 'RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigArgsDict',
58
+ 'RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigMostPopularConfigArgs',
59
+ 'RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigMostPopularConfigArgsDict',
60
+ 'RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfigArgs',
61
+ 'RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfigArgsDict',
62
+ 'RecommendationEngineMediaRecommendationEngineConfigOptimizationObjectiveConfigArgs',
63
+ 'RecommendationEngineMediaRecommendationEngineConfigOptimizationObjectiveConfigArgsDict',
50
64
  'SearchEngineCommonConfigArgs',
51
65
  'SearchEngineCommonConfigArgsDict',
52
66
  'SearchEngineSearchEngineConfigArgs',
@@ -317,6 +331,43 @@ class ChatEngineCommonConfigArgs:
317
331
  pulumi.set(self, "company_name", value)
318
332
 
319
333
 
334
+ if not MYPY:
335
+ class CmekConfigSingleRegionKeyArgsDict(TypedDict):
336
+ kms_key: pulumi.Input[_builtins.str]
337
+ """
338
+ Single-regional kms key resource name which will be used to encrypt
339
+ resources
340
+ `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
341
+ """
342
+ elif False:
343
+ CmekConfigSingleRegionKeyArgsDict: TypeAlias = Mapping[str, Any]
344
+
345
+ @pulumi.input_type
346
+ class CmekConfigSingleRegionKeyArgs:
347
+ def __init__(__self__, *,
348
+ kms_key: pulumi.Input[_builtins.str]):
349
+ """
350
+ :param pulumi.Input[_builtins.str] kms_key: Single-regional kms key resource name which will be used to encrypt
351
+ resources
352
+ `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
353
+ """
354
+ pulumi.set(__self__, "kms_key", kms_key)
355
+
356
+ @_builtins.property
357
+ @pulumi.getter(name="kmsKey")
358
+ def kms_key(self) -> pulumi.Input[_builtins.str]:
359
+ """
360
+ Single-regional kms key resource name which will be used to encrypt
361
+ resources
362
+ `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
363
+ """
364
+ return pulumi.get(self, "kms_key")
365
+
366
+ @kms_key.setter
367
+ def kms_key(self, value: pulumi.Input[_builtins.str]):
368
+ pulumi.set(self, "kms_key", value)
369
+
370
+
320
371
  if not MYPY:
321
372
  class DataStoreAdvancedSiteSearchConfigArgsDict(TypedDict):
322
373
  disable_automatic_refresh: NotRequired[pulumi.Input[_builtins.bool]]
@@ -1099,6 +1150,420 @@ class DataStoreDocumentProcessingConfigParsingConfigOverrideOcrParsingConfigArgs
1099
1150
  pulumi.set(self, "use_native_text", value)
1100
1151
 
1101
1152
 
1153
+ if not MYPY:
1154
+ class RecommendationEngineCommonConfigArgsDict(TypedDict):
1155
+ company_name: NotRequired[pulumi.Input[_builtins.str]]
1156
+ """
1157
+ The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.cd
1158
+ """
1159
+ elif False:
1160
+ RecommendationEngineCommonConfigArgsDict: TypeAlias = Mapping[str, Any]
1161
+
1162
+ @pulumi.input_type
1163
+ class RecommendationEngineCommonConfigArgs:
1164
+ def __init__(__self__, *,
1165
+ company_name: Optional[pulumi.Input[_builtins.str]] = None):
1166
+ """
1167
+ :param pulumi.Input[_builtins.str] company_name: The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.cd
1168
+ """
1169
+ if company_name is not None:
1170
+ pulumi.set(__self__, "company_name", company_name)
1171
+
1172
+ @_builtins.property
1173
+ @pulumi.getter(name="companyName")
1174
+ def company_name(self) -> Optional[pulumi.Input[_builtins.str]]:
1175
+ """
1176
+ The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.cd
1177
+ """
1178
+ return pulumi.get(self, "company_name")
1179
+
1180
+ @company_name.setter
1181
+ def company_name(self, value: Optional[pulumi.Input[_builtins.str]]):
1182
+ pulumi.set(self, "company_name", value)
1183
+
1184
+
1185
+ if not MYPY:
1186
+ class RecommendationEngineMediaRecommendationEngineConfigArgsDict(TypedDict):
1187
+ engine_features_config: NotRequired[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigArgsDict']]
1188
+ """
1189
+ More feature configs of the selected engine type.
1190
+ Structure is documented below.
1191
+ """
1192
+ optimization_objective: NotRequired[pulumi.Input[_builtins.str]]
1193
+ """
1194
+ The optimization objective. e.g., `cvr`.
1195
+ This field together with MediaRecommendationEngineConfig.type describes
1196
+ engine metadata to use to control engine training and serving.
1197
+ Currently supported values: `ctr`, `cvr`.
1198
+ If not specified, we choose default based on engine type. Default depends on type of recommendation:
1199
+ `recommended-for-you` => `ctr`
1200
+ `others-you-may-like` => `ctr`
1201
+ """
1202
+ optimization_objective_config: NotRequired[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigOptimizationObjectiveConfigArgsDict']]
1203
+ """
1204
+ Name and value of the custom threshold for cvr optimization_objective.
1205
+ For target_field `watch-time`, target_field_value must be an integer
1206
+ value indicating the media progress time in seconds between (0, 86400]
1207
+ (excludes 0, includes 86400) (e.g., 90).
1208
+ For target_field `watch-percentage`, the target_field_value must be a
1209
+ valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5).
1210
+ Structure is documented below.
1211
+ """
1212
+ training_state: NotRequired[pulumi.Input[_builtins.str]]
1213
+ """
1214
+ The training state that the engine is in (e.g. `TRAINING` or `PAUSED`).
1215
+ Since part of the cost of running the service
1216
+ is frequency of training - this can be used to determine when to train
1217
+ engine in order to control cost. If not specified: the default value for
1218
+ `CreateEngine` method is `TRAINING`. The default value for
1219
+ `UpdateEngine` method is to keep the state the same as before.
1220
+ Possible values are: `PAUSED`, `TRAINING`.
1221
+ """
1222
+ type: NotRequired[pulumi.Input[_builtins.str]]
1223
+ """
1224
+ The type of engine. e.g., `recommended-for-you`.
1225
+ This field together with MediaRecommendationEngineConfig.optimizationObjective describes
1226
+ engine metadata to use to control engine training and serving.
1227
+ Currently supported values: `recommended-for-you`, `others-you-may-like`,
1228
+ `more-like-this`, `most-popular-items`.
1229
+ """
1230
+ elif False:
1231
+ RecommendationEngineMediaRecommendationEngineConfigArgsDict: TypeAlias = Mapping[str, Any]
1232
+
1233
+ @pulumi.input_type
1234
+ class RecommendationEngineMediaRecommendationEngineConfigArgs:
1235
+ def __init__(__self__, *,
1236
+ engine_features_config: Optional[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigArgs']] = None,
1237
+ optimization_objective: Optional[pulumi.Input[_builtins.str]] = None,
1238
+ optimization_objective_config: Optional[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigOptimizationObjectiveConfigArgs']] = None,
1239
+ training_state: Optional[pulumi.Input[_builtins.str]] = None,
1240
+ type: Optional[pulumi.Input[_builtins.str]] = None):
1241
+ """
1242
+ :param pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigArgs'] engine_features_config: More feature configs of the selected engine type.
1243
+ Structure is documented below.
1244
+ :param pulumi.Input[_builtins.str] optimization_objective: The optimization objective. e.g., `cvr`.
1245
+ This field together with MediaRecommendationEngineConfig.type describes
1246
+ engine metadata to use to control engine training and serving.
1247
+ Currently supported values: `ctr`, `cvr`.
1248
+ If not specified, we choose default based on engine type. Default depends on type of recommendation:
1249
+ `recommended-for-you` => `ctr`
1250
+ `others-you-may-like` => `ctr`
1251
+ :param pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigOptimizationObjectiveConfigArgs'] optimization_objective_config: Name and value of the custom threshold for cvr optimization_objective.
1252
+ For target_field `watch-time`, target_field_value must be an integer
1253
+ value indicating the media progress time in seconds between (0, 86400]
1254
+ (excludes 0, includes 86400) (e.g., 90).
1255
+ For target_field `watch-percentage`, the target_field_value must be a
1256
+ valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5).
1257
+ Structure is documented below.
1258
+ :param pulumi.Input[_builtins.str] training_state: The training state that the engine is in (e.g. `TRAINING` or `PAUSED`).
1259
+ Since part of the cost of running the service
1260
+ is frequency of training - this can be used to determine when to train
1261
+ engine in order to control cost. If not specified: the default value for
1262
+ `CreateEngine` method is `TRAINING`. The default value for
1263
+ `UpdateEngine` method is to keep the state the same as before.
1264
+ Possible values are: `PAUSED`, `TRAINING`.
1265
+ :param pulumi.Input[_builtins.str] type: The type of engine. e.g., `recommended-for-you`.
1266
+ This field together with MediaRecommendationEngineConfig.optimizationObjective describes
1267
+ engine metadata to use to control engine training and serving.
1268
+ Currently supported values: `recommended-for-you`, `others-you-may-like`,
1269
+ `more-like-this`, `most-popular-items`.
1270
+ """
1271
+ if engine_features_config is not None:
1272
+ pulumi.set(__self__, "engine_features_config", engine_features_config)
1273
+ if optimization_objective is not None:
1274
+ pulumi.set(__self__, "optimization_objective", optimization_objective)
1275
+ if optimization_objective_config is not None:
1276
+ pulumi.set(__self__, "optimization_objective_config", optimization_objective_config)
1277
+ if training_state is not None:
1278
+ pulumi.set(__self__, "training_state", training_state)
1279
+ if type is not None:
1280
+ pulumi.set(__self__, "type", type)
1281
+
1282
+ @_builtins.property
1283
+ @pulumi.getter(name="engineFeaturesConfig")
1284
+ def engine_features_config(self) -> Optional[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigArgs']]:
1285
+ """
1286
+ More feature configs of the selected engine type.
1287
+ Structure is documented below.
1288
+ """
1289
+ return pulumi.get(self, "engine_features_config")
1290
+
1291
+ @engine_features_config.setter
1292
+ def engine_features_config(self, value: Optional[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigArgs']]):
1293
+ pulumi.set(self, "engine_features_config", value)
1294
+
1295
+ @_builtins.property
1296
+ @pulumi.getter(name="optimizationObjective")
1297
+ def optimization_objective(self) -> Optional[pulumi.Input[_builtins.str]]:
1298
+ """
1299
+ The optimization objective. e.g., `cvr`.
1300
+ This field together with MediaRecommendationEngineConfig.type describes
1301
+ engine metadata to use to control engine training and serving.
1302
+ Currently supported values: `ctr`, `cvr`.
1303
+ If not specified, we choose default based on engine type. Default depends on type of recommendation:
1304
+ `recommended-for-you` => `ctr`
1305
+ `others-you-may-like` => `ctr`
1306
+ """
1307
+ return pulumi.get(self, "optimization_objective")
1308
+
1309
+ @optimization_objective.setter
1310
+ def optimization_objective(self, value: Optional[pulumi.Input[_builtins.str]]):
1311
+ pulumi.set(self, "optimization_objective", value)
1312
+
1313
+ @_builtins.property
1314
+ @pulumi.getter(name="optimizationObjectiveConfig")
1315
+ def optimization_objective_config(self) -> Optional[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigOptimizationObjectiveConfigArgs']]:
1316
+ """
1317
+ Name and value of the custom threshold for cvr optimization_objective.
1318
+ For target_field `watch-time`, target_field_value must be an integer
1319
+ value indicating the media progress time in seconds between (0, 86400]
1320
+ (excludes 0, includes 86400) (e.g., 90).
1321
+ For target_field `watch-percentage`, the target_field_value must be a
1322
+ valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5).
1323
+ Structure is documented below.
1324
+ """
1325
+ return pulumi.get(self, "optimization_objective_config")
1326
+
1327
+ @optimization_objective_config.setter
1328
+ def optimization_objective_config(self, value: Optional[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigOptimizationObjectiveConfigArgs']]):
1329
+ pulumi.set(self, "optimization_objective_config", value)
1330
+
1331
+ @_builtins.property
1332
+ @pulumi.getter(name="trainingState")
1333
+ def training_state(self) -> Optional[pulumi.Input[_builtins.str]]:
1334
+ """
1335
+ The training state that the engine is in (e.g. `TRAINING` or `PAUSED`).
1336
+ Since part of the cost of running the service
1337
+ is frequency of training - this can be used to determine when to train
1338
+ engine in order to control cost. If not specified: the default value for
1339
+ `CreateEngine` method is `TRAINING`. The default value for
1340
+ `UpdateEngine` method is to keep the state the same as before.
1341
+ Possible values are: `PAUSED`, `TRAINING`.
1342
+ """
1343
+ return pulumi.get(self, "training_state")
1344
+
1345
+ @training_state.setter
1346
+ def training_state(self, value: Optional[pulumi.Input[_builtins.str]]):
1347
+ pulumi.set(self, "training_state", value)
1348
+
1349
+ @_builtins.property
1350
+ @pulumi.getter
1351
+ def type(self) -> Optional[pulumi.Input[_builtins.str]]:
1352
+ """
1353
+ The type of engine. e.g., `recommended-for-you`.
1354
+ This field together with MediaRecommendationEngineConfig.optimizationObjective describes
1355
+ engine metadata to use to control engine training and serving.
1356
+ Currently supported values: `recommended-for-you`, `others-you-may-like`,
1357
+ `more-like-this`, `most-popular-items`.
1358
+ """
1359
+ return pulumi.get(self, "type")
1360
+
1361
+ @type.setter
1362
+ def type(self, value: Optional[pulumi.Input[_builtins.str]]):
1363
+ pulumi.set(self, "type", value)
1364
+
1365
+
1366
+ if not MYPY:
1367
+ class RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigArgsDict(TypedDict):
1368
+ most_popular_config: NotRequired[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigMostPopularConfigArgsDict']]
1369
+ """
1370
+ Feature configurations that are required for creating a Most Popular engine.
1371
+ Structure is documented below.
1372
+ """
1373
+ recommended_for_you_config: NotRequired[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfigArgsDict']]
1374
+ """
1375
+ Additional feature configurations for creating a `recommended-for-you` engine.
1376
+ Structure is documented below.
1377
+ """
1378
+ elif False:
1379
+ RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigArgsDict: TypeAlias = Mapping[str, Any]
1380
+
1381
+ @pulumi.input_type
1382
+ class RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigArgs:
1383
+ def __init__(__self__, *,
1384
+ most_popular_config: Optional[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigMostPopularConfigArgs']] = None,
1385
+ recommended_for_you_config: Optional[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfigArgs']] = None):
1386
+ """
1387
+ :param pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigMostPopularConfigArgs'] most_popular_config: Feature configurations that are required for creating a Most Popular engine.
1388
+ Structure is documented below.
1389
+ :param pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfigArgs'] recommended_for_you_config: Additional feature configurations for creating a `recommended-for-you` engine.
1390
+ Structure is documented below.
1391
+ """
1392
+ if most_popular_config is not None:
1393
+ pulumi.set(__self__, "most_popular_config", most_popular_config)
1394
+ if recommended_for_you_config is not None:
1395
+ pulumi.set(__self__, "recommended_for_you_config", recommended_for_you_config)
1396
+
1397
+ @_builtins.property
1398
+ @pulumi.getter(name="mostPopularConfig")
1399
+ def most_popular_config(self) -> Optional[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigMostPopularConfigArgs']]:
1400
+ """
1401
+ Feature configurations that are required for creating a Most Popular engine.
1402
+ Structure is documented below.
1403
+ """
1404
+ return pulumi.get(self, "most_popular_config")
1405
+
1406
+ @most_popular_config.setter
1407
+ def most_popular_config(self, value: Optional[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigMostPopularConfigArgs']]):
1408
+ pulumi.set(self, "most_popular_config", value)
1409
+
1410
+ @_builtins.property
1411
+ @pulumi.getter(name="recommendedForYouConfig")
1412
+ def recommended_for_you_config(self) -> Optional[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfigArgs']]:
1413
+ """
1414
+ Additional feature configurations for creating a `recommended-for-you` engine.
1415
+ Structure is documented below.
1416
+ """
1417
+ return pulumi.get(self, "recommended_for_you_config")
1418
+
1419
+ @recommended_for_you_config.setter
1420
+ def recommended_for_you_config(self, value: Optional[pulumi.Input['RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfigArgs']]):
1421
+ pulumi.set(self, "recommended_for_you_config", value)
1422
+
1423
+
1424
+ if not MYPY:
1425
+ class RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigMostPopularConfigArgsDict(TypedDict):
1426
+ time_window_days: NotRequired[pulumi.Input[_builtins.int]]
1427
+ """
1428
+ The time window of which the engine is queried at training and
1429
+ prediction time. Positive integers only. The value translates to the
1430
+ last X days of events. Currently required for the `most-popular-items`
1431
+ engine.
1432
+ """
1433
+ elif False:
1434
+ RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigMostPopularConfigArgsDict: TypeAlias = Mapping[str, Any]
1435
+
1436
+ @pulumi.input_type
1437
+ class RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigMostPopularConfigArgs:
1438
+ def __init__(__self__, *,
1439
+ time_window_days: Optional[pulumi.Input[_builtins.int]] = None):
1440
+ """
1441
+ :param pulumi.Input[_builtins.int] time_window_days: The time window of which the engine is queried at training and
1442
+ prediction time. Positive integers only. The value translates to the
1443
+ last X days of events. Currently required for the `most-popular-items`
1444
+ engine.
1445
+ """
1446
+ if time_window_days is not None:
1447
+ pulumi.set(__self__, "time_window_days", time_window_days)
1448
+
1449
+ @_builtins.property
1450
+ @pulumi.getter(name="timeWindowDays")
1451
+ def time_window_days(self) -> Optional[pulumi.Input[_builtins.int]]:
1452
+ """
1453
+ The time window of which the engine is queried at training and
1454
+ prediction time. Positive integers only. The value translates to the
1455
+ last X days of events. Currently required for the `most-popular-items`
1456
+ engine.
1457
+ """
1458
+ return pulumi.get(self, "time_window_days")
1459
+
1460
+ @time_window_days.setter
1461
+ def time_window_days(self, value: Optional[pulumi.Input[_builtins.int]]):
1462
+ pulumi.set(self, "time_window_days", value)
1463
+
1464
+
1465
+ if not MYPY:
1466
+ class RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfigArgsDict(TypedDict):
1467
+ context_event_type: NotRequired[pulumi.Input[_builtins.str]]
1468
+ """
1469
+ The type of event with which the engine is queried at prediction time.
1470
+ If set to `generic`, only `view-item`, `media-play`,and
1471
+ `media-complete` will be used as `context-event` in engine training. If
1472
+ set to `view-home-page`, `view-home-page` will also be used as
1473
+ `context-events` in addition to `view-item`, `media-play`, and
1474
+ `media-complete`. Currently supported for the `recommended-for-you`
1475
+ engine. Currently supported values: `view-home-page`, `generic`.
1476
+ """
1477
+ elif False:
1478
+ RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfigArgsDict: TypeAlias = Mapping[str, Any]
1479
+
1480
+ @pulumi.input_type
1481
+ class RecommendationEngineMediaRecommendationEngineConfigEngineFeaturesConfigRecommendedForYouConfigArgs:
1482
+ def __init__(__self__, *,
1483
+ context_event_type: Optional[pulumi.Input[_builtins.str]] = None):
1484
+ """
1485
+ :param pulumi.Input[_builtins.str] context_event_type: The type of event with which the engine is queried at prediction time.
1486
+ If set to `generic`, only `view-item`, `media-play`,and
1487
+ `media-complete` will be used as `context-event` in engine training. If
1488
+ set to `view-home-page`, `view-home-page` will also be used as
1489
+ `context-events` in addition to `view-item`, `media-play`, and
1490
+ `media-complete`. Currently supported for the `recommended-for-you`
1491
+ engine. Currently supported values: `view-home-page`, `generic`.
1492
+ """
1493
+ if context_event_type is not None:
1494
+ pulumi.set(__self__, "context_event_type", context_event_type)
1495
+
1496
+ @_builtins.property
1497
+ @pulumi.getter(name="contextEventType")
1498
+ def context_event_type(self) -> Optional[pulumi.Input[_builtins.str]]:
1499
+ """
1500
+ The type of event with which the engine is queried at prediction time.
1501
+ If set to `generic`, only `view-item`, `media-play`,and
1502
+ `media-complete` will be used as `context-event` in engine training. If
1503
+ set to `view-home-page`, `view-home-page` will also be used as
1504
+ `context-events` in addition to `view-item`, `media-play`, and
1505
+ `media-complete`. Currently supported for the `recommended-for-you`
1506
+ engine. Currently supported values: `view-home-page`, `generic`.
1507
+ """
1508
+ return pulumi.get(self, "context_event_type")
1509
+
1510
+ @context_event_type.setter
1511
+ def context_event_type(self, value: Optional[pulumi.Input[_builtins.str]]):
1512
+ pulumi.set(self, "context_event_type", value)
1513
+
1514
+
1515
+ if not MYPY:
1516
+ class RecommendationEngineMediaRecommendationEngineConfigOptimizationObjectiveConfigArgsDict(TypedDict):
1517
+ target_field: NotRequired[pulumi.Input[_builtins.str]]
1518
+ """
1519
+ The name of the field to target. Currently supported values: `watch-percentage`, `watch-time`.
1520
+ """
1521
+ target_field_value_float: NotRequired[pulumi.Input[_builtins.float]]
1522
+ """
1523
+ The threshold to be applied to the target (e.g., 0.5).
1524
+ """
1525
+ elif False:
1526
+ RecommendationEngineMediaRecommendationEngineConfigOptimizationObjectiveConfigArgsDict: TypeAlias = Mapping[str, Any]
1527
+
1528
+ @pulumi.input_type
1529
+ class RecommendationEngineMediaRecommendationEngineConfigOptimizationObjectiveConfigArgs:
1530
+ def __init__(__self__, *,
1531
+ target_field: Optional[pulumi.Input[_builtins.str]] = None,
1532
+ target_field_value_float: Optional[pulumi.Input[_builtins.float]] = None):
1533
+ """
1534
+ :param pulumi.Input[_builtins.str] target_field: The name of the field to target. Currently supported values: `watch-percentage`, `watch-time`.
1535
+ :param pulumi.Input[_builtins.float] target_field_value_float: The threshold to be applied to the target (e.g., 0.5).
1536
+ """
1537
+ if target_field is not None:
1538
+ pulumi.set(__self__, "target_field", target_field)
1539
+ if target_field_value_float is not None:
1540
+ pulumi.set(__self__, "target_field_value_float", target_field_value_float)
1541
+
1542
+ @_builtins.property
1543
+ @pulumi.getter(name="targetField")
1544
+ def target_field(self) -> Optional[pulumi.Input[_builtins.str]]:
1545
+ """
1546
+ The name of the field to target. Currently supported values: `watch-percentage`, `watch-time`.
1547
+ """
1548
+ return pulumi.get(self, "target_field")
1549
+
1550
+ @target_field.setter
1551
+ def target_field(self, value: Optional[pulumi.Input[_builtins.str]]):
1552
+ pulumi.set(self, "target_field", value)
1553
+
1554
+ @_builtins.property
1555
+ @pulumi.getter(name="targetFieldValueFloat")
1556
+ def target_field_value_float(self) -> Optional[pulumi.Input[_builtins.float]]:
1557
+ """
1558
+ The threshold to be applied to the target (e.g., 0.5).
1559
+ """
1560
+ return pulumi.get(self, "target_field_value_float")
1561
+
1562
+ @target_field_value_float.setter
1563
+ def target_field_value_float(self, value: Optional[pulumi.Input[_builtins.float]]):
1564
+ pulumi.set(self, "target_field_value_float", value)
1565
+
1566
+
1102
1567
  if not MYPY:
1103
1568
  class SearchEngineCommonConfigArgsDict(TypedDict):
1104
1569
  company_name: NotRequired[pulumi.Input[_builtins.str]]