pulumi-gcp 8.0.0rc0__py3-none-any.whl → 8.1.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 (101) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/alloydb/_inputs.py +94 -0
  3. pulumi_gcp/alloydb/cluster.py +94 -1
  4. pulumi_gcp/alloydb/outputs.py +79 -0
  5. pulumi_gcp/assuredworkloads/workload.py +135 -16
  6. pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
  7. pulumi_gcp/backupdisasterrecovery/backup_vault.py +1203 -0
  8. pulumi_gcp/bigquery/_inputs.py +33 -0
  9. pulumi_gcp/bigquery/data_transfer_config.py +134 -6
  10. pulumi_gcp/bigquery/outputs.py +36 -0
  11. pulumi_gcp/bigqueryanalyticshub/_inputs.py +169 -7
  12. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +96 -3
  13. pulumi_gcp/bigqueryanalyticshub/listing.py +114 -0
  14. pulumi_gcp/bigqueryanalyticshub/outputs.py +138 -5
  15. pulumi_gcp/bigtable/_inputs.py +21 -1
  16. pulumi_gcp/bigtable/outputs.py +13 -1
  17. pulumi_gcp/bigtable/table.py +34 -0
  18. pulumi_gcp/certificateauthority/authority.py +14 -7
  19. pulumi_gcp/certificatemanager/__init__.py +1 -0
  20. pulumi_gcp/certificatemanager/certificate.py +28 -0
  21. pulumi_gcp/certificatemanager/get_certificates.py +150 -0
  22. pulumi_gcp/certificatemanager/outputs.py +322 -0
  23. pulumi_gcp/cloudbuild/_inputs.py +6 -6
  24. pulumi_gcp/cloudbuild/outputs.py +4 -4
  25. pulumi_gcp/cloudrun/_inputs.py +6 -12
  26. pulumi_gcp/cloudrun/outputs.py +8 -16
  27. pulumi_gcp/cloudrunv2/_inputs.py +72 -15
  28. pulumi_gcp/cloudrunv2/outputs.py +82 -16
  29. pulumi_gcp/cloudrunv2/service.py +50 -4
  30. pulumi_gcp/cloudtasks/_inputs.py +630 -0
  31. pulumi_gcp/cloudtasks/outputs.py +479 -0
  32. pulumi_gcp/cloudtasks/queue.py +238 -0
  33. pulumi_gcp/compute/_inputs.py +129 -9
  34. pulumi_gcp/compute/get_instance.py +1 -1
  35. pulumi_gcp/compute/health_check.py +114 -0
  36. pulumi_gcp/compute/instance.py +86 -4
  37. pulumi_gcp/compute/instance_template.py +66 -0
  38. pulumi_gcp/compute/interconnect.py +28 -21
  39. pulumi_gcp/compute/node_template.py +93 -0
  40. pulumi_gcp/compute/outputs.py +108 -6
  41. pulumi_gcp/compute/target_https_proxy.py +28 -0
  42. pulumi_gcp/container/_inputs.py +140 -3
  43. pulumi_gcp/container/attached_cluster.py +7 -7
  44. pulumi_gcp/container/outputs.py +174 -2
  45. pulumi_gcp/databasemigrationservice/_inputs.py +176 -148
  46. pulumi_gcp/databasemigrationservice/connection_profile.py +206 -0
  47. pulumi_gcp/databasemigrationservice/outputs.py +109 -87
  48. pulumi_gcp/dataloss/_inputs.py +353 -1
  49. pulumi_gcp/dataloss/outputs.py +274 -3
  50. pulumi_gcp/dataproc/_inputs.py +27 -27
  51. pulumi_gcp/dataproc/outputs.py +18 -18
  52. pulumi_gcp/datastream/_inputs.py +69 -1
  53. pulumi_gcp/datastream/outputs.py +44 -2
  54. pulumi_gcp/datastream/stream.py +194 -7
  55. pulumi_gcp/discoveryengine/_inputs.py +188 -0
  56. pulumi_gcp/discoveryengine/data_store.py +14 -14
  57. pulumi_gcp/discoveryengine/outputs.py +153 -1
  58. pulumi_gcp/firebase/database_instance.py +7 -7
  59. pulumi_gcp/gkehub/_inputs.py +25 -1
  60. pulumi_gcp/gkehub/feature_membership.py +12 -6
  61. pulumi_gcp/gkehub/outputs.py +17 -1
  62. pulumi_gcp/iam/_inputs.py +196 -0
  63. pulumi_gcp/iam/get_workload_identity_pool_provider.py +13 -3
  64. pulumi_gcp/iam/outputs.py +295 -0
  65. pulumi_gcp/iam/workload_identity_pool_provider.py +164 -3
  66. pulumi_gcp/kms/__init__.py +2 -0
  67. pulumi_gcp/kms/autokey_config.py +10 -2
  68. pulumi_gcp/kms/get_crypto_key_latest_version.py +222 -0
  69. pulumi_gcp/kms/get_crypto_key_versions.py +175 -0
  70. pulumi_gcp/kms/outputs.py +164 -0
  71. pulumi_gcp/netapp/active_directory.py +6 -6
  72. pulumi_gcp/netapp/backup.py +6 -6
  73. pulumi_gcp/netapp/backup_policy.py +6 -6
  74. pulumi_gcp/netapp/backup_vault.py +6 -6
  75. pulumi_gcp/netapp/storage_pool.py +4 -4
  76. pulumi_gcp/netapp/volume.py +7 -0
  77. pulumi_gcp/networkconnectivity/_inputs.py +21 -1
  78. pulumi_gcp/networkconnectivity/outputs.py +15 -1
  79. pulumi_gcp/networkconnectivity/spoke.py +8 -0
  80. pulumi_gcp/networksecurity/client_tls_policy.py +24 -22
  81. pulumi_gcp/networksecurity/server_tls_policy.py +20 -32
  82. pulumi_gcp/organizations/get_project.py +13 -3
  83. pulumi_gcp/organizations/project.py +88 -3
  84. pulumi_gcp/parallelstore/instance.py +121 -121
  85. pulumi_gcp/projects/iam_member_remove.py +26 -0
  86. pulumi_gcp/projects/usage_export_bucket.py +38 -0
  87. pulumi_gcp/pubsub/_inputs.py +40 -0
  88. pulumi_gcp/pubsub/outputs.py +51 -1
  89. pulumi_gcp/pubsub/subscription.py +6 -0
  90. pulumi_gcp/pulumi-plugin.json +1 -1
  91. pulumi_gcp/redis/_inputs.py +419 -0
  92. pulumi_gcp/redis/cluster.py +123 -0
  93. pulumi_gcp/redis/outputs.py +315 -0
  94. pulumi_gcp/securitycenter/__init__.py +2 -0
  95. pulumi_gcp/securitycenter/v2_folder_scc_big_query_export.py +857 -0
  96. pulumi_gcp/securitycenter/v2_organization_scc_big_query_exports.py +4 -4
  97. pulumi_gcp/securitycenter/v2_project_scc_big_query_export.py +796 -0
  98. {pulumi_gcp-8.0.0rc0.dist-info → pulumi_gcp-8.1.0.dist-info}/METADATA +1 -1
  99. {pulumi_gcp-8.0.0rc0.dist-info → pulumi_gcp-8.1.0.dist-info}/RECORD +101 -95
  100. {pulumi_gcp-8.0.0rc0.dist-info → pulumi_gcp-8.1.0.dist-info}/WHEEL +1 -1
  101. {pulumi_gcp-8.0.0rc0.dist-info → pulumi_gcp-8.1.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/__init__.py CHANGED
@@ -1031,6 +1031,14 @@ _utilities.register(
1031
1031
  "gcp:assuredworkloads/workload:Workload": "Workload"
1032
1032
  }
1033
1033
  },
1034
+ {
1035
+ "pkg": "gcp",
1036
+ "mod": "backupdisasterrecovery/backupVault",
1037
+ "fqn": "pulumi_gcp.backupdisasterrecovery",
1038
+ "classes": {
1039
+ "gcp:backupdisasterrecovery/backupVault:BackupVault": "BackupVault"
1040
+ }
1041
+ },
1034
1042
  {
1035
1043
  "pkg": "gcp",
1036
1044
  "mod": "backupdisasterrecovery/managementServer",
@@ -7159,6 +7167,14 @@ _utilities.register(
7159
7167
  "gcp:securitycenter/v2FolderNotificationConfig:V2FolderNotificationConfig": "V2FolderNotificationConfig"
7160
7168
  }
7161
7169
  },
7170
+ {
7171
+ "pkg": "gcp",
7172
+ "mod": "securitycenter/v2FolderSccBigQueryExport",
7173
+ "fqn": "pulumi_gcp.securitycenter",
7174
+ "classes": {
7175
+ "gcp:securitycenter/v2FolderSccBigQueryExport:V2FolderSccBigQueryExport": "V2FolderSccBigQueryExport"
7176
+ }
7177
+ },
7162
7178
  {
7163
7179
  "pkg": "gcp",
7164
7180
  "mod": "securitycenter/v2OrganizationMuteConfig",
@@ -7231,6 +7247,14 @@ _utilities.register(
7231
7247
  "gcp:securitycenter/v2ProjectNotificationConfig:V2ProjectNotificationConfig": "V2ProjectNotificationConfig"
7232
7248
  }
7233
7249
  },
7250
+ {
7251
+ "pkg": "gcp",
7252
+ "mod": "securitycenter/v2ProjectSccBigQueryExport",
7253
+ "fqn": "pulumi_gcp.securitycenter",
7254
+ "classes": {
7255
+ "gcp:securitycenter/v2ProjectSccBigQueryExport:V2ProjectSccBigQueryExport": "V2ProjectSccBigQueryExport"
7256
+ }
7257
+ },
7234
7258
  {
7235
7259
  "pkg": "gcp",
7236
7260
  "mod": "securityposture/posture",
@@ -67,6 +67,8 @@ __all__ = [
67
67
  'ClusterRestoreContinuousBackupSourceArgsDict',
68
68
  'ClusterSecondaryConfigArgs',
69
69
  'ClusterSecondaryConfigArgsDict',
70
+ 'ClusterTrialMetadataArgs',
71
+ 'ClusterTrialMetadataArgsDict',
70
72
  'InstanceClientConnectionConfigArgs',
71
73
  'InstanceClientConnectionConfigArgsDict',
72
74
  'InstanceClientConnectionConfigSslConfigArgs',
@@ -1585,6 +1587,98 @@ class ClusterSecondaryConfigArgs:
1585
1587
  pulumi.set(self, "primary_cluster_name", value)
1586
1588
 
1587
1589
 
1590
+ if not MYPY:
1591
+ class ClusterTrialMetadataArgsDict(TypedDict):
1592
+ end_time: NotRequired[pulumi.Input[str]]
1593
+ """
1594
+ End time of the trial cluster.
1595
+ """
1596
+ grace_end_time: NotRequired[pulumi.Input[str]]
1597
+ """
1598
+ Grace end time of the trial cluster.
1599
+ """
1600
+ start_time: NotRequired[pulumi.Input[str]]
1601
+ """
1602
+ Start time of the trial cluster.
1603
+ """
1604
+ upgrade_time: NotRequired[pulumi.Input[str]]
1605
+ """
1606
+ Upgrade time of the trial cluster to standard cluster.
1607
+ """
1608
+ elif False:
1609
+ ClusterTrialMetadataArgsDict: TypeAlias = Mapping[str, Any]
1610
+
1611
+ @pulumi.input_type
1612
+ class ClusterTrialMetadataArgs:
1613
+ def __init__(__self__, *,
1614
+ end_time: Optional[pulumi.Input[str]] = None,
1615
+ grace_end_time: Optional[pulumi.Input[str]] = None,
1616
+ start_time: Optional[pulumi.Input[str]] = None,
1617
+ upgrade_time: Optional[pulumi.Input[str]] = None):
1618
+ """
1619
+ :param pulumi.Input[str] end_time: End time of the trial cluster.
1620
+ :param pulumi.Input[str] grace_end_time: Grace end time of the trial cluster.
1621
+ :param pulumi.Input[str] start_time: Start time of the trial cluster.
1622
+ :param pulumi.Input[str] upgrade_time: Upgrade time of the trial cluster to standard cluster.
1623
+ """
1624
+ if end_time is not None:
1625
+ pulumi.set(__self__, "end_time", end_time)
1626
+ if grace_end_time is not None:
1627
+ pulumi.set(__self__, "grace_end_time", grace_end_time)
1628
+ if start_time is not None:
1629
+ pulumi.set(__self__, "start_time", start_time)
1630
+ if upgrade_time is not None:
1631
+ pulumi.set(__self__, "upgrade_time", upgrade_time)
1632
+
1633
+ @property
1634
+ @pulumi.getter(name="endTime")
1635
+ def end_time(self) -> Optional[pulumi.Input[str]]:
1636
+ """
1637
+ End time of the trial cluster.
1638
+ """
1639
+ return pulumi.get(self, "end_time")
1640
+
1641
+ @end_time.setter
1642
+ def end_time(self, value: Optional[pulumi.Input[str]]):
1643
+ pulumi.set(self, "end_time", value)
1644
+
1645
+ @property
1646
+ @pulumi.getter(name="graceEndTime")
1647
+ def grace_end_time(self) -> Optional[pulumi.Input[str]]:
1648
+ """
1649
+ Grace end time of the trial cluster.
1650
+ """
1651
+ return pulumi.get(self, "grace_end_time")
1652
+
1653
+ @grace_end_time.setter
1654
+ def grace_end_time(self, value: Optional[pulumi.Input[str]]):
1655
+ pulumi.set(self, "grace_end_time", value)
1656
+
1657
+ @property
1658
+ @pulumi.getter(name="startTime")
1659
+ def start_time(self) -> Optional[pulumi.Input[str]]:
1660
+ """
1661
+ Start time of the trial cluster.
1662
+ """
1663
+ return pulumi.get(self, "start_time")
1664
+
1665
+ @start_time.setter
1666
+ def start_time(self, value: Optional[pulumi.Input[str]]):
1667
+ pulumi.set(self, "start_time", value)
1668
+
1669
+ @property
1670
+ @pulumi.getter(name="upgradeTime")
1671
+ def upgrade_time(self) -> Optional[pulumi.Input[str]]:
1672
+ """
1673
+ Upgrade time of the trial cluster to standard cluster.
1674
+ """
1675
+ return pulumi.get(self, "upgrade_time")
1676
+
1677
+ @upgrade_time.setter
1678
+ def upgrade_time(self, value: Optional[pulumi.Input[str]]):
1679
+ pulumi.set(self, "upgrade_time", value)
1680
+
1681
+
1588
1682
  if not MYPY:
1589
1683
  class InstanceClientConnectionConfigArgsDict(TypedDict):
1590
1684
  require_connectors: NotRequired[pulumi.Input[bool]]
@@ -40,7 +40,8 @@ class ClusterArgs:
40
40
  psc_config: Optional[pulumi.Input['ClusterPscConfigArgs']] = None,
41
41
  restore_backup_source: Optional[pulumi.Input['ClusterRestoreBackupSourceArgs']] = None,
42
42
  restore_continuous_backup_source: Optional[pulumi.Input['ClusterRestoreContinuousBackupSourceArgs']] = None,
43
- secondary_config: Optional[pulumi.Input['ClusterSecondaryConfigArgs']] = None):
43
+ secondary_config: Optional[pulumi.Input['ClusterSecondaryConfigArgs']] = None,
44
+ subscription_type: Optional[pulumi.Input[str]] = None):
44
45
  """
45
46
  The set of arguments for constructing a Cluster resource.
46
47
  :param pulumi.Input[str] cluster_id: The ID of the alloydb cluster.
@@ -65,6 +66,7 @@ class ClusterArgs:
65
66
  :param pulumi.Input[str] deletion_policy: Policy to determine if the cluster should be deleted forcefully.
66
67
  Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster.
67
68
  Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance.
69
+ Possible values: DEFAULT, FORCE
68
70
  :param pulumi.Input[str] display_name: User-settable and human-readable display name for the Cluster.
69
71
  :param pulumi.Input['ClusterEncryptionConfigArgs'] encryption_config: EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key).
70
72
  Structure is documented below.
@@ -88,6 +90,8 @@ class ClusterArgs:
88
90
  Structure is documented below.
89
91
  :param pulumi.Input['ClusterSecondaryConfigArgs'] secondary_config: Configuration of the secondary cluster for Cross Region Replication. This should be set if and only if the cluster is of type SECONDARY.
90
92
  Structure is documented below.
93
+ :param pulumi.Input[str] subscription_type: The subscrition type of cluster.
94
+ Possible values are: `TRIAL`, `STANDARD`.
91
95
  """
92
96
  pulumi.set(__self__, "cluster_id", cluster_id)
93
97
  pulumi.set(__self__, "location", location)
@@ -127,6 +131,8 @@ class ClusterArgs:
127
131
  pulumi.set(__self__, "restore_continuous_backup_source", restore_continuous_backup_source)
128
132
  if secondary_config is not None:
129
133
  pulumi.set(__self__, "secondary_config", secondary_config)
134
+ if subscription_type is not None:
135
+ pulumi.set(__self__, "subscription_type", subscription_type)
130
136
 
131
137
  @property
132
138
  @pulumi.getter(name="clusterId")
@@ -231,6 +237,7 @@ class ClusterArgs:
231
237
  Policy to determine if the cluster should be deleted forcefully.
232
238
  Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster.
233
239
  Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance.
240
+ Possible values: DEFAULT, FORCE
234
241
  """
235
242
  return pulumi.get(self, "deletion_policy")
236
243
 
@@ -393,6 +400,19 @@ class ClusterArgs:
393
400
  def secondary_config(self, value: Optional[pulumi.Input['ClusterSecondaryConfigArgs']]):
394
401
  pulumi.set(self, "secondary_config", value)
395
402
 
403
+ @property
404
+ @pulumi.getter(name="subscriptionType")
405
+ def subscription_type(self) -> Optional[pulumi.Input[str]]:
406
+ """
407
+ The subscrition type of cluster.
408
+ Possible values are: `TRIAL`, `STANDARD`.
409
+ """
410
+ return pulumi.get(self, "subscription_type")
411
+
412
+ @subscription_type.setter
413
+ def subscription_type(self, value: Optional[pulumi.Input[str]]):
414
+ pulumi.set(self, "subscription_type", value)
415
+
396
416
 
397
417
  @pulumi.input_type
398
418
  class _ClusterState:
@@ -427,6 +447,8 @@ class _ClusterState:
427
447
  restore_continuous_backup_source: Optional[pulumi.Input['ClusterRestoreContinuousBackupSourceArgs']] = None,
428
448
  secondary_config: Optional[pulumi.Input['ClusterSecondaryConfigArgs']] = None,
429
449
  state: Optional[pulumi.Input[str]] = None,
450
+ subscription_type: Optional[pulumi.Input[str]] = None,
451
+ trial_metadatas: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterTrialMetadataArgs']]]] = None,
430
452
  uid: Optional[pulumi.Input[str]] = None):
431
453
  """
432
454
  Input properties used for looking up and filtering Cluster resources.
@@ -452,6 +474,7 @@ class _ClusterState:
452
474
  :param pulumi.Input[str] deletion_policy: Policy to determine if the cluster should be deleted forcefully.
453
475
  Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster.
454
476
  Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance.
477
+ Possible values: DEFAULT, FORCE
455
478
  :param pulumi.Input[str] display_name: User-settable and human-readable display name for the Cluster.
456
479
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
457
480
  :param pulumi.Input['ClusterEncryptionConfigArgs'] encryption_config: EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key).
@@ -492,6 +515,10 @@ class _ClusterState:
492
515
  :param pulumi.Input['ClusterSecondaryConfigArgs'] secondary_config: Configuration of the secondary cluster for Cross Region Replication. This should be set if and only if the cluster is of type SECONDARY.
493
516
  Structure is documented below.
494
517
  :param pulumi.Input[str] state: Output only. The current serving state of the cluster.
518
+ :param pulumi.Input[str] subscription_type: The subscrition type of cluster.
519
+ Possible values are: `TRIAL`, `STANDARD`.
520
+ :param pulumi.Input[Sequence[pulumi.Input['ClusterTrialMetadataArgs']]] trial_metadatas: Contains information and all metadata related to TRIAL clusters.
521
+ Structure is documented below.
495
522
  :param pulumi.Input[str] uid: The system-generated UID of the resource.
496
523
  """
497
524
  if annotations is not None:
@@ -554,6 +581,10 @@ class _ClusterState:
554
581
  pulumi.set(__self__, "secondary_config", secondary_config)
555
582
  if state is not None:
556
583
  pulumi.set(__self__, "state", state)
584
+ if subscription_type is not None:
585
+ pulumi.set(__self__, "subscription_type", subscription_type)
586
+ if trial_metadatas is not None:
587
+ pulumi.set(__self__, "trial_metadatas", trial_metadatas)
557
588
  if uid is not None:
558
589
  pulumi.set(__self__, "uid", uid)
559
590
 
@@ -671,6 +702,7 @@ class _ClusterState:
671
702
  Policy to determine if the cluster should be deleted forcefully.
672
703
  Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster.
673
704
  Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance.
705
+ Possible values: DEFAULT, FORCE
674
706
  """
675
707
  return pulumi.get(self, "deletion_policy")
676
708
 
@@ -947,6 +979,32 @@ class _ClusterState:
947
979
  def state(self, value: Optional[pulumi.Input[str]]):
948
980
  pulumi.set(self, "state", value)
949
981
 
982
+ @property
983
+ @pulumi.getter(name="subscriptionType")
984
+ def subscription_type(self) -> Optional[pulumi.Input[str]]:
985
+ """
986
+ The subscrition type of cluster.
987
+ Possible values are: `TRIAL`, `STANDARD`.
988
+ """
989
+ return pulumi.get(self, "subscription_type")
990
+
991
+ @subscription_type.setter
992
+ def subscription_type(self, value: Optional[pulumi.Input[str]]):
993
+ pulumi.set(self, "subscription_type", value)
994
+
995
+ @property
996
+ @pulumi.getter(name="trialMetadatas")
997
+ def trial_metadatas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterTrialMetadataArgs']]]]:
998
+ """
999
+ Contains information and all metadata related to TRIAL clusters.
1000
+ Structure is documented below.
1001
+ """
1002
+ return pulumi.get(self, "trial_metadatas")
1003
+
1004
+ @trial_metadatas.setter
1005
+ def trial_metadatas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterTrialMetadataArgs']]]]):
1006
+ pulumi.set(self, "trial_metadatas", value)
1007
+
950
1008
  @property
951
1009
  @pulumi.getter
952
1010
  def uid(self) -> Optional[pulumi.Input[str]]:
@@ -985,6 +1043,7 @@ class Cluster(pulumi.CustomResource):
985
1043
  restore_backup_source: Optional[pulumi.Input[Union['ClusterRestoreBackupSourceArgs', 'ClusterRestoreBackupSourceArgsDict']]] = None,
986
1044
  restore_continuous_backup_source: Optional[pulumi.Input[Union['ClusterRestoreContinuousBackupSourceArgs', 'ClusterRestoreContinuousBackupSourceArgsDict']]] = None,
987
1045
  secondary_config: Optional[pulumi.Input[Union['ClusterSecondaryConfigArgs', 'ClusterSecondaryConfigArgsDict']]] = None,
1046
+ subscription_type: Optional[pulumi.Input[str]] = None,
988
1047
  __props__=None):
989
1048
  """
990
1049
  ## Example Usage
@@ -1149,6 +1208,7 @@ class Cluster(pulumi.CustomResource):
1149
1208
  :param pulumi.Input[str] deletion_policy: Policy to determine if the cluster should be deleted forcefully.
1150
1209
  Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster.
1151
1210
  Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance.
1211
+ Possible values: DEFAULT, FORCE
1152
1212
  :param pulumi.Input[str] display_name: User-settable and human-readable display name for the Cluster.
1153
1213
  :param pulumi.Input[Union['ClusterEncryptionConfigArgs', 'ClusterEncryptionConfigArgsDict']] encryption_config: EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key).
1154
1214
  Structure is documented below.
@@ -1176,6 +1236,8 @@ class Cluster(pulumi.CustomResource):
1176
1236
  Structure is documented below.
1177
1237
  :param pulumi.Input[Union['ClusterSecondaryConfigArgs', 'ClusterSecondaryConfigArgsDict']] secondary_config: Configuration of the secondary cluster for Cross Region Replication. This should be set if and only if the cluster is of type SECONDARY.
1178
1238
  Structure is documented below.
1239
+ :param pulumi.Input[str] subscription_type: The subscrition type of cluster.
1240
+ Possible values are: `TRIAL`, `STANDARD`.
1179
1241
  """
1180
1242
  ...
1181
1243
  @overload
@@ -1361,6 +1423,7 @@ class Cluster(pulumi.CustomResource):
1361
1423
  restore_backup_source: Optional[pulumi.Input[Union['ClusterRestoreBackupSourceArgs', 'ClusterRestoreBackupSourceArgsDict']]] = None,
1362
1424
  restore_continuous_backup_source: Optional[pulumi.Input[Union['ClusterRestoreContinuousBackupSourceArgs', 'ClusterRestoreContinuousBackupSourceArgsDict']]] = None,
1363
1425
  secondary_config: Optional[pulumi.Input[Union['ClusterSecondaryConfigArgs', 'ClusterSecondaryConfigArgsDict']]] = None,
1426
+ subscription_type: Optional[pulumi.Input[str]] = None,
1364
1427
  __props__=None):
1365
1428
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1366
1429
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -1394,6 +1457,7 @@ class Cluster(pulumi.CustomResource):
1394
1457
  __props__.__dict__["restore_backup_source"] = restore_backup_source
1395
1458
  __props__.__dict__["restore_continuous_backup_source"] = restore_continuous_backup_source
1396
1459
  __props__.__dict__["secondary_config"] = secondary_config
1460
+ __props__.__dict__["subscription_type"] = subscription_type
1397
1461
  __props__.__dict__["backup_sources"] = None
1398
1462
  __props__.__dict__["continuous_backup_infos"] = None
1399
1463
  __props__.__dict__["effective_annotations"] = None
@@ -1404,6 +1468,7 @@ class Cluster(pulumi.CustomResource):
1404
1468
  __props__.__dict__["pulumi_labels"] = None
1405
1469
  __props__.__dict__["reconciling"] = None
1406
1470
  __props__.__dict__["state"] = None
1471
+ __props__.__dict__["trial_metadatas"] = None
1407
1472
  __props__.__dict__["uid"] = None
1408
1473
  secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
1409
1474
  opts = pulumi.ResourceOptions.merge(opts, secret_opts)
@@ -1447,6 +1512,8 @@ class Cluster(pulumi.CustomResource):
1447
1512
  restore_continuous_backup_source: Optional[pulumi.Input[Union['ClusterRestoreContinuousBackupSourceArgs', 'ClusterRestoreContinuousBackupSourceArgsDict']]] = None,
1448
1513
  secondary_config: Optional[pulumi.Input[Union['ClusterSecondaryConfigArgs', 'ClusterSecondaryConfigArgsDict']]] = None,
1449
1514
  state: Optional[pulumi.Input[str]] = None,
1515
+ subscription_type: Optional[pulumi.Input[str]] = None,
1516
+ trial_metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterTrialMetadataArgs', 'ClusterTrialMetadataArgsDict']]]]] = None,
1450
1517
  uid: Optional[pulumi.Input[str]] = None) -> 'Cluster':
1451
1518
  """
1452
1519
  Get an existing Cluster resource's state with the given name, id, and optional extra
@@ -1477,6 +1544,7 @@ class Cluster(pulumi.CustomResource):
1477
1544
  :param pulumi.Input[str] deletion_policy: Policy to determine if the cluster should be deleted forcefully.
1478
1545
  Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster.
1479
1546
  Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance.
1547
+ Possible values: DEFAULT, FORCE
1480
1548
  :param pulumi.Input[str] display_name: User-settable and human-readable display name for the Cluster.
1481
1549
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
1482
1550
  :param pulumi.Input[Union['ClusterEncryptionConfigArgs', 'ClusterEncryptionConfigArgsDict']] encryption_config: EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key).
@@ -1517,6 +1585,10 @@ class Cluster(pulumi.CustomResource):
1517
1585
  :param pulumi.Input[Union['ClusterSecondaryConfigArgs', 'ClusterSecondaryConfigArgsDict']] secondary_config: Configuration of the secondary cluster for Cross Region Replication. This should be set if and only if the cluster is of type SECONDARY.
1518
1586
  Structure is documented below.
1519
1587
  :param pulumi.Input[str] state: Output only. The current serving state of the cluster.
1588
+ :param pulumi.Input[str] subscription_type: The subscrition type of cluster.
1589
+ Possible values are: `TRIAL`, `STANDARD`.
1590
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterTrialMetadataArgs', 'ClusterTrialMetadataArgsDict']]]] trial_metadatas: Contains information and all metadata related to TRIAL clusters.
1591
+ Structure is documented below.
1520
1592
  :param pulumi.Input[str] uid: The system-generated UID of the resource.
1521
1593
  """
1522
1594
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -1553,6 +1625,8 @@ class Cluster(pulumi.CustomResource):
1553
1625
  __props__.__dict__["restore_continuous_backup_source"] = restore_continuous_backup_source
1554
1626
  __props__.__dict__["secondary_config"] = secondary_config
1555
1627
  __props__.__dict__["state"] = state
1628
+ __props__.__dict__["subscription_type"] = subscription_type
1629
+ __props__.__dict__["trial_metadatas"] = trial_metadatas
1556
1630
  __props__.__dict__["uid"] = uid
1557
1631
  return Cluster(resource_name, opts=opts, __props__=__props__)
1558
1632
 
@@ -1638,6 +1712,7 @@ class Cluster(pulumi.CustomResource):
1638
1712
  Policy to determine if the cluster should be deleted forcefully.
1639
1713
  Deleting a cluster forcefully, deletes the cluster and all its associated instances within the cluster.
1640
1714
  Deleting a Secondary cluster with a secondary instance REQUIRES setting deletion_policy = "FORCE" otherwise an error is returned. This is needed as there is no support to delete just the secondary instance, and the only way to delete secondary instance is to delete the associated secondary cluster forcefully which also deletes the secondary instance.
1715
+ Possible values: DEFAULT, FORCE
1641
1716
  """
1642
1717
  return pulumi.get(self, "deletion_policy")
1643
1718
 
@@ -1826,6 +1901,24 @@ class Cluster(pulumi.CustomResource):
1826
1901
  """
1827
1902
  return pulumi.get(self, "state")
1828
1903
 
1904
+ @property
1905
+ @pulumi.getter(name="subscriptionType")
1906
+ def subscription_type(self) -> pulumi.Output[str]:
1907
+ """
1908
+ The subscrition type of cluster.
1909
+ Possible values are: `TRIAL`, `STANDARD`.
1910
+ """
1911
+ return pulumi.get(self, "subscription_type")
1912
+
1913
+ @property
1914
+ @pulumi.getter(name="trialMetadatas")
1915
+ def trial_metadatas(self) -> pulumi.Output[Sequence['outputs.ClusterTrialMetadata']]:
1916
+ """
1917
+ Contains information and all metadata related to TRIAL clusters.
1918
+ Structure is documented below.
1919
+ """
1920
+ return pulumi.get(self, "trial_metadatas")
1921
+
1829
1922
  @property
1830
1923
  @pulumi.getter
1831
1924
  def uid(self) -> pulumi.Output[str]:
@@ -42,6 +42,7 @@ __all__ = [
42
42
  'ClusterRestoreBackupSource',
43
43
  'ClusterRestoreContinuousBackupSource',
44
44
  'ClusterSecondaryConfig',
45
+ 'ClusterTrialMetadata',
45
46
  'InstanceClientConnectionConfig',
46
47
  'InstanceClientConnectionConfigSslConfig',
47
48
  'InstanceMachineConfig',
@@ -1354,6 +1355,84 @@ class ClusterSecondaryConfig(dict):
1354
1355
  return pulumi.get(self, "primary_cluster_name")
1355
1356
 
1356
1357
 
1358
+ @pulumi.output_type
1359
+ class ClusterTrialMetadata(dict):
1360
+ @staticmethod
1361
+ def __key_warning(key: str):
1362
+ suggest = None
1363
+ if key == "endTime":
1364
+ suggest = "end_time"
1365
+ elif key == "graceEndTime":
1366
+ suggest = "grace_end_time"
1367
+ elif key == "startTime":
1368
+ suggest = "start_time"
1369
+ elif key == "upgradeTime":
1370
+ suggest = "upgrade_time"
1371
+
1372
+ if suggest:
1373
+ pulumi.log.warn(f"Key '{key}' not found in ClusterTrialMetadata. Access the value via the '{suggest}' property getter instead.")
1374
+
1375
+ def __getitem__(self, key: str) -> Any:
1376
+ ClusterTrialMetadata.__key_warning(key)
1377
+ return super().__getitem__(key)
1378
+
1379
+ def get(self, key: str, default = None) -> Any:
1380
+ ClusterTrialMetadata.__key_warning(key)
1381
+ return super().get(key, default)
1382
+
1383
+ def __init__(__self__, *,
1384
+ end_time: Optional[str] = None,
1385
+ grace_end_time: Optional[str] = None,
1386
+ start_time: Optional[str] = None,
1387
+ upgrade_time: Optional[str] = None):
1388
+ """
1389
+ :param str end_time: End time of the trial cluster.
1390
+ :param str grace_end_time: Grace end time of the trial cluster.
1391
+ :param str start_time: Start time of the trial cluster.
1392
+ :param str upgrade_time: Upgrade time of the trial cluster to standard cluster.
1393
+ """
1394
+ if end_time is not None:
1395
+ pulumi.set(__self__, "end_time", end_time)
1396
+ if grace_end_time is not None:
1397
+ pulumi.set(__self__, "grace_end_time", grace_end_time)
1398
+ if start_time is not None:
1399
+ pulumi.set(__self__, "start_time", start_time)
1400
+ if upgrade_time is not None:
1401
+ pulumi.set(__self__, "upgrade_time", upgrade_time)
1402
+
1403
+ @property
1404
+ @pulumi.getter(name="endTime")
1405
+ def end_time(self) -> Optional[str]:
1406
+ """
1407
+ End time of the trial cluster.
1408
+ """
1409
+ return pulumi.get(self, "end_time")
1410
+
1411
+ @property
1412
+ @pulumi.getter(name="graceEndTime")
1413
+ def grace_end_time(self) -> Optional[str]:
1414
+ """
1415
+ Grace end time of the trial cluster.
1416
+ """
1417
+ return pulumi.get(self, "grace_end_time")
1418
+
1419
+ @property
1420
+ @pulumi.getter(name="startTime")
1421
+ def start_time(self) -> Optional[str]:
1422
+ """
1423
+ Start time of the trial cluster.
1424
+ """
1425
+ return pulumi.get(self, "start_time")
1426
+
1427
+ @property
1428
+ @pulumi.getter(name="upgradeTime")
1429
+ def upgrade_time(self) -> Optional[str]:
1430
+ """
1431
+ Upgrade time of the trial cluster to standard cluster.
1432
+ """
1433
+ return pulumi.get(self, "upgrade_time")
1434
+
1435
+
1357
1436
  @pulumi.output_type
1358
1437
  class InstanceClientConnectionConfig(dict):
1359
1438
  @staticmethod