pulumi-gcp 7.29.0a1719364094__py3-none-any.whl → 7.29.0a1719416802__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 (36) hide show
  1. pulumi_gcp/__init__.py +8 -0
  2. pulumi_gcp/activedirectory/domain.py +14 -14
  3. pulumi_gcp/activedirectory/domain_trust.py +14 -14
  4. pulumi_gcp/artifactregistry/__init__.py +1 -0
  5. pulumi_gcp/artifactregistry/_inputs.py +4 -4
  6. pulumi_gcp/artifactregistry/get_docker_image.py +244 -0
  7. pulumi_gcp/artifactregistry/outputs.py +6 -6
  8. pulumi_gcp/artifactregistry/repository.py +8 -8
  9. pulumi_gcp/bigquery/dataset.py +75 -0
  10. pulumi_gcp/bigquery/get_dataset.py +11 -1
  11. pulumi_gcp/billing/_inputs.py +22 -0
  12. pulumi_gcp/billing/budget.py +50 -0
  13. pulumi_gcp/billing/outputs.py +20 -0
  14. pulumi_gcp/cloudrunv2/get_job.py +21 -1
  15. pulumi_gcp/cloudrunv2/job.py +157 -13
  16. pulumi_gcp/compute/_inputs.py +83 -0
  17. pulumi_gcp/compute/outputs.py +166 -1
  18. pulumi_gcp/dataproc/_inputs.py +100 -0
  19. pulumi_gcp/dataproc/metastore_service.py +172 -0
  20. pulumi_gcp/dataproc/outputs.py +192 -1
  21. pulumi_gcp/gkehub/_inputs.py +2 -2
  22. pulumi_gcp/gkehub/outputs.py +2 -2
  23. pulumi_gcp/pubsub/_inputs.py +40 -0
  24. pulumi_gcp/pubsub/outputs.py +66 -0
  25. pulumi_gcp/pubsub/subscription.py +166 -0
  26. pulumi_gcp/pulumi-plugin.json +1 -1
  27. pulumi_gcp/redis/get_instance.py +11 -1
  28. pulumi_gcp/redis/instance.py +47 -0
  29. pulumi_gcp/servicenetworking/__init__.py +1 -0
  30. pulumi_gcp/servicenetworking/vpc_service_controls.py +511 -0
  31. pulumi_gcp/sql/user.py +21 -7
  32. pulumi_gcp/vpcaccess/connector.py +2 -8
  33. {pulumi_gcp-7.29.0a1719364094.dist-info → pulumi_gcp-7.29.0a1719416802.dist-info}/METADATA +1 -1
  34. {pulumi_gcp-7.29.0a1719364094.dist-info → pulumi_gcp-7.29.0a1719416802.dist-info}/RECORD +36 -34
  35. {pulumi_gcp-7.29.0a1719364094.dist-info → pulumi_gcp-7.29.0a1719416802.dist-info}/WHEEL +0 -0
  36. {pulumi_gcp-7.29.0a1719364094.dist-info → pulumi_gcp-7.29.0a1719416802.dist-info}/top_level.txt +0 -0
