pulumi-gcp 8.33.0a1749001887__py3-none-any.whl → 8.34.0a1749484438__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 (46) hide show
  1. pulumi_gcp/__init__.py +8 -0
  2. pulumi_gcp/bigquery/__init__.py +1 -0
  3. pulumi_gcp/bigquery/get_datasets.py +131 -0
  4. pulumi_gcp/bigquery/outputs.py +52 -0
  5. pulumi_gcp/colab/_inputs.py +14 -1
  6. pulumi_gcp/colab/outputs.py +8 -1
  7. pulumi_gcp/colab/runtime_template.py +1 -1
  8. pulumi_gcp/compute/_inputs.py +278 -3
  9. pulumi_gcp/compute/backend_service.py +18 -2
  10. pulumi_gcp/compute/get_region_instance_template.py +12 -1
  11. pulumi_gcp/compute/get_router_nat.py +23 -1
  12. pulumi_gcp/compute/interconnect_attachment.py +276 -0
  13. pulumi_gcp/compute/outputs.py +234 -2
  14. pulumi_gcp/compute/region_instance_template.py +28 -0
  15. pulumi_gcp/compute/router_nat.py +143 -0
  16. pulumi_gcp/compute/url_map.py +338 -0
  17. pulumi_gcp/container/_inputs.py +6 -6
  18. pulumi_gcp/container/outputs.py +4 -4
  19. pulumi_gcp/dataplex/__init__.py +1 -0
  20. pulumi_gcp/dataplex/_inputs.py +472 -0
  21. pulumi_gcp/dataplex/entry.py +1038 -0
  22. pulumi_gcp/dataplex/outputs.py +342 -0
  23. pulumi_gcp/datastream/_inputs.py +48 -6
  24. pulumi_gcp/datastream/outputs.py +46 -4
  25. pulumi_gcp/datastream/private_connection.py +205 -35
  26. pulumi_gcp/dns/_inputs.py +73 -0
  27. pulumi_gcp/dns/outputs.py +60 -0
  28. pulumi_gcp/dns/policy.py +54 -0
  29. pulumi_gcp/filestore/_inputs.py +44 -1
  30. pulumi_gcp/filestore/instance.py +7 -7
  31. pulumi_gcp/filestore/outputs.py +52 -2
  32. pulumi_gcp/memorystore/_inputs.py +6 -6
  33. pulumi_gcp/memorystore/outputs.py +8 -8
  34. pulumi_gcp/netapp/_inputs.py +113 -0
  35. pulumi_gcp/netapp/backup_vault.py +56 -0
  36. pulumi_gcp/netapp/outputs.py +92 -0
  37. pulumi_gcp/networkconnectivity/_inputs.py +9 -9
  38. pulumi_gcp/networkconnectivity/outputs.py +6 -6
  39. pulumi_gcp/pulumi-plugin.json +1 -1
  40. pulumi_gcp/redis/_inputs.py +3 -6
  41. pulumi_gcp/redis/outputs.py +2 -4
  42. pulumi_gcp/storage/bucket_object.py +4 -4
  43. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0a1749484438.dist-info}/METADATA +1 -1
  44. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0a1749484438.dist-info}/RECORD +46 -44
  45. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0a1749484438.dist-info}/WHEEL +0 -0
  46. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0a1749484438.dist-info}/top_level.txt +0 -0
@@ -16,6 +16,8 @@ else:
16
16
  from .. import _utilities
17
17
 
18
18
  __all__ = [
19
+ 'BackupVaultBackupRetentionPolicyArgs',
20
+ 'BackupVaultBackupRetentionPolicyArgsDict',
19
21
  'VolumeBackupConfigArgs',
20
22
  'VolumeBackupConfigArgsDict',
21
23
  'VolumeExportPolicyArgs',
@@ -52,6 +54,117 @@ __all__ = [
52
54
 
53
55
  MYPY = False
54
56
 
57
+ if not MYPY:
58
+ class BackupVaultBackupRetentionPolicyArgsDict(TypedDict):
59
+ backup_minimum_enforced_retention_days: pulumi.Input[builtins.int]
60
+ """
61
+ Minimum retention duration in days for backups in the backup vault.
62
+ """
63
+ daily_backup_immutable: NotRequired[pulumi.Input[builtins.bool]]
64
+ """
65
+ 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.
66
+ """
67
+ manual_backup_immutable: NotRequired[pulumi.Input[builtins.bool]]
68
+ """
69
+ 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.
70
+ """
71
+ monthly_backup_immutable: NotRequired[pulumi.Input[builtins.bool]]
72
+ """
73
+ 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.
74
+ """
75
+ weekly_backup_immutable: NotRequired[pulumi.Input[builtins.bool]]
76
+ """
77
+ 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
+ elif False:
80
+ BackupVaultBackupRetentionPolicyArgsDict: TypeAlias = Mapping[str, Any]
81
+
82
+ @pulumi.input_type
83
+ class BackupVaultBackupRetentionPolicyArgs:
84
+ def __init__(__self__, *,
85
+ backup_minimum_enforced_retention_days: pulumi.Input[builtins.int],
86
+ daily_backup_immutable: Optional[pulumi.Input[builtins.bool]] = None,
87
+ manual_backup_immutable: Optional[pulumi.Input[builtins.bool]] = None,
88
+ monthly_backup_immutable: Optional[pulumi.Input[builtins.bool]] = None,
89
+ weekly_backup_immutable: Optional[pulumi.Input[builtins.bool]] = None):
90
+ """
91
+ :param pulumi.Input[builtins.int] backup_minimum_enforced_retention_days: Minimum retention duration in days for backups in the backup vault.
92
+ :param pulumi.Input[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.
93
+ :param pulumi.Input[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.
94
+ :param pulumi.Input[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.
95
+ :param pulumi.Input[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.
96
+ """
97
+ pulumi.set(__self__, "backup_minimum_enforced_retention_days", backup_minimum_enforced_retention_days)
98
+ if daily_backup_immutable is not None:
99
+ pulumi.set(__self__, "daily_backup_immutable", daily_backup_immutable)
100
+ if manual_backup_immutable is not None:
101
+ pulumi.set(__self__, "manual_backup_immutable", manual_backup_immutable)
102
+ if monthly_backup_immutable is not None:
103
+ pulumi.set(__self__, "monthly_backup_immutable", monthly_backup_immutable)
104
+ if weekly_backup_immutable is not None:
105
+ pulumi.set(__self__, "weekly_backup_immutable", weekly_backup_immutable)
106
+
107
+ @property
108
+ @pulumi.getter(name="backupMinimumEnforcedRetentionDays")
109
+ def backup_minimum_enforced_retention_days(self) -> pulumi.Input[builtins.int]:
110
+ """
111
+ Minimum retention duration in days for backups in the backup vault.
112
+ """
113
+ return pulumi.get(self, "backup_minimum_enforced_retention_days")
114
+
115
+ @backup_minimum_enforced_retention_days.setter
116
+ def backup_minimum_enforced_retention_days(self, value: pulumi.Input[builtins.int]):
117
+ pulumi.set(self, "backup_minimum_enforced_retention_days", value)
118
+
119
+ @property
120
+ @pulumi.getter(name="dailyBackupImmutable")
121
+ def daily_backup_immutable(self) -> Optional[pulumi.Input[builtins.bool]]:
122
+ """
123
+ 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.
124
+ """
125
+ return pulumi.get(self, "daily_backup_immutable")
126
+
127
+ @daily_backup_immutable.setter
128
+ def daily_backup_immutable(self, value: Optional[pulumi.Input[builtins.bool]]):
129
+ pulumi.set(self, "daily_backup_immutable", value)
130
+
131
+ @property
132
+ @pulumi.getter(name="manualBackupImmutable")
133
+ def manual_backup_immutable(self) -> Optional[pulumi.Input[builtins.bool]]:
134
+ """
135
+ 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.
136
+ """
137
+ return pulumi.get(self, "manual_backup_immutable")
138
+
139
+ @manual_backup_immutable.setter
140
+ def manual_backup_immutable(self, value: Optional[pulumi.Input[builtins.bool]]):
141
+ pulumi.set(self, "manual_backup_immutable", value)
142
+
143
+ @property
144
+ @pulumi.getter(name="monthlyBackupImmutable")
145
+ def monthly_backup_immutable(self) -> Optional[pulumi.Input[builtins.bool]]:
146
+ """
147
+ 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.
148
+ """
149
+ return pulumi.get(self, "monthly_backup_immutable")
150
+
151
+ @monthly_backup_immutable.setter
152
+ def monthly_backup_immutable(self, value: Optional[pulumi.Input[builtins.bool]]):
153
+ pulumi.set(self, "monthly_backup_immutable", value)
154
+
155
+ @property
156
+ @pulumi.getter(name="weeklyBackupImmutable")
157
+ def weekly_backup_immutable(self) -> Optional[pulumi.Input[builtins.bool]]:
158
+ """
159
+ 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.
160
+ """
161
+ return pulumi.get(self, "weekly_backup_immutable")
162
+
163
+ @weekly_backup_immutable.setter
164
+ def weekly_backup_immutable(self, value: Optional[pulumi.Input[builtins.bool]]):
165
+ pulumi.set(self, "weekly_backup_immutable", value)
166
+
167
+
55
168
  if not MYPY:
56
169
  class VolumeBackupConfigArgsDict(TypedDict):
57
170
  backup_policies: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
@@ -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
 
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "gcp",
4
- "version": "8.33.0-alpha.1749001887"
4
+ "version": "8.34.0-alpha.1749484438"
5
5
  }
@@ -1198,8 +1198,7 @@ if not MYPY:
1198
1198
  class ClusterManagedBackupSourceArgsDict(TypedDict):
1199
1199
  backup: pulumi.Input[builtins.str]
1200
1200
  """
1201
- Example: //redis.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported,
1202
- like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backupId}. In this case, it assumes the backup is under redis.googleapis.com.
1201
+ Example: `projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup}`.
1203
1202
  """
1204
1203
  elif False:
1205
1204
  ClusterManagedBackupSourceArgsDict: TypeAlias = Mapping[str, Any]
@@ -1209,8 +1208,7 @@ class ClusterManagedBackupSourceArgs:
1209
1208
  def __init__(__self__, *,
1210
1209
  backup: pulumi.Input[builtins.str]):
1211
1210
  """
1212
- :param pulumi.Input[builtins.str] backup: Example: //redis.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported,
1213
- like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backupId}. In this case, it assumes the backup is under redis.googleapis.com.
1211
+ :param pulumi.Input[builtins.str] backup: Example: `projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup}`.
1214
1212
  """
1215
1213
  pulumi.set(__self__, "backup", backup)
1216
1214
 
@@ -1218,8 +1216,7 @@ class ClusterManagedBackupSourceArgs:
1218
1216
  @pulumi.getter
1219
1217
  def backup(self) -> pulumi.Input[builtins.str]:
1220
1218
  """
1221
- Example: //redis.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported,
1222
- like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backupId}. In this case, it assumes the backup is under redis.googleapis.com.
1219
+ Example: `projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup}`.
1223
1220
  """
1224
1221
  return pulumi.get(self, "backup")
1225
1222
 
@@ -886,8 +886,7 @@ class ClusterManagedBackupSource(dict):
886
886
  def __init__(__self__, *,
887
887
  backup: builtins.str):
888
888
  """
889
- :param builtins.str backup: Example: //redis.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported,
890
- like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backupId}. In this case, it assumes the backup is under redis.googleapis.com.
889
+ :param builtins.str backup: Example: `projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup}`.
891
890
  """
892
891
  pulumi.set(__self__, "backup", backup)
893
892
 
@@ -895,8 +894,7 @@ class ClusterManagedBackupSource(dict):
895
894
  @pulumi.getter
896
895
  def backup(self) -> builtins.str:
897
896
  """
898
- Example: //redis.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported,
899
- like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backupId}. In this case, it assumes the backup is under redis.googleapis.com.
897
+ Example: `projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup}`.
900
898
  """
901
899
  return pulumi.get(self, "backup")
902
900
 
@@ -356,7 +356,7 @@ class _BucketObjectState:
356
356
  :param pulumi.Input[builtins.int] generation: (Computed) The content generation of this object. Used for object [versioning](https://cloud.google.com/storage/docs/object-versioning) and [soft delete](https://cloud.google.com/storage/docs/soft-delete).
357
357
  :param pulumi.Input[builtins.str] kms_key_name: The resource name of the Cloud KMS key that will be used to [encrypt](https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys) the object.
358
358
  :param pulumi.Input[builtins.str] md5hash: (Computed) Base 64 MD5 hash of the uploaded data.
359
- :param pulumi.Input[builtins.str] md5hexhash: Hex value of md5hash
359
+ :param pulumi.Input[builtins.str] md5hexhash: (Computed) Hex value of md5hash`
360
360
  :param pulumi.Input[builtins.str] media_link: (Computed) A url reference to download this object.
361
361
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] metadata: User-provided metadata, in key/value pairs.
362
362
 
@@ -595,7 +595,7 @@ class _BucketObjectState:
595
595
  @pulumi.getter
596
596
  def md5hexhash(self) -> Optional[pulumi.Input[builtins.str]]:
597
597
  """
598
- Hex value of md5hash
598
+ (Computed) Hex value of md5hash`
599
599
  """
600
600
  return pulumi.get(self, "md5hexhash")
601
601
 
@@ -987,7 +987,7 @@ class BucketObject(pulumi.CustomResource):
987
987
  :param pulumi.Input[builtins.int] generation: (Computed) The content generation of this object. Used for object [versioning](https://cloud.google.com/storage/docs/object-versioning) and [soft delete](https://cloud.google.com/storage/docs/soft-delete).
988
988
  :param pulumi.Input[builtins.str] kms_key_name: The resource name of the Cloud KMS key that will be used to [encrypt](https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys) the object.
989
989
  :param pulumi.Input[builtins.str] md5hash: (Computed) Base 64 MD5 hash of the uploaded data.
990
- :param pulumi.Input[builtins.str] md5hexhash: Hex value of md5hash
990
+ :param pulumi.Input[builtins.str] md5hexhash: (Computed) Hex value of md5hash`
991
991
  :param pulumi.Input[builtins.str] media_link: (Computed) A url reference to download this object.
992
992
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] metadata: User-provided metadata, in key/value pairs.
993
993
 
@@ -1151,7 +1151,7 @@ class BucketObject(pulumi.CustomResource):
1151
1151
  @pulumi.getter
1152
1152
  def md5hexhash(self) -> pulumi.Output[builtins.str]:
1153
1153
  """
1154
- Hex value of md5hash
1154
+ (Computed) Hex value of md5hash`
1155
1155
  """
1156
1156
  return pulumi.get(self, "md5hexhash")
1157
1157
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulumi_gcp
3
- Version: 8.33.0a1749001887
3
+ Version: 8.34.0a1749484438
4
4
  Summary: A Pulumi package for creating and managing Google Cloud Platform resources.
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://pulumi.io