pulumi-gcp 8.36.0a1751060819__py3-none-any.whl → 8.37.0__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 (64) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/apihub/__init__.py +1 -0
  3. pulumi_gcp/apihub/_inputs.py +675 -0
  4. pulumi_gcp/apihub/outputs.py +567 -0
  5. pulumi_gcp/apihub/plugin.py +1146 -0
  6. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +7 -7
  7. pulumi_gcp/bigqueryanalyticshub/listing.py +7 -7
  8. pulumi_gcp/cloudidentity/group_membership.py +47 -0
  9. pulumi_gcp/cloudidentity/outputs.py +11 -0
  10. pulumi_gcp/cloudrunv2/_inputs.py +65 -9
  11. pulumi_gcp/cloudrunv2/job.py +44 -0
  12. pulumi_gcp/cloudrunv2/outputs.py +73 -8
  13. pulumi_gcp/cloudrunv2/service.py +0 -2
  14. pulumi_gcp/cloudrunv2/worker_pool.py +18 -20
  15. pulumi_gcp/compute/__init__.py +1 -0
  16. pulumi_gcp/compute/_inputs.py +763 -6
  17. pulumi_gcp/compute/disk.py +35 -28
  18. pulumi_gcp/compute/firewall_policy_rule.py +207 -0
  19. pulumi_gcp/compute/get_instance_group_manager.py +12 -1
  20. pulumi_gcp/compute/get_region_disk.py +12 -1
  21. pulumi_gcp/compute/instance_group_manager.py +165 -14
  22. pulumi_gcp/compute/network.py +56 -0
  23. pulumi_gcp/compute/network_firewall_policy.py +68 -0
  24. pulumi_gcp/compute/network_firewall_policy_with_rules.py +61 -0
  25. pulumi_gcp/compute/outputs.py +604 -4
  26. pulumi_gcp/compute/region_disk.py +114 -0
  27. pulumi_gcp/compute/region_network_firewall_policy.py +90 -0
  28. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +109 -0
  29. pulumi_gcp/compute/wire_group.py +751 -0
  30. pulumi_gcp/container/_inputs.py +135 -16
  31. pulumi_gcp/container/cluster.py +54 -0
  32. pulumi_gcp/container/get_cluster.py +12 -1
  33. pulumi_gcp/container/node_pool.py +14 -0
  34. pulumi_gcp/container/outputs.py +222 -12
  35. pulumi_gcp/diagflow/__init__.py +1 -0
  36. pulumi_gcp/diagflow/_inputs.py +431 -0
  37. pulumi_gcp/diagflow/cx_generative_settings.py +625 -0
  38. pulumi_gcp/diagflow/outputs.py +370 -0
  39. pulumi_gcp/dns/record_set.py +4 -2
  40. pulumi_gcp/firestore/database.py +0 -9
  41. pulumi_gcp/iam/_inputs.py +36 -0
  42. pulumi_gcp/iam/outputs.py +38 -0
  43. pulumi_gcp/iam/workload_identity_pool_managed_identity.py +88 -2
  44. pulumi_gcp/kms/autokey_config.py +28 -0
  45. pulumi_gcp/kms/get_autokey_config.py +12 -1
  46. pulumi_gcp/memorystore/get_instance.py +12 -1
  47. pulumi_gcp/memorystore/instance.py +49 -0
  48. pulumi_gcp/monitoring/metric_descriptor.py +55 -57
  49. pulumi_gcp/notebooks/instance.py +8 -8
  50. pulumi_gcp/pulumi-plugin.json +1 -1
  51. pulumi_gcp/redis/get_instance.py +12 -1
  52. pulumi_gcp/redis/instance.py +44 -0
  53. pulumi_gcp/secretmanager/get_regional_secret.py +12 -1
  54. pulumi_gcp/secretmanager/outputs.py +7 -0
  55. pulumi_gcp/secretmanager/regional_secret.py +38 -2
  56. pulumi_gcp/spanner/_inputs.py +24 -1
  57. pulumi_gcp/spanner/outputs.py +17 -1
  58. pulumi_gcp/storage/_inputs.py +43 -3
  59. pulumi_gcp/storage/outputs.py +53 -3
  60. pulumi_gcp/workbench/instance.py +2 -0
  61. {pulumi_gcp-8.36.0a1751060819.dist-info → pulumi_gcp-8.37.0.dist-info}/METADATA +1 -1
  62. {pulumi_gcp-8.36.0a1751060819.dist-info → pulumi_gcp-8.37.0.dist-info}/RECORD +64 -61
  63. {pulumi_gcp-8.36.0a1751060819.dist-info → pulumi_gcp-8.37.0.dist-info}/WHEEL +0 -0
  64. {pulumi_gcp-8.36.0a1751060819.dist-info → pulumi_gcp-8.37.0.dist-info}/top_level.txt +0 -0
@@ -21,6 +21,15 @@ __all__ = [
21
21
  'CurationEndpoint',
22
22
  'CurationEndpointApplicationIntegrationEndpointDetails',
23
23
  'CurationPluginInstanceAction',
24
+ 'PluginActionsConfig',
25
+ 'PluginConfigTemplate',
26
+ 'PluginConfigTemplateAdditionalConfigTemplate',
27
+ 'PluginConfigTemplateAdditionalConfigTemplateEnumOption',
28
+ 'PluginConfigTemplateAdditionalConfigTemplateMultiSelectOption',
29
+ 'PluginConfigTemplateAuthConfigTemplate',
30
+ 'PluginConfigTemplateAuthConfigTemplateServiceAccount',
31
+ 'PluginDocumentation',
32
+ 'PluginHostingService',
24
33
  'PluginInstanceAction',
25
34
  'PluginInstanceActionCurationConfig',
26
35
  'PluginInstanceActionCurationConfigCustomCuration',
@@ -301,6 +310,564 @@ class CurationPluginInstanceAction(dict):
301
310
  return pulumi.get(self, "plugin_instance")
302
311
 
303
312
 
313
+ @pulumi.output_type
314
+ class PluginActionsConfig(dict):
315
+ @staticmethod
316
+ def __key_warning(key: str):
317
+ suggest = None
318
+ if key == "displayName":
319
+ suggest = "display_name"
320
+ elif key == "triggerMode":
321
+ suggest = "trigger_mode"
322
+
323
+ if suggest:
324
+ pulumi.log.warn(f"Key '{key}' not found in PluginActionsConfig. Access the value via the '{suggest}' property getter instead.")
325
+
326
+ def __getitem__(self, key: str) -> Any:
327
+ PluginActionsConfig.__key_warning(key)
328
+ return super().__getitem__(key)
329
+
330
+ def get(self, key: str, default = None) -> Any:
331
+ PluginActionsConfig.__key_warning(key)
332
+ return super().get(key, default)
333
+
334
+ def __init__(__self__, *,
335
+ description: builtins.str,
336
+ display_name: builtins.str,
337
+ id: builtins.str,
338
+ trigger_mode: builtins.str):
339
+ """
340
+ :param builtins.str description: The description of the operation performed by the action.
341
+ :param builtins.str display_name: The display name of the action.
342
+ :param builtins.str id: The id of the action.
343
+ :param builtins.str trigger_mode: The trigger mode supported by the action.
344
+ Possible values:
345
+ TRIGGER_MODE_UNSPECIFIED
346
+ API_HUB_ON_DEMAND_TRIGGER
347
+ API_HUB_SCHEDULE_TRIGGER
348
+ NON_API_HUB_MANAGED
349
+ """
350
+ pulumi.set(__self__, "description", description)
351
+ pulumi.set(__self__, "display_name", display_name)
352
+ pulumi.set(__self__, "id", id)
353
+ pulumi.set(__self__, "trigger_mode", trigger_mode)
354
+
355
+ @property
356
+ @pulumi.getter
357
+ def description(self) -> builtins.str:
358
+ """
359
+ The description of the operation performed by the action.
360
+ """
361
+ return pulumi.get(self, "description")
362
+
363
+ @property
364
+ @pulumi.getter(name="displayName")
365
+ def display_name(self) -> builtins.str:
366
+ """
367
+ The display name of the action.
368
+ """
369
+ return pulumi.get(self, "display_name")
370
+
371
+ @property
372
+ @pulumi.getter
373
+ def id(self) -> builtins.str:
374
+ """
375
+ The id of the action.
376
+ """
377
+ return pulumi.get(self, "id")
378
+
379
+ @property
380
+ @pulumi.getter(name="triggerMode")
381
+ def trigger_mode(self) -> builtins.str:
382
+ """
383
+ The trigger mode supported by the action.
384
+ Possible values:
385
+ TRIGGER_MODE_UNSPECIFIED
386
+ API_HUB_ON_DEMAND_TRIGGER
387
+ API_HUB_SCHEDULE_TRIGGER
388
+ NON_API_HUB_MANAGED
389
+ """
390
+ return pulumi.get(self, "trigger_mode")
391
+
392
+
393
+ @pulumi.output_type
394
+ class PluginConfigTemplate(dict):
395
+ @staticmethod
396
+ def __key_warning(key: str):
397
+ suggest = None
398
+ if key == "additionalConfigTemplates":
399
+ suggest = "additional_config_templates"
400
+ elif key == "authConfigTemplate":
401
+ suggest = "auth_config_template"
402
+
403
+ if suggest:
404
+ pulumi.log.warn(f"Key '{key}' not found in PluginConfigTemplate. Access the value via the '{suggest}' property getter instead.")
405
+
406
+ def __getitem__(self, key: str) -> Any:
407
+ PluginConfigTemplate.__key_warning(key)
408
+ return super().__getitem__(key)
409
+
410
+ def get(self, key: str, default = None) -> Any:
411
+ PluginConfigTemplate.__key_warning(key)
412
+ return super().get(key, default)
413
+
414
+ def __init__(__self__, *,
415
+ additional_config_templates: Optional[Sequence['outputs.PluginConfigTemplateAdditionalConfigTemplate']] = None,
416
+ auth_config_template: Optional['outputs.PluginConfigTemplateAuthConfigTemplate'] = None):
417
+ """
418
+ :param Sequence['PluginConfigTemplateAdditionalConfigTemplateArgs'] additional_config_templates: The list of additional configuration variables for the plugin's
419
+ configuration.
420
+ Structure is documented below.
421
+ :param 'PluginConfigTemplateAuthConfigTemplateArgs' auth_config_template: AuthConfigTemplate represents the authentication template for a plugin.
422
+ Structure is documented below.
423
+ """
424
+ if additional_config_templates is not None:
425
+ pulumi.set(__self__, "additional_config_templates", additional_config_templates)
426
+ if auth_config_template is not None:
427
+ pulumi.set(__self__, "auth_config_template", auth_config_template)
428
+
429
+ @property
430
+ @pulumi.getter(name="additionalConfigTemplates")
431
+ def additional_config_templates(self) -> Optional[Sequence['outputs.PluginConfigTemplateAdditionalConfigTemplate']]:
432
+ """
433
+ The list of additional configuration variables for the plugin's
434
+ configuration.
435
+ Structure is documented below.
436
+ """
437
+ return pulumi.get(self, "additional_config_templates")
438
+
439
+ @property
440
+ @pulumi.getter(name="authConfigTemplate")
441
+ def auth_config_template(self) -> Optional['outputs.PluginConfigTemplateAuthConfigTemplate']:
442
+ """
443
+ AuthConfigTemplate represents the authentication template for a plugin.
444
+ Structure is documented below.
445
+ """
446
+ return pulumi.get(self, "auth_config_template")
447
+
448
+
449
+ @pulumi.output_type
450
+ class PluginConfigTemplateAdditionalConfigTemplate(dict):
451
+ @staticmethod
452
+ def __key_warning(key: str):
453
+ suggest = None
454
+ if key == "valueType":
455
+ suggest = "value_type"
456
+ elif key == "enumOptions":
457
+ suggest = "enum_options"
458
+ elif key == "multiSelectOptions":
459
+ suggest = "multi_select_options"
460
+ elif key == "validationRegex":
461
+ suggest = "validation_regex"
462
+
463
+ if suggest:
464
+ pulumi.log.warn(f"Key '{key}' not found in PluginConfigTemplateAdditionalConfigTemplate. Access the value via the '{suggest}' property getter instead.")
465
+
466
+ def __getitem__(self, key: str) -> Any:
467
+ PluginConfigTemplateAdditionalConfigTemplate.__key_warning(key)
468
+ return super().__getitem__(key)
469
+
470
+ def get(self, key: str, default = None) -> Any:
471
+ PluginConfigTemplateAdditionalConfigTemplate.__key_warning(key)
472
+ return super().get(key, default)
473
+
474
+ def __init__(__self__, *,
475
+ id: builtins.str,
476
+ value_type: builtins.str,
477
+ description: Optional[builtins.str] = None,
478
+ enum_options: Optional[Sequence['outputs.PluginConfigTemplateAdditionalConfigTemplateEnumOption']] = None,
479
+ multi_select_options: Optional[Sequence['outputs.PluginConfigTemplateAdditionalConfigTemplateMultiSelectOption']] = None,
480
+ required: Optional[builtins.bool] = None,
481
+ validation_regex: Optional[builtins.str] = None):
482
+ """
483
+ :param builtins.str id: ID of the config variable. Must be unique within the configuration.
484
+ :param builtins.str value_type: Type of the parameter: string, int, bool etc.
485
+ Possible values:
486
+ VALUE_TYPE_UNSPECIFIED
487
+ STRING
488
+ INT
489
+ BOOL
490
+ SECRET
491
+ ENUM
492
+ MULTI_SELECT
493
+ MULTI_STRING
494
+ MULTI_INT
495
+ :param builtins.str description: Description.
496
+ :param Sequence['PluginConfigTemplateAdditionalConfigTemplateEnumOptionArgs'] enum_options: Enum options. To be populated if `ValueType` is `ENUM`.
497
+ Structure is documented below.
498
+ :param Sequence['PluginConfigTemplateAdditionalConfigTemplateMultiSelectOptionArgs'] multi_select_options: Multi select options. To be populated if `ValueType` is `MULTI_SELECT`.
499
+ Structure is documented below.
500
+ :param builtins.bool required: Flag represents that this `ConfigVariable` must be provided for a
501
+ PluginInstance.
502
+ :param builtins.str validation_regex: Regular expression in RE2 syntax used for validating the `value` of a
503
+ `ConfigVariable`.
504
+ """
505
+ pulumi.set(__self__, "id", id)
506
+ pulumi.set(__self__, "value_type", value_type)
507
+ if description is not None:
508
+ pulumi.set(__self__, "description", description)
509
+ if enum_options is not None:
510
+ pulumi.set(__self__, "enum_options", enum_options)
511
+ if multi_select_options is not None:
512
+ pulumi.set(__self__, "multi_select_options", multi_select_options)
513
+ if required is not None:
514
+ pulumi.set(__self__, "required", required)
515
+ if validation_regex is not None:
516
+ pulumi.set(__self__, "validation_regex", validation_regex)
517
+
518
+ @property
519
+ @pulumi.getter
520
+ def id(self) -> builtins.str:
521
+ """
522
+ ID of the config variable. Must be unique within the configuration.
523
+ """
524
+ return pulumi.get(self, "id")
525
+
526
+ @property
527
+ @pulumi.getter(name="valueType")
528
+ def value_type(self) -> builtins.str:
529
+ """
530
+ Type of the parameter: string, int, bool etc.
531
+ Possible values:
532
+ VALUE_TYPE_UNSPECIFIED
533
+ STRING
534
+ INT
535
+ BOOL
536
+ SECRET
537
+ ENUM
538
+ MULTI_SELECT
539
+ MULTI_STRING
540
+ MULTI_INT
541
+ """
542
+ return pulumi.get(self, "value_type")
543
+
544
+ @property
545
+ @pulumi.getter
546
+ def description(self) -> Optional[builtins.str]:
547
+ """
548
+ Description.
549
+ """
550
+ return pulumi.get(self, "description")
551
+
552
+ @property
553
+ @pulumi.getter(name="enumOptions")
554
+ def enum_options(self) -> Optional[Sequence['outputs.PluginConfigTemplateAdditionalConfigTemplateEnumOption']]:
555
+ """
556
+ Enum options. To be populated if `ValueType` is `ENUM`.
557
+ Structure is documented below.
558
+ """
559
+ return pulumi.get(self, "enum_options")
560
+
561
+ @property
562
+ @pulumi.getter(name="multiSelectOptions")
563
+ def multi_select_options(self) -> Optional[Sequence['outputs.PluginConfigTemplateAdditionalConfigTemplateMultiSelectOption']]:
564
+ """
565
+ Multi select options. To be populated if `ValueType` is `MULTI_SELECT`.
566
+ Structure is documented below.
567
+ """
568
+ return pulumi.get(self, "multi_select_options")
569
+
570
+ @property
571
+ @pulumi.getter
572
+ def required(self) -> Optional[builtins.bool]:
573
+ """
574
+ Flag represents that this `ConfigVariable` must be provided for a
575
+ PluginInstance.
576
+ """
577
+ return pulumi.get(self, "required")
578
+
579
+ @property
580
+ @pulumi.getter(name="validationRegex")
581
+ def validation_regex(self) -> Optional[builtins.str]:
582
+ """
583
+ Regular expression in RE2 syntax used for validating the `value` of a
584
+ `ConfigVariable`.
585
+ """
586
+ return pulumi.get(self, "validation_regex")
587
+
588
+
589
+ @pulumi.output_type
590
+ class PluginConfigTemplateAdditionalConfigTemplateEnumOption(dict):
591
+ @staticmethod
592
+ def __key_warning(key: str):
593
+ suggest = None
594
+ if key == "displayName":
595
+ suggest = "display_name"
596
+
597
+ if suggest:
598
+ pulumi.log.warn(f"Key '{key}' not found in PluginConfigTemplateAdditionalConfigTemplateEnumOption. Access the value via the '{suggest}' property getter instead.")
599
+
600
+ def __getitem__(self, key: str) -> Any:
601
+ PluginConfigTemplateAdditionalConfigTemplateEnumOption.__key_warning(key)
602
+ return super().__getitem__(key)
603
+
604
+ def get(self, key: str, default = None) -> Any:
605
+ PluginConfigTemplateAdditionalConfigTemplateEnumOption.__key_warning(key)
606
+ return super().get(key, default)
607
+
608
+ def __init__(__self__, *,
609
+ display_name: builtins.str,
610
+ id: builtins.str,
611
+ description: Optional[builtins.str] = None):
612
+ """
613
+ :param builtins.str display_name: Display name of the option.
614
+ :param builtins.str id: Id of the option.
615
+ :param builtins.str description: Description of the option.
616
+ """
617
+ pulumi.set(__self__, "display_name", display_name)
618
+ pulumi.set(__self__, "id", id)
619
+ if description is not None:
620
+ pulumi.set(__self__, "description", description)
621
+
622
+ @property
623
+ @pulumi.getter(name="displayName")
624
+ def display_name(self) -> builtins.str:
625
+ """
626
+ Display name of the option.
627
+ """
628
+ return pulumi.get(self, "display_name")
629
+
630
+ @property
631
+ @pulumi.getter
632
+ def id(self) -> builtins.str:
633
+ """
634
+ Id of the option.
635
+ """
636
+ return pulumi.get(self, "id")
637
+
638
+ @property
639
+ @pulumi.getter
640
+ def description(self) -> Optional[builtins.str]:
641
+ """
642
+ Description of the option.
643
+ """
644
+ return pulumi.get(self, "description")
645
+
646
+
647
+ @pulumi.output_type
648
+ class PluginConfigTemplateAdditionalConfigTemplateMultiSelectOption(dict):
649
+ @staticmethod
650
+ def __key_warning(key: str):
651
+ suggest = None
652
+ if key == "displayName":
653
+ suggest = "display_name"
654
+
655
+ if suggest:
656
+ pulumi.log.warn(f"Key '{key}' not found in PluginConfigTemplateAdditionalConfigTemplateMultiSelectOption. Access the value via the '{suggest}' property getter instead.")
657
+
658
+ def __getitem__(self, key: str) -> Any:
659
+ PluginConfigTemplateAdditionalConfigTemplateMultiSelectOption.__key_warning(key)
660
+ return super().__getitem__(key)
661
+
662
+ def get(self, key: str, default = None) -> Any:
663
+ PluginConfigTemplateAdditionalConfigTemplateMultiSelectOption.__key_warning(key)
664
+ return super().get(key, default)
665
+
666
+ def __init__(__self__, *,
667
+ display_name: builtins.str,
668
+ id: builtins.str,
669
+ description: Optional[builtins.str] = None):
670
+ """
671
+ :param builtins.str display_name: Display name of the option.
672
+ :param builtins.str id: Id of the option.
673
+ :param builtins.str description: Description of the option.
674
+ """
675
+ pulumi.set(__self__, "display_name", display_name)
676
+ pulumi.set(__self__, "id", id)
677
+ if description is not None:
678
+ pulumi.set(__self__, "description", description)
679
+
680
+ @property
681
+ @pulumi.getter(name="displayName")
682
+ def display_name(self) -> builtins.str:
683
+ """
684
+ Display name of the option.
685
+ """
686
+ return pulumi.get(self, "display_name")
687
+
688
+ @property
689
+ @pulumi.getter
690
+ def id(self) -> builtins.str:
691
+ """
692
+ Id of the option.
693
+ """
694
+ return pulumi.get(self, "id")
695
+
696
+ @property
697
+ @pulumi.getter
698
+ def description(self) -> Optional[builtins.str]:
699
+ """
700
+ Description of the option.
701
+ """
702
+ return pulumi.get(self, "description")
703
+
704
+
705
+ @pulumi.output_type
706
+ class PluginConfigTemplateAuthConfigTemplate(dict):
707
+ @staticmethod
708
+ def __key_warning(key: str):
709
+ suggest = None
710
+ if key == "supportedAuthTypes":
711
+ suggest = "supported_auth_types"
712
+ elif key == "serviceAccount":
713
+ suggest = "service_account"
714
+
715
+ if suggest:
716
+ pulumi.log.warn(f"Key '{key}' not found in PluginConfigTemplateAuthConfigTemplate. Access the value via the '{suggest}' property getter instead.")
717
+
718
+ def __getitem__(self, key: str) -> Any:
719
+ PluginConfigTemplateAuthConfigTemplate.__key_warning(key)
720
+ return super().__getitem__(key)
721
+
722
+ def get(self, key: str, default = None) -> Any:
723
+ PluginConfigTemplateAuthConfigTemplate.__key_warning(key)
724
+ return super().get(key, default)
725
+
726
+ def __init__(__self__, *,
727
+ supported_auth_types: Sequence[builtins.str],
728
+ service_account: Optional['outputs.PluginConfigTemplateAuthConfigTemplateServiceAccount'] = None):
729
+ """
730
+ :param Sequence[builtins.str] supported_auth_types: The list of authentication types supported by the plugin.
731
+ :param 'PluginConfigTemplateAuthConfigTemplateServiceAccountArgs' service_account: Config for Google service account authentication.
732
+ Structure is documented below.
733
+ """
734
+ pulumi.set(__self__, "supported_auth_types", supported_auth_types)
735
+ if service_account is not None:
736
+ pulumi.set(__self__, "service_account", service_account)
737
+
738
+ @property
739
+ @pulumi.getter(name="supportedAuthTypes")
740
+ def supported_auth_types(self) -> Sequence[builtins.str]:
741
+ """
742
+ The list of authentication types supported by the plugin.
743
+ """
744
+ return pulumi.get(self, "supported_auth_types")
745
+
746
+ @property
747
+ @pulumi.getter(name="serviceAccount")
748
+ def service_account(self) -> Optional['outputs.PluginConfigTemplateAuthConfigTemplateServiceAccount']:
749
+ """
750
+ Config for Google service account authentication.
751
+ Structure is documented below.
752
+ """
753
+ return pulumi.get(self, "service_account")
754
+
755
+
756
+ @pulumi.output_type
757
+ class PluginConfigTemplateAuthConfigTemplateServiceAccount(dict):
758
+ @staticmethod
759
+ def __key_warning(key: str):
760
+ suggest = None
761
+ if key == "serviceAccount":
762
+ suggest = "service_account"
763
+
764
+ if suggest:
765
+ pulumi.log.warn(f"Key '{key}' not found in PluginConfigTemplateAuthConfigTemplateServiceAccount. Access the value via the '{suggest}' property getter instead.")
766
+
767
+ def __getitem__(self, key: str) -> Any:
768
+ PluginConfigTemplateAuthConfigTemplateServiceAccount.__key_warning(key)
769
+ return super().__getitem__(key)
770
+
771
+ def get(self, key: str, default = None) -> Any:
772
+ PluginConfigTemplateAuthConfigTemplateServiceAccount.__key_warning(key)
773
+ return super().get(key, default)
774
+
775
+ def __init__(__self__, *,
776
+ service_account: builtins.str):
777
+ """
778
+ :param builtins.str service_account: The service account to be used for authenticating request.
779
+ The `iam.serviceAccounts.getAccessToken` permission should be granted on
780
+ this service account to the impersonator service account.
781
+ """
782
+ pulumi.set(__self__, "service_account", service_account)
783
+
784
+ @property
785
+ @pulumi.getter(name="serviceAccount")
786
+ def service_account(self) -> builtins.str:
787
+ """
788
+ The service account to be used for authenticating request.
789
+ The `iam.serviceAccounts.getAccessToken` permission should be granted on
790
+ this service account to the impersonator service account.
791
+ """
792
+ return pulumi.get(self, "service_account")
793
+
794
+
795
+ @pulumi.output_type
796
+ class PluginDocumentation(dict):
797
+ @staticmethod
798
+ def __key_warning(key: str):
799
+ suggest = None
800
+ if key == "externalUri":
801
+ suggest = "external_uri"
802
+
803
+ if suggest:
804
+ pulumi.log.warn(f"Key '{key}' not found in PluginDocumentation. Access the value via the '{suggest}' property getter instead.")
805
+
806
+ def __getitem__(self, key: str) -> Any:
807
+ PluginDocumentation.__key_warning(key)
808
+ return super().__getitem__(key)
809
+
810
+ def get(self, key: str, default = None) -> Any:
811
+ PluginDocumentation.__key_warning(key)
812
+ return super().get(key, default)
813
+
814
+ def __init__(__self__, *,
815
+ external_uri: Optional[builtins.str] = None):
816
+ """
817
+ :param builtins.str external_uri: The uri of the externally hosted documentation.
818
+ """
819
+ if external_uri is not None:
820
+ pulumi.set(__self__, "external_uri", external_uri)
821
+
822
+ @property
823
+ @pulumi.getter(name="externalUri")
824
+ def external_uri(self) -> Optional[builtins.str]:
825
+ """
826
+ The uri of the externally hosted documentation.
827
+ """
828
+ return pulumi.get(self, "external_uri")
829
+
830
+
831
+ @pulumi.output_type
832
+ class PluginHostingService(dict):
833
+ @staticmethod
834
+ def __key_warning(key: str):
835
+ suggest = None
836
+ if key == "serviceUri":
837
+ suggest = "service_uri"
838
+
839
+ if suggest:
840
+ pulumi.log.warn(f"Key '{key}' not found in PluginHostingService. Access the value via the '{suggest}' property getter instead.")
841
+
842
+ def __getitem__(self, key: str) -> Any:
843
+ PluginHostingService.__key_warning(key)
844
+ return super().__getitem__(key)
845
+
846
+ def get(self, key: str, default = None) -> Any:
847
+ PluginHostingService.__key_warning(key)
848
+ return super().get(key, default)
849
+
850
+ def __init__(__self__, *,
851
+ service_uri: Optional[builtins.str] = None):
852
+ """
853
+ :param builtins.str service_uri: The URI of the service implemented by the plugin developer, used to
854
+ invoke the plugin's functionality. This information is only required for
855
+ user defined plugins.
856
+ """
857
+ if service_uri is not None:
858
+ pulumi.set(__self__, "service_uri", service_uri)
859
+
860
+ @property
861
+ @pulumi.getter(name="serviceUri")
862
+ def service_uri(self) -> Optional[builtins.str]:
863
+ """
864
+ The URI of the service implemented by the plugin developer, used to
865
+ invoke the plugin's functionality. This information is only required for
866
+ user defined plugins.
867
+ """
868
+ return pulumi.get(self, "service_uri")
869
+
870
+
304
871
  @pulumi.output_type
305
872
  class PluginInstanceAction(dict):
306
873
  @staticmethod