pulumi-gcp 7.7.0a1705990280__py3-none-any.whl → 7.8.0a1706310284__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. pulumi_gcp/__init__.py +56 -0
  2. pulumi_gcp/alloydb/cluster.py +26 -21
  3. pulumi_gcp/bigquery/_inputs.py +231 -0
  4. pulumi_gcp/bigquery/outputs.py +229 -0
  5. pulumi_gcp/bigquery/routine.py +256 -10
  6. pulumi_gcp/bigquery/table.py +47 -0
  7. pulumi_gcp/cloudbuildv2/repository.py +60 -53
  8. pulumi_gcp/cloudrunv2/_inputs.py +176 -4
  9. pulumi_gcp/cloudrunv2/outputs.py +256 -3
  10. pulumi_gcp/cloudrunv2/service.py +148 -0
  11. pulumi_gcp/composer/_inputs.py +24 -0
  12. pulumi_gcp/composer/outputs.py +34 -0
  13. pulumi_gcp/compute/_inputs.py +4 -2
  14. pulumi_gcp/compute/disk.py +14 -14
  15. pulumi_gcp/compute/outputs.py +4 -2
  16. pulumi_gcp/healthcare/fhir_store.py +56 -0
  17. pulumi_gcp/kms/crypto_key.py +2 -2
  18. pulumi_gcp/kms/crypto_key_iam_binding.py +2 -2
  19. pulumi_gcp/kms/crypto_key_iam_member.py +2 -2
  20. pulumi_gcp/kms/crypto_key_iam_policy.py +2 -2
  21. pulumi_gcp/kms/crypto_key_version.py +2 -2
  22. pulumi_gcp/kms/secret_ciphertext.py +2 -2
  23. pulumi_gcp/netapp/__init__.py +4 -0
  24. pulumi_gcp/netapp/_inputs.py +643 -0
  25. pulumi_gcp/netapp/backup_policy.py +829 -0
  26. pulumi_gcp/netapp/kmsconfig.py +2 -2
  27. pulumi_gcp/netapp/outputs.py +651 -0
  28. pulumi_gcp/netapp/volume.py +1467 -0
  29. pulumi_gcp/networksecurity/__init__.py +5 -0
  30. pulumi_gcp/networksecurity/_inputs.py +228 -0
  31. pulumi_gcp/networksecurity/address_group_iam_binding.py +324 -0
  32. pulumi_gcp/networksecurity/address_group_iam_member.py +324 -0
  33. pulumi_gcp/networksecurity/address_group_iam_policy.py +492 -0
  34. pulumi_gcp/networksecurity/get_address_group_iam_policy.py +144 -0
  35. pulumi_gcp/networksecurity/outputs.py +212 -0
  36. pulumi_gcp/networksecurity/security_profile.py +800 -0
  37. pulumi_gcp/networkservices/gateway.py +1 -1
  38. pulumi_gcp/organizations/get_folders.py +1 -1
  39. pulumi_gcp/orgpolicy/_inputs.py +12 -12
  40. pulumi_gcp/orgpolicy/outputs.py +12 -12
  41. pulumi_gcp/securesourcemanager/instance.py +4 -2
  42. pulumi_gcp/storage/insights_report_config.py +12 -10
  43. pulumi_gcp/vertex/__init__.py +1 -0
  44. pulumi_gcp/vertex/ai_feature_group_feature.py +767 -0
  45. pulumi_gcp/workstations/workstation_config.py +47 -0
  46. {pulumi_gcp-7.7.0a1705990280.dist-info → pulumi_gcp-7.8.0a1706310284.dist-info}/METADATA +1 -1
  47. {pulumi_gcp-7.7.0a1705990280.dist-info → pulumi_gcp-7.8.0a1706310284.dist-info}/RECORD +49 -39
  48. {pulumi_gcp-7.7.0a1705990280.dist-info → pulumi_gcp-7.8.0a1706310284.dist-info}/WHEEL +0 -0
  49. {pulumi_gcp-7.7.0a1705990280.dist-info → pulumi_gcp-7.8.0a1706310284.dist-info}/top_level.txt +0 -0
@@ -46,6 +46,7 @@ __all__ = [
46
46
  'ServiceTemplateContainerLivenessProbeGrpc',
47
47
  'ServiceTemplateContainerLivenessProbeHttpGet',
48
48
  'ServiceTemplateContainerLivenessProbeHttpGetHttpHeader',
49
+ 'ServiceTemplateContainerLivenessProbeTcpSocket',
49
50
  'ServiceTemplateContainerPort',
50
51
  'ServiceTemplateContainerResources',
51
52
  'ServiceTemplateContainerStartupProbe',
@@ -58,6 +59,8 @@ __all__ = [
58
59
  'ServiceTemplateVolume',
59
60
  'ServiceTemplateVolumeCloudSqlInstance',
60
61
  'ServiceTemplateVolumeEmptyDir',
62
+ 'ServiceTemplateVolumeGcs',
63
+ 'ServiceTemplateVolumeNfs',
61
64
  'ServiceTemplateVolumeSecret',
62
65
  'ServiceTemplateVolumeSecretItem',
63
66
  'ServiceTemplateVpcAccess',
@@ -96,6 +99,7 @@ __all__ = [
96
99
  'GetServiceTemplateContainerLivenessProbeGrpcResult',
97
100
  'GetServiceTemplateContainerLivenessProbeHttpGetResult',
98
101
  'GetServiceTemplateContainerLivenessProbeHttpGetHttpHeaderResult',
102
+ 'GetServiceTemplateContainerLivenessProbeTcpSocketResult',
99
103
  'GetServiceTemplateContainerPortResult',
100
104
  'GetServiceTemplateContainerResourceResult',
101
105
  'GetServiceTemplateContainerStartupProbeResult',
@@ -108,6 +112,8 @@ __all__ = [
108
112
  'GetServiceTemplateVolumeResult',
109
113
  'GetServiceTemplateVolumeCloudSqlInstanceResult',
110
114
  'GetServiceTemplateVolumeEmptyDirResult',
115
+ 'GetServiceTemplateVolumeGcResult',
116
+ 'GetServiceTemplateVolumeNfResult',
111
117
  'GetServiceTemplateVolumeSecretResult',
112
118
  'GetServiceTemplateVolumeSecretItemResult',
113
119
  'GetServiceTemplateVpcAccessResult',
@@ -2352,6 +2358,8 @@ class ServiceTemplateContainerLivenessProbe(dict):
2352
2358
  suggest = "initial_delay_seconds"
2353
2359
  elif key == "periodSeconds":
2354
2360
  suggest = "period_seconds"
2361
+ elif key == "tcpSocket":
2362
+ suggest = "tcp_socket"
2355
2363
  elif key == "timeoutSeconds":
2356
2364
  suggest = "timeout_seconds"
2357
2365
 
@@ -2372,6 +2380,7 @@ class ServiceTemplateContainerLivenessProbe(dict):
2372
2380
  http_get: Optional['outputs.ServiceTemplateContainerLivenessProbeHttpGet'] = None,
2373
2381
  initial_delay_seconds: Optional[int] = None,
2374
2382
  period_seconds: Optional[int] = None,
2383
+ tcp_socket: Optional['outputs.ServiceTemplateContainerLivenessProbeTcpSocket'] = None,
2375
2384
  timeout_seconds: Optional[int] = None):
2376
2385
  """
2377
2386
  :param int failure_threshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
@@ -2381,6 +2390,8 @@ class ServiceTemplateContainerLivenessProbe(dict):
2381
2390
  Structure is documented below.
2382
2391
  :param int initial_delay_seconds: Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2383
2392
  :param int period_seconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeoutSeconds
2393
+ :param 'ServiceTemplateContainerLivenessProbeTcpSocketArgs' tcp_socket: TCPSocketAction describes an action based on opening a socket
2394
+ Structure is documented below.
2384
2395
  :param int timeout_seconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than periodSeconds. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2385
2396
  """
2386
2397
  if failure_threshold is not None:
@@ -2393,6 +2404,8 @@ class ServiceTemplateContainerLivenessProbe(dict):
2393
2404
  pulumi.set(__self__, "initial_delay_seconds", initial_delay_seconds)
2394
2405
  if period_seconds is not None:
2395
2406
  pulumi.set(__self__, "period_seconds", period_seconds)
2407
+ if tcp_socket is not None:
2408
+ pulumi.set(__self__, "tcp_socket", tcp_socket)
2396
2409
  if timeout_seconds is not None:
2397
2410
  pulumi.set(__self__, "timeout_seconds", timeout_seconds)
2398
2411
 
@@ -2438,6 +2451,15 @@ class ServiceTemplateContainerLivenessProbe(dict):
2438
2451
  """
2439
2452
  return pulumi.get(self, "period_seconds")
2440
2453
 
2454
+ @property
2455
+ @pulumi.getter(name="tcpSocket")
2456
+ def tcp_socket(self) -> Optional['outputs.ServiceTemplateContainerLivenessProbeTcpSocket']:
2457
+ """
2458
+ TCPSocketAction describes an action based on opening a socket
2459
+ Structure is documented below.
2460
+ """
2461
+ return pulumi.get(self, "tcp_socket")
2462
+
2441
2463
  @property
2442
2464
  @pulumi.getter(name="timeoutSeconds")
2443
2465
  def timeout_seconds(self) -> Optional[int]:
@@ -2578,6 +2600,26 @@ class ServiceTemplateContainerLivenessProbeHttpGetHttpHeader(dict):
2578
2600
  return pulumi.get(self, "value")
2579
2601
 
2580
2602
 
2603
+ @pulumi.output_type
2604
+ class ServiceTemplateContainerLivenessProbeTcpSocket(dict):
2605
+ def __init__(__self__, *,
2606
+ port: int):
2607
+ """
2608
+ :param int port: Port number to access on the container. Must be in the range 1 to 65535.
2609
+ If not specified, defaults to the same value as container.ports[0].containerPort.
2610
+ """
2611
+ pulumi.set(__self__, "port", port)
2612
+
2613
+ @property
2614
+ @pulumi.getter
2615
+ def port(self) -> int:
2616
+ """
2617
+ Port number to access on the container. Must be in the range 1 to 65535.
2618
+ If not specified, defaults to the same value as container.ports[0].containerPort.
2619
+ """
2620
+ return pulumi.get(self, "port")
2621
+
2622
+
2581
2623
  @pulumi.output_type
2582
2624
  class ServiceTemplateContainerPort(dict):
2583
2625
  @staticmethod
@@ -3085,11 +3127,17 @@ class ServiceTemplateVolume(dict):
3085
3127
  name: str,
3086
3128
  cloud_sql_instance: Optional['outputs.ServiceTemplateVolumeCloudSqlInstance'] = None,
3087
3129
  empty_dir: Optional['outputs.ServiceTemplateVolumeEmptyDir'] = None,
3130
+ gcs: Optional['outputs.ServiceTemplateVolumeGcs'] = None,
3131
+ nfs: Optional['outputs.ServiceTemplateVolumeNfs'] = None,
3088
3132
  secret: Optional['outputs.ServiceTemplateVolumeSecret'] = None):
3089
3133
  """
3090
3134
  :param str name: Volume's name.
3091
3135
  :param 'ServiceTemplateVolumeCloudSqlInstanceArgs' cloud_sql_instance: For Cloud SQL volumes, contains the specific instances that should be mounted. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run.
3092
3136
  Structure is documented below.
3137
+ :param 'ServiceTemplateVolumeGcsArgs' gcs: Represents a GCS Bucket mounted as a volume.
3138
+ Structure is documented below.
3139
+ :param 'ServiceTemplateVolumeNfsArgs' nfs: Represents an NFS mount.
3140
+ Structure is documented below.
3093
3141
  :param 'ServiceTemplateVolumeSecretArgs' secret: Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
3094
3142
  Structure is documented below.
3095
3143
  """
@@ -3098,6 +3146,10 @@ class ServiceTemplateVolume(dict):
3098
3146
  pulumi.set(__self__, "cloud_sql_instance", cloud_sql_instance)
3099
3147
  if empty_dir is not None:
3100
3148
  pulumi.set(__self__, "empty_dir", empty_dir)
3149
+ if gcs is not None:
3150
+ pulumi.set(__self__, "gcs", gcs)
3151
+ if nfs is not None:
3152
+ pulumi.set(__self__, "nfs", nfs)
3101
3153
  if secret is not None:
3102
3154
  pulumi.set(__self__, "secret", secret)
3103
3155
 
@@ -3123,6 +3175,24 @@ class ServiceTemplateVolume(dict):
3123
3175
  def empty_dir(self) -> Optional['outputs.ServiceTemplateVolumeEmptyDir']:
3124
3176
  return pulumi.get(self, "empty_dir")
3125
3177
 
3178
+ @property
3179
+ @pulumi.getter
3180
+ def gcs(self) -> Optional['outputs.ServiceTemplateVolumeGcs']:
3181
+ """
3182
+ Represents a GCS Bucket mounted as a volume.
3183
+ Structure is documented below.
3184
+ """
3185
+ return pulumi.get(self, "gcs")
3186
+
3187
+ @property
3188
+ @pulumi.getter
3189
+ def nfs(self) -> Optional['outputs.ServiceTemplateVolumeNfs']:
3190
+ """
3191
+ Represents an NFS mount.
3192
+ Structure is documented below.
3193
+ """
3194
+ return pulumi.get(self, "nfs")
3195
+
3126
3196
  @property
3127
3197
  @pulumi.getter
3128
3198
  def secret(self) -> Optional['outputs.ServiceTemplateVolumeSecret']:
@@ -3179,8 +3249,6 @@ class ServiceTemplateVolumeEmptyDir(dict):
3179
3249
  Default value is `MEMORY`.
3180
3250
  Possible values are: `MEMORY`.
3181
3251
  :param str size_limit: Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. This field's values are of the 'Quantity' k8s type: https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/. The default is nil which means that the limit is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir.
3182
-
3183
- - - -
3184
3252
  """
3185
3253
  if medium is not None:
3186
3254
  pulumi.set(__self__, "medium", medium)
@@ -3202,10 +3270,117 @@ class ServiceTemplateVolumeEmptyDir(dict):
3202
3270
  def size_limit(self) -> Optional[str]:
3203
3271
  """
3204
3272
  Limit on the storage usable by this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. This field's values are of the 'Quantity' k8s type: https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/. The default is nil which means that the limit is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir.
3273
+ """
3274
+ return pulumi.get(self, "size_limit")
3275
+
3276
+
3277
+ @pulumi.output_type
3278
+ class ServiceTemplateVolumeGcs(dict):
3279
+ @staticmethod
3280
+ def __key_warning(key: str):
3281
+ suggest = None
3282
+ if key == "readOnly":
3283
+ suggest = "read_only"
3284
+
3285
+ if suggest:
3286
+ pulumi.log.warn(f"Key '{key}' not found in ServiceTemplateVolumeGcs. Access the value via the '{suggest}' property getter instead.")
3287
+
3288
+ def __getitem__(self, key: str) -> Any:
3289
+ ServiceTemplateVolumeGcs.__key_warning(key)
3290
+ return super().__getitem__(key)
3291
+
3292
+ def get(self, key: str, default = None) -> Any:
3293
+ ServiceTemplateVolumeGcs.__key_warning(key)
3294
+ return super().get(key, default)
3295
+
3296
+ def __init__(__self__, *,
3297
+ bucket: str,
3298
+ read_only: Optional[bool] = None):
3299
+ """
3300
+ :param str bucket: GCS Bucket name
3301
+ :param bool read_only: If true, mount the GCS bucket as read-only
3302
+ """
3303
+ pulumi.set(__self__, "bucket", bucket)
3304
+ if read_only is not None:
3305
+ pulumi.set(__self__, "read_only", read_only)
3306
+
3307
+ @property
3308
+ @pulumi.getter
3309
+ def bucket(self) -> str:
3310
+ """
3311
+ GCS Bucket name
3312
+ """
3313
+ return pulumi.get(self, "bucket")
3314
+
3315
+ @property
3316
+ @pulumi.getter(name="readOnly")
3317
+ def read_only(self) -> Optional[bool]:
3318
+ """
3319
+ If true, mount the GCS bucket as read-only
3320
+ """
3321
+ return pulumi.get(self, "read_only")
3322
+
3323
+
3324
+ @pulumi.output_type
3325
+ class ServiceTemplateVolumeNfs(dict):
3326
+ @staticmethod
3327
+ def __key_warning(key: str):
3328
+ suggest = None
3329
+ if key == "readOnly":
3330
+ suggest = "read_only"
3331
+
3332
+ if suggest:
3333
+ pulumi.log.warn(f"Key '{key}' not found in ServiceTemplateVolumeNfs. Access the value via the '{suggest}' property getter instead.")
3334
+
3335
+ def __getitem__(self, key: str) -> Any:
3336
+ ServiceTemplateVolumeNfs.__key_warning(key)
3337
+ return super().__getitem__(key)
3338
+
3339
+ def get(self, key: str, default = None) -> Any:
3340
+ ServiceTemplateVolumeNfs.__key_warning(key)
3341
+ return super().get(key, default)
3342
+
3343
+ def __init__(__self__, *,
3344
+ path: str,
3345
+ server: str,
3346
+ read_only: Optional[bool] = None):
3347
+ """
3348
+ :param str path: Path that is exported by the NFS server.
3349
+ :param str server: Hostname or IP address of the NFS server
3350
+ :param bool read_only: If true, mount the NFS volume as read only
3351
+
3352
+ - - -
3353
+ """
3354
+ pulumi.set(__self__, "path", path)
3355
+ pulumi.set(__self__, "server", server)
3356
+ if read_only is not None:
3357
+ pulumi.set(__self__, "read_only", read_only)
3358
+
3359
+ @property
3360
+ @pulumi.getter
3361
+ def path(self) -> str:
3362
+ """
3363
+ Path that is exported by the NFS server.
3364
+ """
3365
+ return pulumi.get(self, "path")
3366
+
3367
+ @property
3368
+ @pulumi.getter
3369
+ def server(self) -> str:
3370
+ """
3371
+ Hostname or IP address of the NFS server
3372
+ """
3373
+ return pulumi.get(self, "server")
3374
+
3375
+ @property
3376
+ @pulumi.getter(name="readOnly")
3377
+ def read_only(self) -> Optional[bool]:
3378
+ """
3379
+ If true, mount the NFS volume as read only
3205
3380
 
3206
3381
  - - -
3207
3382
  """
3208
- return pulumi.get(self, "size_limit")
3383
+ return pulumi.get(self, "read_only")
3209
3384
 
3210
3385
 
3211
3386
  @pulumi.output_type
@@ -4685,12 +4860,14 @@ class GetServiceTemplateContainerLivenessProbeResult(dict):
4685
4860
  http_gets: Sequence['outputs.GetServiceTemplateContainerLivenessProbeHttpGetResult'],
4686
4861
  initial_delay_seconds: int,
4687
4862
  period_seconds: int,
4863
+ tcp_sockets: Sequence['outputs.GetServiceTemplateContainerLivenessProbeTcpSocketResult'],
4688
4864
  timeout_seconds: int):
4689
4865
  pulumi.set(__self__, "failure_threshold", failure_threshold)
4690
4866
  pulumi.set(__self__, "grpcs", grpcs)
4691
4867
  pulumi.set(__self__, "http_gets", http_gets)
4692
4868
  pulumi.set(__self__, "initial_delay_seconds", initial_delay_seconds)
4693
4869
  pulumi.set(__self__, "period_seconds", period_seconds)
4870
+ pulumi.set(__self__, "tcp_sockets", tcp_sockets)
4694
4871
  pulumi.set(__self__, "timeout_seconds", timeout_seconds)
4695
4872
 
4696
4873
  @property
@@ -4718,6 +4895,11 @@ class GetServiceTemplateContainerLivenessProbeResult(dict):
4718
4895
  def period_seconds(self) -> int:
4719
4896
  return pulumi.get(self, "period_seconds")
4720
4897
 
4898
+ @property
4899
+ @pulumi.getter(name="tcpSockets")
4900
+ def tcp_sockets(self) -> Sequence['outputs.GetServiceTemplateContainerLivenessProbeTcpSocketResult']:
4901
+ return pulumi.get(self, "tcp_sockets")
4902
+
4721
4903
  @property
4722
4904
  @pulumi.getter(name="timeoutSeconds")
4723
4905
  def timeout_seconds(self) -> int:
@@ -4794,6 +4976,18 @@ class GetServiceTemplateContainerLivenessProbeHttpGetHttpHeaderResult(dict):
4794
4976
  return pulumi.get(self, "value")
4795
4977
 
4796
4978
 
4979
+ @pulumi.output_type
4980
+ class GetServiceTemplateContainerLivenessProbeTcpSocketResult(dict):
4981
+ def __init__(__self__, *,
4982
+ port: int):
4983
+ pulumi.set(__self__, "port", port)
4984
+
4985
+ @property
4986
+ @pulumi.getter
4987
+ def port(self) -> int:
4988
+ return pulumi.get(self, "port")
4989
+
4990
+
4797
4991
  @pulumi.output_type
4798
4992
  class GetServiceTemplateContainerPortResult(dict):
4799
4993
  def __init__(__self__, *,
@@ -5030,14 +5224,18 @@ class GetServiceTemplateVolumeResult(dict):
5030
5224
  def __init__(__self__, *,
5031
5225
  cloud_sql_instances: Sequence['outputs.GetServiceTemplateVolumeCloudSqlInstanceResult'],
5032
5226
  empty_dirs: Sequence['outputs.GetServiceTemplateVolumeEmptyDirResult'],
5227
+ gcs: Sequence['outputs.GetServiceTemplateVolumeGcResult'],
5033
5228
  name: str,
5229
+ nfs: Sequence['outputs.GetServiceTemplateVolumeNfResult'],
5034
5230
  secrets: Sequence['outputs.GetServiceTemplateVolumeSecretResult']):
5035
5231
  """
5036
5232
  :param str name: The name of the Cloud Run v2 Service.
5037
5233
  """
5038
5234
  pulumi.set(__self__, "cloud_sql_instances", cloud_sql_instances)
5039
5235
  pulumi.set(__self__, "empty_dirs", empty_dirs)
5236
+ pulumi.set(__self__, "gcs", gcs)
5040
5237
  pulumi.set(__self__, "name", name)
5238
+ pulumi.set(__self__, "nfs", nfs)
5041
5239
  pulumi.set(__self__, "secrets", secrets)
5042
5240
 
5043
5241
  @property
@@ -5050,6 +5248,11 @@ class GetServiceTemplateVolumeResult(dict):
5050
5248
  def empty_dirs(self) -> Sequence['outputs.GetServiceTemplateVolumeEmptyDirResult']:
5051
5249
  return pulumi.get(self, "empty_dirs")
5052
5250
 
5251
+ @property
5252
+ @pulumi.getter
5253
+ def gcs(self) -> Sequence['outputs.GetServiceTemplateVolumeGcResult']:
5254
+ return pulumi.get(self, "gcs")
5255
+
5053
5256
  @property
5054
5257
  @pulumi.getter
5055
5258
  def name(self) -> str:
@@ -5058,6 +5261,11 @@ class GetServiceTemplateVolumeResult(dict):
5058
5261
  """
5059
5262
  return pulumi.get(self, "name")
5060
5263
 
5264
+ @property
5265
+ @pulumi.getter
5266
+ def nfs(self) -> Sequence['outputs.GetServiceTemplateVolumeNfResult']:
5267
+ return pulumi.get(self, "nfs")
5268
+
5061
5269
  @property
5062
5270
  @pulumi.getter
5063
5271
  def secrets(self) -> Sequence['outputs.GetServiceTemplateVolumeSecretResult']:
@@ -5095,6 +5303,51 @@ class GetServiceTemplateVolumeEmptyDirResult(dict):
5095
5303
  return pulumi.get(self, "size_limit")
5096
5304
 
5097
5305
 
5306
+ @pulumi.output_type
5307
+ class GetServiceTemplateVolumeGcResult(dict):
5308
+ def __init__(__self__, *,
5309
+ bucket: str,
5310
+ read_only: bool):
5311
+ pulumi.set(__self__, "bucket", bucket)
5312
+ pulumi.set(__self__, "read_only", read_only)
5313
+
5314
+ @property
5315
+ @pulumi.getter
5316
+ def bucket(self) -> str:
5317
+ return pulumi.get(self, "bucket")
5318
+
5319
+ @property
5320
+ @pulumi.getter(name="readOnly")
5321
+ def read_only(self) -> bool:
5322
+ return pulumi.get(self, "read_only")
5323
+
5324
+
5325
+ @pulumi.output_type
5326
+ class GetServiceTemplateVolumeNfResult(dict):
5327
+ def __init__(__self__, *,
5328
+ path: str,
5329
+ read_only: bool,
5330
+ server: str):
5331
+ pulumi.set(__self__, "path", path)
5332
+ pulumi.set(__self__, "read_only", read_only)
5333
+ pulumi.set(__self__, "server", server)
5334
+
5335
+ @property
5336
+ @pulumi.getter
5337
+ def path(self) -> str:
5338
+ return pulumi.get(self, "path")
5339
+
5340
+ @property
5341
+ @pulumi.getter(name="readOnly")
5342
+ def read_only(self) -> bool:
5343
+ return pulumi.get(self, "read_only")
5344
+
5345
+ @property
5346
+ @pulumi.getter
5347
+ def server(self) -> str:
5348
+ return pulumi.get(self, "server")
5349
+
5350
+
5098
5351
  @pulumi.output_type
5099
5352
  class GetServiceTemplateVolumeSecretResult(dict):
5100
5353
  def __init__(__self__, *,
@@ -1194,6 +1194,80 @@ class Service(pulumi.CustomResource):
1194
1194
  ),
1195
1195
  opts=pulumi.ResourceOptions(provider=google_beta))
1196
1196
  ```
1197
+ ### Cloudrunv2 Service Mount Gcs
1198
+
1199
+ ```python
1200
+ import pulumi
1201
+ import pulumi_gcp as gcp
1202
+
1203
+ default_bucket = gcp.storage.Bucket("defaultBucket", location="US")
1204
+ default_service = gcp.cloudrunv2.Service("defaultService",
1205
+ location="us-central1",
1206
+ launch_stage="BETA",
1207
+ template=gcp.cloudrunv2.ServiceTemplateArgs(
1208
+ execution_environment="EXECUTION_ENVIRONMENT_GEN2",
1209
+ containers=[gcp.cloudrunv2.ServiceTemplateContainerArgs(
1210
+ image="us-docker.pkg.dev/cloudrun/container/hello",
1211
+ volume_mounts=[gcp.cloudrunv2.ServiceTemplateContainerVolumeMountArgs(
1212
+ name="bucket",
1213
+ mount_path="/var/www",
1214
+ )],
1215
+ )],
1216
+ volumes=[gcp.cloudrunv2.ServiceTemplateVolumeArgs(
1217
+ name="bucket",
1218
+ gcs=gcp.cloudrunv2.ServiceTemplateVolumeGcsArgs(
1219
+ bucket=default_bucket.name,
1220
+ read_only=False,
1221
+ ),
1222
+ )],
1223
+ ))
1224
+ ```
1225
+ ### Cloudrunv2 Service Mount Nfs
1226
+
1227
+ ```python
1228
+ import pulumi
1229
+ import pulumi_gcp as gcp
1230
+
1231
+ default_instance = gcp.filestore.Instance("defaultInstance",
1232
+ location="us-central1-b",
1233
+ tier="BASIC_HDD",
1234
+ file_shares=gcp.filestore.InstanceFileSharesArgs(
1235
+ capacity_gb=1024,
1236
+ name="share1",
1237
+ ),
1238
+ networks=[gcp.filestore.InstanceNetworkArgs(
1239
+ network="default",
1240
+ modes=["MODE_IPV4"],
1241
+ )])
1242
+ default_service = gcp.cloudrunv2.Service("defaultService",
1243
+ location="us-central1",
1244
+ ingress="INGRESS_TRAFFIC_ALL",
1245
+ launch_stage="BETA",
1246
+ template=gcp.cloudrunv2.ServiceTemplateArgs(
1247
+ execution_environment="EXECUTION_ENVIRONMENT_GEN2",
1248
+ containers=[gcp.cloudrunv2.ServiceTemplateContainerArgs(
1249
+ image="us-docker.pkg.dev/cloudrun/container/hello:latest",
1250
+ volume_mounts=[gcp.cloudrunv2.ServiceTemplateContainerVolumeMountArgs(
1251
+ name="nfs",
1252
+ mount_path="/mnt/nfs/filestore",
1253
+ )],
1254
+ )],
1255
+ vpc_access=gcp.cloudrunv2.ServiceTemplateVpcAccessArgs(
1256
+ network_interfaces=[gcp.cloudrunv2.ServiceTemplateVpcAccessNetworkInterfaceArgs(
1257
+ network="default",
1258
+ subnetwork="default",
1259
+ )],
1260
+ ),
1261
+ volumes=[gcp.cloudrunv2.ServiceTemplateVolumeArgs(
1262
+ name="nfs",
1263
+ nfs=gcp.cloudrunv2.ServiceTemplateVolumeNfsArgs(
1264
+ server=default_instance.networks[0].ip_addresses[0],
1265
+ path="/share1",
1266
+ read_only=False,
1267
+ ),
1268
+ )],
1269
+ ))
1270
+ ```
1197
1271
 
1198
1272
  ## Import
1199
1273
 
@@ -1546,6 +1620,80 @@ class Service(pulumi.CustomResource):
1546
1620
  ),
1547
1621
  opts=pulumi.ResourceOptions(provider=google_beta))
1548
1622
  ```
1623
+ ### Cloudrunv2 Service Mount Gcs
1624
+
1625
+ ```python
1626
+ import pulumi
1627
+ import pulumi_gcp as gcp
1628
+
1629
+ default_bucket = gcp.storage.Bucket("defaultBucket", location="US")
1630
+ default_service = gcp.cloudrunv2.Service("defaultService",
1631
+ location="us-central1",
1632
+ launch_stage="BETA",
1633
+ template=gcp.cloudrunv2.ServiceTemplateArgs(
1634
+ execution_environment="EXECUTION_ENVIRONMENT_GEN2",
1635
+ containers=[gcp.cloudrunv2.ServiceTemplateContainerArgs(
1636
+ image="us-docker.pkg.dev/cloudrun/container/hello",
1637
+ volume_mounts=[gcp.cloudrunv2.ServiceTemplateContainerVolumeMountArgs(
1638
+ name="bucket",
1639
+ mount_path="/var/www",
1640
+ )],
1641
+ )],
1642
+ volumes=[gcp.cloudrunv2.ServiceTemplateVolumeArgs(
1643
+ name="bucket",
1644
+ gcs=gcp.cloudrunv2.ServiceTemplateVolumeGcsArgs(
1645
+ bucket=default_bucket.name,
1646
+ read_only=False,
1647
+ ),
1648
+ )],
1649
+ ))
1650
+ ```
1651
+ ### Cloudrunv2 Service Mount Nfs
1652
+
1653
+ ```python
1654
+ import pulumi
1655
+ import pulumi_gcp as gcp
1656
+
1657
+ default_instance = gcp.filestore.Instance("defaultInstance",
1658
+ location="us-central1-b",
1659
+ tier="BASIC_HDD",
1660
+ file_shares=gcp.filestore.InstanceFileSharesArgs(
1661
+ capacity_gb=1024,
1662
+ name="share1",
1663
+ ),
1664
+ networks=[gcp.filestore.InstanceNetworkArgs(
1665
+ network="default",
1666
+ modes=["MODE_IPV4"],
1667
+ )])
1668
+ default_service = gcp.cloudrunv2.Service("defaultService",
1669
+ location="us-central1",
1670
+ ingress="INGRESS_TRAFFIC_ALL",
1671
+ launch_stage="BETA",
1672
+ template=gcp.cloudrunv2.ServiceTemplateArgs(
1673
+ execution_environment="EXECUTION_ENVIRONMENT_GEN2",
1674
+ containers=[gcp.cloudrunv2.ServiceTemplateContainerArgs(
1675
+ image="us-docker.pkg.dev/cloudrun/container/hello:latest",
1676
+ volume_mounts=[gcp.cloudrunv2.ServiceTemplateContainerVolumeMountArgs(
1677
+ name="nfs",
1678
+ mount_path="/mnt/nfs/filestore",
1679
+ )],
1680
+ )],
1681
+ vpc_access=gcp.cloudrunv2.ServiceTemplateVpcAccessArgs(
1682
+ network_interfaces=[gcp.cloudrunv2.ServiceTemplateVpcAccessNetworkInterfaceArgs(
1683
+ network="default",
1684
+ subnetwork="default",
1685
+ )],
1686
+ ),
1687
+ volumes=[gcp.cloudrunv2.ServiceTemplateVolumeArgs(
1688
+ name="nfs",
1689
+ nfs=gcp.cloudrunv2.ServiceTemplateVolumeNfsArgs(
1690
+ server=default_instance.networks[0].ip_addresses[0],
1691
+ path="/share1",
1692
+ read_only=False,
1693
+ ),
1694
+ )],
1695
+ ))
1696
+ ```
1549
1697
 
1550
1698
  ## Import
1551
1699
 
@@ -41,6 +41,8 @@ class EnvironmentConfigArgs:
41
41
  airflow_uri: Optional[pulumi.Input[str]] = None,
42
42
  dag_gcs_prefix: Optional[pulumi.Input[str]] = None,
43
43
  database_config: Optional[pulumi.Input['EnvironmentConfigDatabaseConfigArgs']] = None,
44
+ enable_private_builds_only: Optional[pulumi.Input[bool]] = None,
45
+ enable_private_environment: Optional[pulumi.Input[bool]] = None,
44
46
  encryption_config: Optional[pulumi.Input['EnvironmentConfigEncryptionConfigArgs']] = None,
45
47
  environment_size: Optional[pulumi.Input[str]] = None,
46
48
  gke_cluster: Optional[pulumi.Input[str]] = None,
@@ -61,6 +63,10 @@ class EnvironmentConfigArgs:
61
63
  pulumi.set(__self__, "dag_gcs_prefix", dag_gcs_prefix)
62
64
  if database_config is not None:
63
65
  pulumi.set(__self__, "database_config", database_config)
66
+ if enable_private_builds_only is not None:
67
+ pulumi.set(__self__, "enable_private_builds_only", enable_private_builds_only)
68
+ if enable_private_environment is not None:
69
+ pulumi.set(__self__, "enable_private_environment", enable_private_environment)
64
70
  if encryption_config is not None:
65
71
  pulumi.set(__self__, "encryption_config", encryption_config)
66
72
  if environment_size is not None:
@@ -117,6 +123,24 @@ class EnvironmentConfigArgs:
117
123
  def database_config(self, value: Optional[pulumi.Input['EnvironmentConfigDatabaseConfigArgs']]):
118
124
  pulumi.set(self, "database_config", value)
119
125
 
126
+ @property
127
+ @pulumi.getter(name="enablePrivateBuildsOnly")
128
+ def enable_private_builds_only(self) -> Optional[pulumi.Input[bool]]:
129
+ return pulumi.get(self, "enable_private_builds_only")
130
+
131
+ @enable_private_builds_only.setter
132
+ def enable_private_builds_only(self, value: Optional[pulumi.Input[bool]]):
133
+ pulumi.set(self, "enable_private_builds_only", value)
134
+
135
+ @property
136
+ @pulumi.getter(name="enablePrivateEnvironment")
137
+ def enable_private_environment(self) -> Optional[pulumi.Input[bool]]:
138
+ return pulumi.get(self, "enable_private_environment")
139
+
140
+ @enable_private_environment.setter
141
+ def enable_private_environment(self, value: Optional[pulumi.Input[bool]]):
142
+ pulumi.set(self, "enable_private_environment", value)
143
+
120
144
  @property
121
145
  @pulumi.getter(name="encryptionConfig")
122
146
  def encryption_config(self) -> Optional[pulumi.Input['EnvironmentConfigEncryptionConfigArgs']]: