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
@@ -83,6 +83,10 @@ __all__ = [
83
83
  'CxGenerativeSettingsGenerativeSafetySettingsBannedPhrase',
84
84
  'CxGenerativeSettingsKnowledgeConnectorSettings',
85
85
  'CxGenerativeSettingsLlmModelSettings',
86
+ 'CxGeneratorLlmModelSettings',
87
+ 'CxGeneratorModelParameter',
88
+ 'CxGeneratorPlaceholder',
89
+ 'CxGeneratorPromptText',
86
90
  'CxIntentParameter',
87
91
  'CxIntentTrainingPhrase',
88
92
  'CxIntentTrainingPhrasePart',
@@ -207,8 +211,12 @@ __all__ = [
207
211
  'CxToolOpenApiSpecTlsConfigCaCert',
208
212
  'CxVersionNluSetting',
209
213
  'CxWebhookGenericWebService',
214
+ 'CxWebhookGenericWebServiceOauthConfig',
215
+ 'CxWebhookGenericWebServiceSecretVersionsForRequestHeader',
210
216
  'CxWebhookServiceDirectory',
211
217
  'CxWebhookServiceDirectoryGenericWebService',
218
+ 'CxWebhookServiceDirectoryGenericWebServiceOauthConfig',
219
+ 'CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeader',
212
220
  'EncryptionSpecEncryptionSpec',
213
221
  'EntityTypeEntity',
214
222
  'FulfillmentFeature',
@@ -4273,6 +4281,188 @@ class CxGenerativeSettingsLlmModelSettings(dict):
4273
4281
  return pulumi.get(self, "prompt_text")
4274
4282
 
4275
4283
 
4284
+ @pulumi.output_type
4285
+ class CxGeneratorLlmModelSettings(dict):
4286
+ @staticmethod
4287
+ def __key_warning(key: str):
4288
+ suggest = None
4289
+ if key == "promptText":
4290
+ suggest = "prompt_text"
4291
+
4292
+ if suggest:
4293
+ pulumi.log.warn(f"Key '{key}' not found in CxGeneratorLlmModelSettings. Access the value via the '{suggest}' property getter instead.")
4294
+
4295
+ def __getitem__(self, key: str) -> Any:
4296
+ CxGeneratorLlmModelSettings.__key_warning(key)
4297
+ return super().__getitem__(key)
4298
+
4299
+ def get(self, key: str, default = None) -> Any:
4300
+ CxGeneratorLlmModelSettings.__key_warning(key)
4301
+ return super().get(key, default)
4302
+
4303
+ def __init__(__self__, *,
4304
+ model: Optional[_builtins.str] = None,
4305
+ prompt_text: Optional[_builtins.str] = None):
4306
+ """
4307
+ :param _builtins.str model: The selected LLM model.
4308
+ :param _builtins.str prompt_text: The custom prompt to use.
4309
+ """
4310
+ if model is not None:
4311
+ pulumi.set(__self__, "model", model)
4312
+ if prompt_text is not None:
4313
+ pulumi.set(__self__, "prompt_text", prompt_text)
4314
+
4315
+ @_builtins.property
4316
+ @pulumi.getter
4317
+ def model(self) -> Optional[_builtins.str]:
4318
+ """
4319
+ The selected LLM model.
4320
+ """
4321
+ return pulumi.get(self, "model")
4322
+
4323
+ @_builtins.property
4324
+ @pulumi.getter(name="promptText")
4325
+ def prompt_text(self) -> Optional[_builtins.str]:
4326
+ """
4327
+ The custom prompt to use.
4328
+ """
4329
+ return pulumi.get(self, "prompt_text")
4330
+
4331
+
4332
+ @pulumi.output_type
4333
+ class CxGeneratorModelParameter(dict):
4334
+ @staticmethod
4335
+ def __key_warning(key: str):
4336
+ suggest = None
4337
+ if key == "maxDecodeSteps":
4338
+ suggest = "max_decode_steps"
4339
+ elif key == "topK":
4340
+ suggest = "top_k"
4341
+ elif key == "topP":
4342
+ suggest = "top_p"
4343
+
4344
+ if suggest:
4345
+ pulumi.log.warn(f"Key '{key}' not found in CxGeneratorModelParameter. Access the value via the '{suggest}' property getter instead.")
4346
+
4347
+ def __getitem__(self, key: str) -> Any:
4348
+ CxGeneratorModelParameter.__key_warning(key)
4349
+ return super().__getitem__(key)
4350
+
4351
+ def get(self, key: str, default = None) -> Any:
4352
+ CxGeneratorModelParameter.__key_warning(key)
4353
+ return super().get(key, default)
4354
+
4355
+ def __init__(__self__, *,
4356
+ max_decode_steps: Optional[_builtins.int] = None,
4357
+ temperature: Optional[_builtins.float] = None,
4358
+ top_k: Optional[_builtins.int] = None,
4359
+ top_p: Optional[_builtins.float] = None):
4360
+ """
4361
+ :param _builtins.int max_decode_steps: The maximum number of tokens to generate.
4362
+ :param _builtins.float temperature: The temperature used for sampling. Temperature sampling occurs after both topP and topK have been applied.
4363
+ Valid range: [0.0, 1.0] Low temperature = less random. High temperature = more random.
4364
+ :param _builtins.int top_k: If set, the sampling process in each step is limited to the topK tokens with highest probabilities.
4365
+ Valid range: [1, 40] or 1000+. Small topK = less random. Large topK = more random.
4366
+ :param _builtins.float top_p: If set, only the tokens comprising the top topP probability mass are considered.
4367
+ If both topP and topK are set, topP will be used for further refining candidates selected with topK.
4368
+ Valid range: (0.0, 1.0]. Small topP = less random. Large topP = more random.
4369
+ """
4370
+ if max_decode_steps is not None:
4371
+ pulumi.set(__self__, "max_decode_steps", max_decode_steps)
4372
+ if temperature is not None:
4373
+ pulumi.set(__self__, "temperature", temperature)
4374
+ if top_k is not None:
4375
+ pulumi.set(__self__, "top_k", top_k)
4376
+ if top_p is not None:
4377
+ pulumi.set(__self__, "top_p", top_p)
4378
+
4379
+ @_builtins.property
4380
+ @pulumi.getter(name="maxDecodeSteps")
4381
+ def max_decode_steps(self) -> Optional[_builtins.int]:
4382
+ """
4383
+ The maximum number of tokens to generate.
4384
+ """
4385
+ return pulumi.get(self, "max_decode_steps")
4386
+
4387
+ @_builtins.property
4388
+ @pulumi.getter
4389
+ def temperature(self) -> Optional[_builtins.float]:
4390
+ """
4391
+ The temperature used for sampling. Temperature sampling occurs after both topP and topK have been applied.
4392
+ Valid range: [0.0, 1.0] Low temperature = less random. High temperature = more random.
4393
+ """
4394
+ return pulumi.get(self, "temperature")
4395
+
4396
+ @_builtins.property
4397
+ @pulumi.getter(name="topK")
4398
+ def top_k(self) -> Optional[_builtins.int]:
4399
+ """
4400
+ If set, the sampling process in each step is limited to the topK tokens with highest probabilities.
4401
+ Valid range: [1, 40] or 1000+. Small topK = less random. Large topK = more random.
4402
+ """
4403
+ return pulumi.get(self, "top_k")
4404
+
4405
+ @_builtins.property
4406
+ @pulumi.getter(name="topP")
4407
+ def top_p(self) -> Optional[_builtins.float]:
4408
+ """
4409
+ If set, only the tokens comprising the top topP probability mass are considered.
4410
+ If both topP and topK are set, topP will be used for further refining candidates selected with topK.
4411
+ Valid range: (0.0, 1.0]. Small topP = less random. Large topP = more random.
4412
+ """
4413
+ return pulumi.get(self, "top_p")
4414
+
4415
+
4416
+ @pulumi.output_type
4417
+ class CxGeneratorPlaceholder(dict):
4418
+ def __init__(__self__, *,
4419
+ id: Optional[_builtins.str] = None,
4420
+ name: Optional[_builtins.str] = None):
4421
+ """
4422
+ :param _builtins.str id: Unique ID used to map custom placeholder to parameters in fulfillment.
4423
+ :param _builtins.str name: Custom placeholder value in the prompt text.
4424
+ """
4425
+ if id is not None:
4426
+ pulumi.set(__self__, "id", id)
4427
+ if name is not None:
4428
+ pulumi.set(__self__, "name", name)
4429
+
4430
+ @_builtins.property
4431
+ @pulumi.getter
4432
+ def id(self) -> Optional[_builtins.str]:
4433
+ """
4434
+ Unique ID used to map custom placeholder to parameters in fulfillment.
4435
+ """
4436
+ return pulumi.get(self, "id")
4437
+
4438
+ @_builtins.property
4439
+ @pulumi.getter
4440
+ def name(self) -> Optional[_builtins.str]:
4441
+ """
4442
+ Custom placeholder value in the prompt text.
4443
+ """
4444
+ return pulumi.get(self, "name")
4445
+
4446
+
4447
+ @pulumi.output_type
4448
+ class CxGeneratorPromptText(dict):
4449
+ def __init__(__self__, *,
4450
+ text: Optional[_builtins.str] = None):
4451
+ """
4452
+ :param _builtins.str text: Text input which can be used for prompt or banned phrases.
4453
+ """
4454
+ if text is not None:
4455
+ pulumi.set(__self__, "text", text)
4456
+
4457
+ @_builtins.property
4458
+ @pulumi.getter
4459
+ def text(self) -> Optional[_builtins.str]:
4460
+ """
4461
+ Text input which can be used for prompt or banned phrases.
4462
+ """
4463
+ return pulumi.get(self, "text")
4464
+
4465
+
4276
4466
  @pulumi.output_type
4277
4467
  class CxIntentParameter(dict):
4278
4468
  @staticmethod
@@ -11630,8 +11820,24 @@ class CxWebhookGenericWebService(dict):
11630
11820
  suggest = None
11631
11821
  if key == "allowedCaCerts":
11632
11822
  suggest = "allowed_ca_certs"
11823
+ elif key == "httpMethod":
11824
+ suggest = "http_method"
11825
+ elif key == "oauthConfig":
11826
+ suggest = "oauth_config"
11827
+ elif key == "parameterMapping":
11828
+ suggest = "parameter_mapping"
11829
+ elif key == "requestBody":
11830
+ suggest = "request_body"
11633
11831
  elif key == "requestHeaders":
11634
11832
  suggest = "request_headers"
11833
+ elif key == "secretVersionForUsernamePassword":
11834
+ suggest = "secret_version_for_username_password"
11835
+ elif key == "secretVersionsForRequestHeaders":
11836
+ suggest = "secret_versions_for_request_headers"
11837
+ elif key == "serviceAgentAuth":
11838
+ suggest = "service_agent_auth"
11839
+ elif key == "webhookType":
11840
+ suggest = "webhook_type"
11635
11841
 
11636
11842
  if suggest:
11637
11843
  pulumi.log.warn(f"Key '{key}' not found in CxWebhookGenericWebService. Access the value via the '{suggest}' property getter instead.")
@@ -11647,23 +11853,83 @@ class CxWebhookGenericWebService(dict):
11647
11853
  def __init__(__self__, *,
11648
11854
  uri: _builtins.str,
11649
11855
  allowed_ca_certs: Optional[Sequence[_builtins.str]] = None,
11650
- request_headers: Optional[Mapping[str, _builtins.str]] = None):
11651
- """
11652
- :param _builtins.str uri: Whether to use speech adaptation for speech recognition.
11653
- :param Sequence[_builtins.str] allowed_ca_certs: Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification.
11856
+ http_method: Optional[_builtins.str] = None,
11857
+ oauth_config: Optional['outputs.CxWebhookGenericWebServiceOauthConfig'] = None,
11858
+ parameter_mapping: Optional[Mapping[str, _builtins.str]] = None,
11859
+ request_body: Optional[_builtins.str] = None,
11860
+ request_headers: Optional[Mapping[str, _builtins.str]] = None,
11861
+ secret_version_for_username_password: Optional[_builtins.str] = None,
11862
+ secret_versions_for_request_headers: Optional[Sequence['outputs.CxWebhookGenericWebServiceSecretVersionsForRequestHeader']] = None,
11863
+ service_agent_auth: Optional[_builtins.str] = None,
11864
+ webhook_type: Optional[_builtins.str] = None):
11865
+ """
11866
+ :param _builtins.str uri: The webhook URI for receiving POST requests. It must use https protocol.
11867
+ :param Sequence[_builtins.str] allowed_ca_certs: Specifies a list of allowed custom CA certificates (in DER format) for
11868
+ HTTPS verification. This overrides the default SSL trust store. If this
11869
+ is empty or unspecified, Dialogflow will use Google's default trust store
11870
+ to verify certificates.
11871
+ N.B. Make sure the HTTPS server certificates are signed with "subject alt
11872
+ name". For instance a certificate can be self-signed using the following
11873
+ command,
11874
+ openssl x509 -req -days 200 -in example.com.csr \\
11875
+ -signkey example.com.key \\
11876
+ -out example.com.crt \\
11877
+ -extfile <(printf "\\nsubjectAltName='DNS:www.example.com'")
11878
+ :param _builtins.str http_method: HTTP method for the flexible webhook calls. Standard webhook always uses
11879
+ POST.
11880
+ Possible values are: `POST`, `GET`, `HEAD`, `PUT`, `DELETE`, `PATCH`, `OPTIONS`.
11881
+ :param 'CxWebhookGenericWebServiceOauthConfigArgs' oauth_config: Represents configuration of OAuth client credential flow for 3rd party
11882
+ API authentication.
11883
+ Structure is documented below.
11884
+ :param Mapping[str, _builtins.str] parameter_mapping: Maps the values extracted from specific fields of the flexible webhook
11885
+ response into session parameters.
11886
+ - Key: session parameter name
11887
+ - Value: field path in the webhook response
11888
+ :param _builtins.str request_body: Defines a custom JSON object as request body to send to flexible webhook.
11654
11889
  :param Mapping[str, _builtins.str] request_headers: The HTTP request headers to send together with webhook requests.
11890
+ :param _builtins.str secret_version_for_username_password: The SecretManager secret version resource storing the username:password
11891
+ pair for HTTP Basic authentication.
11892
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
11893
+ :param Sequence['CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgs'] secret_versions_for_request_headers: The HTTP request headers to send together with webhook requests. Header
11894
+ values are stored in SecretManager secret versions.
11895
+ When the same header name is specified in both `request_headers` and
11896
+ `secret_versions_for_request_headers`, the value in
11897
+ `secret_versions_for_request_headers` will be used.
11898
+ Structure is documented below.
11899
+ :param _builtins.str service_agent_auth: Indicate the auth token type generated from the [Diglogflow service
11900
+ agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
11901
+ The generated token is sent in the Authorization header.
11902
+ Possible values are: `NONE`, `ID_TOKEN`, `ACCESS_TOKEN`.
11903
+ :param _builtins.str webhook_type: Type of the webhook.
11904
+ Possible values are: `STANDARD`, `FLEXIBLE`.
11655
11905
  """
11656
11906
  pulumi.set(__self__, "uri", uri)
11657
11907
  if allowed_ca_certs is not None:
11658
11908
  pulumi.set(__self__, "allowed_ca_certs", allowed_ca_certs)
11909
+ if http_method is not None:
11910
+ pulumi.set(__self__, "http_method", http_method)
11911
+ if oauth_config is not None:
11912
+ pulumi.set(__self__, "oauth_config", oauth_config)
11913
+ if parameter_mapping is not None:
11914
+ pulumi.set(__self__, "parameter_mapping", parameter_mapping)
11915
+ if request_body is not None:
11916
+ pulumi.set(__self__, "request_body", request_body)
11659
11917
  if request_headers is not None:
11660
11918
  pulumi.set(__self__, "request_headers", request_headers)
11919
+ if secret_version_for_username_password is not None:
11920
+ pulumi.set(__self__, "secret_version_for_username_password", secret_version_for_username_password)
11921
+ if secret_versions_for_request_headers is not None:
11922
+ pulumi.set(__self__, "secret_versions_for_request_headers", secret_versions_for_request_headers)
11923
+ if service_agent_auth is not None:
11924
+ pulumi.set(__self__, "service_agent_auth", service_agent_auth)
11925
+ if webhook_type is not None:
11926
+ pulumi.set(__self__, "webhook_type", webhook_type)
11661
11927
 
11662
11928
  @_builtins.property
11663
11929
  @pulumi.getter
11664
11930
  def uri(self) -> _builtins.str:
11665
11931
  """
11666
- Whether to use speech adaptation for speech recognition.
11932
+ The webhook URI for receiving POST requests. It must use https protocol.
11667
11933
  """
11668
11934
  return pulumi.get(self, "uri")
11669
11935
 
@@ -11671,10 +11937,59 @@ class CxWebhookGenericWebService(dict):
11671
11937
  @pulumi.getter(name="allowedCaCerts")
11672
11938
  def allowed_ca_certs(self) -> Optional[Sequence[_builtins.str]]:
11673
11939
  """
11674
- Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification.
11940
+ Specifies a list of allowed custom CA certificates (in DER format) for
11941
+ HTTPS verification. This overrides the default SSL trust store. If this
11942
+ is empty or unspecified, Dialogflow will use Google's default trust store
11943
+ to verify certificates.
11944
+ N.B. Make sure the HTTPS server certificates are signed with "subject alt
11945
+ name". For instance a certificate can be self-signed using the following
11946
+ command,
11947
+ openssl x509 -req -days 200 -in example.com.csr \\
11948
+ -signkey example.com.key \\
11949
+ -out example.com.crt \\
11950
+ -extfile <(printf "\\nsubjectAltName='DNS:www.example.com'")
11675
11951
  """
11676
11952
  return pulumi.get(self, "allowed_ca_certs")
11677
11953
 
11954
+ @_builtins.property
11955
+ @pulumi.getter(name="httpMethod")
11956
+ def http_method(self) -> Optional[_builtins.str]:
11957
+ """
11958
+ HTTP method for the flexible webhook calls. Standard webhook always uses
11959
+ POST.
11960
+ Possible values are: `POST`, `GET`, `HEAD`, `PUT`, `DELETE`, `PATCH`, `OPTIONS`.
11961
+ """
11962
+ return pulumi.get(self, "http_method")
11963
+
11964
+ @_builtins.property
11965
+ @pulumi.getter(name="oauthConfig")
11966
+ def oauth_config(self) -> Optional['outputs.CxWebhookGenericWebServiceOauthConfig']:
11967
+ """
11968
+ Represents configuration of OAuth client credential flow for 3rd party
11969
+ API authentication.
11970
+ Structure is documented below.
11971
+ """
11972
+ return pulumi.get(self, "oauth_config")
11973
+
11974
+ @_builtins.property
11975
+ @pulumi.getter(name="parameterMapping")
11976
+ def parameter_mapping(self) -> Optional[Mapping[str, _builtins.str]]:
11977
+ """
11978
+ Maps the values extracted from specific fields of the flexible webhook
11979
+ response into session parameters.
11980
+ - Key: session parameter name
11981
+ - Value: field path in the webhook response
11982
+ """
11983
+ return pulumi.get(self, "parameter_mapping")
11984
+
11985
+ @_builtins.property
11986
+ @pulumi.getter(name="requestBody")
11987
+ def request_body(self) -> Optional[_builtins.str]:
11988
+ """
11989
+ Defines a custom JSON object as request body to send to flexible webhook.
11990
+ """
11991
+ return pulumi.get(self, "request_body")
11992
+
11678
11993
  @_builtins.property
11679
11994
  @pulumi.getter(name="requestHeaders")
11680
11995
  def request_headers(self) -> Optional[Mapping[str, _builtins.str]]:
@@ -11683,6 +11998,197 @@ class CxWebhookGenericWebService(dict):
11683
11998
  """
11684
11999
  return pulumi.get(self, "request_headers")
11685
12000
 
12001
+ @_builtins.property
12002
+ @pulumi.getter(name="secretVersionForUsernamePassword")
12003
+ def secret_version_for_username_password(self) -> Optional[_builtins.str]:
12004
+ """
12005
+ The SecretManager secret version resource storing the username:password
12006
+ pair for HTTP Basic authentication.
12007
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
12008
+ """
12009
+ return pulumi.get(self, "secret_version_for_username_password")
12010
+
12011
+ @_builtins.property
12012
+ @pulumi.getter(name="secretVersionsForRequestHeaders")
12013
+ def secret_versions_for_request_headers(self) -> Optional[Sequence['outputs.CxWebhookGenericWebServiceSecretVersionsForRequestHeader']]:
12014
+ """
12015
+ The HTTP request headers to send together with webhook requests. Header
12016
+ values are stored in SecretManager secret versions.
12017
+ When the same header name is specified in both `request_headers` and
12018
+ `secret_versions_for_request_headers`, the value in
12019
+ `secret_versions_for_request_headers` will be used.
12020
+ Structure is documented below.
12021
+ """
12022
+ return pulumi.get(self, "secret_versions_for_request_headers")
12023
+
12024
+ @_builtins.property
12025
+ @pulumi.getter(name="serviceAgentAuth")
12026
+ def service_agent_auth(self) -> Optional[_builtins.str]:
12027
+ """
12028
+ Indicate the auth token type generated from the [Diglogflow service
12029
+ agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
12030
+ The generated token is sent in the Authorization header.
12031
+ Possible values are: `NONE`, `ID_TOKEN`, `ACCESS_TOKEN`.
12032
+ """
12033
+ return pulumi.get(self, "service_agent_auth")
12034
+
12035
+ @_builtins.property
12036
+ @pulumi.getter(name="webhookType")
12037
+ def webhook_type(self) -> Optional[_builtins.str]:
12038
+ """
12039
+ Type of the webhook.
12040
+ Possible values are: `STANDARD`, `FLEXIBLE`.
12041
+ """
12042
+ return pulumi.get(self, "webhook_type")
12043
+
12044
+
12045
+ @pulumi.output_type
12046
+ class CxWebhookGenericWebServiceOauthConfig(dict):
12047
+ @staticmethod
12048
+ def __key_warning(key: str):
12049
+ suggest = None
12050
+ if key == "clientId":
12051
+ suggest = "client_id"
12052
+ elif key == "tokenEndpoint":
12053
+ suggest = "token_endpoint"
12054
+ elif key == "clientSecret":
12055
+ suggest = "client_secret"
12056
+ elif key == "secretVersionForClientSecret":
12057
+ suggest = "secret_version_for_client_secret"
12058
+
12059
+ if suggest:
12060
+ pulumi.log.warn(f"Key '{key}' not found in CxWebhookGenericWebServiceOauthConfig. Access the value via the '{suggest}' property getter instead.")
12061
+
12062
+ def __getitem__(self, key: str) -> Any:
12063
+ CxWebhookGenericWebServiceOauthConfig.__key_warning(key)
12064
+ return super().__getitem__(key)
12065
+
12066
+ def get(self, key: str, default = None) -> Any:
12067
+ CxWebhookGenericWebServiceOauthConfig.__key_warning(key)
12068
+ return super().get(key, default)
12069
+
12070
+ def __init__(__self__, *,
12071
+ client_id: _builtins.str,
12072
+ token_endpoint: _builtins.str,
12073
+ client_secret: Optional[_builtins.str] = None,
12074
+ scopes: Optional[Sequence[_builtins.str]] = None,
12075
+ secret_version_for_client_secret: Optional[_builtins.str] = None):
12076
+ """
12077
+ :param _builtins.str client_id: The client ID provided by the 3rd party platform.
12078
+ :param _builtins.str token_endpoint: The token endpoint provided by the 3rd party platform to exchange an
12079
+ access token.
12080
+ :param _builtins.str client_secret: The client secret provided by the 3rd party platform. If the
12081
+ `secret_version_for_client_secret` field is set, this field will be
12082
+ ignored.
12083
+ :param Sequence[_builtins.str] scopes: The OAuth scopes to grant.
12084
+ :param _builtins.str secret_version_for_client_secret: The name of the SecretManager secret version resource storing the
12085
+ client secret. If this field is set, the `client_secret` field will be
12086
+ ignored.
12087
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
12088
+ """
12089
+ pulumi.set(__self__, "client_id", client_id)
12090
+ pulumi.set(__self__, "token_endpoint", token_endpoint)
12091
+ if client_secret is not None:
12092
+ pulumi.set(__self__, "client_secret", client_secret)
12093
+ if scopes is not None:
12094
+ pulumi.set(__self__, "scopes", scopes)
12095
+ if secret_version_for_client_secret is not None:
12096
+ pulumi.set(__self__, "secret_version_for_client_secret", secret_version_for_client_secret)
12097
+
12098
+ @_builtins.property
12099
+ @pulumi.getter(name="clientId")
12100
+ def client_id(self) -> _builtins.str:
12101
+ """
12102
+ The client ID provided by the 3rd party platform.
12103
+ """
12104
+ return pulumi.get(self, "client_id")
12105
+
12106
+ @_builtins.property
12107
+ @pulumi.getter(name="tokenEndpoint")
12108
+ def token_endpoint(self) -> _builtins.str:
12109
+ """
12110
+ The token endpoint provided by the 3rd party platform to exchange an
12111
+ access token.
12112
+ """
12113
+ return pulumi.get(self, "token_endpoint")
12114
+
12115
+ @_builtins.property
12116
+ @pulumi.getter(name="clientSecret")
12117
+ def client_secret(self) -> Optional[_builtins.str]:
12118
+ """
12119
+ The client secret provided by the 3rd party platform. If the
12120
+ `secret_version_for_client_secret` field is set, this field will be
12121
+ ignored.
12122
+ """
12123
+ return pulumi.get(self, "client_secret")
12124
+
12125
+ @_builtins.property
12126
+ @pulumi.getter
12127
+ def scopes(self) -> Optional[Sequence[_builtins.str]]:
12128
+ """
12129
+ The OAuth scopes to grant.
12130
+ """
12131
+ return pulumi.get(self, "scopes")
12132
+
12133
+ @_builtins.property
12134
+ @pulumi.getter(name="secretVersionForClientSecret")
12135
+ def secret_version_for_client_secret(self) -> Optional[_builtins.str]:
12136
+ """
12137
+ The name of the SecretManager secret version resource storing the
12138
+ client secret. If this field is set, the `client_secret` field will be
12139
+ ignored.
12140
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
12141
+ """
12142
+ return pulumi.get(self, "secret_version_for_client_secret")
12143
+
12144
+
12145
+ @pulumi.output_type
12146
+ class CxWebhookGenericWebServiceSecretVersionsForRequestHeader(dict):
12147
+ @staticmethod
12148
+ def __key_warning(key: str):
12149
+ suggest = None
12150
+ if key == "secretVersion":
12151
+ suggest = "secret_version"
12152
+
12153
+ if suggest:
12154
+ pulumi.log.warn(f"Key '{key}' not found in CxWebhookGenericWebServiceSecretVersionsForRequestHeader. Access the value via the '{suggest}' property getter instead.")
12155
+
12156
+ def __getitem__(self, key: str) -> Any:
12157
+ CxWebhookGenericWebServiceSecretVersionsForRequestHeader.__key_warning(key)
12158
+ return super().__getitem__(key)
12159
+
12160
+ def get(self, key: str, default = None) -> Any:
12161
+ CxWebhookGenericWebServiceSecretVersionsForRequestHeader.__key_warning(key)
12162
+ return super().get(key, default)
12163
+
12164
+ def __init__(__self__, *,
12165
+ key: _builtins.str,
12166
+ secret_version: _builtins.str):
12167
+ """
12168
+ :param _builtins.str key: The identifier for this object. Format specified above.
12169
+ :param _builtins.str secret_version: The SecretManager secret version resource storing the header value.
12170
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
12171
+ """
12172
+ pulumi.set(__self__, "key", key)
12173
+ pulumi.set(__self__, "secret_version", secret_version)
12174
+
12175
+ @_builtins.property
12176
+ @pulumi.getter
12177
+ def key(self) -> _builtins.str:
12178
+ """
12179
+ The identifier for this object. Format specified above.
12180
+ """
12181
+ return pulumi.get(self, "key")
12182
+
12183
+ @_builtins.property
12184
+ @pulumi.getter(name="secretVersion")
12185
+ def secret_version(self) -> _builtins.str:
12186
+ """
12187
+ The SecretManager secret version resource storing the header value.
12188
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
12189
+ """
12190
+ return pulumi.get(self, "secret_version")
12191
+
11686
12192
 
11687
12193
  @pulumi.output_type
11688
12194
  class CxWebhookServiceDirectory(dict):
@@ -11704,32 +12210,33 @@ class CxWebhookServiceDirectory(dict):
11704
12210
  return super().get(key, default)
11705
12211
 
11706
12212
  def __init__(__self__, *,
11707
- generic_web_service: 'outputs.CxWebhookServiceDirectoryGenericWebService',
11708
- service: _builtins.str):
12213
+ service: _builtins.str,
12214
+ generic_web_service: Optional['outputs.CxWebhookServiceDirectoryGenericWebService'] = None):
11709
12215
  """
11710
- :param 'CxWebhookServiceDirectoryGenericWebServiceArgs' generic_web_service: The name of Service Directory service.
11711
- Structure is documented below.
11712
12216
  :param _builtins.str service: The name of Service Directory service.
12217
+ :param 'CxWebhookServiceDirectoryGenericWebServiceArgs' generic_web_service: Represents configuration for a generic web service.
12218
+ Structure is documented below.
11713
12219
  """
11714
- pulumi.set(__self__, "generic_web_service", generic_web_service)
11715
12220
  pulumi.set(__self__, "service", service)
12221
+ if generic_web_service is not None:
12222
+ pulumi.set(__self__, "generic_web_service", generic_web_service)
11716
12223
 
11717
12224
  @_builtins.property
11718
- @pulumi.getter(name="genericWebService")
11719
- def generic_web_service(self) -> 'outputs.CxWebhookServiceDirectoryGenericWebService':
12225
+ @pulumi.getter
12226
+ def service(self) -> _builtins.str:
11720
12227
  """
11721
12228
  The name of Service Directory service.
11722
- Structure is documented below.
11723
12229
  """
11724
- return pulumi.get(self, "generic_web_service")
12230
+ return pulumi.get(self, "service")
11725
12231
 
11726
12232
  @_builtins.property
11727
- @pulumi.getter
11728
- def service(self) -> _builtins.str:
12233
+ @pulumi.getter(name="genericWebService")
12234
+ def generic_web_service(self) -> Optional['outputs.CxWebhookServiceDirectoryGenericWebService']:
11729
12235
  """
11730
- The name of Service Directory service.
12236
+ Represents configuration for a generic web service.
12237
+ Structure is documented below.
11731
12238
  """
11732
- return pulumi.get(self, "service")
12239
+ return pulumi.get(self, "generic_web_service")
11733
12240
 
11734
12241
 
11735
12242
  @pulumi.output_type
@@ -11739,8 +12246,24 @@ class CxWebhookServiceDirectoryGenericWebService(dict):
11739
12246
  suggest = None
11740
12247
  if key == "allowedCaCerts":
11741
12248
  suggest = "allowed_ca_certs"
12249
+ elif key == "httpMethod":
12250
+ suggest = "http_method"
12251
+ elif key == "oauthConfig":
12252
+ suggest = "oauth_config"
12253
+ elif key == "parameterMapping":
12254
+ suggest = "parameter_mapping"
12255
+ elif key == "requestBody":
12256
+ suggest = "request_body"
11742
12257
  elif key == "requestHeaders":
11743
12258
  suggest = "request_headers"
12259
+ elif key == "secretVersionForUsernamePassword":
12260
+ suggest = "secret_version_for_username_password"
12261
+ elif key == "secretVersionsForRequestHeaders":
12262
+ suggest = "secret_versions_for_request_headers"
12263
+ elif key == "serviceAgentAuth":
12264
+ suggest = "service_agent_auth"
12265
+ elif key == "webhookType":
12266
+ suggest = "webhook_type"
11744
12267
 
11745
12268
  if suggest:
11746
12269
  pulumi.log.warn(f"Key '{key}' not found in CxWebhookServiceDirectoryGenericWebService. Access the value via the '{suggest}' property getter instead.")
@@ -11756,23 +12279,83 @@ class CxWebhookServiceDirectoryGenericWebService(dict):
11756
12279
  def __init__(__self__, *,
11757
12280
  uri: _builtins.str,
11758
12281
  allowed_ca_certs: Optional[Sequence[_builtins.str]] = None,
11759
- request_headers: Optional[Mapping[str, _builtins.str]] = None):
11760
- """
11761
- :param _builtins.str uri: Whether to use speech adaptation for speech recognition.
11762
- :param Sequence[_builtins.str] allowed_ca_certs: Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification.
12282
+ http_method: Optional[_builtins.str] = None,
12283
+ oauth_config: Optional['outputs.CxWebhookServiceDirectoryGenericWebServiceOauthConfig'] = None,
12284
+ parameter_mapping: Optional[Mapping[str, _builtins.str]] = None,
12285
+ request_body: Optional[_builtins.str] = None,
12286
+ request_headers: Optional[Mapping[str, _builtins.str]] = None,
12287
+ secret_version_for_username_password: Optional[_builtins.str] = None,
12288
+ secret_versions_for_request_headers: Optional[Sequence['outputs.CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeader']] = None,
12289
+ service_agent_auth: Optional[_builtins.str] = None,
12290
+ webhook_type: Optional[_builtins.str] = None):
12291
+ """
12292
+ :param _builtins.str uri: The webhook URI for receiving POST requests. It must use https protocol.
12293
+ :param Sequence[_builtins.str] allowed_ca_certs: Specifies a list of allowed custom CA certificates (in DER format) for
12294
+ HTTPS verification. This overrides the default SSL trust store. If this
12295
+ is empty or unspecified, Dialogflow will use Google's default trust store
12296
+ to verify certificates.
12297
+ N.B. Make sure the HTTPS server certificates are signed with "subject alt
12298
+ name". For instance a certificate can be self-signed using the following
12299
+ command,
12300
+ openssl x509 -req -days 200 -in example.com.csr \\
12301
+ -signkey example.com.key \\
12302
+ -out example.com.crt \\
12303
+ -extfile <(printf "\\nsubjectAltName='DNS:www.example.com'")
12304
+ :param _builtins.str http_method: HTTP method for the flexible webhook calls. Standard webhook always uses
12305
+ POST.
12306
+ Possible values are: `POST`, `GET`, `HEAD`, `PUT`, `DELETE`, `PATCH`, `OPTIONS`.
12307
+ :param 'CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgs' oauth_config: Represents configuration of OAuth client credential flow for 3rd party
12308
+ API authentication.
12309
+ Structure is documented below.
12310
+ :param Mapping[str, _builtins.str] parameter_mapping: Maps the values extracted from specific fields of the flexible webhook
12311
+ response into session parameters.
12312
+ - Key: session parameter name
12313
+ - Value: field path in the webhook response
12314
+ :param _builtins.str request_body: Defines a custom JSON object as request body to send to flexible webhook.
11763
12315
  :param Mapping[str, _builtins.str] request_headers: The HTTP request headers to send together with webhook requests.
12316
+ :param _builtins.str secret_version_for_username_password: The SecretManager secret version resource storing the username:password
12317
+ pair for HTTP Basic authentication.
12318
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
12319
+ :param Sequence['CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgs'] secret_versions_for_request_headers: The HTTP request headers to send together with webhook requests. Header
12320
+ values are stored in SecretManager secret versions.
12321
+ When the same header name is specified in both `request_headers` and
12322
+ `secret_versions_for_request_headers`, the value in
12323
+ `secret_versions_for_request_headers` will be used.
12324
+ Structure is documented below.
12325
+ :param _builtins.str service_agent_auth: Indicate the auth token type generated from the [Diglogflow service
12326
+ agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
12327
+ The generated token is sent in the Authorization header.
12328
+ Possible values are: `NONE`, `ID_TOKEN`, `ACCESS_TOKEN`.
12329
+ :param _builtins.str webhook_type: Type of the webhook.
12330
+ Possible values are: `STANDARD`, `FLEXIBLE`.
11764
12331
  """
11765
12332
  pulumi.set(__self__, "uri", uri)
11766
12333
  if allowed_ca_certs is not None:
11767
12334
  pulumi.set(__self__, "allowed_ca_certs", allowed_ca_certs)
12335
+ if http_method is not None:
12336
+ pulumi.set(__self__, "http_method", http_method)
12337
+ if oauth_config is not None:
12338
+ pulumi.set(__self__, "oauth_config", oauth_config)
12339
+ if parameter_mapping is not None:
12340
+ pulumi.set(__self__, "parameter_mapping", parameter_mapping)
12341
+ if request_body is not None:
12342
+ pulumi.set(__self__, "request_body", request_body)
11768
12343
  if request_headers is not None:
11769
12344
  pulumi.set(__self__, "request_headers", request_headers)
12345
+ if secret_version_for_username_password is not None:
12346
+ pulumi.set(__self__, "secret_version_for_username_password", secret_version_for_username_password)
12347
+ if secret_versions_for_request_headers is not None:
12348
+ pulumi.set(__self__, "secret_versions_for_request_headers", secret_versions_for_request_headers)
12349
+ if service_agent_auth is not None:
12350
+ pulumi.set(__self__, "service_agent_auth", service_agent_auth)
12351
+ if webhook_type is not None:
12352
+ pulumi.set(__self__, "webhook_type", webhook_type)
11770
12353
 
11771
12354
  @_builtins.property
11772
12355
  @pulumi.getter
11773
12356
  def uri(self) -> _builtins.str:
11774
12357
  """
11775
- Whether to use speech adaptation for speech recognition.
12358
+ The webhook URI for receiving POST requests. It must use https protocol.
11776
12359
  """
11777
12360
  return pulumi.get(self, "uri")
11778
12361
 
@@ -11780,10 +12363,59 @@ class CxWebhookServiceDirectoryGenericWebService(dict):
11780
12363
  @pulumi.getter(name="allowedCaCerts")
11781
12364
  def allowed_ca_certs(self) -> Optional[Sequence[_builtins.str]]:
11782
12365
  """
11783
- Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification.
12366
+ Specifies a list of allowed custom CA certificates (in DER format) for
12367
+ HTTPS verification. This overrides the default SSL trust store. If this
12368
+ is empty or unspecified, Dialogflow will use Google's default trust store
12369
+ to verify certificates.
12370
+ N.B. Make sure the HTTPS server certificates are signed with "subject alt
12371
+ name". For instance a certificate can be self-signed using the following
12372
+ command,
12373
+ openssl x509 -req -days 200 -in example.com.csr \\
12374
+ -signkey example.com.key \\
12375
+ -out example.com.crt \\
12376
+ -extfile <(printf "\\nsubjectAltName='DNS:www.example.com'")
11784
12377
  """
11785
12378
  return pulumi.get(self, "allowed_ca_certs")
11786
12379
 
12380
+ @_builtins.property
12381
+ @pulumi.getter(name="httpMethod")
12382
+ def http_method(self) -> Optional[_builtins.str]:
12383
+ """
12384
+ HTTP method for the flexible webhook calls. Standard webhook always uses
12385
+ POST.
12386
+ Possible values are: `POST`, `GET`, `HEAD`, `PUT`, `DELETE`, `PATCH`, `OPTIONS`.
12387
+ """
12388
+ return pulumi.get(self, "http_method")
12389
+
12390
+ @_builtins.property
12391
+ @pulumi.getter(name="oauthConfig")
12392
+ def oauth_config(self) -> Optional['outputs.CxWebhookServiceDirectoryGenericWebServiceOauthConfig']:
12393
+ """
12394
+ Represents configuration of OAuth client credential flow for 3rd party
12395
+ API authentication.
12396
+ Structure is documented below.
12397
+ """
12398
+ return pulumi.get(self, "oauth_config")
12399
+
12400
+ @_builtins.property
12401
+ @pulumi.getter(name="parameterMapping")
12402
+ def parameter_mapping(self) -> Optional[Mapping[str, _builtins.str]]:
12403
+ """
12404
+ Maps the values extracted from specific fields of the flexible webhook
12405
+ response into session parameters.
12406
+ - Key: session parameter name
12407
+ - Value: field path in the webhook response
12408
+ """
12409
+ return pulumi.get(self, "parameter_mapping")
12410
+
12411
+ @_builtins.property
12412
+ @pulumi.getter(name="requestBody")
12413
+ def request_body(self) -> Optional[_builtins.str]:
12414
+ """
12415
+ Defines a custom JSON object as request body to send to flexible webhook.
12416
+ """
12417
+ return pulumi.get(self, "request_body")
12418
+
11787
12419
  @_builtins.property
11788
12420
  @pulumi.getter(name="requestHeaders")
11789
12421
  def request_headers(self) -> Optional[Mapping[str, _builtins.str]]:
@@ -11792,6 +12424,197 @@ class CxWebhookServiceDirectoryGenericWebService(dict):
11792
12424
  """
11793
12425
  return pulumi.get(self, "request_headers")
11794
12426
 
12427
+ @_builtins.property
12428
+ @pulumi.getter(name="secretVersionForUsernamePassword")
12429
+ def secret_version_for_username_password(self) -> Optional[_builtins.str]:
12430
+ """
12431
+ The SecretManager secret version resource storing the username:password
12432
+ pair for HTTP Basic authentication.
12433
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
12434
+ """
12435
+ return pulumi.get(self, "secret_version_for_username_password")
12436
+
12437
+ @_builtins.property
12438
+ @pulumi.getter(name="secretVersionsForRequestHeaders")
12439
+ def secret_versions_for_request_headers(self) -> Optional[Sequence['outputs.CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeader']]:
12440
+ """
12441
+ The HTTP request headers to send together with webhook requests. Header
12442
+ values are stored in SecretManager secret versions.
12443
+ When the same header name is specified in both `request_headers` and
12444
+ `secret_versions_for_request_headers`, the value in
12445
+ `secret_versions_for_request_headers` will be used.
12446
+ Structure is documented below.
12447
+ """
12448
+ return pulumi.get(self, "secret_versions_for_request_headers")
12449
+
12450
+ @_builtins.property
12451
+ @pulumi.getter(name="serviceAgentAuth")
12452
+ def service_agent_auth(self) -> Optional[_builtins.str]:
12453
+ """
12454
+ Indicate the auth token type generated from the [Diglogflow service
12455
+ agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
12456
+ The generated token is sent in the Authorization header.
12457
+ Possible values are: `NONE`, `ID_TOKEN`, `ACCESS_TOKEN`.
12458
+ """
12459
+ return pulumi.get(self, "service_agent_auth")
12460
+
12461
+ @_builtins.property
12462
+ @pulumi.getter(name="webhookType")
12463
+ def webhook_type(self) -> Optional[_builtins.str]:
12464
+ """
12465
+ Type of the webhook.
12466
+ Possible values are: `STANDARD`, `FLEXIBLE`.
12467
+ """
12468
+ return pulumi.get(self, "webhook_type")
12469
+
12470
+
12471
+ @pulumi.output_type
12472
+ class CxWebhookServiceDirectoryGenericWebServiceOauthConfig(dict):
12473
+ @staticmethod
12474
+ def __key_warning(key: str):
12475
+ suggest = None
12476
+ if key == "clientId":
12477
+ suggest = "client_id"
12478
+ elif key == "tokenEndpoint":
12479
+ suggest = "token_endpoint"
12480
+ elif key == "clientSecret":
12481
+ suggest = "client_secret"
12482
+ elif key == "secretVersionForClientSecret":
12483
+ suggest = "secret_version_for_client_secret"
12484
+
12485
+ if suggest:
12486
+ pulumi.log.warn(f"Key '{key}' not found in CxWebhookServiceDirectoryGenericWebServiceOauthConfig. Access the value via the '{suggest}' property getter instead.")
12487
+
12488
+ def __getitem__(self, key: str) -> Any:
12489
+ CxWebhookServiceDirectoryGenericWebServiceOauthConfig.__key_warning(key)
12490
+ return super().__getitem__(key)
12491
+
12492
+ def get(self, key: str, default = None) -> Any:
12493
+ CxWebhookServiceDirectoryGenericWebServiceOauthConfig.__key_warning(key)
12494
+ return super().get(key, default)
12495
+
12496
+ def __init__(__self__, *,
12497
+ client_id: _builtins.str,
12498
+ token_endpoint: _builtins.str,
12499
+ client_secret: Optional[_builtins.str] = None,
12500
+ scopes: Optional[Sequence[_builtins.str]] = None,
12501
+ secret_version_for_client_secret: Optional[_builtins.str] = None):
12502
+ """
12503
+ :param _builtins.str client_id: The client ID provided by the 3rd party platform.
12504
+ :param _builtins.str token_endpoint: The token endpoint provided by the 3rd party platform to exchange an
12505
+ access token.
12506
+ :param _builtins.str client_secret: The client secret provided by the 3rd party platform. If the
12507
+ `secret_version_for_client_secret` field is set, this field will be
12508
+ ignored.
12509
+ :param Sequence[_builtins.str] scopes: The OAuth scopes to grant.
12510
+ :param _builtins.str secret_version_for_client_secret: The name of the SecretManager secret version resource storing the
12511
+ client secret. If this field is set, the `client_secret` field will be
12512
+ ignored.
12513
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
12514
+ """
12515
+ pulumi.set(__self__, "client_id", client_id)
12516
+ pulumi.set(__self__, "token_endpoint", token_endpoint)
12517
+ if client_secret is not None:
12518
+ pulumi.set(__self__, "client_secret", client_secret)
12519
+ if scopes is not None:
12520
+ pulumi.set(__self__, "scopes", scopes)
12521
+ if secret_version_for_client_secret is not None:
12522
+ pulumi.set(__self__, "secret_version_for_client_secret", secret_version_for_client_secret)
12523
+
12524
+ @_builtins.property
12525
+ @pulumi.getter(name="clientId")
12526
+ def client_id(self) -> _builtins.str:
12527
+ """
12528
+ The client ID provided by the 3rd party platform.
12529
+ """
12530
+ return pulumi.get(self, "client_id")
12531
+
12532
+ @_builtins.property
12533
+ @pulumi.getter(name="tokenEndpoint")
12534
+ def token_endpoint(self) -> _builtins.str:
12535
+ """
12536
+ The token endpoint provided by the 3rd party platform to exchange an
12537
+ access token.
12538
+ """
12539
+ return pulumi.get(self, "token_endpoint")
12540
+
12541
+ @_builtins.property
12542
+ @pulumi.getter(name="clientSecret")
12543
+ def client_secret(self) -> Optional[_builtins.str]:
12544
+ """
12545
+ The client secret provided by the 3rd party platform. If the
12546
+ `secret_version_for_client_secret` field is set, this field will be
12547
+ ignored.
12548
+ """
12549
+ return pulumi.get(self, "client_secret")
12550
+
12551
+ @_builtins.property
12552
+ @pulumi.getter
12553
+ def scopes(self) -> Optional[Sequence[_builtins.str]]:
12554
+ """
12555
+ The OAuth scopes to grant.
12556
+ """
12557
+ return pulumi.get(self, "scopes")
12558
+
12559
+ @_builtins.property
12560
+ @pulumi.getter(name="secretVersionForClientSecret")
12561
+ def secret_version_for_client_secret(self) -> Optional[_builtins.str]:
12562
+ """
12563
+ The name of the SecretManager secret version resource storing the
12564
+ client secret. If this field is set, the `client_secret` field will be
12565
+ ignored.
12566
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
12567
+ """
12568
+ return pulumi.get(self, "secret_version_for_client_secret")
12569
+
12570
+
12571
+ @pulumi.output_type
12572
+ class CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeader(dict):
12573
+ @staticmethod
12574
+ def __key_warning(key: str):
12575
+ suggest = None
12576
+ if key == "secretVersion":
12577
+ suggest = "secret_version"
12578
+
12579
+ if suggest:
12580
+ pulumi.log.warn(f"Key '{key}' not found in CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeader. Access the value via the '{suggest}' property getter instead.")
12581
+
12582
+ def __getitem__(self, key: str) -> Any:
12583
+ CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeader.__key_warning(key)
12584
+ return super().__getitem__(key)
12585
+
12586
+ def get(self, key: str, default = None) -> Any:
12587
+ CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeader.__key_warning(key)
12588
+ return super().get(key, default)
12589
+
12590
+ def __init__(__self__, *,
12591
+ key: _builtins.str,
12592
+ secret_version: _builtins.str):
12593
+ """
12594
+ :param _builtins.str key: The identifier for this object. Format specified above.
12595
+ :param _builtins.str secret_version: The SecretManager secret version resource storing the header value.
12596
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
12597
+ """
12598
+ pulumi.set(__self__, "key", key)
12599
+ pulumi.set(__self__, "secret_version", secret_version)
12600
+
12601
+ @_builtins.property
12602
+ @pulumi.getter
12603
+ def key(self) -> _builtins.str:
12604
+ """
12605
+ The identifier for this object. Format specified above.
12606
+ """
12607
+ return pulumi.get(self, "key")
12608
+
12609
+ @_builtins.property
12610
+ @pulumi.getter(name="secretVersion")
12611
+ def secret_version(self) -> _builtins.str:
12612
+ """
12613
+ The SecretManager secret version resource storing the header value.
12614
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
12615
+ """
12616
+ return pulumi.get(self, "secret_version")
12617
+
11795
12618
 
11796
12619
  @pulumi.output_type
11797
12620
  class EncryptionSpecEncryptionSpec(dict):