pulumi-gcp 8.26.0a1744267117__py3-none-any.whl → 8.27.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 (116) hide show
  1. pulumi_gcp/__init__.py +128 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +117 -0
  3. pulumi_gcp/accesscontextmanager/gcp_user_access_binding.py +81 -26
  4. pulumi_gcp/accesscontextmanager/outputs.py +95 -0
  5. pulumi_gcp/apigee/__init__.py +1 -0
  6. pulumi_gcp/apigee/control_plane_access.py +419 -0
  7. pulumi_gcp/bigquery/_inputs.py +87 -30
  8. pulumi_gcp/bigquery/outputs.py +58 -20
  9. pulumi_gcp/bigquery/table.py +28 -14
  10. pulumi_gcp/clouddeploy/__init__.py +1 -0
  11. pulumi_gcp/clouddeploy/_inputs.py +2876 -1314
  12. pulumi_gcp/clouddeploy/automation.py +64 -2
  13. pulumi_gcp/clouddeploy/deploy_policy.py +1179 -0
  14. pulumi_gcp/clouddeploy/outputs.py +1130 -5
  15. pulumi_gcp/cloudrun/service.py +46 -0
  16. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  17. pulumi_gcp/cloudrunv2/service.py +87 -2
  18. pulumi_gcp/compute/_inputs.py +448 -1
  19. pulumi_gcp/compute/image.py +183 -0
  20. pulumi_gcp/compute/outputs.py +387 -3
  21. pulumi_gcp/compute/region_backend_service.py +6 -2
  22. pulumi_gcp/compute/resource_policy.py +30 -0
  23. pulumi_gcp/compute/snapshot.py +6 -0
  24. pulumi_gcp/databasemigrationservice/_inputs.py +27 -24
  25. pulumi_gcp/databasemigrationservice/connection_profile.py +168 -0
  26. pulumi_gcp/databasemigrationservice/migration_job.py +6 -0
  27. pulumi_gcp/databasemigrationservice/outputs.py +18 -15
  28. pulumi_gcp/datastream/_inputs.py +506 -0
  29. pulumi_gcp/datastream/outputs.py +376 -0
  30. pulumi_gcp/datastream/stream.py +0 -2
  31. pulumi_gcp/developerconnect/__init__.py +1 -0
  32. pulumi_gcp/developerconnect/_inputs.py +77 -0
  33. pulumi_gcp/developerconnect/account_connector.py +866 -0
  34. pulumi_gcp/developerconnect/outputs.py +64 -0
  35. pulumi_gcp/firebase/hosting_version.py +34 -14
  36. pulumi_gcp/firestore/database.py +82 -0
  37. pulumi_gcp/firestore/index.py +263 -7
  38. pulumi_gcp/folder/__init__.py +1 -0
  39. pulumi_gcp/folder/service_identity.py +314 -0
  40. pulumi_gcp/gemini/__init__.py +2 -0
  41. pulumi_gcp/gemini/_inputs.py +176 -0
  42. pulumi_gcp/gemini/code_tools_setting.py +601 -0
  43. pulumi_gcp/gemini/code_tools_setting_binding.py +753 -0
  44. pulumi_gcp/gemini/outputs.py +124 -0
  45. pulumi_gcp/gkeonprem/v_mware_cluster.py +49 -0
  46. pulumi_gcp/gkeonprem/vmware_admin_cluster.py +28 -0
  47. pulumi_gcp/managedkafka/_inputs.py +6 -6
  48. pulumi_gcp/managedkafka/connect_cluster.py +84 -40
  49. pulumi_gcp/managedkafka/connector.py +98 -44
  50. pulumi_gcp/managedkafka/outputs.py +4 -4
  51. pulumi_gcp/memorystore/_inputs.py +205 -0
  52. pulumi_gcp/memorystore/get_instance.py +45 -1
  53. pulumi_gcp/memorystore/instance.py +194 -0
  54. pulumi_gcp/memorystore/outputs.py +270 -0
  55. pulumi_gcp/ml/engine_model.py +0 -22
  56. pulumi_gcp/monitoring/_inputs.py +37 -19
  57. pulumi_gcp/monitoring/outputs.py +39 -11
  58. pulumi_gcp/monitoring/uptime_check_config.py +8 -0
  59. pulumi_gcp/netapp/_inputs.py +92 -6
  60. pulumi_gcp/netapp/outputs.py +77 -4
  61. pulumi_gcp/netapp/volume_replication.py +12 -2
  62. pulumi_gcp/networkconnectivity/service_connection_policy.py +4 -2
  63. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  64. pulumi_gcp/orgpolicy/policy.py +2 -2
  65. pulumi_gcp/osconfig/__init__.py +1 -0
  66. pulumi_gcp/osconfig/_inputs.py +5439 -0
  67. pulumi_gcp/osconfig/outputs.py +3978 -0
  68. pulumi_gcp/osconfig/v2_policy_orchestrator.py +8 -0
  69. pulumi_gcp/osconfig/v2_policy_orchestrator_for_organization.py +1055 -0
  70. pulumi_gcp/parametermanager/get_regional_parameter.py +12 -1
  71. pulumi_gcp/parametermanager/get_regional_parameter_version.py +15 -1
  72. pulumi_gcp/parametermanager/outputs.py +11 -0
  73. pulumi_gcp/parametermanager/regional_parameter.py +78 -0
  74. pulumi_gcp/parametermanager/regional_parameter_version.py +66 -0
  75. pulumi_gcp/pubsub/subscription.py +6 -6
  76. pulumi_gcp/pulumi-plugin.json +1 -1
  77. pulumi_gcp/redis/_inputs.py +69 -0
  78. pulumi_gcp/redis/cluster.py +140 -0
  79. pulumi_gcp/redis/outputs.py +40 -0
  80. pulumi_gcp/spanner/database.py +0 -34
  81. pulumi_gcp/storage/_inputs.py +111 -0
  82. pulumi_gcp/storage/bucket_object.py +28 -0
  83. pulumi_gcp/storage/control_folder_intelligence_config.py +32 -0
  84. pulumi_gcp/storage/control_organization_intelligence_config.py +32 -0
  85. pulumi_gcp/storage/control_project_intelligence_config.py +32 -0
  86. pulumi_gcp/storage/get_bucket_object.py +12 -1
  87. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  88. pulumi_gcp/storage/get_control_folder_intelligence_config.py +12 -1
  89. pulumi_gcp/storage/get_control_organization_intelligence_config.py +12 -1
  90. pulumi_gcp/storage/get_control_project_intelligence_config.py +12 -1
  91. pulumi_gcp/storage/outputs.py +174 -0
  92. pulumi_gcp/vertex/__init__.py +12 -0
  93. pulumi_gcp/vertex/_inputs.py +294 -0
  94. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  95. pulumi_gcp/vertex/ai_feature_group.py +1 -1
  96. pulumi_gcp/vertex/ai_feature_group_iam_binding.py +583 -0
  97. pulumi_gcp/vertex/ai_feature_group_iam_member.py +583 -0
  98. pulumi_gcp/vertex/ai_feature_group_iam_policy.py +422 -0
  99. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +26 -27
  100. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_binding.py +614 -0
  101. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_member.py +614 -0
  102. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_policy.py +453 -0
  103. pulumi_gcp/vertex/ai_feature_online_store_iam_binding.py +583 -0
  104. pulumi_gcp/vertex/ai_feature_online_store_iam_member.py +583 -0
  105. pulumi_gcp/vertex/ai_feature_online_store_iam_policy.py +422 -0
  106. pulumi_gcp/vertex/get_ai_feature_group_iam_policy.py +177 -0
  107. pulumi_gcp/vertex/get_ai_feature_online_store_featureview_iam_policy.py +194 -0
  108. pulumi_gcp/vertex/get_ai_feature_online_store_iam_policy.py +177 -0
  109. pulumi_gcp/vertex/outputs.py +168 -0
  110. pulumi_gcp/workbench/_inputs.py +60 -0
  111. pulumi_gcp/workbench/instance.py +48 -0
  112. pulumi_gcp/workbench/outputs.py +55 -0
  113. {pulumi_gcp-8.26.0a1744267117.dist-info → pulumi_gcp-8.27.0.dist-info}/METADATA +1 -1
  114. {pulumi_gcp-8.26.0a1744267117.dist-info → pulumi_gcp-8.27.0.dist-info}/RECORD +116 -97
  115. {pulumi_gcp-8.26.0a1744267117.dist-info → pulumi_gcp-8.27.0.dist-info}/WHEEL +0 -0
  116. {pulumi_gcp-8.26.0a1744267117.dist-info → pulumi_gcp-8.27.0.dist-info}/top_level.txt +0 -0
@@ -296,25 +296,37 @@ class Connector(pulumi.CustomResource):
296
296
  ```python
297
297
  import pulumi
298
298
  import pulumi_gcp as gcp
299
-
300
- mkc_network = gcp.compute.Network("mkc_network",
301
- name="my-network-0",
302
- auto_create_subnetworks=False)
303
- mkc_subnet = gcp.compute.Subnetwork("mkc_subnet",
304
- name="my-subnetwork-0",
305
- ip_cidr_range="10.4.0.0/16",
306
- region="us-central1",
307
- network=mkc_network.id)
308
- mkc_additional_subnet = gcp.compute.Subnetwork("mkc_additional_subnet",
309
- name="my-additional-subnetwork-0",
299
+ import pulumi_time as time
300
+
301
+ project = gcp.organizations.Project("project",
302
+ project_id="tf-test_80332",
303
+ name="tf-test_13293",
304
+ org_id="123456789",
305
+ billing_account="000000-0000000-0000000-000000",
306
+ deletion_policy="DELETE")
307
+ wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
308
+ opts = pulumi.ResourceOptions(depends_on=[project]))
309
+ compute = gcp.projects.Service("compute",
310
+ project=project.project_id,
311
+ service="compute.googleapis.com",
312
+ opts = pulumi.ResourceOptions(depends_on=[wait60_seconds]))
313
+ managedkafka = gcp.projects.Service("managedkafka",
314
+ project=project.project_id,
315
+ service="managedkafka.googleapis.com",
316
+ opts = pulumi.ResourceOptions(depends_on=[wait60_seconds]))
317
+ mkc_secondary_subnet = gcp.compute.Subnetwork("mkc_secondary_subnet",
318
+ project=project.project_id,
319
+ name="my-secondary-subnetwork-00",
310
320
  ip_cidr_range="10.5.0.0/16",
311
321
  region="us-central1",
312
- network=mkc_network.id)
322
+ network="default",
323
+ opts = pulumi.ResourceOptions(depends_on=[compute]))
313
324
  cps_topic = gcp.pubsub.Topic("cps_topic",
325
+ project=project.project_id,
314
326
  name="my-cps-topic",
315
327
  message_retention_duration="86600s")
316
- project = gcp.organizations.get_project()
317
328
  gmk_cluster = gcp.managedkafka.Cluster("gmk_cluster",
329
+ project=project.project_id,
318
330
  cluster_id="my-cluster",
319
331
  location="us-central1",
320
332
  capacity_config={
@@ -324,19 +336,27 @@ class Connector(pulumi.CustomResource):
324
336
  gcp_config={
325
337
  "access_config": {
326
338
  "network_configs": [{
327
- "subnet": mkc_subnet.id.apply(lambda id: f"projects/{project.project_id}/regions/us-central1/subnetworks/{id}"),
339
+ "subnet": project.project_id.apply(lambda project_id: f"projects/{project_id}/regions/us-central1/subnetworks/default"),
328
340
  }],
329
341
  },
330
- })
342
+ },
343
+ opts = pulumi.ResourceOptions(depends_on=[managedkafka]))
331
344
  gmk_topic = gcp.managedkafka.Topic("gmk_topic",
345
+ project=project.project_id,
332
346
  topic_id="my-topic",
333
347
  cluster=gmk_cluster.cluster_id,
334
348
  location="us-central1",
335
349
  partition_count=2,
336
- replication_factor=3)
350
+ replication_factor=3,
351
+ opts = pulumi.ResourceOptions(depends_on=[managedkafka]))
337
352
  mkc_cluster = gcp.managedkafka.ConnectCluster("mkc_cluster",
353
+ project=project.project_id,
338
354
  connect_cluster_id="my-connect-cluster",
339
- kafka_cluster=gmk_cluster.cluster_id.apply(lambda cluster_id: f"projects/{project.project_id}/locations/us-central1/clusters/{cluster_id}"),
355
+ kafka_cluster=pulumi.Output.all(
356
+ project_id=project.project_id,
357
+ cluster_id=gmk_cluster.cluster_id
358
+ ).apply(lambda resolved_outputs: f"projects/{resolved_outputs['project_id']}/locations/us-central1/clusters/{resolved_outputs['cluster_id']}")
359
+ ,
340
360
  location="us-central1",
341
361
  capacity_config={
342
362
  "vcpu_count": "12",
@@ -345,16 +365,22 @@ class Connector(pulumi.CustomResource):
345
365
  gcp_config={
346
366
  "access_config": {
347
367
  "network_configs": [{
348
- "primary_subnet": mkc_subnet.id.apply(lambda id: f"projects/{project.project_id}/regions/us-central1/subnetworks/{id}"),
349
- "additional_subnets": [mkc_additional_subnet.id],
350
- "dns_domain_names": [gmk_cluster.cluster_id.apply(lambda cluster_id: f"{cluster_id}.us-central1.managedkafka-staging.{project.project_id}.cloud-staging.goog")],
368
+ "primary_subnet": project.project_id.apply(lambda project_id: f"projects/{project_id}/regions/us-central1/subnetworks/default"),
369
+ "additional_subnets": [mkc_secondary_subnet.id],
370
+ "dns_domain_names": [pulumi.Output.all(
371
+ cluster_id=gmk_cluster.cluster_id,
372
+ project_id=project.project_id
373
+ ).apply(lambda resolved_outputs: f"{resolved_outputs['cluster_id']}.us-central1.managedkafka.{resolved_outputs['project_id']}.cloud.goog")
374
+ ],
351
375
  }],
352
376
  },
353
377
  },
354
378
  labels={
355
379
  "key": "value",
356
- })
380
+ },
381
+ opts = pulumi.ResourceOptions(depends_on=[managedkafka]))
357
382
  example = gcp.managedkafka.Connector("example",
383
+ project=project.project_id,
358
384
  connector_id="my-connector",
359
385
  connect_cluster=mkc_cluster.connect_cluster_id,
360
386
  location="us-central1",
@@ -371,7 +397,8 @@ class Connector(pulumi.CustomResource):
371
397
  task_restart_policy={
372
398
  "minimum_backoff": "60s",
373
399
  "maximum_backoff": "1800s",
374
- })
400
+ },
401
+ opts = pulumi.ResourceOptions(depends_on=[managedkafka]))
375
402
  ```
376
403
 
377
404
  ## Import
@@ -426,25 +453,37 @@ class Connector(pulumi.CustomResource):
426
453
  ```python
427
454
  import pulumi
428
455
  import pulumi_gcp as gcp
429
-
430
- mkc_network = gcp.compute.Network("mkc_network",
431
- name="my-network-0",
432
- auto_create_subnetworks=False)
433
- mkc_subnet = gcp.compute.Subnetwork("mkc_subnet",
434
- name="my-subnetwork-0",
435
- ip_cidr_range="10.4.0.0/16",
436
- region="us-central1",
437
- network=mkc_network.id)
438
- mkc_additional_subnet = gcp.compute.Subnetwork("mkc_additional_subnet",
439
- name="my-additional-subnetwork-0",
456
+ import pulumi_time as time
457
+
458
+ project = gcp.organizations.Project("project",
459
+ project_id="tf-test_80332",
460
+ name="tf-test_13293",
461
+ org_id="123456789",
462
+ billing_account="000000-0000000-0000000-000000",
463
+ deletion_policy="DELETE")
464
+ wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
465
+ opts = pulumi.ResourceOptions(depends_on=[project]))
466
+ compute = gcp.projects.Service("compute",
467
+ project=project.project_id,
468
+ service="compute.googleapis.com",
469
+ opts = pulumi.ResourceOptions(depends_on=[wait60_seconds]))
470
+ managedkafka = gcp.projects.Service("managedkafka",
471
+ project=project.project_id,
472
+ service="managedkafka.googleapis.com",
473
+ opts = pulumi.ResourceOptions(depends_on=[wait60_seconds]))
474
+ mkc_secondary_subnet = gcp.compute.Subnetwork("mkc_secondary_subnet",
475
+ project=project.project_id,
476
+ name="my-secondary-subnetwork-00",
440
477
  ip_cidr_range="10.5.0.0/16",
441
478
  region="us-central1",
442
- network=mkc_network.id)
479
+ network="default",
480
+ opts = pulumi.ResourceOptions(depends_on=[compute]))
443
481
  cps_topic = gcp.pubsub.Topic("cps_topic",
482
+ project=project.project_id,
444
483
  name="my-cps-topic",
445
484
  message_retention_duration="86600s")
446
- project = gcp.organizations.get_project()
447
485
  gmk_cluster = gcp.managedkafka.Cluster("gmk_cluster",
486
+ project=project.project_id,
448
487
  cluster_id="my-cluster",
449
488
  location="us-central1",
450
489
  capacity_config={
@@ -454,19 +493,27 @@ class Connector(pulumi.CustomResource):
454
493
  gcp_config={
455
494
  "access_config": {
456
495
  "network_configs": [{
457
- "subnet": mkc_subnet.id.apply(lambda id: f"projects/{project.project_id}/regions/us-central1/subnetworks/{id}"),
496
+ "subnet": project.project_id.apply(lambda project_id: f"projects/{project_id}/regions/us-central1/subnetworks/default"),
458
497
  }],
459
498
  },
460
- })
499
+ },
500
+ opts = pulumi.ResourceOptions(depends_on=[managedkafka]))
461
501
  gmk_topic = gcp.managedkafka.Topic("gmk_topic",
502
+ project=project.project_id,
462
503
  topic_id="my-topic",
463
504
  cluster=gmk_cluster.cluster_id,
464
505
  location="us-central1",
465
506
  partition_count=2,
466
- replication_factor=3)
507
+ replication_factor=3,
508
+ opts = pulumi.ResourceOptions(depends_on=[managedkafka]))
467
509
  mkc_cluster = gcp.managedkafka.ConnectCluster("mkc_cluster",
510
+ project=project.project_id,
468
511
  connect_cluster_id="my-connect-cluster",
469
- kafka_cluster=gmk_cluster.cluster_id.apply(lambda cluster_id: f"projects/{project.project_id}/locations/us-central1/clusters/{cluster_id}"),
512
+ kafka_cluster=pulumi.Output.all(
513
+ project_id=project.project_id,
514
+ cluster_id=gmk_cluster.cluster_id
515
+ ).apply(lambda resolved_outputs: f"projects/{resolved_outputs['project_id']}/locations/us-central1/clusters/{resolved_outputs['cluster_id']}")
516
+ ,
470
517
  location="us-central1",
471
518
  capacity_config={
472
519
  "vcpu_count": "12",
@@ -475,16 +522,22 @@ class Connector(pulumi.CustomResource):
475
522
  gcp_config={
476
523
  "access_config": {
477
524
  "network_configs": [{
478
- "primary_subnet": mkc_subnet.id.apply(lambda id: f"projects/{project.project_id}/regions/us-central1/subnetworks/{id}"),
479
- "additional_subnets": [mkc_additional_subnet.id],
480
- "dns_domain_names": [gmk_cluster.cluster_id.apply(lambda cluster_id: f"{cluster_id}.us-central1.managedkafka-staging.{project.project_id}.cloud-staging.goog")],
525
+ "primary_subnet": project.project_id.apply(lambda project_id: f"projects/{project_id}/regions/us-central1/subnetworks/default"),
526
+ "additional_subnets": [mkc_secondary_subnet.id],
527
+ "dns_domain_names": [pulumi.Output.all(
528
+ cluster_id=gmk_cluster.cluster_id,
529
+ project_id=project.project_id
530
+ ).apply(lambda resolved_outputs: f"{resolved_outputs['cluster_id']}.us-central1.managedkafka.{resolved_outputs['project_id']}.cloud.goog")
531
+ ],
481
532
  }],
482
533
  },
483
534
  },
484
535
  labels={
485
536
  "key": "value",
486
- })
537
+ },
538
+ opts = pulumi.ResourceOptions(depends_on=[managedkafka]))
487
539
  example = gcp.managedkafka.Connector("example",
540
+ project=project.project_id,
488
541
  connector_id="my-connector",
489
542
  connect_cluster=mkc_cluster.connect_cluster_id,
490
543
  location="us-central1",
@@ -501,7 +554,8 @@ class Connector(pulumi.CustomResource):
501
554
  task_restart_policy={
502
555
  "minimum_backoff": "60s",
503
556
  "maximum_backoff": "1800s",
504
- })
557
+ },
558
+ opts = pulumi.ResourceOptions(depends_on=[managedkafka]))
505
559
  ```
506
560
 
507
561
  ## Import
@@ -154,7 +154,7 @@ class ClusterGcpConfigAccessConfig(dict):
154
154
  def __init__(__self__, *,
155
155
  network_configs: Sequence['outputs.ClusterGcpConfigAccessConfigNetworkConfig']):
156
156
  """
157
- :param Sequence['ClusterGcpConfigAccessConfigNetworkConfigArgs'] network_configs: Virtual Private Cloud (VPC) subnets where IP addresses for the Kafka cluster are allocated. To make the 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.
157
+ :param Sequence['ClusterGcpConfigAccessConfigNetworkConfigArgs'] network_configs: Virtual Private Cloud (VPC) subnets where IP addresses for the Kafka cluster are allocated. To make the cluster available in a VPC, you must specify at least one `network_configs` block. Max of 10 subnets per cluster. Additional subnets may be specified with additional `network_configs` blocks.
158
158
  Structure is documented below.
159
159
  """
160
160
  pulumi.set(__self__, "network_configs", network_configs)
@@ -163,7 +163,7 @@ class ClusterGcpConfigAccessConfig(dict):
163
163
  @pulumi.getter(name="networkConfigs")
164
164
  def network_configs(self) -> Sequence['outputs.ClusterGcpConfigAccessConfigNetworkConfig']:
165
165
  """
166
- Virtual Private Cloud (VPC) subnets where IP addresses for the Kafka cluster are allocated. To make the 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.
166
+ Virtual Private Cloud (VPC) subnets where IP addresses for the Kafka cluster are allocated. To make the cluster available in a VPC, you must specify at least one `network_configs` block. Max of 10 subnets per cluster. Additional subnets may be specified with additional `network_configs` blocks.
167
167
  Structure is documented below.
168
168
  """
169
169
  return pulumi.get(self, "network_configs")
@@ -174,7 +174,7 @@ class ClusterGcpConfigAccessConfigNetworkConfig(dict):
174
174
  def __init__(__self__, *,
175
175
  subnet: builtins.str):
176
176
  """
177
- :param builtins.str subnet: Name of the VPC subnet from which the cluster is accessible. Both broker and bootstrap server IP addresses and DNS entries are automatically created in the subnet. The subnet must be located in the same region as the cluster. The project may differ. The name of the subnet must be in the format `projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET`.
177
+ :param builtins.str subnet: Name of the VPC subnet from which the cluster is accessible. Both broker and bootstrap server IP addresses and DNS entries are automatically created in the subnet. There can only be one subnet per network, and the subnet must be located in the same region as the cluster. The project may differ. The name of the subnet must be in the format `projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET`.
178
178
  """
179
179
  pulumi.set(__self__, "subnet", subnet)
180
180
 
@@ -182,7 +182,7 @@ class ClusterGcpConfigAccessConfigNetworkConfig(dict):
182
182
  @pulumi.getter
183
183
  def subnet(self) -> builtins.str:
184
184
  """
185
- Name of the VPC subnet from which the cluster is accessible. Both broker and bootstrap server IP addresses and DNS entries are automatically created in the subnet. The subnet must be located in the same region as the cluster. The project may differ. The name of the subnet must be in the format `projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET`.
185
+ Name of the VPC subnet from which the cluster is accessible. Both broker and bootstrap server IP addresses and DNS entries are automatically created in the subnet. There can only be one subnet per network, and the subnet must be located in the same region as the cluster. The project may differ. The name of the subnet must be in the format `projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET`.
186
186
  """
187
187
  return pulumi.get(self, "subnet")
188
188
 
@@ -16,6 +16,12 @@ else:
16
16
  from .. import _utilities
17
17
 
18
18
  __all__ = [
19
+ 'InstanceAutomatedBackupConfigArgs',
20
+ 'InstanceAutomatedBackupConfigArgsDict',
21
+ 'InstanceAutomatedBackupConfigFixedFrequencyScheduleArgs',
22
+ 'InstanceAutomatedBackupConfigFixedFrequencyScheduleArgsDict',
23
+ 'InstanceAutomatedBackupConfigFixedFrequencyScheduleStartTimeArgs',
24
+ 'InstanceAutomatedBackupConfigFixedFrequencyScheduleStartTimeArgsDict',
19
25
  'InstanceCrossInstanceReplicationConfigArgs',
20
26
  'InstanceCrossInstanceReplicationConfigArgsDict',
21
27
  'InstanceCrossInstanceReplicationConfigMembershipArgs',
@@ -44,6 +50,8 @@ __all__ = [
44
50
  'InstanceEndpointConnectionArgsDict',
45
51
  'InstanceEndpointConnectionPscAutoConnectionArgs',
46
52
  'InstanceEndpointConnectionPscAutoConnectionArgsDict',
53
+ 'InstanceGcsSourceArgs',
54
+ 'InstanceGcsSourceArgsDict',
47
55
  'InstanceMaintenancePolicyArgs',
48
56
  'InstanceMaintenancePolicyArgsDict',
49
57
  'InstanceMaintenancePolicyWeeklyMaintenanceWindowArgs',
@@ -52,6 +60,8 @@ __all__ = [
52
60
  'InstanceMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgsDict',
53
61
  'InstanceMaintenanceScheduleArgs',
54
62
  'InstanceMaintenanceScheduleArgsDict',
63
+ 'InstanceManagedBackupSourceArgs',
64
+ 'InstanceManagedBackupSourceArgsDict',
55
65
  'InstanceNodeConfigArgs',
56
66
  'InstanceNodeConfigArgsDict',
57
67
  'InstancePersistenceConfigArgs',
@@ -74,6 +84,136 @@ __all__ = [
74
84
 
75
85
  MYPY = False
76
86
 
87
+ if not MYPY:
88
+ class InstanceAutomatedBackupConfigArgsDict(TypedDict):
89
+ fixed_frequency_schedule: pulumi.Input['InstanceAutomatedBackupConfigFixedFrequencyScheduleArgsDict']
90
+ """
91
+ Trigger automated backups at a fixed frequency.
92
+ Structure is documented below.
93
+ """
94
+ retention: pulumi.Input[builtins.str]
95
+ """
96
+ How long to keep automated backups before the backups are deleted.
97
+ The value should be between 1 day and 365 days. If not specified, the default value is 35 days.
98
+ A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s". The default_value is "3024000s"
99
+ """
100
+ elif False:
101
+ InstanceAutomatedBackupConfigArgsDict: TypeAlias = Mapping[str, Any]
102
+
103
+ @pulumi.input_type
104
+ class InstanceAutomatedBackupConfigArgs:
105
+ def __init__(__self__, *,
106
+ fixed_frequency_schedule: pulumi.Input['InstanceAutomatedBackupConfigFixedFrequencyScheduleArgs'],
107
+ retention: pulumi.Input[builtins.str]):
108
+ """
109
+ :param pulumi.Input['InstanceAutomatedBackupConfigFixedFrequencyScheduleArgs'] fixed_frequency_schedule: Trigger automated backups at a fixed frequency.
110
+ Structure is documented below.
111
+ :param pulumi.Input[builtins.str] retention: How long to keep automated backups before the backups are deleted.
112
+ The value should be between 1 day and 365 days. If not specified, the default value is 35 days.
113
+ A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s". The default_value is "3024000s"
114
+ """
115
+ pulumi.set(__self__, "fixed_frequency_schedule", fixed_frequency_schedule)
116
+ pulumi.set(__self__, "retention", retention)
117
+
118
+ @property
119
+ @pulumi.getter(name="fixedFrequencySchedule")
120
+ def fixed_frequency_schedule(self) -> pulumi.Input['InstanceAutomatedBackupConfigFixedFrequencyScheduleArgs']:
121
+ """
122
+ Trigger automated backups at a fixed frequency.
123
+ Structure is documented below.
124
+ """
125
+ return pulumi.get(self, "fixed_frequency_schedule")
126
+
127
+ @fixed_frequency_schedule.setter
128
+ def fixed_frequency_schedule(self, value: pulumi.Input['InstanceAutomatedBackupConfigFixedFrequencyScheduleArgs']):
129
+ pulumi.set(self, "fixed_frequency_schedule", value)
130
+
131
+ @property
132
+ @pulumi.getter
133
+ def retention(self) -> pulumi.Input[builtins.str]:
134
+ """
135
+ How long to keep automated backups before the backups are deleted.
136
+ The value should be between 1 day and 365 days. If not specified, the default value is 35 days.
137
+ A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s". The default_value is "3024000s"
138
+ """
139
+ return pulumi.get(self, "retention")
140
+
141
+ @retention.setter
142
+ def retention(self, value: pulumi.Input[builtins.str]):
143
+ pulumi.set(self, "retention", value)
144
+
145
+
146
+ if not MYPY:
147
+ class InstanceAutomatedBackupConfigFixedFrequencyScheduleArgsDict(TypedDict):
148
+ start_time: pulumi.Input['InstanceAutomatedBackupConfigFixedFrequencyScheduleStartTimeArgsDict']
149
+ """
150
+ The start time of every automated backup in UTC.
151
+ It must be set to the start of an hour. This field is required.
152
+ Structure is documented below.
153
+ """
154
+ elif False:
155
+ InstanceAutomatedBackupConfigFixedFrequencyScheduleArgsDict: TypeAlias = Mapping[str, Any]
156
+
157
+ @pulumi.input_type
158
+ class InstanceAutomatedBackupConfigFixedFrequencyScheduleArgs:
159
+ def __init__(__self__, *,
160
+ start_time: pulumi.Input['InstanceAutomatedBackupConfigFixedFrequencyScheduleStartTimeArgs']):
161
+ """
162
+ :param pulumi.Input['InstanceAutomatedBackupConfigFixedFrequencyScheduleStartTimeArgs'] start_time: The start time of every automated backup in UTC.
163
+ It must be set to the start of an hour. This field is required.
164
+ Structure is documented below.
165
+ """
166
+ pulumi.set(__self__, "start_time", start_time)
167
+
168
+ @property
169
+ @pulumi.getter(name="startTime")
170
+ def start_time(self) -> pulumi.Input['InstanceAutomatedBackupConfigFixedFrequencyScheduleStartTimeArgs']:
171
+ """
172
+ The start time of every automated backup in UTC.
173
+ It must be set to the start of an hour. This field is required.
174
+ Structure is documented below.
175
+ """
176
+ return pulumi.get(self, "start_time")
177
+
178
+ @start_time.setter
179
+ def start_time(self, value: pulumi.Input['InstanceAutomatedBackupConfigFixedFrequencyScheduleStartTimeArgs']):
180
+ pulumi.set(self, "start_time", value)
181
+
182
+
183
+ if not MYPY:
184
+ class InstanceAutomatedBackupConfigFixedFrequencyScheduleStartTimeArgsDict(TypedDict):
185
+ hours: pulumi.Input[builtins.int]
186
+ """
187
+ Hours of day in 24 hour format. Should be from 0 to 23.
188
+ An API may choose to allow the value "24:00:00" for scenarios like business closing time.
189
+ """
190
+ elif False:
191
+ InstanceAutomatedBackupConfigFixedFrequencyScheduleStartTimeArgsDict: TypeAlias = Mapping[str, Any]
192
+
193
+ @pulumi.input_type
194
+ class InstanceAutomatedBackupConfigFixedFrequencyScheduleStartTimeArgs:
195
+ def __init__(__self__, *,
196
+ hours: pulumi.Input[builtins.int]):
197
+ """
198
+ :param pulumi.Input[builtins.int] hours: Hours of day in 24 hour format. Should be from 0 to 23.
199
+ An API may choose to allow the value "24:00:00" for scenarios like business closing time.
200
+ """
201
+ pulumi.set(__self__, "hours", hours)
202
+
203
+ @property
204
+ @pulumi.getter
205
+ def hours(self) -> pulumi.Input[builtins.int]:
206
+ """
207
+ Hours of day in 24 hour format. Should be from 0 to 23.
208
+ An API may choose to allow the value "24:00:00" for scenarios like business closing time.
209
+ """
210
+ return pulumi.get(self, "hours")
211
+
212
+ @hours.setter
213
+ def hours(self, value: pulumi.Input[builtins.int]):
214
+ pulumi.set(self, "hours", value)
215
+
216
+
77
217
  if not MYPY:
78
218
  class InstanceCrossInstanceReplicationConfigArgsDict(TypedDict):
79
219
  instance_role: NotRequired[pulumi.Input[builtins.str]]
@@ -1197,6 +1337,40 @@ class InstanceEndpointConnectionPscAutoConnectionArgs:
1197
1337
  pulumi.set(self, "service_attachment", value)
1198
1338
 
1199
1339
 
1340
+ if not MYPY:
1341
+ class InstanceGcsSourceArgsDict(TypedDict):
1342
+ uris: pulumi.Input[Sequence[pulumi.Input[builtins.str]]]
1343
+ """
1344
+ URIs of the GCS objects to import.
1345
+ Example: gs://bucket1/object1, gs//bucket2/folder2/object2
1346
+ """
1347
+ elif False:
1348
+ InstanceGcsSourceArgsDict: TypeAlias = Mapping[str, Any]
1349
+
1350
+ @pulumi.input_type
1351
+ class InstanceGcsSourceArgs:
1352
+ def __init__(__self__, *,
1353
+ uris: pulumi.Input[Sequence[pulumi.Input[builtins.str]]]):
1354
+ """
1355
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] uris: URIs of the GCS objects to import.
1356
+ Example: gs://bucket1/object1, gs//bucket2/folder2/object2
1357
+ """
1358
+ pulumi.set(__self__, "uris", uris)
1359
+
1360
+ @property
1361
+ @pulumi.getter
1362
+ def uris(self) -> pulumi.Input[Sequence[pulumi.Input[builtins.str]]]:
1363
+ """
1364
+ URIs of the GCS objects to import.
1365
+ Example: gs://bucket1/object1, gs//bucket2/folder2/object2
1366
+ """
1367
+ return pulumi.get(self, "uris")
1368
+
1369
+ @uris.setter
1370
+ def uris(self, value: pulumi.Input[Sequence[pulumi.Input[builtins.str]]]):
1371
+ pulumi.set(self, "uris", value)
1372
+
1373
+
1200
1374
  if not MYPY:
1201
1375
  class InstanceMaintenancePolicyArgsDict(TypedDict):
1202
1376
  create_time: NotRequired[pulumi.Input[builtins.str]]
@@ -1608,6 +1782,37 @@ class InstanceMaintenanceScheduleArgs:
1608
1782
  pulumi.set(self, "start_time", value)
1609
1783
 
1610
1784
 
1785
+ if not MYPY:
1786
+ class InstanceManagedBackupSourceArgsDict(TypedDict):
1787
+ backup: pulumi.Input[builtins.str]
1788
+ """
1789
+ Example: //memorystore.googleapis.com/projects/{project}/locations/{location}/backups/{backupId}. In this case, it assumes the backup is under memorystore.googleapis.com.
1790
+ """
1791
+ elif False:
1792
+ InstanceManagedBackupSourceArgsDict: TypeAlias = Mapping[str, Any]
1793
+
1794
+ @pulumi.input_type
1795
+ class InstanceManagedBackupSourceArgs:
1796
+ def __init__(__self__, *,
1797
+ backup: pulumi.Input[builtins.str]):
1798
+ """
1799
+ :param pulumi.Input[builtins.str] backup: Example: //memorystore.googleapis.com/projects/{project}/locations/{location}/backups/{backupId}. In this case, it assumes the backup is under memorystore.googleapis.com.
1800
+ """
1801
+ pulumi.set(__self__, "backup", backup)
1802
+
1803
+ @property
1804
+ @pulumi.getter
1805
+ def backup(self) -> pulumi.Input[builtins.str]:
1806
+ """
1807
+ Example: //memorystore.googleapis.com/projects/{project}/locations/{location}/backups/{backupId}. In this case, it assumes the backup is under memorystore.googleapis.com.
1808
+ """
1809
+ return pulumi.get(self, "backup")
1810
+
1811
+ @backup.setter
1812
+ def backup(self, value: pulumi.Input[builtins.str]):
1813
+ pulumi.set(self, "backup", value)
1814
+
1815
+
1611
1816
  if not MYPY:
1612
1817
  class InstanceNodeConfigArgsDict(TypedDict):
1613
1818
  size_gb: NotRequired[pulumi.Input[builtins.float]]