pulumi-gcp 8.24.0a1743057423__py3-none-any.whl → 8.25.0a1743489606__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 (55) hide show
  1. pulumi_gcp/__init__.py +27 -0
  2. pulumi_gcp/bigquery/_inputs.py +158 -0
  3. pulumi_gcp/bigquery/outputs.py +115 -0
  4. pulumi_gcp/bigquery/reservation.py +189 -1
  5. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +11 -7
  6. pulumi_gcp/chronicle/data_access_label.py +16 -0
  7. pulumi_gcp/cloudrunv2/service.py +14 -14
  8. pulumi_gcp/compute/__init__.py +1 -0
  9. pulumi_gcp/compute/_inputs.py +616 -18
  10. pulumi_gcp/compute/get_images.py +172 -0
  11. pulumi_gcp/compute/get_resource_policy.py +15 -4
  12. pulumi_gcp/compute/image.py +54 -0
  13. pulumi_gcp/compute/interconnect.py +14 -7
  14. pulumi_gcp/compute/outputs.py +710 -18
  15. pulumi_gcp/compute/resource_policy.py +169 -3
  16. pulumi_gcp/compute/router_route_policy.py +16 -0
  17. pulumi_gcp/config/__init__.pyi +6 -0
  18. pulumi_gcp/config/vars.py +12 -0
  19. pulumi_gcp/container/_inputs.py +262 -1
  20. pulumi_gcp/container/cluster.py +54 -0
  21. pulumi_gcp/container/get_cluster.py +12 -1
  22. pulumi_gcp/container/outputs.py +297 -2
  23. pulumi_gcp/dataproc/_inputs.py +23 -0
  24. pulumi_gcp/dataproc/outputs.py +27 -0
  25. pulumi_gcp/lustre/__init__.py +8 -0
  26. pulumi_gcp/lustre/instance.py +983 -0
  27. pulumi_gcp/memorystore/_inputs.py +419 -0
  28. pulumi_gcp/memorystore/get_instance.py +23 -1
  29. pulumi_gcp/memorystore/instance.py +137 -7
  30. pulumi_gcp/memorystore/outputs.py +544 -0
  31. pulumi_gcp/networkmanagement/_inputs.py +422 -91
  32. pulumi_gcp/networkmanagement/connectivity_test.py +233 -211
  33. pulumi_gcp/networkmanagement/outputs.py +280 -61
  34. pulumi_gcp/networksecurity/_inputs.py +392 -0
  35. pulumi_gcp/networksecurity/intercept_deployment_group.py +44 -16
  36. pulumi_gcp/networksecurity/intercept_endpoint_group.py +90 -36
  37. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +53 -8
  38. pulumi_gcp/networksecurity/outputs.py +240 -0
  39. pulumi_gcp/organizations/__init__.py +1 -0
  40. pulumi_gcp/organizations/get_iam_custom_role.py +198 -0
  41. pulumi_gcp/osconfig/__init__.py +1 -0
  42. pulumi_gcp/osconfig/_inputs.py +5413 -0
  43. pulumi_gcp/osconfig/outputs.py +3962 -0
  44. pulumi_gcp/osconfig/v2_policy_orchestrator.py +971 -0
  45. pulumi_gcp/provider.py +60 -0
  46. pulumi_gcp/pulumi-plugin.json +1 -1
  47. pulumi_gcp/storage/__init__.py +2 -0
  48. pulumi_gcp/storage/_inputs.py +726 -0
  49. pulumi_gcp/storage/control_project_intelligence_config.py +366 -0
  50. pulumi_gcp/storage/get_control_project_intelligence_config.py +130 -0
  51. pulumi_gcp/storage/outputs.py +716 -0
  52. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0a1743489606.dist-info}/METADATA +1 -1
  53. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0a1743489606.dist-info}/RECORD +55 -48
  54. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0a1743489606.dist-info}/WHEEL +0 -0
  55. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0a1743489606.dist-info}/top_level.txt +0 -0
@@ -33,6 +33,12 @@ __all__ = [
33
33
  'BucketSoftDeletePolicy',
34
34
  'BucketVersioning',
35
35
  'BucketWebsite',
36
+ 'ControlProjectIntelligenceConfigEffectiveIntelligenceConfig',
37
+ 'ControlProjectIntelligenceConfigFilter',
38
+ 'ControlProjectIntelligenceConfigFilterExcludedCloudStorageBuckets',
39
+ 'ControlProjectIntelligenceConfigFilterExcludedCloudStorageLocations',
40
+ 'ControlProjectIntelligenceConfigFilterIncludedCloudStorageBuckets',
41
+ 'ControlProjectIntelligenceConfigFilterIncludedCloudStorageLocations',
36
42
  'DefaultObjectAccessControlProjectTeam',
37
43
  'InsightsReportConfigCsvOptions',
38
44
  'InsightsReportConfigFrequencyOptions',
@@ -54,6 +60,7 @@ __all__ = [
54
60
  'TransferJobReplicationSpecGcsDataSource',
55
61
  'TransferJobReplicationSpecObjectConditions',
56
62
  'TransferJobReplicationSpecTransferOptions',
63
+ 'TransferJobReplicationSpecTransferOptionsMetadataOptions',
57
64
  'TransferJobSchedule',
58
65
  'TransferJobScheduleScheduleEndDate',
59
66
  'TransferJobScheduleScheduleStartDate',
@@ -71,6 +78,7 @@ __all__ = [
71
78
  'TransferJobTransferSpecPosixDataSink',
72
79
  'TransferJobTransferSpecPosixDataSource',
73
80
  'TransferJobTransferSpecTransferOptions',
81
+ 'TransferJobTransferSpecTransferOptionsMetadataOptions',
74
82
  'GetBucketAutoclassResult',
75
83
  'GetBucketCorResult',
76
84
  'GetBucketCustomPlacementConfigResult',
@@ -90,6 +98,12 @@ __all__ = [
90
98
  'GetBucketVersioningResult',
91
99
  'GetBucketWebsiteResult',
92
100
  'GetBucketsBucketResult',
101
+ 'GetControlProjectIntelligenceConfigEffectiveIntelligenceConfigResult',
102
+ 'GetControlProjectIntelligenceConfigFilterResult',
103
+ 'GetControlProjectIntelligenceConfigFilterExcludedCloudStorageBucketResult',
104
+ 'GetControlProjectIntelligenceConfigFilterExcludedCloudStorageLocationResult',
105
+ 'GetControlProjectIntelligenceConfigFilterIncludedCloudStorageBucketResult',
106
+ 'GetControlProjectIntelligenceConfigFilterIncludedCloudStorageLocationResult',
93
107
  ]
94
108
 
95
109
  @pulumi.output_type
@@ -1054,6 +1068,252 @@ class BucketWebsite(dict):
1054
1068
  return pulumi.get(self, "not_found_page")
1055
1069
 
1056
1070
 
1071
+ @pulumi.output_type
1072
+ class ControlProjectIntelligenceConfigEffectiveIntelligenceConfig(dict):
1073
+ @staticmethod
1074
+ def __key_warning(key: str):
1075
+ suggest = None
1076
+ if key == "effectiveEdition":
1077
+ suggest = "effective_edition"
1078
+ elif key == "intelligenceConfig":
1079
+ suggest = "intelligence_config"
1080
+
1081
+ if suggest:
1082
+ pulumi.log.warn(f"Key '{key}' not found in ControlProjectIntelligenceConfigEffectiveIntelligenceConfig. Access the value via the '{suggest}' property getter instead.")
1083
+
1084
+ def __getitem__(self, key: str) -> Any:
1085
+ ControlProjectIntelligenceConfigEffectiveIntelligenceConfig.__key_warning(key)
1086
+ return super().__getitem__(key)
1087
+
1088
+ def get(self, key: str, default = None) -> Any:
1089
+ ControlProjectIntelligenceConfigEffectiveIntelligenceConfig.__key_warning(key)
1090
+ return super().get(key, default)
1091
+
1092
+ def __init__(__self__, *,
1093
+ effective_edition: Optional[str] = None,
1094
+ intelligence_config: Optional[str] = None):
1095
+ """
1096
+ :param str effective_edition: (Output)
1097
+ The `StorageIntelligence` edition that is applicable for the resource.
1098
+ :param str intelligence_config: (Output)
1099
+ The Intelligence config resource that is applied for the target resource.
1100
+ """
1101
+ if effective_edition is not None:
1102
+ pulumi.set(__self__, "effective_edition", effective_edition)
1103
+ if intelligence_config is not None:
1104
+ pulumi.set(__self__, "intelligence_config", intelligence_config)
1105
+
1106
+ @property
1107
+ @pulumi.getter(name="effectiveEdition")
1108
+ def effective_edition(self) -> Optional[str]:
1109
+ """
1110
+ (Output)
1111
+ The `StorageIntelligence` edition that is applicable for the resource.
1112
+ """
1113
+ return pulumi.get(self, "effective_edition")
1114
+
1115
+ @property
1116
+ @pulumi.getter(name="intelligenceConfig")
1117
+ def intelligence_config(self) -> Optional[str]:
1118
+ """
1119
+ (Output)
1120
+ The Intelligence config resource that is applied for the target resource.
1121
+ """
1122
+ return pulumi.get(self, "intelligence_config")
1123
+
1124
+
1125
+ @pulumi.output_type
1126
+ class ControlProjectIntelligenceConfigFilter(dict):
1127
+ @staticmethod
1128
+ def __key_warning(key: str):
1129
+ suggest = None
1130
+ if key == "excludedCloudStorageBuckets":
1131
+ suggest = "excluded_cloud_storage_buckets"
1132
+ elif key == "excludedCloudStorageLocations":
1133
+ suggest = "excluded_cloud_storage_locations"
1134
+ elif key == "includedCloudStorageBuckets":
1135
+ suggest = "included_cloud_storage_buckets"
1136
+ elif key == "includedCloudStorageLocations":
1137
+ suggest = "included_cloud_storage_locations"
1138
+
1139
+ if suggest:
1140
+ pulumi.log.warn(f"Key '{key}' not found in ControlProjectIntelligenceConfigFilter. Access the value via the '{suggest}' property getter instead.")
1141
+
1142
+ def __getitem__(self, key: str) -> Any:
1143
+ ControlProjectIntelligenceConfigFilter.__key_warning(key)
1144
+ return super().__getitem__(key)
1145
+
1146
+ def get(self, key: str, default = None) -> Any:
1147
+ ControlProjectIntelligenceConfigFilter.__key_warning(key)
1148
+ return super().get(key, default)
1149
+
1150
+ def __init__(__self__, *,
1151
+ excluded_cloud_storage_buckets: Optional['outputs.ControlProjectIntelligenceConfigFilterExcludedCloudStorageBuckets'] = None,
1152
+ excluded_cloud_storage_locations: Optional['outputs.ControlProjectIntelligenceConfigFilterExcludedCloudStorageLocations'] = None,
1153
+ included_cloud_storage_buckets: Optional['outputs.ControlProjectIntelligenceConfigFilterIncludedCloudStorageBuckets'] = None,
1154
+ included_cloud_storage_locations: Optional['outputs.ControlProjectIntelligenceConfigFilterIncludedCloudStorageLocations'] = None):
1155
+ """
1156
+ :param 'ControlProjectIntelligenceConfigFilterExcludedCloudStorageBucketsArgs' excluded_cloud_storage_buckets: Buckets to exclude from the Storage Intelligence plan.
1157
+ Structure is documented below.
1158
+ :param 'ControlProjectIntelligenceConfigFilterExcludedCloudStorageLocationsArgs' excluded_cloud_storage_locations: Locations to exclude from the Storage Intelligence plan.
1159
+ Structure is documented below.
1160
+ :param 'ControlProjectIntelligenceConfigFilterIncludedCloudStorageBucketsArgs' included_cloud_storage_buckets: Buckets to include in the Storage Intelligence plan.
1161
+ Structure is documented below.
1162
+ :param 'ControlProjectIntelligenceConfigFilterIncludedCloudStorageLocationsArgs' included_cloud_storage_locations: Locations to include in the Storage Intelligence plan.
1163
+ Structure is documented below.
1164
+ """
1165
+ if excluded_cloud_storage_buckets is not None:
1166
+ pulumi.set(__self__, "excluded_cloud_storage_buckets", excluded_cloud_storage_buckets)
1167
+ if excluded_cloud_storage_locations is not None:
1168
+ pulumi.set(__self__, "excluded_cloud_storage_locations", excluded_cloud_storage_locations)
1169
+ if included_cloud_storage_buckets is not None:
1170
+ pulumi.set(__self__, "included_cloud_storage_buckets", included_cloud_storage_buckets)
1171
+ if included_cloud_storage_locations is not None:
1172
+ pulumi.set(__self__, "included_cloud_storage_locations", included_cloud_storage_locations)
1173
+
1174
+ @property
1175
+ @pulumi.getter(name="excludedCloudStorageBuckets")
1176
+ def excluded_cloud_storage_buckets(self) -> Optional['outputs.ControlProjectIntelligenceConfigFilterExcludedCloudStorageBuckets']:
1177
+ """
1178
+ Buckets to exclude from the Storage Intelligence plan.
1179
+ Structure is documented below.
1180
+ """
1181
+ return pulumi.get(self, "excluded_cloud_storage_buckets")
1182
+
1183
+ @property
1184
+ @pulumi.getter(name="excludedCloudStorageLocations")
1185
+ def excluded_cloud_storage_locations(self) -> Optional['outputs.ControlProjectIntelligenceConfigFilterExcludedCloudStorageLocations']:
1186
+ """
1187
+ Locations to exclude from the Storage Intelligence plan.
1188
+ Structure is documented below.
1189
+ """
1190
+ return pulumi.get(self, "excluded_cloud_storage_locations")
1191
+
1192
+ @property
1193
+ @pulumi.getter(name="includedCloudStorageBuckets")
1194
+ def included_cloud_storage_buckets(self) -> Optional['outputs.ControlProjectIntelligenceConfigFilterIncludedCloudStorageBuckets']:
1195
+ """
1196
+ Buckets to include in the Storage Intelligence plan.
1197
+ Structure is documented below.
1198
+ """
1199
+ return pulumi.get(self, "included_cloud_storage_buckets")
1200
+
1201
+ @property
1202
+ @pulumi.getter(name="includedCloudStorageLocations")
1203
+ def included_cloud_storage_locations(self) -> Optional['outputs.ControlProjectIntelligenceConfigFilterIncludedCloudStorageLocations']:
1204
+ """
1205
+ Locations to include in the Storage Intelligence plan.
1206
+ Structure is documented below.
1207
+ """
1208
+ return pulumi.get(self, "included_cloud_storage_locations")
1209
+
1210
+
1211
+ @pulumi.output_type
1212
+ class ControlProjectIntelligenceConfigFilterExcludedCloudStorageBuckets(dict):
1213
+ @staticmethod
1214
+ def __key_warning(key: str):
1215
+ suggest = None
1216
+ if key == "bucketIdRegexes":
1217
+ suggest = "bucket_id_regexes"
1218
+
1219
+ if suggest:
1220
+ pulumi.log.warn(f"Key '{key}' not found in ControlProjectIntelligenceConfigFilterExcludedCloudStorageBuckets. Access the value via the '{suggest}' property getter instead.")
1221
+
1222
+ def __getitem__(self, key: str) -> Any:
1223
+ ControlProjectIntelligenceConfigFilterExcludedCloudStorageBuckets.__key_warning(key)
1224
+ return super().__getitem__(key)
1225
+
1226
+ def get(self, key: str, default = None) -> Any:
1227
+ ControlProjectIntelligenceConfigFilterExcludedCloudStorageBuckets.__key_warning(key)
1228
+ return super().get(key, default)
1229
+
1230
+ def __init__(__self__, *,
1231
+ bucket_id_regexes: Sequence[str]):
1232
+ """
1233
+ :param Sequence[str] bucket_id_regexes: List of bucket id regexes to exclude in the storage intelligence plan.
1234
+ """
1235
+ pulumi.set(__self__, "bucket_id_regexes", bucket_id_regexes)
1236
+
1237
+ @property
1238
+ @pulumi.getter(name="bucketIdRegexes")
1239
+ def bucket_id_regexes(self) -> Sequence[str]:
1240
+ """
1241
+ List of bucket id regexes to exclude in the storage intelligence plan.
1242
+ """
1243
+ return pulumi.get(self, "bucket_id_regexes")
1244
+
1245
+
1246
+ @pulumi.output_type
1247
+ class ControlProjectIntelligenceConfigFilterExcludedCloudStorageLocations(dict):
1248
+ def __init__(__self__, *,
1249
+ locations: Sequence[str]):
1250
+ """
1251
+ :param Sequence[str] locations: List of locations.
1252
+ """
1253
+ pulumi.set(__self__, "locations", locations)
1254
+
1255
+ @property
1256
+ @pulumi.getter
1257
+ def locations(self) -> Sequence[str]:
1258
+ """
1259
+ List of locations.
1260
+ """
1261
+ return pulumi.get(self, "locations")
1262
+
1263
+
1264
+ @pulumi.output_type
1265
+ class ControlProjectIntelligenceConfigFilterIncludedCloudStorageBuckets(dict):
1266
+ @staticmethod
1267
+ def __key_warning(key: str):
1268
+ suggest = None
1269
+ if key == "bucketIdRegexes":
1270
+ suggest = "bucket_id_regexes"
1271
+
1272
+ if suggest:
1273
+ pulumi.log.warn(f"Key '{key}' not found in ControlProjectIntelligenceConfigFilterIncludedCloudStorageBuckets. Access the value via the '{suggest}' property getter instead.")
1274
+
1275
+ def __getitem__(self, key: str) -> Any:
1276
+ ControlProjectIntelligenceConfigFilterIncludedCloudStorageBuckets.__key_warning(key)
1277
+ return super().__getitem__(key)
1278
+
1279
+ def get(self, key: str, default = None) -> Any:
1280
+ ControlProjectIntelligenceConfigFilterIncludedCloudStorageBuckets.__key_warning(key)
1281
+ return super().get(key, default)
1282
+
1283
+ def __init__(__self__, *,
1284
+ bucket_id_regexes: Sequence[str]):
1285
+ """
1286
+ :param Sequence[str] bucket_id_regexes: List of bucket id regexes to exclude in the storage intelligence plan.
1287
+ """
1288
+ pulumi.set(__self__, "bucket_id_regexes", bucket_id_regexes)
1289
+
1290
+ @property
1291
+ @pulumi.getter(name="bucketIdRegexes")
1292
+ def bucket_id_regexes(self) -> Sequence[str]:
1293
+ """
1294
+ List of bucket id regexes to exclude in the storage intelligence plan.
1295
+ """
1296
+ return pulumi.get(self, "bucket_id_regexes")
1297
+
1298
+
1299
+ @pulumi.output_type
1300
+ class ControlProjectIntelligenceConfigFilterIncludedCloudStorageLocations(dict):
1301
+ def __init__(__self__, *,
1302
+ locations: Sequence[str]):
1303
+ """
1304
+ :param Sequence[str] locations: List of locations.
1305
+ """
1306
+ pulumi.set(__self__, "locations", locations)
1307
+
1308
+ @property
1309
+ @pulumi.getter
1310
+ def locations(self) -> Sequence[str]:
1311
+ """
1312
+ List of locations.
1313
+ """
1314
+ return pulumi.get(self, "locations")
1315
+
1316
+
1057
1317
  @pulumi.output_type
1058
1318
  class DefaultObjectAccessControlProjectTeam(dict):
1059
1319
  @staticmethod
@@ -2082,6 +2342,8 @@ class TransferJobReplicationSpecTransferOptions(dict):
2082
2342
  suggest = "delete_objects_from_source_after_transfer"
2083
2343
  elif key == "deleteObjectsUniqueInSink":
2084
2344
  suggest = "delete_objects_unique_in_sink"
2345
+ elif key == "metadataOptions":
2346
+ suggest = "metadata_options"
2085
2347
  elif key == "overwriteObjectsAlreadyExistingInSink":
2086
2348
  suggest = "overwrite_objects_already_existing_in_sink"
2087
2349
  elif key == "overwriteWhen":
@@ -2101,12 +2363,14 @@ class TransferJobReplicationSpecTransferOptions(dict):
2101
2363
  def __init__(__self__, *,
2102
2364
  delete_objects_from_source_after_transfer: Optional[bool] = None,
2103
2365
  delete_objects_unique_in_sink: Optional[bool] = None,
2366
+ metadata_options: Optional['outputs.TransferJobReplicationSpecTransferOptionsMetadataOptions'] = None,
2104
2367
  overwrite_objects_already_existing_in_sink: Optional[bool] = None,
2105
2368
  overwrite_when: Optional[str] = None):
2106
2369
  """
2107
2370
  :param bool delete_objects_from_source_after_transfer: Whether objects should be deleted from the source after they are transferred to the sink. Note that this option and `delete_objects_unique_in_sink` are mutually exclusive.
2108
2371
  :param bool delete_objects_unique_in_sink: Whether objects that exist only in the sink should be deleted. Note that this option and
2109
2372
  `delete_objects_from_source_after_transfer` are mutually exclusive.
2373
+ :param 'TransferJobReplicationSpecTransferOptionsMetadataOptionsArgs' metadata_options: Specifies the metadata options for running a transfer
2110
2374
  :param bool overwrite_objects_already_existing_in_sink: Whether overwriting objects that already exist in the sink is allowed.
2111
2375
  :param str overwrite_when: When to overwrite objects that already exist in the sink. If not set, overwrite behavior is determined by `overwrite_objects_already_existing_in_sink`. Possible values: ALWAYS, DIFFERENT, NEVER.
2112
2376
  """
@@ -2114,6 +2378,8 @@ class TransferJobReplicationSpecTransferOptions(dict):
2114
2378
  pulumi.set(__self__, "delete_objects_from_source_after_transfer", delete_objects_from_source_after_transfer)
2115
2379
  if delete_objects_unique_in_sink is not None:
2116
2380
  pulumi.set(__self__, "delete_objects_unique_in_sink", delete_objects_unique_in_sink)
2381
+ if metadata_options is not None:
2382
+ pulumi.set(__self__, "metadata_options", metadata_options)
2117
2383
  if overwrite_objects_already_existing_in_sink is not None:
2118
2384
  pulumi.set(__self__, "overwrite_objects_already_existing_in_sink", overwrite_objects_already_existing_in_sink)
2119
2385
  if overwrite_when is not None:
@@ -2136,6 +2402,14 @@ class TransferJobReplicationSpecTransferOptions(dict):
2136
2402
  """
2137
2403
  return pulumi.get(self, "delete_objects_unique_in_sink")
2138
2404
 
2405
+ @property
2406
+ @pulumi.getter(name="metadataOptions")
2407
+ def metadata_options(self) -> Optional['outputs.TransferJobReplicationSpecTransferOptionsMetadataOptions']:
2408
+ """
2409
+ Specifies the metadata options for running a transfer
2410
+ """
2411
+ return pulumi.get(self, "metadata_options")
2412
+
2139
2413
  @property
2140
2414
  @pulumi.getter(name="overwriteObjectsAlreadyExistingInSink")
2141
2415
  def overwrite_objects_already_existing_in_sink(self) -> Optional[bool]:
@@ -2153,6 +2427,144 @@ class TransferJobReplicationSpecTransferOptions(dict):
2153
2427
  return pulumi.get(self, "overwrite_when")
2154
2428
 
2155
2429
 
2430
+ @pulumi.output_type
2431
+ class TransferJobReplicationSpecTransferOptionsMetadataOptions(dict):
2432
+ @staticmethod
2433
+ def __key_warning(key: str):
2434
+ suggest = None
2435
+ if key == "kmsKey":
2436
+ suggest = "kms_key"
2437
+ elif key == "storageClass":
2438
+ suggest = "storage_class"
2439
+ elif key == "temporaryHold":
2440
+ suggest = "temporary_hold"
2441
+ elif key == "timeCreated":
2442
+ suggest = "time_created"
2443
+
2444
+ if suggest:
2445
+ pulumi.log.warn(f"Key '{key}' not found in TransferJobReplicationSpecTransferOptionsMetadataOptions. Access the value via the '{suggest}' property getter instead.")
2446
+
2447
+ def __getitem__(self, key: str) -> Any:
2448
+ TransferJobReplicationSpecTransferOptionsMetadataOptions.__key_warning(key)
2449
+ return super().__getitem__(key)
2450
+
2451
+ def get(self, key: str, default = None) -> Any:
2452
+ TransferJobReplicationSpecTransferOptionsMetadataOptions.__key_warning(key)
2453
+ return super().get(key, default)
2454
+
2455
+ def __init__(__self__, *,
2456
+ acl: Optional[str] = None,
2457
+ gid: Optional[str] = None,
2458
+ kms_key: Optional[str] = None,
2459
+ mode: Optional[str] = None,
2460
+ storage_class: Optional[str] = None,
2461
+ symlink: Optional[str] = None,
2462
+ temporary_hold: Optional[str] = None,
2463
+ time_created: Optional[str] = None,
2464
+ uid: Optional[str] = None):
2465
+ """
2466
+ :param str acl: Specifies how each object's ACLs should be preserved for transfers between Google Cloud Storage buckets
2467
+ :param str gid: Specifies how each file's POSIX group ID (GID) attribute should be handled by the transfer.
2468
+ :param str kms_key: Specifies how each object's Cloud KMS customer-managed encryption key (CMEK) is preserved for transfers between Google Cloud Storage buckets
2469
+ :param str mode: Specifies how each file's mode attribute should be handled by the transfer.
2470
+ :param str storage_class: Specifies the storage class to set on objects being transferred to Google Cloud Storage buckets
2471
+ :param str symlink: Specifies how symlinks should be handled by the transfer.
2472
+ :param str temporary_hold: SSpecifies how each object's temporary hold status should be preserved for transfers between Google Cloud Storage buckets
2473
+ :param str time_created: Specifies how each object's timeCreated metadata is preserved for transfers.
2474
+ :param str uid: Specifies how each file's POSIX user ID (UID) attribute should be handled by the transfer.
2475
+ """
2476
+ if acl is not None:
2477
+ pulumi.set(__self__, "acl", acl)
2478
+ if gid is not None:
2479
+ pulumi.set(__self__, "gid", gid)
2480
+ if kms_key is not None:
2481
+ pulumi.set(__self__, "kms_key", kms_key)
2482
+ if mode is not None:
2483
+ pulumi.set(__self__, "mode", mode)
2484
+ if storage_class is not None:
2485
+ pulumi.set(__self__, "storage_class", storage_class)
2486
+ if symlink is not None:
2487
+ pulumi.set(__self__, "symlink", symlink)
2488
+ if temporary_hold is not None:
2489
+ pulumi.set(__self__, "temporary_hold", temporary_hold)
2490
+ if time_created is not None:
2491
+ pulumi.set(__self__, "time_created", time_created)
2492
+ if uid is not None:
2493
+ pulumi.set(__self__, "uid", uid)
2494
+
2495
+ @property
2496
+ @pulumi.getter
2497
+ def acl(self) -> Optional[str]:
2498
+ """
2499
+ Specifies how each object's ACLs should be preserved for transfers between Google Cloud Storage buckets
2500
+ """
2501
+ return pulumi.get(self, "acl")
2502
+
2503
+ @property
2504
+ @pulumi.getter
2505
+ def gid(self) -> Optional[str]:
2506
+ """
2507
+ Specifies how each file's POSIX group ID (GID) attribute should be handled by the transfer.
2508
+ """
2509
+ return pulumi.get(self, "gid")
2510
+
2511
+ @property
2512
+ @pulumi.getter(name="kmsKey")
2513
+ def kms_key(self) -> Optional[str]:
2514
+ """
2515
+ Specifies how each object's Cloud KMS customer-managed encryption key (CMEK) is preserved for transfers between Google Cloud Storage buckets
2516
+ """
2517
+ return pulumi.get(self, "kms_key")
2518
+
2519
+ @property
2520
+ @pulumi.getter
2521
+ def mode(self) -> Optional[str]:
2522
+ """
2523
+ Specifies how each file's mode attribute should be handled by the transfer.
2524
+ """
2525
+ return pulumi.get(self, "mode")
2526
+
2527
+ @property
2528
+ @pulumi.getter(name="storageClass")
2529
+ def storage_class(self) -> Optional[str]:
2530
+ """
2531
+ Specifies the storage class to set on objects being transferred to Google Cloud Storage buckets
2532
+ """
2533
+ return pulumi.get(self, "storage_class")
2534
+
2535
+ @property
2536
+ @pulumi.getter
2537
+ def symlink(self) -> Optional[str]:
2538
+ """
2539
+ Specifies how symlinks should be handled by the transfer.
2540
+ """
2541
+ return pulumi.get(self, "symlink")
2542
+
2543
+ @property
2544
+ @pulumi.getter(name="temporaryHold")
2545
+ def temporary_hold(self) -> Optional[str]:
2546
+ """
2547
+ SSpecifies how each object's temporary hold status should be preserved for transfers between Google Cloud Storage buckets
2548
+ """
2549
+ return pulumi.get(self, "temporary_hold")
2550
+
2551
+ @property
2552
+ @pulumi.getter(name="timeCreated")
2553
+ def time_created(self) -> Optional[str]:
2554
+ """
2555
+ Specifies how each object's timeCreated metadata is preserved for transfers.
2556
+ """
2557
+ return pulumi.get(self, "time_created")
2558
+
2559
+ @property
2560
+ @pulumi.getter
2561
+ def uid(self) -> Optional[str]:
2562
+ """
2563
+ Specifies how each file's POSIX user ID (UID) attribute should be handled by the transfer.
2564
+ """
2565
+ return pulumi.get(self, "uid")
2566
+
2567
+
2156
2568
  @pulumi.output_type
2157
2569
  class TransferJobSchedule(dict):
2158
2570
  @staticmethod
@@ -3131,6 +3543,8 @@ class TransferJobTransferSpecTransferOptions(dict):
3131
3543
  suggest = "delete_objects_from_source_after_transfer"
3132
3544
  elif key == "deleteObjectsUniqueInSink":
3133
3545
  suggest = "delete_objects_unique_in_sink"
3546
+ elif key == "metadataOptions":
3547
+ suggest = "metadata_options"
3134
3548
  elif key == "overwriteObjectsAlreadyExistingInSink":
3135
3549
  suggest = "overwrite_objects_already_existing_in_sink"
3136
3550
  elif key == "overwriteWhen":
@@ -3150,12 +3564,14 @@ class TransferJobTransferSpecTransferOptions(dict):
3150
3564
  def __init__(__self__, *,
3151
3565
  delete_objects_from_source_after_transfer: Optional[bool] = None,
3152
3566
  delete_objects_unique_in_sink: Optional[bool] = None,
3567
+ metadata_options: Optional['outputs.TransferJobTransferSpecTransferOptionsMetadataOptions'] = None,
3153
3568
  overwrite_objects_already_existing_in_sink: Optional[bool] = None,
3154
3569
  overwrite_when: Optional[str] = None):
3155
3570
  """
3156
3571
  :param bool delete_objects_from_source_after_transfer: Whether objects should be deleted from the source after they are transferred to the sink. Note that this option and `delete_objects_unique_in_sink` are mutually exclusive.
3157
3572
  :param bool delete_objects_unique_in_sink: Whether objects that exist only in the sink should be deleted. Note that this option and
3158
3573
  `delete_objects_from_source_after_transfer` are mutually exclusive.
3574
+ :param 'TransferJobTransferSpecTransferOptionsMetadataOptionsArgs' metadata_options: Specifies the metadata options for running a transfer
3159
3575
  :param bool overwrite_objects_already_existing_in_sink: Whether overwriting objects that already exist in the sink is allowed.
3160
3576
  :param str overwrite_when: When to overwrite objects that already exist in the sink. If not set, overwrite behavior is determined by `overwrite_objects_already_existing_in_sink`. Possible values: ALWAYS, DIFFERENT, NEVER.
3161
3577
  """
@@ -3163,6 +3579,8 @@ class TransferJobTransferSpecTransferOptions(dict):
3163
3579
  pulumi.set(__self__, "delete_objects_from_source_after_transfer", delete_objects_from_source_after_transfer)
3164
3580
  if delete_objects_unique_in_sink is not None:
3165
3581
  pulumi.set(__self__, "delete_objects_unique_in_sink", delete_objects_unique_in_sink)
3582
+ if metadata_options is not None:
3583
+ pulumi.set(__self__, "metadata_options", metadata_options)
3166
3584
  if overwrite_objects_already_existing_in_sink is not None:
3167
3585
  pulumi.set(__self__, "overwrite_objects_already_existing_in_sink", overwrite_objects_already_existing_in_sink)
3168
3586
  if overwrite_when is not None:
@@ -3185,6 +3603,14 @@ class TransferJobTransferSpecTransferOptions(dict):
3185
3603
  """
3186
3604
  return pulumi.get(self, "delete_objects_unique_in_sink")
3187
3605
 
3606
+ @property
3607
+ @pulumi.getter(name="metadataOptions")
3608
+ def metadata_options(self) -> Optional['outputs.TransferJobTransferSpecTransferOptionsMetadataOptions']:
3609
+ """
3610
+ Specifies the metadata options for running a transfer
3611
+ """
3612
+ return pulumi.get(self, "metadata_options")
3613
+
3188
3614
  @property
3189
3615
  @pulumi.getter(name="overwriteObjectsAlreadyExistingInSink")
3190
3616
  def overwrite_objects_already_existing_in_sink(self) -> Optional[bool]:
@@ -3202,6 +3628,144 @@ class TransferJobTransferSpecTransferOptions(dict):
3202
3628
  return pulumi.get(self, "overwrite_when")
3203
3629
 
3204
3630
 
3631
+ @pulumi.output_type
3632
+ class TransferJobTransferSpecTransferOptionsMetadataOptions(dict):
3633
+ @staticmethod
3634
+ def __key_warning(key: str):
3635
+ suggest = None
3636
+ if key == "kmsKey":
3637
+ suggest = "kms_key"
3638
+ elif key == "storageClass":
3639
+ suggest = "storage_class"
3640
+ elif key == "temporaryHold":
3641
+ suggest = "temporary_hold"
3642
+ elif key == "timeCreated":
3643
+ suggest = "time_created"
3644
+
3645
+ if suggest:
3646
+ pulumi.log.warn(f"Key '{key}' not found in TransferJobTransferSpecTransferOptionsMetadataOptions. Access the value via the '{suggest}' property getter instead.")
3647
+
3648
+ def __getitem__(self, key: str) -> Any:
3649
+ TransferJobTransferSpecTransferOptionsMetadataOptions.__key_warning(key)
3650
+ return super().__getitem__(key)
3651
+
3652
+ def get(self, key: str, default = None) -> Any:
3653
+ TransferJobTransferSpecTransferOptionsMetadataOptions.__key_warning(key)
3654
+ return super().get(key, default)
3655
+
3656
+ def __init__(__self__, *,
3657
+ acl: Optional[str] = None,
3658
+ gid: Optional[str] = None,
3659
+ kms_key: Optional[str] = None,
3660
+ mode: Optional[str] = None,
3661
+ storage_class: Optional[str] = None,
3662
+ symlink: Optional[str] = None,
3663
+ temporary_hold: Optional[str] = None,
3664
+ time_created: Optional[str] = None,
3665
+ uid: Optional[str] = None):
3666
+ """
3667
+ :param str acl: Specifies how each object's ACLs should be preserved for transfers between Google Cloud Storage buckets
3668
+ :param str gid: Specifies how each file's POSIX group ID (GID) attribute should be handled by the transfer.
3669
+ :param str kms_key: Specifies how each object's Cloud KMS customer-managed encryption key (CMEK) is preserved for transfers between Google Cloud Storage buckets
3670
+ :param str mode: Specifies how each file's mode attribute should be handled by the transfer.
3671
+ :param str storage_class: Specifies the storage class to set on objects being transferred to Google Cloud Storage buckets
3672
+ :param str symlink: Specifies how symlinks should be handled by the transfer.
3673
+ :param str temporary_hold: SSpecifies how each object's temporary hold status should be preserved for transfers between Google Cloud Storage buckets
3674
+ :param str time_created: Specifies how each object's timeCreated metadata is preserved for transfers.
3675
+ :param str uid: Specifies how each file's POSIX user ID (UID) attribute should be handled by the transfer.
3676
+ """
3677
+ if acl is not None:
3678
+ pulumi.set(__self__, "acl", acl)
3679
+ if gid is not None:
3680
+ pulumi.set(__self__, "gid", gid)
3681
+ if kms_key is not None:
3682
+ pulumi.set(__self__, "kms_key", kms_key)
3683
+ if mode is not None:
3684
+ pulumi.set(__self__, "mode", mode)
3685
+ if storage_class is not None:
3686
+ pulumi.set(__self__, "storage_class", storage_class)
3687
+ if symlink is not None:
3688
+ pulumi.set(__self__, "symlink", symlink)
3689
+ if temporary_hold is not None:
3690
+ pulumi.set(__self__, "temporary_hold", temporary_hold)
3691
+ if time_created is not None:
3692
+ pulumi.set(__self__, "time_created", time_created)
3693
+ if uid is not None:
3694
+ pulumi.set(__self__, "uid", uid)
3695
+
3696
+ @property
3697
+ @pulumi.getter
3698
+ def acl(self) -> Optional[str]:
3699
+ """
3700
+ Specifies how each object's ACLs should be preserved for transfers between Google Cloud Storage buckets
3701
+ """
3702
+ return pulumi.get(self, "acl")
3703
+
3704
+ @property
3705
+ @pulumi.getter
3706
+ def gid(self) -> Optional[str]:
3707
+ """
3708
+ Specifies how each file's POSIX group ID (GID) attribute should be handled by the transfer.
3709
+ """
3710
+ return pulumi.get(self, "gid")
3711
+
3712
+ @property
3713
+ @pulumi.getter(name="kmsKey")
3714
+ def kms_key(self) -> Optional[str]:
3715
+ """
3716
+ Specifies how each object's Cloud KMS customer-managed encryption key (CMEK) is preserved for transfers between Google Cloud Storage buckets
3717
+ """
3718
+ return pulumi.get(self, "kms_key")
3719
+
3720
+ @property
3721
+ @pulumi.getter
3722
+ def mode(self) -> Optional[str]:
3723
+ """
3724
+ Specifies how each file's mode attribute should be handled by the transfer.
3725
+ """
3726
+ return pulumi.get(self, "mode")
3727
+
3728
+ @property
3729
+ @pulumi.getter(name="storageClass")
3730
+ def storage_class(self) -> Optional[str]:
3731
+ """
3732
+ Specifies the storage class to set on objects being transferred to Google Cloud Storage buckets
3733
+ """
3734
+ return pulumi.get(self, "storage_class")
3735
+
3736
+ @property
3737
+ @pulumi.getter
3738
+ def symlink(self) -> Optional[str]:
3739
+ """
3740
+ Specifies how symlinks should be handled by the transfer.
3741
+ """
3742
+ return pulumi.get(self, "symlink")
3743
+
3744
+ @property
3745
+ @pulumi.getter(name="temporaryHold")
3746
+ def temporary_hold(self) -> Optional[str]:
3747
+ """
3748
+ SSpecifies how each object's temporary hold status should be preserved for transfers between Google Cloud Storage buckets
3749
+ """
3750
+ return pulumi.get(self, "temporary_hold")
3751
+
3752
+ @property
3753
+ @pulumi.getter(name="timeCreated")
3754
+ def time_created(self) -> Optional[str]:
3755
+ """
3756
+ Specifies how each object's timeCreated metadata is preserved for transfers.
3757
+ """
3758
+ return pulumi.get(self, "time_created")
3759
+
3760
+ @property
3761
+ @pulumi.getter
3762
+ def uid(self) -> Optional[str]:
3763
+ """
3764
+ Specifies how each file's POSIX user ID (UID) attribute should be handled by the transfer.
3765
+ """
3766
+ return pulumi.get(self, "uid")
3767
+
3768
+
3205
3769
  @pulumi.output_type
3206
3770
  class GetBucketAutoclassResult(dict):
3207
3771
  def __init__(__self__, *,
@@ -3942,3 +4506,155 @@ class GetBucketsBucketResult(dict):
3942
4506
  return pulumi.get(self, "storage_class")
3943
4507
 
3944
4508
 
4509
+ @pulumi.output_type
4510
+ class GetControlProjectIntelligenceConfigEffectiveIntelligenceConfigResult(dict):
4511
+ def __init__(__self__, *,
4512
+ effective_edition: str,
4513
+ intelligence_config: str):
4514
+ """
4515
+ :param str effective_edition: The 'StorageIntelligence' edition that is applicable for the resource.
4516
+ :param str intelligence_config: The Intelligence config resource that is applied for the target resource.
4517
+ """
4518
+ pulumi.set(__self__, "effective_edition", effective_edition)
4519
+ pulumi.set(__self__, "intelligence_config", intelligence_config)
4520
+
4521
+ @property
4522
+ @pulumi.getter(name="effectiveEdition")
4523
+ def effective_edition(self) -> str:
4524
+ """
4525
+ The 'StorageIntelligence' edition that is applicable for the resource.
4526
+ """
4527
+ return pulumi.get(self, "effective_edition")
4528
+
4529
+ @property
4530
+ @pulumi.getter(name="intelligenceConfig")
4531
+ def intelligence_config(self) -> str:
4532
+ """
4533
+ The Intelligence config resource that is applied for the target resource.
4534
+ """
4535
+ return pulumi.get(self, "intelligence_config")
4536
+
4537
+
4538
+ @pulumi.output_type
4539
+ class GetControlProjectIntelligenceConfigFilterResult(dict):
4540
+ def __init__(__self__, *,
4541
+ excluded_cloud_storage_buckets: Sequence['outputs.GetControlProjectIntelligenceConfigFilterExcludedCloudStorageBucketResult'],
4542
+ excluded_cloud_storage_locations: Sequence['outputs.GetControlProjectIntelligenceConfigFilterExcludedCloudStorageLocationResult'],
4543
+ included_cloud_storage_buckets: Sequence['outputs.GetControlProjectIntelligenceConfigFilterIncludedCloudStorageBucketResult'],
4544
+ included_cloud_storage_locations: Sequence['outputs.GetControlProjectIntelligenceConfigFilterIncludedCloudStorageLocationResult']):
4545
+ """
4546
+ :param Sequence['GetControlProjectIntelligenceConfigFilterExcludedCloudStorageBucketArgs'] excluded_cloud_storage_buckets: Buckets to exclude from the Storage Intelligence plan.
4547
+ :param Sequence['GetControlProjectIntelligenceConfigFilterExcludedCloudStorageLocationArgs'] excluded_cloud_storage_locations: Locations to exclude from the Storage Intelligence plan.
4548
+ :param Sequence['GetControlProjectIntelligenceConfigFilterIncludedCloudStorageBucketArgs'] included_cloud_storage_buckets: Buckets to include in the Storage Intelligence plan.
4549
+ :param Sequence['GetControlProjectIntelligenceConfigFilterIncludedCloudStorageLocationArgs'] included_cloud_storage_locations: Locations to include in the Storage Intelligence plan.
4550
+ """
4551
+ pulumi.set(__self__, "excluded_cloud_storage_buckets", excluded_cloud_storage_buckets)
4552
+ pulumi.set(__self__, "excluded_cloud_storage_locations", excluded_cloud_storage_locations)
4553
+ pulumi.set(__self__, "included_cloud_storage_buckets", included_cloud_storage_buckets)
4554
+ pulumi.set(__self__, "included_cloud_storage_locations", included_cloud_storage_locations)
4555
+
4556
+ @property
4557
+ @pulumi.getter(name="excludedCloudStorageBuckets")
4558
+ def excluded_cloud_storage_buckets(self) -> Sequence['outputs.GetControlProjectIntelligenceConfigFilterExcludedCloudStorageBucketResult']:
4559
+ """
4560
+ Buckets to exclude from the Storage Intelligence plan.
4561
+ """
4562
+ return pulumi.get(self, "excluded_cloud_storage_buckets")
4563
+
4564
+ @property
4565
+ @pulumi.getter(name="excludedCloudStorageLocations")
4566
+ def excluded_cloud_storage_locations(self) -> Sequence['outputs.GetControlProjectIntelligenceConfigFilterExcludedCloudStorageLocationResult']:
4567
+ """
4568
+ Locations to exclude from the Storage Intelligence plan.
4569
+ """
4570
+ return pulumi.get(self, "excluded_cloud_storage_locations")
4571
+
4572
+ @property
4573
+ @pulumi.getter(name="includedCloudStorageBuckets")
4574
+ def included_cloud_storage_buckets(self) -> Sequence['outputs.GetControlProjectIntelligenceConfigFilterIncludedCloudStorageBucketResult']:
4575
+ """
4576
+ Buckets to include in the Storage Intelligence plan.
4577
+ """
4578
+ return pulumi.get(self, "included_cloud_storage_buckets")
4579
+
4580
+ @property
4581
+ @pulumi.getter(name="includedCloudStorageLocations")
4582
+ def included_cloud_storage_locations(self) -> Sequence['outputs.GetControlProjectIntelligenceConfigFilterIncludedCloudStorageLocationResult']:
4583
+ """
4584
+ Locations to include in the Storage Intelligence plan.
4585
+ """
4586
+ return pulumi.get(self, "included_cloud_storage_locations")
4587
+
4588
+
4589
+ @pulumi.output_type
4590
+ class GetControlProjectIntelligenceConfigFilterExcludedCloudStorageBucketResult(dict):
4591
+ def __init__(__self__, *,
4592
+ bucket_id_regexes: Sequence[str]):
4593
+ """
4594
+ :param Sequence[str] bucket_id_regexes: List of bucket id regexes to exclude in the storage intelligence plan.
4595
+ """
4596
+ pulumi.set(__self__, "bucket_id_regexes", bucket_id_regexes)
4597
+
4598
+ @property
4599
+ @pulumi.getter(name="bucketIdRegexes")
4600
+ def bucket_id_regexes(self) -> Sequence[str]:
4601
+ """
4602
+ List of bucket id regexes to exclude in the storage intelligence plan.
4603
+ """
4604
+ return pulumi.get(self, "bucket_id_regexes")
4605
+
4606
+
4607
+ @pulumi.output_type
4608
+ class GetControlProjectIntelligenceConfigFilterExcludedCloudStorageLocationResult(dict):
4609
+ def __init__(__self__, *,
4610
+ locations: Sequence[str]):
4611
+ """
4612
+ :param Sequence[str] locations: List of locations.
4613
+ """
4614
+ pulumi.set(__self__, "locations", locations)
4615
+
4616
+ @property
4617
+ @pulumi.getter
4618
+ def locations(self) -> Sequence[str]:
4619
+ """
4620
+ List of locations.
4621
+ """
4622
+ return pulumi.get(self, "locations")
4623
+
4624
+
4625
+ @pulumi.output_type
4626
+ class GetControlProjectIntelligenceConfigFilterIncludedCloudStorageBucketResult(dict):
4627
+ def __init__(__self__, *,
4628
+ bucket_id_regexes: Sequence[str]):
4629
+ """
4630
+ :param Sequence[str] bucket_id_regexes: List of bucket id regexes to exclude in the storage intelligence plan.
4631
+ """
4632
+ pulumi.set(__self__, "bucket_id_regexes", bucket_id_regexes)
4633
+
4634
+ @property
4635
+ @pulumi.getter(name="bucketIdRegexes")
4636
+ def bucket_id_regexes(self) -> Sequence[str]:
4637
+ """
4638
+ List of bucket id regexes to exclude in the storage intelligence plan.
4639
+ """
4640
+ return pulumi.get(self, "bucket_id_regexes")
4641
+
4642
+
4643
+ @pulumi.output_type
4644
+ class GetControlProjectIntelligenceConfigFilterIncludedCloudStorageLocationResult(dict):
4645
+ def __init__(__self__, *,
4646
+ locations: Sequence[str]):
4647
+ """
4648
+ :param Sequence[str] locations: List of locations.
4649
+ """
4650
+ pulumi.set(__self__, "locations", locations)
4651
+
4652
+ @property
4653
+ @pulumi.getter
4654
+ def locations(self) -> Sequence[str]:
4655
+ """
4656
+ List of locations.
4657
+ """
4658
+ return pulumi.get(self, "locations")
4659
+
4660
+