pulumi-gcp 8.13.0a1736231082__py3-none-any.whl → 8.13.0a1736263433__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 (90) hide show
  1. pulumi_gcp/__init__.py +43 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +3 -3
  3. pulumi_gcp/accesscontextmanager/outputs.py +2 -2
  4. pulumi_gcp/artifactregistry/_inputs.py +83 -0
  5. pulumi_gcp/artifactregistry/get_repository.py +15 -4
  6. pulumi_gcp/artifactregistry/outputs.py +112 -0
  7. pulumi_gcp/artifactregistry/repository.py +93 -7
  8. pulumi_gcp/backupdisasterrecovery/get_backup.py +38 -2
  9. pulumi_gcp/backupdisasterrecovery/get_data_source.py +38 -2
  10. pulumi_gcp/backupdisasterrecovery/outputs.py +8 -8
  11. pulumi_gcp/bigquery/_inputs.py +369 -0
  12. pulumi_gcp/bigquery/dataset_access.py +61 -0
  13. pulumi_gcp/bigquery/job.py +6 -18
  14. pulumi_gcp/bigquery/outputs.py +350 -0
  15. pulumi_gcp/bigquery/table.py +47 -0
  16. pulumi_gcp/chronicle/__init__.py +10 -0
  17. pulumi_gcp/chronicle/_inputs.py +169 -0
  18. pulumi_gcp/chronicle/outputs.py +107 -0
  19. pulumi_gcp/chronicle/watchlist.py +776 -0
  20. pulumi_gcp/cloudrunv2/_inputs.py +6 -3
  21. pulumi_gcp/cloudrunv2/outputs.py +10 -6
  22. pulumi_gcp/composer/_inputs.py +80 -5
  23. pulumi_gcp/composer/outputs.py +111 -4
  24. pulumi_gcp/compute/_inputs.py +181 -87
  25. pulumi_gcp/compute/firewall_policy_association.py +50 -39
  26. pulumi_gcp/compute/get_network.py +17 -2
  27. pulumi_gcp/compute/get_subnetwork.py +18 -4
  28. pulumi_gcp/compute/network.py +39 -2
  29. pulumi_gcp/compute/outputs.py +157 -58
  30. pulumi_gcp/compute/region_network_endpoint_group.py +1 -1
  31. pulumi_gcp/compute/resize_request.py +26 -40
  32. pulumi_gcp/config/__init__.pyi +2 -0
  33. pulumi_gcp/config/vars.py +4 -0
  34. pulumi_gcp/dataproc/batch.py +4 -18
  35. pulumi_gcp/datastream/_inputs.py +68 -0
  36. pulumi_gcp/datastream/outputs.py +41 -1
  37. pulumi_gcp/developerconnect/connection.py +58 -12
  38. pulumi_gcp/diagflow/_inputs.py +3 -3
  39. pulumi_gcp/diagflow/outputs.py +2 -2
  40. pulumi_gcp/filestore/backup.py +71 -3
  41. pulumi_gcp/firebase/hosting_custom_domain.py +4 -4
  42. pulumi_gcp/firestore/_inputs.py +3 -3
  43. pulumi_gcp/firestore/outputs.py +2 -2
  44. pulumi_gcp/gkehub/__init__.py +1 -0
  45. pulumi_gcp/gkehub/get_feature.py +226 -0
  46. pulumi_gcp/gkehub/outputs.py +1153 -0
  47. pulumi_gcp/gkeonprem/__init__.py +1 -0
  48. pulumi_gcp/gkeonprem/_inputs.py +2364 -0
  49. pulumi_gcp/gkeonprem/outputs.py +1780 -0
  50. pulumi_gcp/gkeonprem/vmware_admin_cluster.py +1715 -0
  51. pulumi_gcp/integrationconnectors/_inputs.py +6 -6
  52. pulumi_gcp/integrationconnectors/connection.py +7 -7
  53. pulumi_gcp/integrationconnectors/outputs.py +4 -4
  54. pulumi_gcp/kms/__init__.py +2 -0
  55. pulumi_gcp/kms/get_autokey_config.py +121 -0
  56. pulumi_gcp/kms/get_key_handle.py +185 -0
  57. pulumi_gcp/netapp/kmsconfig.py +2 -14
  58. pulumi_gcp/networkconnectivity/hub.py +108 -0
  59. pulumi_gcp/networkconnectivity/spoke.py +195 -0
  60. pulumi_gcp/networkmanagement/vpc_flow_logs_config.py +4 -0
  61. pulumi_gcp/networksecurity/__init__.py +2 -0
  62. pulumi_gcp/networksecurity/_inputs.py +78 -0
  63. pulumi_gcp/networksecurity/intercept_endpoint_group.py +723 -0
  64. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +815 -0
  65. pulumi_gcp/networksecurity/outputs.py +48 -0
  66. pulumi_gcp/oracledatabase/autonomous_database.py +2 -2
  67. pulumi_gcp/orgpolicy/policy.py +2 -2
  68. pulumi_gcp/parallelstore/instance.py +149 -0
  69. pulumi_gcp/projects/usage_export_bucket.py +42 -110
  70. pulumi_gcp/provider.py +20 -0
  71. pulumi_gcp/pubsub/subscription.py +6 -6
  72. pulumi_gcp/pulumi-plugin.json +1 -1
  73. pulumi_gcp/securesourcemanager/instance.py +4 -16
  74. pulumi_gcp/spanner/instance_iam_binding.py +14 -0
  75. pulumi_gcp/spanner/instance_iam_member.py +14 -0
  76. pulumi_gcp/sql/database_instance.py +7 -7
  77. pulumi_gcp/storage/__init__.py +1 -0
  78. pulumi_gcp/storage/_inputs.py +431 -0
  79. pulumi_gcp/storage/folder.py +483 -0
  80. pulumi_gcp/storage/outputs.py +363 -0
  81. pulumi_gcp/storage/transfer_job.py +84 -38
  82. pulumi_gcp/vertex/_inputs.py +26 -25
  83. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  84. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  85. pulumi_gcp/vertex/outputs.py +15 -14
  86. pulumi_gcp/workstations/workstation.py +55 -1
  87. {pulumi_gcp-8.13.0a1736231082.dist-info → pulumi_gcp-8.13.0a1736263433.dist-info}/METADATA +1 -1
  88. {pulumi_gcp-8.13.0a1736231082.dist-info → pulumi_gcp-8.13.0a1736263433.dist-info}/RECORD +90 -79
  89. {pulumi_gcp-8.13.0a1736231082.dist-info → pulumi_gcp-8.13.0a1736263433.dist-info}/WHEEL +0 -0
  90. {pulumi_gcp-8.13.0a1736231082.dist-info → pulumi_gcp-8.13.0a1736263433.dist-info}/top_level.txt +0 -0
@@ -77,6 +77,16 @@ __all__ = [
77
77
  'TransferJobEventStreamArgsDict',
78
78
  'TransferJobNotificationConfigArgs',
79
79
  'TransferJobNotificationConfigArgsDict',
80
+ 'TransferJobReplicationSpecArgs',
81
+ 'TransferJobReplicationSpecArgsDict',
82
+ 'TransferJobReplicationSpecGcsDataSinkArgs',
83
+ 'TransferJobReplicationSpecGcsDataSinkArgsDict',
84
+ 'TransferJobReplicationSpecGcsDataSourceArgs',
85
+ 'TransferJobReplicationSpecGcsDataSourceArgsDict',
86
+ 'TransferJobReplicationSpecObjectConditionsArgs',
87
+ 'TransferJobReplicationSpecObjectConditionsArgsDict',
88
+ 'TransferJobReplicationSpecTransferOptionsArgs',
89
+ 'TransferJobReplicationSpecTransferOptionsArgsDict',
80
90
  'TransferJobScheduleArgs',
81
91
  'TransferJobScheduleArgsDict',
82
92
  'TransferJobScheduleScheduleEndDateArgs',
@@ -2184,6 +2194,427 @@ class TransferJobNotificationConfigArgs:
2184
2194
  pulumi.set(self, "event_types", value)
2185
2195
 
2186
2196
 
2197
+ if not MYPY:
2198
+ class TransferJobReplicationSpecArgsDict(TypedDict):
2199
+ gcs_data_sink: NotRequired[pulumi.Input['TransferJobReplicationSpecGcsDataSinkArgsDict']]
2200
+ """
2201
+ A Google Cloud Storage data sink. Structure documented below.
2202
+ """
2203
+ gcs_data_source: NotRequired[pulumi.Input['TransferJobReplicationSpecGcsDataSourceArgsDict']]
2204
+ """
2205
+ A Google Cloud Storage data source. Structure documented below.
2206
+ """
2207
+ object_conditions: NotRequired[pulumi.Input['TransferJobReplicationSpecObjectConditionsArgsDict']]
2208
+ """
2209
+ 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.
2210
+ """
2211
+ transfer_options: NotRequired[pulumi.Input['TransferJobReplicationSpecTransferOptionsArgsDict']]
2212
+ """
2213
+ Characteristics of how to treat files from datasource and sink during job. If the option `delete_objects_unique_in_sink` is true, object conditions based on objects' `last_modification_time` are ignored and do not exclude objects in a data source or a data sink. Structure documented below.
2214
+ """
2215
+ elif False:
2216
+ TransferJobReplicationSpecArgsDict: TypeAlias = Mapping[str, Any]
2217
+
2218
+ @pulumi.input_type
2219
+ class TransferJobReplicationSpecArgs:
2220
+ def __init__(__self__, *,
2221
+ gcs_data_sink: Optional[pulumi.Input['TransferJobReplicationSpecGcsDataSinkArgs']] = None,
2222
+ gcs_data_source: Optional[pulumi.Input['TransferJobReplicationSpecGcsDataSourceArgs']] = None,
2223
+ object_conditions: Optional[pulumi.Input['TransferJobReplicationSpecObjectConditionsArgs']] = None,
2224
+ transfer_options: Optional[pulumi.Input['TransferJobReplicationSpecTransferOptionsArgs']] = None):
2225
+ """
2226
+ :param pulumi.Input['TransferJobReplicationSpecGcsDataSinkArgs'] gcs_data_sink: A Google Cloud Storage data sink. Structure documented below.
2227
+ :param pulumi.Input['TransferJobReplicationSpecGcsDataSourceArgs'] gcs_data_source: A Google Cloud Storage data source. Structure documented below.
2228
+ :param pulumi.Input['TransferJobReplicationSpecObjectConditionsArgs'] 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.
2229
+ :param pulumi.Input['TransferJobReplicationSpecTransferOptionsArgs'] transfer_options: Characteristics of how to treat files from datasource and sink during job. If the option `delete_objects_unique_in_sink` is true, object conditions based on objects' `last_modification_time` are ignored and do not exclude objects in a data source or a data sink. Structure documented below.
2230
+ """
2231
+ if gcs_data_sink is not None:
2232
+ pulumi.set(__self__, "gcs_data_sink", gcs_data_sink)
2233
+ if gcs_data_source is not None:
2234
+ pulumi.set(__self__, "gcs_data_source", gcs_data_source)
2235
+ if object_conditions is not None:
2236
+ pulumi.set(__self__, "object_conditions", object_conditions)
2237
+ if transfer_options is not None:
2238
+ pulumi.set(__self__, "transfer_options", transfer_options)
2239
+
2240
+ @property
2241
+ @pulumi.getter(name="gcsDataSink")
2242
+ def gcs_data_sink(self) -> Optional[pulumi.Input['TransferJobReplicationSpecGcsDataSinkArgs']]:
2243
+ """
2244
+ A Google Cloud Storage data sink. Structure documented below.
2245
+ """
2246
+ return pulumi.get(self, "gcs_data_sink")
2247
+
2248
+ @gcs_data_sink.setter
2249
+ def gcs_data_sink(self, value: Optional[pulumi.Input['TransferJobReplicationSpecGcsDataSinkArgs']]):
2250
+ pulumi.set(self, "gcs_data_sink", value)
2251
+
2252
+ @property
2253
+ @pulumi.getter(name="gcsDataSource")
2254
+ def gcs_data_source(self) -> Optional[pulumi.Input['TransferJobReplicationSpecGcsDataSourceArgs']]:
2255
+ """
2256
+ A Google Cloud Storage data source. Structure documented below.
2257
+ """
2258
+ return pulumi.get(self, "gcs_data_source")
2259
+
2260
+ @gcs_data_source.setter
2261
+ def gcs_data_source(self, value: Optional[pulumi.Input['TransferJobReplicationSpecGcsDataSourceArgs']]):
2262
+ pulumi.set(self, "gcs_data_source", value)
2263
+
2264
+ @property
2265
+ @pulumi.getter(name="objectConditions")
2266
+ def object_conditions(self) -> Optional[pulumi.Input['TransferJobReplicationSpecObjectConditionsArgs']]:
2267
+ """
2268
+ 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.
2269
+ """
2270
+ return pulumi.get(self, "object_conditions")
2271
+
2272
+ @object_conditions.setter
2273
+ def object_conditions(self, value: Optional[pulumi.Input['TransferJobReplicationSpecObjectConditionsArgs']]):
2274
+ pulumi.set(self, "object_conditions", value)
2275
+
2276
+ @property
2277
+ @pulumi.getter(name="transferOptions")
2278
+ def transfer_options(self) -> Optional[pulumi.Input['TransferJobReplicationSpecTransferOptionsArgs']]:
2279
+ """
2280
+ Characteristics of how to treat files from datasource and sink during job. If the option `delete_objects_unique_in_sink` is true, object conditions based on objects' `last_modification_time` are ignored and do not exclude objects in a data source or a data sink. Structure documented below.
2281
+ """
2282
+ return pulumi.get(self, "transfer_options")
2283
+
2284
+ @transfer_options.setter
2285
+ def transfer_options(self, value: Optional[pulumi.Input['TransferJobReplicationSpecTransferOptionsArgs']]):
2286
+ pulumi.set(self, "transfer_options", value)
2287
+
2288
+
2289
+ if not MYPY:
2290
+ class TransferJobReplicationSpecGcsDataSinkArgsDict(TypedDict):
2291
+ bucket_name: pulumi.Input[str]
2292
+ """
2293
+ Google Cloud Storage bucket name.
2294
+ """
2295
+ path: NotRequired[pulumi.Input[str]]
2296
+ """
2297
+ 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 '/'.
2298
+ """
2299
+ elif False:
2300
+ TransferJobReplicationSpecGcsDataSinkArgsDict: TypeAlias = Mapping[str, Any]
2301
+
2302
+ @pulumi.input_type
2303
+ class TransferJobReplicationSpecGcsDataSinkArgs:
2304
+ def __init__(__self__, *,
2305
+ bucket_name: pulumi.Input[str],
2306
+ path: Optional[pulumi.Input[str]] = None):
2307
+ """
2308
+ :param pulumi.Input[str] bucket_name: Google Cloud Storage bucket name.
2309
+ :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 '/'.
2310
+ """
2311
+ pulumi.set(__self__, "bucket_name", bucket_name)
2312
+ if path is not None:
2313
+ pulumi.set(__self__, "path", path)
2314
+
2315
+ @property
2316
+ @pulumi.getter(name="bucketName")
2317
+ def bucket_name(self) -> pulumi.Input[str]:
2318
+ """
2319
+ Google Cloud Storage bucket name.
2320
+ """
2321
+ return pulumi.get(self, "bucket_name")
2322
+
2323
+ @bucket_name.setter
2324
+ def bucket_name(self, value: pulumi.Input[str]):
2325
+ pulumi.set(self, "bucket_name", value)
2326
+
2327
+ @property
2328
+ @pulumi.getter
2329
+ def path(self) -> Optional[pulumi.Input[str]]:
2330
+ """
2331
+ 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 '/'.
2332
+ """
2333
+ return pulumi.get(self, "path")
2334
+
2335
+ @path.setter
2336
+ def path(self, value: Optional[pulumi.Input[str]]):
2337
+ pulumi.set(self, "path", value)
2338
+
2339
+
2340
+ if not MYPY:
2341
+ class TransferJobReplicationSpecGcsDataSourceArgsDict(TypedDict):
2342
+ bucket_name: pulumi.Input[str]
2343
+ """
2344
+ Google Cloud Storage bucket name.
2345
+ """
2346
+ path: NotRequired[pulumi.Input[str]]
2347
+ """
2348
+ 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 '/'.
2349
+ """
2350
+ elif False:
2351
+ TransferJobReplicationSpecGcsDataSourceArgsDict: TypeAlias = Mapping[str, Any]
2352
+
2353
+ @pulumi.input_type
2354
+ class TransferJobReplicationSpecGcsDataSourceArgs:
2355
+ def __init__(__self__, *,
2356
+ bucket_name: pulumi.Input[str],
2357
+ path: Optional[pulumi.Input[str]] = None):
2358
+ """
2359
+ :param pulumi.Input[str] bucket_name: Google Cloud Storage bucket name.
2360
+ :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 '/'.
2361
+ """
2362
+ pulumi.set(__self__, "bucket_name", bucket_name)
2363
+ if path is not None:
2364
+ pulumi.set(__self__, "path", path)
2365
+
2366
+ @property
2367
+ @pulumi.getter(name="bucketName")
2368
+ def bucket_name(self) -> pulumi.Input[str]:
2369
+ """
2370
+ Google Cloud Storage bucket name.
2371
+ """
2372
+ return pulumi.get(self, "bucket_name")
2373
+
2374
+ @bucket_name.setter
2375
+ def bucket_name(self, value: pulumi.Input[str]):
2376
+ pulumi.set(self, "bucket_name", value)
2377
+
2378
+ @property
2379
+ @pulumi.getter
2380
+ def path(self) -> Optional[pulumi.Input[str]]:
2381
+ """
2382
+ 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 '/'.
2383
+ """
2384
+ return pulumi.get(self, "path")
2385
+
2386
+ @path.setter
2387
+ def path(self, value: Optional[pulumi.Input[str]]):
2388
+ pulumi.set(self, "path", value)
2389
+
2390
+
2391
+ if not MYPY:
2392
+ class TransferJobReplicationSpecObjectConditionsArgsDict(TypedDict):
2393
+ exclude_prefixes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2394
+ """
2395
+ `exclude_prefixes` must follow the requirements described for `include_prefixes`. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).
2396
+ """
2397
+ include_prefixes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2398
+ """
2399
+ If `include_prefixes` is specified, objects that satisfy the object conditions must have names that start with one of the `include_prefixes` and that do not start with any of the `exclude_prefixes`. If `include_prefixes` is not specified, all objects except those that have names starting with one of the `exclude_prefixes` must satisfy the object conditions. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).
2400
+ """
2401
+ last_modified_before: NotRequired[pulumi.Input[str]]
2402
+ """
2403
+ If specified, only objects with a "last modification time" before this timestamp and objects that don't have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
2404
+ """
2405
+ last_modified_since: NotRequired[pulumi.Input[str]]
2406
+ """
2407
+ If specified, only objects with a "last modification time" on or after this timestamp and objects that don't have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
2408
+ """
2409
+ max_time_elapsed_since_last_modification: NotRequired[pulumi.Input[str]]
2410
+ """
2411
+ A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
2412
+ """
2413
+ min_time_elapsed_since_last_modification: NotRequired[pulumi.Input[str]]
2414
+ """
2415
+ A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
2416
+ """
2417
+ elif False:
2418
+ TransferJobReplicationSpecObjectConditionsArgsDict: TypeAlias = Mapping[str, Any]
2419
+
2420
+ @pulumi.input_type
2421
+ class TransferJobReplicationSpecObjectConditionsArgs:
2422
+ def __init__(__self__, *,
2423
+ exclude_prefixes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2424
+ include_prefixes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2425
+ last_modified_before: Optional[pulumi.Input[str]] = None,
2426
+ last_modified_since: Optional[pulumi.Input[str]] = None,
2427
+ max_time_elapsed_since_last_modification: Optional[pulumi.Input[str]] = None,
2428
+ min_time_elapsed_since_last_modification: Optional[pulumi.Input[str]] = None):
2429
+ """
2430
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] exclude_prefixes: `exclude_prefixes` must follow the requirements described for `include_prefixes`. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).
2431
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] include_prefixes: If `include_prefixes` is specified, objects that satisfy the object conditions must have names that start with one of the `include_prefixes` and that do not start with any of the `exclude_prefixes`. If `include_prefixes` is not specified, all objects except those that have names starting with one of the `exclude_prefixes` must satisfy the object conditions. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).
2432
+ :param pulumi.Input[str] last_modified_before: If specified, only objects with a "last modification time" before this timestamp and objects that don't have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
2433
+ :param pulumi.Input[str] last_modified_since: If specified, only objects with a "last modification time" on or after this timestamp and objects that don't have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
2434
+ :param pulumi.Input[str] max_time_elapsed_since_last_modification: A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
2435
+ :param pulumi.Input[str] min_time_elapsed_since_last_modification: A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
2436
+ """
2437
+ if exclude_prefixes is not None:
2438
+ pulumi.set(__self__, "exclude_prefixes", exclude_prefixes)
2439
+ if include_prefixes is not None:
2440
+ pulumi.set(__self__, "include_prefixes", include_prefixes)
2441
+ if last_modified_before is not None:
2442
+ pulumi.set(__self__, "last_modified_before", last_modified_before)
2443
+ if last_modified_since is not None:
2444
+ pulumi.set(__self__, "last_modified_since", last_modified_since)
2445
+ if max_time_elapsed_since_last_modification is not None:
2446
+ pulumi.set(__self__, "max_time_elapsed_since_last_modification", max_time_elapsed_since_last_modification)
2447
+ if min_time_elapsed_since_last_modification is not None:
2448
+ pulumi.set(__self__, "min_time_elapsed_since_last_modification", min_time_elapsed_since_last_modification)
2449
+
2450
+ @property
2451
+ @pulumi.getter(name="excludePrefixes")
2452
+ def exclude_prefixes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2453
+ """
2454
+ `exclude_prefixes` must follow the requirements described for `include_prefixes`. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).
2455
+ """
2456
+ return pulumi.get(self, "exclude_prefixes")
2457
+
2458
+ @exclude_prefixes.setter
2459
+ def exclude_prefixes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2460
+ pulumi.set(self, "exclude_prefixes", value)
2461
+
2462
+ @property
2463
+ @pulumi.getter(name="includePrefixes")
2464
+ def include_prefixes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2465
+ """
2466
+ If `include_prefixes` is specified, objects that satisfy the object conditions must have names that start with one of the `include_prefixes` and that do not start with any of the `exclude_prefixes`. If `include_prefixes` is not specified, all objects except those that have names starting with one of the `exclude_prefixes` must satisfy the object conditions. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).
2467
+ """
2468
+ return pulumi.get(self, "include_prefixes")
2469
+
2470
+ @include_prefixes.setter
2471
+ def include_prefixes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2472
+ pulumi.set(self, "include_prefixes", value)
2473
+
2474
+ @property
2475
+ @pulumi.getter(name="lastModifiedBefore")
2476
+ def last_modified_before(self) -> Optional[pulumi.Input[str]]:
2477
+ """
2478
+ If specified, only objects with a "last modification time" before this timestamp and objects that don't have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
2479
+ """
2480
+ return pulumi.get(self, "last_modified_before")
2481
+
2482
+ @last_modified_before.setter
2483
+ def last_modified_before(self, value: Optional[pulumi.Input[str]]):
2484
+ pulumi.set(self, "last_modified_before", value)
2485
+
2486
+ @property
2487
+ @pulumi.getter(name="lastModifiedSince")
2488
+ def last_modified_since(self) -> Optional[pulumi.Input[str]]:
2489
+ """
2490
+ If specified, only objects with a "last modification time" on or after this timestamp and objects that don't have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
2491
+ """
2492
+ return pulumi.get(self, "last_modified_since")
2493
+
2494
+ @last_modified_since.setter
2495
+ def last_modified_since(self, value: Optional[pulumi.Input[str]]):
2496
+ pulumi.set(self, "last_modified_since", value)
2497
+
2498
+ @property
2499
+ @pulumi.getter(name="maxTimeElapsedSinceLastModification")
2500
+ def max_time_elapsed_since_last_modification(self) -> Optional[pulumi.Input[str]]:
2501
+ """
2502
+ A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
2503
+ """
2504
+ return pulumi.get(self, "max_time_elapsed_since_last_modification")
2505
+
2506
+ @max_time_elapsed_since_last_modification.setter
2507
+ def max_time_elapsed_since_last_modification(self, value: Optional[pulumi.Input[str]]):
2508
+ pulumi.set(self, "max_time_elapsed_since_last_modification", value)
2509
+
2510
+ @property
2511
+ @pulumi.getter(name="minTimeElapsedSinceLastModification")
2512
+ def min_time_elapsed_since_last_modification(self) -> Optional[pulumi.Input[str]]:
2513
+ """
2514
+ A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
2515
+ """
2516
+ return pulumi.get(self, "min_time_elapsed_since_last_modification")
2517
+
2518
+ @min_time_elapsed_since_last_modification.setter
2519
+ def min_time_elapsed_since_last_modification(self, value: Optional[pulumi.Input[str]]):
2520
+ pulumi.set(self, "min_time_elapsed_since_last_modification", value)
2521
+
2522
+
2523
+ if not MYPY:
2524
+ class TransferJobReplicationSpecTransferOptionsArgsDict(TypedDict):
2525
+ delete_objects_from_source_after_transfer: NotRequired[pulumi.Input[bool]]
2526
+ """
2527
+ 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.
2528
+ """
2529
+ delete_objects_unique_in_sink: NotRequired[pulumi.Input[bool]]
2530
+ """
2531
+ Whether objects that exist only in the sink should be deleted. Note that this option and
2532
+ `delete_objects_from_source_after_transfer` are mutually exclusive.
2533
+ """
2534
+ overwrite_objects_already_existing_in_sink: NotRequired[pulumi.Input[bool]]
2535
+ """
2536
+ Whether overwriting objects that already exist in the sink is allowed.
2537
+ """
2538
+ overwrite_when: NotRequired[pulumi.Input[str]]
2539
+ """
2540
+ 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.
2541
+ """
2542
+ elif False:
2543
+ TransferJobReplicationSpecTransferOptionsArgsDict: TypeAlias = Mapping[str, Any]
2544
+
2545
+ @pulumi.input_type
2546
+ class TransferJobReplicationSpecTransferOptionsArgs:
2547
+ def __init__(__self__, *,
2548
+ delete_objects_from_source_after_transfer: Optional[pulumi.Input[bool]] = None,
2549
+ delete_objects_unique_in_sink: Optional[pulumi.Input[bool]] = None,
2550
+ overwrite_objects_already_existing_in_sink: Optional[pulumi.Input[bool]] = None,
2551
+ overwrite_when: Optional[pulumi.Input[str]] = None):
2552
+ """
2553
+ :param pulumi.Input[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.
2554
+ :param pulumi.Input[bool] delete_objects_unique_in_sink: Whether objects that exist only in the sink should be deleted. Note that this option and
2555
+ `delete_objects_from_source_after_transfer` are mutually exclusive.
2556
+ :param pulumi.Input[bool] overwrite_objects_already_existing_in_sink: Whether overwriting objects that already exist in the sink is allowed.
2557
+ :param pulumi.Input[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.
2558
+ """
2559
+ if delete_objects_from_source_after_transfer is not None:
2560
+ pulumi.set(__self__, "delete_objects_from_source_after_transfer", delete_objects_from_source_after_transfer)
2561
+ if delete_objects_unique_in_sink is not None:
2562
+ pulumi.set(__self__, "delete_objects_unique_in_sink", delete_objects_unique_in_sink)
2563
+ if overwrite_objects_already_existing_in_sink is not None:
2564
+ pulumi.set(__self__, "overwrite_objects_already_existing_in_sink", overwrite_objects_already_existing_in_sink)
2565
+ if overwrite_when is not None:
2566
+ pulumi.set(__self__, "overwrite_when", overwrite_when)
2567
+
2568
+ @property
2569
+ @pulumi.getter(name="deleteObjectsFromSourceAfterTransfer")
2570
+ def delete_objects_from_source_after_transfer(self) -> Optional[pulumi.Input[bool]]:
2571
+ """
2572
+ 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.
2573
+ """
2574
+ return pulumi.get(self, "delete_objects_from_source_after_transfer")
2575
+
2576
+ @delete_objects_from_source_after_transfer.setter
2577
+ def delete_objects_from_source_after_transfer(self, value: Optional[pulumi.Input[bool]]):
2578
+ pulumi.set(self, "delete_objects_from_source_after_transfer", value)
2579
+
2580
+ @property
2581
+ @pulumi.getter(name="deleteObjectsUniqueInSink")
2582
+ def delete_objects_unique_in_sink(self) -> Optional[pulumi.Input[bool]]:
2583
+ """
2584
+ Whether objects that exist only in the sink should be deleted. Note that this option and
2585
+ `delete_objects_from_source_after_transfer` are mutually exclusive.
2586
+ """
2587
+ return pulumi.get(self, "delete_objects_unique_in_sink")
2588
+
2589
+ @delete_objects_unique_in_sink.setter
2590
+ def delete_objects_unique_in_sink(self, value: Optional[pulumi.Input[bool]]):
2591
+ pulumi.set(self, "delete_objects_unique_in_sink", value)
2592
+
2593
+ @property
2594
+ @pulumi.getter(name="overwriteObjectsAlreadyExistingInSink")
2595
+ def overwrite_objects_already_existing_in_sink(self) -> Optional[pulumi.Input[bool]]:
2596
+ """
2597
+ Whether overwriting objects that already exist in the sink is allowed.
2598
+ """
2599
+ return pulumi.get(self, "overwrite_objects_already_existing_in_sink")
2600
+
2601
+ @overwrite_objects_already_existing_in_sink.setter
2602
+ def overwrite_objects_already_existing_in_sink(self, value: Optional[pulumi.Input[bool]]):
2603
+ pulumi.set(self, "overwrite_objects_already_existing_in_sink", value)
2604
+
2605
+ @property
2606
+ @pulumi.getter(name="overwriteWhen")
2607
+ def overwrite_when(self) -> Optional[pulumi.Input[str]]:
2608
+ """
2609
+ 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.
2610
+ """
2611
+ return pulumi.get(self, "overwrite_when")
2612
+
2613
+ @overwrite_when.setter
2614
+ def overwrite_when(self, value: Optional[pulumi.Input[str]]):
2615
+ pulumi.set(self, "overwrite_when", value)
2616
+
2617
+
2187
2618
  if not MYPY:
2188
2619
  class TransferJobScheduleArgsDict(TypedDict):
2189
2620
  schedule_start_date: pulumi.Input['TransferJobScheduleScheduleStartDateArgsDict']