pulumi-gcp 7.7.0a1705990280__py3-none-any.whl → 7.8.0a1706310284__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. pulumi_gcp/__init__.py +56 -0
  2. pulumi_gcp/alloydb/cluster.py +26 -21
  3. pulumi_gcp/bigquery/_inputs.py +231 -0
  4. pulumi_gcp/bigquery/outputs.py +229 -0
  5. pulumi_gcp/bigquery/routine.py +256 -10
  6. pulumi_gcp/bigquery/table.py +47 -0
  7. pulumi_gcp/cloudbuildv2/repository.py +60 -53
  8. pulumi_gcp/cloudrunv2/_inputs.py +176 -4
  9. pulumi_gcp/cloudrunv2/outputs.py +256 -3
  10. pulumi_gcp/cloudrunv2/service.py +148 -0
  11. pulumi_gcp/composer/_inputs.py +24 -0
  12. pulumi_gcp/composer/outputs.py +34 -0
  13. pulumi_gcp/compute/_inputs.py +4 -2
  14. pulumi_gcp/compute/disk.py +14 -14
  15. pulumi_gcp/compute/outputs.py +4 -2
  16. pulumi_gcp/healthcare/fhir_store.py +56 -0
  17. pulumi_gcp/kms/crypto_key.py +2 -2
  18. pulumi_gcp/kms/crypto_key_iam_binding.py +2 -2
  19. pulumi_gcp/kms/crypto_key_iam_member.py +2 -2
  20. pulumi_gcp/kms/crypto_key_iam_policy.py +2 -2
  21. pulumi_gcp/kms/crypto_key_version.py +2 -2
  22. pulumi_gcp/kms/secret_ciphertext.py +2 -2
  23. pulumi_gcp/netapp/__init__.py +4 -0
  24. pulumi_gcp/netapp/_inputs.py +643 -0
  25. pulumi_gcp/netapp/backup_policy.py +829 -0
  26. pulumi_gcp/netapp/kmsconfig.py +2 -2
  27. pulumi_gcp/netapp/outputs.py +651 -0
  28. pulumi_gcp/netapp/volume.py +1467 -0
  29. pulumi_gcp/networksecurity/__init__.py +5 -0
  30. pulumi_gcp/networksecurity/_inputs.py +228 -0
  31. pulumi_gcp/networksecurity/address_group_iam_binding.py +324 -0
  32. pulumi_gcp/networksecurity/address_group_iam_member.py +324 -0
  33. pulumi_gcp/networksecurity/address_group_iam_policy.py +492 -0
  34. pulumi_gcp/networksecurity/get_address_group_iam_policy.py +144 -0
  35. pulumi_gcp/networksecurity/outputs.py +212 -0
  36. pulumi_gcp/networksecurity/security_profile.py +800 -0
  37. pulumi_gcp/networkservices/gateway.py +1 -1
  38. pulumi_gcp/organizations/get_folders.py +1 -1
  39. pulumi_gcp/orgpolicy/_inputs.py +12 -12
  40. pulumi_gcp/orgpolicy/outputs.py +12 -12
  41. pulumi_gcp/securesourcemanager/instance.py +4 -2
  42. pulumi_gcp/storage/insights_report_config.py +12 -10
  43. pulumi_gcp/vertex/__init__.py +1 -0
  44. pulumi_gcp/vertex/ai_feature_group_feature.py +767 -0
  45. pulumi_gcp/workstations/workstation_config.py +47 -0
  46. {pulumi_gcp-7.7.0a1705990280.dist-info → pulumi_gcp-7.8.0a1706310284.dist-info}/METADATA +1 -1
  47. {pulumi_gcp-7.7.0a1705990280.dist-info → pulumi_gcp-7.8.0a1706310284.dist-info}/RECORD +49 -39
  48. {pulumi_gcp-7.7.0a1705990280.dist-info → pulumi_gcp-7.8.0a1706310284.dist-info}/WHEEL +0 -0
  49. {pulumi_gcp-7.7.0a1705990280.dist-info → pulumi_gcp-7.8.0a1706310284.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,643 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+
12
+ __all__ = [
13
+ 'VolumeExportPolicyArgs',
14
+ 'VolumeExportPolicyRuleArgs',
15
+ 'VolumeMountOptionArgs',
16
+ 'VolumeSnapshotPolicyArgs',
17
+ 'VolumeSnapshotPolicyDailyScheduleArgs',
18
+ 'VolumeSnapshotPolicyHourlyScheduleArgs',
19
+ 'VolumeSnapshotPolicyMonthlyScheduleArgs',
20
+ 'VolumeSnapshotPolicyWeeklyScheduleArgs',
21
+ ]
22
+
23
+ @pulumi.input_type
24
+ class VolumeExportPolicyArgs:
25
+ def __init__(__self__, *,
26
+ rules: pulumi.Input[Sequence[pulumi.Input['VolumeExportPolicyRuleArgs']]]):
27
+ """
28
+ :param pulumi.Input[Sequence[pulumi.Input['VolumeExportPolicyRuleArgs']]] rules: Export rules (up to 5) control NFS volume access.
29
+ Structure is documented below.
30
+ """
31
+ pulumi.set(__self__, "rules", rules)
32
+
33
+ @property
34
+ @pulumi.getter
35
+ def rules(self) -> pulumi.Input[Sequence[pulumi.Input['VolumeExportPolicyRuleArgs']]]:
36
+ """
37
+ Export rules (up to 5) control NFS volume access.
38
+ Structure is documented below.
39
+ """
40
+ return pulumi.get(self, "rules")
41
+
42
+ @rules.setter
43
+ def rules(self, value: pulumi.Input[Sequence[pulumi.Input['VolumeExportPolicyRuleArgs']]]):
44
+ pulumi.set(self, "rules", value)
45
+
46
+
47
+ @pulumi.input_type
48
+ class VolumeExportPolicyRuleArgs:
49
+ def __init__(__self__, *,
50
+ access_type: Optional[pulumi.Input[str]] = None,
51
+ allowed_clients: Optional[pulumi.Input[str]] = None,
52
+ has_root_access: Optional[pulumi.Input[str]] = None,
53
+ kerberos5_read_only: Optional[pulumi.Input[bool]] = None,
54
+ kerberos5_read_write: Optional[pulumi.Input[bool]] = None,
55
+ kerberos5i_read_only: Optional[pulumi.Input[bool]] = None,
56
+ kerberos5i_read_write: Optional[pulumi.Input[bool]] = None,
57
+ kerberos5p_read_only: Optional[pulumi.Input[bool]] = None,
58
+ kerberos5p_read_write: Optional[pulumi.Input[bool]] = None,
59
+ nfsv3: Optional[pulumi.Input[bool]] = None,
60
+ nfsv4: Optional[pulumi.Input[bool]] = None):
61
+ """
62
+ :param pulumi.Input[str] access_type: Defines the access type for clients matching the `allowedClients` specification.
63
+ Possible values are: `READ_ONLY`, `READ_WRITE`, `READ_NONE`.
64
+ :param pulumi.Input[str] allowed_clients: Defines the client ingress specification (allowed clients) as a comma seperated list with IPv4 CIDRs or IPv4 host addresses.
65
+ :param pulumi.Input[str] has_root_access: If enabled, the root user (UID = 0) of the specified clients doesn't get mapped to nobody (UID = 65534). This is also known as no_root_squash.
66
+ :param pulumi.Input[bool] kerberos5_read_only: If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'authentication' kerberos security mode.
67
+ :param pulumi.Input[bool] kerberos5_read_write: If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'authentication' kerberos security mode. The 'kerberos5ReadOnly' value is ignored if this is enabled.
68
+ :param pulumi.Input[bool] kerberos5i_read_only: If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'integrity' kerberos security mode.
69
+ :param pulumi.Input[bool] kerberos5i_read_write: If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'integrity' kerberos security mode. The 'kerberos5iReadOnly' value is ignored if this is enabled.
70
+ :param pulumi.Input[bool] kerberos5p_read_only: If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'privacy' kerberos security mode.
71
+ :param pulumi.Input[bool] kerberos5p_read_write: If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'privacy' kerberos security mode. The 'kerberos5pReadOnly' value is ignored if this is enabled.
72
+ :param pulumi.Input[bool] nfsv3: Enable to apply the export rule to NFSV3 clients.
73
+ :param pulumi.Input[bool] nfsv4: Enable to apply the export rule to NFSV4.1 clients.
74
+ """
75
+ if access_type is not None:
76
+ pulumi.set(__self__, "access_type", access_type)
77
+ if allowed_clients is not None:
78
+ pulumi.set(__self__, "allowed_clients", allowed_clients)
79
+ if has_root_access is not None:
80
+ pulumi.set(__self__, "has_root_access", has_root_access)
81
+ if kerberos5_read_only is not None:
82
+ pulumi.set(__self__, "kerberos5_read_only", kerberos5_read_only)
83
+ if kerberos5_read_write is not None:
84
+ pulumi.set(__self__, "kerberos5_read_write", kerberos5_read_write)
85
+ if kerberos5i_read_only is not None:
86
+ pulumi.set(__self__, "kerberos5i_read_only", kerberos5i_read_only)
87
+ if kerberos5i_read_write is not None:
88
+ pulumi.set(__self__, "kerberos5i_read_write", kerberos5i_read_write)
89
+ if kerberos5p_read_only is not None:
90
+ pulumi.set(__self__, "kerberos5p_read_only", kerberos5p_read_only)
91
+ if kerberos5p_read_write is not None:
92
+ pulumi.set(__self__, "kerberos5p_read_write", kerberos5p_read_write)
93
+ if nfsv3 is not None:
94
+ pulumi.set(__self__, "nfsv3", nfsv3)
95
+ if nfsv4 is not None:
96
+ pulumi.set(__self__, "nfsv4", nfsv4)
97
+
98
+ @property
99
+ @pulumi.getter(name="accessType")
100
+ def access_type(self) -> Optional[pulumi.Input[str]]:
101
+ """
102
+ Defines the access type for clients matching the `allowedClients` specification.
103
+ Possible values are: `READ_ONLY`, `READ_WRITE`, `READ_NONE`.
104
+ """
105
+ return pulumi.get(self, "access_type")
106
+
107
+ @access_type.setter
108
+ def access_type(self, value: Optional[pulumi.Input[str]]):
109
+ pulumi.set(self, "access_type", value)
110
+
111
+ @property
112
+ @pulumi.getter(name="allowedClients")
113
+ def allowed_clients(self) -> Optional[pulumi.Input[str]]:
114
+ """
115
+ Defines the client ingress specification (allowed clients) as a comma seperated list with IPv4 CIDRs or IPv4 host addresses.
116
+ """
117
+ return pulumi.get(self, "allowed_clients")
118
+
119
+ @allowed_clients.setter
120
+ def allowed_clients(self, value: Optional[pulumi.Input[str]]):
121
+ pulumi.set(self, "allowed_clients", value)
122
+
123
+ @property
124
+ @pulumi.getter(name="hasRootAccess")
125
+ def has_root_access(self) -> Optional[pulumi.Input[str]]:
126
+ """
127
+ If enabled, the root user (UID = 0) of the specified clients doesn't get mapped to nobody (UID = 65534). This is also known as no_root_squash.
128
+ """
129
+ return pulumi.get(self, "has_root_access")
130
+
131
+ @has_root_access.setter
132
+ def has_root_access(self, value: Optional[pulumi.Input[str]]):
133
+ pulumi.set(self, "has_root_access", value)
134
+
135
+ @property
136
+ @pulumi.getter(name="kerberos5ReadOnly")
137
+ def kerberos5_read_only(self) -> Optional[pulumi.Input[bool]]:
138
+ """
139
+ If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'authentication' kerberos security mode.
140
+ """
141
+ return pulumi.get(self, "kerberos5_read_only")
142
+
143
+ @kerberos5_read_only.setter
144
+ def kerberos5_read_only(self, value: Optional[pulumi.Input[bool]]):
145
+ pulumi.set(self, "kerberos5_read_only", value)
146
+
147
+ @property
148
+ @pulumi.getter(name="kerberos5ReadWrite")
149
+ def kerberos5_read_write(self) -> Optional[pulumi.Input[bool]]:
150
+ """
151
+ If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'authentication' kerberos security mode. The 'kerberos5ReadOnly' value is ignored if this is enabled.
152
+ """
153
+ return pulumi.get(self, "kerberos5_read_write")
154
+
155
+ @kerberos5_read_write.setter
156
+ def kerberos5_read_write(self, value: Optional[pulumi.Input[bool]]):
157
+ pulumi.set(self, "kerberos5_read_write", value)
158
+
159
+ @property
160
+ @pulumi.getter(name="kerberos5iReadOnly")
161
+ def kerberos5i_read_only(self) -> Optional[pulumi.Input[bool]]:
162
+ """
163
+ If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'integrity' kerberos security mode.
164
+ """
165
+ return pulumi.get(self, "kerberos5i_read_only")
166
+
167
+ @kerberos5i_read_only.setter
168
+ def kerberos5i_read_only(self, value: Optional[pulumi.Input[bool]]):
169
+ pulumi.set(self, "kerberos5i_read_only", value)
170
+
171
+ @property
172
+ @pulumi.getter(name="kerberos5iReadWrite")
173
+ def kerberos5i_read_write(self) -> Optional[pulumi.Input[bool]]:
174
+ """
175
+ If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'integrity' kerberos security mode. The 'kerberos5iReadOnly' value is ignored if this is enabled.
176
+ """
177
+ return pulumi.get(self, "kerberos5i_read_write")
178
+
179
+ @kerberos5i_read_write.setter
180
+ def kerberos5i_read_write(self, value: Optional[pulumi.Input[bool]]):
181
+ pulumi.set(self, "kerberos5i_read_write", value)
182
+
183
+ @property
184
+ @pulumi.getter(name="kerberos5pReadOnly")
185
+ def kerberos5p_read_only(self) -> Optional[pulumi.Input[bool]]:
186
+ """
187
+ If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'privacy' kerberos security mode.
188
+ """
189
+ return pulumi.get(self, "kerberos5p_read_only")
190
+
191
+ @kerberos5p_read_only.setter
192
+ def kerberos5p_read_only(self, value: Optional[pulumi.Input[bool]]):
193
+ pulumi.set(self, "kerberos5p_read_only", value)
194
+
195
+ @property
196
+ @pulumi.getter(name="kerberos5pReadWrite")
197
+ def kerberos5p_read_write(self) -> Optional[pulumi.Input[bool]]:
198
+ """
199
+ If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'privacy' kerberos security mode. The 'kerberos5pReadOnly' value is ignored if this is enabled.
200
+ """
201
+ return pulumi.get(self, "kerberos5p_read_write")
202
+
203
+ @kerberos5p_read_write.setter
204
+ def kerberos5p_read_write(self, value: Optional[pulumi.Input[bool]]):
205
+ pulumi.set(self, "kerberos5p_read_write", value)
206
+
207
+ @property
208
+ @pulumi.getter
209
+ def nfsv3(self) -> Optional[pulumi.Input[bool]]:
210
+ """
211
+ Enable to apply the export rule to NFSV3 clients.
212
+ """
213
+ return pulumi.get(self, "nfsv3")
214
+
215
+ @nfsv3.setter
216
+ def nfsv3(self, value: Optional[pulumi.Input[bool]]):
217
+ pulumi.set(self, "nfsv3", value)
218
+
219
+ @property
220
+ @pulumi.getter
221
+ def nfsv4(self) -> Optional[pulumi.Input[bool]]:
222
+ """
223
+ Enable to apply the export rule to NFSV4.1 clients.
224
+ """
225
+ return pulumi.get(self, "nfsv4")
226
+
227
+ @nfsv4.setter
228
+ def nfsv4(self, value: Optional[pulumi.Input[bool]]):
229
+ pulumi.set(self, "nfsv4", value)
230
+
231
+
232
+ @pulumi.input_type
233
+ class VolumeMountOptionArgs:
234
+ def __init__(__self__, *,
235
+ export: Optional[pulumi.Input[str]] = None,
236
+ export_full: Optional[pulumi.Input[str]] = None,
237
+ instructions: Optional[pulumi.Input[str]] = None,
238
+ protocol: Optional[pulumi.Input[str]] = None):
239
+ """
240
+ :param pulumi.Input[str] export: (Output)
241
+ Export path of the volume.
242
+ :param pulumi.Input[str] export_full: (Output)
243
+ Full export path of the volume.
244
+ Format for NFS volumes: `<export_ip>:/<shareName>`
245
+ Format for SMB volumes: `\\\\\\\\netbios_prefix-four_random_hex_letters.domain_name\\\\shareName`
246
+ :param pulumi.Input[str] instructions: (Output)
247
+ Human-readable mount instructions.
248
+ :param pulumi.Input[str] protocol: (Output)
249
+ Protocol to mount with.
250
+ """
251
+ if export is not None:
252
+ pulumi.set(__self__, "export", export)
253
+ if export_full is not None:
254
+ pulumi.set(__self__, "export_full", export_full)
255
+ if instructions is not None:
256
+ pulumi.set(__self__, "instructions", instructions)
257
+ if protocol is not None:
258
+ pulumi.set(__self__, "protocol", protocol)
259
+
260
+ @property
261
+ @pulumi.getter
262
+ def export(self) -> Optional[pulumi.Input[str]]:
263
+ """
264
+ (Output)
265
+ Export path of the volume.
266
+ """
267
+ return pulumi.get(self, "export")
268
+
269
+ @export.setter
270
+ def export(self, value: Optional[pulumi.Input[str]]):
271
+ pulumi.set(self, "export", value)
272
+
273
+ @property
274
+ @pulumi.getter(name="exportFull")
275
+ def export_full(self) -> Optional[pulumi.Input[str]]:
276
+ """
277
+ (Output)
278
+ Full export path of the volume.
279
+ Format for NFS volumes: `<export_ip>:/<shareName>`
280
+ Format for SMB volumes: `\\\\\\\\netbios_prefix-four_random_hex_letters.domain_name\\\\shareName`
281
+ """
282
+ return pulumi.get(self, "export_full")
283
+
284
+ @export_full.setter
285
+ def export_full(self, value: Optional[pulumi.Input[str]]):
286
+ pulumi.set(self, "export_full", value)
287
+
288
+ @property
289
+ @pulumi.getter
290
+ def instructions(self) -> Optional[pulumi.Input[str]]:
291
+ """
292
+ (Output)
293
+ Human-readable mount instructions.
294
+ """
295
+ return pulumi.get(self, "instructions")
296
+
297
+ @instructions.setter
298
+ def instructions(self, value: Optional[pulumi.Input[str]]):
299
+ pulumi.set(self, "instructions", value)
300
+
301
+ @property
302
+ @pulumi.getter
303
+ def protocol(self) -> Optional[pulumi.Input[str]]:
304
+ """
305
+ (Output)
306
+ Protocol to mount with.
307
+ """
308
+ return pulumi.get(self, "protocol")
309
+
310
+ @protocol.setter
311
+ def protocol(self, value: Optional[pulumi.Input[str]]):
312
+ pulumi.set(self, "protocol", value)
313
+
314
+
315
+ @pulumi.input_type
316
+ class VolumeSnapshotPolicyArgs:
317
+ def __init__(__self__, *,
318
+ daily_schedule: Optional[pulumi.Input['VolumeSnapshotPolicyDailyScheduleArgs']] = None,
319
+ enabled: Optional[pulumi.Input[bool]] = None,
320
+ hourly_schedule: Optional[pulumi.Input['VolumeSnapshotPolicyHourlyScheduleArgs']] = None,
321
+ monthly_schedule: Optional[pulumi.Input['VolumeSnapshotPolicyMonthlyScheduleArgs']] = None,
322
+ weekly_schedule: Optional[pulumi.Input['VolumeSnapshotPolicyWeeklyScheduleArgs']] = None):
323
+ """
324
+ :param pulumi.Input['VolumeSnapshotPolicyDailyScheduleArgs'] daily_schedule: Daily schedule policy.
325
+ Structure is documented below.
326
+ :param pulumi.Input[bool] enabled: Enables automated snapshot creation according to defined schedule. Default is false.
327
+ To disable automatic snapshot creation you have to remove the whole snapshot_policy block.
328
+ :param pulumi.Input['VolumeSnapshotPolicyHourlyScheduleArgs'] hourly_schedule: Hourly schedule policy.
329
+ Structure is documented below.
330
+ :param pulumi.Input['VolumeSnapshotPolicyMonthlyScheduleArgs'] monthly_schedule: Monthly schedule policy.
331
+ Structure is documented below.
332
+ :param pulumi.Input['VolumeSnapshotPolicyWeeklyScheduleArgs'] weekly_schedule: Weekly schedule policy.
333
+ Structure is documented below.
334
+ """
335
+ if daily_schedule is not None:
336
+ pulumi.set(__self__, "daily_schedule", daily_schedule)
337
+ if enabled is not None:
338
+ pulumi.set(__self__, "enabled", enabled)
339
+ if hourly_schedule is not None:
340
+ pulumi.set(__self__, "hourly_schedule", hourly_schedule)
341
+ if monthly_schedule is not None:
342
+ pulumi.set(__self__, "monthly_schedule", monthly_schedule)
343
+ if weekly_schedule is not None:
344
+ pulumi.set(__self__, "weekly_schedule", weekly_schedule)
345
+
346
+ @property
347
+ @pulumi.getter(name="dailySchedule")
348
+ def daily_schedule(self) -> Optional[pulumi.Input['VolumeSnapshotPolicyDailyScheduleArgs']]:
349
+ """
350
+ Daily schedule policy.
351
+ Structure is documented below.
352
+ """
353
+ return pulumi.get(self, "daily_schedule")
354
+
355
+ @daily_schedule.setter
356
+ def daily_schedule(self, value: Optional[pulumi.Input['VolumeSnapshotPolicyDailyScheduleArgs']]):
357
+ pulumi.set(self, "daily_schedule", value)
358
+
359
+ @property
360
+ @pulumi.getter
361
+ def enabled(self) -> Optional[pulumi.Input[bool]]:
362
+ """
363
+ Enables automated snapshot creation according to defined schedule. Default is false.
364
+ To disable automatic snapshot creation you have to remove the whole snapshot_policy block.
365
+ """
366
+ return pulumi.get(self, "enabled")
367
+
368
+ @enabled.setter
369
+ def enabled(self, value: Optional[pulumi.Input[bool]]):
370
+ pulumi.set(self, "enabled", value)
371
+
372
+ @property
373
+ @pulumi.getter(name="hourlySchedule")
374
+ def hourly_schedule(self) -> Optional[pulumi.Input['VolumeSnapshotPolicyHourlyScheduleArgs']]:
375
+ """
376
+ Hourly schedule policy.
377
+ Structure is documented below.
378
+ """
379
+ return pulumi.get(self, "hourly_schedule")
380
+
381
+ @hourly_schedule.setter
382
+ def hourly_schedule(self, value: Optional[pulumi.Input['VolumeSnapshotPolicyHourlyScheduleArgs']]):
383
+ pulumi.set(self, "hourly_schedule", value)
384
+
385
+ @property
386
+ @pulumi.getter(name="monthlySchedule")
387
+ def monthly_schedule(self) -> Optional[pulumi.Input['VolumeSnapshotPolicyMonthlyScheduleArgs']]:
388
+ """
389
+ Monthly schedule policy.
390
+ Structure is documented below.
391
+ """
392
+ return pulumi.get(self, "monthly_schedule")
393
+
394
+ @monthly_schedule.setter
395
+ def monthly_schedule(self, value: Optional[pulumi.Input['VolumeSnapshotPolicyMonthlyScheduleArgs']]):
396
+ pulumi.set(self, "monthly_schedule", value)
397
+
398
+ @property
399
+ @pulumi.getter(name="weeklySchedule")
400
+ def weekly_schedule(self) -> Optional[pulumi.Input['VolumeSnapshotPolicyWeeklyScheduleArgs']]:
401
+ """
402
+ Weekly schedule policy.
403
+ Structure is documented below.
404
+ """
405
+ return pulumi.get(self, "weekly_schedule")
406
+
407
+ @weekly_schedule.setter
408
+ def weekly_schedule(self, value: Optional[pulumi.Input['VolumeSnapshotPolicyWeeklyScheduleArgs']]):
409
+ pulumi.set(self, "weekly_schedule", value)
410
+
411
+
412
+ @pulumi.input_type
413
+ class VolumeSnapshotPolicyDailyScheduleArgs:
414
+ def __init__(__self__, *,
415
+ snapshots_to_keep: pulumi.Input[int],
416
+ hour: Optional[pulumi.Input[int]] = None,
417
+ minute: Optional[pulumi.Input[int]] = None):
418
+ """
419
+ :param pulumi.Input[int] snapshots_to_keep: The maximum number of snapshots to keep for the daily schedule.
420
+ :param pulumi.Input[int] hour: Set the hour to create the snapshot (0-23), defaults to midnight (0).
421
+ :param pulumi.Input[int] minute: Set the minute of the hour to create the snapshot (0-59), defaults to the top of the hour (0).
422
+ """
423
+ pulumi.set(__self__, "snapshots_to_keep", snapshots_to_keep)
424
+ if hour is not None:
425
+ pulumi.set(__self__, "hour", hour)
426
+ if minute is not None:
427
+ pulumi.set(__self__, "minute", minute)
428
+
429
+ @property
430
+ @pulumi.getter(name="snapshotsToKeep")
431
+ def snapshots_to_keep(self) -> pulumi.Input[int]:
432
+ """
433
+ The maximum number of snapshots to keep for the daily schedule.
434
+ """
435
+ return pulumi.get(self, "snapshots_to_keep")
436
+
437
+ @snapshots_to_keep.setter
438
+ def snapshots_to_keep(self, value: pulumi.Input[int]):
439
+ pulumi.set(self, "snapshots_to_keep", value)
440
+
441
+ @property
442
+ @pulumi.getter
443
+ def hour(self) -> Optional[pulumi.Input[int]]:
444
+ """
445
+ Set the hour to create the snapshot (0-23), defaults to midnight (0).
446
+ """
447
+ return pulumi.get(self, "hour")
448
+
449
+ @hour.setter
450
+ def hour(self, value: Optional[pulumi.Input[int]]):
451
+ pulumi.set(self, "hour", value)
452
+
453
+ @property
454
+ @pulumi.getter
455
+ def minute(self) -> Optional[pulumi.Input[int]]:
456
+ """
457
+ Set the minute of the hour to create the snapshot (0-59), defaults to the top of the hour (0).
458
+ """
459
+ return pulumi.get(self, "minute")
460
+
461
+ @minute.setter
462
+ def minute(self, value: Optional[pulumi.Input[int]]):
463
+ pulumi.set(self, "minute", value)
464
+
465
+
466
+ @pulumi.input_type
467
+ class VolumeSnapshotPolicyHourlyScheduleArgs:
468
+ def __init__(__self__, *,
469
+ snapshots_to_keep: pulumi.Input[int],
470
+ minute: Optional[pulumi.Input[int]] = None):
471
+ """
472
+ :param pulumi.Input[int] snapshots_to_keep: The maximum number of snapshots to keep for the hourly schedule.
473
+ :param pulumi.Input[int] minute: Set the minute of the hour to create the snapshot (0-59), defaults to the top of the hour (0).
474
+ """
475
+ pulumi.set(__self__, "snapshots_to_keep", snapshots_to_keep)
476
+ if minute is not None:
477
+ pulumi.set(__self__, "minute", minute)
478
+
479
+ @property
480
+ @pulumi.getter(name="snapshotsToKeep")
481
+ def snapshots_to_keep(self) -> pulumi.Input[int]:
482
+ """
483
+ The maximum number of snapshots to keep for the hourly schedule.
484
+ """
485
+ return pulumi.get(self, "snapshots_to_keep")
486
+
487
+ @snapshots_to_keep.setter
488
+ def snapshots_to_keep(self, value: pulumi.Input[int]):
489
+ pulumi.set(self, "snapshots_to_keep", value)
490
+
491
+ @property
492
+ @pulumi.getter
493
+ def minute(self) -> Optional[pulumi.Input[int]]:
494
+ """
495
+ Set the minute of the hour to create the snapshot (0-59), defaults to the top of the hour (0).
496
+ """
497
+ return pulumi.get(self, "minute")
498
+
499
+ @minute.setter
500
+ def minute(self, value: Optional[pulumi.Input[int]]):
501
+ pulumi.set(self, "minute", value)
502
+
503
+
504
+ @pulumi.input_type
505
+ class VolumeSnapshotPolicyMonthlyScheduleArgs:
506
+ def __init__(__self__, *,
507
+ snapshots_to_keep: pulumi.Input[int],
508
+ days_of_month: Optional[pulumi.Input[str]] = None,
509
+ hour: Optional[pulumi.Input[int]] = None,
510
+ minute: Optional[pulumi.Input[int]] = None):
511
+ """
512
+ :param pulumi.Input[int] snapshots_to_keep: The maximum number of snapshots to keep for the monthly schedule
513
+ :param pulumi.Input[str] days_of_month: Set the day or days of the month to make a snapshot (1-31). Accepts a comma separated number of days. Defaults to '1'.
514
+ :param pulumi.Input[int] hour: Set the hour to create the snapshot (0-23), defaults to midnight (0).
515
+ :param pulumi.Input[int] minute: Set the minute of the hour to create the snapshot (0-59), defaults to the top of the hour (0).
516
+ """
517
+ pulumi.set(__self__, "snapshots_to_keep", snapshots_to_keep)
518
+ if days_of_month is not None:
519
+ pulumi.set(__self__, "days_of_month", days_of_month)
520
+ if hour is not None:
521
+ pulumi.set(__self__, "hour", hour)
522
+ if minute is not None:
523
+ pulumi.set(__self__, "minute", minute)
524
+
525
+ @property
526
+ @pulumi.getter(name="snapshotsToKeep")
527
+ def snapshots_to_keep(self) -> pulumi.Input[int]:
528
+ """
529
+ The maximum number of snapshots to keep for the monthly schedule
530
+ """
531
+ return pulumi.get(self, "snapshots_to_keep")
532
+
533
+ @snapshots_to_keep.setter
534
+ def snapshots_to_keep(self, value: pulumi.Input[int]):
535
+ pulumi.set(self, "snapshots_to_keep", value)
536
+
537
+ @property
538
+ @pulumi.getter(name="daysOfMonth")
539
+ def days_of_month(self) -> Optional[pulumi.Input[str]]:
540
+ """
541
+ Set the day or days of the month to make a snapshot (1-31). Accepts a comma separated number of days. Defaults to '1'.
542
+ """
543
+ return pulumi.get(self, "days_of_month")
544
+
545
+ @days_of_month.setter
546
+ def days_of_month(self, value: Optional[pulumi.Input[str]]):
547
+ pulumi.set(self, "days_of_month", value)
548
+
549
+ @property
550
+ @pulumi.getter
551
+ def hour(self) -> Optional[pulumi.Input[int]]:
552
+ """
553
+ Set the hour to create the snapshot (0-23), defaults to midnight (0).
554
+ """
555
+ return pulumi.get(self, "hour")
556
+
557
+ @hour.setter
558
+ def hour(self, value: Optional[pulumi.Input[int]]):
559
+ pulumi.set(self, "hour", value)
560
+
561
+ @property
562
+ @pulumi.getter
563
+ def minute(self) -> Optional[pulumi.Input[int]]:
564
+ """
565
+ Set the minute of the hour to create the snapshot (0-59), defaults to the top of the hour (0).
566
+ """
567
+ return pulumi.get(self, "minute")
568
+
569
+ @minute.setter
570
+ def minute(self, value: Optional[pulumi.Input[int]]):
571
+ pulumi.set(self, "minute", value)
572
+
573
+
574
+ @pulumi.input_type
575
+ class VolumeSnapshotPolicyWeeklyScheduleArgs:
576
+ def __init__(__self__, *,
577
+ snapshots_to_keep: pulumi.Input[int],
578
+ day: Optional[pulumi.Input[str]] = None,
579
+ hour: Optional[pulumi.Input[int]] = None,
580
+ minute: Optional[pulumi.Input[int]] = None):
581
+ """
582
+ :param pulumi.Input[int] snapshots_to_keep: The maximum number of snapshots to keep for the weekly schedule.
583
+ :param pulumi.Input[str] day: Set the day or days of the week to make a snapshot. Accepts a comma separated days of the week. Defaults to 'Sunday'.
584
+ :param pulumi.Input[int] hour: Set the hour to create the snapshot (0-23), defaults to midnight (0).
585
+ :param pulumi.Input[int] minute: Set the minute of the hour to create the snapshot (0-59), defaults to the top of the hour (0).
586
+ """
587
+ pulumi.set(__self__, "snapshots_to_keep", snapshots_to_keep)
588
+ if day is not None:
589
+ pulumi.set(__self__, "day", day)
590
+ if hour is not None:
591
+ pulumi.set(__self__, "hour", hour)
592
+ if minute is not None:
593
+ pulumi.set(__self__, "minute", minute)
594
+
595
+ @property
596
+ @pulumi.getter(name="snapshotsToKeep")
597
+ def snapshots_to_keep(self) -> pulumi.Input[int]:
598
+ """
599
+ The maximum number of snapshots to keep for the weekly schedule.
600
+ """
601
+ return pulumi.get(self, "snapshots_to_keep")
602
+
603
+ @snapshots_to_keep.setter
604
+ def snapshots_to_keep(self, value: pulumi.Input[int]):
605
+ pulumi.set(self, "snapshots_to_keep", value)
606
+
607
+ @property
608
+ @pulumi.getter
609
+ def day(self) -> Optional[pulumi.Input[str]]:
610
+ """
611
+ Set the day or days of the week to make a snapshot. Accepts a comma separated days of the week. Defaults to 'Sunday'.
612
+ """
613
+ return pulumi.get(self, "day")
614
+
615
+ @day.setter
616
+ def day(self, value: Optional[pulumi.Input[str]]):
617
+ pulumi.set(self, "day", value)
618
+
619
+ @property
620
+ @pulumi.getter
621
+ def hour(self) -> Optional[pulumi.Input[int]]:
622
+ """
623
+ Set the hour to create the snapshot (0-23), defaults to midnight (0).
624
+ """
625
+ return pulumi.get(self, "hour")
626
+
627
+ @hour.setter
628
+ def hour(self, value: Optional[pulumi.Input[int]]):
629
+ pulumi.set(self, "hour", value)
630
+
631
+ @property
632
+ @pulumi.getter
633
+ def minute(self) -> Optional[pulumi.Input[int]]:
634
+ """
635
+ Set the minute of the hour to create the snapshot (0-59), defaults to the top of the hour (0).
636
+ """
637
+ return pulumi.get(self, "minute")
638
+
639
+ @minute.setter
640
+ def minute(self, value: Optional[pulumi.Input[int]]):
641
+ pulumi.set(self, "minute", value)
642
+
643
+