pulumi-gcp 8.36.0a1750484065__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 (117) hide show
  1. pulumi_gcp/__init__.py +59 -0
  2. pulumi_gcp/alloydb/_inputs.py +26 -0
  3. pulumi_gcp/alloydb/outputs.py +34 -1
  4. pulumi_gcp/apihub/__init__.py +2 -0
  5. pulumi_gcp/apihub/_inputs.py +1658 -0
  6. pulumi_gcp/apihub/outputs.py +1374 -0
  7. pulumi_gcp/apihub/plugin.py +1146 -0
  8. pulumi_gcp/apihub/plugin_instance.py +808 -0
  9. pulumi_gcp/bigquery/table.py +16 -12
  10. pulumi_gcp/bigqueryanalyticshub/_inputs.py +56 -6
  11. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +73 -0
  12. pulumi_gcp/bigqueryanalyticshub/listing.py +201 -48
  13. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +28 -0
  14. pulumi_gcp/bigqueryanalyticshub/outputs.py +50 -4
  15. pulumi_gcp/bigtable/table.py +82 -0
  16. pulumi_gcp/cloudidentity/group_membership.py +47 -0
  17. pulumi_gcp/cloudidentity/outputs.py +11 -0
  18. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +64 -8
  19. pulumi_gcp/cloudrunv2/_inputs.py +65 -9
  20. pulumi_gcp/cloudrunv2/job.py +44 -0
  21. pulumi_gcp/cloudrunv2/outputs.py +73 -8
  22. pulumi_gcp/cloudrunv2/service.py +0 -2
  23. pulumi_gcp/cloudrunv2/worker_pool.py +18 -20
  24. pulumi_gcp/compute/__init__.py +1 -0
  25. pulumi_gcp/compute/_inputs.py +787 -18
  26. pulumi_gcp/compute/disk.py +35 -28
  27. pulumi_gcp/compute/firewall_policy_rule.py +207 -0
  28. pulumi_gcp/compute/get_instance_group_manager.py +12 -1
  29. pulumi_gcp/compute/get_region_disk.py +12 -1
  30. pulumi_gcp/compute/instance.py +2 -2
  31. pulumi_gcp/compute/instance_group_manager.py +165 -14
  32. pulumi_gcp/compute/instance_template.py +2 -2
  33. pulumi_gcp/compute/interconnect.py +43 -11
  34. pulumi_gcp/compute/network.py +56 -0
  35. pulumi_gcp/compute/network_firewall_policy.py +68 -0
  36. pulumi_gcp/compute/network_firewall_policy_with_rules.py +61 -0
  37. pulumi_gcp/compute/node_template.py +21 -0
  38. pulumi_gcp/compute/outputs.py +620 -12
  39. pulumi_gcp/compute/region_disk.py +114 -0
  40. pulumi_gcp/compute/region_network_firewall_policy.py +90 -0
  41. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +109 -0
  42. pulumi_gcp/compute/service_attachment.py +76 -8
  43. pulumi_gcp/compute/wire_group.py +751 -0
  44. pulumi_gcp/config/__init__.pyi +2 -0
  45. pulumi_gcp/config/vars.py +4 -0
  46. pulumi_gcp/contactcenterinsights/__init__.py +9 -0
  47. pulumi_gcp/contactcenterinsights/view.py +526 -0
  48. pulumi_gcp/container/_inputs.py +207 -28
  49. pulumi_gcp/container/cluster.py +54 -0
  50. pulumi_gcp/container/get_cluster.py +12 -1
  51. pulumi_gcp/container/get_engine_versions.py +15 -1
  52. pulumi_gcp/container/node_pool.py +14 -0
  53. pulumi_gcp/container/outputs.py +295 -21
  54. pulumi_gcp/dataplex/_inputs.py +431 -6
  55. pulumi_gcp/dataplex/datascan.py +251 -0
  56. pulumi_gcp/dataplex/entry_type.py +2 -2
  57. pulumi_gcp/dataplex/glossary_category.py +8 -8
  58. pulumi_gcp/dataplex/glossary_term.py +8 -8
  59. pulumi_gcp/dataplex/outputs.py +353 -4
  60. pulumi_gcp/dataplex/task.py +16 -16
  61. pulumi_gcp/dataproc/__init__.py +1 -0
  62. pulumi_gcp/dataproc/_inputs.py +486 -0
  63. pulumi_gcp/dataproc/batch.py +10 -10
  64. pulumi_gcp/dataproc/outputs.py +407 -0
  65. pulumi_gcp/dataproc/session_template.py +1084 -0
  66. pulumi_gcp/diagflow/__init__.py +2 -0
  67. pulumi_gcp/diagflow/_inputs.py +479 -0
  68. pulumi_gcp/diagflow/cx_generative_settings.py +625 -0
  69. pulumi_gcp/diagflow/cx_tool.py +2 -2
  70. pulumi_gcp/diagflow/encryption_spec.py +382 -0
  71. pulumi_gcp/diagflow/outputs.py +416 -0
  72. pulumi_gcp/dns/record_set.py +4 -2
  73. pulumi_gcp/firestore/database.py +0 -9
  74. pulumi_gcp/firestore/field.py +6 -6
  75. pulumi_gcp/gkehub/membership_binding.py +6 -6
  76. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  77. pulumi_gcp/gkehub/namespace.py +4 -4
  78. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  79. pulumi_gcp/iam/_inputs.py +36 -0
  80. pulumi_gcp/iam/outputs.py +38 -0
  81. pulumi_gcp/iam/workload_identity_pool_managed_identity.py +88 -2
  82. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  83. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  84. pulumi_gcp/kms/autokey_config.py +28 -0
  85. pulumi_gcp/kms/get_autokey_config.py +12 -1
  86. pulumi_gcp/lustre/get_instance.py +12 -1
  87. pulumi_gcp/lustre/instance.py +143 -86
  88. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  89. pulumi_gcp/managedkafka/connector.py +4 -4
  90. pulumi_gcp/memorystore/get_instance.py +12 -1
  91. pulumi_gcp/memorystore/instance.py +49 -0
  92. pulumi_gcp/monitoring/metric_descriptor.py +55 -57
  93. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  94. pulumi_gcp/notebooks/instance.py +8 -8
  95. pulumi_gcp/orgpolicy/policy.py +2 -2
  96. pulumi_gcp/provider.py +20 -0
  97. pulumi_gcp/pubsub/subscription.py +6 -6
  98. pulumi_gcp/pulumi-plugin.json +1 -1
  99. pulumi_gcp/redis/get_instance.py +12 -1
  100. pulumi_gcp/redis/instance.py +44 -0
  101. pulumi_gcp/secretmanager/get_regional_secret.py +12 -1
  102. pulumi_gcp/secretmanager/outputs.py +7 -0
  103. pulumi_gcp/secretmanager/regional_secret.py +38 -2
  104. pulumi_gcp/spanner/_inputs.py +24 -1
  105. pulumi_gcp/spanner/outputs.py +17 -1
  106. pulumi_gcp/storage/_inputs.py +43 -3
  107. pulumi_gcp/storage/bucket_object.py +56 -0
  108. pulumi_gcp/storage/get_bucket_object.py +12 -1
  109. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  110. pulumi_gcp/storage/outputs.py +53 -3
  111. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  112. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  113. pulumi_gcp/workbench/instance.py +2 -0
  114. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/METADATA +2 -2
  115. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/RECORD +117 -109
  116. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/WHEEL +0 -0
  117. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/top_level.txt +0 -0
@@ -24,6 +24,50 @@ __all__ = [
24
24
  'CurationEndpointApplicationIntegrationEndpointDetailsArgsDict',
25
25
  'CurationPluginInstanceActionArgs',
26
26
  'CurationPluginInstanceActionArgsDict',
27
+ 'PluginActionsConfigArgs',
28
+ 'PluginActionsConfigArgsDict',
29
+ 'PluginConfigTemplateArgs',
30
+ 'PluginConfigTemplateArgsDict',
31
+ 'PluginConfigTemplateAdditionalConfigTemplateArgs',
32
+ 'PluginConfigTemplateAdditionalConfigTemplateArgsDict',
33
+ 'PluginConfigTemplateAdditionalConfigTemplateEnumOptionArgs',
34
+ 'PluginConfigTemplateAdditionalConfigTemplateEnumOptionArgsDict',
35
+ 'PluginConfigTemplateAdditionalConfigTemplateMultiSelectOptionArgs',
36
+ 'PluginConfigTemplateAdditionalConfigTemplateMultiSelectOptionArgsDict',
37
+ 'PluginConfigTemplateAuthConfigTemplateArgs',
38
+ 'PluginConfigTemplateAuthConfigTemplateArgsDict',
39
+ 'PluginConfigTemplateAuthConfigTemplateServiceAccountArgs',
40
+ 'PluginConfigTemplateAuthConfigTemplateServiceAccountArgsDict',
41
+ 'PluginDocumentationArgs',
42
+ 'PluginDocumentationArgsDict',
43
+ 'PluginHostingServiceArgs',
44
+ 'PluginHostingServiceArgsDict',
45
+ 'PluginInstanceActionArgs',
46
+ 'PluginInstanceActionArgsDict',
47
+ 'PluginInstanceActionCurationConfigArgs',
48
+ 'PluginInstanceActionCurationConfigArgsDict',
49
+ 'PluginInstanceActionCurationConfigCustomCurationArgs',
50
+ 'PluginInstanceActionCurationConfigCustomCurationArgsDict',
51
+ 'PluginInstanceActionHubInstanceActionArgs',
52
+ 'PluginInstanceActionHubInstanceActionArgsDict',
53
+ 'PluginInstanceActionHubInstanceActionLastExecutionArgs',
54
+ 'PluginInstanceActionHubInstanceActionLastExecutionArgsDict',
55
+ 'PluginInstanceAuthConfigArgs',
56
+ 'PluginInstanceAuthConfigArgsDict',
57
+ 'PluginInstanceAuthConfigApiKeyConfigArgs',
58
+ 'PluginInstanceAuthConfigApiKeyConfigArgsDict',
59
+ 'PluginInstanceAuthConfigApiKeyConfigApiKeyArgs',
60
+ 'PluginInstanceAuthConfigApiKeyConfigApiKeyArgsDict',
61
+ 'PluginInstanceAuthConfigGoogleServiceAccountConfigArgs',
62
+ 'PluginInstanceAuthConfigGoogleServiceAccountConfigArgsDict',
63
+ 'PluginInstanceAuthConfigOauth2ClientCredentialsConfigArgs',
64
+ 'PluginInstanceAuthConfigOauth2ClientCredentialsConfigArgsDict',
65
+ 'PluginInstanceAuthConfigOauth2ClientCredentialsConfigClientSecretArgs',
66
+ 'PluginInstanceAuthConfigOauth2ClientCredentialsConfigClientSecretArgsDict',
67
+ 'PluginInstanceAuthConfigUserPasswordConfigArgs',
68
+ 'PluginInstanceAuthConfigUserPasswordConfigArgsDict',
69
+ 'PluginInstanceAuthConfigUserPasswordConfigPasswordArgs',
70
+ 'PluginInstanceAuthConfigUserPasswordConfigPasswordArgsDict',
27
71
  ]
28
72
 
29
73
  MYPY = False
@@ -337,3 +381,1617 @@ class CurationPluginInstanceActionArgs:
337
381
  pulumi.set(self, "plugin_instance", value)
338
382
 
339
383
 
384
+ if not MYPY:
385
+ class PluginActionsConfigArgsDict(TypedDict):
386
+ description: pulumi.Input[builtins.str]
387
+ """
388
+ The description of the operation performed by the action.
389
+ """
390
+ display_name: pulumi.Input[builtins.str]
391
+ """
392
+ The display name of the action.
393
+ """
394
+ id: pulumi.Input[builtins.str]
395
+ """
396
+ The id of the action.
397
+ """
398
+ trigger_mode: pulumi.Input[builtins.str]
399
+ """
400
+ The trigger mode supported by the action.
401
+ Possible values:
402
+ TRIGGER_MODE_UNSPECIFIED
403
+ API_HUB_ON_DEMAND_TRIGGER
404
+ API_HUB_SCHEDULE_TRIGGER
405
+ NON_API_HUB_MANAGED
406
+ """
407
+ elif False:
408
+ PluginActionsConfigArgsDict: TypeAlias = Mapping[str, Any]
409
+
410
+ @pulumi.input_type
411
+ class PluginActionsConfigArgs:
412
+ def __init__(__self__, *,
413
+ description: pulumi.Input[builtins.str],
414
+ display_name: pulumi.Input[builtins.str],
415
+ id: pulumi.Input[builtins.str],
416
+ trigger_mode: pulumi.Input[builtins.str]):
417
+ """
418
+ :param pulumi.Input[builtins.str] description: The description of the operation performed by the action.
419
+ :param pulumi.Input[builtins.str] display_name: The display name of the action.
420
+ :param pulumi.Input[builtins.str] id: The id of the action.
421
+ :param pulumi.Input[builtins.str] trigger_mode: The trigger mode supported by the action.
422
+ Possible values:
423
+ TRIGGER_MODE_UNSPECIFIED
424
+ API_HUB_ON_DEMAND_TRIGGER
425
+ API_HUB_SCHEDULE_TRIGGER
426
+ NON_API_HUB_MANAGED
427
+ """
428
+ pulumi.set(__self__, "description", description)
429
+ pulumi.set(__self__, "display_name", display_name)
430
+ pulumi.set(__self__, "id", id)
431
+ pulumi.set(__self__, "trigger_mode", trigger_mode)
432
+
433
+ @property
434
+ @pulumi.getter
435
+ def description(self) -> pulumi.Input[builtins.str]:
436
+ """
437
+ The description of the operation performed by the action.
438
+ """
439
+ return pulumi.get(self, "description")
440
+
441
+ @description.setter
442
+ def description(self, value: pulumi.Input[builtins.str]):
443
+ pulumi.set(self, "description", value)
444
+
445
+ @property
446
+ @pulumi.getter(name="displayName")
447
+ def display_name(self) -> pulumi.Input[builtins.str]:
448
+ """
449
+ The display name of the action.
450
+ """
451
+ return pulumi.get(self, "display_name")
452
+
453
+ @display_name.setter
454
+ def display_name(self, value: pulumi.Input[builtins.str]):
455
+ pulumi.set(self, "display_name", value)
456
+
457
+ @property
458
+ @pulumi.getter
459
+ def id(self) -> pulumi.Input[builtins.str]:
460
+ """
461
+ The id of the action.
462
+ """
463
+ return pulumi.get(self, "id")
464
+
465
+ @id.setter
466
+ def id(self, value: pulumi.Input[builtins.str]):
467
+ pulumi.set(self, "id", value)
468
+
469
+ @property
470
+ @pulumi.getter(name="triggerMode")
471
+ def trigger_mode(self) -> pulumi.Input[builtins.str]:
472
+ """
473
+ The trigger mode supported by the action.
474
+ Possible values:
475
+ TRIGGER_MODE_UNSPECIFIED
476
+ API_HUB_ON_DEMAND_TRIGGER
477
+ API_HUB_SCHEDULE_TRIGGER
478
+ NON_API_HUB_MANAGED
479
+ """
480
+ return pulumi.get(self, "trigger_mode")
481
+
482
+ @trigger_mode.setter
483
+ def trigger_mode(self, value: pulumi.Input[builtins.str]):
484
+ pulumi.set(self, "trigger_mode", value)
485
+
486
+
487
+ if not MYPY:
488
+ class PluginConfigTemplateArgsDict(TypedDict):
489
+ additional_config_templates: NotRequired[pulumi.Input[Sequence[pulumi.Input['PluginConfigTemplateAdditionalConfigTemplateArgsDict']]]]
490
+ """
491
+ The list of additional configuration variables for the plugin's
492
+ configuration.
493
+ Structure is documented below.
494
+ """
495
+ auth_config_template: NotRequired[pulumi.Input['PluginConfigTemplateAuthConfigTemplateArgsDict']]
496
+ """
497
+ AuthConfigTemplate represents the authentication template for a plugin.
498
+ Structure is documented below.
499
+ """
500
+ elif False:
501
+ PluginConfigTemplateArgsDict: TypeAlias = Mapping[str, Any]
502
+
503
+ @pulumi.input_type
504
+ class PluginConfigTemplateArgs:
505
+ def __init__(__self__, *,
506
+ additional_config_templates: Optional[pulumi.Input[Sequence[pulumi.Input['PluginConfigTemplateAdditionalConfigTemplateArgs']]]] = None,
507
+ auth_config_template: Optional[pulumi.Input['PluginConfigTemplateAuthConfigTemplateArgs']] = None):
508
+ """
509
+ :param pulumi.Input[Sequence[pulumi.Input['PluginConfigTemplateAdditionalConfigTemplateArgs']]] additional_config_templates: The list of additional configuration variables for the plugin's
510
+ configuration.
511
+ Structure is documented below.
512
+ :param pulumi.Input['PluginConfigTemplateAuthConfigTemplateArgs'] auth_config_template: AuthConfigTemplate represents the authentication template for a plugin.
513
+ Structure is documented below.
514
+ """
515
+ if additional_config_templates is not None:
516
+ pulumi.set(__self__, "additional_config_templates", additional_config_templates)
517
+ if auth_config_template is not None:
518
+ pulumi.set(__self__, "auth_config_template", auth_config_template)
519
+
520
+ @property
521
+ @pulumi.getter(name="additionalConfigTemplates")
522
+ def additional_config_templates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PluginConfigTemplateAdditionalConfigTemplateArgs']]]]:
523
+ """
524
+ The list of additional configuration variables for the plugin's
525
+ configuration.
526
+ Structure is documented below.
527
+ """
528
+ return pulumi.get(self, "additional_config_templates")
529
+
530
+ @additional_config_templates.setter
531
+ def additional_config_templates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PluginConfigTemplateAdditionalConfigTemplateArgs']]]]):
532
+ pulumi.set(self, "additional_config_templates", value)
533
+
534
+ @property
535
+ @pulumi.getter(name="authConfigTemplate")
536
+ def auth_config_template(self) -> Optional[pulumi.Input['PluginConfigTemplateAuthConfigTemplateArgs']]:
537
+ """
538
+ AuthConfigTemplate represents the authentication template for a plugin.
539
+ Structure is documented below.
540
+ """
541
+ return pulumi.get(self, "auth_config_template")
542
+
543
+ @auth_config_template.setter
544
+ def auth_config_template(self, value: Optional[pulumi.Input['PluginConfigTemplateAuthConfigTemplateArgs']]):
545
+ pulumi.set(self, "auth_config_template", value)
546
+
547
+
548
+ if not MYPY:
549
+ class PluginConfigTemplateAdditionalConfigTemplateArgsDict(TypedDict):
550
+ id: pulumi.Input[builtins.str]
551
+ """
552
+ ID of the config variable. Must be unique within the configuration.
553
+ """
554
+ value_type: pulumi.Input[builtins.str]
555
+ """
556
+ Type of the parameter: string, int, bool etc.
557
+ Possible values:
558
+ VALUE_TYPE_UNSPECIFIED
559
+ STRING
560
+ INT
561
+ BOOL
562
+ SECRET
563
+ ENUM
564
+ MULTI_SELECT
565
+ MULTI_STRING
566
+ MULTI_INT
567
+ """
568
+ description: NotRequired[pulumi.Input[builtins.str]]
569
+ """
570
+ Description.
571
+ """
572
+ enum_options: NotRequired[pulumi.Input[Sequence[pulumi.Input['PluginConfigTemplateAdditionalConfigTemplateEnumOptionArgsDict']]]]
573
+ """
574
+ Enum options. To be populated if `ValueType` is `ENUM`.
575
+ Structure is documented below.
576
+ """
577
+ multi_select_options: NotRequired[pulumi.Input[Sequence[pulumi.Input['PluginConfigTemplateAdditionalConfigTemplateMultiSelectOptionArgsDict']]]]
578
+ """
579
+ Multi select options. To be populated if `ValueType` is `MULTI_SELECT`.
580
+ Structure is documented below.
581
+ """
582
+ required: NotRequired[pulumi.Input[builtins.bool]]
583
+ """
584
+ Flag represents that this `ConfigVariable` must be provided for a
585
+ PluginInstance.
586
+ """
587
+ validation_regex: NotRequired[pulumi.Input[builtins.str]]
588
+ """
589
+ Regular expression in RE2 syntax used for validating the `value` of a
590
+ `ConfigVariable`.
591
+ """
592
+ elif False:
593
+ PluginConfigTemplateAdditionalConfigTemplateArgsDict: TypeAlias = Mapping[str, Any]
594
+
595
+ @pulumi.input_type
596
+ class PluginConfigTemplateAdditionalConfigTemplateArgs:
597
+ def __init__(__self__, *,
598
+ id: pulumi.Input[builtins.str],
599
+ value_type: pulumi.Input[builtins.str],
600
+ description: Optional[pulumi.Input[builtins.str]] = None,
601
+ enum_options: Optional[pulumi.Input[Sequence[pulumi.Input['PluginConfigTemplateAdditionalConfigTemplateEnumOptionArgs']]]] = None,
602
+ multi_select_options: Optional[pulumi.Input[Sequence[pulumi.Input['PluginConfigTemplateAdditionalConfigTemplateMultiSelectOptionArgs']]]] = None,
603
+ required: Optional[pulumi.Input[builtins.bool]] = None,
604
+ validation_regex: Optional[pulumi.Input[builtins.str]] = None):
605
+ """
606
+ :param pulumi.Input[builtins.str] id: ID of the config variable. Must be unique within the configuration.
607
+ :param pulumi.Input[builtins.str] value_type: Type of the parameter: string, int, bool etc.
608
+ Possible values:
609
+ VALUE_TYPE_UNSPECIFIED
610
+ STRING
611
+ INT
612
+ BOOL
613
+ SECRET
614
+ ENUM
615
+ MULTI_SELECT
616
+ MULTI_STRING
617
+ MULTI_INT
618
+ :param pulumi.Input[builtins.str] description: Description.
619
+ :param pulumi.Input[Sequence[pulumi.Input['PluginConfigTemplateAdditionalConfigTemplateEnumOptionArgs']]] enum_options: Enum options. To be populated if `ValueType` is `ENUM`.
620
+ Structure is documented below.
621
+ :param pulumi.Input[Sequence[pulumi.Input['PluginConfigTemplateAdditionalConfigTemplateMultiSelectOptionArgs']]] multi_select_options: Multi select options. To be populated if `ValueType` is `MULTI_SELECT`.
622
+ Structure is documented below.
623
+ :param pulumi.Input[builtins.bool] required: Flag represents that this `ConfigVariable` must be provided for a
624
+ PluginInstance.
625
+ :param pulumi.Input[builtins.str] validation_regex: Regular expression in RE2 syntax used for validating the `value` of a
626
+ `ConfigVariable`.
627
+ """
628
+ pulumi.set(__self__, "id", id)
629
+ pulumi.set(__self__, "value_type", value_type)
630
+ if description is not None:
631
+ pulumi.set(__self__, "description", description)
632
+ if enum_options is not None:
633
+ pulumi.set(__self__, "enum_options", enum_options)
634
+ if multi_select_options is not None:
635
+ pulumi.set(__self__, "multi_select_options", multi_select_options)
636
+ if required is not None:
637
+ pulumi.set(__self__, "required", required)
638
+ if validation_regex is not None:
639
+ pulumi.set(__self__, "validation_regex", validation_regex)
640
+
641
+ @property
642
+ @pulumi.getter
643
+ def id(self) -> pulumi.Input[builtins.str]:
644
+ """
645
+ ID of the config variable. Must be unique within the configuration.
646
+ """
647
+ return pulumi.get(self, "id")
648
+
649
+ @id.setter
650
+ def id(self, value: pulumi.Input[builtins.str]):
651
+ pulumi.set(self, "id", value)
652
+
653
+ @property
654
+ @pulumi.getter(name="valueType")
655
+ def value_type(self) -> pulumi.Input[builtins.str]:
656
+ """
657
+ Type of the parameter: string, int, bool etc.
658
+ Possible values:
659
+ VALUE_TYPE_UNSPECIFIED
660
+ STRING
661
+ INT
662
+ BOOL
663
+ SECRET
664
+ ENUM
665
+ MULTI_SELECT
666
+ MULTI_STRING
667
+ MULTI_INT
668
+ """
669
+ return pulumi.get(self, "value_type")
670
+
671
+ @value_type.setter
672
+ def value_type(self, value: pulumi.Input[builtins.str]):
673
+ pulumi.set(self, "value_type", value)
674
+
675
+ @property
676
+ @pulumi.getter
677
+ def description(self) -> Optional[pulumi.Input[builtins.str]]:
678
+ """
679
+ Description.
680
+ """
681
+ return pulumi.get(self, "description")
682
+
683
+ @description.setter
684
+ def description(self, value: Optional[pulumi.Input[builtins.str]]):
685
+ pulumi.set(self, "description", value)
686
+
687
+ @property
688
+ @pulumi.getter(name="enumOptions")
689
+ def enum_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PluginConfigTemplateAdditionalConfigTemplateEnumOptionArgs']]]]:
690
+ """
691
+ Enum options. To be populated if `ValueType` is `ENUM`.
692
+ Structure is documented below.
693
+ """
694
+ return pulumi.get(self, "enum_options")
695
+
696
+ @enum_options.setter
697
+ def enum_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PluginConfigTemplateAdditionalConfigTemplateEnumOptionArgs']]]]):
698
+ pulumi.set(self, "enum_options", value)
699
+
700
+ @property
701
+ @pulumi.getter(name="multiSelectOptions")
702
+ def multi_select_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PluginConfigTemplateAdditionalConfigTemplateMultiSelectOptionArgs']]]]:
703
+ """
704
+ Multi select options. To be populated if `ValueType` is `MULTI_SELECT`.
705
+ Structure is documented below.
706
+ """
707
+ return pulumi.get(self, "multi_select_options")
708
+
709
+ @multi_select_options.setter
710
+ def multi_select_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PluginConfigTemplateAdditionalConfigTemplateMultiSelectOptionArgs']]]]):
711
+ pulumi.set(self, "multi_select_options", value)
712
+
713
+ @property
714
+ @pulumi.getter
715
+ def required(self) -> Optional[pulumi.Input[builtins.bool]]:
716
+ """
717
+ Flag represents that this `ConfigVariable` must be provided for a
718
+ PluginInstance.
719
+ """
720
+ return pulumi.get(self, "required")
721
+
722
+ @required.setter
723
+ def required(self, value: Optional[pulumi.Input[builtins.bool]]):
724
+ pulumi.set(self, "required", value)
725
+
726
+ @property
727
+ @pulumi.getter(name="validationRegex")
728
+ def validation_regex(self) -> Optional[pulumi.Input[builtins.str]]:
729
+ """
730
+ Regular expression in RE2 syntax used for validating the `value` of a
731
+ `ConfigVariable`.
732
+ """
733
+ return pulumi.get(self, "validation_regex")
734
+
735
+ @validation_regex.setter
736
+ def validation_regex(self, value: Optional[pulumi.Input[builtins.str]]):
737
+ pulumi.set(self, "validation_regex", value)
738
+
739
+
740
+ if not MYPY:
741
+ class PluginConfigTemplateAdditionalConfigTemplateEnumOptionArgsDict(TypedDict):
742
+ display_name: pulumi.Input[builtins.str]
743
+ """
744
+ Display name of the option.
745
+ """
746
+ id: pulumi.Input[builtins.str]
747
+ """
748
+ Id of the option.
749
+ """
750
+ description: NotRequired[pulumi.Input[builtins.str]]
751
+ """
752
+ Description of the option.
753
+ """
754
+ elif False:
755
+ PluginConfigTemplateAdditionalConfigTemplateEnumOptionArgsDict: TypeAlias = Mapping[str, Any]
756
+
757
+ @pulumi.input_type
758
+ class PluginConfigTemplateAdditionalConfigTemplateEnumOptionArgs:
759
+ def __init__(__self__, *,
760
+ display_name: pulumi.Input[builtins.str],
761
+ id: pulumi.Input[builtins.str],
762
+ description: Optional[pulumi.Input[builtins.str]] = None):
763
+ """
764
+ :param pulumi.Input[builtins.str] display_name: Display name of the option.
765
+ :param pulumi.Input[builtins.str] id: Id of the option.
766
+ :param pulumi.Input[builtins.str] description: Description of the option.
767
+ """
768
+ pulumi.set(__self__, "display_name", display_name)
769
+ pulumi.set(__self__, "id", id)
770
+ if description is not None:
771
+ pulumi.set(__self__, "description", description)
772
+
773
+ @property
774
+ @pulumi.getter(name="displayName")
775
+ def display_name(self) -> pulumi.Input[builtins.str]:
776
+ """
777
+ Display name of the option.
778
+ """
779
+ return pulumi.get(self, "display_name")
780
+
781
+ @display_name.setter
782
+ def display_name(self, value: pulumi.Input[builtins.str]):
783
+ pulumi.set(self, "display_name", value)
784
+
785
+ @property
786
+ @pulumi.getter
787
+ def id(self) -> pulumi.Input[builtins.str]:
788
+ """
789
+ Id of the option.
790
+ """
791
+ return pulumi.get(self, "id")
792
+
793
+ @id.setter
794
+ def id(self, value: pulumi.Input[builtins.str]):
795
+ pulumi.set(self, "id", value)
796
+
797
+ @property
798
+ @pulumi.getter
799
+ def description(self) -> Optional[pulumi.Input[builtins.str]]:
800
+ """
801
+ Description of the option.
802
+ """
803
+ return pulumi.get(self, "description")
804
+
805
+ @description.setter
806
+ def description(self, value: Optional[pulumi.Input[builtins.str]]):
807
+ pulumi.set(self, "description", value)
808
+
809
+
810
+ if not MYPY:
811
+ class PluginConfigTemplateAdditionalConfigTemplateMultiSelectOptionArgsDict(TypedDict):
812
+ display_name: pulumi.Input[builtins.str]
813
+ """
814
+ Display name of the option.
815
+ """
816
+ id: pulumi.Input[builtins.str]
817
+ """
818
+ Id of the option.
819
+ """
820
+ description: NotRequired[pulumi.Input[builtins.str]]
821
+ """
822
+ Description of the option.
823
+ """
824
+ elif False:
825
+ PluginConfigTemplateAdditionalConfigTemplateMultiSelectOptionArgsDict: TypeAlias = Mapping[str, Any]
826
+
827
+ @pulumi.input_type
828
+ class PluginConfigTemplateAdditionalConfigTemplateMultiSelectOptionArgs:
829
+ def __init__(__self__, *,
830
+ display_name: pulumi.Input[builtins.str],
831
+ id: pulumi.Input[builtins.str],
832
+ description: Optional[pulumi.Input[builtins.str]] = None):
833
+ """
834
+ :param pulumi.Input[builtins.str] display_name: Display name of the option.
835
+ :param pulumi.Input[builtins.str] id: Id of the option.
836
+ :param pulumi.Input[builtins.str] description: Description of the option.
837
+ """
838
+ pulumi.set(__self__, "display_name", display_name)
839
+ pulumi.set(__self__, "id", id)
840
+ if description is not None:
841
+ pulumi.set(__self__, "description", description)
842
+
843
+ @property
844
+ @pulumi.getter(name="displayName")
845
+ def display_name(self) -> pulumi.Input[builtins.str]:
846
+ """
847
+ Display name of the option.
848
+ """
849
+ return pulumi.get(self, "display_name")
850
+
851
+ @display_name.setter
852
+ def display_name(self, value: pulumi.Input[builtins.str]):
853
+ pulumi.set(self, "display_name", value)
854
+
855
+ @property
856
+ @pulumi.getter
857
+ def id(self) -> pulumi.Input[builtins.str]:
858
+ """
859
+ Id of the option.
860
+ """
861
+ return pulumi.get(self, "id")
862
+
863
+ @id.setter
864
+ def id(self, value: pulumi.Input[builtins.str]):
865
+ pulumi.set(self, "id", value)
866
+
867
+ @property
868
+ @pulumi.getter
869
+ def description(self) -> Optional[pulumi.Input[builtins.str]]:
870
+ """
871
+ Description of the option.
872
+ """
873
+ return pulumi.get(self, "description")
874
+
875
+ @description.setter
876
+ def description(self, value: Optional[pulumi.Input[builtins.str]]):
877
+ pulumi.set(self, "description", value)
878
+
879
+
880
+ if not MYPY:
881
+ class PluginConfigTemplateAuthConfigTemplateArgsDict(TypedDict):
882
+ supported_auth_types: pulumi.Input[Sequence[pulumi.Input[builtins.str]]]
883
+ """
884
+ The list of authentication types supported by the plugin.
885
+ """
886
+ service_account: NotRequired[pulumi.Input['PluginConfigTemplateAuthConfigTemplateServiceAccountArgsDict']]
887
+ """
888
+ Config for Google service account authentication.
889
+ Structure is documented below.
890
+ """
891
+ elif False:
892
+ PluginConfigTemplateAuthConfigTemplateArgsDict: TypeAlias = Mapping[str, Any]
893
+
894
+ @pulumi.input_type
895
+ class PluginConfigTemplateAuthConfigTemplateArgs:
896
+ def __init__(__self__, *,
897
+ supported_auth_types: pulumi.Input[Sequence[pulumi.Input[builtins.str]]],
898
+ service_account: Optional[pulumi.Input['PluginConfigTemplateAuthConfigTemplateServiceAccountArgs']] = None):
899
+ """
900
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] supported_auth_types: The list of authentication types supported by the plugin.
901
+ :param pulumi.Input['PluginConfigTemplateAuthConfigTemplateServiceAccountArgs'] service_account: Config for Google service account authentication.
902
+ Structure is documented below.
903
+ """
904
+ pulumi.set(__self__, "supported_auth_types", supported_auth_types)
905
+ if service_account is not None:
906
+ pulumi.set(__self__, "service_account", service_account)
907
+
908
+ @property
909
+ @pulumi.getter(name="supportedAuthTypes")
910
+ def supported_auth_types(self) -> pulumi.Input[Sequence[pulumi.Input[builtins.str]]]:
911
+ """
912
+ The list of authentication types supported by the plugin.
913
+ """
914
+ return pulumi.get(self, "supported_auth_types")
915
+
916
+ @supported_auth_types.setter
917
+ def supported_auth_types(self, value: pulumi.Input[Sequence[pulumi.Input[builtins.str]]]):
918
+ pulumi.set(self, "supported_auth_types", value)
919
+
920
+ @property
921
+ @pulumi.getter(name="serviceAccount")
922
+ def service_account(self) -> Optional[pulumi.Input['PluginConfigTemplateAuthConfigTemplateServiceAccountArgs']]:
923
+ """
924
+ Config for Google service account authentication.
925
+ Structure is documented below.
926
+ """
927
+ return pulumi.get(self, "service_account")
928
+
929
+ @service_account.setter
930
+ def service_account(self, value: Optional[pulumi.Input['PluginConfigTemplateAuthConfigTemplateServiceAccountArgs']]):
931
+ pulumi.set(self, "service_account", value)
932
+
933
+
934
+ if not MYPY:
935
+ class PluginConfigTemplateAuthConfigTemplateServiceAccountArgsDict(TypedDict):
936
+ service_account: pulumi.Input[builtins.str]
937
+ """
938
+ The service account to be used for authenticating request.
939
+ The `iam.serviceAccounts.getAccessToken` permission should be granted on
940
+ this service account to the impersonator service account.
941
+ """
942
+ elif False:
943
+ PluginConfigTemplateAuthConfigTemplateServiceAccountArgsDict: TypeAlias = Mapping[str, Any]
944
+
945
+ @pulumi.input_type
946
+ class PluginConfigTemplateAuthConfigTemplateServiceAccountArgs:
947
+ def __init__(__self__, *,
948
+ service_account: pulumi.Input[builtins.str]):
949
+ """
950
+ :param pulumi.Input[builtins.str] service_account: The service account to be used for authenticating request.
951
+ The `iam.serviceAccounts.getAccessToken` permission should be granted on
952
+ this service account to the impersonator service account.
953
+ """
954
+ pulumi.set(__self__, "service_account", service_account)
955
+
956
+ @property
957
+ @pulumi.getter(name="serviceAccount")
958
+ def service_account(self) -> pulumi.Input[builtins.str]:
959
+ """
960
+ The service account to be used for authenticating request.
961
+ The `iam.serviceAccounts.getAccessToken` permission should be granted on
962
+ this service account to the impersonator service account.
963
+ """
964
+ return pulumi.get(self, "service_account")
965
+
966
+ @service_account.setter
967
+ def service_account(self, value: pulumi.Input[builtins.str]):
968
+ pulumi.set(self, "service_account", value)
969
+
970
+
971
+ if not MYPY:
972
+ class PluginDocumentationArgsDict(TypedDict):
973
+ external_uri: NotRequired[pulumi.Input[builtins.str]]
974
+ """
975
+ The uri of the externally hosted documentation.
976
+ """
977
+ elif False:
978
+ PluginDocumentationArgsDict: TypeAlias = Mapping[str, Any]
979
+
980
+ @pulumi.input_type
981
+ class PluginDocumentationArgs:
982
+ def __init__(__self__, *,
983
+ external_uri: Optional[pulumi.Input[builtins.str]] = None):
984
+ """
985
+ :param pulumi.Input[builtins.str] external_uri: The uri of the externally hosted documentation.
986
+ """
987
+ if external_uri is not None:
988
+ pulumi.set(__self__, "external_uri", external_uri)
989
+
990
+ @property
991
+ @pulumi.getter(name="externalUri")
992
+ def external_uri(self) -> Optional[pulumi.Input[builtins.str]]:
993
+ """
994
+ The uri of the externally hosted documentation.
995
+ """
996
+ return pulumi.get(self, "external_uri")
997
+
998
+ @external_uri.setter
999
+ def external_uri(self, value: Optional[pulumi.Input[builtins.str]]):
1000
+ pulumi.set(self, "external_uri", value)
1001
+
1002
+
1003
+ if not MYPY:
1004
+ class PluginHostingServiceArgsDict(TypedDict):
1005
+ service_uri: NotRequired[pulumi.Input[builtins.str]]
1006
+ """
1007
+ The URI of the service implemented by the plugin developer, used to
1008
+ invoke the plugin's functionality. This information is only required for
1009
+ user defined plugins.
1010
+ """
1011
+ elif False:
1012
+ PluginHostingServiceArgsDict: TypeAlias = Mapping[str, Any]
1013
+
1014
+ @pulumi.input_type
1015
+ class PluginHostingServiceArgs:
1016
+ def __init__(__self__, *,
1017
+ service_uri: Optional[pulumi.Input[builtins.str]] = None):
1018
+ """
1019
+ :param pulumi.Input[builtins.str] service_uri: The URI of the service implemented by the plugin developer, used to
1020
+ invoke the plugin's functionality. This information is only required for
1021
+ user defined plugins.
1022
+ """
1023
+ if service_uri is not None:
1024
+ pulumi.set(__self__, "service_uri", service_uri)
1025
+
1026
+ @property
1027
+ @pulumi.getter(name="serviceUri")
1028
+ def service_uri(self) -> Optional[pulumi.Input[builtins.str]]:
1029
+ """
1030
+ The URI of the service implemented by the plugin developer, used to
1031
+ invoke the plugin's functionality. This information is only required for
1032
+ user defined plugins.
1033
+ """
1034
+ return pulumi.get(self, "service_uri")
1035
+
1036
+ @service_uri.setter
1037
+ def service_uri(self, value: Optional[pulumi.Input[builtins.str]]):
1038
+ pulumi.set(self, "service_uri", value)
1039
+
1040
+
1041
+ if not MYPY:
1042
+ class PluginInstanceActionArgsDict(TypedDict):
1043
+ action_id: pulumi.Input[builtins.str]
1044
+ """
1045
+ This should map to one of the action id specified
1046
+ in actions_config in the plugin.
1047
+ """
1048
+ curation_config: NotRequired[pulumi.Input['PluginInstanceActionCurationConfigArgsDict']]
1049
+ """
1050
+ The curation information for this plugin instance.
1051
+ Structure is documented below.
1052
+ """
1053
+ hub_instance_actions: NotRequired[pulumi.Input[Sequence[pulumi.Input['PluginInstanceActionHubInstanceActionArgsDict']]]]
1054
+ """
1055
+ (Output)
1056
+ The execution status for the plugin instance.
1057
+ Structure is documented below.
1058
+ """
1059
+ schedule_cron_expression: NotRequired[pulumi.Input[builtins.str]]
1060
+ """
1061
+ The schedule for this plugin instance action. This can only be set if the
1062
+ plugin supports API_HUB_SCHEDULE_TRIGGER mode for this action.
1063
+ """
1064
+ schedule_time_zone: NotRequired[pulumi.Input[builtins.str]]
1065
+ """
1066
+ The time zone for the schedule cron expression. If not provided, UTC will
1067
+ be used.
1068
+
1069
+
1070
+ <a name="nested_actions_actions_hub_instance_action"></a>The `hub_instance_action` block contains:
1071
+ """
1072
+ state: NotRequired[pulumi.Input[builtins.str]]
1073
+ """
1074
+ (Output)
1075
+ The current state of the plugin action in the plugin instance.
1076
+ Possible values:
1077
+ STATE_UNSPECIFIED
1078
+ ENABLED
1079
+ DISABLED
1080
+ ENABLING
1081
+ DISABLING
1082
+ ERROR
1083
+ """
1084
+ elif False:
1085
+ PluginInstanceActionArgsDict: TypeAlias = Mapping[str, Any]
1086
+
1087
+ @pulumi.input_type
1088
+ class PluginInstanceActionArgs:
1089
+ def __init__(__self__, *,
1090
+ action_id: pulumi.Input[builtins.str],
1091
+ curation_config: Optional[pulumi.Input['PluginInstanceActionCurationConfigArgs']] = None,
1092
+ hub_instance_actions: Optional[pulumi.Input[Sequence[pulumi.Input['PluginInstanceActionHubInstanceActionArgs']]]] = None,
1093
+ schedule_cron_expression: Optional[pulumi.Input[builtins.str]] = None,
1094
+ schedule_time_zone: Optional[pulumi.Input[builtins.str]] = None,
1095
+ state: Optional[pulumi.Input[builtins.str]] = None):
1096
+ """
1097
+ :param pulumi.Input[builtins.str] action_id: This should map to one of the action id specified
1098
+ in actions_config in the plugin.
1099
+ :param pulumi.Input['PluginInstanceActionCurationConfigArgs'] curation_config: The curation information for this plugin instance.
1100
+ Structure is documented below.
1101
+ :param pulumi.Input[Sequence[pulumi.Input['PluginInstanceActionHubInstanceActionArgs']]] hub_instance_actions: (Output)
1102
+ The execution status for the plugin instance.
1103
+ Structure is documented below.
1104
+ :param pulumi.Input[builtins.str] schedule_cron_expression: The schedule for this plugin instance action. This can only be set if the
1105
+ plugin supports API_HUB_SCHEDULE_TRIGGER mode for this action.
1106
+ :param pulumi.Input[builtins.str] schedule_time_zone: The time zone for the schedule cron expression. If not provided, UTC will
1107
+ be used.
1108
+
1109
+
1110
+ <a name="nested_actions_actions_hub_instance_action"></a>The `hub_instance_action` block contains:
1111
+ :param pulumi.Input[builtins.str] state: (Output)
1112
+ The current state of the plugin action in the plugin instance.
1113
+ Possible values:
1114
+ STATE_UNSPECIFIED
1115
+ ENABLED
1116
+ DISABLED
1117
+ ENABLING
1118
+ DISABLING
1119
+ ERROR
1120
+ """
1121
+ pulumi.set(__self__, "action_id", action_id)
1122
+ if curation_config is not None:
1123
+ pulumi.set(__self__, "curation_config", curation_config)
1124
+ if hub_instance_actions is not None:
1125
+ pulumi.set(__self__, "hub_instance_actions", hub_instance_actions)
1126
+ if schedule_cron_expression is not None:
1127
+ pulumi.set(__self__, "schedule_cron_expression", schedule_cron_expression)
1128
+ if schedule_time_zone is not None:
1129
+ pulumi.set(__self__, "schedule_time_zone", schedule_time_zone)
1130
+ if state is not None:
1131
+ pulumi.set(__self__, "state", state)
1132
+
1133
+ @property
1134
+ @pulumi.getter(name="actionId")
1135
+ def action_id(self) -> pulumi.Input[builtins.str]:
1136
+ """
1137
+ This should map to one of the action id specified
1138
+ in actions_config in the plugin.
1139
+ """
1140
+ return pulumi.get(self, "action_id")
1141
+
1142
+ @action_id.setter
1143
+ def action_id(self, value: pulumi.Input[builtins.str]):
1144
+ pulumi.set(self, "action_id", value)
1145
+
1146
+ @property
1147
+ @pulumi.getter(name="curationConfig")
1148
+ def curation_config(self) -> Optional[pulumi.Input['PluginInstanceActionCurationConfigArgs']]:
1149
+ """
1150
+ The curation information for this plugin instance.
1151
+ Structure is documented below.
1152
+ """
1153
+ return pulumi.get(self, "curation_config")
1154
+
1155
+ @curation_config.setter
1156
+ def curation_config(self, value: Optional[pulumi.Input['PluginInstanceActionCurationConfigArgs']]):
1157
+ pulumi.set(self, "curation_config", value)
1158
+
1159
+ @property
1160
+ @pulumi.getter(name="hubInstanceActions")
1161
+ def hub_instance_actions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PluginInstanceActionHubInstanceActionArgs']]]]:
1162
+ """
1163
+ (Output)
1164
+ The execution status for the plugin instance.
1165
+ Structure is documented below.
1166
+ """
1167
+ return pulumi.get(self, "hub_instance_actions")
1168
+
1169
+ @hub_instance_actions.setter
1170
+ def hub_instance_actions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PluginInstanceActionHubInstanceActionArgs']]]]):
1171
+ pulumi.set(self, "hub_instance_actions", value)
1172
+
1173
+ @property
1174
+ @pulumi.getter(name="scheduleCronExpression")
1175
+ def schedule_cron_expression(self) -> Optional[pulumi.Input[builtins.str]]:
1176
+ """
1177
+ The schedule for this plugin instance action. This can only be set if the
1178
+ plugin supports API_HUB_SCHEDULE_TRIGGER mode for this action.
1179
+ """
1180
+ return pulumi.get(self, "schedule_cron_expression")
1181
+
1182
+ @schedule_cron_expression.setter
1183
+ def schedule_cron_expression(self, value: Optional[pulumi.Input[builtins.str]]):
1184
+ pulumi.set(self, "schedule_cron_expression", value)
1185
+
1186
+ @property
1187
+ @pulumi.getter(name="scheduleTimeZone")
1188
+ def schedule_time_zone(self) -> Optional[pulumi.Input[builtins.str]]:
1189
+ """
1190
+ The time zone for the schedule cron expression. If not provided, UTC will
1191
+ be used.
1192
+
1193
+
1194
+ <a name="nested_actions_actions_hub_instance_action"></a>The `hub_instance_action` block contains:
1195
+ """
1196
+ return pulumi.get(self, "schedule_time_zone")
1197
+
1198
+ @schedule_time_zone.setter
1199
+ def schedule_time_zone(self, value: Optional[pulumi.Input[builtins.str]]):
1200
+ pulumi.set(self, "schedule_time_zone", value)
1201
+
1202
+ @property
1203
+ @pulumi.getter
1204
+ def state(self) -> Optional[pulumi.Input[builtins.str]]:
1205
+ """
1206
+ (Output)
1207
+ The current state of the plugin action in the plugin instance.
1208
+ Possible values:
1209
+ STATE_UNSPECIFIED
1210
+ ENABLED
1211
+ DISABLED
1212
+ ENABLING
1213
+ DISABLING
1214
+ ERROR
1215
+ """
1216
+ return pulumi.get(self, "state")
1217
+
1218
+ @state.setter
1219
+ def state(self, value: Optional[pulumi.Input[builtins.str]]):
1220
+ pulumi.set(self, "state", value)
1221
+
1222
+
1223
+ if not MYPY:
1224
+ class PluginInstanceActionCurationConfigArgsDict(TypedDict):
1225
+ curation_type: NotRequired[pulumi.Input[builtins.str]]
1226
+ """
1227
+ Possible values:
1228
+ CURATION_TYPE_UNSPECIFIED
1229
+ DEFAULT_CURATION_FOR_API_METADATA
1230
+ CUSTOM_CURATION_FOR_API_METADATA
1231
+ """
1232
+ custom_curation: NotRequired[pulumi.Input['PluginInstanceActionCurationConfigCustomCurationArgsDict']]
1233
+ """
1234
+ Custom curation information for this plugin instance.
1235
+ Structure is documented below.
1236
+ """
1237
+ elif False:
1238
+ PluginInstanceActionCurationConfigArgsDict: TypeAlias = Mapping[str, Any]
1239
+
1240
+ @pulumi.input_type
1241
+ class PluginInstanceActionCurationConfigArgs:
1242
+ def __init__(__self__, *,
1243
+ curation_type: Optional[pulumi.Input[builtins.str]] = None,
1244
+ custom_curation: Optional[pulumi.Input['PluginInstanceActionCurationConfigCustomCurationArgs']] = None):
1245
+ """
1246
+ :param pulumi.Input[builtins.str] curation_type: Possible values:
1247
+ CURATION_TYPE_UNSPECIFIED
1248
+ DEFAULT_CURATION_FOR_API_METADATA
1249
+ CUSTOM_CURATION_FOR_API_METADATA
1250
+ :param pulumi.Input['PluginInstanceActionCurationConfigCustomCurationArgs'] custom_curation: Custom curation information for this plugin instance.
1251
+ Structure is documented below.
1252
+ """
1253
+ if curation_type is not None:
1254
+ pulumi.set(__self__, "curation_type", curation_type)
1255
+ if custom_curation is not None:
1256
+ pulumi.set(__self__, "custom_curation", custom_curation)
1257
+
1258
+ @property
1259
+ @pulumi.getter(name="curationType")
1260
+ def curation_type(self) -> Optional[pulumi.Input[builtins.str]]:
1261
+ """
1262
+ Possible values:
1263
+ CURATION_TYPE_UNSPECIFIED
1264
+ DEFAULT_CURATION_FOR_API_METADATA
1265
+ CUSTOM_CURATION_FOR_API_METADATA
1266
+ """
1267
+ return pulumi.get(self, "curation_type")
1268
+
1269
+ @curation_type.setter
1270
+ def curation_type(self, value: Optional[pulumi.Input[builtins.str]]):
1271
+ pulumi.set(self, "curation_type", value)
1272
+
1273
+ @property
1274
+ @pulumi.getter(name="customCuration")
1275
+ def custom_curation(self) -> Optional[pulumi.Input['PluginInstanceActionCurationConfigCustomCurationArgs']]:
1276
+ """
1277
+ Custom curation information for this plugin instance.
1278
+ Structure is documented below.
1279
+ """
1280
+ return pulumi.get(self, "custom_curation")
1281
+
1282
+ @custom_curation.setter
1283
+ def custom_curation(self, value: Optional[pulumi.Input['PluginInstanceActionCurationConfigCustomCurationArgs']]):
1284
+ pulumi.set(self, "custom_curation", value)
1285
+
1286
+
1287
+ if not MYPY:
1288
+ class PluginInstanceActionCurationConfigCustomCurationArgsDict(TypedDict):
1289
+ curation: pulumi.Input[builtins.str]
1290
+ """
1291
+ The unique name of the curation resource. This will be the name of the
1292
+ curation resource in the format:
1293
+ `projects/{project}/locations/{location}/curations/{curation}`
1294
+
1295
+ - - -
1296
+ """
1297
+ elif False:
1298
+ PluginInstanceActionCurationConfigCustomCurationArgsDict: TypeAlias = Mapping[str, Any]
1299
+
1300
+ @pulumi.input_type
1301
+ class PluginInstanceActionCurationConfigCustomCurationArgs:
1302
+ def __init__(__self__, *,
1303
+ curation: pulumi.Input[builtins.str]):
1304
+ """
1305
+ :param pulumi.Input[builtins.str] curation: The unique name of the curation resource. This will be the name of the
1306
+ curation resource in the format:
1307
+ `projects/{project}/locations/{location}/curations/{curation}`
1308
+
1309
+ - - -
1310
+ """
1311
+ pulumi.set(__self__, "curation", curation)
1312
+
1313
+ @property
1314
+ @pulumi.getter
1315
+ def curation(self) -> pulumi.Input[builtins.str]:
1316
+ """
1317
+ The unique name of the curation resource. This will be the name of the
1318
+ curation resource in the format:
1319
+ `projects/{project}/locations/{location}/curations/{curation}`
1320
+
1321
+ - - -
1322
+ """
1323
+ return pulumi.get(self, "curation")
1324
+
1325
+ @curation.setter
1326
+ def curation(self, value: pulumi.Input[builtins.str]):
1327
+ pulumi.set(self, "curation", value)
1328
+
1329
+
1330
+ if not MYPY:
1331
+ class PluginInstanceActionHubInstanceActionArgsDict(TypedDict):
1332
+ current_execution_state: NotRequired[pulumi.Input[builtins.str]]
1333
+ """
1334
+ The current state of the execution.
1335
+ Possible values:
1336
+ CURRENT_EXECUTION_STATE_UNSPECIFIED
1337
+ RUNNING
1338
+ NOT_RUNNING
1339
+ """
1340
+ last_executions: NotRequired[pulumi.Input[Sequence[pulumi.Input['PluginInstanceActionHubInstanceActionLastExecutionArgsDict']]]]
1341
+ """
1342
+ The result of the last execution of the plugin instance.
1343
+ """
1344
+ elif False:
1345
+ PluginInstanceActionHubInstanceActionArgsDict: TypeAlias = Mapping[str, Any]
1346
+
1347
+ @pulumi.input_type
1348
+ class PluginInstanceActionHubInstanceActionArgs:
1349
+ def __init__(__self__, *,
1350
+ current_execution_state: Optional[pulumi.Input[builtins.str]] = None,
1351
+ last_executions: Optional[pulumi.Input[Sequence[pulumi.Input['PluginInstanceActionHubInstanceActionLastExecutionArgs']]]] = None):
1352
+ """
1353
+ :param pulumi.Input[builtins.str] current_execution_state: The current state of the execution.
1354
+ Possible values:
1355
+ CURRENT_EXECUTION_STATE_UNSPECIFIED
1356
+ RUNNING
1357
+ NOT_RUNNING
1358
+ :param pulumi.Input[Sequence[pulumi.Input['PluginInstanceActionHubInstanceActionLastExecutionArgs']]] last_executions: The result of the last execution of the plugin instance.
1359
+ """
1360
+ if current_execution_state is not None:
1361
+ pulumi.set(__self__, "current_execution_state", current_execution_state)
1362
+ if last_executions is not None:
1363
+ pulumi.set(__self__, "last_executions", last_executions)
1364
+
1365
+ @property
1366
+ @pulumi.getter(name="currentExecutionState")
1367
+ def current_execution_state(self) -> Optional[pulumi.Input[builtins.str]]:
1368
+ """
1369
+ The current state of the execution.
1370
+ Possible values:
1371
+ CURRENT_EXECUTION_STATE_UNSPECIFIED
1372
+ RUNNING
1373
+ NOT_RUNNING
1374
+ """
1375
+ return pulumi.get(self, "current_execution_state")
1376
+
1377
+ @current_execution_state.setter
1378
+ def current_execution_state(self, value: Optional[pulumi.Input[builtins.str]]):
1379
+ pulumi.set(self, "current_execution_state", value)
1380
+
1381
+ @property
1382
+ @pulumi.getter(name="lastExecutions")
1383
+ def last_executions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PluginInstanceActionHubInstanceActionLastExecutionArgs']]]]:
1384
+ """
1385
+ The result of the last execution of the plugin instance.
1386
+ """
1387
+ return pulumi.get(self, "last_executions")
1388
+
1389
+ @last_executions.setter
1390
+ def last_executions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PluginInstanceActionHubInstanceActionLastExecutionArgs']]]]):
1391
+ pulumi.set(self, "last_executions", value)
1392
+
1393
+
1394
+ if not MYPY:
1395
+ class PluginInstanceActionHubInstanceActionLastExecutionArgsDict(TypedDict):
1396
+ end_time: NotRequired[pulumi.Input[builtins.str]]
1397
+ """
1398
+ The last execution end time of the plugin instance.
1399
+ """
1400
+ error_message: NotRequired[pulumi.Input[builtins.str]]
1401
+ """
1402
+ Error message describing the failure, if any, during Create, Delete or
1403
+ ApplyConfig operation corresponding to the plugin instance.This field will
1404
+ only be populated if the plugin instance is in the ERROR or FAILED state.
1405
+ """
1406
+ result: NotRequired[pulumi.Input[builtins.str]]
1407
+ """
1408
+ The result of the last execution of the plugin instance.
1409
+ Possible values:
1410
+ RESULT_UNSPECIFIED
1411
+ SUCCEEDED
1412
+ FAILED
1413
+ """
1414
+ start_time: NotRequired[pulumi.Input[builtins.str]]
1415
+ """
1416
+ The last execution start time of the plugin instance.
1417
+ """
1418
+ elif False:
1419
+ PluginInstanceActionHubInstanceActionLastExecutionArgsDict: TypeAlias = Mapping[str, Any]
1420
+
1421
+ @pulumi.input_type
1422
+ class PluginInstanceActionHubInstanceActionLastExecutionArgs:
1423
+ def __init__(__self__, *,
1424
+ end_time: Optional[pulumi.Input[builtins.str]] = None,
1425
+ error_message: Optional[pulumi.Input[builtins.str]] = None,
1426
+ result: Optional[pulumi.Input[builtins.str]] = None,
1427
+ start_time: Optional[pulumi.Input[builtins.str]] = None):
1428
+ """
1429
+ :param pulumi.Input[builtins.str] end_time: The last execution end time of the plugin instance.
1430
+ :param pulumi.Input[builtins.str] error_message: Error message describing the failure, if any, during Create, Delete or
1431
+ ApplyConfig operation corresponding to the plugin instance.This field will
1432
+ only be populated if the plugin instance is in the ERROR or FAILED state.
1433
+ :param pulumi.Input[builtins.str] result: The result of the last execution of the plugin instance.
1434
+ Possible values:
1435
+ RESULT_UNSPECIFIED
1436
+ SUCCEEDED
1437
+ FAILED
1438
+ :param pulumi.Input[builtins.str] start_time: The last execution start time of the plugin instance.
1439
+ """
1440
+ if end_time is not None:
1441
+ pulumi.set(__self__, "end_time", end_time)
1442
+ if error_message is not None:
1443
+ pulumi.set(__self__, "error_message", error_message)
1444
+ if result is not None:
1445
+ pulumi.set(__self__, "result", result)
1446
+ if start_time is not None:
1447
+ pulumi.set(__self__, "start_time", start_time)
1448
+
1449
+ @property
1450
+ @pulumi.getter(name="endTime")
1451
+ def end_time(self) -> Optional[pulumi.Input[builtins.str]]:
1452
+ """
1453
+ The last execution end time of the plugin instance.
1454
+ """
1455
+ return pulumi.get(self, "end_time")
1456
+
1457
+ @end_time.setter
1458
+ def end_time(self, value: Optional[pulumi.Input[builtins.str]]):
1459
+ pulumi.set(self, "end_time", value)
1460
+
1461
+ @property
1462
+ @pulumi.getter(name="errorMessage")
1463
+ def error_message(self) -> Optional[pulumi.Input[builtins.str]]:
1464
+ """
1465
+ Error message describing the failure, if any, during Create, Delete or
1466
+ ApplyConfig operation corresponding to the plugin instance.This field will
1467
+ only be populated if the plugin instance is in the ERROR or FAILED state.
1468
+ """
1469
+ return pulumi.get(self, "error_message")
1470
+
1471
+ @error_message.setter
1472
+ def error_message(self, value: Optional[pulumi.Input[builtins.str]]):
1473
+ pulumi.set(self, "error_message", value)
1474
+
1475
+ @property
1476
+ @pulumi.getter
1477
+ def result(self) -> Optional[pulumi.Input[builtins.str]]:
1478
+ """
1479
+ The result of the last execution of the plugin instance.
1480
+ Possible values:
1481
+ RESULT_UNSPECIFIED
1482
+ SUCCEEDED
1483
+ FAILED
1484
+ """
1485
+ return pulumi.get(self, "result")
1486
+
1487
+ @result.setter
1488
+ def result(self, value: Optional[pulumi.Input[builtins.str]]):
1489
+ pulumi.set(self, "result", value)
1490
+
1491
+ @property
1492
+ @pulumi.getter(name="startTime")
1493
+ def start_time(self) -> Optional[pulumi.Input[builtins.str]]:
1494
+ """
1495
+ The last execution start time of the plugin instance.
1496
+ """
1497
+ return pulumi.get(self, "start_time")
1498
+
1499
+ @start_time.setter
1500
+ def start_time(self, value: Optional[pulumi.Input[builtins.str]]):
1501
+ pulumi.set(self, "start_time", value)
1502
+
1503
+
1504
+ if not MYPY:
1505
+ class PluginInstanceAuthConfigArgsDict(TypedDict):
1506
+ auth_type: pulumi.Input[builtins.str]
1507
+ """
1508
+ Possible values:
1509
+ AUTH_TYPE_UNSPECIFIED
1510
+ NO_AUTH
1511
+ GOOGLE_SERVICE_ACCOUNT
1512
+ USER_PASSWORD
1513
+ API_KEY
1514
+ OAUTH2_CLIENT_CREDENTIALS
1515
+ """
1516
+ api_key_config: NotRequired[pulumi.Input['PluginInstanceAuthConfigApiKeyConfigArgsDict']]
1517
+ """
1518
+ Config for authentication with API key.
1519
+ Structure is documented below.
1520
+ """
1521
+ google_service_account_config: NotRequired[pulumi.Input['PluginInstanceAuthConfigGoogleServiceAccountConfigArgsDict']]
1522
+ """
1523
+ Config for Google service account authentication.
1524
+ Structure is documented below.
1525
+ """
1526
+ oauth2_client_credentials_config: NotRequired[pulumi.Input['PluginInstanceAuthConfigOauth2ClientCredentialsConfigArgsDict']]
1527
+ """
1528
+ Parameters to support Oauth 2.0 client credentials grant authentication.
1529
+ See https://tools.ietf.org/html/rfc6749#section-1.3.4 for more details.
1530
+ Structure is documented below.
1531
+ """
1532
+ user_password_config: NotRequired[pulumi.Input['PluginInstanceAuthConfigUserPasswordConfigArgsDict']]
1533
+ """
1534
+ Parameters to support Username and Password Authentication.
1535
+ Structure is documented below.
1536
+ """
1537
+ elif False:
1538
+ PluginInstanceAuthConfigArgsDict: TypeAlias = Mapping[str, Any]
1539
+
1540
+ @pulumi.input_type
1541
+ class PluginInstanceAuthConfigArgs:
1542
+ def __init__(__self__, *,
1543
+ auth_type: pulumi.Input[builtins.str],
1544
+ api_key_config: Optional[pulumi.Input['PluginInstanceAuthConfigApiKeyConfigArgs']] = None,
1545
+ google_service_account_config: Optional[pulumi.Input['PluginInstanceAuthConfigGoogleServiceAccountConfigArgs']] = None,
1546
+ oauth2_client_credentials_config: Optional[pulumi.Input['PluginInstanceAuthConfigOauth2ClientCredentialsConfigArgs']] = None,
1547
+ user_password_config: Optional[pulumi.Input['PluginInstanceAuthConfigUserPasswordConfigArgs']] = None):
1548
+ """
1549
+ :param pulumi.Input[builtins.str] auth_type: Possible values:
1550
+ AUTH_TYPE_UNSPECIFIED
1551
+ NO_AUTH
1552
+ GOOGLE_SERVICE_ACCOUNT
1553
+ USER_PASSWORD
1554
+ API_KEY
1555
+ OAUTH2_CLIENT_CREDENTIALS
1556
+ :param pulumi.Input['PluginInstanceAuthConfigApiKeyConfigArgs'] api_key_config: Config for authentication with API key.
1557
+ Structure is documented below.
1558
+ :param pulumi.Input['PluginInstanceAuthConfigGoogleServiceAccountConfigArgs'] google_service_account_config: Config for Google service account authentication.
1559
+ Structure is documented below.
1560
+ :param pulumi.Input['PluginInstanceAuthConfigOauth2ClientCredentialsConfigArgs'] oauth2_client_credentials_config: Parameters to support Oauth 2.0 client credentials grant authentication.
1561
+ See https://tools.ietf.org/html/rfc6749#section-1.3.4 for more details.
1562
+ Structure is documented below.
1563
+ :param pulumi.Input['PluginInstanceAuthConfigUserPasswordConfigArgs'] user_password_config: Parameters to support Username and Password Authentication.
1564
+ Structure is documented below.
1565
+ """
1566
+ pulumi.set(__self__, "auth_type", auth_type)
1567
+ if api_key_config is not None:
1568
+ pulumi.set(__self__, "api_key_config", api_key_config)
1569
+ if google_service_account_config is not None:
1570
+ pulumi.set(__self__, "google_service_account_config", google_service_account_config)
1571
+ if oauth2_client_credentials_config is not None:
1572
+ pulumi.set(__self__, "oauth2_client_credentials_config", oauth2_client_credentials_config)
1573
+ if user_password_config is not None:
1574
+ pulumi.set(__self__, "user_password_config", user_password_config)
1575
+
1576
+ @property
1577
+ @pulumi.getter(name="authType")
1578
+ def auth_type(self) -> pulumi.Input[builtins.str]:
1579
+ """
1580
+ Possible values:
1581
+ AUTH_TYPE_UNSPECIFIED
1582
+ NO_AUTH
1583
+ GOOGLE_SERVICE_ACCOUNT
1584
+ USER_PASSWORD
1585
+ API_KEY
1586
+ OAUTH2_CLIENT_CREDENTIALS
1587
+ """
1588
+ return pulumi.get(self, "auth_type")
1589
+
1590
+ @auth_type.setter
1591
+ def auth_type(self, value: pulumi.Input[builtins.str]):
1592
+ pulumi.set(self, "auth_type", value)
1593
+
1594
+ @property
1595
+ @pulumi.getter(name="apiKeyConfig")
1596
+ def api_key_config(self) -> Optional[pulumi.Input['PluginInstanceAuthConfigApiKeyConfigArgs']]:
1597
+ """
1598
+ Config for authentication with API key.
1599
+ Structure is documented below.
1600
+ """
1601
+ return pulumi.get(self, "api_key_config")
1602
+
1603
+ @api_key_config.setter
1604
+ def api_key_config(self, value: Optional[pulumi.Input['PluginInstanceAuthConfigApiKeyConfigArgs']]):
1605
+ pulumi.set(self, "api_key_config", value)
1606
+
1607
+ @property
1608
+ @pulumi.getter(name="googleServiceAccountConfig")
1609
+ def google_service_account_config(self) -> Optional[pulumi.Input['PluginInstanceAuthConfigGoogleServiceAccountConfigArgs']]:
1610
+ """
1611
+ Config for Google service account authentication.
1612
+ Structure is documented below.
1613
+ """
1614
+ return pulumi.get(self, "google_service_account_config")
1615
+
1616
+ @google_service_account_config.setter
1617
+ def google_service_account_config(self, value: Optional[pulumi.Input['PluginInstanceAuthConfigGoogleServiceAccountConfigArgs']]):
1618
+ pulumi.set(self, "google_service_account_config", value)
1619
+
1620
+ @property
1621
+ @pulumi.getter(name="oauth2ClientCredentialsConfig")
1622
+ def oauth2_client_credentials_config(self) -> Optional[pulumi.Input['PluginInstanceAuthConfigOauth2ClientCredentialsConfigArgs']]:
1623
+ """
1624
+ Parameters to support Oauth 2.0 client credentials grant authentication.
1625
+ See https://tools.ietf.org/html/rfc6749#section-1.3.4 for more details.
1626
+ Structure is documented below.
1627
+ """
1628
+ return pulumi.get(self, "oauth2_client_credentials_config")
1629
+
1630
+ @oauth2_client_credentials_config.setter
1631
+ def oauth2_client_credentials_config(self, value: Optional[pulumi.Input['PluginInstanceAuthConfigOauth2ClientCredentialsConfigArgs']]):
1632
+ pulumi.set(self, "oauth2_client_credentials_config", value)
1633
+
1634
+ @property
1635
+ @pulumi.getter(name="userPasswordConfig")
1636
+ def user_password_config(self) -> Optional[pulumi.Input['PluginInstanceAuthConfigUserPasswordConfigArgs']]:
1637
+ """
1638
+ Parameters to support Username and Password Authentication.
1639
+ Structure is documented below.
1640
+ """
1641
+ return pulumi.get(self, "user_password_config")
1642
+
1643
+ @user_password_config.setter
1644
+ def user_password_config(self, value: Optional[pulumi.Input['PluginInstanceAuthConfigUserPasswordConfigArgs']]):
1645
+ pulumi.set(self, "user_password_config", value)
1646
+
1647
+
1648
+ if not MYPY:
1649
+ class PluginInstanceAuthConfigApiKeyConfigArgsDict(TypedDict):
1650
+ api_key: pulumi.Input['PluginInstanceAuthConfigApiKeyConfigApiKeyArgsDict']
1651
+ """
1652
+ Secret provides a reference to entries in Secret Manager.
1653
+ Structure is documented below.
1654
+ """
1655
+ http_element_location: pulumi.Input[builtins.str]
1656
+ """
1657
+ The location of the API key.
1658
+ The default value is QUERY.
1659
+ Possible values:
1660
+ HTTP_ELEMENT_LOCATION_UNSPECIFIED
1661
+ QUERY
1662
+ HEADER
1663
+ PATH
1664
+ BODY
1665
+ COOKIE
1666
+ """
1667
+ name: pulumi.Input[builtins.str]
1668
+ """
1669
+ The parameter name of the API key.
1670
+ E.g. If the API request is "https://example.com/act?api_key=",
1671
+ "api_key" would be the parameter name.
1672
+ """
1673
+ elif False:
1674
+ PluginInstanceAuthConfigApiKeyConfigArgsDict: TypeAlias = Mapping[str, Any]
1675
+
1676
+ @pulumi.input_type
1677
+ class PluginInstanceAuthConfigApiKeyConfigArgs:
1678
+ def __init__(__self__, *,
1679
+ api_key: pulumi.Input['PluginInstanceAuthConfigApiKeyConfigApiKeyArgs'],
1680
+ http_element_location: pulumi.Input[builtins.str],
1681
+ name: pulumi.Input[builtins.str]):
1682
+ """
1683
+ :param pulumi.Input['PluginInstanceAuthConfigApiKeyConfigApiKeyArgs'] api_key: Secret provides a reference to entries in Secret Manager.
1684
+ Structure is documented below.
1685
+ :param pulumi.Input[builtins.str] http_element_location: The location of the API key.
1686
+ The default value is QUERY.
1687
+ Possible values:
1688
+ HTTP_ELEMENT_LOCATION_UNSPECIFIED
1689
+ QUERY
1690
+ HEADER
1691
+ PATH
1692
+ BODY
1693
+ COOKIE
1694
+ :param pulumi.Input[builtins.str] name: The parameter name of the API key.
1695
+ E.g. If the API request is "https://example.com/act?api_key=",
1696
+ "api_key" would be the parameter name.
1697
+ """
1698
+ pulumi.set(__self__, "api_key", api_key)
1699
+ pulumi.set(__self__, "http_element_location", http_element_location)
1700
+ pulumi.set(__self__, "name", name)
1701
+
1702
+ @property
1703
+ @pulumi.getter(name="apiKey")
1704
+ def api_key(self) -> pulumi.Input['PluginInstanceAuthConfigApiKeyConfigApiKeyArgs']:
1705
+ """
1706
+ Secret provides a reference to entries in Secret Manager.
1707
+ Structure is documented below.
1708
+ """
1709
+ return pulumi.get(self, "api_key")
1710
+
1711
+ @api_key.setter
1712
+ def api_key(self, value: pulumi.Input['PluginInstanceAuthConfigApiKeyConfigApiKeyArgs']):
1713
+ pulumi.set(self, "api_key", value)
1714
+
1715
+ @property
1716
+ @pulumi.getter(name="httpElementLocation")
1717
+ def http_element_location(self) -> pulumi.Input[builtins.str]:
1718
+ """
1719
+ The location of the API key.
1720
+ The default value is QUERY.
1721
+ Possible values:
1722
+ HTTP_ELEMENT_LOCATION_UNSPECIFIED
1723
+ QUERY
1724
+ HEADER
1725
+ PATH
1726
+ BODY
1727
+ COOKIE
1728
+ """
1729
+ return pulumi.get(self, "http_element_location")
1730
+
1731
+ @http_element_location.setter
1732
+ def http_element_location(self, value: pulumi.Input[builtins.str]):
1733
+ pulumi.set(self, "http_element_location", value)
1734
+
1735
+ @property
1736
+ @pulumi.getter
1737
+ def name(self) -> pulumi.Input[builtins.str]:
1738
+ """
1739
+ The parameter name of the API key.
1740
+ E.g. If the API request is "https://example.com/act?api_key=",
1741
+ "api_key" would be the parameter name.
1742
+ """
1743
+ return pulumi.get(self, "name")
1744
+
1745
+ @name.setter
1746
+ def name(self, value: pulumi.Input[builtins.str]):
1747
+ pulumi.set(self, "name", value)
1748
+
1749
+
1750
+ if not MYPY:
1751
+ class PluginInstanceAuthConfigApiKeyConfigApiKeyArgsDict(TypedDict):
1752
+ secret_version: pulumi.Input[builtins.str]
1753
+ """
1754
+ The resource name of the secret version in the format,
1755
+ format as: `projects/*/secrets/*/versions/*`.
1756
+
1757
+ <a name="nested_auth_config_oauth2_client_credentials_config"></a>The `oauth2_client_credentials_config` block supports:
1758
+ """
1759
+ elif False:
1760
+ PluginInstanceAuthConfigApiKeyConfigApiKeyArgsDict: TypeAlias = Mapping[str, Any]
1761
+
1762
+ @pulumi.input_type
1763
+ class PluginInstanceAuthConfigApiKeyConfigApiKeyArgs:
1764
+ def __init__(__self__, *,
1765
+ secret_version: pulumi.Input[builtins.str]):
1766
+ """
1767
+ :param pulumi.Input[builtins.str] secret_version: The resource name of the secret version in the format,
1768
+ format as: `projects/*/secrets/*/versions/*`.
1769
+
1770
+ <a name="nested_auth_config_oauth2_client_credentials_config"></a>The `oauth2_client_credentials_config` block supports:
1771
+ """
1772
+ pulumi.set(__self__, "secret_version", secret_version)
1773
+
1774
+ @property
1775
+ @pulumi.getter(name="secretVersion")
1776
+ def secret_version(self) -> pulumi.Input[builtins.str]:
1777
+ """
1778
+ The resource name of the secret version in the format,
1779
+ format as: `projects/*/secrets/*/versions/*`.
1780
+
1781
+ <a name="nested_auth_config_oauth2_client_credentials_config"></a>The `oauth2_client_credentials_config` block supports:
1782
+ """
1783
+ return pulumi.get(self, "secret_version")
1784
+
1785
+ @secret_version.setter
1786
+ def secret_version(self, value: pulumi.Input[builtins.str]):
1787
+ pulumi.set(self, "secret_version", value)
1788
+
1789
+
1790
+ if not MYPY:
1791
+ class PluginInstanceAuthConfigGoogleServiceAccountConfigArgsDict(TypedDict):
1792
+ service_account: pulumi.Input[builtins.str]
1793
+ """
1794
+ The service account to be used for authenticating request.
1795
+ The `iam.serviceAccounts.getAccessToken` permission should be granted on
1796
+ this service account to the impersonator service account.
1797
+ """
1798
+ elif False:
1799
+ PluginInstanceAuthConfigGoogleServiceAccountConfigArgsDict: TypeAlias = Mapping[str, Any]
1800
+
1801
+ @pulumi.input_type
1802
+ class PluginInstanceAuthConfigGoogleServiceAccountConfigArgs:
1803
+ def __init__(__self__, *,
1804
+ service_account: pulumi.Input[builtins.str]):
1805
+ """
1806
+ :param pulumi.Input[builtins.str] service_account: The service account to be used for authenticating request.
1807
+ The `iam.serviceAccounts.getAccessToken` permission should be granted on
1808
+ this service account to the impersonator service account.
1809
+ """
1810
+ pulumi.set(__self__, "service_account", service_account)
1811
+
1812
+ @property
1813
+ @pulumi.getter(name="serviceAccount")
1814
+ def service_account(self) -> pulumi.Input[builtins.str]:
1815
+ """
1816
+ The service account to be used for authenticating request.
1817
+ The `iam.serviceAccounts.getAccessToken` permission should be granted on
1818
+ this service account to the impersonator service account.
1819
+ """
1820
+ return pulumi.get(self, "service_account")
1821
+
1822
+ @service_account.setter
1823
+ def service_account(self, value: pulumi.Input[builtins.str]):
1824
+ pulumi.set(self, "service_account", value)
1825
+
1826
+
1827
+ if not MYPY:
1828
+ class PluginInstanceAuthConfigOauth2ClientCredentialsConfigArgsDict(TypedDict):
1829
+ client_id: pulumi.Input[builtins.str]
1830
+ """
1831
+ The client identifier.
1832
+ """
1833
+ client_secret: pulumi.Input['PluginInstanceAuthConfigOauth2ClientCredentialsConfigClientSecretArgsDict']
1834
+ """
1835
+ Secret provides a reference to entries in Secret Manager.
1836
+ """
1837
+ elif False:
1838
+ PluginInstanceAuthConfigOauth2ClientCredentialsConfigArgsDict: TypeAlias = Mapping[str, Any]
1839
+
1840
+ @pulumi.input_type
1841
+ class PluginInstanceAuthConfigOauth2ClientCredentialsConfigArgs:
1842
+ def __init__(__self__, *,
1843
+ client_id: pulumi.Input[builtins.str],
1844
+ client_secret: pulumi.Input['PluginInstanceAuthConfigOauth2ClientCredentialsConfigClientSecretArgs']):
1845
+ """
1846
+ :param pulumi.Input[builtins.str] client_id: The client identifier.
1847
+ :param pulumi.Input['PluginInstanceAuthConfigOauth2ClientCredentialsConfigClientSecretArgs'] client_secret: Secret provides a reference to entries in Secret Manager.
1848
+ """
1849
+ pulumi.set(__self__, "client_id", client_id)
1850
+ pulumi.set(__self__, "client_secret", client_secret)
1851
+
1852
+ @property
1853
+ @pulumi.getter(name="clientId")
1854
+ def client_id(self) -> pulumi.Input[builtins.str]:
1855
+ """
1856
+ The client identifier.
1857
+ """
1858
+ return pulumi.get(self, "client_id")
1859
+
1860
+ @client_id.setter
1861
+ def client_id(self, value: pulumi.Input[builtins.str]):
1862
+ pulumi.set(self, "client_id", value)
1863
+
1864
+ @property
1865
+ @pulumi.getter(name="clientSecret")
1866
+ def client_secret(self) -> pulumi.Input['PluginInstanceAuthConfigOauth2ClientCredentialsConfigClientSecretArgs']:
1867
+ """
1868
+ Secret provides a reference to entries in Secret Manager.
1869
+ """
1870
+ return pulumi.get(self, "client_secret")
1871
+
1872
+ @client_secret.setter
1873
+ def client_secret(self, value: pulumi.Input['PluginInstanceAuthConfigOauth2ClientCredentialsConfigClientSecretArgs']):
1874
+ pulumi.set(self, "client_secret", value)
1875
+
1876
+
1877
+ if not MYPY:
1878
+ class PluginInstanceAuthConfigOauth2ClientCredentialsConfigClientSecretArgsDict(TypedDict):
1879
+ secret_version: pulumi.Input[builtins.str]
1880
+ """
1881
+ The resource name of the secret version in the format,
1882
+ format as: `projects/*/secrets/*/versions/*`.
1883
+ """
1884
+ elif False:
1885
+ PluginInstanceAuthConfigOauth2ClientCredentialsConfigClientSecretArgsDict: TypeAlias = Mapping[str, Any]
1886
+
1887
+ @pulumi.input_type
1888
+ class PluginInstanceAuthConfigOauth2ClientCredentialsConfigClientSecretArgs:
1889
+ def __init__(__self__, *,
1890
+ secret_version: pulumi.Input[builtins.str]):
1891
+ """
1892
+ :param pulumi.Input[builtins.str] secret_version: The resource name of the secret version in the format,
1893
+ format as: `projects/*/secrets/*/versions/*`.
1894
+ """
1895
+ pulumi.set(__self__, "secret_version", secret_version)
1896
+
1897
+ @property
1898
+ @pulumi.getter(name="secretVersion")
1899
+ def secret_version(self) -> pulumi.Input[builtins.str]:
1900
+ """
1901
+ The resource name of the secret version in the format,
1902
+ format as: `projects/*/secrets/*/versions/*`.
1903
+ """
1904
+ return pulumi.get(self, "secret_version")
1905
+
1906
+ @secret_version.setter
1907
+ def secret_version(self, value: pulumi.Input[builtins.str]):
1908
+ pulumi.set(self, "secret_version", value)
1909
+
1910
+
1911
+ if not MYPY:
1912
+ class PluginInstanceAuthConfigUserPasswordConfigArgsDict(TypedDict):
1913
+ password: pulumi.Input['PluginInstanceAuthConfigUserPasswordConfigPasswordArgsDict']
1914
+ """
1915
+ Secret provides a reference to entries in Secret Manager.
1916
+ Structure is documented below.
1917
+ """
1918
+ username: pulumi.Input[builtins.str]
1919
+ """
1920
+ Username.
1921
+ """
1922
+ elif False:
1923
+ PluginInstanceAuthConfigUserPasswordConfigArgsDict: TypeAlias = Mapping[str, Any]
1924
+
1925
+ @pulumi.input_type
1926
+ class PluginInstanceAuthConfigUserPasswordConfigArgs:
1927
+ def __init__(__self__, *,
1928
+ password: pulumi.Input['PluginInstanceAuthConfigUserPasswordConfigPasswordArgs'],
1929
+ username: pulumi.Input[builtins.str]):
1930
+ """
1931
+ :param pulumi.Input['PluginInstanceAuthConfigUserPasswordConfigPasswordArgs'] password: Secret provides a reference to entries in Secret Manager.
1932
+ Structure is documented below.
1933
+ :param pulumi.Input[builtins.str] username: Username.
1934
+ """
1935
+ pulumi.set(__self__, "password", password)
1936
+ pulumi.set(__self__, "username", username)
1937
+
1938
+ @property
1939
+ @pulumi.getter
1940
+ def password(self) -> pulumi.Input['PluginInstanceAuthConfigUserPasswordConfigPasswordArgs']:
1941
+ """
1942
+ Secret provides a reference to entries in Secret Manager.
1943
+ Structure is documented below.
1944
+ """
1945
+ return pulumi.get(self, "password")
1946
+
1947
+ @password.setter
1948
+ def password(self, value: pulumi.Input['PluginInstanceAuthConfigUserPasswordConfigPasswordArgs']):
1949
+ pulumi.set(self, "password", value)
1950
+
1951
+ @property
1952
+ @pulumi.getter
1953
+ def username(self) -> pulumi.Input[builtins.str]:
1954
+ """
1955
+ Username.
1956
+ """
1957
+ return pulumi.get(self, "username")
1958
+
1959
+ @username.setter
1960
+ def username(self, value: pulumi.Input[builtins.str]):
1961
+ pulumi.set(self, "username", value)
1962
+
1963
+
1964
+ if not MYPY:
1965
+ class PluginInstanceAuthConfigUserPasswordConfigPasswordArgsDict(TypedDict):
1966
+ secret_version: pulumi.Input[builtins.str]
1967
+ """
1968
+ The resource name of the secret version in the format,
1969
+ format as: `projects/*/secrets/*/versions/*`.
1970
+ """
1971
+ elif False:
1972
+ PluginInstanceAuthConfigUserPasswordConfigPasswordArgsDict: TypeAlias = Mapping[str, Any]
1973
+
1974
+ @pulumi.input_type
1975
+ class PluginInstanceAuthConfigUserPasswordConfigPasswordArgs:
1976
+ def __init__(__self__, *,
1977
+ secret_version: pulumi.Input[builtins.str]):
1978
+ """
1979
+ :param pulumi.Input[builtins.str] secret_version: The resource name of the secret version in the format,
1980
+ format as: `projects/*/secrets/*/versions/*`.
1981
+ """
1982
+ pulumi.set(__self__, "secret_version", secret_version)
1983
+
1984
+ @property
1985
+ @pulumi.getter(name="secretVersion")
1986
+ def secret_version(self) -> pulumi.Input[builtins.str]:
1987
+ """
1988
+ The resource name of the secret version in the format,
1989
+ format as: `projects/*/secrets/*/versions/*`.
1990
+ """
1991
+ return pulumi.get(self, "secret_version")
1992
+
1993
+ @secret_version.setter
1994
+ def secret_version(self, value: pulumi.Input[builtins.str]):
1995
+ pulumi.set(self, "secret_version", value)
1996
+
1997
+