pulumi-gcp 8.11.0a1734348982__py3-none-any.whl → 8.12.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 (168) hide show
  1. pulumi_gcp/__init__.py +123 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +6 -0
  3. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +6 -0
  4. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +6 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +6 -0
  6. pulumi_gcp/apigee/app_group.py +7 -7
  7. pulumi_gcp/applicationintegration/client.py +8 -6
  8. pulumi_gcp/artifactregistry/_inputs.py +24 -15
  9. pulumi_gcp/artifactregistry/get_repository_iam_policy.py +12 -4
  10. pulumi_gcp/artifactregistry/outputs.py +32 -20
  11. pulumi_gcp/artifactregistry/repository.py +214 -39
  12. pulumi_gcp/artifactregistry/repository_iam_binding.py +42 -14
  13. pulumi_gcp/artifactregistry/repository_iam_member.py +42 -14
  14. pulumi_gcp/artifactregistry/repository_iam_policy.py +42 -14
  15. pulumi_gcp/assuredworkloads/workload.py +7 -7
  16. pulumi_gcp/backupdisasterrecovery/__init__.py +2 -0
  17. pulumi_gcp/backupdisasterrecovery/backup_plan.py +2 -2
  18. pulumi_gcp/backupdisasterrecovery/backup_vault.py +12 -8
  19. pulumi_gcp/backupdisasterrecovery/get_backup.py +153 -0
  20. pulumi_gcp/backupdisasterrecovery/get_backup_vault.py +415 -0
  21. pulumi_gcp/backupdisasterrecovery/outputs.py +63 -0
  22. pulumi_gcp/bigquery/app_profile.py +75 -0
  23. pulumi_gcp/billing/_inputs.py +6 -6
  24. pulumi_gcp/billing/outputs.py +4 -4
  25. pulumi_gcp/certificateauthority/_inputs.py +9 -9
  26. pulumi_gcp/certificateauthority/outputs.py +8 -8
  27. pulumi_gcp/cloudbuild/_inputs.py +53 -0
  28. pulumi_gcp/cloudbuild/outputs.py +50 -0
  29. pulumi_gcp/cloudbuild/worker_pool.py +47 -0
  30. pulumi_gcp/clouddeploy/_inputs.py +254 -0
  31. pulumi_gcp/clouddeploy/outputs.py +211 -0
  32. pulumi_gcp/clouddeploy/target.py +47 -0
  33. pulumi_gcp/cloudfunctionsv2/_inputs.py +6 -6
  34. pulumi_gcp/cloudfunctionsv2/outputs.py +8 -8
  35. pulumi_gcp/cloudrunv2/job.py +4 -4
  36. pulumi_gcp/cloudrunv2/service.py +4 -4
  37. pulumi_gcp/composer/get_user_workloads_config_map.py +4 -0
  38. pulumi_gcp/composer/get_user_workloads_secret.py +4 -0
  39. pulumi_gcp/composer/user_workloads_config_map.py +14 -0
  40. pulumi_gcp/composer/user_workloads_secret.py +6 -0
  41. pulumi_gcp/compute/_inputs.py +566 -25
  42. pulumi_gcp/compute/disk.py +21 -7
  43. pulumi_gcp/compute/firewall_policy_rule.py +12 -0
  44. pulumi_gcp/compute/get_forwarding_rules.py +2 -2
  45. pulumi_gcp/compute/get_global_forwarding_rule.py +23 -1
  46. pulumi_gcp/compute/get_instance_group_manager.py +12 -1
  47. pulumi_gcp/compute/get_network.py +35 -1
  48. pulumi_gcp/compute/get_region_instance_group_manager.py +12 -1
  49. pulumi_gcp/compute/get_region_network_endpoint_group.py +12 -1
  50. pulumi_gcp/compute/global_forwarding_rule.py +142 -2
  51. pulumi_gcp/compute/instance_group_manager.py +28 -0
  52. pulumi_gcp/compute/network.py +75 -0
  53. pulumi_gcp/compute/outputs.py +655 -26
  54. pulumi_gcp/compute/project_cloud_armor_tier.py +7 -7
  55. pulumi_gcp/compute/region_health_check.py +28 -0
  56. pulumi_gcp/compute/region_instance_group_manager.py +28 -0
  57. pulumi_gcp/compute/region_network_endpoint.py +28 -0
  58. pulumi_gcp/compute/region_network_endpoint_group.py +70 -2
  59. pulumi_gcp/compute/subnetwork.py +30 -2
  60. pulumi_gcp/compute/url_map.py +7 -7
  61. pulumi_gcp/config/__init__.pyi +2 -0
  62. pulumi_gcp/config/vars.py +4 -0
  63. pulumi_gcp/container/_inputs.py +201 -3
  64. pulumi_gcp/container/cluster.py +68 -14
  65. pulumi_gcp/container/get_cluster.py +12 -1
  66. pulumi_gcp/container/outputs.py +249 -3
  67. pulumi_gcp/dataproc/_inputs.py +209 -1
  68. pulumi_gcp/dataproc/batch.py +76 -0
  69. pulumi_gcp/dataproc/outputs.py +169 -3
  70. pulumi_gcp/diagflow/_inputs.py +3 -3
  71. pulumi_gcp/diagflow/outputs.py +2 -2
  72. pulumi_gcp/discoveryengine/search_engine.py +7 -7
  73. pulumi_gcp/firebase/_inputs.py +99 -0
  74. pulumi_gcp/firebase/database_instance.py +24 -6
  75. pulumi_gcp/firebase/hosting_version.py +96 -0
  76. pulumi_gcp/firebase/outputs.py +59 -0
  77. pulumi_gcp/firebase/project.py +6 -6
  78. pulumi_gcp/firebaserules/release.py +76 -0
  79. pulumi_gcp/firestore/field.py +4 -4
  80. pulumi_gcp/gemini/__init__.py +15 -0
  81. pulumi_gcp/gemini/_inputs.py +183 -0
  82. pulumi_gcp/gemini/code_repository_index.py +659 -0
  83. pulumi_gcp/gemini/get_repository_group_iam_policy.py +171 -0
  84. pulumi_gcp/gemini/outputs.py +130 -0
  85. pulumi_gcp/gemini/repository_group.py +586 -0
  86. pulumi_gcp/gemini/repository_group_iam_binding.py +604 -0
  87. pulumi_gcp/gemini/repository_group_iam_member.py +604 -0
  88. pulumi_gcp/gemini/repository_group_iam_policy.py +443 -0
  89. pulumi_gcp/gkehub/_inputs.py +30 -10
  90. pulumi_gcp/gkehub/membership_binding.py +6 -6
  91. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  92. pulumi_gcp/gkehub/namespace.py +4 -4
  93. pulumi_gcp/gkehub/outputs.py +21 -7
  94. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  95. pulumi_gcp/iam/__init__.py +1 -0
  96. pulumi_gcp/iam/_inputs.py +137 -0
  97. pulumi_gcp/iam/folders_policy_binding.py +16 -0
  98. pulumi_gcp/iam/organizations_policy_binding.py +16 -0
  99. pulumi_gcp/iam/outputs.py +99 -0
  100. pulumi_gcp/iam/principal_access_boundary_policy.py +16 -0
  101. pulumi_gcp/iam/projects_policy_binding.py +917 -0
  102. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  103. pulumi_gcp/identityplatform/_inputs.py +6 -6
  104. pulumi_gcp/identityplatform/config.py +2 -2
  105. pulumi_gcp/identityplatform/outputs.py +4 -4
  106. pulumi_gcp/integrationconnectors/_inputs.py +15 -15
  107. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  108. pulumi_gcp/integrationconnectors/outputs.py +10 -10
  109. pulumi_gcp/looker/instance.py +35 -14
  110. pulumi_gcp/monitoring/_inputs.py +13 -6
  111. pulumi_gcp/monitoring/outputs.py +10 -4
  112. pulumi_gcp/netapp/_inputs.py +3 -3
  113. pulumi_gcp/netapp/active_directory.py +7 -7
  114. pulumi_gcp/netapp/outputs.py +2 -2
  115. pulumi_gcp/netapp/volume.py +11 -11
  116. pulumi_gcp/networkconnectivity/_inputs.py +10 -12
  117. pulumi_gcp/networkconnectivity/outputs.py +6 -8
  118. pulumi_gcp/networkconnectivity/spoke.py +10 -10
  119. pulumi_gcp/networksecurity/__init__.py +7 -0
  120. pulumi_gcp/networksecurity/_inputs.py +2018 -0
  121. pulumi_gcp/networksecurity/authz_policy.py +1008 -0
  122. pulumi_gcp/networksecurity/intercept_deployment.py +846 -0
  123. pulumi_gcp/networksecurity/intercept_deployment_group.py +752 -0
  124. pulumi_gcp/networksecurity/mirroring_deployment.py +848 -0
  125. pulumi_gcp/networksecurity/mirroring_deployment_group.py +752 -0
  126. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +737 -0
  127. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +840 -0
  128. pulumi_gcp/networksecurity/outputs.py +1463 -0
  129. pulumi_gcp/networkservices/__init__.py +1 -0
  130. pulumi_gcp/networkservices/authz_extension.py +1080 -0
  131. pulumi_gcp/oracledatabase/autonomous_database.py +46 -8
  132. pulumi_gcp/oracledatabase/cloud_exadata_infrastructure.py +42 -4
  133. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +50 -8
  134. pulumi_gcp/oracledatabase/get_autonomous_database.py +12 -1
  135. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructure.py +12 -1
  136. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +12 -1
  137. pulumi_gcp/oracledatabase/outputs.py +21 -0
  138. pulumi_gcp/orgpolicy/_inputs.py +40 -0
  139. pulumi_gcp/orgpolicy/outputs.py +24 -0
  140. pulumi_gcp/orgpolicy/policy.py +66 -10
  141. pulumi_gcp/parallelstore/instance.py +4 -0
  142. pulumi_gcp/provider.py +20 -0
  143. pulumi_gcp/pubsub/subscription.py +6 -6
  144. pulumi_gcp/pulumi-plugin.json +1 -1
  145. pulumi_gcp/redis/_inputs.py +435 -3
  146. pulumi_gcp/redis/cluster.py +287 -16
  147. pulumi_gcp/redis/outputs.py +304 -2
  148. pulumi_gcp/serviceaccount/get_account_id_token.py +2 -2
  149. pulumi_gcp/serviceaccount/get_account_key.py +2 -2
  150. pulumi_gcp/sql/_inputs.py +3 -3
  151. pulumi_gcp/sql/database_instance.py +14 -14
  152. pulumi_gcp/sql/outputs.py +2 -2
  153. pulumi_gcp/storage/_inputs.py +53 -6
  154. pulumi_gcp/storage/get_bucket.py +2 -2
  155. pulumi_gcp/storage/get_bucket_object_content.py +2 -2
  156. pulumi_gcp/storage/outputs.py +33 -4
  157. pulumi_gcp/tpu/__init__.py +1 -0
  158. pulumi_gcp/tpu/_inputs.py +214 -24
  159. pulumi_gcp/tpu/outputs.py +182 -16
  160. pulumi_gcp/tpu/v2_queued_resource.py +434 -0
  161. pulumi_gcp/tpu/v2_vm.py +63 -0
  162. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  163. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  164. pulumi_gcp/vertex/ai_index_endpoint.py +2 -2
  165. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/METADATA +1 -1
  166. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/RECORD +168 -147
  167. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/WHEEL +0 -0
  168. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/top_level.txt +0 -0
@@ -15,6 +15,18 @@ else:
15
15
  from .. import _utilities
16
16
 
17
17
  __all__ = [
18
+ 'ClusterCrossClusterReplicationConfigArgs',
19
+ 'ClusterCrossClusterReplicationConfigArgsDict',
20
+ 'ClusterCrossClusterReplicationConfigMembershipArgs',
21
+ 'ClusterCrossClusterReplicationConfigMembershipArgsDict',
22
+ 'ClusterCrossClusterReplicationConfigMembershipPrimaryClusterArgs',
23
+ 'ClusterCrossClusterReplicationConfigMembershipPrimaryClusterArgsDict',
24
+ 'ClusterCrossClusterReplicationConfigMembershipSecondaryClusterArgs',
25
+ 'ClusterCrossClusterReplicationConfigMembershipSecondaryClusterArgsDict',
26
+ 'ClusterCrossClusterReplicationConfigPrimaryClusterArgs',
27
+ 'ClusterCrossClusterReplicationConfigPrimaryClusterArgsDict',
28
+ 'ClusterCrossClusterReplicationConfigSecondaryClusterArgs',
29
+ 'ClusterCrossClusterReplicationConfigSecondaryClusterArgsDict',
18
30
  'ClusterDiscoveryEndpointArgs',
19
31
  'ClusterDiscoveryEndpointArgsDict',
20
32
  'ClusterDiscoveryEndpointPscConfigArgs',
@@ -61,6 +73,426 @@ __all__ = [
61
73
 
62
74
  MYPY = False
63
75
 
76
+ if not MYPY:
77
+ class ClusterCrossClusterReplicationConfigArgsDict(TypedDict):
78
+ cluster_role: NotRequired[pulumi.Input[str]]
79
+ """
80
+ The role of the cluster in cross cluster replication. Supported values are:
81
+ 1. `CLUSTER_ROLE_UNSPECIFIED`: This is an independent cluster that has never participated in cross cluster replication. It allows both reads and writes.
82
+ 1. `NONE`: This is an independent cluster that previously participated in cross cluster replication(either as a `PRIMARY` or `SECONDARY` cluster). It allows both reads and writes.
83
+ 1. `PRIMARY`: This cluster serves as the replication source for secondary clusters that are replicating from it. Any data written to it is automatically replicated to its secondary clusters. It allows both reads and writes.
84
+ 1. `SECONDARY`: This cluster replicates data from the primary cluster. It allows only reads.
85
+ Possible values are: `CLUSTER_ROLE_UNSPECIFIED`, `NONE`, `PRIMARY`, `SECONDARY`.
86
+ """
87
+ memberships: NotRequired[pulumi.Input[Sequence[pulumi.Input['ClusterCrossClusterReplicationConfigMembershipArgsDict']]]]
88
+ """
89
+ (Output)
90
+ An output only view of all the member clusters participating in cross cluster replication. This field is populated for all the member clusters irrespective of their cluster role.
91
+ Structure is documented below.
92
+ """
93
+ primary_cluster: NotRequired[pulumi.Input['ClusterCrossClusterReplicationConfigPrimaryClusterArgsDict']]
94
+ """
95
+ Details of the primary cluster that is used as the replication source for this secondary cluster. This is allowed to be set only for clusters whose cluster role is of type `SECONDARY`.
96
+ Structure is documented below.
97
+ """
98
+ secondary_clusters: NotRequired[pulumi.Input[Sequence[pulumi.Input['ClusterCrossClusterReplicationConfigSecondaryClusterArgsDict']]]]
99
+ """
100
+ List of secondary clusters that are replicating from this primary cluster. This is allowed to be set only for clusters whose cluster role is of type `PRIMARY`.
101
+ Structure is documented below.
102
+ """
103
+ update_time: NotRequired[pulumi.Input[str]]
104
+ """
105
+ (Output)
106
+ The last time cross cluster replication config was updated.
107
+ """
108
+ elif False:
109
+ ClusterCrossClusterReplicationConfigArgsDict: TypeAlias = Mapping[str, Any]
110
+
111
+ @pulumi.input_type
112
+ class ClusterCrossClusterReplicationConfigArgs:
113
+ def __init__(__self__, *,
114
+ cluster_role: Optional[pulumi.Input[str]] = None,
115
+ memberships: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterCrossClusterReplicationConfigMembershipArgs']]]] = None,
116
+ primary_cluster: Optional[pulumi.Input['ClusterCrossClusterReplicationConfigPrimaryClusterArgs']] = None,
117
+ secondary_clusters: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterCrossClusterReplicationConfigSecondaryClusterArgs']]]] = None,
118
+ update_time: Optional[pulumi.Input[str]] = None):
119
+ """
120
+ :param pulumi.Input[str] cluster_role: The role of the cluster in cross cluster replication. Supported values are:
121
+ 1. `CLUSTER_ROLE_UNSPECIFIED`: This is an independent cluster that has never participated in cross cluster replication. It allows both reads and writes.
122
+ 1. `NONE`: This is an independent cluster that previously participated in cross cluster replication(either as a `PRIMARY` or `SECONDARY` cluster). It allows both reads and writes.
123
+ 1. `PRIMARY`: This cluster serves as the replication source for secondary clusters that are replicating from it. Any data written to it is automatically replicated to its secondary clusters. It allows both reads and writes.
124
+ 1. `SECONDARY`: This cluster replicates data from the primary cluster. It allows only reads.
125
+ Possible values are: `CLUSTER_ROLE_UNSPECIFIED`, `NONE`, `PRIMARY`, `SECONDARY`.
126
+ :param pulumi.Input[Sequence[pulumi.Input['ClusterCrossClusterReplicationConfigMembershipArgs']]] memberships: (Output)
127
+ An output only view of all the member clusters participating in cross cluster replication. This field is populated for all the member clusters irrespective of their cluster role.
128
+ Structure is documented below.
129
+ :param pulumi.Input['ClusterCrossClusterReplicationConfigPrimaryClusterArgs'] primary_cluster: Details of the primary cluster that is used as the replication source for this secondary cluster. This is allowed to be set only for clusters whose cluster role is of type `SECONDARY`.
130
+ Structure is documented below.
131
+ :param pulumi.Input[Sequence[pulumi.Input['ClusterCrossClusterReplicationConfigSecondaryClusterArgs']]] secondary_clusters: List of secondary clusters that are replicating from this primary cluster. This is allowed to be set only for clusters whose cluster role is of type `PRIMARY`.
132
+ Structure is documented below.
133
+ :param pulumi.Input[str] update_time: (Output)
134
+ The last time cross cluster replication config was updated.
135
+ """
136
+ if cluster_role is not None:
137
+ pulumi.set(__self__, "cluster_role", cluster_role)
138
+ if memberships is not None:
139
+ pulumi.set(__self__, "memberships", memberships)
140
+ if primary_cluster is not None:
141
+ pulumi.set(__self__, "primary_cluster", primary_cluster)
142
+ if secondary_clusters is not None:
143
+ pulumi.set(__self__, "secondary_clusters", secondary_clusters)
144
+ if update_time is not None:
145
+ pulumi.set(__self__, "update_time", update_time)
146
+
147
+ @property
148
+ @pulumi.getter(name="clusterRole")
149
+ def cluster_role(self) -> Optional[pulumi.Input[str]]:
150
+ """
151
+ The role of the cluster in cross cluster replication. Supported values are:
152
+ 1. `CLUSTER_ROLE_UNSPECIFIED`: This is an independent cluster that has never participated in cross cluster replication. It allows both reads and writes.
153
+ 1. `NONE`: This is an independent cluster that previously participated in cross cluster replication(either as a `PRIMARY` or `SECONDARY` cluster). It allows both reads and writes.
154
+ 1. `PRIMARY`: This cluster serves as the replication source for secondary clusters that are replicating from it. Any data written to it is automatically replicated to its secondary clusters. It allows both reads and writes.
155
+ 1. `SECONDARY`: This cluster replicates data from the primary cluster. It allows only reads.
156
+ Possible values are: `CLUSTER_ROLE_UNSPECIFIED`, `NONE`, `PRIMARY`, `SECONDARY`.
157
+ """
158
+ return pulumi.get(self, "cluster_role")
159
+
160
+ @cluster_role.setter
161
+ def cluster_role(self, value: Optional[pulumi.Input[str]]):
162
+ pulumi.set(self, "cluster_role", value)
163
+
164
+ @property
165
+ @pulumi.getter
166
+ def memberships(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterCrossClusterReplicationConfigMembershipArgs']]]]:
167
+ """
168
+ (Output)
169
+ An output only view of all the member clusters participating in cross cluster replication. This field is populated for all the member clusters irrespective of their cluster role.
170
+ Structure is documented below.
171
+ """
172
+ return pulumi.get(self, "memberships")
173
+
174
+ @memberships.setter
175
+ def memberships(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterCrossClusterReplicationConfigMembershipArgs']]]]):
176
+ pulumi.set(self, "memberships", value)
177
+
178
+ @property
179
+ @pulumi.getter(name="primaryCluster")
180
+ def primary_cluster(self) -> Optional[pulumi.Input['ClusterCrossClusterReplicationConfigPrimaryClusterArgs']]:
181
+ """
182
+ Details of the primary cluster that is used as the replication source for this secondary cluster. This is allowed to be set only for clusters whose cluster role is of type `SECONDARY`.
183
+ Structure is documented below.
184
+ """
185
+ return pulumi.get(self, "primary_cluster")
186
+
187
+ @primary_cluster.setter
188
+ def primary_cluster(self, value: Optional[pulumi.Input['ClusterCrossClusterReplicationConfigPrimaryClusterArgs']]):
189
+ pulumi.set(self, "primary_cluster", value)
190
+
191
+ @property
192
+ @pulumi.getter(name="secondaryClusters")
193
+ def secondary_clusters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterCrossClusterReplicationConfigSecondaryClusterArgs']]]]:
194
+ """
195
+ List of secondary clusters that are replicating from this primary cluster. This is allowed to be set only for clusters whose cluster role is of type `PRIMARY`.
196
+ Structure is documented below.
197
+ """
198
+ return pulumi.get(self, "secondary_clusters")
199
+
200
+ @secondary_clusters.setter
201
+ def secondary_clusters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterCrossClusterReplicationConfigSecondaryClusterArgs']]]]):
202
+ pulumi.set(self, "secondary_clusters", value)
203
+
204
+ @property
205
+ @pulumi.getter(name="updateTime")
206
+ def update_time(self) -> Optional[pulumi.Input[str]]:
207
+ """
208
+ (Output)
209
+ The last time cross cluster replication config was updated.
210
+ """
211
+ return pulumi.get(self, "update_time")
212
+
213
+ @update_time.setter
214
+ def update_time(self, value: Optional[pulumi.Input[str]]):
215
+ pulumi.set(self, "update_time", value)
216
+
217
+
218
+ if not MYPY:
219
+ class ClusterCrossClusterReplicationConfigMembershipArgsDict(TypedDict):
220
+ primary_clusters: NotRequired[pulumi.Input[Sequence[pulumi.Input['ClusterCrossClusterReplicationConfigMembershipPrimaryClusterArgsDict']]]]
221
+ """
222
+ Details of the primary cluster that is used as the replication source for all the secondary clusters.
223
+ """
224
+ secondary_clusters: NotRequired[pulumi.Input[Sequence[pulumi.Input['ClusterCrossClusterReplicationConfigMembershipSecondaryClusterArgsDict']]]]
225
+ """
226
+ List of secondary clusters that are replicating from the primary cluster.
227
+ """
228
+ elif False:
229
+ ClusterCrossClusterReplicationConfigMembershipArgsDict: TypeAlias = Mapping[str, Any]
230
+
231
+ @pulumi.input_type
232
+ class ClusterCrossClusterReplicationConfigMembershipArgs:
233
+ def __init__(__self__, *,
234
+ primary_clusters: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterCrossClusterReplicationConfigMembershipPrimaryClusterArgs']]]] = None,
235
+ secondary_clusters: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterCrossClusterReplicationConfigMembershipSecondaryClusterArgs']]]] = None):
236
+ """
237
+ :param pulumi.Input[Sequence[pulumi.Input['ClusterCrossClusterReplicationConfigMembershipPrimaryClusterArgs']]] primary_clusters: Details of the primary cluster that is used as the replication source for all the secondary clusters.
238
+ :param pulumi.Input[Sequence[pulumi.Input['ClusterCrossClusterReplicationConfigMembershipSecondaryClusterArgs']]] secondary_clusters: List of secondary clusters that are replicating from the primary cluster.
239
+ """
240
+ if primary_clusters is not None:
241
+ pulumi.set(__self__, "primary_clusters", primary_clusters)
242
+ if secondary_clusters is not None:
243
+ pulumi.set(__self__, "secondary_clusters", secondary_clusters)
244
+
245
+ @property
246
+ @pulumi.getter(name="primaryClusters")
247
+ def primary_clusters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterCrossClusterReplicationConfigMembershipPrimaryClusterArgs']]]]:
248
+ """
249
+ Details of the primary cluster that is used as the replication source for all the secondary clusters.
250
+ """
251
+ return pulumi.get(self, "primary_clusters")
252
+
253
+ @primary_clusters.setter
254
+ def primary_clusters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterCrossClusterReplicationConfigMembershipPrimaryClusterArgs']]]]):
255
+ pulumi.set(self, "primary_clusters", value)
256
+
257
+ @property
258
+ @pulumi.getter(name="secondaryClusters")
259
+ def secondary_clusters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterCrossClusterReplicationConfigMembershipSecondaryClusterArgs']]]]:
260
+ """
261
+ List of secondary clusters that are replicating from the primary cluster.
262
+ """
263
+ return pulumi.get(self, "secondary_clusters")
264
+
265
+ @secondary_clusters.setter
266
+ def secondary_clusters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterCrossClusterReplicationConfigMembershipSecondaryClusterArgs']]]]):
267
+ pulumi.set(self, "secondary_clusters", value)
268
+
269
+
270
+ if not MYPY:
271
+ class ClusterCrossClusterReplicationConfigMembershipPrimaryClusterArgsDict(TypedDict):
272
+ cluster: NotRequired[pulumi.Input[str]]
273
+ """
274
+ The full resource path of the primary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
275
+ """
276
+ uid: NotRequired[pulumi.Input[str]]
277
+ """
278
+ (Output)
279
+ The unique id of the primary cluster.
280
+ """
281
+ elif False:
282
+ ClusterCrossClusterReplicationConfigMembershipPrimaryClusterArgsDict: TypeAlias = Mapping[str, Any]
283
+
284
+ @pulumi.input_type
285
+ class ClusterCrossClusterReplicationConfigMembershipPrimaryClusterArgs:
286
+ def __init__(__self__, *,
287
+ cluster: Optional[pulumi.Input[str]] = None,
288
+ uid: Optional[pulumi.Input[str]] = None):
289
+ """
290
+ :param pulumi.Input[str] cluster: The full resource path of the primary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
291
+ :param pulumi.Input[str] uid: (Output)
292
+ The unique id of the primary cluster.
293
+ """
294
+ if cluster is not None:
295
+ pulumi.set(__self__, "cluster", cluster)
296
+ if uid is not None:
297
+ pulumi.set(__self__, "uid", uid)
298
+
299
+ @property
300
+ @pulumi.getter
301
+ def cluster(self) -> Optional[pulumi.Input[str]]:
302
+ """
303
+ The full resource path of the primary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
304
+ """
305
+ return pulumi.get(self, "cluster")
306
+
307
+ @cluster.setter
308
+ def cluster(self, value: Optional[pulumi.Input[str]]):
309
+ pulumi.set(self, "cluster", value)
310
+
311
+ @property
312
+ @pulumi.getter
313
+ def uid(self) -> Optional[pulumi.Input[str]]:
314
+ """
315
+ (Output)
316
+ The unique id of the primary cluster.
317
+ """
318
+ return pulumi.get(self, "uid")
319
+
320
+ @uid.setter
321
+ def uid(self, value: Optional[pulumi.Input[str]]):
322
+ pulumi.set(self, "uid", value)
323
+
324
+
325
+ if not MYPY:
326
+ class ClusterCrossClusterReplicationConfigMembershipSecondaryClusterArgsDict(TypedDict):
327
+ cluster: NotRequired[pulumi.Input[str]]
328
+ """
329
+ (Output)
330
+ The full resource path of the secondary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
331
+ """
332
+ uid: NotRequired[pulumi.Input[str]]
333
+ """
334
+ (Output)
335
+ The unique id of the secondary cluster.
336
+ """
337
+ elif False:
338
+ ClusterCrossClusterReplicationConfigMembershipSecondaryClusterArgsDict: TypeAlias = Mapping[str, Any]
339
+
340
+ @pulumi.input_type
341
+ class ClusterCrossClusterReplicationConfigMembershipSecondaryClusterArgs:
342
+ def __init__(__self__, *,
343
+ cluster: Optional[pulumi.Input[str]] = None,
344
+ uid: Optional[pulumi.Input[str]] = None):
345
+ """
346
+ :param pulumi.Input[str] cluster: (Output)
347
+ The full resource path of the secondary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
348
+ :param pulumi.Input[str] uid: (Output)
349
+ The unique id of the secondary cluster.
350
+ """
351
+ if cluster is not None:
352
+ pulumi.set(__self__, "cluster", cluster)
353
+ if uid is not None:
354
+ pulumi.set(__self__, "uid", uid)
355
+
356
+ @property
357
+ @pulumi.getter
358
+ def cluster(self) -> Optional[pulumi.Input[str]]:
359
+ """
360
+ (Output)
361
+ The full resource path of the secondary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
362
+ """
363
+ return pulumi.get(self, "cluster")
364
+
365
+ @cluster.setter
366
+ def cluster(self, value: Optional[pulumi.Input[str]]):
367
+ pulumi.set(self, "cluster", value)
368
+
369
+ @property
370
+ @pulumi.getter
371
+ def uid(self) -> Optional[pulumi.Input[str]]:
372
+ """
373
+ (Output)
374
+ The unique id of the secondary cluster.
375
+ """
376
+ return pulumi.get(self, "uid")
377
+
378
+ @uid.setter
379
+ def uid(self, value: Optional[pulumi.Input[str]]):
380
+ pulumi.set(self, "uid", value)
381
+
382
+
383
+ if not MYPY:
384
+ class ClusterCrossClusterReplicationConfigPrimaryClusterArgsDict(TypedDict):
385
+ cluster: NotRequired[pulumi.Input[str]]
386
+ """
387
+ The full resource path of the primary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
388
+ """
389
+ uid: NotRequired[pulumi.Input[str]]
390
+ """
391
+ (Output)
392
+ The unique id of the primary cluster.
393
+ """
394
+ elif False:
395
+ ClusterCrossClusterReplicationConfigPrimaryClusterArgsDict: TypeAlias = Mapping[str, Any]
396
+
397
+ @pulumi.input_type
398
+ class ClusterCrossClusterReplicationConfigPrimaryClusterArgs:
399
+ def __init__(__self__, *,
400
+ cluster: Optional[pulumi.Input[str]] = None,
401
+ uid: Optional[pulumi.Input[str]] = None):
402
+ """
403
+ :param pulumi.Input[str] cluster: The full resource path of the primary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
404
+ :param pulumi.Input[str] uid: (Output)
405
+ The unique id of the primary cluster.
406
+ """
407
+ if cluster is not None:
408
+ pulumi.set(__self__, "cluster", cluster)
409
+ if uid is not None:
410
+ pulumi.set(__self__, "uid", uid)
411
+
412
+ @property
413
+ @pulumi.getter
414
+ def cluster(self) -> Optional[pulumi.Input[str]]:
415
+ """
416
+ The full resource path of the primary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
417
+ """
418
+ return pulumi.get(self, "cluster")
419
+
420
+ @cluster.setter
421
+ def cluster(self, value: Optional[pulumi.Input[str]]):
422
+ pulumi.set(self, "cluster", value)
423
+
424
+ @property
425
+ @pulumi.getter
426
+ def uid(self) -> Optional[pulumi.Input[str]]:
427
+ """
428
+ (Output)
429
+ The unique id of the primary cluster.
430
+ """
431
+ return pulumi.get(self, "uid")
432
+
433
+ @uid.setter
434
+ def uid(self, value: Optional[pulumi.Input[str]]):
435
+ pulumi.set(self, "uid", value)
436
+
437
+
438
+ if not MYPY:
439
+ class ClusterCrossClusterReplicationConfigSecondaryClusterArgsDict(TypedDict):
440
+ cluster: NotRequired[pulumi.Input[str]]
441
+ """
442
+ (Output)
443
+ The full resource path of the secondary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
444
+ """
445
+ uid: NotRequired[pulumi.Input[str]]
446
+ """
447
+ (Output)
448
+ The unique id of the secondary cluster.
449
+ """
450
+ elif False:
451
+ ClusterCrossClusterReplicationConfigSecondaryClusterArgsDict: TypeAlias = Mapping[str, Any]
452
+
453
+ @pulumi.input_type
454
+ class ClusterCrossClusterReplicationConfigSecondaryClusterArgs:
455
+ def __init__(__self__, *,
456
+ cluster: Optional[pulumi.Input[str]] = None,
457
+ uid: Optional[pulumi.Input[str]] = None):
458
+ """
459
+ :param pulumi.Input[str] cluster: (Output)
460
+ The full resource path of the secondary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
461
+ :param pulumi.Input[str] uid: (Output)
462
+ The unique id of the secondary cluster.
463
+ """
464
+ if cluster is not None:
465
+ pulumi.set(__self__, "cluster", cluster)
466
+ if uid is not None:
467
+ pulumi.set(__self__, "uid", uid)
468
+
469
+ @property
470
+ @pulumi.getter
471
+ def cluster(self) -> Optional[pulumi.Input[str]]:
472
+ """
473
+ (Output)
474
+ The full resource path of the secondary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
475
+ """
476
+ return pulumi.get(self, "cluster")
477
+
478
+ @cluster.setter
479
+ def cluster(self, value: Optional[pulumi.Input[str]]):
480
+ pulumi.set(self, "cluster", value)
481
+
482
+ @property
483
+ @pulumi.getter
484
+ def uid(self) -> Optional[pulumi.Input[str]]:
485
+ """
486
+ (Output)
487
+ The unique id of the secondary cluster.
488
+ """
489
+ return pulumi.get(self, "uid")
490
+
491
+ @uid.setter
492
+ def uid(self, value: Optional[pulumi.Input[str]]):
493
+ pulumi.set(self, "uid", value)
494
+
495
+
64
496
  if not MYPY:
65
497
  class ClusterDiscoveryEndpointArgsDict(TypedDict):
66
498
  address: NotRequired[pulumi.Input[str]]
@@ -677,7 +1109,7 @@ if not MYPY:
677
1109
  append_fsync: NotRequired[pulumi.Input[str]]
678
1110
  """
679
1111
  Optional. Available fsync modes.
680
- - NO - Do not explicilty call fsync(). Rely on OS defaults.
1112
+ - NO - Do not explicitly call fsync(). Rely on OS defaults.
681
1113
  - EVERYSEC - Call fsync() once per second in a background thread. A balance between performance and durability.
682
1114
  - ALWAYS - Call fsync() for earch write command.
683
1115
  Possible values are: `APPEND_FSYNC_UNSPECIFIED`, `NO`, `EVERYSEC`, `ALWAYS`.
@@ -691,7 +1123,7 @@ class ClusterPersistenceConfigAofConfigArgs:
691
1123
  append_fsync: Optional[pulumi.Input[str]] = None):
692
1124
  """
693
1125
  :param pulumi.Input[str] append_fsync: Optional. Available fsync modes.
694
- - NO - Do not explicilty call fsync(). Rely on OS defaults.
1126
+ - NO - Do not explicitly call fsync(). Rely on OS defaults.
695
1127
  - EVERYSEC - Call fsync() once per second in a background thread. A balance between performance and durability.
696
1128
  - ALWAYS - Call fsync() for earch write command.
697
1129
  Possible values are: `APPEND_FSYNC_UNSPECIFIED`, `NO`, `EVERYSEC`, `ALWAYS`.
@@ -704,7 +1136,7 @@ class ClusterPersistenceConfigAofConfigArgs:
704
1136
  def append_fsync(self) -> Optional[pulumi.Input[str]]:
705
1137
  """
706
1138
  Optional. Available fsync modes.
707
- - NO - Do not explicilty call fsync(). Rely on OS defaults.
1139
+ - NO - Do not explicitly call fsync(). Rely on OS defaults.
708
1140
  - EVERYSEC - Call fsync() once per second in a background thread. A balance between performance and durability.
709
1141
  - ALWAYS - Call fsync() for earch write command.
710
1142
  Possible values are: `APPEND_FSYNC_UNSPECIFIED`, `NO`, `EVERYSEC`, `ALWAYS`.