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
@@ -16,6 +16,12 @@ from .. import _utilities
16
16
  from . import outputs
17
17
 
18
18
  __all__ = [
19
+ 'ClusterCrossClusterReplicationConfig',
20
+ 'ClusterCrossClusterReplicationConfigMembership',
21
+ 'ClusterCrossClusterReplicationConfigMembershipPrimaryCluster',
22
+ 'ClusterCrossClusterReplicationConfigMembershipSecondaryCluster',
23
+ 'ClusterCrossClusterReplicationConfigPrimaryCluster',
24
+ 'ClusterCrossClusterReplicationConfigSecondaryCluster',
19
25
  'ClusterDiscoveryEndpoint',
20
26
  'ClusterDiscoveryEndpointPscConfig',
21
27
  'ClusterMaintenancePolicy',
@@ -46,6 +52,302 @@ __all__ = [
46
52
  'GetInstanceServerCaCertResult',
47
53
  ]
48
54
 
55
+ @pulumi.output_type
56
+ class ClusterCrossClusterReplicationConfig(dict):
57
+ @staticmethod
58
+ def __key_warning(key: str):
59
+ suggest = None
60
+ if key == "clusterRole":
61
+ suggest = "cluster_role"
62
+ elif key == "primaryCluster":
63
+ suggest = "primary_cluster"
64
+ elif key == "secondaryClusters":
65
+ suggest = "secondary_clusters"
66
+ elif key == "updateTime":
67
+ suggest = "update_time"
68
+
69
+ if suggest:
70
+ pulumi.log.warn(f"Key '{key}' not found in ClusterCrossClusterReplicationConfig. Access the value via the '{suggest}' property getter instead.")
71
+
72
+ def __getitem__(self, key: str) -> Any:
73
+ ClusterCrossClusterReplicationConfig.__key_warning(key)
74
+ return super().__getitem__(key)
75
+
76
+ def get(self, key: str, default = None) -> Any:
77
+ ClusterCrossClusterReplicationConfig.__key_warning(key)
78
+ return super().get(key, default)
79
+
80
+ def __init__(__self__, *,
81
+ cluster_role: Optional[str] = None,
82
+ memberships: Optional[Sequence['outputs.ClusterCrossClusterReplicationConfigMembership']] = None,
83
+ primary_cluster: Optional['outputs.ClusterCrossClusterReplicationConfigPrimaryCluster'] = None,
84
+ secondary_clusters: Optional[Sequence['outputs.ClusterCrossClusterReplicationConfigSecondaryCluster']] = None,
85
+ update_time: Optional[str] = None):
86
+ """
87
+ :param str cluster_role: The role of the cluster in cross cluster replication. Supported values are:
88
+ 1. `CLUSTER_ROLE_UNSPECIFIED`: This is an independent cluster that has never participated in cross cluster replication. It allows both reads and writes.
89
+ 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.
90
+ 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.
91
+ 1. `SECONDARY`: This cluster replicates data from the primary cluster. It allows only reads.
92
+ Possible values are: `CLUSTER_ROLE_UNSPECIFIED`, `NONE`, `PRIMARY`, `SECONDARY`.
93
+ :param Sequence['ClusterCrossClusterReplicationConfigMembershipArgs'] memberships: (Output)
94
+ 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.
95
+ Structure is documented below.
96
+ :param '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`.
97
+ Structure is documented below.
98
+ :param Sequence['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`.
99
+ Structure is documented below.
100
+ :param str update_time: (Output)
101
+ The last time cross cluster replication config was updated.
102
+ """
103
+ if cluster_role is not None:
104
+ pulumi.set(__self__, "cluster_role", cluster_role)
105
+ if memberships is not None:
106
+ pulumi.set(__self__, "memberships", memberships)
107
+ if primary_cluster is not None:
108
+ pulumi.set(__self__, "primary_cluster", primary_cluster)
109
+ if secondary_clusters is not None:
110
+ pulumi.set(__self__, "secondary_clusters", secondary_clusters)
111
+ if update_time is not None:
112
+ pulumi.set(__self__, "update_time", update_time)
113
+
114
+ @property
115
+ @pulumi.getter(name="clusterRole")
116
+ def cluster_role(self) -> Optional[str]:
117
+ """
118
+ The role of the cluster in cross cluster replication. Supported values are:
119
+ 1. `CLUSTER_ROLE_UNSPECIFIED`: This is an independent cluster that has never participated in cross cluster replication. It allows both reads and writes.
120
+ 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.
121
+ 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.
122
+ 1. `SECONDARY`: This cluster replicates data from the primary cluster. It allows only reads.
123
+ Possible values are: `CLUSTER_ROLE_UNSPECIFIED`, `NONE`, `PRIMARY`, `SECONDARY`.
124
+ """
125
+ return pulumi.get(self, "cluster_role")
126
+
127
+ @property
128
+ @pulumi.getter
129
+ def memberships(self) -> Optional[Sequence['outputs.ClusterCrossClusterReplicationConfigMembership']]:
130
+ """
131
+ (Output)
132
+ 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.
133
+ Structure is documented below.
134
+ """
135
+ return pulumi.get(self, "memberships")
136
+
137
+ @property
138
+ @pulumi.getter(name="primaryCluster")
139
+ def primary_cluster(self) -> Optional['outputs.ClusterCrossClusterReplicationConfigPrimaryCluster']:
140
+ """
141
+ 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`.
142
+ Structure is documented below.
143
+ """
144
+ return pulumi.get(self, "primary_cluster")
145
+
146
+ @property
147
+ @pulumi.getter(name="secondaryClusters")
148
+ def secondary_clusters(self) -> Optional[Sequence['outputs.ClusterCrossClusterReplicationConfigSecondaryCluster']]:
149
+ """
150
+ 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`.
151
+ Structure is documented below.
152
+ """
153
+ return pulumi.get(self, "secondary_clusters")
154
+
155
+ @property
156
+ @pulumi.getter(name="updateTime")
157
+ def update_time(self) -> Optional[str]:
158
+ """
159
+ (Output)
160
+ The last time cross cluster replication config was updated.
161
+ """
162
+ return pulumi.get(self, "update_time")
163
+
164
+
165
+ @pulumi.output_type
166
+ class ClusterCrossClusterReplicationConfigMembership(dict):
167
+ @staticmethod
168
+ def __key_warning(key: str):
169
+ suggest = None
170
+ if key == "primaryClusters":
171
+ suggest = "primary_clusters"
172
+ elif key == "secondaryClusters":
173
+ suggest = "secondary_clusters"
174
+
175
+ if suggest:
176
+ pulumi.log.warn(f"Key '{key}' not found in ClusterCrossClusterReplicationConfigMembership. Access the value via the '{suggest}' property getter instead.")
177
+
178
+ def __getitem__(self, key: str) -> Any:
179
+ ClusterCrossClusterReplicationConfigMembership.__key_warning(key)
180
+ return super().__getitem__(key)
181
+
182
+ def get(self, key: str, default = None) -> Any:
183
+ ClusterCrossClusterReplicationConfigMembership.__key_warning(key)
184
+ return super().get(key, default)
185
+
186
+ def __init__(__self__, *,
187
+ primary_clusters: Optional[Sequence['outputs.ClusterCrossClusterReplicationConfigMembershipPrimaryCluster']] = None,
188
+ secondary_clusters: Optional[Sequence['outputs.ClusterCrossClusterReplicationConfigMembershipSecondaryCluster']] = None):
189
+ """
190
+ :param Sequence['ClusterCrossClusterReplicationConfigMembershipPrimaryClusterArgs'] primary_clusters: Details of the primary cluster that is used as the replication source for all the secondary clusters.
191
+ :param Sequence['ClusterCrossClusterReplicationConfigMembershipSecondaryClusterArgs'] secondary_clusters: List of secondary clusters that are replicating from the primary cluster.
192
+ """
193
+ if primary_clusters is not None:
194
+ pulumi.set(__self__, "primary_clusters", primary_clusters)
195
+ if secondary_clusters is not None:
196
+ pulumi.set(__self__, "secondary_clusters", secondary_clusters)
197
+
198
+ @property
199
+ @pulumi.getter(name="primaryClusters")
200
+ def primary_clusters(self) -> Optional[Sequence['outputs.ClusterCrossClusterReplicationConfigMembershipPrimaryCluster']]:
201
+ """
202
+ Details of the primary cluster that is used as the replication source for all the secondary clusters.
203
+ """
204
+ return pulumi.get(self, "primary_clusters")
205
+
206
+ @property
207
+ @pulumi.getter(name="secondaryClusters")
208
+ def secondary_clusters(self) -> Optional[Sequence['outputs.ClusterCrossClusterReplicationConfigMembershipSecondaryCluster']]:
209
+ """
210
+ List of secondary clusters that are replicating from the primary cluster.
211
+ """
212
+ return pulumi.get(self, "secondary_clusters")
213
+
214
+
215
+ @pulumi.output_type
216
+ class ClusterCrossClusterReplicationConfigMembershipPrimaryCluster(dict):
217
+ def __init__(__self__, *,
218
+ cluster: Optional[str] = None,
219
+ uid: Optional[str] = None):
220
+ """
221
+ :param str cluster: The full resource path of the primary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
222
+ :param str uid: (Output)
223
+ The unique id of the primary cluster.
224
+ """
225
+ if cluster is not None:
226
+ pulumi.set(__self__, "cluster", cluster)
227
+ if uid is not None:
228
+ pulumi.set(__self__, "uid", uid)
229
+
230
+ @property
231
+ @pulumi.getter
232
+ def cluster(self) -> Optional[str]:
233
+ """
234
+ The full resource path of the primary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
235
+ """
236
+ return pulumi.get(self, "cluster")
237
+
238
+ @property
239
+ @pulumi.getter
240
+ def uid(self) -> Optional[str]:
241
+ """
242
+ (Output)
243
+ The unique id of the primary cluster.
244
+ """
245
+ return pulumi.get(self, "uid")
246
+
247
+
248
+ @pulumi.output_type
249
+ class ClusterCrossClusterReplicationConfigMembershipSecondaryCluster(dict):
250
+ def __init__(__self__, *,
251
+ cluster: Optional[str] = None,
252
+ uid: Optional[str] = None):
253
+ """
254
+ :param str cluster: (Output)
255
+ The full resource path of the secondary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
256
+ :param str uid: (Output)
257
+ The unique id of the secondary cluster.
258
+ """
259
+ if cluster is not None:
260
+ pulumi.set(__self__, "cluster", cluster)
261
+ if uid is not None:
262
+ pulumi.set(__self__, "uid", uid)
263
+
264
+ @property
265
+ @pulumi.getter
266
+ def cluster(self) -> Optional[str]:
267
+ """
268
+ (Output)
269
+ The full resource path of the secondary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
270
+ """
271
+ return pulumi.get(self, "cluster")
272
+
273
+ @property
274
+ @pulumi.getter
275
+ def uid(self) -> Optional[str]:
276
+ """
277
+ (Output)
278
+ The unique id of the secondary cluster.
279
+ """
280
+ return pulumi.get(self, "uid")
281
+
282
+
283
+ @pulumi.output_type
284
+ class ClusterCrossClusterReplicationConfigPrimaryCluster(dict):
285
+ def __init__(__self__, *,
286
+ cluster: Optional[str] = None,
287
+ uid: Optional[str] = None):
288
+ """
289
+ :param str cluster: The full resource path of the primary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
290
+ :param str uid: (Output)
291
+ The unique id of the primary cluster.
292
+ """
293
+ if cluster is not None:
294
+ pulumi.set(__self__, "cluster", cluster)
295
+ if uid is not None:
296
+ pulumi.set(__self__, "uid", uid)
297
+
298
+ @property
299
+ @pulumi.getter
300
+ def cluster(self) -> Optional[str]:
301
+ """
302
+ The full resource path of the primary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
303
+ """
304
+ return pulumi.get(self, "cluster")
305
+
306
+ @property
307
+ @pulumi.getter
308
+ def uid(self) -> Optional[str]:
309
+ """
310
+ (Output)
311
+ The unique id of the primary cluster.
312
+ """
313
+ return pulumi.get(self, "uid")
314
+
315
+
316
+ @pulumi.output_type
317
+ class ClusterCrossClusterReplicationConfigSecondaryCluster(dict):
318
+ def __init__(__self__, *,
319
+ cluster: Optional[str] = None,
320
+ uid: Optional[str] = None):
321
+ """
322
+ :param str cluster: (Output)
323
+ The full resource path of the secondary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
324
+ :param str uid: (Output)
325
+ The unique id of the secondary cluster.
326
+ """
327
+ if cluster is not None:
328
+ pulumi.set(__self__, "cluster", cluster)
329
+ if uid is not None:
330
+ pulumi.set(__self__, "uid", uid)
331
+
332
+ @property
333
+ @pulumi.getter
334
+ def cluster(self) -> Optional[str]:
335
+ """
336
+ (Output)
337
+ The full resource path of the secondary cluster in the format: projects/{project}/locations/{region}/clusters/{cluster-id}
338
+ """
339
+ return pulumi.get(self, "cluster")
340
+
341
+ @property
342
+ @pulumi.getter
343
+ def uid(self) -> Optional[str]:
344
+ """
345
+ (Output)
346
+ The unique id of the secondary cluster.
347
+ """
348
+ return pulumi.get(self, "uid")
349
+
350
+
49
351
  @pulumi.output_type
50
352
  class ClusterDiscoveryEndpoint(dict):
51
353
  @staticmethod
@@ -537,7 +839,7 @@ class ClusterPersistenceConfigAofConfig(dict):
537
839
  append_fsync: Optional[str] = None):
538
840
  """
539
841
  :param str append_fsync: Optional. Available fsync modes.
540
- - NO - Do not explicilty call fsync(). Rely on OS defaults.
842
+ - NO - Do not explicitly call fsync(). Rely on OS defaults.
541
843
  - EVERYSEC - Call fsync() once per second in a background thread. A balance between performance and durability.
542
844
  - ALWAYS - Call fsync() for earch write command.
543
845
  Possible values are: `APPEND_FSYNC_UNSPECIFIED`, `NO`, `EVERYSEC`, `ALWAYS`.
@@ -550,7 +852,7 @@ class ClusterPersistenceConfigAofConfig(dict):
550
852
  def append_fsync(self) -> Optional[str]:
551
853
  """
552
854
  Optional. Available fsync modes.
553
- - NO - Do not explicilty call fsync(). Rely on OS defaults.
855
+ - NO - Do not explicitly call fsync(). Rely on OS defaults.
554
856
  - EVERYSEC - Call fsync() once per second in a background thread. A balance between performance and durability.
555
857
  - ALWAYS - Call fsync() for earch write command.
556
858
  Possible values are: `APPEND_FSYNC_UNSPECIFIED`, `NO`, `EVERYSEC`, `ALWAYS`.
@@ -122,7 +122,7 @@ def get_account_id_token(delegates: Optional[Sequence[str]] = None,
122
122
  ```
123
123
 
124
124
  ### Service Account Impersonation.
125
- `serviceaccount_get_account_access_token` will use background impersonated credentials provided by `serviceaccount_get_account_access_token`.
125
+ `serviceaccount_get_account_id_token` will use background impersonated credentials provided by `serviceaccount_get_account_access_token`.
126
126
 
127
127
  Note: to use the following, you must grant `target_service_account` the
128
128
  `roles/iam.serviceAccountTokenCreator` role on itself.
@@ -208,7 +208,7 @@ def get_account_id_token_output(delegates: Optional[pulumi.Input[Optional[Sequen
208
208
  ```
209
209
 
210
210
  ### Service Account Impersonation.
211
- `serviceaccount_get_account_access_token` will use background impersonated credentials provided by `serviceaccount_get_account_access_token`.
211
+ `serviceaccount_get_account_id_token` will use background impersonated credentials provided by `serviceaccount_get_account_access_token`.
212
212
 
213
213
  Note: to use the following, you must grant `target_service_account` the
214
214
  `roles/iam.serviceAccountTokenCreator` role on itself.
@@ -120,7 +120,7 @@ def get_account_key(name: Optional[str] = None,
120
120
  :param str name: The name of the service account key. This must have format
121
121
  `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{KEYID}`, where `{ACCOUNT}`
122
122
  is the email address or unique id of the service account.
123
- :param str project: The ID of the project that the service account will be created in.
123
+ :param str project: The ID of the project that the service account is present in.
124
124
  Defaults to the provider project configuration.
125
125
  :param str public_key_type: The output format of the public key requested. TYPE_X509_PEM_FILE is the default output format.
126
126
  """
@@ -161,7 +161,7 @@ def get_account_key_output(name: Optional[pulumi.Input[str]] = None,
161
161
  :param str name: The name of the service account key. This must have format
162
162
  `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{KEYID}`, where `{ACCOUNT}`
163
163
  is the email address or unique id of the service account.
164
- :param str project: The ID of the project that the service account will be created in.
164
+ :param str project: The ID of the project that the service account is present in.
165
165
  Defaults to the provider project configuration.
166
166
  :param str public_key_type: The output format of the public key requested. TYPE_X509_PEM_FILE is the default output format.
167
167
  """
pulumi_gcp/sql/_inputs.py CHANGED
@@ -772,7 +772,7 @@ if not MYPY:
772
772
  """
773
773
  connector_enforcement: NotRequired[pulumi.Input[str]]
774
774
  """
775
- Enables the enforcement of Cloud SQL Auth Proxy or Cloud SQL connectors for all the connections. If enabled, all the direct connections are rejected.
775
+ Control the enforcement of Cloud SQL Auth Proxy or Cloud SQL connectors for all the connections, can be `REQUIRED` or `NOT_REQUIRED`. If enabled, all the direct connections are rejected.
776
776
  """
777
777
  data_cache_config: NotRequired[pulumi.Input['DatabaseInstanceSettingsDataCacheConfigArgsDict']]
778
778
  """
@@ -889,7 +889,7 @@ class DatabaseInstanceSettingsArgs:
889
889
  For Postgres and SQL Server instances, ensure that `settings.backup_configuration.point_in_time_recovery_enabled`
890
890
  is set to `true`. Defaults to `ZONAL`.
891
891
  :param pulumi.Input[str] collation: The name of server instance collation.
892
- :param pulumi.Input[str] connector_enforcement: Enables the enforcement of Cloud SQL Auth Proxy or Cloud SQL connectors for all the connections. If enabled, all the direct connections are rejected.
892
+ :param pulumi.Input[str] connector_enforcement: Control the enforcement of Cloud SQL Auth Proxy or Cloud SQL connectors for all the connections, can be `REQUIRED` or `NOT_REQUIRED`. If enabled, all the direct connections are rejected.
893
893
  :param pulumi.Input['DatabaseInstanceSettingsDataCacheConfigArgs'] data_cache_config: Data cache configurations.
894
894
  :param pulumi.Input[bool] deletion_protection_enabled: Configuration to protect against accidental instance deletion.
895
895
  :param pulumi.Input[bool] disk_autoresize: Enables auto-resizing of the storage size. Defaults to `true`. Note that if `disk_size` is set, future `pulumi up` calls will attempt to delete the instance in order to resize the disk to the value specified in disk_size if it has been resized. To avoid this, ensure that `lifecycle.ignore_changes` is applied to `disk_size`.
@@ -1052,7 +1052,7 @@ class DatabaseInstanceSettingsArgs:
1052
1052
  @pulumi.getter(name="connectorEnforcement")
1053
1053
  def connector_enforcement(self) -> Optional[pulumi.Input[str]]:
1054
1054
  """
1055
- Enables the enforcement of Cloud SQL Auth Proxy or Cloud SQL connectors for all the connections. If enabled, all the direct connections are rejected.
1055
+ Control the enforcement of Cloud SQL Auth Proxy or Cloud SQL connectors for all the connections, can be `REQUIRED` or `NOT_REQUIRED`. If enabled, all the direct connections are rejected.
1056
1056
  """
1057
1057
  return pulumi.get(self, "connector_enforcement")
1058
1058
 
@@ -41,8 +41,8 @@ class DatabaseInstanceArgs:
41
41
  :param pulumi.Input[str] database_version: The MySQL, PostgreSQL or
42
42
  SQL Server version to use. Supported values include `MYSQL_5_6`,
43
43
  `MYSQL_5_7`, `MYSQL_8_0`, `POSTGRES_9_6`,`POSTGRES_10`, `POSTGRES_11`,
44
- `POSTGRES_12`, `POSTGRES_13`, `POSTGRES_14`, `POSTGRES_15`, `SQLSERVER_2017_STANDARD`,
45
- `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`.
44
+ `POSTGRES_12`, `POSTGRES_13`, `POSTGRES_14`, `POSTGRES_15`, `POSTGRES_16`, `POSTGRES_17`,
45
+ `SQLSERVER_2017_STANDARD`, `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`.
46
46
  `SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`,
47
47
  `SQLSERVER_2019_WEB`.
48
48
  [Database Version Policies](https://cloud.google.com/sql/docs/db-versions)
@@ -123,8 +123,8 @@ class DatabaseInstanceArgs:
123
123
  The MySQL, PostgreSQL or
124
124
  SQL Server version to use. Supported values include `MYSQL_5_6`,
125
125
  `MYSQL_5_7`, `MYSQL_8_0`, `POSTGRES_9_6`,`POSTGRES_10`, `POSTGRES_11`,
126
- `POSTGRES_12`, `POSTGRES_13`, `POSTGRES_14`, `POSTGRES_15`, `SQLSERVER_2017_STANDARD`,
127
- `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`.
126
+ `POSTGRES_12`, `POSTGRES_13`, `POSTGRES_14`, `POSTGRES_15`, `POSTGRES_16`, `POSTGRES_17`,
127
+ `SQLSERVER_2017_STANDARD`, `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`.
128
128
  `SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`,
129
129
  `SQLSERVER_2019_WEB`.
130
130
  [Database Version Policies](https://cloud.google.com/sql/docs/db-versions)
@@ -369,8 +369,8 @@ class _DatabaseInstanceState:
369
369
  :param pulumi.Input[str] database_version: The MySQL, PostgreSQL or
370
370
  SQL Server version to use. Supported values include `MYSQL_5_6`,
371
371
  `MYSQL_5_7`, `MYSQL_8_0`, `POSTGRES_9_6`,`POSTGRES_10`, `POSTGRES_11`,
372
- `POSTGRES_12`, `POSTGRES_13`, `POSTGRES_14`, `POSTGRES_15`, `SQLSERVER_2017_STANDARD`,
373
- `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`.
372
+ `POSTGRES_12`, `POSTGRES_13`, `POSTGRES_14`, `POSTGRES_15`, `POSTGRES_16`, `POSTGRES_17`,
373
+ `SQLSERVER_2017_STANDARD`, `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`.
374
374
  `SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`,
375
375
  `SQLSERVER_2019_WEB`.
376
376
  [Database Version Policies](https://cloud.google.com/sql/docs/db-versions)
@@ -518,8 +518,8 @@ class _DatabaseInstanceState:
518
518
  The MySQL, PostgreSQL or
519
519
  SQL Server version to use. Supported values include `MYSQL_5_6`,
520
520
  `MYSQL_5_7`, `MYSQL_8_0`, `POSTGRES_9_6`,`POSTGRES_10`, `POSTGRES_11`,
521
- `POSTGRES_12`, `POSTGRES_13`, `POSTGRES_14`, `POSTGRES_15`, `SQLSERVER_2017_STANDARD`,
522
- `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`.
521
+ `POSTGRES_12`, `POSTGRES_13`, `POSTGRES_14`, `POSTGRES_15`, `POSTGRES_16`, `POSTGRES_17`,
522
+ `SQLSERVER_2017_STANDARD`, `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`.
523
523
  `SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`,
524
524
  `SQLSERVER_2019_WEB`.
525
525
  [Database Version Policies](https://cloud.google.com/sql/docs/db-versions)
@@ -1044,8 +1044,8 @@ class DatabaseInstance(pulumi.CustomResource):
1044
1044
  :param pulumi.Input[str] database_version: The MySQL, PostgreSQL or
1045
1045
  SQL Server version to use. Supported values include `MYSQL_5_6`,
1046
1046
  `MYSQL_5_7`, `MYSQL_8_0`, `POSTGRES_9_6`,`POSTGRES_10`, `POSTGRES_11`,
1047
- `POSTGRES_12`, `POSTGRES_13`, `POSTGRES_14`, `POSTGRES_15`, `SQLSERVER_2017_STANDARD`,
1048
- `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`.
1047
+ `POSTGRES_12`, `POSTGRES_13`, `POSTGRES_14`, `POSTGRES_15`, `POSTGRES_16`, `POSTGRES_17`,
1048
+ `SQLSERVER_2017_STANDARD`, `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`.
1049
1049
  `SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`,
1050
1050
  `SQLSERVER_2019_WEB`.
1051
1051
  [Database Version Policies](https://cloud.google.com/sql/docs/db-versions)
@@ -1415,8 +1415,8 @@ class DatabaseInstance(pulumi.CustomResource):
1415
1415
  :param pulumi.Input[str] database_version: The MySQL, PostgreSQL or
1416
1416
  SQL Server version to use. Supported values include `MYSQL_5_6`,
1417
1417
  `MYSQL_5_7`, `MYSQL_8_0`, `POSTGRES_9_6`,`POSTGRES_10`, `POSTGRES_11`,
1418
- `POSTGRES_12`, `POSTGRES_13`, `POSTGRES_14`, `POSTGRES_15`, `SQLSERVER_2017_STANDARD`,
1419
- `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`.
1418
+ `POSTGRES_12`, `POSTGRES_13`, `POSTGRES_14`, `POSTGRES_15`, `POSTGRES_16`, `POSTGRES_17`,
1419
+ `SQLSERVER_2017_STANDARD`, `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`.
1420
1420
  `SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`,
1421
1421
  `SQLSERVER_2019_WEB`.
1422
1422
  [Database Version Policies](https://cloud.google.com/sql/docs/db-versions)
@@ -1531,8 +1531,8 @@ class DatabaseInstance(pulumi.CustomResource):
1531
1531
  The MySQL, PostgreSQL or
1532
1532
  SQL Server version to use. Supported values include `MYSQL_5_6`,
1533
1533
  `MYSQL_5_7`, `MYSQL_8_0`, `POSTGRES_9_6`,`POSTGRES_10`, `POSTGRES_11`,
1534
- `POSTGRES_12`, `POSTGRES_13`, `POSTGRES_14`, `POSTGRES_15`, `SQLSERVER_2017_STANDARD`,
1535
- `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`.
1534
+ `POSTGRES_12`, `POSTGRES_13`, `POSTGRES_14`, `POSTGRES_15`, `POSTGRES_16`, `POSTGRES_17`,
1535
+ `SQLSERVER_2017_STANDARD`, `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`.
1536
1536
  `SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`,
1537
1537
  `SQLSERVER_2019_WEB`.
1538
1538
  [Database Version Policies](https://cloud.google.com/sql/docs/db-versions)
pulumi_gcp/sql/outputs.py CHANGED
@@ -727,7 +727,7 @@ class DatabaseInstanceSettings(dict):
727
727
  For Postgres and SQL Server instances, ensure that `settings.backup_configuration.point_in_time_recovery_enabled`
728
728
  is set to `true`. Defaults to `ZONAL`.
729
729
  :param str collation: The name of server instance collation.
730
- :param str connector_enforcement: Enables the enforcement of Cloud SQL Auth Proxy or Cloud SQL connectors for all the connections. If enabled, all the direct connections are rejected.
730
+ :param str connector_enforcement: Control the enforcement of Cloud SQL Auth Proxy or Cloud SQL connectors for all the connections, can be `REQUIRED` or `NOT_REQUIRED`. If enabled, all the direct connections are rejected.
731
731
  :param 'DatabaseInstanceSettingsDataCacheConfigArgs' data_cache_config: Data cache configurations.
732
732
  :param bool deletion_protection_enabled: Configuration to protect against accidental instance deletion.
733
733
  :param bool disk_autoresize: Enables auto-resizing of the storage size. Defaults to `true`. Note that if `disk_size` is set, future `pulumi up` calls will attempt to delete the instance in order to resize the disk to the value specified in disk_size if it has been resized. To avoid this, ensure that `lifecycle.ignore_changes` is applied to `disk_size`.
@@ -862,7 +862,7 @@ class DatabaseInstanceSettings(dict):
862
862
  @pulumi.getter(name="connectorEnforcement")
863
863
  def connector_enforcement(self) -> Optional[str]:
864
864
  """
865
- Enables the enforcement of Cloud SQL Auth Proxy or Cloud SQL connectors for all the connections. If enabled, all the direct connections are rejected.
865
+ Control the enforcement of Cloud SQL Auth Proxy or Cloud SQL connectors for all the connections, can be `REQUIRED` or `NOT_REQUIRED`. If enabled, all the direct connections are rejected.
866
866
  """
867
867
  return pulumi.get(self, "connector_enforcement")
868
868
 
@@ -99,6 +99,8 @@ __all__ = [
99
99
  'TransferJobTransferSpecGcsDataSinkArgsDict',
100
100
  'TransferJobTransferSpecGcsDataSourceArgs',
101
101
  'TransferJobTransferSpecGcsDataSourceArgsDict',
102
+ 'TransferJobTransferSpecHdfsDataSourceArgs',
103
+ 'TransferJobTransferSpecHdfsDataSourceArgsDict',
102
104
  'TransferJobTransferSpecHttpDataSourceArgs',
103
105
  'TransferJobTransferSpecHttpDataSourceArgsDict',
104
106
  'TransferJobTransferSpecObjectConditionsArgs',
@@ -2517,6 +2519,10 @@ if not MYPY:
2517
2519
  """
2518
2520
  A Google Cloud Storage data source. Structure documented below.
2519
2521
  """
2522
+ hdfs_data_source: NotRequired[pulumi.Input['TransferJobTransferSpecHdfsDataSourceArgsDict']]
2523
+ """
2524
+ An HDFS data source. Structure documented below.
2525
+ """
2520
2526
  http_data_source: NotRequired[pulumi.Input['TransferJobTransferSpecHttpDataSourceArgsDict']]
2521
2527
  """
2522
2528
  A HTTP URL data source. Structure documented below.
@@ -2555,6 +2561,7 @@ class TransferJobTransferSpecArgs:
2555
2561
  azure_blob_storage_data_source: Optional[pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceArgs']] = None,
2556
2562
  gcs_data_sink: Optional[pulumi.Input['TransferJobTransferSpecGcsDataSinkArgs']] = None,
2557
2563
  gcs_data_source: Optional[pulumi.Input['TransferJobTransferSpecGcsDataSourceArgs']] = None,
2564
+ hdfs_data_source: Optional[pulumi.Input['TransferJobTransferSpecHdfsDataSourceArgs']] = None,
2558
2565
  http_data_source: Optional[pulumi.Input['TransferJobTransferSpecHttpDataSourceArgs']] = None,
2559
2566
  object_conditions: Optional[pulumi.Input['TransferJobTransferSpecObjectConditionsArgs']] = None,
2560
2567
  posix_data_sink: Optional[pulumi.Input['TransferJobTransferSpecPosixDataSinkArgs']] = None,
@@ -2567,6 +2574,7 @@ class TransferJobTransferSpecArgs:
2567
2574
  :param pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceArgs'] azure_blob_storage_data_source: An Azure Blob Storage data source. Structure documented below.
2568
2575
  :param pulumi.Input['TransferJobTransferSpecGcsDataSinkArgs'] gcs_data_sink: A Google Cloud Storage data sink. Structure documented below.
2569
2576
  :param pulumi.Input['TransferJobTransferSpecGcsDataSourceArgs'] gcs_data_source: A Google Cloud Storage data source. Structure documented below.
2577
+ :param pulumi.Input['TransferJobTransferSpecHdfsDataSourceArgs'] hdfs_data_source: An HDFS data source. Structure documented below.
2570
2578
  :param pulumi.Input['TransferJobTransferSpecHttpDataSourceArgs'] http_data_source: A HTTP URL data source. Structure documented below.
2571
2579
  :param pulumi.Input['TransferJobTransferSpecObjectConditionsArgs'] object_conditions: Only objects that satisfy these object conditions are included in the set of data source and data sink objects. Object conditions based on objects' `last_modification_time` do not exclude objects in a data sink. Structure documented below.
2572
2580
  :param pulumi.Input['TransferJobTransferSpecPosixDataSinkArgs'] posix_data_sink: A POSIX data sink. Structure documented below.
@@ -2583,6 +2591,8 @@ class TransferJobTransferSpecArgs:
2583
2591
  pulumi.set(__self__, "gcs_data_sink", gcs_data_sink)
2584
2592
  if gcs_data_source is not None:
2585
2593
  pulumi.set(__self__, "gcs_data_source", gcs_data_source)
2594
+ if hdfs_data_source is not None:
2595
+ pulumi.set(__self__, "hdfs_data_source", hdfs_data_source)
2586
2596
  if http_data_source is not None:
2587
2597
  pulumi.set(__self__, "http_data_source", http_data_source)
2588
2598
  if object_conditions is not None:
@@ -2646,6 +2656,18 @@ class TransferJobTransferSpecArgs:
2646
2656
  def gcs_data_source(self, value: Optional[pulumi.Input['TransferJobTransferSpecGcsDataSourceArgs']]):
2647
2657
  pulumi.set(self, "gcs_data_source", value)
2648
2658
 
2659
+ @property
2660
+ @pulumi.getter(name="hdfsDataSource")
2661
+ def hdfs_data_source(self) -> Optional[pulumi.Input['TransferJobTransferSpecHdfsDataSourceArgs']]:
2662
+ """
2663
+ An HDFS data source. Structure documented below.
2664
+ """
2665
+ return pulumi.get(self, "hdfs_data_source")
2666
+
2667
+ @hdfs_data_source.setter
2668
+ def hdfs_data_source(self, value: Optional[pulumi.Input['TransferJobTransferSpecHdfsDataSourceArgs']]):
2669
+ pulumi.set(self, "hdfs_data_source", value)
2670
+
2649
2671
  @property
2650
2672
  @pulumi.getter(name="httpDataSource")
2651
2673
  def http_data_source(self) -> Optional[pulumi.Input['TransferJobTransferSpecHttpDataSourceArgs']]:
@@ -3121,6 +3143,37 @@ class TransferJobTransferSpecGcsDataSourceArgs:
3121
3143
  pulumi.set(self, "path", value)
3122
3144
 
3123
3145
 
3146
+ if not MYPY:
3147
+ class TransferJobTransferSpecHdfsDataSourceArgsDict(TypedDict):
3148
+ path: pulumi.Input[str]
3149
+ """
3150
+ Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.
3151
+ """
3152
+ elif False:
3153
+ TransferJobTransferSpecHdfsDataSourceArgsDict: TypeAlias = Mapping[str, Any]
3154
+
3155
+ @pulumi.input_type
3156
+ class TransferJobTransferSpecHdfsDataSourceArgs:
3157
+ def __init__(__self__, *,
3158
+ path: pulumi.Input[str]):
3159
+ """
3160
+ :param pulumi.Input[str] path: Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.
3161
+ """
3162
+ pulumi.set(__self__, "path", path)
3163
+
3164
+ @property
3165
+ @pulumi.getter
3166
+ def path(self) -> pulumi.Input[str]:
3167
+ """
3168
+ Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.
3169
+ """
3170
+ return pulumi.get(self, "path")
3171
+
3172
+ @path.setter
3173
+ def path(self, value: pulumi.Input[str]):
3174
+ pulumi.set(self, "path", value)
3175
+
3176
+
3124
3177
  if not MYPY:
3125
3178
  class TransferJobTransferSpecHttpDataSourceArgsDict(TypedDict):
3126
3179
  list_url: pulumi.Input[str]
@@ -3320,8 +3373,6 @@ if not MYPY:
3320
3373
  root_directory: pulumi.Input[str]
3321
3374
  """
3322
3375
  Root directory path to the filesystem.
3323
-
3324
- <a name="nested_aws_s3_data_source"></a>The `aws_s3_data_source` block supports:
3325
3376
  """
3326
3377
  elif False:
3327
3378
  TransferJobTransferSpecPosixDataSourceArgsDict: TypeAlias = Mapping[str, Any]
@@ -3332,8 +3383,6 @@ class TransferJobTransferSpecPosixDataSourceArgs:
3332
3383
  root_directory: pulumi.Input[str]):
3333
3384
  """
3334
3385
  :param pulumi.Input[str] root_directory: Root directory path to the filesystem.
3335
-
3336
- <a name="nested_aws_s3_data_source"></a>The `aws_s3_data_source` block supports:
3337
3386
  """
3338
3387
  pulumi.set(__self__, "root_directory", root_directory)
3339
3388
 
@@ -3342,8 +3391,6 @@ class TransferJobTransferSpecPosixDataSourceArgs:
3342
3391
  def root_directory(self) -> pulumi.Input[str]:
3343
3392
  """
3344
3393
  Root directory path to the filesystem.
3345
-
3346
- <a name="nested_aws_s3_data_source"></a>The `aws_s3_data_source` block supports:
3347
3394
  """
3348
3395
  return pulumi.get(self, "root_directory")
3349
3396
 
@@ -322,7 +322,7 @@ def get_bucket(name: Optional[str] = None,
322
322
 
323
323
 
324
324
  :param str name: The name of the bucket.
325
- :param str project: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. If no value is supplied in the configuration or through provider defaults then the data source will use the Compute API to find the project id that corresponds to the project number returned from the Storage API. Supplying a value for `project` doesn't influence retrieving data about the bucket but it can be used to prevent use of the Compute API. If you do provide a `project` value ensure that it is the correct value for that bucket; the data source will not check that the project id and project number match.
325
+ :param str project: The ID of the project in which the resource belongs. If it is not provided then the data source will use the Compute API to find the project id that corresponds to the project number returned from the Storage API, and if no Compute API permissions are available or if the Compute API is disabled it defaults to the provider value. Supplying a value for `project` doesn't influence retrieving data about the bucket but it can be used to prevent use of the Compute API. If you do provide a `project` value ensure that it is the correct value for that bucket; the data source will not check that the project id and project number match.
326
326
  """
327
327
  __args__ = dict()
328
328
  __args__['name'] = name
@@ -380,7 +380,7 @@ def get_bucket_output(name: Optional[pulumi.Input[str]] = None,
380
380
 
381
381
 
382
382
  :param str name: The name of the bucket.
383
- :param str project: The ID of the project in which the resource belongs. If it is not provided, the provider project is used. If no value is supplied in the configuration or through provider defaults then the data source will use the Compute API to find the project id that corresponds to the project number returned from the Storage API. Supplying a value for `project` doesn't influence retrieving data about the bucket but it can be used to prevent use of the Compute API. If you do provide a `project` value ensure that it is the correct value for that bucket; the data source will not check that the project id and project number match.
383
+ :param str project: The ID of the project in which the resource belongs. If it is not provided then the data source will use the Compute API to find the project id that corresponds to the project number returned from the Storage API, and if no Compute API permissions are available or if the Compute API is disabled it defaults to the provider value. Supplying a value for `project` doesn't influence retrieving data about the bucket but it can be used to prevent use of the Compute API. If you do provide a `project` value ensure that it is the correct value for that bucket; the data source will not check that the project id and project number match.
384
384
  """
385
385
  __args__ = dict()
386
386
  __args__['name'] = name