@@ -97,6 +97,8 @@ __all__ = [
97
97
  'MetastoreServiceNetworkConfig',
98
98
  'MetastoreServiceNetworkConfigConsumer',
99
99
  'MetastoreServiceScalingConfig',
100
+ 'MetastoreServiceScalingConfigAutoscalingConfig',
101
+ 'MetastoreServiceScalingConfigAutoscalingConfigLimitConfig',
100
102
  'MetastoreServiceScheduledBackup',
101
103
  'MetastoreServiceTelemetryConfig',
102
104
  'WorkflowTemplateJob',
@@ -166,6 +168,8 @@ __all__ = [
166
168
  'GetMetastoreServiceNetworkConfigResult',
167
169
  'GetMetastoreServiceNetworkConfigConsumerResult',
168
170
  'GetMetastoreServiceScalingConfigResult',
171
+ 'GetMetastoreServiceScalingConfigAutoscalingConfigResult',
172
+ 'GetMetastoreServiceScalingConfigAutoscalingConfigLimitConfigResult',
169
173
  'GetMetastoreServiceScheduledBackupResult',
170
174
  'GetMetastoreServiceTelemetryConfigResult',
171
175
  ]
@@ -6099,7 +6103,9 @@ class MetastoreServiceScalingConfig(dict):
6099
6103
  @staticmethod
6100
6104
  def __key_warning(key: str):
6101
6105
  suggest = None
6102
- if key == "instanceSize":
6106
+ if key == "autoscalingConfig":
6107
+ suggest = "autoscaling_config"
6108
+ elif key == "instanceSize":
6103
6109
  suggest = "instance_size"
6104
6110
  elif key == "scalingFactor":
6105
6111
  suggest = "scaling_factor"
@@ -6116,18 +6122,32 @@ class MetastoreServiceScalingConfig(dict):
6116
6122
  return super().get(key, default)
6117
6123
 
6118
6124
  def __init__(__self__, *,
6125
+ autoscaling_config: Optional['outputs.MetastoreServiceScalingConfigAutoscalingConfig'] = None,
6119
6126
  instance_size: Optional[str] = None,
6120
6127
  scaling_factor: Optional[float] = None):
6121
6128
  """
6129
+ :param 'MetastoreServiceScalingConfigAutoscalingConfigArgs' autoscaling_config: Represents the autoscaling configuration of a metastore service.
6130
+ Structure is documented below.
6122
6131
  :param str instance_size: Metastore instance sizes.
6123
6132
  Possible values are: `EXTRA_SMALL`, `SMALL`, `MEDIUM`, `LARGE`, `EXTRA_LARGE`.
6124
6133
  :param float scaling_factor: Scaling factor, in increments of 0.1 for values less than 1.0, and increments of 1.0 for values greater than 1.0.
6125
6134
  """
6135
+ if autoscaling_config is not None:
6136
+ pulumi.set(__self__, "autoscaling_config", autoscaling_config)
6126
6137
  if instance_size is not None:
6127
6138
  pulumi.set(__self__, "instance_size", instance_size)
6128
6139
  if scaling_factor is not None:
6129
6140
  pulumi.set(__self__, "scaling_factor", scaling_factor)
6130
6141
 
6142
+ @property
6143
+ @pulumi.getter(name="autoscalingConfig")
6144
+ def autoscaling_config(self) -> Optional['outputs.MetastoreServiceScalingConfigAutoscalingConfig']:
6145
+ """
6146
+ Represents the autoscaling configuration of a metastore service.
6147
+ Structure is documented below.
6148
+ """
6149
+ return pulumi.get(self, "autoscaling_config")
6150
+
6131
6151
  @property
6132
6152
  @pulumi.getter(name="instanceSize")
6133
6153
  def instance_size(self) -> Optional[str]:
@@ -6146,6 +6166,108 @@ class MetastoreServiceScalingConfig(dict):
6146
6166
  return pulumi.get(self, "scaling_factor")
6147
6167
 
6148
6168
 
6169
+ @pulumi.output_type
6170
+ class MetastoreServiceScalingConfigAutoscalingConfig(dict):
6171
+ @staticmethod
6172
+ def __key_warning(key: str):
6173
+ suggest = None
6174
+ if key == "autoscalingEnabled":
6175
+ suggest = "autoscaling_enabled"
6176
+ elif key == "limitConfig":
6177
+ suggest = "limit_config"
6178
+
6179
+ if suggest:
6180
+ pulumi.log.warn(f"Key '{key}' not found in MetastoreServiceScalingConfigAutoscalingConfig. Access the value via the '{suggest}' property getter instead.")
6181
+
6182
+ def __getitem__(self, key: str) -> Any:
6183
+ MetastoreServiceScalingConfigAutoscalingConfig.__key_warning(key)
6184
+ return super().__getitem__(key)
6185
+
6186
+ def get(self, key: str, default = None) -> Any:
6187
+ MetastoreServiceScalingConfigAutoscalingConfig.__key_warning(key)
6188
+ return super().get(key, default)
6189
+
6190
+ def __init__(__self__, *,
6191
+ autoscaling_enabled: Optional[bool] = None,
6192
+ limit_config: Optional['outputs.MetastoreServiceScalingConfigAutoscalingConfigLimitConfig'] = None):
6193
+ """
6194
+ :param bool autoscaling_enabled: Defines whether autoscaling is enabled. The default value is false.
6195
+ :param 'MetastoreServiceScalingConfigAutoscalingConfigLimitConfigArgs' limit_config: Represents the limit configuration of a metastore service.
6196
+ Structure is documented below.
6197
+ """
6198
+ if autoscaling_enabled is not None:
6199
+ pulumi.set(__self__, "autoscaling_enabled", autoscaling_enabled)
6200
+ if limit_config is not None:
6201
+ pulumi.set(__self__, "limit_config", limit_config)
6202
+
6203
+ @property
6204
+ @pulumi.getter(name="autoscalingEnabled")
6205
+ def autoscaling_enabled(self) -> Optional[bool]:
6206
+ """
6207
+ Defines whether autoscaling is enabled. The default value is false.
6208
+ """
6209
+ return pulumi.get(self, "autoscaling_enabled")
6210
+
6211
+ @property
6212
+ @pulumi.getter(name="limitConfig")
6213
+ def limit_config(self) -> Optional['outputs.MetastoreServiceScalingConfigAutoscalingConfigLimitConfig']:
6214
+ """
6215
+ Represents the limit configuration of a metastore service.
6216
+ Structure is documented below.
6217
+ """
6218
+ return pulumi.get(self, "limit_config")
6219
+
6220
+
6221
+ @pulumi.output_type
6222
+ class MetastoreServiceScalingConfigAutoscalingConfigLimitConfig(dict):
6223
+ @staticmethod
6224
+ def __key_warning(key: str):
6225
+ suggest = None
6226
+ if key == "maxScalingFactor":
6227
+ suggest = "max_scaling_factor"
6228
+ elif key == "minScalingFactor":
6229
+ suggest = "min_scaling_factor"
6230
+
6231
+ if suggest:
6232
+ pulumi.log.warn(f"Key '{key}' not found in MetastoreServiceScalingConfigAutoscalingConfigLimitConfig. Access the value via the '{suggest}' property getter instead.")
6233
+
6234
+ def __getitem__(self, key: str) -> Any:
6235
+ MetastoreServiceScalingConfigAutoscalingConfigLimitConfig.__key_warning(key)
6236
+ return super().__getitem__(key)
6237
+
6238
+ def get(self, key: str, default = None) -> Any:
6239
+ MetastoreServiceScalingConfigAutoscalingConfigLimitConfig.__key_warning(key)
6240
+ return super().get(key, default)
6241
+
6242
+ def __init__(__self__, *,
6243
+ max_scaling_factor: Optional[float] = None,
6244
+ min_scaling_factor: Optional[float] = None):
6245
+ """
6246
+ :param float max_scaling_factor: The maximum scaling factor that the service will autoscale to. The default value is 6.0.
6247
+ :param float min_scaling_factor: The minimum scaling factor that the service will autoscale to. The default value is 0.1.
6248
+ """
6249
+ if max_scaling_factor is not None:
6250
+ pulumi.set(__self__, "max_scaling_factor", max_scaling_factor)
6251
+ if min_scaling_factor is not None:
6252
+ pulumi.set(__self__, "min_scaling_factor", min_scaling_factor)
6253
+
6254
+ @property
6255
+ @pulumi.getter(name="maxScalingFactor")
6256
+ def max_scaling_factor(self) -> Optional[float]:
6257
+ """
6258
+ The maximum scaling factor that the service will autoscale to. The default value is 6.0.
6259
+ """
6260
+ return pulumi.get(self, "max_scaling_factor")
6261
+
6262
+ @property
6263
+ @pulumi.getter(name="minScalingFactor")
6264
+ def min_scaling_factor(self) -> Optional[float]:
6265
+ """
6266
+ The minimum scaling factor that the service will autoscale to. The default value is 0.1.
6267
+ """
6268
+ return pulumi.get(self, "min_scaling_factor")
6269
+
6270
+
6149
6271
  @pulumi.output_type
6150
6272
  class MetastoreServiceScheduledBackup(dict):
6151
6273
  @staticmethod
@@ -10596,15 +10718,26 @@ class GetMetastoreServiceNetworkConfigConsumerResult(dict):
10596
10718
  @pulumi.output_type
10597
10719
  class GetMetastoreServiceScalingConfigResult(dict):
10598
10720
  def __init__(__self__, *,
10721
+ autoscaling_configs: Sequence['outputs.GetMetastoreServiceScalingConfigAutoscalingConfigResult'],
10599
10722
  instance_size: str,
10600
10723
  scaling_factor: float):
10601
10724
  """
10725
+ :param Sequence['GetMetastoreServiceScalingConfigAutoscalingConfigArgs'] autoscaling_configs: Represents the autoscaling configuration of a metastore service.
10602
10726
  :param str instance_size: Metastore instance sizes. Possible values: ["EXTRA_SMALL", "SMALL", "MEDIUM", "LARGE", "EXTRA_LARGE"]
10603
10727
  :param float scaling_factor: Scaling factor, in increments of 0.1 for values less than 1.0, and increments of 1.0 for values greater than 1.0.
10604
10728
  """
10729
+ pulumi.set(__self__, "autoscaling_configs", autoscaling_configs)
10605
10730
  pulumi.set(__self__, "instance_size", instance_size)
10606
10731
  pulumi.set(__self__, "scaling_factor", scaling_factor)
10607
10732
 
10733
+ @property
10734
+ @pulumi.getter(name="autoscalingConfigs")
10735
+ def autoscaling_configs(self) -> Sequence['outputs.GetMetastoreServiceScalingConfigAutoscalingConfigResult']:
10736
+ """
10737
+ Represents the autoscaling configuration of a metastore service.
10738
+ """
10739
+ return pulumi.get(self, "autoscaling_configs")
10740
+
10608
10741
  @property
10609
10742
  @pulumi.getter(name="instanceSize")
10610
10743
  def instance_size(self) -> str:
@@ -10622,6 +10755,64 @@ class GetMetastoreServiceScalingConfigResult(dict):
10622
10755
  return pulumi.get(self, "scaling_factor")
10623
10756
 
10624
10757
 
10758
+ @pulumi.output_type
10759
+ class GetMetastoreServiceScalingConfigAutoscalingConfigResult(dict):
10760
+ def __init__(__self__, *,
10761
+ autoscaling_enabled: bool,
10762
+ limit_configs: Sequence['outputs.GetMetastoreServiceScalingConfigAutoscalingConfigLimitConfigResult']):
10763
+ """
10764
+ :param bool autoscaling_enabled: Defines whether autoscaling is enabled. The default value is false.
10765
+ :param Sequence['GetMetastoreServiceScalingConfigAutoscalingConfigLimitConfigArgs'] limit_configs: Represents the limit configuration of a metastore service.
10766
+ """
10767
+ pulumi.set(__self__, "autoscaling_enabled", autoscaling_enabled)
10768
+ pulumi.set(__self__, "limit_configs", limit_configs)
10769
+
10770
+ @property
10771
+ @pulumi.getter(name="autoscalingEnabled")
10772
+ def autoscaling_enabled(self) -> bool:
10773
+ """
10774
+ Defines whether autoscaling is enabled. The default value is false.
10775
+ """
10776
+ return pulumi.get(self, "autoscaling_enabled")
10777
+
10778
+ @property
10779
+ @pulumi.getter(name="limitConfigs")
10780
+ def limit_configs(self) -> Sequence['outputs.GetMetastoreServiceScalingConfigAutoscalingConfigLimitConfigResult']:
10781
+ """
10782
+ Represents the limit configuration of a metastore service.
10783
+ """
10784
+ return pulumi.get(self, "limit_configs")
10785
+
10786
+
10787
+ @pulumi.output_type
10788
+ class GetMetastoreServiceScalingConfigAutoscalingConfigLimitConfigResult(dict):
10789
+ def __init__(__self__, *,
10790
+ max_scaling_factor: float,
10791
+ min_scaling_factor: float):
10792
+ """
10793
+ :param float max_scaling_factor: The maximum scaling factor that the service will autoscale to. The default value is 6.0.
10794
+ :param float min_scaling_factor: The minimum scaling factor that the service will autoscale to. The default value is 0.1.
10795
+ """
10796
+ pulumi.set(__self__, "max_scaling_factor", max_scaling_factor)
10797
+ pulumi.set(__self__, "min_scaling_factor", min_scaling_factor)
10798
+
10799
+ @property
10800
+ @pulumi.getter(name="maxScalingFactor")
10801
+ def max_scaling_factor(self) -> float:
10802
+ """
10803
+ The maximum scaling factor that the service will autoscale to. The default value is 6.0.
10804
+ """
10805
+ return pulumi.get(self, "max_scaling_factor")
10806
+
10807
+ @property
10808
+ @pulumi.getter(name="minScalingFactor")
10809
+ def min_scaling_factor(self) -> float:
10810
+ """
10811
+ The minimum scaling factor that the service will autoscale to. The default value is 0.1.
10812
+ """
10813
+ return pulumi.get(self, "min_scaling_factor")
10814
+
10815
+
10625
10816
  @pulumi.output_type
10626
10817
  class GetMetastoreServiceScheduledBackupResult(dict):
10627
10818
  def __init__(__self__, *,
@@ -3153,7 +3153,7 @@ class FleetDefaultClusterConfigSecurityPostureConfigArgs:
3153
3153
  vulnerability_mode: Optional[pulumi.Input[str]] = None):
3154
3154
  """
3155
3155
  :param pulumi.Input[str] mode: Sets which mode to use for Security Posture features.
3156
- Possible values are: `DISABLED`, `BASIC`.
3156
+ Possible values are: `DISABLED`, `BASIC`, `ENTERPRISE`.
3157
3157
  :param pulumi.Input[str] vulnerability_mode: Sets which mode to use for vulnerability scanning.
3158
3158
  Possible values are: `VULNERABILITY_DISABLED`, `VULNERABILITY_BASIC`, `VULNERABILITY_ENTERPRISE`.
3159
3159
  """
@@ -3167,7 +3167,7 @@ class FleetDefaultClusterConfigSecurityPostureConfigArgs:
3167
3167
  def mode(self) -> Optional[pulumi.Input[str]]:
3168
3168
  """
3169
3169
  Sets which mode to use for Security Posture features.
3170
- Possible values are: `DISABLED`, `BASIC`.
3170
+ Possible values are: `DISABLED`, `BASIC`, `ENTERPRISE`.
3171
3171
  """
3172
3172
  return pulumi.get(self, "mode")
3173
3173
 
@@ -3147,7 +3147,7 @@ class FleetDefaultClusterConfigSecurityPostureConfig(dict):
3147
3147
  vulnerability_mode: Optional[str] = None):
3148
3148
  """
3149
3149
  :param str mode: Sets which mode to use for Security Posture features.
3150
- Possible values are: `DISABLED`, `BASIC`.
3150
+ Possible values are: `DISABLED`, `BASIC`, `ENTERPRISE`.
3151
3151
  :param str vulnerability_mode: Sets which mode to use for vulnerability scanning.
3152
3152
  Possible values are: `VULNERABILITY_DISABLED`, `VULNERABILITY_BASIC`, `VULNERABILITY_ENTERPRISE`.
3153
3153
  """
@@ -3161,7 +3161,7 @@ class FleetDefaultClusterConfigSecurityPostureConfig(dict):
3161
3161
  def mode(self) -> Optional[str]:
3162
3162
  """
3163
3163
  Sets which mode to use for Security Posture features.
3164
- Possible values are: `DISABLED`, `BASIC`.
3164
+ Possible values are: `DISABLED`, `BASIC`, `ENTERPRISE`.
3165
3165
  """
3166
3166
  return pulumi.get(self, "mode")
3167
3167
 
@@ -291,6 +291,7 @@ class SubscriptionBigqueryConfigArgs:
291
291
  def __init__(__self__, *,
292
292
  table: pulumi.Input[str],
293
293
  drop_unknown_fields: Optional[pulumi.Input[bool]] = None,
294
+ service_account_email: Optional[pulumi.Input[str]] = None,
294
295
  use_table_schema: Optional[pulumi.Input[bool]] = None,
295
296
  use_topic_schema: Optional[pulumi.Input[bool]] = None,
296
297
  write_metadata: Optional[pulumi.Input[bool]] = None):
@@ -299,6 +300,9 @@ class SubscriptionBigqueryConfigArgs:
299
300
  :param pulumi.Input[bool] drop_unknown_fields: When true and use_topic_schema or use_table_schema is true, any fields that are a part of the topic schema or message schema that
300
301
  are not part of the BigQuery table schema are dropped when writing to BigQuery. Otherwise, the schemas must be kept in sync
301
302
  and any messages with extra fields are not written and remain in the subscription's backlog.
303
+ :param pulumi.Input[str] service_account_email: The service account to use to write to BigQuery. If not specified, the Pub/Sub
304
+ [service agent](https://cloud.google.com/iam/docs/service-agents),
305
+ service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
302
306
  :param pulumi.Input[bool] use_table_schema: When true, use the BigQuery table's schema as the columns to write to in BigQuery. Messages
303
307
  must be published in JSON format. Only one of use_topic_schema and use_table_schema can be set.
304
308
  :param pulumi.Input[bool] use_topic_schema: When true, use the topic's schema as the columns to write to in BigQuery, if it exists.
@@ -309,6 +313,8 @@ class SubscriptionBigqueryConfigArgs:
309
313
  pulumi.set(__self__, "table", table)
310
314
  if drop_unknown_fields is not None:
311
315
  pulumi.set(__self__, "drop_unknown_fields", drop_unknown_fields)
316
+ if service_account_email is not None:
317
+ pulumi.set(__self__, "service_account_email", service_account_email)
312
318
  if use_table_schema is not None:
313
319
  pulumi.set(__self__, "use_table_schema", use_table_schema)
314
320
  if use_topic_schema is not None:
@@ -342,6 +348,20 @@ class SubscriptionBigqueryConfigArgs:
342
348
  def drop_unknown_fields(self, value: Optional[pulumi.Input[bool]]):
343
349
  pulumi.set(self, "drop_unknown_fields", value)
344
350
 
351
+ @property
352
+ @pulumi.getter(name="serviceAccountEmail")
353
+ def service_account_email(self) -> Optional[pulumi.Input[str]]:
354
+ """
355
+ The service account to use to write to BigQuery. If not specified, the Pub/Sub
356
+ [service agent](https://cloud.google.com/iam/docs/service-agents),
357
+ service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
358
+ """
359
+ return pulumi.get(self, "service_account_email")
360
+
361
+ @service_account_email.setter
362
+ def service_account_email(self, value: Optional[pulumi.Input[str]]):
363
+ pulumi.set(self, "service_account_email", value)
364
+
345
365
  @property
346
366
  @pulumi.getter(name="useTableSchema")
347
367
  def use_table_schema(self) -> Optional[pulumi.Input[bool]]:
@@ -392,6 +412,7 @@ class SubscriptionCloudStorageConfigArgs:
392
412
  filename_suffix: Optional[pulumi.Input[str]] = None,
393
413
  max_bytes: Optional[pulumi.Input[int]] = None,
394
414
  max_duration: Optional[pulumi.Input[str]] = None,
415
+ service_account_email: Optional[pulumi.Input[str]] = None,
395
416
  state: Optional[pulumi.Input[str]] = None):
396
417
  """
397
418
  :param pulumi.Input[str] bucket: User-provided name for the Cloud Storage bucket. The bucket must be created by the user. The bucket name must be without any prefix like "gs://".
@@ -405,6 +426,9 @@ class SubscriptionCloudStorageConfigArgs:
405
426
  :param pulumi.Input[str] max_duration: The maximum duration that can elapse before a new Cloud Storage file is created. Min 1 minute, max 10 minutes, default 5 minutes.
406
427
  May not exceed the subscription's acknowledgement deadline.
407
428
  A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
429
+ :param pulumi.Input[str] service_account_email: The service account to use to write to Cloud Storage. If not specified, the Pub/Sub
430
+ [service agent](https://cloud.google.com/iam/docs/service-agents),
431
+ service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
408
432
  :param pulumi.Input[str] state: (Output)
409
433
  An output-only field that indicates whether or not the subscription can receive messages.
410
434
  """
@@ -421,6 +445,8 @@ class SubscriptionCloudStorageConfigArgs:
421
445
  pulumi.set(__self__, "max_bytes", max_bytes)
422
446
  if max_duration is not None:
423
447
  pulumi.set(__self__, "max_duration", max_duration)
448
+ if service_account_email is not None:
449
+ pulumi.set(__self__, "service_account_email", service_account_email)
424
450
  if state is not None:
425
451
  pulumi.set(__self__, "state", state)
426
452
 
@@ -512,6 +538,20 @@ class SubscriptionCloudStorageConfigArgs:
512
538
  def max_duration(self, value: Optional[pulumi.Input[str]]):
513
539
  pulumi.set(self, "max_duration", value)
514
540
 
541
+ @property
542
+ @pulumi.getter(name="serviceAccountEmail")
543
+ def service_account_email(self) -> Optional[pulumi.Input[str]]:
544
+ """
545
+ The service account to use to write to Cloud Storage. If not specified, the Pub/Sub
546
+ [service agent](https://cloud.google.com/iam/docs/service-agents),
547
+ service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
548
+ """
549
+ return pulumi.get(self, "service_account_email")
550
+
551
+ @service_account_email.setter
552
+ def service_account_email(self, value: Optional[pulumi.Input[str]]):
553
+ pulumi.set(self, "service_account_email", value)
554
+
515
555
  @property
516
556
  @pulumi.getter
517
557
  def state(self) -> Optional[pulumi.Input[str]]:
@@ -321,6 +321,8 @@ class SubscriptionBigqueryConfig(dict):
321
321
  suggest = None
322
322
  if key == "dropUnknownFields":
323
323
  suggest = "drop_unknown_fields"
324
+ elif key == "serviceAccountEmail":
325
+ suggest = "service_account_email"
324
326
  elif key == "useTableSchema":
325
327
  suggest = "use_table_schema"
326
328
  elif key == "useTopicSchema":
@@ -342,6 +344,7 @@ class SubscriptionBigqueryConfig(dict):
342
344
  def __init__(__self__, *,
343
345
  table: str,
344
346
  drop_unknown_fields: Optional[bool] = None,
347
+ service_account_email: Optional[str] = None,
345
348
  use_table_schema: Optional[bool] = None,
346
349
  use_topic_schema: Optional[bool] = None,
347
350
  write_metadata: Optional[bool] = None):
@@ -350,6 +353,9 @@ class SubscriptionBigqueryConfig(dict):
350
353
  :param bool drop_unknown_fields: When true and use_topic_schema or use_table_schema is true, any fields that are a part of the topic schema or message schema that
351
354
  are not part of the BigQuery table schema are dropped when writing to BigQuery. Otherwise, the schemas must be kept in sync
352
355
  and any messages with extra fields are not written and remain in the subscription's backlog.
356
+ :param str service_account_email: The service account to use to write to BigQuery. If not specified, the Pub/Sub
357
+ [service agent](https://cloud.google.com/iam/docs/service-agents),
358
+ service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
353
359
  :param bool use_table_schema: When true, use the BigQuery table's schema as the columns to write to in BigQuery. Messages
354
360
  must be published in JSON format. Only one of use_topic_schema and use_table_schema can be set.
355
361
  :param bool use_topic_schema: When true, use the topic's schema as the columns to write to in BigQuery, if it exists.
@@ -360,6 +366,8 @@ class SubscriptionBigqueryConfig(dict):
360
366
  pulumi.set(__self__, "table", table)
361
367
  if drop_unknown_fields is not None:
362
368
  pulumi.set(__self__, "drop_unknown_fields", drop_unknown_fields)
369
+ if service_account_email is not None:
370
+ pulumi.set(__self__, "service_account_email", service_account_email)
363
371
  if use_table_schema is not None:
364
372
  pulumi.set(__self__, "use_table_schema", use_table_schema)
365
373
  if use_topic_schema is not None:
@@ -385,6 +393,16 @@ class SubscriptionBigqueryConfig(dict):
385
393
  """
386
394
  return pulumi.get(self, "drop_unknown_fields")
387
395
 
396
+ @property
397
+ @pulumi.getter(name="serviceAccountEmail")
398
+ def service_account_email(self) -> Optional[str]:
399
+ """
400
+ The service account to use to write to BigQuery. If not specified, the Pub/Sub
401
+ [service agent](https://cloud.google.com/iam/docs/service-agents),
402
+ service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
403
+ """
404
+ return pulumi.get(self, "service_account_email")
405
+
388
406
  @property
389
407
  @pulumi.getter(name="useTableSchema")
390
408
  def use_table_schema(self) -> Optional[bool]:
@@ -430,6 +448,8 @@ class SubscriptionCloudStorageConfig(dict):
430
448
  suggest = "max_bytes"
431
449
  elif key == "maxDuration":
432
450
  suggest = "max_duration"
451
+ elif key == "serviceAccountEmail":
452
+ suggest = "service_account_email"
433
453
 
434
454
  if suggest:
435
455
  pulumi.log.warn(f"Key '{key}' not found in SubscriptionCloudStorageConfig. Access the value via the '{suggest}' property getter instead.")
@@ -450,6 +470,7 @@ class SubscriptionCloudStorageConfig(dict):
450
470
  filename_suffix: Optional[str] = None,
451
471
  max_bytes: Optional[int] = None,
452
472
  max_duration: Optional[str] = None,
473
+ service_account_email: Optional[str] = None,
453
474
  state: Optional[str] = None):
454
475
  """
455
476
  :param str bucket: User-provided name for the Cloud Storage bucket. The bucket must be created by the user. The bucket name must be without any prefix like "gs://".
@@ -463,6 +484,9 @@ class SubscriptionCloudStorageConfig(dict):
463
484
  :param str max_duration: The maximum duration that can elapse before a new Cloud Storage file is created. Min 1 minute, max 10 minutes, default 5 minutes.
464
485
  May not exceed the subscription's acknowledgement deadline.
465
486
  A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
487
+ :param str service_account_email: The service account to use to write to Cloud Storage. If not specified, the Pub/Sub
488
+ [service agent](https://cloud.google.com/iam/docs/service-agents),
489
+ service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
466
490
  :param str state: (Output)
467
491
  An output-only field that indicates whether or not the subscription can receive messages.
468
492
  """
@@ -479,6 +503,8 @@ class SubscriptionCloudStorageConfig(dict):
479
503
  pulumi.set(__self__, "max_bytes", max_bytes)
480
504
  if max_duration is not None:
481
505
  pulumi.set(__self__, "max_duration", max_duration)
506
+ if service_account_email is not None:
507
+ pulumi.set(__self__, "service_account_email", service_account_email)
482
508
  if state is not None:
483
509
  pulumi.set(__self__, "state", state)
484
510
 
@@ -542,6 +568,16 @@ class SubscriptionCloudStorageConfig(dict):
542
568
  """
543
569
  return pulumi.get(self, "max_duration")
544
570
 
571
+ @property
572
+ @pulumi.getter(name="serviceAccountEmail")
573
+ def service_account_email(self) -> Optional[str]:
574
+ """
575
+ The service account to use to write to Cloud Storage. If not specified, the Pub/Sub
576
+ [service agent](https://cloud.google.com/iam/docs/service-agents),
577
+ service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
578
+ """
579
+ return pulumi.get(self, "service_account_email")
580
+
545
581
  @property
546
582
  @pulumi.getter
547
583
  def state(self) -> Optional[str]:
@@ -1294,6 +1330,7 @@ class TopicSchemaSettings(dict):
1294
1330
  class GetSubscriptionBigqueryConfigResult(dict):
1295
1331
  def __init__(__self__, *,
1296
1332
  drop_unknown_fields: bool,
1333
+ service_account_email: str,
1297
1334
  table: str,
1298
1335
  use_table_schema: bool,
1299
1336
  use_topic_schema: bool,
@@ -1302,6 +1339,9 @@ class GetSubscriptionBigqueryConfigResult(dict):
1302
1339
  :param bool drop_unknown_fields: When true and use_topic_schema or use_table_schema is true, any fields that are a part of the topic schema or message schema that
1303
1340
  are not part of the BigQuery table schema are dropped when writing to BigQuery. Otherwise, the schemas must be kept in sync
1304
1341
  and any messages with extra fields are not written and remain in the subscription's backlog.
1342
+ :param str service_account_email: The service account to use to write to BigQuery. If not specified, the Pub/Sub
1343
+ [service agent](https://cloud.google.com/iam/docs/service-agents),
1344
+ service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
1305
1345
  :param str table: The name of the table to which to write data, of the form {projectId}:{datasetId}.{tableId}
1306
1346
  :param bool use_table_schema: When true, use the BigQuery table's schema as the columns to write to in BigQuery. Messages
1307
1347
  must be published in JSON format. Only one of use_topic_schema and use_table_schema can be set.
@@ -1311,6 +1351,7 @@ class GetSubscriptionBigqueryConfigResult(dict):
1311
1351
  The subscription name, messageId, and publishTime fields are put in their own columns while all other message properties (other than data) are written to a JSON object in the attributes column.
1312
1352
  """
1313
1353
  pulumi.set(__self__, "drop_unknown_fields", drop_unknown_fields)
1354
+ pulumi.set(__self__, "service_account_email", service_account_email)
1314
1355
  pulumi.set(__self__, "table", table)
1315
1356
  pulumi.set(__self__, "use_table_schema", use_table_schema)
1316
1357
  pulumi.set(__self__, "use_topic_schema", use_topic_schema)
@@ -1326,6 +1367,16 @@ class GetSubscriptionBigqueryConfigResult(dict):
1326
1367
  """
1327
1368
  return pulumi.get(self, "drop_unknown_fields")
1328
1369
 
1370
+ @property
1371
+ @pulumi.getter(name="serviceAccountEmail")
1372
+ def service_account_email(self) -> str:
1373
+ """
1374
+ The service account to use to write to BigQuery. If not specified, the Pub/Sub
1375
+ [service agent](https://cloud.google.com/iam/docs/service-agents),
1376
+ service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
1377
+ """
1378
+ return pulumi.get(self, "service_account_email")
1379
+
1329
1380
  @property
1330
1381
  @pulumi.getter
1331
1382
  def table(self) -> str:
@@ -1372,6 +1423,7 @@ class GetSubscriptionCloudStorageConfigResult(dict):
1372
1423
  filename_suffix: str,
1373
1424
  max_bytes: int,
1374
1425
  max_duration: str,
1426
+ service_account_email: str,
1375
1427
  state: str):
1376
1428
  """
1377
1429
  :param Sequence['GetSubscriptionCloudStorageConfigAvroConfigArgs'] avro_configs: If set, message data will be written to Cloud Storage in Avro format.
@@ -1384,6 +1436,9 @@ class GetSubscriptionCloudStorageConfigResult(dict):
1384
1436
  :param str max_duration: The maximum duration that can elapse before a new Cloud Storage file is created. Min 1 minute, max 10 minutes, default 5 minutes.
1385
1437
  May not exceed the subscription's acknowledgement deadline.
1386
1438
  A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
1439
+ :param str service_account_email: The service account to use to write to Cloud Storage. If not specified, the Pub/Sub
1440
+ [service agent](https://cloud.google.com/iam/docs/service-agents),
1441
+ service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
1387
1442
  :param str state: An output-only field that indicates whether or not the subscription can receive messages.
1388
1443
  """
1389
1444
  pulumi.set(__self__, "avro_configs", avro_configs)
@@ -1393,6 +1448,7 @@ class GetSubscriptionCloudStorageConfigResult(dict):
1393
1448
  pulumi.set(__self__, "filename_suffix", filename_suffix)
1394
1449
  pulumi.set(__self__, "max_bytes", max_bytes)
1395
1450
  pulumi.set(__self__, "max_duration", max_duration)
1451
+ pulumi.set(__self__, "service_account_email", service_account_email)
1396
1452
  pulumi.set(__self__, "state", state)
1397
1453
 
1398
1454
  @property
@@ -1454,6 +1510,16 @@ class GetSubscriptionCloudStorageConfigResult(dict):
1454
1510
  """
1455
1511
  return pulumi.get(self, "max_duration")
1456
1512
 
1513
+ @property
1514
+ @pulumi.getter(name="serviceAccountEmail")
1515
+ def service_account_email(self) -> str:
1516
+ """
1517
+ The service account to use to write to Cloud Storage. If not specified, the Pub/Sub
1518
+ [service agent](https://cloud.google.com/iam/docs/service-agents),
1519
+ service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
1520
+ """
1521
+ return pulumi.get(self, "service_account_email")
1522
+
1457
1523
  @property
1458
1524
  @pulumi.getter
1459
1525
  def state(self) -> str: