pulumi-gcp 8.33.0a1749001887__py3-none-any.whl → 8.34.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 (97) hide show
  1. pulumi_gcp/__init__.py +40 -0
  2. pulumi_gcp/alloydb/cluster.py +16 -64
  3. pulumi_gcp/apigee/_inputs.py +89 -0
  4. pulumi_gcp/apigee/environment.py +68 -2
  5. pulumi_gcp/apigee/outputs.py +88 -0
  6. pulumi_gcp/apihub/__init__.py +1 -0
  7. pulumi_gcp/apihub/_inputs.py +184 -0
  8. pulumi_gcp/apihub/curation.py +812 -0
  9. pulumi_gcp/apihub/outputs.py +165 -0
  10. pulumi_gcp/beyondcorp/get_security_gateway.py +12 -1
  11. pulumi_gcp/beyondcorp/security_gateway.py +28 -0
  12. pulumi_gcp/bigquery/__init__.py +1 -0
  13. pulumi_gcp/bigquery/get_datasets.py +131 -0
  14. pulumi_gcp/bigquery/outputs.py +52 -0
  15. pulumi_gcp/cloudrunv2/_inputs.py +463 -0
  16. pulumi_gcp/cloudrunv2/outputs.py +581 -1
  17. pulumi_gcp/cloudrunv2/worker_pool.py +0 -8
  18. pulumi_gcp/colab/_inputs.py +14 -1
  19. pulumi_gcp/colab/outputs.py +8 -1
  20. pulumi_gcp/colab/runtime_template.py +5 -27
  21. pulumi_gcp/compute/__init__.py +3 -0
  22. pulumi_gcp/compute/_inputs.py +1829 -3
  23. pulumi_gcp/compute/backend_service.py +18 -2
  24. pulumi_gcp/compute/get_region_instance_template.py +12 -1
  25. pulumi_gcp/compute/get_router_nat.py +23 -1
  26. pulumi_gcp/compute/interconnect.py +32 -0
  27. pulumi_gcp/compute/interconnect_attachment.py +304 -0
  28. pulumi_gcp/compute/interconnect_attachment_group.py +636 -0
  29. pulumi_gcp/compute/interconnect_group.py +586 -0
  30. pulumi_gcp/compute/outputs.py +1321 -2
  31. pulumi_gcp/compute/region_instance_template.py +28 -0
  32. pulumi_gcp/compute/router_nat.py +143 -0
  33. pulumi_gcp/compute/snapshot_settings.py +285 -0
  34. pulumi_gcp/compute/url_map.py +338 -0
  35. pulumi_gcp/container/_inputs.py +57 -24
  36. pulumi_gcp/container/cluster.py +47 -0
  37. pulumi_gcp/container/get_cluster.py +12 -1
  38. pulumi_gcp/container/outputs.py +75 -20
  39. pulumi_gcp/dataplex/__init__.py +1 -0
  40. pulumi_gcp/dataplex/_inputs.py +492 -0
  41. pulumi_gcp/dataplex/datascan.py +2 -0
  42. pulumi_gcp/dataplex/entry.py +1038 -0
  43. pulumi_gcp/dataplex/outputs.py +357 -1
  44. pulumi_gcp/datastream/_inputs.py +48 -6
  45. pulumi_gcp/datastream/outputs.py +46 -4
  46. pulumi_gcp/datastream/private_connection.py +205 -35
  47. pulumi_gcp/dns/_inputs.py +73 -0
  48. pulumi_gcp/dns/outputs.py +60 -0
  49. pulumi_gcp/dns/policy.py +54 -0
  50. pulumi_gcp/eventarc/_inputs.py +12 -5
  51. pulumi_gcp/eventarc/outputs.py +8 -3
  52. pulumi_gcp/eventarc/pipeline.py +0 -12
  53. pulumi_gcp/filestore/_inputs.py +44 -1
  54. pulumi_gcp/filestore/instance.py +7 -7
  55. pulumi_gcp/filestore/outputs.py +52 -2
  56. pulumi_gcp/gemini/data_sharing_with_google_setting.py +58 -9
  57. pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +11 -16
  58. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +51 -2
  59. pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +11 -16
  60. pulumi_gcp/gkehub/_inputs.py +84 -7
  61. pulumi_gcp/gkehub/feature.py +38 -0
  62. pulumi_gcp/gkehub/outputs.py +102 -7
  63. pulumi_gcp/gkehub/scope_rbac_role_binding.py +54 -2
  64. pulumi_gcp/gkeonprem/_inputs.py +54 -0
  65. pulumi_gcp/gkeonprem/outputs.py +49 -0
  66. pulumi_gcp/gkeonprem/vmware_admin_cluster.py +71 -0
  67. pulumi_gcp/iam/workload_identity_pool_namespace.py +4 -4
  68. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  69. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  70. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  71. pulumi_gcp/managedkafka/connector.py +4 -4
  72. pulumi_gcp/memorystore/_inputs.py +6 -6
  73. pulumi_gcp/memorystore/outputs.py +8 -8
  74. pulumi_gcp/netapp/_inputs.py +113 -0
  75. pulumi_gcp/netapp/backup_vault.py +56 -0
  76. pulumi_gcp/netapp/outputs.py +92 -0
  77. pulumi_gcp/networkconnectivity/_inputs.py +9 -9
  78. pulumi_gcp/networkconnectivity/outputs.py +6 -6
  79. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  80. pulumi_gcp/networksecurity/backend_authentication_config.py +64 -0
  81. pulumi_gcp/orgpolicy/policy.py +2 -2
  82. pulumi_gcp/pubsub/_inputs.py +392 -0
  83. pulumi_gcp/pubsub/get_subscription.py +12 -1
  84. pulumi_gcp/pubsub/get_topic.py +12 -1
  85. pulumi_gcp/pubsub/outputs.py +548 -0
  86. pulumi_gcp/pubsub/subscription.py +67 -6
  87. pulumi_gcp/pubsub/topic.py +61 -0
  88. pulumi_gcp/pulumi-plugin.json +1 -1
  89. pulumi_gcp/redis/_inputs.py +3 -6
  90. pulumi_gcp/redis/outputs.py +2 -4
  91. pulumi_gcp/storage/bucket_object.py +4 -4
  92. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  93. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  94. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0.dist-info}/METADATA +1 -1
  95. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0.dist-info}/RECORD +97 -91
  96. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0.dist-info}/WHEEL +0 -0
  97. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0.dist-info}/top_level.txt +0 -0
@@ -14,6 +14,8 @@ if sys.version_info >= (3, 11):
14
14
  else:
15
15
  from typing_extensions import NotRequired, TypedDict, TypeAlias
16
16
  from .. import _utilities
17
+ from . import outputs
18
+ from ._inputs import *
17
19
 
18
20
  __all__ = ['BackupVaultArgs', 'BackupVault']
19
21
 
@@ -22,6 +24,7 @@ class BackupVaultArgs:
22
24
  def __init__(__self__, *,
23
25
  location: pulumi.Input[builtins.str],
24
26
  backup_region: Optional[pulumi.Input[builtins.str]] = None,
27
+ backup_retention_policy: Optional[pulumi.Input['BackupVaultBackupRetentionPolicyArgs']] = None,
25
28
  backup_vault_type: Optional[pulumi.Input[builtins.str]] = None,
26
29
  description: Optional[pulumi.Input[builtins.str]] = None,
27
30
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
@@ -31,6 +34,8 @@ class BackupVaultArgs:
31
34
  The set of arguments for constructing a BackupVault resource.
32
35
  :param pulumi.Input[builtins.str] location: Location (region) of the backup vault.
33
36
  :param pulumi.Input[builtins.str] backup_region: Region in which backup is stored.
37
+ :param pulumi.Input['BackupVaultBackupRetentionPolicyArgs'] backup_retention_policy: Backup retention policy defining the retention of the backups.
38
+ Structure is documented below.
34
39
  :param pulumi.Input[builtins.str] backup_vault_type: Type of the backup vault to be created. Default is IN_REGION.
35
40
  Possible values are: `BACKUP_VAULT_TYPE_UNSPECIFIED`, `IN_REGION`, `CROSS_REGION`.
36
41
  :param pulumi.Input[builtins.str] description: An optional description of this resource.
@@ -48,6 +53,8 @@ class BackupVaultArgs:
48
53
  pulumi.set(__self__, "location", location)
49
54
  if backup_region is not None:
50
55
  pulumi.set(__self__, "backup_region", backup_region)
56
+ if backup_retention_policy is not None:
57
+ pulumi.set(__self__, "backup_retention_policy", backup_retention_policy)
51
58
  if backup_vault_type is not None:
52
59
  pulumi.set(__self__, "backup_vault_type", backup_vault_type)
53
60
  if description is not None:
@@ -83,6 +90,19 @@ class BackupVaultArgs:
83
90
  def backup_region(self, value: Optional[pulumi.Input[builtins.str]]):
84
91
  pulumi.set(self, "backup_region", value)
85
92
 
93
+ @property
94
+ @pulumi.getter(name="backupRetentionPolicy")
95
+ def backup_retention_policy(self) -> Optional[pulumi.Input['BackupVaultBackupRetentionPolicyArgs']]:
96
+ """
97
+ Backup retention policy defining the retention of the backups.
98
+ Structure is documented below.
99
+ """
100
+ return pulumi.get(self, "backup_retention_policy")
101
+
102
+ @backup_retention_policy.setter
103
+ def backup_retention_policy(self, value: Optional[pulumi.Input['BackupVaultBackupRetentionPolicyArgs']]):
104
+ pulumi.set(self, "backup_retention_policy", value)
105
+
86
106
  @property
87
107
  @pulumi.getter(name="backupVaultType")
88
108
  def backup_vault_type(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -156,6 +176,7 @@ class BackupVaultArgs:
156
176
  class _BackupVaultState:
157
177
  def __init__(__self__, *,
158
178
  backup_region: Optional[pulumi.Input[builtins.str]] = None,
179
+ backup_retention_policy: Optional[pulumi.Input['BackupVaultBackupRetentionPolicyArgs']] = None,
159
180
  backup_vault_type: Optional[pulumi.Input[builtins.str]] = None,
160
181
  create_time: Optional[pulumi.Input[builtins.str]] = None,
161
182
  description: Optional[pulumi.Input[builtins.str]] = None,
@@ -172,6 +193,8 @@ class _BackupVaultState:
172
193
  """
173
194
  Input properties used for looking up and filtering BackupVault resources.
174
195
  :param pulumi.Input[builtins.str] backup_region: Region in which backup is stored.
196
+ :param pulumi.Input['BackupVaultBackupRetentionPolicyArgs'] backup_retention_policy: Backup retention policy defining the retention of the backups.
197
+ Structure is documented below.
175
198
  :param pulumi.Input[builtins.str] backup_vault_type: Type of the backup vault to be created. Default is IN_REGION.
176
199
  Possible values are: `BACKUP_VAULT_TYPE_UNSPECIFIED`, `IN_REGION`, `CROSS_REGION`.
177
200
  :param pulumi.Input[builtins.str] create_time: Create time of the backup vault. A timestamp in RFC3339 UTC "Zulu" format. Examples: "2023-06-22T09:13:01.617Z".
@@ -197,6 +220,8 @@ class _BackupVaultState:
197
220
  """
198
221
  if backup_region is not None:
199
222
  pulumi.set(__self__, "backup_region", backup_region)
223
+ if backup_retention_policy is not None:
224
+ pulumi.set(__self__, "backup_retention_policy", backup_retention_policy)
200
225
  if backup_vault_type is not None:
201
226
  pulumi.set(__self__, "backup_vault_type", backup_vault_type)
202
227
  if create_time is not None:
@@ -236,6 +261,19 @@ class _BackupVaultState:
236
261
  def backup_region(self, value: Optional[pulumi.Input[builtins.str]]):
237
262
  pulumi.set(self, "backup_region", value)
238
263
 
264
+ @property
265
+ @pulumi.getter(name="backupRetentionPolicy")
266
+ def backup_retention_policy(self) -> Optional[pulumi.Input['BackupVaultBackupRetentionPolicyArgs']]:
267
+ """
268
+ Backup retention policy defining the retention of the backups.
269
+ Structure is documented below.
270
+ """
271
+ return pulumi.get(self, "backup_retention_policy")
272
+
273
+ @backup_retention_policy.setter
274
+ def backup_retention_policy(self, value: Optional[pulumi.Input['BackupVaultBackupRetentionPolicyArgs']]):
275
+ pulumi.set(self, "backup_retention_policy", value)
276
+
239
277
  @property
240
278
  @pulumi.getter(name="backupVaultType")
241
279
  def backup_vault_type(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -409,6 +447,7 @@ class BackupVault(pulumi.CustomResource):
409
447
  resource_name: str,
410
448
  opts: Optional[pulumi.ResourceOptions] = None,
411
449
  backup_region: Optional[pulumi.Input[builtins.str]] = None,
450
+ backup_retention_policy: Optional[pulumi.Input[Union['BackupVaultBackupRetentionPolicyArgs', 'BackupVaultBackupRetentionPolicyArgsDict']]] = None,
412
451
  backup_vault_type: Optional[pulumi.Input[builtins.str]] = None,
413
452
  description: Optional[pulumi.Input[builtins.str]] = None,
414
453
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
@@ -470,6 +509,8 @@ class BackupVault(pulumi.CustomResource):
470
509
  :param str resource_name: The name of the resource.
471
510
  :param pulumi.ResourceOptions opts: Options for the resource.
472
511
  :param pulumi.Input[builtins.str] backup_region: Region in which backup is stored.
512
+ :param pulumi.Input[Union['BackupVaultBackupRetentionPolicyArgs', 'BackupVaultBackupRetentionPolicyArgsDict']] backup_retention_policy: Backup retention policy defining the retention of the backups.
513
+ Structure is documented below.
473
514
  :param pulumi.Input[builtins.str] backup_vault_type: Type of the backup vault to be created. Default is IN_REGION.
474
515
  Possible values are: `BACKUP_VAULT_TYPE_UNSPECIFIED`, `IN_REGION`, `CROSS_REGION`.
475
516
  :param pulumi.Input[builtins.str] description: An optional description of this resource.
@@ -558,6 +599,7 @@ class BackupVault(pulumi.CustomResource):
558
599
  resource_name: str,
559
600
  opts: Optional[pulumi.ResourceOptions] = None,
560
601
  backup_region: Optional[pulumi.Input[builtins.str]] = None,
602
+ backup_retention_policy: Optional[pulumi.Input[Union['BackupVaultBackupRetentionPolicyArgs', 'BackupVaultBackupRetentionPolicyArgsDict']]] = None,
561
603
  backup_vault_type: Optional[pulumi.Input[builtins.str]] = None,
562
604
  description: Optional[pulumi.Input[builtins.str]] = None,
563
605
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
@@ -574,6 +616,7 @@ class BackupVault(pulumi.CustomResource):
574
616
  __props__ = BackupVaultArgs.__new__(BackupVaultArgs)
575
617
 
576
618
  __props__.__dict__["backup_region"] = backup_region
619
+ __props__.__dict__["backup_retention_policy"] = backup_retention_policy
577
620
  __props__.__dict__["backup_vault_type"] = backup_vault_type
578
621
  __props__.__dict__["description"] = description
579
622
  __props__.__dict__["labels"] = labels
@@ -602,6 +645,7 @@ class BackupVault(pulumi.CustomResource):
602
645
  id: pulumi.Input[str],
603
646
  opts: Optional[pulumi.ResourceOptions] = None,
604
647
  backup_region: Optional[pulumi.Input[builtins.str]] = None,
648
+ backup_retention_policy: Optional[pulumi.Input[Union['BackupVaultBackupRetentionPolicyArgs', 'BackupVaultBackupRetentionPolicyArgsDict']]] = None,
605
649
  backup_vault_type: Optional[pulumi.Input[builtins.str]] = None,
606
650
  create_time: Optional[pulumi.Input[builtins.str]] = None,
607
651
  description: Optional[pulumi.Input[builtins.str]] = None,
@@ -623,6 +667,8 @@ class BackupVault(pulumi.CustomResource):
623
667
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
624
668
  :param pulumi.ResourceOptions opts: Options for the resource.
625
669
  :param pulumi.Input[builtins.str] backup_region: Region in which backup is stored.
670
+ :param pulumi.Input[Union['BackupVaultBackupRetentionPolicyArgs', 'BackupVaultBackupRetentionPolicyArgsDict']] backup_retention_policy: Backup retention policy defining the retention of the backups.
671
+ Structure is documented below.
626
672
  :param pulumi.Input[builtins.str] backup_vault_type: Type of the backup vault to be created. Default is IN_REGION.
627
673
  Possible values are: `BACKUP_VAULT_TYPE_UNSPECIFIED`, `IN_REGION`, `CROSS_REGION`.
628
674
  :param pulumi.Input[builtins.str] create_time: Create time of the backup vault. A timestamp in RFC3339 UTC "Zulu" format. Examples: "2023-06-22T09:13:01.617Z".
@@ -651,6 +697,7 @@ class BackupVault(pulumi.CustomResource):
651
697
  __props__ = _BackupVaultState.__new__(_BackupVaultState)
652
698
 
653
699
  __props__.__dict__["backup_region"] = backup_region
700
+ __props__.__dict__["backup_retention_policy"] = backup_retention_policy
654
701
  __props__.__dict__["backup_vault_type"] = backup_vault_type
655
702
  __props__.__dict__["create_time"] = create_time
656
703
  __props__.__dict__["description"] = description
@@ -674,6 +721,15 @@ class BackupVault(pulumi.CustomResource):
674
721
  """
675
722
  return pulumi.get(self, "backup_region")
676
723
 
724
+ @property
725
+ @pulumi.getter(name="backupRetentionPolicy")
726
+ def backup_retention_policy(self) -> pulumi.Output[Optional['outputs.BackupVaultBackupRetentionPolicy']]:
727
+ """
728
+ Backup retention policy defining the retention of the backups.
729
+ Structure is documented below.
730
+ """
731
+ return pulumi.get(self, "backup_retention_policy")
732
+
677
733
  @property
678
734
  @pulumi.getter(name="backupVaultType")
679
735
  def backup_vault_type(self) -> pulumi.Output[builtins.str]:
@@ -17,6 +17,7 @@ from .. import _utilities
17
17
  from . import outputs
18
18
 
19
19
  __all__ = [
20
+ 'BackupVaultBackupRetentionPolicy',
20
21
  'VolumeBackupConfig',
21
22
  'VolumeExportPolicy',
22
23
  'VolumeExportPolicyRule',
@@ -35,6 +36,97 @@ __all__ = [
35
36
  'VolumeTieringPolicy',
36
37
  ]
37
38
 
39
+ @pulumi.output_type
40
+ class BackupVaultBackupRetentionPolicy(dict):
41
+ @staticmethod
42
+ def __key_warning(key: str):
43
+ suggest = None
44
+ if key == "backupMinimumEnforcedRetentionDays":
45
+ suggest = "backup_minimum_enforced_retention_days"
46
+ elif key == "dailyBackupImmutable":
47
+ suggest = "daily_backup_immutable"
48
+ elif key == "manualBackupImmutable":
49
+ suggest = "manual_backup_immutable"
50
+ elif key == "monthlyBackupImmutable":
51
+ suggest = "monthly_backup_immutable"
52
+ elif key == "weeklyBackupImmutable":
53
+ suggest = "weekly_backup_immutable"
54
+
55
+ if suggest:
56
+ pulumi.log.warn(f"Key '{key}' not found in BackupVaultBackupRetentionPolicy. Access the value via the '{suggest}' property getter instead.")
57
+
58
+ def __getitem__(self, key: str) -> Any:
59
+ BackupVaultBackupRetentionPolicy.__key_warning(key)
60
+ return super().__getitem__(key)
61
+
62
+ def get(self, key: str, default = None) -> Any:
63
+ BackupVaultBackupRetentionPolicy.__key_warning(key)
64
+ return super().get(key, default)
65
+
66
+ def __init__(__self__, *,
67
+ backup_minimum_enforced_retention_days: builtins.int,
68
+ daily_backup_immutable: Optional[builtins.bool] = None,
69
+ manual_backup_immutable: Optional[builtins.bool] = None,
70
+ monthly_backup_immutable: Optional[builtins.bool] = None,
71
+ weekly_backup_immutable: Optional[builtins.bool] = None):
72
+ """
73
+ :param builtins.int backup_minimum_enforced_retention_days: Minimum retention duration in days for backups in the backup vault.
74
+ :param builtins.bool daily_backup_immutable: Indicates if the daily backups are immutable. At least one of daily_backup_immutable, weekly_backup_immutable, monthly_backup_immutable and manual_backup_immutable must be true.
75
+ :param builtins.bool manual_backup_immutable: Indicates if the manual backups are immutable. At least one of daily_backup_immutable, weekly_backup_immutable, monthly_backup_immutable and manual_backup_immutable must be true.
76
+ :param builtins.bool monthly_backup_immutable: Indicates if the monthly backups are immutable. At least one of daily_backup_immutable, weekly_backup_immutable, monthly_backup_immutable and manual_backup_immutable must be true.
77
+ :param builtins.bool weekly_backup_immutable: Indicates if the weekly backups are immutable. At least one of daily_backup_immutable, weekly_backup_immutable, monthly_backup_immutable and manual_backup_immutable must be true.
78
+ """
79
+ pulumi.set(__self__, "backup_minimum_enforced_retention_days", backup_minimum_enforced_retention_days)
80
+ if daily_backup_immutable is not None:
81
+ pulumi.set(__self__, "daily_backup_immutable", daily_backup_immutable)
82
+ if manual_backup_immutable is not None:
83
+ pulumi.set(__self__, "manual_backup_immutable", manual_backup_immutable)
84
+ if monthly_backup_immutable is not None:
85
+ pulumi.set(__self__, "monthly_backup_immutable", monthly_backup_immutable)
86
+ if weekly_backup_immutable is not None:
87
+ pulumi.set(__self__, "weekly_backup_immutable", weekly_backup_immutable)
88
+
89
+ @property
90
+ @pulumi.getter(name="backupMinimumEnforcedRetentionDays")
91
+ def backup_minimum_enforced_retention_days(self) -> builtins.int:
92
+ """
93
+ Minimum retention duration in days for backups in the backup vault.
94
+ """
95
+ return pulumi.get(self, "backup_minimum_enforced_retention_days")
96
+
97
+ @property
98
+ @pulumi.getter(name="dailyBackupImmutable")
99
+ def daily_backup_immutable(self) -> Optional[builtins.bool]:
100
+ """
101
+ Indicates if the daily backups are immutable. At least one of daily_backup_immutable, weekly_backup_immutable, monthly_backup_immutable and manual_backup_immutable must be true.
102
+ """
103
+ return pulumi.get(self, "daily_backup_immutable")
104
+
105
+ @property
106
+ @pulumi.getter(name="manualBackupImmutable")
107
+ def manual_backup_immutable(self) -> Optional[builtins.bool]:
108
+ """
109
+ Indicates if the manual backups are immutable. At least one of daily_backup_immutable, weekly_backup_immutable, monthly_backup_immutable and manual_backup_immutable must be true.
110
+ """
111
+ return pulumi.get(self, "manual_backup_immutable")
112
+
113
+ @property
114
+ @pulumi.getter(name="monthlyBackupImmutable")
115
+ def monthly_backup_immutable(self) -> Optional[builtins.bool]:
116
+ """
117
+ Indicates if the monthly backups are immutable. At least one of daily_backup_immutable, weekly_backup_immutable, monthly_backup_immutable and manual_backup_immutable must be true.
118
+ """
119
+ return pulumi.get(self, "monthly_backup_immutable")
120
+
121
+ @property
122
+ @pulumi.getter(name="weeklyBackupImmutable")
123
+ def weekly_backup_immutable(self) -> Optional[builtins.bool]:
124
+ """
125
+ Indicates if the weekly backups are immutable. At least one of daily_backup_immutable, weekly_backup_immutable, monthly_backup_immutable and manual_backup_immutable must be true.
126
+ """
127
+ return pulumi.get(self, "weekly_backup_immutable")
128
+
129
+
38
130
  @pulumi.output_type
39
131
  class VolumeBackupConfig(dict):
40
132
  @staticmethod
@@ -192,11 +192,11 @@ if not MYPY:
192
192
  protocol_version: pulumi.Input[builtins.str]
193
193
  """
194
194
  Internet protocol versions this policy-based route applies to.
195
- Possible values are: `IPV4`.
195
+ Possible values are: `IPV4`, `IPV6`.
196
196
  """
197
197
  dest_range: NotRequired[pulumi.Input[builtins.str]]
198
198
  """
199
- The destination IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
199
+ The destination IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0".
200
200
 
201
201
  - - -
202
202
  """
@@ -206,7 +206,7 @@ if not MYPY:
206
206
  """
207
207
  src_range: NotRequired[pulumi.Input[builtins.str]]
208
208
  """
209
- The source IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
209
+ The source IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0".
210
210
  """
211
211
  elif False:
212
212
  PolicyBasedRouteFilterArgsDict: TypeAlias = Mapping[str, Any]
@@ -220,12 +220,12 @@ class PolicyBasedRouteFilterArgs:
220
220
  src_range: Optional[pulumi.Input[builtins.str]] = None):
221
221
  """
222
222
  :param pulumi.Input[builtins.str] protocol_version: Internet protocol versions this policy-based route applies to.
223
- Possible values are: `IPV4`.
224
- :param pulumi.Input[builtins.str] dest_range: The destination IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
223
+ Possible values are: `IPV4`, `IPV6`.
224
+ :param pulumi.Input[builtins.str] dest_range: The destination IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0".
225
225
 
226
226
  - - -
227
227
  :param pulumi.Input[builtins.str] ip_protocol: The IP protocol that this policy-based route applies to. Valid values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
228
- :param pulumi.Input[builtins.str] src_range: The source IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
228
+ :param pulumi.Input[builtins.str] src_range: The source IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0".
229
229
  """
230
230
  pulumi.set(__self__, "protocol_version", protocol_version)
231
231
  if dest_range is not None:
@@ -240,7 +240,7 @@ class PolicyBasedRouteFilterArgs:
240
240
  def protocol_version(self) -> pulumi.Input[builtins.str]:
241
241
  """
242
242
  Internet protocol versions this policy-based route applies to.
243
- Possible values are: `IPV4`.
243
+ Possible values are: `IPV4`, `IPV6`.
244
244
  """
245
245
  return pulumi.get(self, "protocol_version")
246
246
 
@@ -252,7 +252,7 @@ class PolicyBasedRouteFilterArgs:
252
252
  @pulumi.getter(name="destRange")
253
253
  def dest_range(self) -> Optional[pulumi.Input[builtins.str]]:
254
254
  """
255
- The destination IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
255
+ The destination IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0".
256
256
 
257
257
  - - -
258
258
  """
@@ -278,7 +278,7 @@ class PolicyBasedRouteFilterArgs:
278
278
  @pulumi.getter(name="srcRange")
279
279
  def src_range(self) -> Optional[pulumi.Input[builtins.str]]:
280
280
  """
281
- The source IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
281
+ The source IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0".
282
282
  """
283
283
  return pulumi.get(self, "src_range")
284
284
 
@@ -164,12 +164,12 @@ class PolicyBasedRouteFilter(dict):
164
164
  src_range: Optional[builtins.str] = None):
165
165
  """
166
166
  :param builtins.str protocol_version: Internet protocol versions this policy-based route applies to.
167
- Possible values are: `IPV4`.
168
- :param builtins.str dest_range: The destination IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
167
+ Possible values are: `IPV4`, `IPV6`.
168
+ :param builtins.str dest_range: The destination IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0".
169
169
 
170
170
  - - -
171
171
  :param builtins.str ip_protocol: The IP protocol that this policy-based route applies to. Valid values are 'TCP', 'UDP', and 'ALL'. Default is 'ALL'.
172
- :param builtins.str src_range: The source IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
172
+ :param builtins.str src_range: The source IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0".
173
173
  """
174
174
  pulumi.set(__self__, "protocol_version", protocol_version)
175
175
  if dest_range is not None:
@@ -184,7 +184,7 @@ class PolicyBasedRouteFilter(dict):
184
184
  def protocol_version(self) -> builtins.str:
185
185
  """
186
186
  Internet protocol versions this policy-based route applies to.
187
- Possible values are: `IPV4`.
187
+ Possible values are: `IPV4`, `IPV6`.
188
188
  """
189
189
  return pulumi.get(self, "protocol_version")
190
190
 
@@ -192,7 +192,7 @@ class PolicyBasedRouteFilter(dict):
192
192
  @pulumi.getter(name="destRange")
193
193
  def dest_range(self) -> Optional[builtins.str]:
194
194
  """
195
- The destination IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
195
+ The destination IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0".
196
196
 
197
197
  - - -
198
198
  """
@@ -210,7 +210,7 @@ class PolicyBasedRouteFilter(dict):
210
210
  @pulumi.getter(name="srcRange")
211
211
  def src_range(self) -> Optional[builtins.str]:
212
212
  """
213
- The source IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0" if protocol version is IPv4.
213
+ The source IP range of outgoing packets that this policy-based route applies to. Default is "0.0.0.0/0".
214
214
  """
215
215
  return pulumi.get(self, "src_range")
216
216
 
@@ -689,15 +689,15 @@ class Spoke(pulumi.CustomResource):
689
689
  import pulumi_gcp as gcp
690
690
 
691
691
  network = gcp.compute.Network("network",
692
- name="tf-test-network_9394",
692
+ name="tf-test-network_35305",
693
693
  auto_create_subnetworks=False)
694
694
  subnetwork = gcp.compute.Subnetwork("subnetwork",
695
- name="tf-test-subnet_11380",
695
+ name="tf-test-subnet_62793",
696
696
  ip_cidr_range="10.0.0.0/28",
697
697
  region="us-central1",
698
698
  network=network.self_link)
699
699
  instance = gcp.compute.Instance("instance",
700
- name="tf-test-instance_35305",
700
+ name="tf-test-instance_55438",
701
701
  machine_type="e2-medium",
702
702
  can_ip_forward=True,
703
703
  zone="us-central1-a",
@@ -714,13 +714,13 @@ class Spoke(pulumi.CustomResource):
714
714
  }],
715
715
  }])
716
716
  basic_hub = gcp.networkconnectivity.Hub("basic_hub",
717
- name="tf-test-hub_62793",
717
+ name="tf-test-hub_32706",
718
718
  description="A sample hub",
719
719
  labels={
720
720
  "label-two": "value-one",
721
721
  })
722
722
  primary = gcp.networkconnectivity.Spoke("primary",
723
- name="tf-test-name_55438",
723
+ name="tf-test-name_49082",
724
724
  location="us-central1",
725
725
  description="A sample spoke with a linked routher appliance instance",
726
726
  labels={
@@ -952,8 +952,8 @@ class Spoke(pulumi.CustomResource):
952
952
  hub=star_hub.id,
953
953
  auto_accept={
954
954
  "auto_accept_projects": [
955
- "foo_32706",
956
- "bar_49082",
955
+ "foo_60365",
956
+ "bar_80215",
957
957
  ],
958
958
  })
959
959
  primary = gcp.networkconnectivity.Spoke("primary",
@@ -1150,15 +1150,15 @@ class Spoke(pulumi.CustomResource):
1150
1150
  import pulumi_gcp as gcp
1151
1151
 
1152
1152
  network = gcp.compute.Network("network",
1153
- name="tf-test-network_9394",
1153
+ name="tf-test-network_35305",
1154
1154
  auto_create_subnetworks=False)
1155
1155
  subnetwork = gcp.compute.Subnetwork("subnetwork",
1156
- name="tf-test-subnet_11380",
1156
+ name="tf-test-subnet_62793",
1157
1157
  ip_cidr_range="10.0.0.0/28",
1158
1158
  region="us-central1",
1159
1159
  network=network.self_link)
1160
1160
  instance = gcp.compute.Instance("instance",
1161
- name="tf-test-instance_35305",
1161
+ name="tf-test-instance_55438",
1162
1162
  machine_type="e2-medium",
1163
1163
  can_ip_forward=True,
1164
1164
  zone="us-central1-a",
@@ -1175,13 +1175,13 @@ class Spoke(pulumi.CustomResource):
1175
1175
  }],
1176
1176
  }])
1177
1177
  basic_hub = gcp.networkconnectivity.Hub("basic_hub",
1178
- name="tf-test-hub_62793",
1178
+ name="tf-test-hub_32706",
1179
1179
  description="A sample hub",
1180
1180
  labels={
1181
1181
  "label-two": "value-one",
1182
1182
  })
1183
1183
  primary = gcp.networkconnectivity.Spoke("primary",
1184
- name="tf-test-name_55438",
1184
+ name="tf-test-name_49082",
1185
1185
  location="us-central1",
1186
1186
  description="A sample spoke with a linked routher appliance instance",
1187
1187
  labels={
@@ -1413,8 +1413,8 @@ class Spoke(pulumi.CustomResource):
1413
1413
  hub=star_hub.id,
1414
1414
  auto_accept={
1415
1415
  "auto_accept_projects": [
1416
- "foo_32706",
1417
- "bar_49082",
1416
+ "foo_60365",
1417
+ "bar_80215",
1418
1418
  ],
1419
1419
  })
1420
1420
  primary = gcp.networkconnectivity.Spoke("primary",
@@ -479,6 +479,38 @@ class BackendAuthenticationConfig(pulumi.CustomResource):
479
479
  client_certificate=certificate.id,
480
480
  trust_config=trust_config.id)
481
481
  ```
482
+ ### Backend Service Tls Settings
483
+
484
+ ```python
485
+ import pulumi
486
+ import pulumi_gcp as gcp
487
+
488
+ default_health_check = gcp.compute.HealthCheck("default",
489
+ name="health-check",
490
+ http_health_check={
491
+ "port": 80,
492
+ })
493
+ default_backend_authentication_config = gcp.networksecurity.BackendAuthenticationConfig("default",
494
+ name="authentication",
495
+ well_known_roots="PUBLIC_ROOTS")
496
+ default = gcp.compute.BackendService("default",
497
+ name="backend-service",
498
+ health_checks=default_health_check.id,
499
+ load_balancing_scheme="EXTERNAL_MANAGED",
500
+ protocol="HTTPS",
501
+ tls_settings={
502
+ "sni": "example.com",
503
+ "subject_alt_names": [
504
+ {
505
+ "dns_name": "example.com",
506
+ },
507
+ {
508
+ "uniform_resource_identifier": "https://example.com",
509
+ },
510
+ ],
511
+ "authentication_config": default_backend_authentication_config.id.apply(lambda id: f"//networksecurity.googleapis.com/{id}"),
512
+ })
513
+ ```
482
514
 
483
515
  ## Import
484
516
 
@@ -594,6 +626,38 @@ class BackendAuthenticationConfig(pulumi.CustomResource):
594
626
  client_certificate=certificate.id,
595
627
  trust_config=trust_config.id)
596
628
  ```
629
+ ### Backend Service Tls Settings
630
+
631
+ ```python
632
+ import pulumi
633
+ import pulumi_gcp as gcp
634
+
635
+ default_health_check = gcp.compute.HealthCheck("default",
636
+ name="health-check",
637
+ http_health_check={
638
+ "port": 80,
639
+ })
640
+ default_backend_authentication_config = gcp.networksecurity.BackendAuthenticationConfig("default",
641
+ name="authentication",
642
+ well_known_roots="PUBLIC_ROOTS")
643
+ default = gcp.compute.BackendService("default",
644
+ name="backend-service",
645
+ health_checks=default_health_check.id,
646
+ load_balancing_scheme="EXTERNAL_MANAGED",
647
+ protocol="HTTPS",
648
+ tls_settings={
649
+ "sni": "example.com",
650
+ "subject_alt_names": [
651
+ {
652
+ "dns_name": "example.com",
653
+ },
654
+ {
655
+ "uniform_resource_identifier": "https://example.com",
656
+ },
657
+ ],
658
+ "authentication_config": default_backend_authentication_config.id.apply(lambda id: f"//networksecurity.googleapis.com/{id}"),
659
+ })
660
+ ```
597
661
 
598
662
  ## Import
599
663
 
@@ -315,7 +315,7 @@ class Policy(pulumi.CustomResource):
315
315
  import pulumi_gcp as gcp
316
316
 
317
317
  constraint = gcp.orgpolicy.CustomConstraint("constraint",
318
- name="custom.disableGkeAutoUpgrade_80215",
318
+ name="custom.disableGkeAutoUpgrade_32081",
319
319
  parent="organizations/123456789",
320
320
  display_name="Disable GKE auto upgrade",
321
321
  description="Only allow GKE NodePool resource to be created or updated if AutoUpgrade is not enabled where this custom constraint is enforced.",
@@ -504,7 +504,7 @@ class Policy(pulumi.CustomResource):
504
504
  import pulumi_gcp as gcp
505
505
 
506
506
  constraint = gcp.orgpolicy.CustomConstraint("constraint",
507
- name="custom.disableGkeAutoUpgrade_80215",
507
+ name="custom.disableGkeAutoUpgrade_32081",
508
508
  parent="organizations/123456789",
509
509
  display_name="Disable GKE auto upgrade",
510
510
  description="Only allow GKE NodePool resource to be created or updated if AutoUpgrade is not enabled where this custom constraint is enforced.",