pulumi-gcp 7.27.0a1718103841__py3-none-any.whl → 7.27.0a1718279079__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 (81) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/appengine/_inputs.py +40 -0
  3. pulumi_gcp/appengine/flexible_app_version.py +47 -0
  4. pulumi_gcp/appengine/outputs.py +51 -0
  5. pulumi_gcp/bigtable/instance.py +47 -0
  6. pulumi_gcp/clouddeploy/_inputs.py +16 -0
  7. pulumi_gcp/clouddeploy/outputs.py +12 -0
  8. pulumi_gcp/compute/__init__.py +2 -0
  9. pulumi_gcp/compute/_inputs.py +84 -0
  10. pulumi_gcp/compute/backend_service.py +54 -0
  11. pulumi_gcp/compute/disk.py +68 -0
  12. pulumi_gcp/compute/get_backend_service.py +11 -1
  13. pulumi_gcp/compute/get_disk.py +11 -1
  14. pulumi_gcp/compute/get_instance.py +11 -1
  15. pulumi_gcp/compute/get_instance_group_manager.py +31 -1
  16. pulumi_gcp/compute/get_instance_template.py +11 -1
  17. pulumi_gcp/compute/get_region_instance_template.py +11 -1
  18. pulumi_gcp/compute/get_security_policy.py +214 -0
  19. pulumi_gcp/compute/instance.py +47 -0
  20. pulumi_gcp/compute/instance_from_machine_image.py +47 -0
  21. pulumi_gcp/compute/instance_from_template.py +47 -0
  22. pulumi_gcp/compute/instance_group_manager.py +185 -0
  23. pulumi_gcp/compute/instance_template.py +47 -0
  24. pulumi_gcp/compute/outputs.py +1039 -0
  25. pulumi_gcp/compute/project_cloud_armor_tier.py +336 -0
  26. pulumi_gcp/compute/region_instance_group_manager.py +185 -0
  27. pulumi_gcp/compute/region_instance_template.py +47 -0
  28. pulumi_gcp/config/__init__.pyi +2 -0
  29. pulumi_gcp/config/vars.py +4 -0
  30. pulumi_gcp/container/_inputs.py +33 -4
  31. pulumi_gcp/container/cluster.py +61 -0
  32. pulumi_gcp/container/get_cluster.py +11 -1
  33. pulumi_gcp/container/outputs.py +48 -4
  34. pulumi_gcp/dataloss/_inputs.py +185 -19
  35. pulumi_gcp/dataloss/outputs.py +206 -17
  36. pulumi_gcp/dataloss/prevention_inspect_template.py +54 -0
  37. pulumi_gcp/gkebackup/_inputs.py +282 -7
  38. pulumi_gcp/gkebackup/backup_plan.py +100 -0
  39. pulumi_gcp/gkebackup/outputs.py +312 -7
  40. pulumi_gcp/gkebackup/restore_plan.py +326 -0
  41. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +326 -0
  42. pulumi_gcp/gkebackup/restore_plan_iam_member.py +326 -0
  43. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +326 -0
  44. pulumi_gcp/healthcare/_inputs.py +17 -1
  45. pulumi_gcp/healthcare/dicom_store.py +2 -0
  46. pulumi_gcp/healthcare/fhir_store.py +44 -60
  47. pulumi_gcp/healthcare/outputs.py +15 -1
  48. pulumi_gcp/integrationconnectors/endpoint_attachment.py +47 -0
  49. pulumi_gcp/kms/crypto_key.py +14 -7
  50. pulumi_gcp/netapp/_inputs.py +58 -0
  51. pulumi_gcp/netapp/outputs.py +67 -0
  52. pulumi_gcp/netapp/volume.py +54 -0
  53. pulumi_gcp/networkservices/__init__.py +1 -0
  54. pulumi_gcp/networkservices/_inputs.py +47 -0
  55. pulumi_gcp/networkservices/outputs.py +56 -0
  56. pulumi_gcp/networkservices/service_lb_policies.py +782 -0
  57. pulumi_gcp/provider.py +20 -0
  58. pulumi_gcp/pulumi-plugin.json +1 -1
  59. pulumi_gcp/redis/_inputs.py +44 -0
  60. pulumi_gcp/redis/cluster.py +128 -3
  61. pulumi_gcp/redis/outputs.py +36 -0
  62. pulumi_gcp/secretmanager/_inputs.py +20 -0
  63. pulumi_gcp/secretmanager/outputs.py +20 -0
  64. pulumi_gcp/secretmanager/secret_iam_binding.py +244 -0
  65. pulumi_gcp/secretmanager/secret_iam_member.py +244 -0
  66. pulumi_gcp/secretmanager/secret_iam_policy.py +224 -0
  67. pulumi_gcp/securitycenter/__init__.py +1 -0
  68. pulumi_gcp/securitycenter/management_organization_event_threat_detection_custom_module.py +568 -0
  69. pulumi_gcp/spanner/__init__.py +1 -0
  70. pulumi_gcp/spanner/_inputs.py +68 -0
  71. pulumi_gcp/spanner/instance_config.py +569 -0
  72. pulumi_gcp/spanner/outputs.py +73 -0
  73. pulumi_gcp/sql/_inputs.py +8 -2
  74. pulumi_gcp/sql/outputs.py +9 -6
  75. pulumi_gcp/workstations/_inputs.py +51 -1
  76. pulumi_gcp/workstations/outputs.py +46 -2
  77. pulumi_gcp/workstations/workstation_config.py +10 -4
  78. {pulumi_gcp-7.27.0a1718103841.dist-info → pulumi_gcp-7.27.0a1718279079.dist-info}/METADATA +1 -1
  79. {pulumi_gcp-7.27.0a1718103841.dist-info → pulumi_gcp-7.27.0a1718279079.dist-info}/RECORD +81 -76
  80. {pulumi_gcp-7.27.0a1718103841.dist-info → pulumi_gcp-7.27.0a1718279079.dist-info}/WHEEL +0 -0
  81. {pulumi_gcp-7.27.0a1718103841.dist-info → pulumi_gcp-7.27.0a1718279079.dist-info}/top_level.txt +0 -0
@@ -27,11 +27,14 @@ class InstanceGroupManagerArgs:
27
27
  named_ports: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerNamedPortArgs']]]] = None,
28
28
  params: Optional[pulumi.Input['InstanceGroupManagerParamsArgs']] = None,
29
29
  project: Optional[pulumi.Input[str]] = None,
30
+ standby_policy: Optional[pulumi.Input['InstanceGroupManagerStandbyPolicyArgs']] = None,
30
31
  stateful_disks: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerStatefulDiskArgs']]]] = None,
31
32
  stateful_external_ips: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerStatefulExternalIpArgs']]]] = None,
32
33
  stateful_internal_ips: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerStatefulInternalIpArgs']]]] = None,
33
34
  target_pools: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
34
35
  target_size: Optional[pulumi.Input[int]] = None,
36
+ target_stopped_size: Optional[pulumi.Input[int]] = None,
37
+ target_suspended_size: Optional[pulumi.Input[int]] = None,
35
38
  update_policy: Optional[pulumi.Input['InstanceGroupManagerUpdatePolicyArgs']] = None,
36
39
  wait_for_instances: Optional[pulumi.Input[bool]] = None,
37
40
  wait_for_instances_status: Optional[pulumi.Input[str]] = None,
@@ -72,6 +75,7 @@ class InstanceGroupManagerArgs:
72
75
  - - -
73
76
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs. If it
74
77
  is not provided, the provider project is used.
78
+ :param pulumi.Input['InstanceGroupManagerStandbyPolicyArgs'] standby_policy: The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/suspended-and-stopped-vms-in-mig) and [API](https://cloud.google.com/compute/docs/reference/rest/beta/regionInstanceGroupManagers/patch)
75
79
  :param pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerStatefulDiskArgs']]] stateful_disks: Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/configuring-stateful-disks-in-migs).
76
80
  :param pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerStatefulExternalIpArgs']]] stateful_external_ips: External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
77
81
  :param pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerStatefulInternalIpArgs']]] stateful_internal_ips: Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
@@ -80,6 +84,8 @@ class InstanceGroupManagerArgs:
80
84
  not affect existing instances.
81
85
  :param pulumi.Input[int] target_size: The target number of running instances for this managed instance group. This value should always be explicitly set
82
86
  unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.
87
+ :param pulumi.Input[int] target_stopped_size: The target number of stopped instances for this managed instance group.
88
+ :param pulumi.Input[int] target_suspended_size: The target number of suspended instances for this managed instance group.
83
89
  :param pulumi.Input['InstanceGroupManagerUpdatePolicyArgs'] update_policy: The update policy for this managed instance group. Structure is documented below. For more information, see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/updating-managed-instance-groups) and [API](https://cloud.google.com/compute/docs/reference/rest/v1/instanceGroupManagers/patch).
84
90
  :param pulumi.Input[bool] wait_for_instances: Whether to wait for all instances to be created/updated before
85
91
  returning. Note that if this is set to true and the operation does not succeed, this provider will
@@ -113,6 +119,8 @@ class InstanceGroupManagerArgs:
113
119
  pulumi.set(__self__, "params", params)
114
120
  if project is not None:
115
121
  pulumi.set(__self__, "project", project)
122
+ if standby_policy is not None:
123
+ pulumi.set(__self__, "standby_policy", standby_policy)
116
124
  if stateful_disks is not None:
117
125
  pulumi.set(__self__, "stateful_disks", stateful_disks)
118
126
  if stateful_external_ips is not None:
@@ -123,6 +131,10 @@ class InstanceGroupManagerArgs:
123
131
  pulumi.set(__self__, "target_pools", target_pools)
124
132
  if target_size is not None:
125
133
  pulumi.set(__self__, "target_size", target_size)
134
+ if target_stopped_size is not None:
135
+ pulumi.set(__self__, "target_stopped_size", target_stopped_size)
136
+ if target_suspended_size is not None:
137
+ pulumi.set(__self__, "target_suspended_size", target_suspended_size)
126
138
  if update_policy is not None:
127
139
  pulumi.set(__self__, "update_policy", update_policy)
128
140
  if wait_for_instances is not None:
@@ -287,6 +299,18 @@ class InstanceGroupManagerArgs:
287
299
  def project(self, value: Optional[pulumi.Input[str]]):
288
300
  pulumi.set(self, "project", value)
289
301
 
302
+ @property
303
+ @pulumi.getter(name="standbyPolicy")
304
+ def standby_policy(self) -> Optional[pulumi.Input['InstanceGroupManagerStandbyPolicyArgs']]:
305
+ """
306
+ The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/suspended-and-stopped-vms-in-mig) and [API](https://cloud.google.com/compute/docs/reference/rest/beta/regionInstanceGroupManagers/patch)
307
+ """
308
+ return pulumi.get(self, "standby_policy")
309
+
310
+ @standby_policy.setter
311
+ def standby_policy(self, value: Optional[pulumi.Input['InstanceGroupManagerStandbyPolicyArgs']]):
312
+ pulumi.set(self, "standby_policy", value)
313
+
290
314
  @property
291
315
  @pulumi.getter(name="statefulDisks")
292
316
  def stateful_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerStatefulDiskArgs']]]]:
@@ -350,6 +374,30 @@ class InstanceGroupManagerArgs:
350
374
  def target_size(self, value: Optional[pulumi.Input[int]]):
351
375
  pulumi.set(self, "target_size", value)
352
376
 
377
+ @property
378
+ @pulumi.getter(name="targetStoppedSize")
379
+ def target_stopped_size(self) -> Optional[pulumi.Input[int]]:
380
+ """
381
+ The target number of stopped instances for this managed instance group.
382
+ """
383
+ return pulumi.get(self, "target_stopped_size")
384
+
385
+ @target_stopped_size.setter
386
+ def target_stopped_size(self, value: Optional[pulumi.Input[int]]):
387
+ pulumi.set(self, "target_stopped_size", value)
388
+
389
+ @property
390
+ @pulumi.getter(name="targetSuspendedSize")
391
+ def target_suspended_size(self) -> Optional[pulumi.Input[int]]:
392
+ """
393
+ The target number of suspended instances for this managed instance group.
394
+ """
395
+ return pulumi.get(self, "target_suspended_size")
396
+
397
+ @target_suspended_size.setter
398
+ def target_suspended_size(self, value: Optional[pulumi.Input[int]]):
399
+ pulumi.set(self, "target_suspended_size", value)
400
+
353
401
  @property
354
402
  @pulumi.getter(name="updatePolicy")
355
403
  def update_policy(self) -> Optional[pulumi.Input['InstanceGroupManagerUpdatePolicyArgs']]:
@@ -425,12 +473,15 @@ class _InstanceGroupManagerState:
425
473
  params: Optional[pulumi.Input['InstanceGroupManagerParamsArgs']] = None,
426
474
  project: Optional[pulumi.Input[str]] = None,
427
475
  self_link: Optional[pulumi.Input[str]] = None,
476
+ standby_policy: Optional[pulumi.Input['InstanceGroupManagerStandbyPolicyArgs']] = None,
428
477
  stateful_disks: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerStatefulDiskArgs']]]] = None,
429
478
  stateful_external_ips: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerStatefulExternalIpArgs']]]] = None,
430
479
  stateful_internal_ips: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerStatefulInternalIpArgs']]]] = None,
431
480
  statuses: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerStatusArgs']]]] = None,
432
481
  target_pools: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
433
482
  target_size: Optional[pulumi.Input[int]] = None,
483
+ target_stopped_size: Optional[pulumi.Input[int]] = None,
484
+ target_suspended_size: Optional[pulumi.Input[int]] = None,
434
485
  update_policy: Optional[pulumi.Input['InstanceGroupManagerUpdatePolicyArgs']] = None,
435
486
  versions: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerVersionArgs']]]] = None,
436
487
  wait_for_instances: Optional[pulumi.Input[bool]] = None,
@@ -473,6 +524,7 @@ class _InstanceGroupManagerState:
473
524
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs. If it
474
525
  is not provided, the provider project is used.
475
526
  :param pulumi.Input[str] self_link: The URL of the created resource.
527
+ :param pulumi.Input['InstanceGroupManagerStandbyPolicyArgs'] standby_policy: The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/suspended-and-stopped-vms-in-mig) and [API](https://cloud.google.com/compute/docs/reference/rest/beta/regionInstanceGroupManagers/patch)
476
528
  :param pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerStatefulDiskArgs']]] stateful_disks: Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/configuring-stateful-disks-in-migs).
477
529
  :param pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerStatefulExternalIpArgs']]] stateful_external_ips: External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
478
530
  :param pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerStatefulInternalIpArgs']]] stateful_internal_ips: Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
@@ -482,6 +534,8 @@ class _InstanceGroupManagerState:
482
534
  not affect existing instances.
483
535
  :param pulumi.Input[int] target_size: The target number of running instances for this managed instance group. This value should always be explicitly set
484
536
  unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.
537
+ :param pulumi.Input[int] target_stopped_size: The target number of stopped instances for this managed instance group.
538
+ :param pulumi.Input[int] target_suspended_size: The target number of suspended instances for this managed instance group.
485
539
  :param pulumi.Input['InstanceGroupManagerUpdatePolicyArgs'] update_policy: The update policy for this managed instance group. Structure is documented below. For more information, see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/updating-managed-instance-groups) and [API](https://cloud.google.com/compute/docs/reference/rest/v1/instanceGroupManagers/patch).
486
540
  :param pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerVersionArgs']]] versions: Application versions managed by this instance group. Each
487
541
  version deals with a specific instance template, allowing canary release scenarios.
@@ -528,6 +582,8 @@ class _InstanceGroupManagerState:
528
582
  pulumi.set(__self__, "project", project)
529
583
  if self_link is not None:
530
584
  pulumi.set(__self__, "self_link", self_link)
585
+ if standby_policy is not None:
586
+ pulumi.set(__self__, "standby_policy", standby_policy)
531
587
  if stateful_disks is not None:
532
588
  pulumi.set(__self__, "stateful_disks", stateful_disks)
533
589
  if stateful_external_ips is not None:
@@ -540,6 +596,10 @@ class _InstanceGroupManagerState:
540
596
  pulumi.set(__self__, "target_pools", target_pools)
541
597
  if target_size is not None:
542
598
  pulumi.set(__self__, "target_size", target_size)
599
+ if target_stopped_size is not None:
600
+ pulumi.set(__self__, "target_stopped_size", target_stopped_size)
601
+ if target_suspended_size is not None:
602
+ pulumi.set(__self__, "target_suspended_size", target_suspended_size)
543
603
  if update_policy is not None:
544
604
  pulumi.set(__self__, "update_policy", update_policy)
545
605
  if versions is not None:
@@ -749,6 +809,18 @@ class _InstanceGroupManagerState:
749
809
  def self_link(self, value: Optional[pulumi.Input[str]]):
750
810
  pulumi.set(self, "self_link", value)
751
811
 
812
+ @property
813
+ @pulumi.getter(name="standbyPolicy")
814
+ def standby_policy(self) -> Optional[pulumi.Input['InstanceGroupManagerStandbyPolicyArgs']]:
815
+ """
816
+ The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/suspended-and-stopped-vms-in-mig) and [API](https://cloud.google.com/compute/docs/reference/rest/beta/regionInstanceGroupManagers/patch)
817
+ """
818
+ return pulumi.get(self, "standby_policy")
819
+
820
+ @standby_policy.setter
821
+ def standby_policy(self, value: Optional[pulumi.Input['InstanceGroupManagerStandbyPolicyArgs']]):
822
+ pulumi.set(self, "standby_policy", value)
823
+
752
824
  @property
753
825
  @pulumi.getter(name="statefulDisks")
754
826
  def stateful_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGroupManagerStatefulDiskArgs']]]]:
@@ -824,6 +896,30 @@ class _InstanceGroupManagerState:
824
896
  def target_size(self, value: Optional[pulumi.Input[int]]):
825
897
  pulumi.set(self, "target_size", value)
826
898
 
899
+ @property
900
+ @pulumi.getter(name="targetStoppedSize")
901
+ def target_stopped_size(self) -> Optional[pulumi.Input[int]]:
902
+ """
903
+ The target number of stopped instances for this managed instance group.
904
+ """
905
+ return pulumi.get(self, "target_stopped_size")
906
+
907
+ @target_stopped_size.setter
908
+ def target_stopped_size(self, value: Optional[pulumi.Input[int]]):
909
+ pulumi.set(self, "target_stopped_size", value)
910
+
911
+ @property
912
+ @pulumi.getter(name="targetSuspendedSize")
913
+ def target_suspended_size(self) -> Optional[pulumi.Input[int]]:
914
+ """
915
+ The target number of suspended instances for this managed instance group.
916
+ """
917
+ return pulumi.get(self, "target_suspended_size")
918
+
919
+ @target_suspended_size.setter
920
+ def target_suspended_size(self, value: Optional[pulumi.Input[int]]):
921
+ pulumi.set(self, "target_suspended_size", value)
922
+
827
923
  @property
828
924
  @pulumi.getter(name="updatePolicy")
829
925
  def update_policy(self) -> Optional[pulumi.Input['InstanceGroupManagerUpdatePolicyArgs']]:
@@ -910,11 +1006,14 @@ class InstanceGroupManager(pulumi.CustomResource):
910
1006
  named_ports: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerNamedPortArgs']]]]] = None,
911
1007
  params: Optional[pulumi.Input[pulumi.InputType['InstanceGroupManagerParamsArgs']]] = None,
912
1008
  project: Optional[pulumi.Input[str]] = None,
1009
+ standby_policy: Optional[pulumi.Input[pulumi.InputType['InstanceGroupManagerStandbyPolicyArgs']]] = None,
913
1010
  stateful_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerStatefulDiskArgs']]]]] = None,
914
1011
  stateful_external_ips: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerStatefulExternalIpArgs']]]]] = None,
915
1012
  stateful_internal_ips: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerStatefulInternalIpArgs']]]]] = None,
916
1013
  target_pools: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
917
1014
  target_size: Optional[pulumi.Input[int]] = None,
1015
+ target_stopped_size: Optional[pulumi.Input[int]] = None,
1016
+ target_suspended_size: Optional[pulumi.Input[int]] = None,
918
1017
  update_policy: Optional[pulumi.Input[pulumi.InputType['InstanceGroupManagerUpdatePolicyArgs']]] = None,
919
1018
  versions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerVersionArgs']]]]] = None,
920
1019
  wait_for_instances: Optional[pulumi.Input[bool]] = None,
@@ -999,6 +1098,28 @@ class InstanceGroupManager(pulumi.CustomResource):
999
1098
  ])
1000
1099
  ```
1001
1100
 
1101
+ ### With Standby Policy (`Google-Beta` Provider)
1102
+ ```python
1103
+ import pulumi
1104
+ import pulumi_gcp as gcp
1105
+
1106
+ igm_sr = gcp.compute.InstanceGroupManager("igm-sr",
1107
+ name="tf-sr-igm",
1108
+ base_instance_name="tf-sr-igm-instance",
1109
+ zone="us-central1-a",
1110
+ target_size=5,
1111
+ versions=[gcp.compute.InstanceGroupManagerVersionArgs(
1112
+ instance_template=sr_igm["selfLink"],
1113
+ name="primary",
1114
+ )],
1115
+ standby_policy=gcp.compute.InstanceGroupManagerStandbyPolicyArgs(
1116
+ initial_delay_sec=30,
1117
+ mode="MANUAL",
1118
+ ),
1119
+ target_suspended_size=2,
1120
+ target_stopped_size=1)
1121
+ ```
1122
+
1002
1123
  ## Import
1003
1124
 
1004
1125
  Instance group managers can be imported using any of these accepted formats:
@@ -1062,6 +1183,7 @@ class InstanceGroupManager(pulumi.CustomResource):
1062
1183
  - - -
1063
1184
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs. If it
1064
1185
  is not provided, the provider project is used.
1186
+ :param pulumi.Input[pulumi.InputType['InstanceGroupManagerStandbyPolicyArgs']] standby_policy: The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/suspended-and-stopped-vms-in-mig) and [API](https://cloud.google.com/compute/docs/reference/rest/beta/regionInstanceGroupManagers/patch)
1065
1187
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerStatefulDiskArgs']]]] stateful_disks: Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/configuring-stateful-disks-in-migs).
1066
1188
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerStatefulExternalIpArgs']]]] stateful_external_ips: External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
1067
1189
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerStatefulInternalIpArgs']]]] stateful_internal_ips: Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
@@ -1070,6 +1192,8 @@ class InstanceGroupManager(pulumi.CustomResource):
1070
1192
  not affect existing instances.
1071
1193
  :param pulumi.Input[int] target_size: The target number of running instances for this managed instance group. This value should always be explicitly set
1072
1194
  unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.
1195
+ :param pulumi.Input[int] target_stopped_size: The target number of stopped instances for this managed instance group.
1196
+ :param pulumi.Input[int] target_suspended_size: The target number of suspended instances for this managed instance group.
1073
1197
  :param pulumi.Input[pulumi.InputType['InstanceGroupManagerUpdatePolicyArgs']] update_policy: The update policy for this managed instance group. Structure is documented below. For more information, see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/updating-managed-instance-groups) and [API](https://cloud.google.com/compute/docs/reference/rest/v1/instanceGroupManagers/patch).
1074
1198
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerVersionArgs']]]] versions: Application versions managed by this instance group. Each
1075
1199
  version deals with a specific instance template, allowing canary release scenarios.
@@ -1170,6 +1294,28 @@ class InstanceGroupManager(pulumi.CustomResource):
1170
1294
  ])
1171
1295
  ```
1172
1296
 
1297
+ ### With Standby Policy (`Google-Beta` Provider)
1298
+ ```python
1299
+ import pulumi
1300
+ import pulumi_gcp as gcp
1301
+
1302
+ igm_sr = gcp.compute.InstanceGroupManager("igm-sr",
1303
+ name="tf-sr-igm",
1304
+ base_instance_name="tf-sr-igm-instance",
1305
+ zone="us-central1-a",
1306
+ target_size=5,
1307
+ versions=[gcp.compute.InstanceGroupManagerVersionArgs(
1308
+ instance_template=sr_igm["selfLink"],
1309
+ name="primary",
1310
+ )],
1311
+ standby_policy=gcp.compute.InstanceGroupManagerStandbyPolicyArgs(
1312
+ initial_delay_sec=30,
1313
+ mode="MANUAL",
1314
+ ),
1315
+ target_suspended_size=2,
1316
+ target_stopped_size=1)
1317
+ ```
1318
+
1173
1319
  ## Import
1174
1320
 
1175
1321
  Instance group managers can be imported using any of these accepted formats:
@@ -1225,11 +1371,14 @@ class InstanceGroupManager(pulumi.CustomResource):
1225
1371
  named_ports: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerNamedPortArgs']]]]] = None,
1226
1372
  params: Optional[pulumi.Input[pulumi.InputType['InstanceGroupManagerParamsArgs']]] = None,
1227
1373
  project: Optional[pulumi.Input[str]] = None,
1374
+ standby_policy: Optional[pulumi.Input[pulumi.InputType['InstanceGroupManagerStandbyPolicyArgs']]] = None,
1228
1375
  stateful_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerStatefulDiskArgs']]]]] = None,
1229
1376
  stateful_external_ips: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerStatefulExternalIpArgs']]]]] = None,
1230
1377
  stateful_internal_ips: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerStatefulInternalIpArgs']]]]] = None,
1231
1378
  target_pools: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1232
1379
  target_size: Optional[pulumi.Input[int]] = None,
1380
+ target_stopped_size: Optional[pulumi.Input[int]] = None,
1381
+ target_suspended_size: Optional[pulumi.Input[int]] = None,
1233
1382
  update_policy: Optional[pulumi.Input[pulumi.InputType['InstanceGroupManagerUpdatePolicyArgs']]] = None,
1234
1383
  versions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerVersionArgs']]]]] = None,
1235
1384
  wait_for_instances: Optional[pulumi.Input[bool]] = None,
@@ -1256,11 +1405,14 @@ class InstanceGroupManager(pulumi.CustomResource):
1256
1405
  __props__.__dict__["named_ports"] = named_ports
1257
1406
  __props__.__dict__["params"] = params
1258
1407
  __props__.__dict__["project"] = project
1408
+ __props__.__dict__["standby_policy"] = standby_policy
1259
1409
  __props__.__dict__["stateful_disks"] = stateful_disks
1260
1410
  __props__.__dict__["stateful_external_ips"] = stateful_external_ips
1261
1411
  __props__.__dict__["stateful_internal_ips"] = stateful_internal_ips
1262
1412
  __props__.__dict__["target_pools"] = target_pools
1263
1413
  __props__.__dict__["target_size"] = target_size
1414
+ __props__.__dict__["target_stopped_size"] = target_stopped_size
1415
+ __props__.__dict__["target_suspended_size"] = target_suspended_size
1264
1416
  __props__.__dict__["update_policy"] = update_policy
1265
1417
  if versions is None and not opts.urn:
1266
1418
  raise TypeError("Missing required property 'versions'")
@@ -1299,12 +1451,15 @@ class InstanceGroupManager(pulumi.CustomResource):
1299
1451
  params: Optional[pulumi.Input[pulumi.InputType['InstanceGroupManagerParamsArgs']]] = None,
1300
1452
  project: Optional[pulumi.Input[str]] = None,
1301
1453
  self_link: Optional[pulumi.Input[str]] = None,
1454
+ standby_policy: Optional[pulumi.Input[pulumi.InputType['InstanceGroupManagerStandbyPolicyArgs']]] = None,
1302
1455
  stateful_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerStatefulDiskArgs']]]]] = None,
1303
1456
  stateful_external_ips: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerStatefulExternalIpArgs']]]]] = None,
1304
1457
  stateful_internal_ips: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerStatefulInternalIpArgs']]]]] = None,
1305
1458
  statuses: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerStatusArgs']]]]] = None,
1306
1459
  target_pools: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1307
1460
  target_size: Optional[pulumi.Input[int]] = None,
1461
+ target_stopped_size: Optional[pulumi.Input[int]] = None,
1462
+ target_suspended_size: Optional[pulumi.Input[int]] = None,
1308
1463
  update_policy: Optional[pulumi.Input[pulumi.InputType['InstanceGroupManagerUpdatePolicyArgs']]] = None,
1309
1464
  versions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerVersionArgs']]]]] = None,
1310
1465
  wait_for_instances: Optional[pulumi.Input[bool]] = None,
@@ -1352,6 +1507,7 @@ class InstanceGroupManager(pulumi.CustomResource):
1352
1507
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs. If it
1353
1508
  is not provided, the provider project is used.
1354
1509
  :param pulumi.Input[str] self_link: The URL of the created resource.
1510
+ :param pulumi.Input[pulumi.InputType['InstanceGroupManagerStandbyPolicyArgs']] standby_policy: The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/suspended-and-stopped-vms-in-mig) and [API](https://cloud.google.com/compute/docs/reference/rest/beta/regionInstanceGroupManagers/patch)
1355
1511
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerStatefulDiskArgs']]]] stateful_disks: Disks created on the instances that will be preserved on instance delete, update, etc. Structure is documented below. For more information see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/configuring-stateful-disks-in-migs).
1356
1512
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerStatefulExternalIpArgs']]]] stateful_external_ips: External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
1357
1513
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerStatefulInternalIpArgs']]]] stateful_internal_ips: Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. Structure is documented below.
@@ -1361,6 +1517,8 @@ class InstanceGroupManager(pulumi.CustomResource):
1361
1517
  not affect existing instances.
1362
1518
  :param pulumi.Input[int] target_size: The target number of running instances for this managed instance group. This value should always be explicitly set
1363
1519
  unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0.
1520
+ :param pulumi.Input[int] target_stopped_size: The target number of stopped instances for this managed instance group.
1521
+ :param pulumi.Input[int] target_suspended_size: The target number of suspended instances for this managed instance group.
1364
1522
  :param pulumi.Input[pulumi.InputType['InstanceGroupManagerUpdatePolicyArgs']] update_policy: The update policy for this managed instance group. Structure is documented below. For more information, see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/updating-managed-instance-groups) and [API](https://cloud.google.com/compute/docs/reference/rest/v1/instanceGroupManagers/patch).
1365
1523
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceGroupManagerVersionArgs']]]] versions: Application versions managed by this instance group. Each
1366
1524
  version deals with a specific instance template, allowing canary release scenarios.
@@ -1396,12 +1554,15 @@ class InstanceGroupManager(pulumi.CustomResource):
1396
1554
  __props__.__dict__["params"] = params
1397
1555
  __props__.__dict__["project"] = project
1398
1556
  __props__.__dict__["self_link"] = self_link
1557
+ __props__.__dict__["standby_policy"] = standby_policy
1399
1558
  __props__.__dict__["stateful_disks"] = stateful_disks
1400
1559
  __props__.__dict__["stateful_external_ips"] = stateful_external_ips
1401
1560
  __props__.__dict__["stateful_internal_ips"] = stateful_internal_ips
1402
1561
  __props__.__dict__["statuses"] = statuses
1403
1562
  __props__.__dict__["target_pools"] = target_pools
1404
1563
  __props__.__dict__["target_size"] = target_size
1564
+ __props__.__dict__["target_stopped_size"] = target_stopped_size
1565
+ __props__.__dict__["target_suspended_size"] = target_suspended_size
1405
1566
  __props__.__dict__["update_policy"] = update_policy
1406
1567
  __props__.__dict__["versions"] = versions
1407
1568
  __props__.__dict__["wait_for_instances"] = wait_for_instances
@@ -1547,6 +1708,14 @@ class InstanceGroupManager(pulumi.CustomResource):
1547
1708
  """
1548
1709
  return pulumi.get(self, "self_link")
1549
1710
 
1711
+ @property
1712
+ @pulumi.getter(name="standbyPolicy")
1713
+ def standby_policy(self) -> pulumi.Output['outputs.InstanceGroupManagerStandbyPolicy']:
1714
+ """
1715
+ The standby policy for stopped and suspended instances. Structure is documented below. For more information, see the [official documentation](https://cloud.google.com/compute/docs/instance-groups/suspended-and-stopped-vms-in-mig) and [API](https://cloud.google.com/compute/docs/reference/rest/beta/regionInstanceGroupManagers/patch)
1716
+ """
1717
+ return pulumi.get(self, "standby_policy")
1718
+
1550
1719
  @property
1551
1720
  @pulumi.getter(name="statefulDisks")
1552
1721
  def stateful_disks(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceGroupManagerStatefulDisk']]]:
@@ -1598,6 +1767,22 @@ class InstanceGroupManager(pulumi.CustomResource):
1598
1767
  """
1599
1768
  return pulumi.get(self, "target_size")
1600
1769
 
1770
+ @property
1771
+ @pulumi.getter(name="targetStoppedSize")
1772
+ def target_stopped_size(self) -> pulumi.Output[int]:
1773
+ """
1774
+ The target number of stopped instances for this managed instance group.
1775
+ """
1776
+ return pulumi.get(self, "target_stopped_size")
1777
+
1778
+ @property
1779
+ @pulumi.getter(name="targetSuspendedSize")
1780
+ def target_suspended_size(self) -> pulumi.Output[int]:
1781
+ """
1782
+ The target number of suspended instances for this managed instance group.
1783
+ """
1784
+ return pulumi.get(self, "target_suspended_size")
1785
+
1601
1786
  @property
1602
1787
  @pulumi.getter(name="updatePolicy")
1603
1788
  def update_policy(self) -> pulumi.Output['outputs.InstanceGroupManagerUpdatePolicy']:
@@ -33,6 +33,7 @@ class InstanceTemplateArgs:
33
33
  name_prefix: Optional[pulumi.Input[str]] = None,
34
34
  network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTemplateNetworkInterfaceArgs']]]] = None,
35
35
  network_performance_config: Optional[pulumi.Input['InstanceTemplateNetworkPerformanceConfigArgs']] = None,
36
+ partner_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
36
37
  project: Optional[pulumi.Input[str]] = None,
37
38
  region: Optional[pulumi.Input[str]] = None,
38
39
  reservation_affinity: Optional[pulumi.Input['InstanceTemplateReservationAffinityArgs']] = None,
@@ -88,6 +89,7 @@ class InstanceTemplateArgs:
88
89
  the `image` used must include the [`GVNIC`](https://cloud.google.com/compute/docs/networking/using-gvnic#create-instance-gvnic-image)
89
90
  in `guest-os-features`, and `network_interface.0.nic-type` must be `GVNIC`
90
91
  in order for this setting to take effect.
92
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] partner_metadata: Beta key/value pair represents partner metadata assigned to instance template where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
91
93
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs. If it
92
94
  is not provided, the provider project is used.
93
95
  :param pulumi.Input[str] region: An instance template is a global resource that is not
@@ -139,6 +141,8 @@ class InstanceTemplateArgs:
139
141
  pulumi.set(__self__, "network_interfaces", network_interfaces)
140
142
  if network_performance_config is not None:
141
143
  pulumi.set(__self__, "network_performance_config", network_performance_config)
144
+ if partner_metadata is not None:
145
+ pulumi.set(__self__, "partner_metadata", partner_metadata)
142
146
  if project is not None:
143
147
  pulumi.set(__self__, "project", project)
144
148
  if region is not None:
@@ -389,6 +393,18 @@ class InstanceTemplateArgs:
389
393
  def network_performance_config(self, value: Optional[pulumi.Input['InstanceTemplateNetworkPerformanceConfigArgs']]):
390
394
  pulumi.set(self, "network_performance_config", value)
391
395
 
396
+ @property
397
+ @pulumi.getter(name="partnerMetadata")
398
+ def partner_metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
399
+ """
400
+ Beta key/value pair represents partner metadata assigned to instance template where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
401
+ """
402
+ return pulumi.get(self, "partner_metadata")
403
+
404
+ @partner_metadata.setter
405
+ def partner_metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
406
+ pulumi.set(self, "partner_metadata", value)
407
+
392
408
  @property
393
409
  @pulumi.getter
394
410
  def project(self) -> Optional[pulumi.Input[str]]:
@@ -529,6 +545,7 @@ class _InstanceTemplateState:
529
545
  name_prefix: Optional[pulumi.Input[str]] = None,
530
546
  network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTemplateNetworkInterfaceArgs']]]] = None,
531
547
  network_performance_config: Optional[pulumi.Input['InstanceTemplateNetworkPerformanceConfigArgs']] = None,
548
+ partner_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
532
549
  project: Optional[pulumi.Input[str]] = None,
533
550
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
534
551
  region: Optional[pulumi.Input[str]] = None,
@@ -590,6 +607,7 @@ class _InstanceTemplateState:
590
607
  the `image` used must include the [`GVNIC`](https://cloud.google.com/compute/docs/networking/using-gvnic#create-instance-gvnic-image)
591
608
  in `guest-os-features`, and `network_interface.0.nic-type` must be `GVNIC`
592
609
  in order for this setting to take effect.
610
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] partner_metadata: Beta key/value pair represents partner metadata assigned to instance template where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
593
611
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs. If it
594
612
  is not provided, the provider project is used.
595
613
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
@@ -652,6 +670,8 @@ class _InstanceTemplateState:
652
670
  pulumi.set(__self__, "network_interfaces", network_interfaces)
653
671
  if network_performance_config is not None:
654
672
  pulumi.set(__self__, "network_performance_config", network_performance_config)
673
+ if partner_metadata is not None:
674
+ pulumi.set(__self__, "partner_metadata", partner_metadata)
655
675
  if project is not None:
656
676
  pulumi.set(__self__, "project", project)
657
677
  if pulumi_labels is not None:
@@ -934,6 +954,18 @@ class _InstanceTemplateState:
934
954
  def network_performance_config(self, value: Optional[pulumi.Input['InstanceTemplateNetworkPerformanceConfigArgs']]):
935
955
  pulumi.set(self, "network_performance_config", value)
936
956
 
957
+ @property
958
+ @pulumi.getter(name="partnerMetadata")
959
+ def partner_metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
960
+ """
961
+ Beta key/value pair represents partner metadata assigned to instance template where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
962
+ """
963
+ return pulumi.get(self, "partner_metadata")
964
+
965
+ @partner_metadata.setter
966
+ def partner_metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
967
+ pulumi.set(self, "partner_metadata", value)
968
+
937
969
  @property
938
970
  @pulumi.getter
939
971
  def project(self) -> Optional[pulumi.Input[str]]:
@@ -1123,6 +1155,7 @@ class InstanceTemplate(pulumi.CustomResource):
1123
1155
  name_prefix: Optional[pulumi.Input[str]] = None,
1124
1156
  network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceTemplateNetworkInterfaceArgs']]]]] = None,
1125
1157
  network_performance_config: Optional[pulumi.Input[pulumi.InputType['InstanceTemplateNetworkPerformanceConfigArgs']]] = None,
1158
+ partner_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1126
1159
  project: Optional[pulumi.Input[str]] = None,
1127
1160
  region: Optional[pulumi.Input[str]] = None,
1128
1161
  reservation_affinity: Optional[pulumi.Input[pulumi.InputType['InstanceTemplateReservationAffinityArgs']]] = None,
@@ -1373,6 +1406,7 @@ class InstanceTemplate(pulumi.CustomResource):
1373
1406
  the `image` used must include the [`GVNIC`](https://cloud.google.com/compute/docs/networking/using-gvnic#create-instance-gvnic-image)
1374
1407
  in `guest-os-features`, and `network_interface.0.nic-type` must be `GVNIC`
1375
1408
  in order for this setting to take effect.
1409
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] partner_metadata: Beta key/value pair represents partner metadata assigned to instance template where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
1376
1410
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs. If it
1377
1411
  is not provided, the provider project is used.
1378
1412
  :param pulumi.Input[str] region: An instance template is a global resource that is not
@@ -1624,6 +1658,7 @@ class InstanceTemplate(pulumi.CustomResource):
1624
1658
  name_prefix: Optional[pulumi.Input[str]] = None,
1625
1659
  network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceTemplateNetworkInterfaceArgs']]]]] = None,
1626
1660
  network_performance_config: Optional[pulumi.Input[pulumi.InputType['InstanceTemplateNetworkPerformanceConfigArgs']]] = None,
1661
+ partner_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1627
1662
  project: Optional[pulumi.Input[str]] = None,
1628
1663
  region: Optional[pulumi.Input[str]] = None,
1629
1664
  reservation_affinity: Optional[pulumi.Input[pulumi.InputType['InstanceTemplateReservationAffinityArgs']]] = None,
@@ -1663,6 +1698,7 @@ class InstanceTemplate(pulumi.CustomResource):
1663
1698
  __props__.__dict__["name_prefix"] = name_prefix
1664
1699
  __props__.__dict__["network_interfaces"] = network_interfaces
1665
1700
  __props__.__dict__["network_performance_config"] = network_performance_config
1701
+ __props__.__dict__["partner_metadata"] = partner_metadata
1666
1702
  __props__.__dict__["project"] = project
1667
1703
  __props__.__dict__["region"] = region
1668
1704
  __props__.__dict__["reservation_affinity"] = reservation_affinity
@@ -1709,6 +1745,7 @@ class InstanceTemplate(pulumi.CustomResource):
1709
1745
  name_prefix: Optional[pulumi.Input[str]] = None,
1710
1746
  network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceTemplateNetworkInterfaceArgs']]]]] = None,
1711
1747
  network_performance_config: Optional[pulumi.Input[pulumi.InputType['InstanceTemplateNetworkPerformanceConfigArgs']]] = None,
1748
+ partner_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1712
1749
  project: Optional[pulumi.Input[str]] = None,
1713
1750
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1714
1751
  region: Optional[pulumi.Input[str]] = None,
@@ -1775,6 +1812,7 @@ class InstanceTemplate(pulumi.CustomResource):
1775
1812
  the `image` used must include the [`GVNIC`](https://cloud.google.com/compute/docs/networking/using-gvnic#create-instance-gvnic-image)
1776
1813
  in `guest-os-features`, and `network_interface.0.nic-type` must be `GVNIC`
1777
1814
  in order for this setting to take effect.
1815
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] partner_metadata: Beta key/value pair represents partner metadata assigned to instance template where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
1778
1816
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs. If it
1779
1817
  is not provided, the provider project is used.
1780
1818
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
@@ -1822,6 +1860,7 @@ class InstanceTemplate(pulumi.CustomResource):
1822
1860
  __props__.__dict__["name_prefix"] = name_prefix
1823
1861
  __props__.__dict__["network_interfaces"] = network_interfaces
1824
1862
  __props__.__dict__["network_performance_config"] = network_performance_config
1863
+ __props__.__dict__["partner_metadata"] = partner_metadata
1825
1864
  __props__.__dict__["project"] = project
1826
1865
  __props__.__dict__["pulumi_labels"] = pulumi_labels
1827
1866
  __props__.__dict__["region"] = region
@@ -2016,6 +2055,14 @@ class InstanceTemplate(pulumi.CustomResource):
2016
2055
  """
2017
2056
  return pulumi.get(self, "network_performance_config")
2018
2057
 
2058
+ @property
2059
+ @pulumi.getter(name="partnerMetadata")
2060
+ def partner_metadata(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
2061
+ """
2062
+ Beta key/value pair represents partner metadata assigned to instance template where key represent a defined namespace and value is a json string represent the entries associted with the namespace.
2063
+ """
2064
+ return pulumi.get(self, "partner_metadata")
2065
+
2019
2066
  @property
2020
2067
  @pulumi.getter
2021
2068
  def project(self) -> pulumi.Output[str]: