pulumi-gcp 8.7.0a1730183903__py3-none-any.whl → 8.7.0a1730196225__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 (111) hide show
  1. pulumi_gcp/__init__.py +70 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter.py +2 -0
  3. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +4 -0
  4. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +4 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +4 -0
  6. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +4 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeters.py +2 -0
  8. pulumi_gcp/apigee/__init__.py +2 -0
  9. pulumi_gcp/apigee/_inputs.py +108 -0
  10. pulumi_gcp/apigee/app_group.py +811 -0
  11. pulumi_gcp/apigee/developer.py +757 -0
  12. pulumi_gcp/apigee/outputs.py +64 -0
  13. pulumi_gcp/artifactregistry/get_docker_image.py +40 -0
  14. pulumi_gcp/bigquery/connection.py +12 -12
  15. pulumi_gcp/bigquery/job.py +6 -6
  16. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  17. pulumi_gcp/cloudrunv2/service.py +92 -0
  18. pulumi_gcp/compute/_inputs.py +214 -116
  19. pulumi_gcp/compute/backend_service.py +76 -0
  20. pulumi_gcp/compute/get_backend_service.py +12 -1
  21. pulumi_gcp/compute/get_instance.py +29 -1
  22. pulumi_gcp/compute/get_instance_template.py +29 -1
  23. pulumi_gcp/compute/get_region_instance_group_manager.py +0 -18
  24. pulumi_gcp/compute/get_region_instance_template.py +29 -1
  25. pulumi_gcp/compute/instance.py +89 -0
  26. pulumi_gcp/compute/instance_from_machine_image.py +82 -0
  27. pulumi_gcp/compute/instance_from_template.py +82 -0
  28. pulumi_gcp/compute/instance_template.py +75 -0
  29. pulumi_gcp/compute/network_firewall_policy_association.py +76 -50
  30. pulumi_gcp/compute/network_firewall_policy_rule.py +149 -103
  31. pulumi_gcp/compute/outputs.py +170 -80
  32. pulumi_gcp/compute/region_backend_service.py +94 -0
  33. pulumi_gcp/compute/region_instance_template.py +75 -0
  34. pulumi_gcp/compute/region_network_endpoint_group.py +6 -4
  35. pulumi_gcp/compute/region_network_firewall_policy_association.py +104 -54
  36. pulumi_gcp/compute/region_network_firewall_policy_rule.py +160 -107
  37. pulumi_gcp/config/__init__.pyi +4 -0
  38. pulumi_gcp/config/vars.py +8 -0
  39. pulumi_gcp/container/attached_cluster.py +9 -6
  40. pulumi_gcp/container/outputs.py +2 -2
  41. pulumi_gcp/datastream/stream.py +2 -2
  42. pulumi_gcp/diagflow/_inputs.py +472 -2
  43. pulumi_gcp/diagflow/cx_agent.py +64 -4
  44. pulumi_gcp/diagflow/cx_flow.py +30 -0
  45. pulumi_gcp/diagflow/outputs.py +378 -2
  46. pulumi_gcp/gkehub/feature.py +2 -4
  47. pulumi_gcp/iam/workload_identity_pool_provider.py +56 -0
  48. pulumi_gcp/looker/instance.py +104 -2
  49. pulumi_gcp/monitoring/_inputs.py +23 -0
  50. pulumi_gcp/monitoring/get_secret_version.py +22 -3
  51. pulumi_gcp/monitoring/outputs.py +16 -0
  52. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  53. pulumi_gcp/networkconnectivity/_inputs.py +148 -0
  54. pulumi_gcp/networkconnectivity/group.py +764 -0
  55. pulumi_gcp/networkconnectivity/outputs.py +125 -0
  56. pulumi_gcp/networkconnectivity/spoke.py +144 -0
  57. pulumi_gcp/networksecurity/server_tls_policy.py +2 -2
  58. pulumi_gcp/oracledatabase/__init__.py +20 -0
  59. pulumi_gcp/oracledatabase/_inputs.py +4745 -0
  60. pulumi_gcp/oracledatabase/autonomous_database.py +983 -0
  61. pulumi_gcp/oracledatabase/cloud_exadata_infrastructure.py +842 -0
  62. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +1086 -0
  63. pulumi_gcp/oracledatabase/get_autonomous_database.py +290 -0
  64. pulumi_gcp/oracledatabase/get_autonomous_databases.py +150 -0
  65. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructure.py +257 -0
  66. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructures.py +150 -0
  67. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +290 -0
  68. pulumi_gcp/oracledatabase/get_cloud_vm_clusters.py +150 -0
  69. pulumi_gcp/oracledatabase/get_db_nodes.py +245 -0
  70. pulumi_gcp/oracledatabase/get_db_servers.py +245 -0
  71. pulumi_gcp/oracledatabase/outputs.py +9304 -0
  72. pulumi_gcp/organizations/folder.py +7 -7
  73. pulumi_gcp/organizations/project.py +7 -7
  74. pulumi_gcp/orgpolicy/_inputs.py +3 -3
  75. pulumi_gcp/orgpolicy/outputs.py +2 -2
  76. pulumi_gcp/privilegedaccessmanager/get_entitlement.py +46 -2
  77. pulumi_gcp/provider.py +40 -0
  78. pulumi_gcp/pulumi-plugin.json +1 -1
  79. pulumi_gcp/secretmanager/get_regional_secret_version.py +24 -5
  80. pulumi_gcp/secretmanager/get_regional_secret_version_access.py +24 -5
  81. pulumi_gcp/secretmanager/get_secret_version.py +22 -3
  82. pulumi_gcp/secretmanager/get_secret_version_access.py +22 -3
  83. pulumi_gcp/secretmanager/regional_secret.py +2 -2
  84. pulumi_gcp/siteverification/get_token.py +0 -16
  85. pulumi_gcp/siteverification/owner.py +0 -16
  86. pulumi_gcp/spanner/_inputs.py +29 -5
  87. pulumi_gcp/spanner/outputs.py +20 -3
  88. pulumi_gcp/sql/_inputs.py +6 -6
  89. pulumi_gcp/sql/outputs.py +4 -4
  90. pulumi_gcp/sql/user.py +28 -21
  91. pulumi_gcp/storage/_inputs.py +36 -0
  92. pulumi_gcp/storage/bucket.py +47 -0
  93. pulumi_gcp/storage/get_bucket.py +12 -1
  94. pulumi_gcp/storage/outputs.py +40 -0
  95. pulumi_gcp/transcoder/__init__.py +11 -0
  96. pulumi_gcp/transcoder/_inputs.py +3991 -0
  97. pulumi_gcp/transcoder/job.py +2134 -0
  98. pulumi_gcp/transcoder/job_template.py +1524 -0
  99. pulumi_gcp/transcoder/outputs.py +2918 -0
  100. pulumi_gcp/vertex/ai_deployment_resource_pool.py +2 -2
  101. pulumi_gcp/vmwareengine/_inputs.py +440 -0
  102. pulumi_gcp/vmwareengine/cluster.py +100 -2
  103. pulumi_gcp/vmwareengine/get_cluster.py +12 -1
  104. pulumi_gcp/vmwareengine/outputs.py +615 -0
  105. pulumi_gcp/workstations/_inputs.py +54 -0
  106. pulumi_gcp/workstations/outputs.py +32 -0
  107. pulumi_gcp/workstations/workstation_config.py +205 -0
  108. {pulumi_gcp-8.7.0a1730183903.dist-info → pulumi_gcp-8.7.0a1730196225.dist-info}/METADATA +1 -1
  109. {pulumi_gcp-8.7.0a1730183903.dist-info → pulumi_gcp-8.7.0a1730196225.dist-info}/RECORD +111 -89
  110. {pulumi_gcp-8.7.0a1730183903.dist-info → pulumi_gcp-8.7.0a1730196225.dist-info}/WHEEL +1 -1
  111. {pulumi_gcp-8.7.0a1730183903.dist-info → pulumi_gcp-8.7.0a1730196225.dist-info}/top_level.txt +0 -0
@@ -19,6 +19,8 @@ __all__ = [
19
19
  'CxAgentAdvancedSettings',
20
20
  'CxAgentAdvancedSettingsAudioExportGcsDestination',
21
21
  'CxAgentAdvancedSettingsDtmfSettings',
22
+ 'CxAgentAdvancedSettingsLoggingSettings',
23
+ 'CxAgentAdvancedSettingsSpeechSettings',
22
24
  'CxAgentGitIntegrationSettings',
23
25
  'CxAgentGitIntegrationSettingsGithubSettings',
24
26
  'CxAgentSpeechToTextSettings',
@@ -29,6 +31,8 @@ __all__ = [
29
31
  'CxFlowAdvancedSettings',
30
32
  'CxFlowAdvancedSettingsAudioExportGcsDestination',
31
33
  'CxFlowAdvancedSettingsDtmfSettings',
34
+ 'CxFlowAdvancedSettingsLoggingSettings',
35
+ 'CxFlowAdvancedSettingsSpeechSettings',
32
36
  'CxFlowEventHandler',
33
37
  'CxFlowEventHandlerTriggerFulfillment',
34
38
  'CxFlowEventHandlerTriggerFulfillmentConditionalCase',
@@ -160,6 +164,10 @@ class CxAgentAdvancedSettings(dict):
160
164
  suggest = "audio_export_gcs_destination"
161
165
  elif key == "dtmfSettings":
162
166
  suggest = "dtmf_settings"
167
+ elif key == "loggingSettings":
168
+ suggest = "logging_settings"
169
+ elif key == "speechSettings":
170
+ suggest = "speech_settings"
163
171
 
164
172
  if suggest:
165
173
  pulumi.log.warn(f"Key '{key}' not found in CxAgentAdvancedSettings. Access the value via the '{suggest}' property getter instead.")
@@ -174,7 +182,9 @@ class CxAgentAdvancedSettings(dict):
174
182
 
175
183
  def __init__(__self__, *,
176
184
  audio_export_gcs_destination: Optional['outputs.CxAgentAdvancedSettingsAudioExportGcsDestination'] = None,
177
- dtmf_settings: Optional['outputs.CxAgentAdvancedSettingsDtmfSettings'] = None):
185
+ dtmf_settings: Optional['outputs.CxAgentAdvancedSettingsDtmfSettings'] = None,
186
+ logging_settings: Optional['outputs.CxAgentAdvancedSettingsLoggingSettings'] = None,
187
+ speech_settings: Optional['outputs.CxAgentAdvancedSettingsSpeechSettings'] = None):
178
188
  """
179
189
  :param 'CxAgentAdvancedSettingsAudioExportGcsDestinationArgs' audio_export_gcs_destination: If present, incoming audio is exported by Dialogflow to the configured Google Cloud Storage destination. Exposed at the following levels:
180
190
  * Agent level
@@ -186,11 +196,24 @@ class CxAgentAdvancedSettings(dict):
186
196
  * Page level
187
197
  * Parameter level
188
198
  Structure is documented below.
199
+ :param 'CxAgentAdvancedSettingsLoggingSettingsArgs' logging_settings: Settings for logging. Settings for Dialogflow History, Contact Center messages, StackDriver logs, and speech logging. Exposed at the following levels:
200
+ * Agent level
201
+ Structure is documented below.
202
+ :param 'CxAgentAdvancedSettingsSpeechSettingsArgs' speech_settings: Settings for speech to text detection. Exposed at the following levels:
203
+ * Agent level
204
+ * Flow level
205
+ * Page level
206
+ * Parameter level
207
+ Structure is documented below.
189
208
  """
190
209
  if audio_export_gcs_destination is not None:
191
210
  pulumi.set(__self__, "audio_export_gcs_destination", audio_export_gcs_destination)
192
211
  if dtmf_settings is not None:
193
212
  pulumi.set(__self__, "dtmf_settings", dtmf_settings)
213
+ if logging_settings is not None:
214
+ pulumi.set(__self__, "logging_settings", logging_settings)
215
+ if speech_settings is not None:
216
+ pulumi.set(__self__, "speech_settings", speech_settings)
194
217
 
195
218
  @property
196
219
  @pulumi.getter(name="audioExportGcsDestination")
@@ -216,6 +239,29 @@ class CxAgentAdvancedSettings(dict):
216
239
  """
217
240
  return pulumi.get(self, "dtmf_settings")
218
241
 
242
+ @property
243
+ @pulumi.getter(name="loggingSettings")
244
+ def logging_settings(self) -> Optional['outputs.CxAgentAdvancedSettingsLoggingSettings']:
245
+ """
246
+ Settings for logging. Settings for Dialogflow History, Contact Center messages, StackDriver logs, and speech logging. Exposed at the following levels:
247
+ * Agent level
248
+ Structure is documented below.
249
+ """
250
+ return pulumi.get(self, "logging_settings")
251
+
252
+ @property
253
+ @pulumi.getter(name="speechSettings")
254
+ def speech_settings(self) -> Optional['outputs.CxAgentAdvancedSettingsSpeechSettings']:
255
+ """
256
+ Settings for speech to text detection. Exposed at the following levels:
257
+ * Agent level
258
+ * Flow level
259
+ * Page level
260
+ * Parameter level
261
+ Structure is documented below.
262
+ """
263
+ return pulumi.get(self, "speech_settings")
264
+
219
265
 
220
266
  @pulumi.output_type
221
267
  class CxAgentAdvancedSettingsAudioExportGcsDestination(dict):
@@ -300,6 +346,150 @@ class CxAgentAdvancedSettingsDtmfSettings(dict):
300
346
  return pulumi.get(self, "max_digits")
301
347
 
302
348
 
349
+ @pulumi.output_type
350
+ class CxAgentAdvancedSettingsLoggingSettings(dict):
351
+ @staticmethod
352
+ def __key_warning(key: str):
353
+ suggest = None
354
+ if key == "enableConsentBasedRedaction":
355
+ suggest = "enable_consent_based_redaction"
356
+ elif key == "enableInteractionLogging":
357
+ suggest = "enable_interaction_logging"
358
+ elif key == "enableStackdriverLogging":
359
+ suggest = "enable_stackdriver_logging"
360
+
361
+ if suggest:
362
+ pulumi.log.warn(f"Key '{key}' not found in CxAgentAdvancedSettingsLoggingSettings. Access the value via the '{suggest}' property getter instead.")
363
+
364
+ def __getitem__(self, key: str) -> Any:
365
+ CxAgentAdvancedSettingsLoggingSettings.__key_warning(key)
366
+ return super().__getitem__(key)
367
+
368
+ def get(self, key: str, default = None) -> Any:
369
+ CxAgentAdvancedSettingsLoggingSettings.__key_warning(key)
370
+ return super().get(key, default)
371
+
372
+ def __init__(__self__, *,
373
+ enable_consent_based_redaction: Optional[bool] = None,
374
+ enable_interaction_logging: Optional[bool] = None,
375
+ enable_stackdriver_logging: Optional[bool] = None):
376
+ """
377
+ :param bool enable_consent_based_redaction: Enables consent-based end-user input redaction, if true, a pre-defined session parameter **$session.params.conversation-redaction** will be used to determine if the utterance should be redacted.
378
+ :param bool enable_interaction_logging: Enables DF Interaction logging.
379
+ :param bool enable_stackdriver_logging: Enables Google Cloud Logging.
380
+ """
381
+ if enable_consent_based_redaction is not None:
382
+ pulumi.set(__self__, "enable_consent_based_redaction", enable_consent_based_redaction)
383
+ if enable_interaction_logging is not None:
384
+ pulumi.set(__self__, "enable_interaction_logging", enable_interaction_logging)
385
+ if enable_stackdriver_logging is not None:
386
+ pulumi.set(__self__, "enable_stackdriver_logging", enable_stackdriver_logging)
387
+
388
+ @property
389
+ @pulumi.getter(name="enableConsentBasedRedaction")
390
+ def enable_consent_based_redaction(self) -> Optional[bool]:
391
+ """
392
+ Enables consent-based end-user input redaction, if true, a pre-defined session parameter **$session.params.conversation-redaction** will be used to determine if the utterance should be redacted.
393
+ """
394
+ return pulumi.get(self, "enable_consent_based_redaction")
395
+
396
+ @property
397
+ @pulumi.getter(name="enableInteractionLogging")
398
+ def enable_interaction_logging(self) -> Optional[bool]:
399
+ """
400
+ Enables DF Interaction logging.
401
+ """
402
+ return pulumi.get(self, "enable_interaction_logging")
403
+
404
+ @property
405
+ @pulumi.getter(name="enableStackdriverLogging")
406
+ def enable_stackdriver_logging(self) -> Optional[bool]:
407
+ """
408
+ Enables Google Cloud Logging.
409
+ """
410
+ return pulumi.get(self, "enable_stackdriver_logging")
411
+
412
+
413
+ @pulumi.output_type
414
+ class CxAgentAdvancedSettingsSpeechSettings(dict):
415
+ @staticmethod
416
+ def __key_warning(key: str):
417
+ suggest = None
418
+ if key == "endpointerSensitivity":
419
+ suggest = "endpointer_sensitivity"
420
+ elif key == "noSpeechTimeout":
421
+ suggest = "no_speech_timeout"
422
+ elif key == "useTimeoutBasedEndpointing":
423
+ suggest = "use_timeout_based_endpointing"
424
+
425
+ if suggest:
426
+ pulumi.log.warn(f"Key '{key}' not found in CxAgentAdvancedSettingsSpeechSettings. Access the value via the '{suggest}' property getter instead.")
427
+
428
+ def __getitem__(self, key: str) -> Any:
429
+ CxAgentAdvancedSettingsSpeechSettings.__key_warning(key)
430
+ return super().__getitem__(key)
431
+
432
+ def get(self, key: str, default = None) -> Any:
433
+ CxAgentAdvancedSettingsSpeechSettings.__key_warning(key)
434
+ return super().get(key, default)
435
+
436
+ def __init__(__self__, *,
437
+ endpointer_sensitivity: Optional[int] = None,
438
+ models: Optional[Mapping[str, str]] = None,
439
+ no_speech_timeout: Optional[str] = None,
440
+ use_timeout_based_endpointing: Optional[bool] = None):
441
+ """
442
+ :param int endpointer_sensitivity: Sensitivity of the speech model that detects the end of speech. Scale from 0 to 100.
443
+ :param Mapping[str, str] models: Mapping from language to Speech-to-Text model. The mapped Speech-to-Text model will be selected for requests from its corresponding language. For more information, see [Speech models](https://cloud.google.com/dialogflow/cx/docs/concept/speech-models).
444
+ An object containing a list of **"key": value** pairs. Example: **{ "name": "wrench", "mass": "1.3kg", "count": "3" }**.
445
+ :param str no_speech_timeout: Timeout before detecting no speech.
446
+ A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
447
+ :param bool use_timeout_based_endpointing: Use timeout based endpointing, interpreting endpointer sensitivy as seconds of timeout value.
448
+ """
449
+ if endpointer_sensitivity is not None:
450
+ pulumi.set(__self__, "endpointer_sensitivity", endpointer_sensitivity)
451
+ if models is not None:
452
+ pulumi.set(__self__, "models", models)
453
+ if no_speech_timeout is not None:
454
+ pulumi.set(__self__, "no_speech_timeout", no_speech_timeout)
455
+ if use_timeout_based_endpointing is not None:
456
+ pulumi.set(__self__, "use_timeout_based_endpointing", use_timeout_based_endpointing)
457
+
458
+ @property
459
+ @pulumi.getter(name="endpointerSensitivity")
460
+ def endpointer_sensitivity(self) -> Optional[int]:
461
+ """
462
+ Sensitivity of the speech model that detects the end of speech. Scale from 0 to 100.
463
+ """
464
+ return pulumi.get(self, "endpointer_sensitivity")
465
+
466
+ @property
467
+ @pulumi.getter
468
+ def models(self) -> Optional[Mapping[str, str]]:
469
+ """
470
+ Mapping from language to Speech-to-Text model. The mapped Speech-to-Text model will be selected for requests from its corresponding language. For more information, see [Speech models](https://cloud.google.com/dialogflow/cx/docs/concept/speech-models).
471
+ An object containing a list of **"key": value** pairs. Example: **{ "name": "wrench", "mass": "1.3kg", "count": "3" }**.
472
+ """
473
+ return pulumi.get(self, "models")
474
+
475
+ @property
476
+ @pulumi.getter(name="noSpeechTimeout")
477
+ def no_speech_timeout(self) -> Optional[str]:
478
+ """
479
+ Timeout before detecting no speech.
480
+ A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
481
+ """
482
+ return pulumi.get(self, "no_speech_timeout")
483
+
484
+ @property
485
+ @pulumi.getter(name="useTimeoutBasedEndpointing")
486
+ def use_timeout_based_endpointing(self) -> Optional[bool]:
487
+ """
488
+ Use timeout based endpointing, interpreting endpointer sensitivy as seconds of timeout value.
489
+ """
490
+ return pulumi.get(self, "use_timeout_based_endpointing")
491
+
492
+
303
493
  @pulumi.output_type
304
494
  class CxAgentGitIntegrationSettings(dict):
305
495
  @staticmethod
@@ -599,6 +789,10 @@ class CxFlowAdvancedSettings(dict):
599
789
  suggest = "audio_export_gcs_destination"
600
790
  elif key == "dtmfSettings":
601
791
  suggest = "dtmf_settings"
792
+ elif key == "loggingSettings":
793
+ suggest = "logging_settings"
794
+ elif key == "speechSettings":
795
+ suggest = "speech_settings"
602
796
 
603
797
  if suggest:
604
798
  pulumi.log.warn(f"Key '{key}' not found in CxFlowAdvancedSettings. Access the value via the '{suggest}' property getter instead.")
@@ -613,7 +807,9 @@ class CxFlowAdvancedSettings(dict):
613
807
 
614
808
  def __init__(__self__, *,
615
809
  audio_export_gcs_destination: Optional['outputs.CxFlowAdvancedSettingsAudioExportGcsDestination'] = None,
616
- dtmf_settings: Optional['outputs.CxFlowAdvancedSettingsDtmfSettings'] = None):
810
+ dtmf_settings: Optional['outputs.CxFlowAdvancedSettingsDtmfSettings'] = None,
811
+ logging_settings: Optional['outputs.CxFlowAdvancedSettingsLoggingSettings'] = None,
812
+ speech_settings: Optional['outputs.CxFlowAdvancedSettingsSpeechSettings'] = None):
617
813
  """
618
814
  :param 'CxFlowAdvancedSettingsAudioExportGcsDestinationArgs' audio_export_gcs_destination: If present, incoming audio is exported by Dialogflow to the configured Google Cloud Storage destination. Exposed at the following levels:
619
815
  * Agent level
@@ -625,11 +821,24 @@ class CxFlowAdvancedSettings(dict):
625
821
  * Page level
626
822
  * Parameter level
627
823
  Structure is documented below.
824
+ :param 'CxFlowAdvancedSettingsLoggingSettingsArgs' logging_settings: Settings for logging. Settings for Dialogflow History, Contact Center messages, StackDriver logs, and speech logging. Exposed at the following levels:
825
+ * Agent level
826
+ Structure is documented below.
827
+ :param 'CxFlowAdvancedSettingsSpeechSettingsArgs' speech_settings: Settings for speech to text detection. Exposed at the following levels:
828
+ * Agent level
829
+ * Flow level
830
+ * Page level
831
+ * Parameter level
832
+ Structure is documented below.
628
833
  """
629
834
  if audio_export_gcs_destination is not None:
630
835
  pulumi.set(__self__, "audio_export_gcs_destination", audio_export_gcs_destination)
631
836
  if dtmf_settings is not None:
632
837
  pulumi.set(__self__, "dtmf_settings", dtmf_settings)
838
+ if logging_settings is not None:
839
+ pulumi.set(__self__, "logging_settings", logging_settings)
840
+ if speech_settings is not None:
841
+ pulumi.set(__self__, "speech_settings", speech_settings)
633
842
 
634
843
  @property
635
844
  @pulumi.getter(name="audioExportGcsDestination")
@@ -655,6 +864,29 @@ class CxFlowAdvancedSettings(dict):
655
864
  """
656
865
  return pulumi.get(self, "dtmf_settings")
657
866
 
867
+ @property
868
+ @pulumi.getter(name="loggingSettings")
869
+ def logging_settings(self) -> Optional['outputs.CxFlowAdvancedSettingsLoggingSettings']:
870
+ """
871
+ Settings for logging. Settings for Dialogflow History, Contact Center messages, StackDriver logs, and speech logging. Exposed at the following levels:
872
+ * Agent level
873
+ Structure is documented below.
874
+ """
875
+ return pulumi.get(self, "logging_settings")
876
+
877
+ @property
878
+ @pulumi.getter(name="speechSettings")
879
+ def speech_settings(self) -> Optional['outputs.CxFlowAdvancedSettingsSpeechSettings']:
880
+ """
881
+ Settings for speech to text detection. Exposed at the following levels:
882
+ * Agent level
883
+ * Flow level
884
+ * Page level
885
+ * Parameter level
886
+ Structure is documented below.
887
+ """
888
+ return pulumi.get(self, "speech_settings")
889
+
658
890
 
659
891
  @pulumi.output_type
660
892
  class CxFlowAdvancedSettingsAudioExportGcsDestination(dict):
@@ -739,6 +971,150 @@ class CxFlowAdvancedSettingsDtmfSettings(dict):
739
971
  return pulumi.get(self, "max_digits")
740
972
 
741
973
 
974
+ @pulumi.output_type
975
+ class CxFlowAdvancedSettingsLoggingSettings(dict):
976
+ @staticmethod
977
+ def __key_warning(key: str):
978
+ suggest = None
979
+ if key == "enableConsentBasedRedaction":
980
+ suggest = "enable_consent_based_redaction"
981
+ elif key == "enableInteractionLogging":
982
+ suggest = "enable_interaction_logging"
983
+ elif key == "enableStackdriverLogging":
984
+ suggest = "enable_stackdriver_logging"
985
+
986
+ if suggest:
987
+ pulumi.log.warn(f"Key '{key}' not found in CxFlowAdvancedSettingsLoggingSettings. Access the value via the '{suggest}' property getter instead.")
988
+
989
+ def __getitem__(self, key: str) -> Any:
990
+ CxFlowAdvancedSettingsLoggingSettings.__key_warning(key)
991
+ return super().__getitem__(key)
992
+
993
+ def get(self, key: str, default = None) -> Any:
994
+ CxFlowAdvancedSettingsLoggingSettings.__key_warning(key)
995
+ return super().get(key, default)
996
+
997
+ def __init__(__self__, *,
998
+ enable_consent_based_redaction: Optional[bool] = None,
999
+ enable_interaction_logging: Optional[bool] = None,
1000
+ enable_stackdriver_logging: Optional[bool] = None):
1001
+ """
1002
+ :param bool enable_consent_based_redaction: Enables consent-based end-user input redaction, if true, a pre-defined session parameter **$session.params.conversation-redaction** will be used to determine if the utterance should be redacted.
1003
+ :param bool enable_interaction_logging: Enables DF Interaction logging.
1004
+ :param bool enable_stackdriver_logging: Enables Google Cloud Logging.
1005
+ """
1006
+ if enable_consent_based_redaction is not None:
1007
+ pulumi.set(__self__, "enable_consent_based_redaction", enable_consent_based_redaction)
1008
+ if enable_interaction_logging is not None:
1009
+ pulumi.set(__self__, "enable_interaction_logging", enable_interaction_logging)
1010
+ if enable_stackdriver_logging is not None:
1011
+ pulumi.set(__self__, "enable_stackdriver_logging", enable_stackdriver_logging)
1012
+
1013
+ @property
1014
+ @pulumi.getter(name="enableConsentBasedRedaction")
1015
+ def enable_consent_based_redaction(self) -> Optional[bool]:
1016
+ """
1017
+ Enables consent-based end-user input redaction, if true, a pre-defined session parameter **$session.params.conversation-redaction** will be used to determine if the utterance should be redacted.
1018
+ """
1019
+ return pulumi.get(self, "enable_consent_based_redaction")
1020
+
1021
+ @property
1022
+ @pulumi.getter(name="enableInteractionLogging")
1023
+ def enable_interaction_logging(self) -> Optional[bool]:
1024
+ """
1025
+ Enables DF Interaction logging.
1026
+ """
1027
+ return pulumi.get(self, "enable_interaction_logging")
1028
+
1029
+ @property
1030
+ @pulumi.getter(name="enableStackdriverLogging")
1031
+ def enable_stackdriver_logging(self) -> Optional[bool]:
1032
+ """
1033
+ Enables Google Cloud Logging.
1034
+ """
1035
+ return pulumi.get(self, "enable_stackdriver_logging")
1036
+
1037
+
1038
+ @pulumi.output_type
1039
+ class CxFlowAdvancedSettingsSpeechSettings(dict):
1040
+ @staticmethod
1041
+ def __key_warning(key: str):
1042
+ suggest = None
1043
+ if key == "endpointerSensitivity":
1044
+ suggest = "endpointer_sensitivity"
1045
+ elif key == "noSpeechTimeout":
1046
+ suggest = "no_speech_timeout"
1047
+ elif key == "useTimeoutBasedEndpointing":
1048
+ suggest = "use_timeout_based_endpointing"
1049
+
1050
+ if suggest:
1051
+ pulumi.log.warn(f"Key '{key}' not found in CxFlowAdvancedSettingsSpeechSettings. Access the value via the '{suggest}' property getter instead.")
1052
+
1053
+ def __getitem__(self, key: str) -> Any:
1054
+ CxFlowAdvancedSettingsSpeechSettings.__key_warning(key)
1055
+ return super().__getitem__(key)
1056
+
1057
+ def get(self, key: str, default = None) -> Any:
1058
+ CxFlowAdvancedSettingsSpeechSettings.__key_warning(key)
1059
+ return super().get(key, default)
1060
+
1061
+ def __init__(__self__, *,
1062
+ endpointer_sensitivity: Optional[int] = None,
1063
+ models: Optional[Mapping[str, str]] = None,
1064
+ no_speech_timeout: Optional[str] = None,
1065
+ use_timeout_based_endpointing: Optional[bool] = None):
1066
+ """
1067
+ :param int endpointer_sensitivity: Sensitivity of the speech model that detects the end of speech. Scale from 0 to 100.
1068
+ :param Mapping[str, str] models: Mapping from language to Speech-to-Text model. The mapped Speech-to-Text model will be selected for requests from its corresponding language. For more information, see [Speech models](https://cloud.google.com/dialogflow/cx/docs/concept/speech-models).
1069
+ An object containing a list of **"key": value** pairs. Example: **{ "name": "wrench", "mass": "1.3kg", "count": "3" }**.
1070
+ :param str no_speech_timeout: Timeout before detecting no speech.
1071
+ A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
1072
+ :param bool use_timeout_based_endpointing: Use timeout based endpointing, interpreting endpointer sensitivy as seconds of timeout value.
1073
+ """
1074
+ if endpointer_sensitivity is not None:
1075
+ pulumi.set(__self__, "endpointer_sensitivity", endpointer_sensitivity)
1076
+ if models is not None:
1077
+ pulumi.set(__self__, "models", models)
1078
+ if no_speech_timeout is not None:
1079
+ pulumi.set(__self__, "no_speech_timeout", no_speech_timeout)
1080
+ if use_timeout_based_endpointing is not None:
1081
+ pulumi.set(__self__, "use_timeout_based_endpointing", use_timeout_based_endpointing)
1082
+
1083
+ @property
1084
+ @pulumi.getter(name="endpointerSensitivity")
1085
+ def endpointer_sensitivity(self) -> Optional[int]:
1086
+ """
1087
+ Sensitivity of the speech model that detects the end of speech. Scale from 0 to 100.
1088
+ """
1089
+ return pulumi.get(self, "endpointer_sensitivity")
1090
+
1091
+ @property
1092
+ @pulumi.getter
1093
+ def models(self) -> Optional[Mapping[str, str]]:
1094
+ """
1095
+ Mapping from language to Speech-to-Text model. The mapped Speech-to-Text model will be selected for requests from its corresponding language. For more information, see [Speech models](https://cloud.google.com/dialogflow/cx/docs/concept/speech-models).
1096
+ An object containing a list of **"key": value** pairs. Example: **{ "name": "wrench", "mass": "1.3kg", "count": "3" }**.
1097
+ """
1098
+ return pulumi.get(self, "models")
1099
+
1100
+ @property
1101
+ @pulumi.getter(name="noSpeechTimeout")
1102
+ def no_speech_timeout(self) -> Optional[str]:
1103
+ """
1104
+ Timeout before detecting no speech.
1105
+ A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
1106
+ """
1107
+ return pulumi.get(self, "no_speech_timeout")
1108
+
1109
+ @property
1110
+ @pulumi.getter(name="useTimeoutBasedEndpointing")
1111
+ def use_timeout_based_endpointing(self) -> Optional[bool]:
1112
+ """
1113
+ Use timeout based endpointing, interpreting endpointer sensitivy as seconds of timeout value.
1114
+ """
1115
+ return pulumi.get(self, "use_timeout_based_endpointing")
1116
+
1117
+
742
1118
  @pulumi.output_type
743
1119
  class CxFlowEventHandler(dict):
744
1120
  @staticmethod
@@ -418,8 +418,7 @@ class Feature(pulumi.CustomResource):
418
418
  "gke_cluster": {
419
419
  "resource_link": cluster.id.apply(lambda id: f"//container.googleapis.com/{id}"),
420
420
  },
421
- },
422
- description="Membership")
421
+ })
423
422
  feature = gcp.gkehub.Feature("feature",
424
423
  name="multiclusteringress",
425
424
  location="global",
@@ -765,8 +764,7 @@ class Feature(pulumi.CustomResource):
765
764
  "gke_cluster": {
766
765
  "resource_link": cluster.id.apply(lambda id: f"//container.googleapis.com/{id}"),
767
766
  },
768
- },
769
- description="Membership")
767
+ })
770
768
  feature = gcp.gkehub.Feature("feature",
771
769
  name="multiclusteringress",
772
770
  location="global",
@@ -800,6 +800,34 @@ class WorkloadIdentityPoolProvider(pulumi.CustomResource):
800
800
  "account_id": "999999999999",
801
801
  })
802
802
  ```
803
+ ### Iam Workload Identity Pool Provider Github Actions
804
+
805
+ ```python
806
+ import pulumi
807
+ import pulumi_gcp as gcp
808
+
809
+ pool = gcp.iam.WorkloadIdentityPool("pool", workload_identity_pool_id="example-pool")
810
+ example = gcp.iam.WorkloadIdentityPoolProvider("example",
811
+ workload_identity_pool_id=pool.workload_identity_pool_id,
812
+ workload_identity_pool_provider_id="example-prvdr",
813
+ display_name="Name of provider",
814
+ description="GitHub Actions identity pool provider for automated test",
815
+ disabled=True,
816
+ attribute_condition=\"\"\" assertion.repository_owner_id == "123456789" &&
817
+ attribute.repository == "gh-org/gh-repo" &&
818
+ assertion.ref == "refs/heads/main" &&
819
+ assertion.ref_type == "branch"
820
+ \"\"\",
821
+ attribute_mapping={
822
+ "google.subject": "assertion.sub",
823
+ "attribute.actor": "assertion.actor",
824
+ "attribute.aud": "assertion.aud",
825
+ "attribute.repository": "assertion.repository",
826
+ },
827
+ oidc={
828
+ "issuer_uri": "https://token.actions.githubusercontent.com",
829
+ })
830
+ ```
803
831
  ### Iam Workload Identity Pool Provider Oidc Basic
804
832
 
805
833
  ```python
