pulumi-gcp 8.42.0a1758178363__py3-none-any.whl → 9.0.0a1758219982__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 (271) hide show
  1. pulumi_gcp/__init__.py +83 -48
  2. pulumi_gcp/activedirectory/peering.py +16 -0
  3. pulumi_gcp/alloydb/backup.py +8 -4
  4. pulumi_gcp/alloydb/cluster.py +56 -10
  5. pulumi_gcp/alloydb/get_cluster.py +12 -1
  6. pulumi_gcp/alloydb/instance.py +10 -4
  7. pulumi_gcp/alloydb/user.py +8 -4
  8. pulumi_gcp/apigateway/api_config_iam_binding.py +4 -4
  9. pulumi_gcp/apigateway/api_config_iam_member.py +4 -4
  10. pulumi_gcp/apigateway/api_config_iam_policy.py +4 -4
  11. pulumi_gcp/apigateway/api_iam_binding.py +4 -4
  12. pulumi_gcp/apigateway/api_iam_member.py +4 -4
  13. pulumi_gcp/apigateway/api_iam_policy.py +4 -4
  14. pulumi_gcp/apigateway/gateway_iam_binding.py +4 -4
  15. pulumi_gcp/apigateway/gateway_iam_member.py +4 -4
  16. pulumi_gcp/apigateway/gateway_iam_policy.py +4 -4
  17. pulumi_gcp/apigee/_inputs.py +151 -108
  18. pulumi_gcp/apigee/keystores_aliases_key_cert_file.py +52 -40
  19. pulumi_gcp/apigee/outputs.py +92 -88
  20. pulumi_gcp/artifactregistry/__init__.py +2 -0
  21. pulumi_gcp/artifactregistry/_inputs.py +0 -12
  22. pulumi_gcp/artifactregistry/get_npm_package.py +251 -0
  23. pulumi_gcp/artifactregistry/get_python_package.py +237 -0
  24. pulumi_gcp/artifactregistry/get_repository.py +12 -1
  25. pulumi_gcp/artifactregistry/outputs.py +8 -16
  26. pulumi_gcp/artifactregistry/repository.py +28 -0
  27. pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
  28. pulumi_gcp/backupdisasterrecovery/backup_plan.py +4 -4
  29. pulumi_gcp/backupdisasterrecovery/get_backup.py +12 -1
  30. pulumi_gcp/backupdisasterrecovery/get_backup_plan_association.py +4 -0
  31. pulumi_gcp/backupdisasterrecovery/get_data_source_references.py +135 -0
  32. pulumi_gcp/backupdisasterrecovery/get_management_server.py +4 -0
  33. pulumi_gcp/backupdisasterrecovery/outputs.py +103 -0
  34. pulumi_gcp/beyondcorp/__init__.py +0 -5
  35. pulumi_gcp/beyondcorp/_inputs.py +0 -312
  36. pulumi_gcp/beyondcorp/outputs.py +0 -200
  37. pulumi_gcp/bigquery/_inputs.py +114 -4
  38. pulumi_gcp/bigquery/app_profile.py +3 -5
  39. pulumi_gcp/bigquery/outputs.py +75 -5
  40. pulumi_gcp/bigqueryanalyticshub/data_exchange_subscription.py +20 -0
  41. pulumi_gcp/bigtable/app_profile.py +1 -1
  42. pulumi_gcp/bigtable/get_table_iam_policy.py +16 -18
  43. pulumi_gcp/bigtable/table_iam_binding.py +43 -43
  44. pulumi_gcp/bigtable/table_iam_member.py +43 -43
  45. pulumi_gcp/bigtable/table_iam_policy.py +43 -43
  46. pulumi_gcp/billing/_inputs.py +0 -6
  47. pulumi_gcp/billing/outputs.py +0 -4
  48. pulumi_gcp/certificatemanager/__init__.py +1 -0
  49. pulumi_gcp/certificatemanager/certificate_map_entry.py +7 -7
  50. pulumi_gcp/certificatemanager/get_dns_authorization.py +229 -0
  51. pulumi_gcp/certificatemanager/outputs.py +41 -0
  52. pulumi_gcp/chronicle/_inputs.py +6 -5
  53. pulumi_gcp/chronicle/outputs.py +4 -3
  54. pulumi_gcp/chronicle/reference_list.py +53 -5
  55. pulumi_gcp/cloudasset/get_resources_search_all.py +8 -0
  56. pulumi_gcp/cloudbuild/_inputs.py +309 -45
  57. pulumi_gcp/cloudbuild/bitbucket_server_config.py +2 -6
  58. pulumi_gcp/cloudbuild/get_trigger.py +12 -1
  59. pulumi_gcp/cloudbuild/outputs.py +380 -30
  60. pulumi_gcp/cloudbuild/trigger.py +160 -2
  61. pulumi_gcp/cloudbuild/worker_pool.py +2 -6
  62. pulumi_gcp/cloudfunctionsv2/_inputs.py +23 -21
  63. pulumi_gcp/cloudfunctionsv2/outputs.py +17 -16
  64. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +16 -0
  65. pulumi_gcp/cloudrunv2/_inputs.py +80 -26
  66. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  67. pulumi_gcp/cloudrunv2/outputs.py +109 -30
  68. pulumi_gcp/cloudrunv2/service.py +72 -12
  69. pulumi_gcp/cloudrunv2/worker_pool.py +2 -2
  70. pulumi_gcp/cloudtasks/queue.py +98 -2
  71. pulumi_gcp/colab/_inputs.py +1 -114
  72. pulumi_gcp/colab/outputs.py +1 -106
  73. pulumi_gcp/compute/_inputs.py +884 -24
  74. pulumi_gcp/compute/backend_bucket.py +68 -0
  75. pulumi_gcp/compute/backend_bucket_iam_binding.py +236 -0
  76. pulumi_gcp/compute/backend_bucket_iam_member.py +236 -0
  77. pulumi_gcp/compute/backend_bucket_iam_policy.py +236 -0
  78. pulumi_gcp/compute/backend_service.py +54 -0
  79. pulumi_gcp/compute/backend_service_iam_binding.py +464 -0
  80. pulumi_gcp/compute/backend_service_iam_member.py +464 -0
  81. pulumi_gcp/compute/backend_service_iam_policy.py +464 -0
  82. pulumi_gcp/compute/cross_site_network.py +16 -0
  83. pulumi_gcp/compute/future_reservation.py +32 -0
  84. pulumi_gcp/compute/get_backend_bucket.py +12 -1
  85. pulumi_gcp/compute/get_backend_service.py +12 -1
  86. pulumi_gcp/compute/get_region_backend_service.py +12 -1
  87. pulumi_gcp/compute/get_resource_policy.py +2 -20
  88. pulumi_gcp/compute/machine_image_iam_binding.py +8 -4
  89. pulumi_gcp/compute/machine_image_iam_member.py +8 -4
  90. pulumi_gcp/compute/machine_image_iam_policy.py +8 -4
  91. pulumi_gcp/compute/network_edge_security_service.py +16 -0
  92. pulumi_gcp/compute/network_firewall_policy_packet_mirroring_rule.py +12 -0
  93. pulumi_gcp/compute/network_peering_routes_config.py +0 -100
  94. pulumi_gcp/compute/organization_security_policy.py +83 -51
  95. pulumi_gcp/compute/outputs.py +799 -16
  96. pulumi_gcp/compute/packet_mirroring.py +6 -0
  97. pulumi_gcp/compute/preview_feature.py +16 -0
  98. pulumi_gcp/compute/public_delegated_prefix.py +42 -0
  99. pulumi_gcp/compute/region_backend_service.py +54 -0
  100. pulumi_gcp/compute/region_backend_service_iam_binding.py +488 -0
  101. pulumi_gcp/compute/region_backend_service_iam_member.py +488 -0
  102. pulumi_gcp/compute/region_backend_service_iam_policy.py +488 -0
  103. pulumi_gcp/compute/region_network_endpoint_group.py +1 -3
  104. pulumi_gcp/compute/region_resize_request.py +24 -0
  105. pulumi_gcp/compute/region_url_map.py +75 -0
  106. pulumi_gcp/compute/subnetwork.py +0 -98
  107. pulumi_gcp/compute/wire_group.py +16 -0
  108. pulumi_gcp/config/__init__.pyi +2 -2
  109. pulumi_gcp/config/vars.py +4 -4
  110. pulumi_gcp/container/_inputs.py +466 -18
  111. pulumi_gcp/container/cluster.py +16 -7
  112. pulumi_gcp/container/outputs.py +448 -15
  113. pulumi_gcp/databasemigrationservice/connection_profile.py +4 -2
  114. pulumi_gcp/databasemigrationservice/migration_job.py +4 -2
  115. pulumi_gcp/dataflow/flex_template_job.py +10 -0
  116. pulumi_gcp/dataform/repository.py +16 -0
  117. pulumi_gcp/dataform/repository_release_config.py +16 -0
  118. pulumi_gcp/dataform/repository_workflow_config.py +16 -0
  119. pulumi_gcp/diagflow/_inputs.py +152 -0
  120. pulumi_gcp/diagflow/cx_agent.py +425 -0
  121. pulumi_gcp/diagflow/outputs.py +143 -0
  122. pulumi_gcp/discoveryengine/__init__.py +1 -0
  123. pulumi_gcp/discoveryengine/_inputs.py +94 -0
  124. pulumi_gcp/discoveryengine/acl_config.py +393 -0
  125. pulumi_gcp/discoveryengine/outputs.py +92 -0
  126. pulumi_gcp/firebase/android_app.py +16 -0
  127. pulumi_gcp/firebase/app_check_play_integrity_config.py +4 -8
  128. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +2 -4
  129. pulumi_gcp/firebase/app_check_service_config.py +6 -12
  130. pulumi_gcp/firebase/app_hosting_backend.py +4 -8
  131. pulumi_gcp/firebase/app_hosting_build.py +4 -8
  132. pulumi_gcp/firebase/app_hosting_traffic.py +6 -12
  133. pulumi_gcp/firebase/apple_app.py +16 -0
  134. pulumi_gcp/firebase/data_connect_service.py +4 -8
  135. pulumi_gcp/firebase/database_instance.py +20 -8
  136. pulumi_gcp/firebase/extensions_instance.py +12 -0
  137. pulumi_gcp/firebase/get_android_app.py +4 -2
  138. pulumi_gcp/firebase/get_apple_app.py +4 -2
  139. pulumi_gcp/firebase/get_apple_app_config.py +16 -2
  140. pulumi_gcp/firebase/get_hosting_channel.py +4 -2
  141. pulumi_gcp/firebase/hosting_channel.py +20 -0
  142. pulumi_gcp/firebase/hosting_custom_domain.py +20 -0
  143. pulumi_gcp/firebase/hosting_release.py +16 -0
  144. pulumi_gcp/firebase/hosting_site.py +16 -0
  145. pulumi_gcp/firebase/hosting_version.py +16 -0
  146. pulumi_gcp/firebase/storage_bucket.py +18 -0
  147. pulumi_gcp/firestore/index.py +118 -3
  148. pulumi_gcp/folder/service_identity.py +26 -0
  149. pulumi_gcp/gkehub/_inputs.py +0 -60
  150. pulumi_gcp/gkehub/get_membership.py +1 -12
  151. pulumi_gcp/gkehub/membership.py +0 -70
  152. pulumi_gcp/gkehub/membership_rbac_role_binding.py +16 -0
  153. pulumi_gcp/gkehub/outputs.py +0 -36
  154. pulumi_gcp/healthcare/_inputs.py +205 -0
  155. pulumi_gcp/healthcare/fhir_store.py +128 -0
  156. pulumi_gcp/healthcare/outputs.py +163 -0
  157. pulumi_gcp/iam/workload_identity_pool_iam_binding.py +464 -0
  158. pulumi_gcp/iam/workload_identity_pool_iam_member.py +464 -0
  159. pulumi_gcp/iam/workload_identity_pool_iam_policy.py +464 -0
  160. pulumi_gcp/iam/workload_identity_pool_managed_identity.py +18 -0
  161. pulumi_gcp/iam/workload_identity_pool_namespace.py +20 -0
  162. pulumi_gcp/iap/__init__.py +8 -0
  163. pulumi_gcp/iap/_inputs.py +260 -0
  164. pulumi_gcp/iap/get_web_forwarding_rule_service_iam_policy.py +159 -0
  165. pulumi_gcp/iap/get_web_region_forwarding_rule_service_iam_policy.py +182 -0
  166. pulumi_gcp/iap/outputs.py +152 -0
  167. pulumi_gcp/{beyondcorp/application_iam_binding.py → iap/web_forwarding_rule_service_iam_binding.py} +233 -315
  168. pulumi_gcp/{beyondcorp/application_iam_member.py → iap/web_forwarding_rule_service_iam_member.py} +233 -315
  169. pulumi_gcp/{beyondcorp/application_iam_policy.py → iap/web_forwarding_rule_service_iam_policy.py} +212 -294
  170. pulumi_gcp/iap/web_region_forwarding_rule_service_iam_binding.py +1091 -0
  171. pulumi_gcp/iap/web_region_forwarding_rule_service_iam_member.py +1091 -0
  172. pulumi_gcp/iap/web_region_forwarding_rule_service_iam_policy.py +910 -0
  173. pulumi_gcp/kms/autokey_config.py +0 -2
  174. pulumi_gcp/kms/get_kms_secret_asymmetric.py +22 -0
  175. pulumi_gcp/kms/key_handle.py +0 -2
  176. pulumi_gcp/logging/organization_sink.py +7 -7
  177. pulumi_gcp/managedkafka/connect_cluster.py +4 -0
  178. pulumi_gcp/managedkafka/connector.py +4 -0
  179. pulumi_gcp/memorystore/get_instance.py +1 -12
  180. pulumi_gcp/memorystore/instance.py +14 -84
  181. pulumi_gcp/netapp/storage_pool.py +91 -2
  182. pulumi_gcp/netapp/volume.py +47 -0
  183. pulumi_gcp/networkmanagement/__init__.py +1 -0
  184. pulumi_gcp/networkmanagement/organization_vpc_flow_logs_config.py +1028 -0
  185. pulumi_gcp/networksecurity/authorization_policy.py +12 -0
  186. pulumi_gcp/networkservices/gateway.py +7 -7
  187. pulumi_gcp/networkservices/lb_traffic_extension.py +24 -23
  188. pulumi_gcp/networkservices/service_lb_policies.py +12 -0
  189. pulumi_gcp/notebooks/__init__.py +0 -1
  190. pulumi_gcp/oracledatabase/autonomous_database.py +2 -2
  191. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +3 -3
  192. pulumi_gcp/projects/service.py +2 -11
  193. pulumi_gcp/provider.py +20 -20
  194. pulumi_gcp/pulumi-plugin.json +1 -1
  195. pulumi_gcp/redis/cluster.py +0 -70
  196. pulumi_gcp/redis/get_cluster.py +1 -12
  197. pulumi_gcp/resourcemanager/capability.py +16 -0
  198. pulumi_gcp/runtimeconfig/config.py +16 -0
  199. pulumi_gcp/runtimeconfig/config_iam_binding.py +236 -0
  200. pulumi_gcp/runtimeconfig/config_iam_member.py +236 -0
  201. pulumi_gcp/runtimeconfig/config_iam_policy.py +236 -0
  202. pulumi_gcp/runtimeconfig/variable.py +10 -0
  203. pulumi_gcp/saasruntime/__init__.py +12 -0
  204. pulumi_gcp/saasruntime/_inputs.py +513 -0
  205. pulumi_gcp/saasruntime/outputs.py +431 -0
  206. pulumi_gcp/saasruntime/saa_s.py +819 -0
  207. pulumi_gcp/saasruntime/unit_kind.py +1024 -0
  208. pulumi_gcp/securesourcemanager/_inputs.py +20 -19
  209. pulumi_gcp/securesourcemanager/instance.py +7 -7
  210. pulumi_gcp/securesourcemanager/outputs.py +15 -14
  211. pulumi_gcp/securesourcemanager/repository.py +7 -7
  212. pulumi_gcp/serviceaccount/get_account_key.py +1 -21
  213. pulumi_gcp/servicedirectory/namespace_iam_binding.py +4 -4
  214. pulumi_gcp/servicedirectory/namespace_iam_member.py +4 -4
  215. pulumi_gcp/servicedirectory/namespace_iam_policy.py +4 -4
  216. pulumi_gcp/servicedirectory/service_iam_binding.py +4 -4
  217. pulumi_gcp/servicedirectory/service_iam_member.py +4 -4
  218. pulumi_gcp/servicedirectory/service_iam_policy.py +4 -4
  219. pulumi_gcp/sql/_inputs.py +135 -1
  220. pulumi_gcp/sql/database_instance.py +94 -0
  221. pulumi_gcp/sql/get_database_instance.py +23 -1
  222. pulumi_gcp/sql/outputs.py +276 -3
  223. pulumi_gcp/sql/user.py +61 -0
  224. pulumi_gcp/storage/_inputs.py +253 -7
  225. pulumi_gcp/storage/bucket_object.py +0 -9
  226. pulumi_gcp/storage/outputs.py +198 -8
  227. pulumi_gcp/storage/transfer_job.py +47 -0
  228. pulumi_gcp/tpu/__init__.py +0 -2
  229. pulumi_gcp/tpu/_inputs.py +0 -93
  230. pulumi_gcp/tpu/outputs.py +0 -72
  231. pulumi_gcp/tpu/v2_queued_resource.py +16 -0
  232. pulumi_gcp/tpu/v2_vm.py +16 -0
  233. pulumi_gcp/vertex/_inputs.py +8 -9
  234. pulumi_gcp/vertex/ai_endpoint.py +2 -4
  235. pulumi_gcp/vertex/ai_feature_group_iam_binding.py +236 -0
  236. pulumi_gcp/vertex/ai_feature_group_iam_member.py +236 -0
  237. pulumi_gcp/vertex/ai_feature_group_iam_policy.py +236 -0
  238. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +0 -2
  239. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_binding.py +248 -0
  240. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_member.py +248 -0
  241. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_policy.py +248 -0
  242. pulumi_gcp/vertex/ai_feature_online_store_iam_binding.py +236 -0
  243. pulumi_gcp/vertex/ai_feature_online_store_iam_member.py +236 -0
  244. pulumi_gcp/vertex/ai_feature_online_store_iam_policy.py +236 -0
  245. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_binding.py +238 -0
  246. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_member.py +238 -0
  247. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_policy.py +238 -0
  248. pulumi_gcp/vertex/ai_feature_store_iam_binding.py +248 -0
  249. pulumi_gcp/vertex/ai_feature_store_iam_member.py +248 -0
  250. pulumi_gcp/vertex/ai_feature_store_iam_policy.py +248 -0
  251. pulumi_gcp/vertex/ai_index.py +24 -23
  252. pulumi_gcp/vertex/ai_metadata_store.py +16 -0
  253. pulumi_gcp/vertex/outputs.py +7 -8
  254. pulumi_gcp/workstations/workstation.py +16 -0
  255. pulumi_gcp/workstations/workstation_cluster.py +16 -0
  256. pulumi_gcp/workstations/workstation_config.py +16 -0
  257. pulumi_gcp/workstations/workstation_config_iam_binding.py +260 -0
  258. pulumi_gcp/workstations/workstation_config_iam_member.py +260 -0
  259. pulumi_gcp/workstations/workstation_config_iam_policy.py +260 -0
  260. pulumi_gcp/workstations/workstation_iam_binding.py +272 -0
  261. pulumi_gcp/workstations/workstation_iam_member.py +272 -0
  262. pulumi_gcp/workstations/workstation_iam_policy.py +272 -0
  263. {pulumi_gcp-8.42.0a1758178363.dist-info → pulumi_gcp-9.0.0a1758219982.dist-info}/METADATA +1 -1
  264. {pulumi_gcp-8.42.0a1758178363.dist-info → pulumi_gcp-9.0.0a1758219982.dist-info}/RECORD +266 -255
  265. pulumi_gcp/beyondcorp/application.py +0 -746
  266. pulumi_gcp/beyondcorp/get_application_iam_policy.py +0 -182
  267. pulumi_gcp/notebooks/location.py +0 -285
  268. pulumi_gcp/tpu/get_tensorflow_versions.py +0 -184
  269. pulumi_gcp/tpu/node.py +0 -1062
  270. {pulumi_gcp-8.42.0a1758178363.dist-info → pulumi_gcp-9.0.0a1758219982.dist-info}/WHEEL +0 -0
  271. {pulumi_gcp-8.42.0a1758178363.dist-info → pulumi_gcp-9.0.0a1758219982.dist-info}/top_level.txt +0 -0
@@ -102,6 +102,8 @@ __all__ = [
102
102
  'TransferJobScheduleScheduleStartDate',
103
103
  'TransferJobScheduleStartTimeOfDay',
104
104
  'TransferJobTransferSpec',
105
+ 'TransferJobTransferSpecAwsS3CompatibleDataSource',
106
+ 'TransferJobTransferSpecAwsS3CompatibleDataSourceS3Metadata',
105
107
  'TransferJobTransferSpecAwsS3DataSource',
106
108
  'TransferJobTransferSpecAwsS3DataSourceAwsAccessKey',
107
109
  'TransferJobTransferSpecAzureBlobStorageDataSource',
@@ -1549,10 +1551,10 @@ class BucketRetentionPolicy(dict):
1549
1551
  return super().get(key, default)
1550
1552
 
1551
1553
  def __init__(__self__, *,
1552
- retention_period: _builtins.int,
1554
+ retention_period: _builtins.str,
1553
1555
  is_locked: Optional[_builtins.bool] = None):
1554
1556
  """
1555
- :param _builtins.int retention_period: The period of time, in seconds, that objects in the bucket must be retained and cannot be deleted, overwritten, or archived. The value must be less than 2,147,483,647 seconds.
1557
+ :param _builtins.str retention_period: The period of time, in seconds, that objects in the bucket must be retained and cannot be deleted, overwritten, or archived. The value must be less than 3,155,760,000 seconds.
1556
1558
  :param _builtins.bool is_locked: If set to `true`, the bucket will be [locked](https://cloud.google.com/storage/docs/using-bucket-lock#lock-bucket) and permanently restrict edits to the bucket's retention policy. Caution: Locking a bucket is an irreversible action.
1557
1559
  """
1558
1560
  pulumi.set(__self__, "retention_period", retention_period)
@@ -1561,9 +1563,9 @@ class BucketRetentionPolicy(dict):
1561
1563
 
1562
1564
  @_builtins.property
1563
1565
  @pulumi.getter(name="retentionPeriod")
1564
- def retention_period(self) -> _builtins.int:
1566
+ def retention_period(self) -> _builtins.str:
1565
1567
  """
1566
- The period of time, in seconds, that objects in the bucket must be retained and cannot be deleted, overwritten, or archived. The value must be less than 2,147,483,647 seconds.
1568
+ The period of time, in seconds, that objects in the bucket must be retained and cannot be deleted, overwritten, or archived. The value must be less than 3,155,760,000 seconds.
1567
1569
  """
1568
1570
  return pulumi.get(self, "retention_period")
1569
1571
 
@@ -4377,7 +4379,9 @@ class TransferJobTransferSpec(dict):
4377
4379
  @staticmethod
4378
4380
  def __key_warning(key: str):
4379
4381
  suggest = None
4380
- if key == "awsS3DataSource":
4382
+ if key == "awsS3CompatibleDataSource":
4383
+ suggest = "aws_s3_compatible_data_source"
4384
+ elif key == "awsS3DataSource":
4381
4385
  suggest = "aws_s3_data_source"
4382
4386
  elif key == "azureBlobStorageDataSource":
4383
4387
  suggest = "azure_blob_storage_data_source"
@@ -4414,6 +4418,7 @@ class TransferJobTransferSpec(dict):
4414
4418
  return super().get(key, default)
4415
4419
 
4416
4420
  def __init__(__self__, *,
4421
+ aws_s3_compatible_data_source: Optional['outputs.TransferJobTransferSpecAwsS3CompatibleDataSource'] = None,
4417
4422
  aws_s3_data_source: Optional['outputs.TransferJobTransferSpecAwsS3DataSource'] = None,
4418
4423
  azure_blob_storage_data_source: Optional['outputs.TransferJobTransferSpecAzureBlobStorageDataSource'] = None,
4419
4424
  gcs_data_sink: Optional['outputs.TransferJobTransferSpecGcsDataSink'] = None,
@@ -4427,6 +4432,7 @@ class TransferJobTransferSpec(dict):
4427
4432
  source_agent_pool_name: Optional[_builtins.str] = None,
4428
4433
  transfer_options: Optional['outputs.TransferJobTransferSpecTransferOptions'] = None):
4429
4434
  """
4435
+ :param 'TransferJobTransferSpecAwsS3CompatibleDataSourceArgs' aws_s3_compatible_data_source: An AWS S3 Compatible data source. Structure documented below.
4430
4436
  :param 'TransferJobTransferSpecAwsS3DataSourceArgs' aws_s3_data_source: An AWS S3 data source. Structure documented below.
4431
4437
  :param 'TransferJobTransferSpecAzureBlobStorageDataSourceArgs' azure_blob_storage_data_source: An Azure Blob Storage data source. Structure documented below.
4432
4438
  :param 'TransferJobTransferSpecGcsDataSinkArgs' gcs_data_sink: A Google Cloud Storage data sink. Structure documented below.
@@ -4440,6 +4446,8 @@ class TransferJobTransferSpec(dict):
4440
4446
  :param _builtins.str source_agent_pool_name: Specifies the agent pool name associated with the posix data source. When unspecified, the default name is used.
4441
4447
  :param 'TransferJobTransferSpecTransferOptionsArgs' 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.
4442
4448
  """
4449
+ if aws_s3_compatible_data_source is not None:
4450
+ pulumi.set(__self__, "aws_s3_compatible_data_source", aws_s3_compatible_data_source)
4443
4451
  if aws_s3_data_source is not None:
4444
4452
  pulumi.set(__self__, "aws_s3_data_source", aws_s3_data_source)
4445
4453
  if azure_blob_storage_data_source is not None:
@@ -4465,6 +4473,14 @@ class TransferJobTransferSpec(dict):
4465
4473
  if transfer_options is not None:
4466
4474
  pulumi.set(__self__, "transfer_options", transfer_options)
4467
4475
 
4476
+ @_builtins.property
4477
+ @pulumi.getter(name="awsS3CompatibleDataSource")
4478
+ def aws_s3_compatible_data_source(self) -> Optional['outputs.TransferJobTransferSpecAwsS3CompatibleDataSource']:
4479
+ """
4480
+ An AWS S3 Compatible data source. Structure documented below.
4481
+ """
4482
+ return pulumi.get(self, "aws_s3_compatible_data_source")
4483
+
4468
4484
  @_builtins.property
4469
4485
  @pulumi.getter(name="awsS3DataSource")
4470
4486
  def aws_s3_data_source(self) -> Optional['outputs.TransferJobTransferSpecAwsS3DataSource']:
@@ -4562,6 +4578,166 @@ class TransferJobTransferSpec(dict):
4562
4578
  return pulumi.get(self, "transfer_options")
4563
4579
 
4564
4580
 
4581
+ @pulumi.output_type
4582
+ class TransferJobTransferSpecAwsS3CompatibleDataSource(dict):
4583
+ @staticmethod
4584
+ def __key_warning(key: str):
4585
+ suggest = None
4586
+ if key == "bucketName":
4587
+ suggest = "bucket_name"
4588
+ elif key == "s3Metadata":
4589
+ suggest = "s3_metadata"
4590
+
4591
+ if suggest:
4592
+ pulumi.log.warn(f"Key '{key}' not found in TransferJobTransferSpecAwsS3CompatibleDataSource. Access the value via the '{suggest}' property getter instead.")
4593
+
4594
+ def __getitem__(self, key: str) -> Any:
4595
+ TransferJobTransferSpecAwsS3CompatibleDataSource.__key_warning(key)
4596
+ return super().__getitem__(key)
4597
+
4598
+ def get(self, key: str, default = None) -> Any:
4599
+ TransferJobTransferSpecAwsS3CompatibleDataSource.__key_warning(key)
4600
+ return super().get(key, default)
4601
+
4602
+ def __init__(__self__, *,
4603
+ bucket_name: _builtins.str,
4604
+ endpoint: _builtins.str,
4605
+ path: Optional[_builtins.str] = None,
4606
+ region: Optional[_builtins.str] = None,
4607
+ s3_metadata: Optional['outputs.TransferJobTransferSpecAwsS3CompatibleDataSourceS3Metadata'] = None):
4608
+ """
4609
+ :param _builtins.str bucket_name: Name of the bucket.
4610
+ :param _builtins.str endpoint: Endpoint of the storage service.
4611
+ :param _builtins.str path: Specifies the path to transfer objects.
4612
+ :param _builtins.str region: Specifies the region to sign requests with. This can be left blank if requests should be signed with an empty region.
4613
+ :param 'TransferJobTransferSpecAwsS3CompatibleDataSourceS3MetadataArgs' s3_metadata: S3 compatible metadata.
4614
+ """
4615
+ pulumi.set(__self__, "bucket_name", bucket_name)
4616
+ pulumi.set(__self__, "endpoint", endpoint)
4617
+ if path is not None:
4618
+ pulumi.set(__self__, "path", path)
4619
+ if region is not None:
4620
+ pulumi.set(__self__, "region", region)
4621
+ if s3_metadata is not None:
4622
+ pulumi.set(__self__, "s3_metadata", s3_metadata)
4623
+
4624
+ @_builtins.property
4625
+ @pulumi.getter(name="bucketName")
4626
+ def bucket_name(self) -> _builtins.str:
4627
+ """
4628
+ Name of the bucket.
4629
+ """
4630
+ return pulumi.get(self, "bucket_name")
4631
+
4632
+ @_builtins.property
4633
+ @pulumi.getter
4634
+ def endpoint(self) -> _builtins.str:
4635
+ """
4636
+ Endpoint of the storage service.
4637
+ """
4638
+ return pulumi.get(self, "endpoint")
4639
+
4640
+ @_builtins.property
4641
+ @pulumi.getter
4642
+ def path(self) -> Optional[_builtins.str]:
4643
+ """
4644
+ Specifies the path to transfer objects.
4645
+ """
4646
+ return pulumi.get(self, "path")
4647
+
4648
+ @_builtins.property
4649
+ @pulumi.getter
4650
+ def region(self) -> Optional[_builtins.str]:
4651
+ """
4652
+ Specifies the region to sign requests with. This can be left blank if requests should be signed with an empty region.
4653
+ """
4654
+ return pulumi.get(self, "region")
4655
+
4656
+ @_builtins.property
4657
+ @pulumi.getter(name="s3Metadata")
4658
+ def s3_metadata(self) -> Optional['outputs.TransferJobTransferSpecAwsS3CompatibleDataSourceS3Metadata']:
4659
+ """
4660
+ S3 compatible metadata.
4661
+ """
4662
+ return pulumi.get(self, "s3_metadata")
4663
+
4664
+
4665
+ @pulumi.output_type
4666
+ class TransferJobTransferSpecAwsS3CompatibleDataSourceS3Metadata(dict):
4667
+ @staticmethod
4668
+ def __key_warning(key: str):
4669
+ suggest = None
4670
+ if key == "authMethod":
4671
+ suggest = "auth_method"
4672
+ elif key == "listApi":
4673
+ suggest = "list_api"
4674
+ elif key == "requestModel":
4675
+ suggest = "request_model"
4676
+
4677
+ if suggest:
4678
+ pulumi.log.warn(f"Key '{key}' not found in TransferJobTransferSpecAwsS3CompatibleDataSourceS3Metadata. Access the value via the '{suggest}' property getter instead.")
4679
+
4680
+ def __getitem__(self, key: str) -> Any:
4681
+ TransferJobTransferSpecAwsS3CompatibleDataSourceS3Metadata.__key_warning(key)
4682
+ return super().__getitem__(key)
4683
+
4684
+ def get(self, key: str, default = None) -> Any:
4685
+ TransferJobTransferSpecAwsS3CompatibleDataSourceS3Metadata.__key_warning(key)
4686
+ return super().get(key, default)
4687
+
4688
+ def __init__(__self__, *,
4689
+ auth_method: Optional[_builtins.str] = None,
4690
+ list_api: Optional[_builtins.str] = None,
4691
+ protocol: Optional[_builtins.str] = None,
4692
+ request_model: Optional[_builtins.str] = None):
4693
+ """
4694
+ :param _builtins.str auth_method: Authentication and authorization method used by the storage service. When not specified, Transfer Service will attempt to determine right auth method to use.
4695
+ :param _builtins.str list_api: The Listing API to use for discovering objects. When not specified, Transfer Service will attempt to determine the right API to use.
4696
+ :param _builtins.str protocol: The network protocol of the agent. When not specified, the default value of NetworkProtocol NETWORK_PROTOCOL_HTTPS is used.
4697
+ :param _builtins.str request_model: API request model used to call the storage service. When not specified, the default value of RequestModel REQUEST_MODEL_VIRTUAL_HOSTED_STYLE is used.
4698
+ """
4699
+ if auth_method is not None:
4700
+ pulumi.set(__self__, "auth_method", auth_method)
4701
+ if list_api is not None:
4702
+ pulumi.set(__self__, "list_api", list_api)
4703
+ if protocol is not None:
4704
+ pulumi.set(__self__, "protocol", protocol)
4705
+ if request_model is not None:
4706
+ pulumi.set(__self__, "request_model", request_model)
4707
+
4708
+ @_builtins.property
4709
+ @pulumi.getter(name="authMethod")
4710
+ def auth_method(self) -> Optional[_builtins.str]:
4711
+ """
4712
+ Authentication and authorization method used by the storage service. When not specified, Transfer Service will attempt to determine right auth method to use.
4713
+ """
4714
+ return pulumi.get(self, "auth_method")
4715
+
4716
+ @_builtins.property
4717
+ @pulumi.getter(name="listApi")
4718
+ def list_api(self) -> Optional[_builtins.str]:
4719
+ """
4720
+ The Listing API to use for discovering objects. When not specified, Transfer Service will attempt to determine the right API to use.
4721
+ """
4722
+ return pulumi.get(self, "list_api")
4723
+
4724
+ @_builtins.property
4725
+ @pulumi.getter
4726
+ def protocol(self) -> Optional[_builtins.str]:
4727
+ """
4728
+ The network protocol of the agent. When not specified, the default value of NetworkProtocol NETWORK_PROTOCOL_HTTPS is used.
4729
+ """
4730
+ return pulumi.get(self, "protocol")
4731
+
4732
+ @_builtins.property
4733
+ @pulumi.getter(name="requestModel")
4734
+ def request_model(self) -> Optional[_builtins.str]:
4735
+ """
4736
+ API request model used to call the storage service. When not specified, the default value of RequestModel REQUEST_MODEL_VIRTUAL_HOSTED_STYLE is used.
4737
+ """
4738
+ return pulumi.get(self, "request_model")
4739
+
4740
+
4565
4741
  @pulumi.output_type
4566
4742
  class TransferJobTransferSpecAwsS3DataSource(dict):
4567
4743
  @staticmethod
@@ -4573,6 +4749,8 @@ class TransferJobTransferSpecAwsS3DataSource(dict):
4573
4749
  suggest = "aws_access_key"
4574
4750
  elif key == "cloudfrontDomain":
4575
4751
  suggest = "cloudfront_domain"
4752
+ elif key == "credentialsSecret":
4753
+ suggest = "credentials_secret"
4576
4754
  elif key == "managedPrivateNetwork":
4577
4755
  suggest = "managed_private_network"
4578
4756
  elif key == "roleArn":
@@ -4593,6 +4771,7 @@ class TransferJobTransferSpecAwsS3DataSource(dict):
4593
4771
  bucket_name: _builtins.str,
4594
4772
  aws_access_key: Optional['outputs.TransferJobTransferSpecAwsS3DataSourceAwsAccessKey'] = None,
4595
4773
  cloudfront_domain: Optional[_builtins.str] = None,
4774
+ credentials_secret: Optional[_builtins.str] = None,
4596
4775
  managed_private_network: Optional[_builtins.bool] = None,
4597
4776
  path: Optional[_builtins.str] = None,
4598
4777
  role_arn: Optional[_builtins.str] = None):
@@ -4600,6 +4779,7 @@ class TransferJobTransferSpecAwsS3DataSource(dict):
4600
4779
  :param _builtins.str bucket_name: S3 Bucket name.
4601
4780
  :param 'TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs' aws_access_key: AWS credentials block.
4602
4781
  :param _builtins.str cloudfront_domain: The CloudFront distribution domain name pointing to this bucket, to use when fetching. See [Transfer from S3 via CloudFront](https://cloud.google.com/storage-transfer/docs/s3-cloudfront) for more information. Format: https://{id}.cloudfront.net or any valid custom domain. Must begin with https://.
4782
+ :param _builtins.str credentials_secret: The Resource name of a secret in Secret Manager. AWS credentials must be stored in Secret Manager in JSON format. If credentials_secret is specified, do not specify role_arn or aws_access_key. Format: projects/{projectNumber}/secrets/{secret_name}.
4603
4783
  :param _builtins.bool managed_private_network: Egress bytes over a Google-managed private network. This network is shared between other users of Storage Transfer Service.
4604
4784
  :param _builtins.str path: S3 Bucket path in bucket to transfer.
4605
4785
  :param _builtins.str role_arn: The Amazon Resource Name (ARN) of the role to support temporary credentials via 'AssumeRoleWithWebIdentity'. For more information about ARNs, see [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns). When a role ARN is provided, Transfer Service fetches temporary credentials for the session using a 'AssumeRoleWithWebIdentity' call for the provided role using the [GoogleServiceAccount][] for this project.
@@ -4609,6 +4789,8 @@ class TransferJobTransferSpecAwsS3DataSource(dict):
4609
4789
  pulumi.set(__self__, "aws_access_key", aws_access_key)
4610
4790
  if cloudfront_domain is not None:
4611
4791
  pulumi.set(__self__, "cloudfront_domain", cloudfront_domain)
4792
+ if credentials_secret is not None:
4793
+ pulumi.set(__self__, "credentials_secret", credentials_secret)
4612
4794
  if managed_private_network is not None:
4613
4795
  pulumi.set(__self__, "managed_private_network", managed_private_network)
4614
4796
  if path is not None:
@@ -4640,6 +4822,14 @@ class TransferJobTransferSpecAwsS3DataSource(dict):
4640
4822
  """
4641
4823
  return pulumi.get(self, "cloudfront_domain")
4642
4824
 
4825
+ @_builtins.property
4826
+ @pulumi.getter(name="credentialsSecret")
4827
+ def credentials_secret(self) -> Optional[_builtins.str]:
4828
+ """
4829
+ The Resource name of a secret in Secret Manager. AWS credentials must be stored in Secret Manager in JSON format. If credentials_secret is specified, do not specify role_arn or aws_access_key. Format: projects/{projectNumber}/secrets/{secret_name}.
4830
+ """
4831
+ return pulumi.get(self, "credentials_secret")
4832
+
4643
4833
  @_builtins.property
4644
4834
  @pulumi.getter(name="managedPrivateNetwork")
4645
4835
  def managed_private_network(self) -> Optional[_builtins.bool]:
@@ -6141,10 +6331,10 @@ class GetBucketObjectsBucketObjectResult(dict):
6141
6331
  class GetBucketRetentionPolicyResult(dict):
6142
6332
  def __init__(__self__, *,
6143
6333
  is_locked: _builtins.bool,
6144
- retention_period: _builtins.int):
6334
+ retention_period: _builtins.str):
6145
6335
  """
6146
6336
  :param _builtins.bool is_locked: If set to true, the bucket will be locked and permanently restrict edits to the bucket's retention policy. Caution: Locking a bucket is an irreversible action.
6147
- :param _builtins.int retention_period: The period of time, in seconds, that objects in the bucket must be retained and cannot be deleted, overwritten, or archived. The value must be less than 3,155,760,000 seconds.
6337
+ :param _builtins.str retention_period: The period of time, in seconds, that objects in the bucket must be retained and cannot be deleted, overwritten, or archived. The value must be less than 3,155,760,000 seconds.
6148
6338
  """
6149
6339
  pulumi.set(__self__, "is_locked", is_locked)
6150
6340
  pulumi.set(__self__, "retention_period", retention_period)
@@ -6159,7 +6349,7 @@ class GetBucketRetentionPolicyResult(dict):
6159
6349
 
6160
6350
  @_builtins.property
6161
6351
  @pulumi.getter(name="retentionPeriod")
6162
- def retention_period(self) -> _builtins.int:
6352
+ def retention_period(self) -> _builtins.str:
6163
6353
  """
6164
6354
  The period of time, in seconds, that objects in the bucket must be retained and cannot be deleted, overwritten, or archived. The value must be less than 3,155,760,000 seconds.
6165
6355
  """
@@ -29,6 +29,7 @@ class TransferJobArgs:
29
29
  project: Optional[pulumi.Input[_builtins.str]] = None,
30
30
  replication_spec: Optional[pulumi.Input['TransferJobReplicationSpecArgs']] = None,
31
31
  schedule: Optional[pulumi.Input['TransferJobScheduleArgs']] = None,
32
+ service_account: Optional[pulumi.Input[_builtins.str]] = None,
32
33
  status: Optional[pulumi.Input[_builtins.str]] = None,
33
34
  transfer_spec: Optional[pulumi.Input['TransferJobTransferSpecArgs']] = None):
34
35
  """
@@ -44,6 +45,7 @@ class TransferJobArgs:
44
45
 
45
46
  - - -
46
47
  :param pulumi.Input['TransferJobScheduleArgs'] schedule: Schedule specification defining when the Transfer Job should be scheduled to start, end and what time to run. Structure documented below. Either `schedule` or `event_stream` must be set.
48
+ :param pulumi.Input[_builtins.str] service_account: The user-managed service account to run the job. If this field is specified, the given service account is granted the necessary permissions to all applicable resources (e.g. GCS buckets) required by the job.
47
49
  :param pulumi.Input[_builtins.str] status: Status of the job. Default: `ENABLED`. **NOTE: The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation.**
48
50
  :param pulumi.Input['TransferJobTransferSpecArgs'] transfer_spec: Transfer specification. Structure documented below. One of `transfer_spec`, or `replication_spec` can be specified.
49
51
  """
@@ -62,6 +64,8 @@ class TransferJobArgs:
62
64
  pulumi.set(__self__, "replication_spec", replication_spec)
63
65
  if schedule is not None:
64
66
  pulumi.set(__self__, "schedule", schedule)
67
+ if service_account is not None:
68
+ pulumi.set(__self__, "service_account", service_account)
65
69
  if status is not None:
66
70
  pulumi.set(__self__, "status", status)
67
71
  if transfer_spec is not None:
@@ -166,6 +170,18 @@ class TransferJobArgs:
166
170
  def schedule(self, value: Optional[pulumi.Input['TransferJobScheduleArgs']]):
167
171
  pulumi.set(self, "schedule", value)
168
172
 
173
+ @_builtins.property
174
+ @pulumi.getter(name="serviceAccount")
175
+ def service_account(self) -> Optional[pulumi.Input[_builtins.str]]:
176
+ """
177
+ The user-managed service account to run the job. If this field is specified, the given service account is granted the necessary permissions to all applicable resources (e.g. GCS buckets) required by the job.
178
+ """
179
+ return pulumi.get(self, "service_account")
180
+
181
+ @service_account.setter
182
+ def service_account(self, value: Optional[pulumi.Input[_builtins.str]]):
183
+ pulumi.set(self, "service_account", value)
184
+
169
185
  @_builtins.property
170
186
  @pulumi.getter
171
187
  def status(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -205,6 +221,7 @@ class _TransferJobState:
205
221
  project: Optional[pulumi.Input[_builtins.str]] = None,
206
222
  replication_spec: Optional[pulumi.Input['TransferJobReplicationSpecArgs']] = None,
207
223
  schedule: Optional[pulumi.Input['TransferJobScheduleArgs']] = None,
224
+ service_account: Optional[pulumi.Input[_builtins.str]] = None,
208
225
  status: Optional[pulumi.Input[_builtins.str]] = None,
209
226
  transfer_spec: Optional[pulumi.Input['TransferJobTransferSpecArgs']] = None):
210
227
  """
@@ -223,6 +240,7 @@ class _TransferJobState:
223
240
 
224
241
  - - -
225
242
  :param pulumi.Input['TransferJobScheduleArgs'] schedule: Schedule specification defining when the Transfer Job should be scheduled to start, end and what time to run. Structure documented below. Either `schedule` or `event_stream` must be set.
243
+ :param pulumi.Input[_builtins.str] service_account: The user-managed service account to run the job. If this field is specified, the given service account is granted the necessary permissions to all applicable resources (e.g. GCS buckets) required by the job.
226
244
  :param pulumi.Input[_builtins.str] status: Status of the job. Default: `ENABLED`. **NOTE: The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation.**
227
245
  :param pulumi.Input['TransferJobTransferSpecArgs'] transfer_spec: Transfer specification. Structure documented below. One of `transfer_spec`, or `replication_spec` can be specified.
228
246
  """
@@ -248,6 +266,8 @@ class _TransferJobState:
248
266
  pulumi.set(__self__, "replication_spec", replication_spec)
249
267
  if schedule is not None:
250
268
  pulumi.set(__self__, "schedule", schedule)
269
+ if service_account is not None:
270
+ pulumi.set(__self__, "service_account", service_account)
251
271
  if status is not None:
252
272
  pulumi.set(__self__, "status", status)
253
273
  if transfer_spec is not None:
@@ -388,6 +408,18 @@ class _TransferJobState:
388
408
  def schedule(self, value: Optional[pulumi.Input['TransferJobScheduleArgs']]):
389
409
  pulumi.set(self, "schedule", value)
390
410
 
411
+ @_builtins.property
412
+ @pulumi.getter(name="serviceAccount")
413
+ def service_account(self) -> Optional[pulumi.Input[_builtins.str]]:
414
+ """
415
+ The user-managed service account to run the job. If this field is specified, the given service account is granted the necessary permissions to all applicable resources (e.g. GCS buckets) required by the job.
416
+ """
417
+ return pulumi.get(self, "service_account")
418
+
419
+ @service_account.setter
420
+ def service_account(self, value: Optional[pulumi.Input[_builtins.str]]):
421
+ pulumi.set(self, "service_account", value)
422
+
391
423
  @_builtins.property
392
424
  @pulumi.getter
393
425
  def status(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -427,6 +459,7 @@ class TransferJob(pulumi.CustomResource):
427
459
  project: Optional[pulumi.Input[_builtins.str]] = None,
428
460
  replication_spec: Optional[pulumi.Input[Union['TransferJobReplicationSpecArgs', 'TransferJobReplicationSpecArgsDict']]] = None,
429
461
  schedule: Optional[pulumi.Input[Union['TransferJobScheduleArgs', 'TransferJobScheduleArgsDict']]] = None,
462
+ service_account: Optional[pulumi.Input[_builtins.str]] = None,
430
463
  status: Optional[pulumi.Input[_builtins.str]] = None,
431
464
  transfer_spec: Optional[pulumi.Input[Union['TransferJobTransferSpecArgs', 'TransferJobTransferSpecArgsDict']]] = None,
432
465
  __props__=None):
@@ -555,6 +588,7 @@ class TransferJob(pulumi.CustomResource):
555
588
 
556
589
  - - -
557
590
  :param pulumi.Input[Union['TransferJobScheduleArgs', 'TransferJobScheduleArgsDict']] schedule: Schedule specification defining when the Transfer Job should be scheduled to start, end and what time to run. Structure documented below. Either `schedule` or `event_stream` must be set.
591
+ :param pulumi.Input[_builtins.str] service_account: The user-managed service account to run the job. If this field is specified, the given service account is granted the necessary permissions to all applicable resources (e.g. GCS buckets) required by the job.
558
592
  :param pulumi.Input[_builtins.str] status: Status of the job. Default: `ENABLED`. **NOTE: The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation.**
559
593
  :param pulumi.Input[Union['TransferJobTransferSpecArgs', 'TransferJobTransferSpecArgsDict']] transfer_spec: Transfer specification. Structure documented below. One of `transfer_spec`, or `replication_spec` can be specified.
560
594
  """
@@ -699,6 +733,7 @@ class TransferJob(pulumi.CustomResource):
699
733
  project: Optional[pulumi.Input[_builtins.str]] = None,
700
734
  replication_spec: Optional[pulumi.Input[Union['TransferJobReplicationSpecArgs', 'TransferJobReplicationSpecArgsDict']]] = None,
701
735
  schedule: Optional[pulumi.Input[Union['TransferJobScheduleArgs', 'TransferJobScheduleArgsDict']]] = None,
736
+ service_account: Optional[pulumi.Input[_builtins.str]] = None,
702
737
  status: Optional[pulumi.Input[_builtins.str]] = None,
703
738
  transfer_spec: Optional[pulumi.Input[Union['TransferJobTransferSpecArgs', 'TransferJobTransferSpecArgsDict']]] = None,
704
739
  __props__=None):
@@ -720,6 +755,7 @@ class TransferJob(pulumi.CustomResource):
720
755
  __props__.__dict__["project"] = project
721
756
  __props__.__dict__["replication_spec"] = replication_spec
722
757
  __props__.__dict__["schedule"] = schedule
758
+ __props__.__dict__["service_account"] = service_account
723
759
  __props__.__dict__["status"] = status
724
760
  __props__.__dict__["transfer_spec"] = transfer_spec
725
761
  __props__.__dict__["creation_time"] = None
@@ -746,6 +782,7 @@ class TransferJob(pulumi.CustomResource):
746
782
  project: Optional[pulumi.Input[_builtins.str]] = None,
747
783
  replication_spec: Optional[pulumi.Input[Union['TransferJobReplicationSpecArgs', 'TransferJobReplicationSpecArgsDict']]] = None,
748
784
  schedule: Optional[pulumi.Input[Union['TransferJobScheduleArgs', 'TransferJobScheduleArgsDict']]] = None,
785
+ service_account: Optional[pulumi.Input[_builtins.str]] = None,
749
786
  status: Optional[pulumi.Input[_builtins.str]] = None,
750
787
  transfer_spec: Optional[pulumi.Input[Union['TransferJobTransferSpecArgs', 'TransferJobTransferSpecArgsDict']]] = None) -> 'TransferJob':
751
788
  """
@@ -769,6 +806,7 @@ class TransferJob(pulumi.CustomResource):
769
806
 
770
807
  - - -
771
808
  :param pulumi.Input[Union['TransferJobScheduleArgs', 'TransferJobScheduleArgsDict']] schedule: Schedule specification defining when the Transfer Job should be scheduled to start, end and what time to run. Structure documented below. Either `schedule` or `event_stream` must be set.
809
+ :param pulumi.Input[_builtins.str] service_account: The user-managed service account to run the job. If this field is specified, the given service account is granted the necessary permissions to all applicable resources (e.g. GCS buckets) required by the job.
772
810
  :param pulumi.Input[_builtins.str] status: Status of the job. Default: `ENABLED`. **NOTE: The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation.**
773
811
  :param pulumi.Input[Union['TransferJobTransferSpecArgs', 'TransferJobTransferSpecArgsDict']] transfer_spec: Transfer specification. Structure documented below. One of `transfer_spec`, or `replication_spec` can be specified.
774
812
  """
@@ -787,6 +825,7 @@ class TransferJob(pulumi.CustomResource):
787
825
  __props__.__dict__["project"] = project
788
826
  __props__.__dict__["replication_spec"] = replication_spec
789
827
  __props__.__dict__["schedule"] = schedule
828
+ __props__.__dict__["service_account"] = service_account
790
829
  __props__.__dict__["status"] = status
791
830
  __props__.__dict__["transfer_spec"] = transfer_spec
792
831
  return TransferJob(resource_name, opts=opts, __props__=__props__)
@@ -882,6 +921,14 @@ class TransferJob(pulumi.CustomResource):
882
921
  """
883
922
  return pulumi.get(self, "schedule")
884
923
 
924
+ @_builtins.property
925
+ @pulumi.getter(name="serviceAccount")
926
+ def service_account(self) -> pulumi.Output[Optional[_builtins.str]]:
927
+ """
928
+ The user-managed service account to run the job. If this field is specified, the given service account is granted the necessary permissions to all applicable resources (e.g. GCS buckets) required by the job.
929
+ """
930
+ return pulumi.get(self, "service_account")
931
+
885
932
  @_builtins.property
886
933
  @pulumi.getter
887
934
  def status(self) -> pulumi.Output[Optional[_builtins.str]]:
@@ -6,10 +6,8 @@ import builtins as _builtins
6
6
  from .. import _utilities
7
7
  import typing
8
8
  # Export this package's modules as members:
9
- from .get_tensorflow_versions import *
10
9
  from .get_v2_accelerator_types import *
11
10
  from .get_v2_runtime_versions import *
12
- from .node import *
13
11
  from .v2_queued_resource import *
14
12
  from .v2_vm import *
15
13
  from ._inputs import *
pulumi_gcp/tpu/_inputs.py CHANGED
@@ -15,10 +15,6 @@ else:
15
15
  from .. import _utilities
16
16
 
17
17
  __all__ = [
18
- 'NodeNetworkEndpointArgs',
19
- 'NodeNetworkEndpointArgsDict',
20
- 'NodeSchedulingConfigArgs',
21
- 'NodeSchedulingConfigArgsDict',
22
18
  'V2QueuedResourceTpuArgs',
23
19
  'V2QueuedResourceTpuArgsDict',
24
20
  'V2QueuedResourceTpuNodeSpecArgs',
@@ -49,95 +45,6 @@ __all__ = [
49
45
 
50
46
  MYPY = False
51
47
 
52
- if not MYPY:
53
- class NodeNetworkEndpointArgsDict(TypedDict):
54
- ip_address: NotRequired[pulumi.Input[_builtins.str]]
55
- """
56
- (Output)
57
- The IP address of this network endpoint.
58
- """
59
- port: NotRequired[pulumi.Input[_builtins.int]]
60
- """
61
- (Output)
62
- The port of this network endpoint.
63
- """
64
- elif False:
65
- NodeNetworkEndpointArgsDict: TypeAlias = Mapping[str, Any]
66
-
67
- @pulumi.input_type
68
- class NodeNetworkEndpointArgs:
69
- def __init__(__self__, *,
70
- ip_address: Optional[pulumi.Input[_builtins.str]] = None,
71
- port: Optional[pulumi.Input[_builtins.int]] = None):
72
- """
73
- :param pulumi.Input[_builtins.str] ip_address: (Output)
74
- The IP address of this network endpoint.
75
- :param pulumi.Input[_builtins.int] port: (Output)
76
- The port of this network endpoint.
77
- """
78
- if ip_address is not None:
79
- pulumi.set(__self__, "ip_address", ip_address)
80
- if port is not None:
81
- pulumi.set(__self__, "port", port)
82
-
83
- @_builtins.property
84
- @pulumi.getter(name="ipAddress")
85
- def ip_address(self) -> Optional[pulumi.Input[_builtins.str]]:
86
- """
87
- (Output)
88
- The IP address of this network endpoint.
89
- """
90
- return pulumi.get(self, "ip_address")
91
-
92
- @ip_address.setter
93
- def ip_address(self, value: Optional[pulumi.Input[_builtins.str]]):
94
- pulumi.set(self, "ip_address", value)
95
-
96
- @_builtins.property
97
- @pulumi.getter
98
- def port(self) -> Optional[pulumi.Input[_builtins.int]]:
99
- """
100
- (Output)
101
- The port of this network endpoint.
102
- """
103
- return pulumi.get(self, "port")
104
-
105
- @port.setter
106
- def port(self, value: Optional[pulumi.Input[_builtins.int]]):
107
- pulumi.set(self, "port", value)
108
-
109
-
110
- if not MYPY:
111
- class NodeSchedulingConfigArgsDict(TypedDict):
112
- preemptible: pulumi.Input[_builtins.bool]
113
- """
114
- Defines whether the TPU instance is preemptible.
115
- """
116
- elif False:
117
- NodeSchedulingConfigArgsDict: TypeAlias = Mapping[str, Any]
118
-
119
- @pulumi.input_type
120
- class NodeSchedulingConfigArgs:
121
- def __init__(__self__, *,
122
- preemptible: pulumi.Input[_builtins.bool]):
123
- """
124
- :param pulumi.Input[_builtins.bool] preemptible: Defines whether the TPU instance is preemptible.
125
- """
126
- pulumi.set(__self__, "preemptible", preemptible)
127
-
128
- @_builtins.property
129
- @pulumi.getter
130
- def preemptible(self) -> pulumi.Input[_builtins.bool]:
131
- """
132
- Defines whether the TPU instance is preemptible.
133
- """
134
- return pulumi.get(self, "preemptible")
135
-
136
- @preemptible.setter
137
- def preemptible(self, value: pulumi.Input[_builtins.bool]):
138
- pulumi.set(self, "preemptible", value)
139
-
140
-
141
48
  if not MYPY:
142
49
  class V2QueuedResourceTpuArgsDict(TypedDict):
143
50
  node_specs: NotRequired[pulumi.Input[Sequence[pulumi.Input['V2QueuedResourceTpuNodeSpecArgsDict']]]]