pulumi-gcp 8.23.0a1742538920__py3-none-any.whl → 8.24.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 (106) hide show
  1. pulumi_gcp/__init__.py +59 -0
  2. pulumi_gcp/alloydb/_inputs.py +27 -1
  3. pulumi_gcp/alloydb/outputs.py +33 -2
  4. pulumi_gcp/applicationintegration/client.py +18 -24
  5. pulumi_gcp/bigquery/_inputs.py +178 -0
  6. pulumi_gcp/bigquery/outputs.py +127 -0
  7. pulumi_gcp/bigquery/reservation.py +189 -1
  8. pulumi_gcp/bigquery/table.py +61 -0
  9. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +11 -7
  10. pulumi_gcp/bigtable/table.py +7 -7
  11. pulumi_gcp/chronicle/data_access_label.py +16 -0
  12. pulumi_gcp/clouddeploy/_inputs.py +20 -0
  13. pulumi_gcp/clouddeploy/outputs.py +15 -1
  14. pulumi_gcp/cloudfunctions/function.py +11 -11
  15. pulumi_gcp/cloudfunctionsv2/function.py +24 -24
  16. pulumi_gcp/cloudidentity/get_group_transitive_memberships.py +41 -2
  17. pulumi_gcp/cloudidentity/outputs.py +18 -38
  18. pulumi_gcp/cloudrunv2/service.py +14 -14
  19. pulumi_gcp/compute/__init__.py +1 -0
  20. pulumi_gcp/compute/_inputs.py +616 -18
  21. pulumi_gcp/compute/firewall_policy.py +20 -0
  22. pulumi_gcp/compute/get_images.py +172 -0
  23. pulumi_gcp/compute/get_resource_policy.py +15 -4
  24. pulumi_gcp/compute/image.py +54 -0
  25. pulumi_gcp/compute/interconnect.py +14 -7
  26. pulumi_gcp/compute/outputs.py +710 -18
  27. pulumi_gcp/compute/region_network_endpoint_group.py +2 -2
  28. pulumi_gcp/compute/resource_policy.py +169 -3
  29. pulumi_gcp/compute/router_route_policy.py +16 -0
  30. pulumi_gcp/compute/subnetwork.py +109 -1
  31. pulumi_gcp/compute/target_https_proxy.py +7 -7
  32. pulumi_gcp/config/__init__.pyi +8 -0
  33. pulumi_gcp/config/vars.py +16 -0
  34. pulumi_gcp/container/_inputs.py +265 -4
  35. pulumi_gcp/container/cluster.py +54 -0
  36. pulumi_gcp/container/get_attached_versions.py +2 -2
  37. pulumi_gcp/container/get_cluster.py +12 -1
  38. pulumi_gcp/container/outputs.py +301 -6
  39. pulumi_gcp/dataform/repository.py +49 -0
  40. pulumi_gcp/dataproc/_inputs.py +23 -0
  41. pulumi_gcp/dataproc/get_metastore_service.py +26 -4
  42. pulumi_gcp/dataproc/metastore_federation.py +56 -0
  43. pulumi_gcp/dataproc/metastore_service.py +58 -2
  44. pulumi_gcp/dataproc/outputs.py +27 -0
  45. pulumi_gcp/eventarc/__init__.py +1 -0
  46. pulumi_gcp/eventarc/_inputs.py +1758 -0
  47. pulumi_gcp/eventarc/outputs.py +1337 -0
  48. pulumi_gcp/eventarc/pipeline.py +1596 -0
  49. pulumi_gcp/firebase/__init__.py +1 -0
  50. pulumi_gcp/firebase/_inputs.py +154 -0
  51. pulumi_gcp/firebase/app_hosting_backend.py +1303 -0
  52. pulumi_gcp/firebase/hosting_version.py +2 -2
  53. pulumi_gcp/firebase/outputs.py +127 -0
  54. pulumi_gcp/kms/get_key_rings.py +39 -2
  55. pulumi_gcp/lustre/__init__.py +8 -0
  56. pulumi_gcp/lustre/instance.py +983 -0
  57. pulumi_gcp/managedkafka/__init__.py +2 -0
  58. pulumi_gcp/managedkafka/_inputs.py +263 -0
  59. pulumi_gcp/managedkafka/connect_cluster.py +795 -0
  60. pulumi_gcp/managedkafka/connector.py +695 -0
  61. pulumi_gcp/managedkafka/outputs.py +248 -0
  62. pulumi_gcp/memorystore/_inputs.py +419 -0
  63. pulumi_gcp/memorystore/get_instance.py +23 -1
  64. pulumi_gcp/memorystore/instance.py +144 -14
  65. pulumi_gcp/memorystore/outputs.py +544 -0
  66. pulumi_gcp/monitoring/uptime_check_config.py +2 -2
  67. pulumi_gcp/networkmanagement/_inputs.py +422 -91
  68. pulumi_gcp/networkmanagement/connectivity_test.py +233 -211
  69. pulumi_gcp/networkmanagement/outputs.py +280 -61
  70. pulumi_gcp/networksecurity/_inputs.py +1277 -242
  71. pulumi_gcp/networksecurity/gateway_security_policy.py +0 -7
  72. pulumi_gcp/networksecurity/intercept_deployment_group.py +44 -16
  73. pulumi_gcp/networksecurity/intercept_endpoint_group.py +90 -36
  74. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +53 -8
  75. pulumi_gcp/networksecurity/mirroring_deployment.py +22 -0
  76. pulumi_gcp/networksecurity/mirroring_deployment_group.py +20 -0
  77. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +24 -0
  78. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +28 -0
  79. pulumi_gcp/networksecurity/outputs.py +723 -8
  80. pulumi_gcp/networksecurity/tls_inspection_policy.py +14 -0
  81. pulumi_gcp/networkservices/gateway.py +242 -120
  82. pulumi_gcp/organizations/__init__.py +1 -0
  83. pulumi_gcp/organizations/get_iam_custom_role.py +198 -0
  84. pulumi_gcp/osconfig/__init__.py +1 -0
  85. pulumi_gcp/osconfig/_inputs.py +5413 -0
  86. pulumi_gcp/osconfig/outputs.py +3962 -0
  87. pulumi_gcp/osconfig/v2_policy_orchestrator.py +971 -0
  88. pulumi_gcp/projects/__init__.py +2 -0
  89. pulumi_gcp/projects/get_iam_custom_role.py +198 -0
  90. pulumi_gcp/projects/get_iam_custom_roles.py +164 -0
  91. pulumi_gcp/projects/outputs.py +96 -0
  92. pulumi_gcp/provider.py +80 -0
  93. pulumi_gcp/pulumi-plugin.json +1 -1
  94. pulumi_gcp/servicenetworking/peered_dns_domain.py +4 -0
  95. pulumi_gcp/sql/outputs.py +8 -8
  96. pulumi_gcp/storage/__init__.py +2 -0
  97. pulumi_gcp/storage/_inputs.py +740 -6
  98. pulumi_gcp/storage/control_project_intelligence_config.py +366 -0
  99. pulumi_gcp/storage/get_control_project_intelligence_config.py +130 -0
  100. pulumi_gcp/storage/insights_report_config.py +121 -20
  101. pulumi_gcp/storage/outputs.py +723 -4
  102. pulumi_gcp/workflows/workflow.py +75 -7
  103. {pulumi_gcp-8.23.0a1742538920.dist-info → pulumi_gcp-8.24.0.dist-info}/METADATA +1 -1
  104. {pulumi_gcp-8.23.0a1742538920.dist-info → pulumi_gcp-8.24.0.dist-info}/RECORD +106 -93
  105. {pulumi_gcp-8.23.0a1742538920.dist-info → pulumi_gcp-8.24.0.dist-info}/WHEEL +1 -1
  106. {pulumi_gcp-8.23.0a1742538920.dist-info → pulumi_gcp-8.24.0.dist-info}/top_level.txt +0 -0
@@ -21,6 +21,11 @@ __all__ = [
21
21
  'ClusterGcpConfigAccessConfig',
22
22
  'ClusterGcpConfigAccessConfigNetworkConfig',
23
23
  'ClusterRebalanceConfig',
24
+ 'ConnectClusterCapacityConfig',
25
+ 'ConnectClusterGcpConfig',
26
+ 'ConnectClusterGcpConfigAccessConfig',
27
+ 'ConnectClusterGcpConfigAccessConfigNetworkConfig',
28
+ 'ConnectorTaskRestartPolicy',
24
29
  ]
25
30
 
26
31
  @pulumi.output_type
@@ -200,3 +205,246 @@ class ClusterRebalanceConfig(dict):
200
205
  return pulumi.get(self, "mode")
201
206
 
202
207
 
208
+ @pulumi.output_type
209
+ class ConnectClusterCapacityConfig(dict):
210
+ @staticmethod
211
+ def __key_warning(key: str):
212
+ suggest = None
213
+ if key == "memoryBytes":
214
+ suggest = "memory_bytes"
215
+ elif key == "vcpuCount":
216
+ suggest = "vcpu_count"
217
+
218
+ if suggest:
219
+ pulumi.log.warn(f"Key '{key}' not found in ConnectClusterCapacityConfig. Access the value via the '{suggest}' property getter instead.")
220
+
221
+ def __getitem__(self, key: str) -> Any:
222
+ ConnectClusterCapacityConfig.__key_warning(key)
223
+ return super().__getitem__(key)
224
+
225
+ def get(self, key: str, default = None) -> Any:
226
+ ConnectClusterCapacityConfig.__key_warning(key)
227
+ return super().get(key, default)
228
+
229
+ def __init__(__self__, *,
230
+ memory_bytes: str,
231
+ vcpu_count: str):
232
+ """
233
+ :param str memory_bytes: The memory to provision for the cluster in bytes. The CPU:memory ratio (vCPU:GiB) must be between 1:1 and 1:8. Minimum: 3221225472 (3 GiB).
234
+ :param str vcpu_count: The number of vCPUs to provision for the cluster. The minimum is 3.
235
+ """
236
+ pulumi.set(__self__, "memory_bytes", memory_bytes)
237
+ pulumi.set(__self__, "vcpu_count", vcpu_count)
238
+
239
+ @property
240
+ @pulumi.getter(name="memoryBytes")
241
+ def memory_bytes(self) -> str:
242
+ """
243
+ The memory to provision for the cluster in bytes. The CPU:memory ratio (vCPU:GiB) must be between 1:1 and 1:8. Minimum: 3221225472 (3 GiB).
244
+ """
245
+ return pulumi.get(self, "memory_bytes")
246
+
247
+ @property
248
+ @pulumi.getter(name="vcpuCount")
249
+ def vcpu_count(self) -> str:
250
+ """
251
+ The number of vCPUs to provision for the cluster. The minimum is 3.
252
+ """
253
+ return pulumi.get(self, "vcpu_count")
254
+
255
+
256
+ @pulumi.output_type
257
+ class ConnectClusterGcpConfig(dict):
258
+ @staticmethod
259
+ def __key_warning(key: str):
260
+ suggest = None
261
+ if key == "accessConfig":
262
+ suggest = "access_config"
263
+
264
+ if suggest:
265
+ pulumi.log.warn(f"Key '{key}' not found in ConnectClusterGcpConfig. Access the value via the '{suggest}' property getter instead.")
266
+
267
+ def __getitem__(self, key: str) -> Any:
268
+ ConnectClusterGcpConfig.__key_warning(key)
269
+ return super().__getitem__(key)
270
+
271
+ def get(self, key: str, default = None) -> Any:
272
+ ConnectClusterGcpConfig.__key_warning(key)
273
+ return super().get(key, default)
274
+
275
+ def __init__(__self__, *,
276
+ access_config: 'outputs.ConnectClusterGcpConfigAccessConfig'):
277
+ """
278
+ :param 'ConnectClusterGcpConfigAccessConfigArgs' access_config: The configuration of access to the Kafka Connect cluster.
279
+ Structure is documented below.
280
+ """
281
+ pulumi.set(__self__, "access_config", access_config)
282
+
283
+ @property
284
+ @pulumi.getter(name="accessConfig")
285
+ def access_config(self) -> 'outputs.ConnectClusterGcpConfigAccessConfig':
286
+ """
287
+ The configuration of access to the Kafka Connect cluster.
288
+ Structure is documented below.
289
+ """
290
+ return pulumi.get(self, "access_config")
291
+
292
+
293
+ @pulumi.output_type
294
+ class ConnectClusterGcpConfigAccessConfig(dict):
295
+ @staticmethod
296
+ def __key_warning(key: str):
297
+ suggest = None
298
+ if key == "networkConfigs":
299
+ suggest = "network_configs"
300
+
301
+ if suggest:
302
+ pulumi.log.warn(f"Key '{key}' not found in ConnectClusterGcpConfigAccessConfig. Access the value via the '{suggest}' property getter instead.")
303
+
304
+ def __getitem__(self, key: str) -> Any:
305
+ ConnectClusterGcpConfigAccessConfig.__key_warning(key)
306
+ return super().__getitem__(key)
307
+
308
+ def get(self, key: str, default = None) -> Any:
309
+ ConnectClusterGcpConfigAccessConfig.__key_warning(key)
310
+ return super().get(key, default)
311
+
312
+ def __init__(__self__, *,
313
+ network_configs: Sequence['outputs.ConnectClusterGcpConfigAccessConfigNetworkConfig']):
314
+ """
315
+ :param Sequence['ConnectClusterGcpConfigAccessConfigNetworkConfigArgs'] network_configs: Virtual Private Cloud (VPC) subnets where IP addresses for the Kafka Connect cluster are allocated. To make the connect cluster available in a VPC, you must specify at least one subnet per network. You must specify between 1 and 10 subnets. Additional subnets may be specified with additional `network_configs` blocks.
316
+ Structure is documented below.
317
+ """
318
+ pulumi.set(__self__, "network_configs", network_configs)
319
+
320
+ @property
321
+ @pulumi.getter(name="networkConfigs")
322
+ def network_configs(self) -> Sequence['outputs.ConnectClusterGcpConfigAccessConfigNetworkConfig']:
323
+ """
324
+ Virtual Private Cloud (VPC) subnets where IP addresses for the Kafka Connect cluster are allocated. To make the connect cluster available in a VPC, you must specify at least one subnet per network. You must specify between 1 and 10 subnets. Additional subnets may be specified with additional `network_configs` blocks.
325
+ Structure is documented below.
326
+ """
327
+ return pulumi.get(self, "network_configs")
328
+
329
+
330
+ @pulumi.output_type
331
+ class ConnectClusterGcpConfigAccessConfigNetworkConfig(dict):
332
+ @staticmethod
333
+ def __key_warning(key: str):
334
+ suggest = None
335
+ if key == "primarySubnet":
336
+ suggest = "primary_subnet"
337
+ elif key == "additionalSubnets":
338
+ suggest = "additional_subnets"
339
+ elif key == "dnsDomainNames":
340
+ suggest = "dns_domain_names"
341
+
342
+ if suggest:
343
+ pulumi.log.warn(f"Key '{key}' not found in ConnectClusterGcpConfigAccessConfigNetworkConfig. Access the value via the '{suggest}' property getter instead.")
344
+
345
+ def __getitem__(self, key: str) -> Any:
346
+ ConnectClusterGcpConfigAccessConfigNetworkConfig.__key_warning(key)
347
+ return super().__getitem__(key)
348
+
349
+ def get(self, key: str, default = None) -> Any:
350
+ ConnectClusterGcpConfigAccessConfigNetworkConfig.__key_warning(key)
351
+ return super().get(key, default)
352
+
353
+ def __init__(__self__, *,
354
+ primary_subnet: str,
355
+ additional_subnets: Optional[Sequence[str]] = None,
356
+ dns_domain_names: Optional[Sequence[str]] = None):
357
+ """
358
+ :param str primary_subnet: VPC subnet to make available to the Kafka Connect cluster. Structured like: projects/{project}/regions/{region}/subnetworks/{subnet_id}. It is used to create a Private Service Connect (PSC) interface for the Kafka Connect workers. It must be located in the same region as the Kafka Connect cluster. The CIDR range of the subnet must be within the IPv4 address ranges for private networks, as specified in RFC 1918. The primary subnet CIDR range must have a minimum size of /22 (1024 addresses).
359
+ :param Sequence[str] additional_subnets: Additional subnets may be specified. They may be in another region, but must be in the same VPC network. The Connect workers can communicate with network endpoints in either the primary or additional subnets.
360
+ :param Sequence[str] dns_domain_names: Additional DNS domain names from the subnet's network to be made visible to the Connect Cluster. When using MirrorMaker2, it's necessary to add the bootstrap address's dns domain name of the target cluster to make it visible to the connector. For example: my-kafka-cluster.us-central1.managedkafka.my-project.cloud.goog
361
+
362
+ - - -
363
+ """
364
+ pulumi.set(__self__, "primary_subnet", primary_subnet)
365
+ if additional_subnets is not None:
366
+ pulumi.set(__self__, "additional_subnets", additional_subnets)
367
+ if dns_domain_names is not None:
368
+ pulumi.set(__self__, "dns_domain_names", dns_domain_names)
369
+
370
+ @property
371
+ @pulumi.getter(name="primarySubnet")
372
+ def primary_subnet(self) -> str:
373
+ """
374
+ VPC subnet to make available to the Kafka Connect cluster. Structured like: projects/{project}/regions/{region}/subnetworks/{subnet_id}. It is used to create a Private Service Connect (PSC) interface for the Kafka Connect workers. It must be located in the same region as the Kafka Connect cluster. The CIDR range of the subnet must be within the IPv4 address ranges for private networks, as specified in RFC 1918. The primary subnet CIDR range must have a minimum size of /22 (1024 addresses).
375
+ """
376
+ return pulumi.get(self, "primary_subnet")
377
+
378
+ @property
379
+ @pulumi.getter(name="additionalSubnets")
380
+ def additional_subnets(self) -> Optional[Sequence[str]]:
381
+ """
382
+ Additional subnets may be specified. They may be in another region, but must be in the same VPC network. The Connect workers can communicate with network endpoints in either the primary or additional subnets.
383
+ """
384
+ return pulumi.get(self, "additional_subnets")
385
+
386
+ @property
387
+ @pulumi.getter(name="dnsDomainNames")
388
+ def dns_domain_names(self) -> Optional[Sequence[str]]:
389
+ """
390
+ Additional DNS domain names from the subnet's network to be made visible to the Connect Cluster. When using MirrorMaker2, it's necessary to add the bootstrap address's dns domain name of the target cluster to make it visible to the connector. For example: my-kafka-cluster.us-central1.managedkafka.my-project.cloud.goog
391
+
392
+ - - -
393
+ """
394
+ return pulumi.get(self, "dns_domain_names")
395
+
396
+
397
+ @pulumi.output_type
398
+ class ConnectorTaskRestartPolicy(dict):
399
+ @staticmethod
400
+ def __key_warning(key: str):
401
+ suggest = None
402
+ if key == "maximumBackoff":
403
+ suggest = "maximum_backoff"
404
+ elif key == "minimumBackoff":
405
+ suggest = "minimum_backoff"
406
+
407
+ if suggest:
408
+ pulumi.log.warn(f"Key '{key}' not found in ConnectorTaskRestartPolicy. Access the value via the '{suggest}' property getter instead.")
409
+
410
+ def __getitem__(self, key: str) -> Any:
411
+ ConnectorTaskRestartPolicy.__key_warning(key)
412
+ return super().__getitem__(key)
413
+
414
+ def get(self, key: str, default = None) -> Any:
415
+ ConnectorTaskRestartPolicy.__key_warning(key)
416
+ return super().get(key, default)
417
+
418
+ def __init__(__self__, *,
419
+ maximum_backoff: Optional[str] = None,
420
+ minimum_backoff: Optional[str] = None):
421
+ """
422
+ :param str maximum_backoff: The maximum amount of time to wait before retrying a failed task. This sets an upper bound for the backoff delay.
423
+ A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
424
+ :param str minimum_backoff: The minimum amount of time to wait before retrying a failed task. This sets a lower bound for the backoff delay.
425
+ A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
426
+ """
427
+ if maximum_backoff is not None:
428
+ pulumi.set(__self__, "maximum_backoff", maximum_backoff)
429
+ if minimum_backoff is not None:
430
+ pulumi.set(__self__, "minimum_backoff", minimum_backoff)
431
+
432
+ @property
433
+ @pulumi.getter(name="maximumBackoff")
434
+ def maximum_backoff(self) -> Optional[str]:
435
+ """
436
+ The maximum amount of time to wait before retrying a failed task. This sets an upper bound for the backoff delay.
437
+ A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
438
+ """
439
+ return pulumi.get(self, "maximum_backoff")
440
+
441
+ @property
442
+ @pulumi.getter(name="minimumBackoff")
443
+ def minimum_backoff(self) -> Optional[str]:
444
+ """
445
+ The minimum amount of time to wait before retrying a failed task. This sets a lower bound for the backoff delay.
446
+ A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
447
+ """
448
+ return pulumi.get(self, "minimum_backoff")
449
+
450
+
@@ -25,6 +25,14 @@ __all__ = [
25
25
  'InstanceEndpointConnectionArgsDict',
26
26
  'InstanceEndpointConnectionPscAutoConnectionArgs',
27
27
  'InstanceEndpointConnectionPscAutoConnectionArgsDict',
28
+ 'InstanceMaintenancePolicyArgs',
29
+ 'InstanceMaintenancePolicyArgsDict',
30
+ 'InstanceMaintenancePolicyWeeklyMaintenanceWindowArgs',
31
+ 'InstanceMaintenancePolicyWeeklyMaintenanceWindowArgsDict',
32
+ 'InstanceMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs',
33
+ 'InstanceMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgsDict',
34
+ 'InstanceMaintenanceScheduleArgs',
35
+ 'InstanceMaintenanceScheduleArgsDict',
28
36
  'InstanceNodeConfigArgs',
29
37
  'InstanceNodeConfigArgsDict',
30
38
  'InstancePersistenceConfigArgs',
@@ -478,6 +486,417 @@ class InstanceEndpointConnectionPscAutoConnectionArgs:
478
486
  pulumi.set(self, "service_attachment", value)
479
487
 
480
488
 
489
+ if not MYPY:
490
+ class InstanceMaintenancePolicyArgsDict(TypedDict):
491
+ create_time: NotRequired[pulumi.Input[str]]
492
+ """
493
+ (Output)
494
+ The time when the policy was created.
495
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
496
+ resolution and up to nine fractional digits.
497
+ """
498
+ update_time: NotRequired[pulumi.Input[str]]
499
+ """
500
+ (Output)
501
+ The time when the policy was last updated.
502
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
503
+ resolution and up to nine fractional digits.
504
+ """
505
+ weekly_maintenance_windows: NotRequired[pulumi.Input[Sequence[pulumi.Input['InstanceMaintenancePolicyWeeklyMaintenanceWindowArgsDict']]]]
506
+ """
507
+ Optional. Maintenance window that is applied to resources covered by this policy.
508
+ Minimum 1. For the current version, the maximum number
509
+ of weekly_window is expected to be one.
510
+ Structure is documented below.
511
+ """
512
+ elif False:
513
+ InstanceMaintenancePolicyArgsDict: TypeAlias = Mapping[str, Any]
514
+
515
+ @pulumi.input_type
516
+ class InstanceMaintenancePolicyArgs:
517
+ def __init__(__self__, *,
518
+ create_time: Optional[pulumi.Input[str]] = None,
519
+ update_time: Optional[pulumi.Input[str]] = None,
520
+ weekly_maintenance_windows: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceMaintenancePolicyWeeklyMaintenanceWindowArgs']]]] = None):
521
+ """
522
+ :param pulumi.Input[str] create_time: (Output)
523
+ The time when the policy was created.
524
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
525
+ resolution and up to nine fractional digits.
526
+ :param pulumi.Input[str] update_time: (Output)
527
+ The time when the policy was last updated.
528
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
529
+ resolution and up to nine fractional digits.
530
+ :param pulumi.Input[Sequence[pulumi.Input['InstanceMaintenancePolicyWeeklyMaintenanceWindowArgs']]] weekly_maintenance_windows: Optional. Maintenance window that is applied to resources covered by this policy.
531
+ Minimum 1. For the current version, the maximum number
532
+ of weekly_window is expected to be one.
533
+ Structure is documented below.
534
+ """
535
+ if create_time is not None:
536
+ pulumi.set(__self__, "create_time", create_time)
537
+ if update_time is not None:
538
+ pulumi.set(__self__, "update_time", update_time)
539
+ if weekly_maintenance_windows is not None:
540
+ pulumi.set(__self__, "weekly_maintenance_windows", weekly_maintenance_windows)
541
+
542
+ @property
543
+ @pulumi.getter(name="createTime")
544
+ def create_time(self) -> Optional[pulumi.Input[str]]:
545
+ """
546
+ (Output)
547
+ The time when the policy was created.
548
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
549
+ resolution and up to nine fractional digits.
550
+ """
551
+ return pulumi.get(self, "create_time")
552
+
553
+ @create_time.setter
554
+ def create_time(self, value: Optional[pulumi.Input[str]]):
555
+ pulumi.set(self, "create_time", value)
556
+
557
+ @property
558
+ @pulumi.getter(name="updateTime")
559
+ def update_time(self) -> Optional[pulumi.Input[str]]:
560
+ """
561
+ (Output)
562
+ The time when the policy was last updated.
563
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
564
+ resolution and up to nine fractional digits.
565
+ """
566
+ return pulumi.get(self, "update_time")
567
+
568
+ @update_time.setter
569
+ def update_time(self, value: Optional[pulumi.Input[str]]):
570
+ pulumi.set(self, "update_time", value)
571
+
572
+ @property
573
+ @pulumi.getter(name="weeklyMaintenanceWindows")
574
+ def weekly_maintenance_windows(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceMaintenancePolicyWeeklyMaintenanceWindowArgs']]]]:
575
+ """
576
+ Optional. Maintenance window that is applied to resources covered by this policy.
577
+ Minimum 1. For the current version, the maximum number
578
+ of weekly_window is expected to be one.
579
+ Structure is documented below.
580
+ """
581
+ return pulumi.get(self, "weekly_maintenance_windows")
582
+
583
+ @weekly_maintenance_windows.setter
584
+ def weekly_maintenance_windows(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceMaintenancePolicyWeeklyMaintenanceWindowArgs']]]]):
585
+ pulumi.set(self, "weekly_maintenance_windows", value)
586
+
587
+
588
+ if not MYPY:
589
+ class InstanceMaintenancePolicyWeeklyMaintenanceWindowArgsDict(TypedDict):
590
+ day: pulumi.Input[str]
591
+ """
592
+ The day of week that maintenance updates occur.
593
+ - DAY_OF_WEEK_UNSPECIFIED: The day of the week is unspecified.
594
+ - MONDAY: Monday
595
+ - TUESDAY: Tuesday
596
+ - WEDNESDAY: Wednesday
597
+ - THURSDAY: Thursday
598
+ - FRIDAY: Friday
599
+ - SATURDAY: Saturday
600
+ - SUNDAY: Sunday
601
+ Possible values are: `DAY_OF_WEEK_UNSPECIFIED`, `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `SATURDAY`, `SUNDAY`.
602
+ """
603
+ start_time: pulumi.Input['InstanceMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgsDict']
604
+ """
605
+ Start time of the window in UTC time.
606
+ Structure is documented below.
607
+ """
608
+ duration: NotRequired[pulumi.Input[str]]
609
+ """
610
+ (Output)
611
+ Duration of the maintenance window.
612
+ The current window is fixed at 1 hour.
613
+ A duration in seconds with up to nine fractional digits,
614
+ terminated by 's'. Example: "3.5s".
615
+ """
616
+ elif False:
617
+ InstanceMaintenancePolicyWeeklyMaintenanceWindowArgsDict: TypeAlias = Mapping[str, Any]
618
+
619
+ @pulumi.input_type
620
+ class InstanceMaintenancePolicyWeeklyMaintenanceWindowArgs:
621
+ def __init__(__self__, *,
622
+ day: pulumi.Input[str],
623
+ start_time: pulumi.Input['InstanceMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs'],
624
+ duration: Optional[pulumi.Input[str]] = None):
625
+ """
626
+ :param pulumi.Input[str] day: The day of week that maintenance updates occur.
627
+ - DAY_OF_WEEK_UNSPECIFIED: The day of the week is unspecified.
628
+ - MONDAY: Monday
629
+ - TUESDAY: Tuesday
630
+ - WEDNESDAY: Wednesday
631
+ - THURSDAY: Thursday
632
+ - FRIDAY: Friday
633
+ - SATURDAY: Saturday
634
+ - SUNDAY: Sunday
635
+ Possible values are: `DAY_OF_WEEK_UNSPECIFIED`, `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `SATURDAY`, `SUNDAY`.
636
+ :param pulumi.Input['InstanceMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs'] start_time: Start time of the window in UTC time.
637
+ Structure is documented below.
638
+ :param pulumi.Input[str] duration: (Output)
639
+ Duration of the maintenance window.
640
+ The current window is fixed at 1 hour.
641
+ A duration in seconds with up to nine fractional digits,
642
+ terminated by 's'. Example: "3.5s".
643
+ """
644
+ pulumi.set(__self__, "day", day)
645
+ pulumi.set(__self__, "start_time", start_time)
646
+ if duration is not None:
647
+ pulumi.set(__self__, "duration", duration)
648
+
649
+ @property
650
+ @pulumi.getter
651
+ def day(self) -> pulumi.Input[str]:
652
+ """
653
+ The day of week that maintenance updates occur.
654
+ - DAY_OF_WEEK_UNSPECIFIED: The day of the week is unspecified.
655
+ - MONDAY: Monday
656
+ - TUESDAY: Tuesday
657
+ - WEDNESDAY: Wednesday
658
+ - THURSDAY: Thursday
659
+ - FRIDAY: Friday
660
+ - SATURDAY: Saturday
661
+ - SUNDAY: Sunday
662
+ Possible values are: `DAY_OF_WEEK_UNSPECIFIED`, `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `SATURDAY`, `SUNDAY`.
663
+ """
664
+ return pulumi.get(self, "day")
665
+
666
+ @day.setter
667
+ def day(self, value: pulumi.Input[str]):
668
+ pulumi.set(self, "day", value)
669
+
670
+ @property
671
+ @pulumi.getter(name="startTime")
672
+ def start_time(self) -> pulumi.Input['InstanceMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs']:
673
+ """
674
+ Start time of the window in UTC time.
675
+ Structure is documented below.
676
+ """
677
+ return pulumi.get(self, "start_time")
678
+
679
+ @start_time.setter
680
+ def start_time(self, value: pulumi.Input['InstanceMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs']):
681
+ pulumi.set(self, "start_time", value)
682
+
683
+ @property
684
+ @pulumi.getter
685
+ def duration(self) -> Optional[pulumi.Input[str]]:
686
+ """
687
+ (Output)
688
+ Duration of the maintenance window.
689
+ The current window is fixed at 1 hour.
690
+ A duration in seconds with up to nine fractional digits,
691
+ terminated by 's'. Example: "3.5s".
692
+ """
693
+ return pulumi.get(self, "duration")
694
+
695
+ @duration.setter
696
+ def duration(self, value: Optional[pulumi.Input[str]]):
697
+ pulumi.set(self, "duration", value)
698
+
699
+
700
+ if not MYPY:
701
+ class InstanceMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgsDict(TypedDict):
702
+ hours: NotRequired[pulumi.Input[int]]
703
+ """
704
+ Hours of day in 24 hour format. Should be from 0 to 23.
705
+ An API may choose to allow the value "24:00:00" for scenarios like business closing time.
706
+ """
707
+ minutes: NotRequired[pulumi.Input[int]]
708
+ """
709
+ Minutes of hour of day. Must be from 0 to 59.
710
+ """
711
+ nanos: NotRequired[pulumi.Input[int]]
712
+ """
713
+ Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
714
+ """
715
+ seconds: NotRequired[pulumi.Input[int]]
716
+ """
717
+ Seconds of minutes of the time. Must normally be from 0 to 59.
718
+ An API may allow the value 60 if it allows leap-seconds.
719
+ """
720
+ elif False:
721
+ InstanceMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgsDict: TypeAlias = Mapping[str, Any]
722
+
723
+ @pulumi.input_type
724
+ class InstanceMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgs:
725
+ def __init__(__self__, *,
726
+ hours: Optional[pulumi.Input[int]] = None,
727
+ minutes: Optional[pulumi.Input[int]] = None,
728
+ nanos: Optional[pulumi.Input[int]] = None,
729
+ seconds: Optional[pulumi.Input[int]] = None):
730
+ """
731
+ :param pulumi.Input[int] hours: Hours of day in 24 hour format. Should be from 0 to 23.
732
+ An API may choose to allow the value "24:00:00" for scenarios like business closing time.
733
+ :param pulumi.Input[int] minutes: Minutes of hour of day. Must be from 0 to 59.
734
+ :param pulumi.Input[int] nanos: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
735
+ :param pulumi.Input[int] seconds: Seconds of minutes of the time. Must normally be from 0 to 59.
736
+ An API may allow the value 60 if it allows leap-seconds.
737
+ """
738
+ if hours is not None:
739
+ pulumi.set(__self__, "hours", hours)
740
+ if minutes is not None:
741
+ pulumi.set(__self__, "minutes", minutes)
742
+ if nanos is not None:
743
+ pulumi.set(__self__, "nanos", nanos)
744
+ if seconds is not None:
745
+ pulumi.set(__self__, "seconds", seconds)
746
+
747
+ @property
748
+ @pulumi.getter
749
+ def hours(self) -> Optional[pulumi.Input[int]]:
750
+ """
751
+ Hours of day in 24 hour format. Should be from 0 to 23.
752
+ An API may choose to allow the value "24:00:00" for scenarios like business closing time.
753
+ """
754
+ return pulumi.get(self, "hours")
755
+
756
+ @hours.setter
757
+ def hours(self, value: Optional[pulumi.Input[int]]):
758
+ pulumi.set(self, "hours", value)
759
+
760
+ @property
761
+ @pulumi.getter
762
+ def minutes(self) -> Optional[pulumi.Input[int]]:
763
+ """
764
+ Minutes of hour of day. Must be from 0 to 59.
765
+ """
766
+ return pulumi.get(self, "minutes")
767
+
768
+ @minutes.setter
769
+ def minutes(self, value: Optional[pulumi.Input[int]]):
770
+ pulumi.set(self, "minutes", value)
771
+
772
+ @property
773
+ @pulumi.getter
774
+ def nanos(self) -> Optional[pulumi.Input[int]]:
775
+ """
776
+ Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
777
+ """
778
+ return pulumi.get(self, "nanos")
779
+
780
+ @nanos.setter
781
+ def nanos(self, value: Optional[pulumi.Input[int]]):
782
+ pulumi.set(self, "nanos", value)
783
+
784
+ @property
785
+ @pulumi.getter
786
+ def seconds(self) -> Optional[pulumi.Input[int]]:
787
+ """
788
+ Seconds of minutes of the time. Must normally be from 0 to 59.
789
+ An API may allow the value 60 if it allows leap-seconds.
790
+ """
791
+ return pulumi.get(self, "seconds")
792
+
793
+ @seconds.setter
794
+ def seconds(self, value: Optional[pulumi.Input[int]]):
795
+ pulumi.set(self, "seconds", value)
796
+
797
+
798
+ if not MYPY:
799
+ class InstanceMaintenanceScheduleArgsDict(TypedDict):
800
+ end_time: NotRequired[pulumi.Input[str]]
801
+ """
802
+ (Output)
803
+ The end time of any upcoming scheduled maintenance for this cluster.
804
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
805
+ resolution and up to nine fractional digits.
806
+ """
807
+ schedule_deadline_time: NotRequired[pulumi.Input[str]]
808
+ """
809
+ (Output)
810
+ The deadline that the maintenance schedule start time
811
+ can not go beyond, including reschedule.
812
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
813
+ resolution and up to nine fractional digits.
814
+ """
815
+ start_time: NotRequired[pulumi.Input[str]]
816
+ """
817
+ (Output)
818
+ The start time of any upcoming scheduled maintenance for this cluster.
819
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
820
+ resolution and up to nine fractional digits.
821
+ """
822
+ elif False:
823
+ InstanceMaintenanceScheduleArgsDict: TypeAlias = Mapping[str, Any]
824
+
825
+ @pulumi.input_type
826
+ class InstanceMaintenanceScheduleArgs:
827
+ def __init__(__self__, *,
828
+ end_time: Optional[pulumi.Input[str]] = None,
829
+ schedule_deadline_time: Optional[pulumi.Input[str]] = None,
830
+ start_time: Optional[pulumi.Input[str]] = None):
831
+ """
832
+ :param pulumi.Input[str] end_time: (Output)
833
+ The end time of any upcoming scheduled maintenance for this cluster.
834
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
835
+ resolution and up to nine fractional digits.
836
+ :param pulumi.Input[str] schedule_deadline_time: (Output)
837
+ The deadline that the maintenance schedule start time
838
+ can not go beyond, including reschedule.
839
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
840
+ resolution and up to nine fractional digits.
841
+ :param pulumi.Input[str] start_time: (Output)
842
+ The start time of any upcoming scheduled maintenance for this cluster.
843
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
844
+ resolution and up to nine fractional digits.
845
+ """
846
+ if end_time is not None:
847
+ pulumi.set(__self__, "end_time", end_time)
848
+ if schedule_deadline_time is not None:
849
+ pulumi.set(__self__, "schedule_deadline_time", schedule_deadline_time)
850
+ if start_time is not None:
851
+ pulumi.set(__self__, "start_time", start_time)
852
+
853
+ @property
854
+ @pulumi.getter(name="endTime")
855
+ def end_time(self) -> Optional[pulumi.Input[str]]:
856
+ """
857
+ (Output)
858
+ The end time of any upcoming scheduled maintenance for this cluster.
859
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
860
+ resolution and up to nine fractional digits.
861
+ """
862
+ return pulumi.get(self, "end_time")
863
+
864
+ @end_time.setter
865
+ def end_time(self, value: Optional[pulumi.Input[str]]):
866
+ pulumi.set(self, "end_time", value)
867
+
868
+ @property
869
+ @pulumi.getter(name="scheduleDeadlineTime")
870
+ def schedule_deadline_time(self) -> Optional[pulumi.Input[str]]:
871
+ """
872
+ (Output)
873
+ The deadline that the maintenance schedule start time
874
+ can not go beyond, including reschedule.
875
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
876
+ resolution and up to nine fractional digits.
877
+ """
878
+ return pulumi.get(self, "schedule_deadline_time")
879
+
880
+ @schedule_deadline_time.setter
881
+ def schedule_deadline_time(self, value: Optional[pulumi.Input[str]]):
882
+ pulumi.set(self, "schedule_deadline_time", value)
883
+
884
+ @property
885
+ @pulumi.getter(name="startTime")
886
+ def start_time(self) -> Optional[pulumi.Input[str]]:
887
+ """
888
+ (Output)
889
+ The start time of any upcoming scheduled maintenance for this cluster.
890
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond
891
+ resolution and up to nine fractional digits.
892
+ """
893
+ return pulumi.get(self, "start_time")
894
+
895
+ @start_time.setter
896
+ def start_time(self, value: Optional[pulumi.Input[str]]):
897
+ pulumi.set(self, "start_time", value)
898
+
899
+
481
900
  if not MYPY:
482
901
  class InstanceNodeConfigArgsDict(TypedDict):
483
902
  size_gb: NotRequired[pulumi.Input[float]]