pulumi-gcp 8.40.0a1754636117__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.0a1754636117.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/METADATA +1 -1
  155. {pulumi_gcp-8.40.0a1754636117.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/RECORD +157 -138
  156. {pulumi_gcp-8.40.0a1754636117.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/WHEEL +0 -0
  157. {pulumi_gcp-8.40.0a1754636117.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/top_level.txt +0 -0
@@ -149,6 +149,14 @@ __all__ = [
149
149
  'CxGenerativeSettingsKnowledgeConnectorSettingsArgsDict',
150
150
  'CxGenerativeSettingsLlmModelSettingsArgs',
151
151
  'CxGenerativeSettingsLlmModelSettingsArgsDict',
152
+ 'CxGeneratorLlmModelSettingsArgs',
153
+ 'CxGeneratorLlmModelSettingsArgsDict',
154
+ 'CxGeneratorModelParameterArgs',
155
+ 'CxGeneratorModelParameterArgsDict',
156
+ 'CxGeneratorPlaceholderArgs',
157
+ 'CxGeneratorPlaceholderArgsDict',
158
+ 'CxGeneratorPromptTextArgs',
159
+ 'CxGeneratorPromptTextArgsDict',
152
160
  'CxIntentParameterArgs',
153
161
  'CxIntentParameterArgsDict',
154
162
  'CxIntentTrainingPhraseArgs',
@@ -397,10 +405,18 @@ __all__ = [
397
405
  'CxVersionNluSettingArgsDict',
398
406
  'CxWebhookGenericWebServiceArgs',
399
407
  'CxWebhookGenericWebServiceArgsDict',
408
+ 'CxWebhookGenericWebServiceOauthConfigArgs',
409
+ 'CxWebhookGenericWebServiceOauthConfigArgsDict',
410
+ 'CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgs',
411
+ 'CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgsDict',
400
412
  'CxWebhookServiceDirectoryArgs',
401
413
  'CxWebhookServiceDirectoryArgsDict',
402
414
  'CxWebhookServiceDirectoryGenericWebServiceArgs',
403
415
  'CxWebhookServiceDirectoryGenericWebServiceArgsDict',
416
+ 'CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgs',
417
+ 'CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgsDict',
418
+ 'CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgs',
419
+ 'CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgsDict',
404
420
  'EncryptionSpecEncryptionSpecArgs',
405
421
  'EncryptionSpecEncryptionSpecArgsDict',
406
422
  'EntityTypeEntityArgs',
@@ -5596,6 +5612,246 @@ class CxGenerativeSettingsLlmModelSettingsArgs:
5596
5612
  pulumi.set(self, "prompt_text", value)
5597
5613
 
5598
5614
 
5615
+ if not MYPY:
5616
+ class CxGeneratorLlmModelSettingsArgsDict(TypedDict):
5617
+ model: NotRequired[pulumi.Input[_builtins.str]]
5618
+ """
5619
+ The selected LLM model.
5620
+ """
5621
+ prompt_text: NotRequired[pulumi.Input[_builtins.str]]
5622
+ """
5623
+ The custom prompt to use.
5624
+ """
5625
+ elif False:
5626
+ CxGeneratorLlmModelSettingsArgsDict: TypeAlias = Mapping[str, Any]
5627
+
5628
+ @pulumi.input_type
5629
+ class CxGeneratorLlmModelSettingsArgs:
5630
+ def __init__(__self__, *,
5631
+ model: Optional[pulumi.Input[_builtins.str]] = None,
5632
+ prompt_text: Optional[pulumi.Input[_builtins.str]] = None):
5633
+ """
5634
+ :param pulumi.Input[_builtins.str] model: The selected LLM model.
5635
+ :param pulumi.Input[_builtins.str] prompt_text: The custom prompt to use.
5636
+ """
5637
+ if model is not None:
5638
+ pulumi.set(__self__, "model", model)
5639
+ if prompt_text is not None:
5640
+ pulumi.set(__self__, "prompt_text", prompt_text)
5641
+
5642
+ @_builtins.property
5643
+ @pulumi.getter
5644
+ def model(self) -> Optional[pulumi.Input[_builtins.str]]:
5645
+ """
5646
+ The selected LLM model.
5647
+ """
5648
+ return pulumi.get(self, "model")
5649
+
5650
+ @model.setter
5651
+ def model(self, value: Optional[pulumi.Input[_builtins.str]]):
5652
+ pulumi.set(self, "model", value)
5653
+
5654
+ @_builtins.property
5655
+ @pulumi.getter(name="promptText")
5656
+ def prompt_text(self) -> Optional[pulumi.Input[_builtins.str]]:
5657
+ """
5658
+ The custom prompt to use.
5659
+ """
5660
+ return pulumi.get(self, "prompt_text")
5661
+
5662
+ @prompt_text.setter
5663
+ def prompt_text(self, value: Optional[pulumi.Input[_builtins.str]]):
5664
+ pulumi.set(self, "prompt_text", value)
5665
+
5666
+
5667
+ if not MYPY:
5668
+ class CxGeneratorModelParameterArgsDict(TypedDict):
5669
+ max_decode_steps: NotRequired[pulumi.Input[_builtins.int]]
5670
+ """
5671
+ The maximum number of tokens to generate.
5672
+ """
5673
+ temperature: NotRequired[pulumi.Input[_builtins.float]]
5674
+ """
5675
+ The temperature used for sampling. Temperature sampling occurs after both topP and topK have been applied.
5676
+ Valid range: [0.0, 1.0] Low temperature = less random. High temperature = more random.
5677
+ """
5678
+ top_k: NotRequired[pulumi.Input[_builtins.int]]
5679
+ """
5680
+ If set, the sampling process in each step is limited to the topK tokens with highest probabilities.
5681
+ Valid range: [1, 40] or 1000+. Small topK = less random. Large topK = more random.
5682
+ """
5683
+ top_p: NotRequired[pulumi.Input[_builtins.float]]
5684
+ """
5685
+ If set, only the tokens comprising the top topP probability mass are considered.
5686
+ If both topP and topK are set, topP will be used for further refining candidates selected with topK.
5687
+ Valid range: (0.0, 1.0]. Small topP = less random. Large topP = more random.
5688
+ """
5689
+ elif False:
5690
+ CxGeneratorModelParameterArgsDict: TypeAlias = Mapping[str, Any]
5691
+
5692
+ @pulumi.input_type
5693
+ class CxGeneratorModelParameterArgs:
5694
+ def __init__(__self__, *,
5695
+ max_decode_steps: Optional[pulumi.Input[_builtins.int]] = None,
5696
+ temperature: Optional[pulumi.Input[_builtins.float]] = None,
5697
+ top_k: Optional[pulumi.Input[_builtins.int]] = None,
5698
+ top_p: Optional[pulumi.Input[_builtins.float]] = None):
5699
+ """
5700
+ :param pulumi.Input[_builtins.int] max_decode_steps: The maximum number of tokens to generate.
5701
+ :param pulumi.Input[_builtins.float] temperature: The temperature used for sampling. Temperature sampling occurs after both topP and topK have been applied.
5702
+ Valid range: [0.0, 1.0] Low temperature = less random. High temperature = more random.
5703
+ :param pulumi.Input[_builtins.int] top_k: If set, the sampling process in each step is limited to the topK tokens with highest probabilities.
5704
+ Valid range: [1, 40] or 1000+. Small topK = less random. Large topK = more random.
5705
+ :param pulumi.Input[_builtins.float] top_p: If set, only the tokens comprising the top topP probability mass are considered.
5706
+ If both topP and topK are set, topP will be used for further refining candidates selected with topK.
5707
+ Valid range: (0.0, 1.0]. Small topP = less random. Large topP = more random.
5708
+ """
5709
+ if max_decode_steps is not None:
5710
+ pulumi.set(__self__, "max_decode_steps", max_decode_steps)
5711
+ if temperature is not None:
5712
+ pulumi.set(__self__, "temperature", temperature)
5713
+ if top_k is not None:
5714
+ pulumi.set(__self__, "top_k", top_k)
5715
+ if top_p is not None:
5716
+ pulumi.set(__self__, "top_p", top_p)
5717
+
5718
+ @_builtins.property
5719
+ @pulumi.getter(name="maxDecodeSteps")
5720
+ def max_decode_steps(self) -> Optional[pulumi.Input[_builtins.int]]:
5721
+ """
5722
+ The maximum number of tokens to generate.
5723
+ """
5724
+ return pulumi.get(self, "max_decode_steps")
5725
+
5726
+ @max_decode_steps.setter
5727
+ def max_decode_steps(self, value: Optional[pulumi.Input[_builtins.int]]):
5728
+ pulumi.set(self, "max_decode_steps", value)
5729
+
5730
+ @_builtins.property
5731
+ @pulumi.getter
5732
+ def temperature(self) -> Optional[pulumi.Input[_builtins.float]]:
5733
+ """
5734
+ The temperature used for sampling. Temperature sampling occurs after both topP and topK have been applied.
5735
+ Valid range: [0.0, 1.0] Low temperature = less random. High temperature = more random.
5736
+ """
5737
+ return pulumi.get(self, "temperature")
5738
+
5739
+ @temperature.setter
5740
+ def temperature(self, value: Optional[pulumi.Input[_builtins.float]]):
5741
+ pulumi.set(self, "temperature", value)
5742
+
5743
+ @_builtins.property
5744
+ @pulumi.getter(name="topK")
5745
+ def top_k(self) -> Optional[pulumi.Input[_builtins.int]]:
5746
+ """
5747
+ If set, the sampling process in each step is limited to the topK tokens with highest probabilities.
5748
+ Valid range: [1, 40] or 1000+. Small topK = less random. Large topK = more random.
5749
+ """
5750
+ return pulumi.get(self, "top_k")
5751
+
5752
+ @top_k.setter
5753
+ def top_k(self, value: Optional[pulumi.Input[_builtins.int]]):
5754
+ pulumi.set(self, "top_k", value)
5755
+
5756
+ @_builtins.property
5757
+ @pulumi.getter(name="topP")
5758
+ def top_p(self) -> Optional[pulumi.Input[_builtins.float]]:
5759
+ """
5760
+ If set, only the tokens comprising the top topP probability mass are considered.
5761
+ If both topP and topK are set, topP will be used for further refining candidates selected with topK.
5762
+ Valid range: (0.0, 1.0]. Small topP = less random. Large topP = more random.
5763
+ """
5764
+ return pulumi.get(self, "top_p")
5765
+
5766
+ @top_p.setter
5767
+ def top_p(self, value: Optional[pulumi.Input[_builtins.float]]):
5768
+ pulumi.set(self, "top_p", value)
5769
+
5770
+
5771
+ if not MYPY:
5772
+ class CxGeneratorPlaceholderArgsDict(TypedDict):
5773
+ id: NotRequired[pulumi.Input[_builtins.str]]
5774
+ """
5775
+ Unique ID used to map custom placeholder to parameters in fulfillment.
5776
+ """
5777
+ name: NotRequired[pulumi.Input[_builtins.str]]
5778
+ """
5779
+ Custom placeholder value in the prompt text.
5780
+ """
5781
+ elif False:
5782
+ CxGeneratorPlaceholderArgsDict: TypeAlias = Mapping[str, Any]
5783
+
5784
+ @pulumi.input_type
5785
+ class CxGeneratorPlaceholderArgs:
5786
+ def __init__(__self__, *,
5787
+ id: Optional[pulumi.Input[_builtins.str]] = None,
5788
+ name: Optional[pulumi.Input[_builtins.str]] = None):
5789
+ """
5790
+ :param pulumi.Input[_builtins.str] id: Unique ID used to map custom placeholder to parameters in fulfillment.
5791
+ :param pulumi.Input[_builtins.str] name: Custom placeholder value in the prompt text.
5792
+ """
5793
+ if id is not None:
5794
+ pulumi.set(__self__, "id", id)
5795
+ if name is not None:
5796
+ pulumi.set(__self__, "name", name)
5797
+
5798
+ @_builtins.property
5799
+ @pulumi.getter
5800
+ def id(self) -> Optional[pulumi.Input[_builtins.str]]:
5801
+ """
5802
+ Unique ID used to map custom placeholder to parameters in fulfillment.
5803
+ """
5804
+ return pulumi.get(self, "id")
5805
+
5806
+ @id.setter
5807
+ def id(self, value: Optional[pulumi.Input[_builtins.str]]):
5808
+ pulumi.set(self, "id", value)
5809
+
5810
+ @_builtins.property
5811
+ @pulumi.getter
5812
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
5813
+ """
5814
+ Custom placeholder value in the prompt text.
5815
+ """
5816
+ return pulumi.get(self, "name")
5817
+
5818
+ @name.setter
5819
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
5820
+ pulumi.set(self, "name", value)
5821
+
5822
+
5823
+ if not MYPY:
5824
+ class CxGeneratorPromptTextArgsDict(TypedDict):
5825
+ text: NotRequired[pulumi.Input[_builtins.str]]
5826
+ """
5827
+ Text input which can be used for prompt or banned phrases.
5828
+ """
5829
+ elif False:
5830
+ CxGeneratorPromptTextArgsDict: TypeAlias = Mapping[str, Any]
5831
+
5832
+ @pulumi.input_type
5833
+ class CxGeneratorPromptTextArgs:
5834
+ def __init__(__self__, *,
5835
+ text: Optional[pulumi.Input[_builtins.str]] = None):
5836
+ """
5837
+ :param pulumi.Input[_builtins.str] text: Text input which can be used for prompt or banned phrases.
5838
+ """
5839
+ if text is not None:
5840
+ pulumi.set(__self__, "text", text)
5841
+
5842
+ @_builtins.property
5843
+ @pulumi.getter
5844
+ def text(self) -> Optional[pulumi.Input[_builtins.str]]:
5845
+ """
5846
+ Text input which can be used for prompt or banned phrases.
5847
+ """
5848
+ return pulumi.get(self, "text")
5849
+
5850
+ @text.setter
5851
+ def text(self, value: Optional[pulumi.Input[_builtins.str]]):
5852
+ pulumi.set(self, "text", value)
5853
+
5854
+
5599
5855
  if not MYPY:
5600
5856
  class CxIntentParameterArgsDict(TypedDict):
5601
5857
  entity_type: pulumi.Input[_builtins.str]
@@ -15008,16 +15264,76 @@ if not MYPY:
15008
15264
  class CxWebhookGenericWebServiceArgsDict(TypedDict):
15009
15265
  uri: pulumi.Input[_builtins.str]
15010
15266
  """
15011
- Whether to use speech adaptation for speech recognition.
15267
+ The webhook URI for receiving POST requests. It must use https protocol.
15012
15268
  """
15013
15269
  allowed_ca_certs: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
15014
15270
  """
15015
- Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification.
15271
+ Specifies a list of allowed custom CA certificates (in DER format) for
15272
+ HTTPS verification. This overrides the default SSL trust store. If this
15273
+ is empty or unspecified, Dialogflow will use Google's default trust store
15274
+ to verify certificates.
15275
+ N.B. Make sure the HTTPS server certificates are signed with "subject alt
15276
+ name". For instance a certificate can be self-signed using the following
15277
+ command,
15278
+ openssl x509 -req -days 200 -in example.com.csr \\
15279
+ -signkey example.com.key \\
15280
+ -out example.com.crt \\
15281
+ -extfile <(printf "\\nsubjectAltName='DNS:www.example.com'")
15282
+ """
15283
+ http_method: NotRequired[pulumi.Input[_builtins.str]]
15284
+ """
15285
+ HTTP method for the flexible webhook calls. Standard webhook always uses
15286
+ POST.
15287
+ Possible values are: `POST`, `GET`, `HEAD`, `PUT`, `DELETE`, `PATCH`, `OPTIONS`.
15288
+ """
15289
+ oauth_config: NotRequired[pulumi.Input['CxWebhookGenericWebServiceOauthConfigArgsDict']]
15290
+ """
15291
+ Represents configuration of OAuth client credential flow for 3rd party
15292
+ API authentication.
15293
+ Structure is documented below.
15294
+ """
15295
+ parameter_mapping: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]
15296
+ """
15297
+ Maps the values extracted from specific fields of the flexible webhook
15298
+ response into session parameters.
15299
+ - Key: session parameter name
15300
+ - Value: field path in the webhook response
15301
+ """
15302
+ request_body: NotRequired[pulumi.Input[_builtins.str]]
15303
+ """
15304
+ Defines a custom JSON object as request body to send to flexible webhook.
15016
15305
  """
15017
15306
  request_headers: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]
15018
15307
  """
15019
15308
  The HTTP request headers to send together with webhook requests.
15020
15309
  """
15310
+ secret_version_for_username_password: NotRequired[pulumi.Input[_builtins.str]]
15311
+ """
15312
+ The SecretManager secret version resource storing the username:password
15313
+ pair for HTTP Basic authentication.
15314
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
15315
+ """
15316
+ secret_versions_for_request_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input['CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgsDict']]]]
15317
+ """
15318
+ The HTTP request headers to send together with webhook requests. Header
15319
+ values are stored in SecretManager secret versions.
15320
+ When the same header name is specified in both `request_headers` and
15321
+ `secret_versions_for_request_headers`, the value in
15322
+ `secret_versions_for_request_headers` will be used.
15323
+ Structure is documented below.
15324
+ """
15325
+ service_agent_auth: NotRequired[pulumi.Input[_builtins.str]]
15326
+ """
15327
+ Indicate the auth token type generated from the [Diglogflow service
15328
+ agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
15329
+ The generated token is sent in the Authorization header.
15330
+ Possible values are: `NONE`, `ID_TOKEN`, `ACCESS_TOKEN`.
15331
+ """
15332
+ webhook_type: NotRequired[pulumi.Input[_builtins.str]]
15333
+ """
15334
+ Type of the webhook.
15335
+ Possible values are: `STANDARD`, `FLEXIBLE`.
15336
+ """
15021
15337
  elif False:
15022
15338
  CxWebhookGenericWebServiceArgsDict: TypeAlias = Mapping[str, Any]
15023
15339
 
@@ -15026,23 +15342,83 @@ class CxWebhookGenericWebServiceArgs:
15026
15342
  def __init__(__self__, *,
15027
15343
  uri: pulumi.Input[_builtins.str],
15028
15344
  allowed_ca_certs: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
15029
- request_headers: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None):
15030
- """
15031
- :param pulumi.Input[_builtins.str] uri: Whether to use speech adaptation for speech recognition.
15032
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_ca_certs: Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification.
15345
+ http_method: Optional[pulumi.Input[_builtins.str]] = None,
15346
+ oauth_config: Optional[pulumi.Input['CxWebhookGenericWebServiceOauthConfigArgs']] = None,
15347
+ parameter_mapping: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
15348
+ request_body: Optional[pulumi.Input[_builtins.str]] = None,
15349
+ request_headers: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
15350
+ secret_version_for_username_password: Optional[pulumi.Input[_builtins.str]] = None,
15351
+ secret_versions_for_request_headers: Optional[pulumi.Input[Sequence[pulumi.Input['CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgs']]]] = None,
15352
+ service_agent_auth: Optional[pulumi.Input[_builtins.str]] = None,
15353
+ webhook_type: Optional[pulumi.Input[_builtins.str]] = None):
15354
+ """
15355
+ :param pulumi.Input[_builtins.str] uri: The webhook URI for receiving POST requests. It must use https protocol.
15356
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_ca_certs: Specifies a list of allowed custom CA certificates (in DER format) for
15357
+ HTTPS verification. This overrides the default SSL trust store. If this
15358
+ is empty or unspecified, Dialogflow will use Google's default trust store
15359
+ to verify certificates.
15360
+ N.B. Make sure the HTTPS server certificates are signed with "subject alt
15361
+ name". For instance a certificate can be self-signed using the following
15362
+ command,
15363
+ openssl x509 -req -days 200 -in example.com.csr \\
15364
+ -signkey example.com.key \\
15365
+ -out example.com.crt \\
15366
+ -extfile <(printf "\\nsubjectAltName='DNS:www.example.com'")
15367
+ :param pulumi.Input[_builtins.str] http_method: HTTP method for the flexible webhook calls. Standard webhook always uses
15368
+ POST.
15369
+ Possible values are: `POST`, `GET`, `HEAD`, `PUT`, `DELETE`, `PATCH`, `OPTIONS`.
15370
+ :param pulumi.Input['CxWebhookGenericWebServiceOauthConfigArgs'] oauth_config: Represents configuration of OAuth client credential flow for 3rd party
15371
+ API authentication.
15372
+ Structure is documented below.
15373
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] parameter_mapping: Maps the values extracted from specific fields of the flexible webhook
15374
+ response into session parameters.
15375
+ - Key: session parameter name
15376
+ - Value: field path in the webhook response
15377
+ :param pulumi.Input[_builtins.str] request_body: Defines a custom JSON object as request body to send to flexible webhook.
15033
15378
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] request_headers: The HTTP request headers to send together with webhook requests.
15379
+ :param pulumi.Input[_builtins.str] secret_version_for_username_password: The SecretManager secret version resource storing the username:password
15380
+ pair for HTTP Basic authentication.
15381
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
15382
+ :param pulumi.Input[Sequence[pulumi.Input['CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgs']]] secret_versions_for_request_headers: The HTTP request headers to send together with webhook requests. Header
15383
+ values are stored in SecretManager secret versions.
15384
+ When the same header name is specified in both `request_headers` and
15385
+ `secret_versions_for_request_headers`, the value in
15386
+ `secret_versions_for_request_headers` will be used.
15387
+ Structure is documented below.
15388
+ :param pulumi.Input[_builtins.str] service_agent_auth: Indicate the auth token type generated from the [Diglogflow service
15389
+ agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
15390
+ The generated token is sent in the Authorization header.
15391
+ Possible values are: `NONE`, `ID_TOKEN`, `ACCESS_TOKEN`.
15392
+ :param pulumi.Input[_builtins.str] webhook_type: Type of the webhook.
15393
+ Possible values are: `STANDARD`, `FLEXIBLE`.
15034
15394
  """
15035
15395
  pulumi.set(__self__, "uri", uri)
15036
15396
  if allowed_ca_certs is not None:
15037
15397
  pulumi.set(__self__, "allowed_ca_certs", allowed_ca_certs)
15398
+ if http_method is not None:
15399
+ pulumi.set(__self__, "http_method", http_method)
15400
+ if oauth_config is not None:
15401
+ pulumi.set(__self__, "oauth_config", oauth_config)
15402
+ if parameter_mapping is not None:
15403
+ pulumi.set(__self__, "parameter_mapping", parameter_mapping)
15404
+ if request_body is not None:
15405
+ pulumi.set(__self__, "request_body", request_body)
15038
15406
  if request_headers is not None:
15039
15407
  pulumi.set(__self__, "request_headers", request_headers)
15408
+ if secret_version_for_username_password is not None:
15409
+ pulumi.set(__self__, "secret_version_for_username_password", secret_version_for_username_password)
15410
+ if secret_versions_for_request_headers is not None:
15411
+ pulumi.set(__self__, "secret_versions_for_request_headers", secret_versions_for_request_headers)
15412
+ if service_agent_auth is not None:
15413
+ pulumi.set(__self__, "service_agent_auth", service_agent_auth)
15414
+ if webhook_type is not None:
15415
+ pulumi.set(__self__, "webhook_type", webhook_type)
15040
15416
 
15041
15417
  @_builtins.property
15042
15418
  @pulumi.getter
15043
15419
  def uri(self) -> pulumi.Input[_builtins.str]:
15044
15420
  """
15045
- Whether to use speech adaptation for speech recognition.
15421
+ The webhook URI for receiving POST requests. It must use https protocol.
15046
15422
  """
15047
15423
  return pulumi.get(self, "uri")
15048
15424
 
@@ -15054,7 +15430,17 @@ class CxWebhookGenericWebServiceArgs:
15054
15430
  @pulumi.getter(name="allowedCaCerts")
15055
15431
  def allowed_ca_certs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
15056
15432
  """
15057
- Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification.
15433
+ Specifies a list of allowed custom CA certificates (in DER format) for
15434
+ HTTPS verification. This overrides the default SSL trust store. If this
15435
+ is empty or unspecified, Dialogflow will use Google's default trust store
15436
+ to verify certificates.
15437
+ N.B. Make sure the HTTPS server certificates are signed with "subject alt
15438
+ name". For instance a certificate can be self-signed using the following
15439
+ command,
15440
+ openssl x509 -req -days 200 -in example.com.csr \\
15441
+ -signkey example.com.key \\
15442
+ -out example.com.crt \\
15443
+ -extfile <(printf "\\nsubjectAltName='DNS:www.example.com'")
15058
15444
  """
15059
15445
  return pulumi.get(self, "allowed_ca_certs")
15060
15446
 
@@ -15063,85 +15449,441 @@ class CxWebhookGenericWebServiceArgs:
15063
15449
  pulumi.set(self, "allowed_ca_certs", value)
15064
15450
 
15065
15451
  @_builtins.property
15066
- @pulumi.getter(name="requestHeaders")
15067
- def request_headers(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
15452
+ @pulumi.getter(name="httpMethod")
15453
+ def http_method(self) -> Optional[pulumi.Input[_builtins.str]]:
15068
15454
  """
15069
- The HTTP request headers to send together with webhook requests.
15455
+ HTTP method for the flexible webhook calls. Standard webhook always uses
15456
+ POST.
15457
+ Possible values are: `POST`, `GET`, `HEAD`, `PUT`, `DELETE`, `PATCH`, `OPTIONS`.
15070
15458
  """
15071
- return pulumi.get(self, "request_headers")
15072
-
15073
- @request_headers.setter
15074
- def request_headers(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
15075
- pulumi.set(self, "request_headers", value)
15459
+ return pulumi.get(self, "http_method")
15076
15460
 
15461
+ @http_method.setter
15462
+ def http_method(self, value: Optional[pulumi.Input[_builtins.str]]):
15463
+ pulumi.set(self, "http_method", value)
15077
15464
 
15078
- if not MYPY:
15079
- class CxWebhookServiceDirectoryArgsDict(TypedDict):
15080
- generic_web_service: pulumi.Input['CxWebhookServiceDirectoryGenericWebServiceArgsDict']
15465
+ @_builtins.property
15466
+ @pulumi.getter(name="oauthConfig")
15467
+ def oauth_config(self) -> Optional[pulumi.Input['CxWebhookGenericWebServiceOauthConfigArgs']]:
15081
15468
  """
15082
- The name of Service Directory service.
15469
+ Represents configuration of OAuth client credential flow for 3rd party
15470
+ API authentication.
15083
15471
  Structure is documented below.
15084
15472
  """
15085
- service: pulumi.Input[_builtins.str]
15473
+ return pulumi.get(self, "oauth_config")
15474
+
15475
+ @oauth_config.setter
15476
+ def oauth_config(self, value: Optional[pulumi.Input['CxWebhookGenericWebServiceOauthConfigArgs']]):
15477
+ pulumi.set(self, "oauth_config", value)
15478
+
15479
+ @_builtins.property
15480
+ @pulumi.getter(name="parameterMapping")
15481
+ def parameter_mapping(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
15086
15482
  """
15087
- The name of Service Directory service.
15483
+ Maps the values extracted from specific fields of the flexible webhook
15484
+ response into session parameters.
15485
+ - Key: session parameter name
15486
+ - Value: field path in the webhook response
15088
15487
  """
15089
- elif False:
15090
- CxWebhookServiceDirectoryArgsDict: TypeAlias = Mapping[str, Any]
15488
+ return pulumi.get(self, "parameter_mapping")
15091
15489
 
15092
- @pulumi.input_type
15093
- class CxWebhookServiceDirectoryArgs:
15094
- def __init__(__self__, *,
15095
- generic_web_service: pulumi.Input['CxWebhookServiceDirectoryGenericWebServiceArgs'],
15096
- service: pulumi.Input[_builtins.str]):
15490
+ @parameter_mapping.setter
15491
+ def parameter_mapping(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
15492
+ pulumi.set(self, "parameter_mapping", value)
15493
+
15494
+ @_builtins.property
15495
+ @pulumi.getter(name="requestBody")
15496
+ def request_body(self) -> Optional[pulumi.Input[_builtins.str]]:
15097
15497
  """
15098
- :param pulumi.Input['CxWebhookServiceDirectoryGenericWebServiceArgs'] generic_web_service: The name of Service Directory service.
15099
- Structure is documented below.
15100
- :param pulumi.Input[_builtins.str] service: The name of Service Directory service.
15498
+ Defines a custom JSON object as request body to send to flexible webhook.
15101
15499
  """
15102
- pulumi.set(__self__, "generic_web_service", generic_web_service)
15103
- pulumi.set(__self__, "service", service)
15500
+ return pulumi.get(self, "request_body")
15501
+
15502
+ @request_body.setter
15503
+ def request_body(self, value: Optional[pulumi.Input[_builtins.str]]):
15504
+ pulumi.set(self, "request_body", value)
15104
15505
 
15105
15506
  @_builtins.property
15106
- @pulumi.getter(name="genericWebService")
15107
- def generic_web_service(self) -> pulumi.Input['CxWebhookServiceDirectoryGenericWebServiceArgs']:
15507
+ @pulumi.getter(name="requestHeaders")
15508
+ def request_headers(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
15108
15509
  """
15109
- The name of Service Directory service.
15110
- Structure is documented below.
15510
+ The HTTP request headers to send together with webhook requests.
15111
15511
  """
15112
- return pulumi.get(self, "generic_web_service")
15512
+ return pulumi.get(self, "request_headers")
15113
15513
 
15114
- @generic_web_service.setter
15115
- def generic_web_service(self, value: pulumi.Input['CxWebhookServiceDirectoryGenericWebServiceArgs']):
15116
- pulumi.set(self, "generic_web_service", value)
15514
+ @request_headers.setter
15515
+ def request_headers(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
15516
+ pulumi.set(self, "request_headers", value)
15117
15517
 
15118
15518
  @_builtins.property
15119
- @pulumi.getter
15120
- def service(self) -> pulumi.Input[_builtins.str]:
15519
+ @pulumi.getter(name="secretVersionForUsernamePassword")
15520
+ def secret_version_for_username_password(self) -> Optional[pulumi.Input[_builtins.str]]:
15121
15521
  """
15122
- The name of Service Directory service.
15522
+ The SecretManager secret version resource storing the username:password
15523
+ pair for HTTP Basic authentication.
15524
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
15123
15525
  """
15124
- return pulumi.get(self, "service")
15125
-
15126
- @service.setter
15127
- def service(self, value: pulumi.Input[_builtins.str]):
15128
- pulumi.set(self, "service", value)
15526
+ return pulumi.get(self, "secret_version_for_username_password")
15527
+
15528
+ @secret_version_for_username_password.setter
15529
+ def secret_version_for_username_password(self, value: Optional[pulumi.Input[_builtins.str]]):
15530
+ pulumi.set(self, "secret_version_for_username_password", value)
15531
+
15532
+ @_builtins.property
15533
+ @pulumi.getter(name="secretVersionsForRequestHeaders")
15534
+ def secret_versions_for_request_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgs']]]]:
15535
+ """
15536
+ The HTTP request headers to send together with webhook requests. Header
15537
+ values are stored in SecretManager secret versions.
15538
+ When the same header name is specified in both `request_headers` and
15539
+ `secret_versions_for_request_headers`, the value in
15540
+ `secret_versions_for_request_headers` will be used.
15541
+ Structure is documented below.
15542
+ """
15543
+ return pulumi.get(self, "secret_versions_for_request_headers")
15544
+
15545
+ @secret_versions_for_request_headers.setter
15546
+ def secret_versions_for_request_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgs']]]]):
15547
+ pulumi.set(self, "secret_versions_for_request_headers", value)
15548
+
15549
+ @_builtins.property
15550
+ @pulumi.getter(name="serviceAgentAuth")
15551
+ def service_agent_auth(self) -> Optional[pulumi.Input[_builtins.str]]:
15552
+ """
15553
+ Indicate the auth token type generated from the [Diglogflow service
15554
+ agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
15555
+ The generated token is sent in the Authorization header.
15556
+ Possible values are: `NONE`, `ID_TOKEN`, `ACCESS_TOKEN`.
15557
+ """
15558
+ return pulumi.get(self, "service_agent_auth")
15559
+
15560
+ @service_agent_auth.setter
15561
+ def service_agent_auth(self, value: Optional[pulumi.Input[_builtins.str]]):
15562
+ pulumi.set(self, "service_agent_auth", value)
15563
+
15564
+ @_builtins.property
15565
+ @pulumi.getter(name="webhookType")
15566
+ def webhook_type(self) -> Optional[pulumi.Input[_builtins.str]]:
15567
+ """
15568
+ Type of the webhook.
15569
+ Possible values are: `STANDARD`, `FLEXIBLE`.
15570
+ """
15571
+ return pulumi.get(self, "webhook_type")
15572
+
15573
+ @webhook_type.setter
15574
+ def webhook_type(self, value: Optional[pulumi.Input[_builtins.str]]):
15575
+ pulumi.set(self, "webhook_type", value)
15576
+
15577
+
15578
+ if not MYPY:
15579
+ class CxWebhookGenericWebServiceOauthConfigArgsDict(TypedDict):
15580
+ client_id: pulumi.Input[_builtins.str]
15581
+ """
15582
+ The client ID provided by the 3rd party platform.
15583
+ """
15584
+ token_endpoint: pulumi.Input[_builtins.str]
15585
+ """
15586
+ The token endpoint provided by the 3rd party platform to exchange an
15587
+ access token.
15588
+ """
15589
+ client_secret: NotRequired[pulumi.Input[_builtins.str]]
15590
+ """
15591
+ The client secret provided by the 3rd party platform. If the
15592
+ `secret_version_for_client_secret` field is set, this field will be
15593
+ ignored.
15594
+ """
15595
+ scopes: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
15596
+ """
15597
+ The OAuth scopes to grant.
15598
+ """
15599
+ secret_version_for_client_secret: NotRequired[pulumi.Input[_builtins.str]]
15600
+ """
15601
+ The name of the SecretManager secret version resource storing the
15602
+ client secret. If this field is set, the `client_secret` field will be
15603
+ ignored.
15604
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
15605
+ """
15606
+ elif False:
15607
+ CxWebhookGenericWebServiceOauthConfigArgsDict: TypeAlias = Mapping[str, Any]
15608
+
15609
+ @pulumi.input_type
15610
+ class CxWebhookGenericWebServiceOauthConfigArgs:
15611
+ def __init__(__self__, *,
15612
+ client_id: pulumi.Input[_builtins.str],
15613
+ token_endpoint: pulumi.Input[_builtins.str],
15614
+ client_secret: Optional[pulumi.Input[_builtins.str]] = None,
15615
+ scopes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
15616
+ secret_version_for_client_secret: Optional[pulumi.Input[_builtins.str]] = None):
15617
+ """
15618
+ :param pulumi.Input[_builtins.str] client_id: The client ID provided by the 3rd party platform.
15619
+ :param pulumi.Input[_builtins.str] token_endpoint: The token endpoint provided by the 3rd party platform to exchange an
15620
+ access token.
15621
+ :param pulumi.Input[_builtins.str] client_secret: The client secret provided by the 3rd party platform. If the
15622
+ `secret_version_for_client_secret` field is set, this field will be
15623
+ ignored.
15624
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scopes: The OAuth scopes to grant.
15625
+ :param pulumi.Input[_builtins.str] secret_version_for_client_secret: The name of the SecretManager secret version resource storing the
15626
+ client secret. If this field is set, the `client_secret` field will be
15627
+ ignored.
15628
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
15629
+ """
15630
+ pulumi.set(__self__, "client_id", client_id)
15631
+ pulumi.set(__self__, "token_endpoint", token_endpoint)
15632
+ if client_secret is not None:
15633
+ pulumi.set(__self__, "client_secret", client_secret)
15634
+ if scopes is not None:
15635
+ pulumi.set(__self__, "scopes", scopes)
15636
+ if secret_version_for_client_secret is not None:
15637
+ pulumi.set(__self__, "secret_version_for_client_secret", secret_version_for_client_secret)
15638
+
15639
+ @_builtins.property
15640
+ @pulumi.getter(name="clientId")
15641
+ def client_id(self) -> pulumi.Input[_builtins.str]:
15642
+ """
15643
+ The client ID provided by the 3rd party platform.
15644
+ """
15645
+ return pulumi.get(self, "client_id")
15646
+
15647
+ @client_id.setter
15648
+ def client_id(self, value: pulumi.Input[_builtins.str]):
15649
+ pulumi.set(self, "client_id", value)
15650
+
15651
+ @_builtins.property
15652
+ @pulumi.getter(name="tokenEndpoint")
15653
+ def token_endpoint(self) -> pulumi.Input[_builtins.str]:
15654
+ """
15655
+ The token endpoint provided by the 3rd party platform to exchange an
15656
+ access token.
15657
+ """
15658
+ return pulumi.get(self, "token_endpoint")
15659
+
15660
+ @token_endpoint.setter
15661
+ def token_endpoint(self, value: pulumi.Input[_builtins.str]):
15662
+ pulumi.set(self, "token_endpoint", value)
15663
+
15664
+ @_builtins.property
15665
+ @pulumi.getter(name="clientSecret")
15666
+ def client_secret(self) -> Optional[pulumi.Input[_builtins.str]]:
15667
+ """
15668
+ The client secret provided by the 3rd party platform. If the
15669
+ `secret_version_for_client_secret` field is set, this field will be
15670
+ ignored.
15671
+ """
15672
+ return pulumi.get(self, "client_secret")
15673
+
15674
+ @client_secret.setter
15675
+ def client_secret(self, value: Optional[pulumi.Input[_builtins.str]]):
15676
+ pulumi.set(self, "client_secret", value)
15677
+
15678
+ @_builtins.property
15679
+ @pulumi.getter
15680
+ def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
15681
+ """
15682
+ The OAuth scopes to grant.
15683
+ """
15684
+ return pulumi.get(self, "scopes")
15685
+
15686
+ @scopes.setter
15687
+ def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
15688
+ pulumi.set(self, "scopes", value)
15689
+
15690
+ @_builtins.property
15691
+ @pulumi.getter(name="secretVersionForClientSecret")
15692
+ def secret_version_for_client_secret(self) -> Optional[pulumi.Input[_builtins.str]]:
15693
+ """
15694
+ The name of the SecretManager secret version resource storing the
15695
+ client secret. If this field is set, the `client_secret` field will be
15696
+ ignored.
15697
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
15698
+ """
15699
+ return pulumi.get(self, "secret_version_for_client_secret")
15700
+
15701
+ @secret_version_for_client_secret.setter
15702
+ def secret_version_for_client_secret(self, value: Optional[pulumi.Input[_builtins.str]]):
15703
+ pulumi.set(self, "secret_version_for_client_secret", value)
15704
+
15705
+
15706
+ if not MYPY:
15707
+ class CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgsDict(TypedDict):
15708
+ key: pulumi.Input[_builtins.str]
15709
+ """
15710
+ The identifier for this object. Format specified above.
15711
+ """
15712
+ secret_version: pulumi.Input[_builtins.str]
15713
+ """
15714
+ The SecretManager secret version resource storing the header value.
15715
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
15716
+ """
15717
+ elif False:
15718
+ CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgsDict: TypeAlias = Mapping[str, Any]
15719
+
15720
+ @pulumi.input_type
15721
+ class CxWebhookGenericWebServiceSecretVersionsForRequestHeaderArgs:
15722
+ def __init__(__self__, *,
15723
+ key: pulumi.Input[_builtins.str],
15724
+ secret_version: pulumi.Input[_builtins.str]):
15725
+ """
15726
+ :param pulumi.Input[_builtins.str] key: The identifier for this object. Format specified above.
15727
+ :param pulumi.Input[_builtins.str] secret_version: The SecretManager secret version resource storing the header value.
15728
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
15729
+ """
15730
+ pulumi.set(__self__, "key", key)
15731
+ pulumi.set(__self__, "secret_version", secret_version)
15732
+
15733
+ @_builtins.property
15734
+ @pulumi.getter
15735
+ def key(self) -> pulumi.Input[_builtins.str]:
15736
+ """
15737
+ The identifier for this object. Format specified above.
15738
+ """
15739
+ return pulumi.get(self, "key")
15740
+
15741
+ @key.setter
15742
+ def key(self, value: pulumi.Input[_builtins.str]):
15743
+ pulumi.set(self, "key", value)
15744
+
15745
+ @_builtins.property
15746
+ @pulumi.getter(name="secretVersion")
15747
+ def secret_version(self) -> pulumi.Input[_builtins.str]:
15748
+ """
15749
+ The SecretManager secret version resource storing the header value.
15750
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
15751
+ """
15752
+ return pulumi.get(self, "secret_version")
15753
+
15754
+ @secret_version.setter
15755
+ def secret_version(self, value: pulumi.Input[_builtins.str]):
15756
+ pulumi.set(self, "secret_version", value)
15757
+
15758
+
15759
+ if not MYPY:
15760
+ class CxWebhookServiceDirectoryArgsDict(TypedDict):
15761
+ service: pulumi.Input[_builtins.str]
15762
+ """
15763
+ The name of Service Directory service.
15764
+ """
15765
+ generic_web_service: NotRequired[pulumi.Input['CxWebhookServiceDirectoryGenericWebServiceArgsDict']]
15766
+ """
15767
+ Represents configuration for a generic web service.
15768
+ Structure is documented below.
15769
+ """
15770
+ elif False:
15771
+ CxWebhookServiceDirectoryArgsDict: TypeAlias = Mapping[str, Any]
15772
+
15773
+ @pulumi.input_type
15774
+ class CxWebhookServiceDirectoryArgs:
15775
+ def __init__(__self__, *,
15776
+ service: pulumi.Input[_builtins.str],
15777
+ generic_web_service: Optional[pulumi.Input['CxWebhookServiceDirectoryGenericWebServiceArgs']] = None):
15778
+ """
15779
+ :param pulumi.Input[_builtins.str] service: The name of Service Directory service.
15780
+ :param pulumi.Input['CxWebhookServiceDirectoryGenericWebServiceArgs'] generic_web_service: Represents configuration for a generic web service.
15781
+ Structure is documented below.
15782
+ """
15783
+ pulumi.set(__self__, "service", service)
15784
+ if generic_web_service is not None:
15785
+ pulumi.set(__self__, "generic_web_service", generic_web_service)
15786
+
15787
+ @_builtins.property
15788
+ @pulumi.getter
15789
+ def service(self) -> pulumi.Input[_builtins.str]:
15790
+ """
15791
+ The name of Service Directory service.
15792
+ """
15793
+ return pulumi.get(self, "service")
15794
+
15795
+ @service.setter
15796
+ def service(self, value: pulumi.Input[_builtins.str]):
15797
+ pulumi.set(self, "service", value)
15798
+
15799
+ @_builtins.property
15800
+ @pulumi.getter(name="genericWebService")
15801
+ def generic_web_service(self) -> Optional[pulumi.Input['CxWebhookServiceDirectoryGenericWebServiceArgs']]:
15802
+ """
15803
+ Represents configuration for a generic web service.
15804
+ Structure is documented below.
15805
+ """
15806
+ return pulumi.get(self, "generic_web_service")
15807
+
15808
+ @generic_web_service.setter
15809
+ def generic_web_service(self, value: Optional[pulumi.Input['CxWebhookServiceDirectoryGenericWebServiceArgs']]):
15810
+ pulumi.set(self, "generic_web_service", value)
15129
15811
 
15130
15812
 
15131
15813
  if not MYPY:
15132
15814
  class CxWebhookServiceDirectoryGenericWebServiceArgsDict(TypedDict):
15133
15815
  uri: pulumi.Input[_builtins.str]
15134
15816
  """
15135
- Whether to use speech adaptation for speech recognition.
15817
+ The webhook URI for receiving POST requests. It must use https protocol.
15136
15818
  """
15137
15819
  allowed_ca_certs: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
15138
15820
  """
15139
- Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification.
15821
+ Specifies a list of allowed custom CA certificates (in DER format) for
15822
+ HTTPS verification. This overrides the default SSL trust store. If this
15823
+ is empty or unspecified, Dialogflow will use Google's default trust store
15824
+ to verify certificates.
15825
+ N.B. Make sure the HTTPS server certificates are signed with "subject alt
15826
+ name". For instance a certificate can be self-signed using the following
15827
+ command,
15828
+ openssl x509 -req -days 200 -in example.com.csr \\
15829
+ -signkey example.com.key \\
15830
+ -out example.com.crt \\
15831
+ -extfile <(printf "\\nsubjectAltName='DNS:www.example.com'")
15832
+ """
15833
+ http_method: NotRequired[pulumi.Input[_builtins.str]]
15834
+ """
15835
+ HTTP method for the flexible webhook calls. Standard webhook always uses
15836
+ POST.
15837
+ Possible values are: `POST`, `GET`, `HEAD`, `PUT`, `DELETE`, `PATCH`, `OPTIONS`.
15838
+ """
15839
+ oauth_config: NotRequired[pulumi.Input['CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgsDict']]
15840
+ """
15841
+ Represents configuration of OAuth client credential flow for 3rd party
15842
+ API authentication.
15843
+ Structure is documented below.
15844
+ """
15845
+ parameter_mapping: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]
15846
+ """
15847
+ Maps the values extracted from specific fields of the flexible webhook
15848
+ response into session parameters.
15849
+ - Key: session parameter name
15850
+ - Value: field path in the webhook response
15851
+ """
15852
+ request_body: NotRequired[pulumi.Input[_builtins.str]]
15853
+ """
15854
+ Defines a custom JSON object as request body to send to flexible webhook.
15140
15855
  """
15141
15856
  request_headers: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]
15142
15857
  """
15143
15858
  The HTTP request headers to send together with webhook requests.
15144
15859
  """
15860
+ secret_version_for_username_password: NotRequired[pulumi.Input[_builtins.str]]
15861
+ """
15862
+ The SecretManager secret version resource storing the username:password
15863
+ pair for HTTP Basic authentication.
15864
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
15865
+ """
15866
+ secret_versions_for_request_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input['CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgsDict']]]]
15867
+ """
15868
+ The HTTP request headers to send together with webhook requests. Header
15869
+ values are stored in SecretManager secret versions.
15870
+ When the same header name is specified in both `request_headers` and
15871
+ `secret_versions_for_request_headers`, the value in
15872
+ `secret_versions_for_request_headers` will be used.
15873
+ Structure is documented below.
15874
+ """
15875
+ service_agent_auth: NotRequired[pulumi.Input[_builtins.str]]
15876
+ """
15877
+ Indicate the auth token type generated from the [Diglogflow service
15878
+ agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
15879
+ The generated token is sent in the Authorization header.
15880
+ Possible values are: `NONE`, `ID_TOKEN`, `ACCESS_TOKEN`.
15881
+ """
15882
+ webhook_type: NotRequired[pulumi.Input[_builtins.str]]
15883
+ """
15884
+ Type of the webhook.
15885
+ Possible values are: `STANDARD`, `FLEXIBLE`.
15886
+ """
15145
15887
  elif False:
15146
15888
  CxWebhookServiceDirectoryGenericWebServiceArgsDict: TypeAlias = Mapping[str, Any]
15147
15889
 
@@ -15150,23 +15892,83 @@ class CxWebhookServiceDirectoryGenericWebServiceArgs:
15150
15892
  def __init__(__self__, *,
15151
15893
  uri: pulumi.Input[_builtins.str],
15152
15894
  allowed_ca_certs: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
15153
- request_headers: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None):
15154
- """
15155
- :param pulumi.Input[_builtins.str] uri: Whether to use speech adaptation for speech recognition.
15156
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_ca_certs: Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification.
15895
+ http_method: Optional[pulumi.Input[_builtins.str]] = None,
15896
+ oauth_config: Optional[pulumi.Input['CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgs']] = None,
15897
+ parameter_mapping: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
15898
+ request_body: Optional[pulumi.Input[_builtins.str]] = None,
15899
+ request_headers: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
15900
+ secret_version_for_username_password: Optional[pulumi.Input[_builtins.str]] = None,
15901
+ secret_versions_for_request_headers: Optional[pulumi.Input[Sequence[pulumi.Input['CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgs']]]] = None,
15902
+ service_agent_auth: Optional[pulumi.Input[_builtins.str]] = None,
15903
+ webhook_type: Optional[pulumi.Input[_builtins.str]] = None):
15904
+ """
15905
+ :param pulumi.Input[_builtins.str] uri: The webhook URI for receiving POST requests. It must use https protocol.
15906
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_ca_certs: Specifies a list of allowed custom CA certificates (in DER format) for
15907
+ HTTPS verification. This overrides the default SSL trust store. If this
15908
+ is empty or unspecified, Dialogflow will use Google's default trust store
15909
+ to verify certificates.
15910
+ N.B. Make sure the HTTPS server certificates are signed with "subject alt
15911
+ name". For instance a certificate can be self-signed using the following
15912
+ command,
15913
+ openssl x509 -req -days 200 -in example.com.csr \\
15914
+ -signkey example.com.key \\
15915
+ -out example.com.crt \\
15916
+ -extfile <(printf "\\nsubjectAltName='DNS:www.example.com'")
15917
+ :param pulumi.Input[_builtins.str] http_method: HTTP method for the flexible webhook calls. Standard webhook always uses
15918
+ POST.
15919
+ Possible values are: `POST`, `GET`, `HEAD`, `PUT`, `DELETE`, `PATCH`, `OPTIONS`.
15920
+ :param pulumi.Input['CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgs'] oauth_config: Represents configuration of OAuth client credential flow for 3rd party
15921
+ API authentication.
15922
+ Structure is documented below.
15923
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] parameter_mapping: Maps the values extracted from specific fields of the flexible webhook
15924
+ response into session parameters.
15925
+ - Key: session parameter name
15926
+ - Value: field path in the webhook response
15927
+ :param pulumi.Input[_builtins.str] request_body: Defines a custom JSON object as request body to send to flexible webhook.
15157
15928
  :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] request_headers: The HTTP request headers to send together with webhook requests.
15929
+ :param pulumi.Input[_builtins.str] secret_version_for_username_password: The SecretManager secret version resource storing the username:password
15930
+ pair for HTTP Basic authentication.
15931
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
15932
+ :param pulumi.Input[Sequence[pulumi.Input['CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgs']]] secret_versions_for_request_headers: The HTTP request headers to send together with webhook requests. Header
15933
+ values are stored in SecretManager secret versions.
15934
+ When the same header name is specified in both `request_headers` and
15935
+ `secret_versions_for_request_headers`, the value in
15936
+ `secret_versions_for_request_headers` will be used.
15937
+ Structure is documented below.
15938
+ :param pulumi.Input[_builtins.str] service_agent_auth: Indicate the auth token type generated from the [Diglogflow service
15939
+ agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
15940
+ The generated token is sent in the Authorization header.
15941
+ Possible values are: `NONE`, `ID_TOKEN`, `ACCESS_TOKEN`.
15942
+ :param pulumi.Input[_builtins.str] webhook_type: Type of the webhook.
15943
+ Possible values are: `STANDARD`, `FLEXIBLE`.
15158
15944
  """
15159
15945
  pulumi.set(__self__, "uri", uri)
15160
15946
  if allowed_ca_certs is not None:
15161
15947
  pulumi.set(__self__, "allowed_ca_certs", allowed_ca_certs)
15948
+ if http_method is not None:
15949
+ pulumi.set(__self__, "http_method", http_method)
15950
+ if oauth_config is not None:
15951
+ pulumi.set(__self__, "oauth_config", oauth_config)
15952
+ if parameter_mapping is not None:
15953
+ pulumi.set(__self__, "parameter_mapping", parameter_mapping)
15954
+ if request_body is not None:
15955
+ pulumi.set(__self__, "request_body", request_body)
15162
15956
  if request_headers is not None:
15163
15957
  pulumi.set(__self__, "request_headers", request_headers)
15958
+ if secret_version_for_username_password is not None:
15959
+ pulumi.set(__self__, "secret_version_for_username_password", secret_version_for_username_password)
15960
+ if secret_versions_for_request_headers is not None:
15961
+ pulumi.set(__self__, "secret_versions_for_request_headers", secret_versions_for_request_headers)
15962
+ if service_agent_auth is not None:
15963
+ pulumi.set(__self__, "service_agent_auth", service_agent_auth)
15964
+ if webhook_type is not None:
15965
+ pulumi.set(__self__, "webhook_type", webhook_type)
15164
15966
 
15165
15967
  @_builtins.property
15166
15968
  @pulumi.getter
15167
15969
  def uri(self) -> pulumi.Input[_builtins.str]:
15168
15970
  """
15169
- Whether to use speech adaptation for speech recognition.
15971
+ The webhook URI for receiving POST requests. It must use https protocol.
15170
15972
  """
15171
15973
  return pulumi.get(self, "uri")
15172
15974
 
@@ -15178,7 +15980,17 @@ class CxWebhookServiceDirectoryGenericWebServiceArgs:
15178
15980
  @pulumi.getter(name="allowedCaCerts")
15179
15981
  def allowed_ca_certs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
15180
15982
  """
15181
- Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification.
15983
+ Specifies a list of allowed custom CA certificates (in DER format) for
15984
+ HTTPS verification. This overrides the default SSL trust store. If this
15985
+ is empty or unspecified, Dialogflow will use Google's default trust store
15986
+ to verify certificates.
15987
+ N.B. Make sure the HTTPS server certificates are signed with "subject alt
15988
+ name". For instance a certificate can be self-signed using the following
15989
+ command,
15990
+ openssl x509 -req -days 200 -in example.com.csr \\
15991
+ -signkey example.com.key \\
15992
+ -out example.com.crt \\
15993
+ -extfile <(printf "\\nsubjectAltName='DNS:www.example.com'")
15182
15994
  """
15183
15995
  return pulumi.get(self, "allowed_ca_certs")
15184
15996
 
@@ -15186,6 +15998,61 @@ class CxWebhookServiceDirectoryGenericWebServiceArgs:
15186
15998
  def allowed_ca_certs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
15187
15999
  pulumi.set(self, "allowed_ca_certs", value)
15188
16000
 
16001
+ @_builtins.property
16002
+ @pulumi.getter(name="httpMethod")
16003
+ def http_method(self) -> Optional[pulumi.Input[_builtins.str]]:
16004
+ """
16005
+ HTTP method for the flexible webhook calls. Standard webhook always uses
16006
+ POST.
16007
+ Possible values are: `POST`, `GET`, `HEAD`, `PUT`, `DELETE`, `PATCH`, `OPTIONS`.
16008
+ """
16009
+ return pulumi.get(self, "http_method")
16010
+
16011
+ @http_method.setter
16012
+ def http_method(self, value: Optional[pulumi.Input[_builtins.str]]):
16013
+ pulumi.set(self, "http_method", value)
16014
+
16015
+ @_builtins.property
16016
+ @pulumi.getter(name="oauthConfig")
16017
+ def oauth_config(self) -> Optional[pulumi.Input['CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgs']]:
16018
+ """
16019
+ Represents configuration of OAuth client credential flow for 3rd party
16020
+ API authentication.
16021
+ Structure is documented below.
16022
+ """
16023
+ return pulumi.get(self, "oauth_config")
16024
+
16025
+ @oauth_config.setter
16026
+ def oauth_config(self, value: Optional[pulumi.Input['CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgs']]):
16027
+ pulumi.set(self, "oauth_config", value)
16028
+
16029
+ @_builtins.property
16030
+ @pulumi.getter(name="parameterMapping")
16031
+ def parameter_mapping(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
16032
+ """
16033
+ Maps the values extracted from specific fields of the flexible webhook
16034
+ response into session parameters.
16035
+ - Key: session parameter name
16036
+ - Value: field path in the webhook response
16037
+ """
16038
+ return pulumi.get(self, "parameter_mapping")
16039
+
16040
+ @parameter_mapping.setter
16041
+ def parameter_mapping(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
16042
+ pulumi.set(self, "parameter_mapping", value)
16043
+
16044
+ @_builtins.property
16045
+ @pulumi.getter(name="requestBody")
16046
+ def request_body(self) -> Optional[pulumi.Input[_builtins.str]]:
16047
+ """
16048
+ Defines a custom JSON object as request body to send to flexible webhook.
16049
+ """
16050
+ return pulumi.get(self, "request_body")
16051
+
16052
+ @request_body.setter
16053
+ def request_body(self, value: Optional[pulumi.Input[_builtins.str]]):
16054
+ pulumi.set(self, "request_body", value)
16055
+
15189
16056
  @_builtins.property
15190
16057
  @pulumi.getter(name="requestHeaders")
15191
16058
  def request_headers(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
@@ -15198,6 +16065,246 @@ class CxWebhookServiceDirectoryGenericWebServiceArgs:
15198
16065
  def request_headers(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
15199
16066
  pulumi.set(self, "request_headers", value)
15200
16067
 
16068
+ @_builtins.property
16069
+ @pulumi.getter(name="secretVersionForUsernamePassword")
16070
+ def secret_version_for_username_password(self) -> Optional[pulumi.Input[_builtins.str]]:
16071
+ """
16072
+ The SecretManager secret version resource storing the username:password
16073
+ pair for HTTP Basic authentication.
16074
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
16075
+ """
16076
+ return pulumi.get(self, "secret_version_for_username_password")
16077
+
16078
+ @secret_version_for_username_password.setter
16079
+ def secret_version_for_username_password(self, value: Optional[pulumi.Input[_builtins.str]]):
16080
+ pulumi.set(self, "secret_version_for_username_password", value)
16081
+
16082
+ @_builtins.property
16083
+ @pulumi.getter(name="secretVersionsForRequestHeaders")
16084
+ def secret_versions_for_request_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgs']]]]:
16085
+ """
16086
+ The HTTP request headers to send together with webhook requests. Header
16087
+ values are stored in SecretManager secret versions.
16088
+ When the same header name is specified in both `request_headers` and
16089
+ `secret_versions_for_request_headers`, the value in
16090
+ `secret_versions_for_request_headers` will be used.
16091
+ Structure is documented below.
16092
+ """
16093
+ return pulumi.get(self, "secret_versions_for_request_headers")
16094
+
16095
+ @secret_versions_for_request_headers.setter
16096
+ def secret_versions_for_request_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgs']]]]):
16097
+ pulumi.set(self, "secret_versions_for_request_headers", value)
16098
+
16099
+ @_builtins.property
16100
+ @pulumi.getter(name="serviceAgentAuth")
16101
+ def service_agent_auth(self) -> Optional[pulumi.Input[_builtins.str]]:
16102
+ """
16103
+ Indicate the auth token type generated from the [Diglogflow service
16104
+ agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
16105
+ The generated token is sent in the Authorization header.
16106
+ Possible values are: `NONE`, `ID_TOKEN`, `ACCESS_TOKEN`.
16107
+ """
16108
+ return pulumi.get(self, "service_agent_auth")
16109
+
16110
+ @service_agent_auth.setter
16111
+ def service_agent_auth(self, value: Optional[pulumi.Input[_builtins.str]]):
16112
+ pulumi.set(self, "service_agent_auth", value)
16113
+
16114
+ @_builtins.property
16115
+ @pulumi.getter(name="webhookType")
16116
+ def webhook_type(self) -> Optional[pulumi.Input[_builtins.str]]:
16117
+ """
16118
+ Type of the webhook.
16119
+ Possible values are: `STANDARD`, `FLEXIBLE`.
16120
+ """
16121
+ return pulumi.get(self, "webhook_type")
16122
+
16123
+ @webhook_type.setter
16124
+ def webhook_type(self, value: Optional[pulumi.Input[_builtins.str]]):
16125
+ pulumi.set(self, "webhook_type", value)
16126
+
16127
+
16128
+ if not MYPY:
16129
+ class CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgsDict(TypedDict):
16130
+ client_id: pulumi.Input[_builtins.str]
16131
+ """
16132
+ The client ID provided by the 3rd party platform.
16133
+ """
16134
+ token_endpoint: pulumi.Input[_builtins.str]
16135
+ """
16136
+ The token endpoint provided by the 3rd party platform to exchange an
16137
+ access token.
16138
+ """
16139
+ client_secret: NotRequired[pulumi.Input[_builtins.str]]
16140
+ """
16141
+ The client secret provided by the 3rd party platform. If the
16142
+ `secret_version_for_client_secret` field is set, this field will be
16143
+ ignored.
16144
+ """
16145
+ scopes: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
16146
+ """
16147
+ The OAuth scopes to grant.
16148
+ """
16149
+ secret_version_for_client_secret: NotRequired[pulumi.Input[_builtins.str]]
16150
+ """
16151
+ The name of the SecretManager secret version resource storing the
16152
+ client secret. If this field is set, the `client_secret` field will be
16153
+ ignored.
16154
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
16155
+ """
16156
+ elif False:
16157
+ CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgsDict: TypeAlias = Mapping[str, Any]
16158
+
16159
+ @pulumi.input_type
16160
+ class CxWebhookServiceDirectoryGenericWebServiceOauthConfigArgs:
16161
+ def __init__(__self__, *,
16162
+ client_id: pulumi.Input[_builtins.str],
16163
+ token_endpoint: pulumi.Input[_builtins.str],
16164
+ client_secret: Optional[pulumi.Input[_builtins.str]] = None,
16165
+ scopes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
16166
+ secret_version_for_client_secret: Optional[pulumi.Input[_builtins.str]] = None):
16167
+ """
16168
+ :param pulumi.Input[_builtins.str] client_id: The client ID provided by the 3rd party platform.
16169
+ :param pulumi.Input[_builtins.str] token_endpoint: The token endpoint provided by the 3rd party platform to exchange an
16170
+ access token.
16171
+ :param pulumi.Input[_builtins.str] client_secret: The client secret provided by the 3rd party platform. If the
16172
+ `secret_version_for_client_secret` field is set, this field will be
16173
+ ignored.
16174
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scopes: The OAuth scopes to grant.
16175
+ :param pulumi.Input[_builtins.str] secret_version_for_client_secret: The name of the SecretManager secret version resource storing the
16176
+ client secret. If this field is set, the `client_secret` field will be
16177
+ ignored.
16178
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
16179
+ """
16180
+ pulumi.set(__self__, "client_id", client_id)
16181
+ pulumi.set(__self__, "token_endpoint", token_endpoint)
16182
+ if client_secret is not None:
16183
+ pulumi.set(__self__, "client_secret", client_secret)
16184
+ if scopes is not None:
16185
+ pulumi.set(__self__, "scopes", scopes)
16186
+ if secret_version_for_client_secret is not None:
16187
+ pulumi.set(__self__, "secret_version_for_client_secret", secret_version_for_client_secret)
16188
+
16189
+ @_builtins.property
16190
+ @pulumi.getter(name="clientId")
16191
+ def client_id(self) -> pulumi.Input[_builtins.str]:
16192
+ """
16193
+ The client ID provided by the 3rd party platform.
16194
+ """
16195
+ return pulumi.get(self, "client_id")
16196
+
16197
+ @client_id.setter
16198
+ def client_id(self, value: pulumi.Input[_builtins.str]):
16199
+ pulumi.set(self, "client_id", value)
16200
+
16201
+ @_builtins.property
16202
+ @pulumi.getter(name="tokenEndpoint")
16203
+ def token_endpoint(self) -> pulumi.Input[_builtins.str]:
16204
+ """
16205
+ The token endpoint provided by the 3rd party platform to exchange an
16206
+ access token.
16207
+ """
16208
+ return pulumi.get(self, "token_endpoint")
16209
+
16210
+ @token_endpoint.setter
16211
+ def token_endpoint(self, value: pulumi.Input[_builtins.str]):
16212
+ pulumi.set(self, "token_endpoint", value)
16213
+
16214
+ @_builtins.property
16215
+ @pulumi.getter(name="clientSecret")
16216
+ def client_secret(self) -> Optional[pulumi.Input[_builtins.str]]:
16217
+ """
16218
+ The client secret provided by the 3rd party platform. If the
16219
+ `secret_version_for_client_secret` field is set, this field will be
16220
+ ignored.
16221
+ """
16222
+ return pulumi.get(self, "client_secret")
16223
+
16224
+ @client_secret.setter
16225
+ def client_secret(self, value: Optional[pulumi.Input[_builtins.str]]):
16226
+ pulumi.set(self, "client_secret", value)
16227
+
16228
+ @_builtins.property
16229
+ @pulumi.getter
16230
+ def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
16231
+ """
16232
+ The OAuth scopes to grant.
16233
+ """
16234
+ return pulumi.get(self, "scopes")
16235
+
16236
+ @scopes.setter
16237
+ def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
16238
+ pulumi.set(self, "scopes", value)
16239
+
16240
+ @_builtins.property
16241
+ @pulumi.getter(name="secretVersionForClientSecret")
16242
+ def secret_version_for_client_secret(self) -> Optional[pulumi.Input[_builtins.str]]:
16243
+ """
16244
+ The name of the SecretManager secret version resource storing the
16245
+ client secret. If this field is set, the `client_secret` field will be
16246
+ ignored.
16247
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
16248
+ """
16249
+ return pulumi.get(self, "secret_version_for_client_secret")
16250
+
16251
+ @secret_version_for_client_secret.setter
16252
+ def secret_version_for_client_secret(self, value: Optional[pulumi.Input[_builtins.str]]):
16253
+ pulumi.set(self, "secret_version_for_client_secret", value)
16254
+
16255
+
16256
+ if not MYPY:
16257
+ class CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgsDict(TypedDict):
16258
+ key: pulumi.Input[_builtins.str]
16259
+ """
16260
+ The identifier for this object. Format specified above.
16261
+ """
16262
+ secret_version: pulumi.Input[_builtins.str]
16263
+ """
16264
+ The SecretManager secret version resource storing the header value.
16265
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
16266
+ """
16267
+ elif False:
16268
+ CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgsDict: TypeAlias = Mapping[str, Any]
16269
+
16270
+ @pulumi.input_type
16271
+ class CxWebhookServiceDirectoryGenericWebServiceSecretVersionsForRequestHeaderArgs:
16272
+ def __init__(__self__, *,
16273
+ key: pulumi.Input[_builtins.str],
16274
+ secret_version: pulumi.Input[_builtins.str]):
16275
+ """
16276
+ :param pulumi.Input[_builtins.str] key: The identifier for this object. Format specified above.
16277
+ :param pulumi.Input[_builtins.str] secret_version: The SecretManager secret version resource storing the header value.
16278
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
16279
+ """
16280
+ pulumi.set(__self__, "key", key)
16281
+ pulumi.set(__self__, "secret_version", secret_version)
16282
+
16283
+ @_builtins.property
16284
+ @pulumi.getter
16285
+ def key(self) -> pulumi.Input[_builtins.str]:
16286
+ """
16287
+ The identifier for this object. Format specified above.
16288
+ """
16289
+ return pulumi.get(self, "key")
16290
+
16291
+ @key.setter
16292
+ def key(self, value: pulumi.Input[_builtins.str]):
16293
+ pulumi.set(self, "key", value)
16294
+
16295
+ @_builtins.property
16296
+ @pulumi.getter(name="secretVersion")
16297
+ def secret_version(self) -> pulumi.Input[_builtins.str]:
16298
+ """
16299
+ The SecretManager secret version resource storing the header value.
16300
+ Format: `projects/{project}/secrets/{secret}/versions/{version}`
16301
+ """
16302
+ return pulumi.get(self, "secret_version")
16303
+
16304
+ @secret_version.setter
16305
+ def secret_version(self, value: pulumi.Input[_builtins.str]):
16306
+ pulumi.set(self, "secret_version", value)
16307
+
15201
16308
 
15202
16309
  if not MYPY:
15203
16310
  class EncryptionSpecEncryptionSpecArgsDict(TypedDict):