@@ -1135,6 +1163,34 @@ class WorkloadIdentityPoolProvider(pulumi.CustomResource):
1135
1163
  "account_id": "999999999999",
1136
1164
  })
1137
1165
  ```
1166
+ ### Iam Workload Identity Pool Provider Github Actions
1167
+
1168
+ ```python
1169
+ import pulumi
1170
+ import pulumi_gcp as gcp
1171
+
1172
+ pool = gcp.iam.WorkloadIdentityPool("pool", workload_identity_pool_id="example-pool")
1173
+ example = gcp.iam.WorkloadIdentityPoolProvider("example",
1174
+ workload_identity_pool_id=pool.workload_identity_pool_id,
1175
+ workload_identity_pool_provider_id="example-prvdr",
1176
+ display_name="Name of provider",
1177
+ description="GitHub Actions identity pool provider for automated test",
1178
+ disabled=True,
1179
+ attribute_condition=\"\"\" assertion.repository_owner_id == "123456789" &&
1180
+ attribute.repository == "gh-org/gh-repo" &&
1181
+ assertion.ref == "refs/heads/main" &&
1182
+ assertion.ref_type == "branch"
1183
+ \"\"\",
1184
+ attribute_mapping={
1185
+ "google.subject": "assertion.sub",
1186
+ "attribute.actor": "assertion.actor",
1187
+ "attribute.aud": "assertion.aud",
1188
+ "attribute.repository": "assertion.repository",
1189
+ },
1190
+ oidc={
1191
+ "issuer_uri": "https://token.actions.githubusercontent.com",
1192
+ })
1193
+ ```
1138
1194
  ### Iam Workload Identity Pool Provider Oidc Basic
1139
1195
 
1140
1196
  ```python