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.
- pulumi_gcp/__init__.py +8 -0
- pulumi_gcp/activedirectory/domain.py +14 -14
- pulumi_gcp/activedirectory/domain_trust.py +14 -14
- pulumi_gcp/artifactregistry/__init__.py +1 -0
- pulumi_gcp/artifactregistry/_inputs.py +4 -4
- pulumi_gcp/artifactregistry/get_docker_image.py +244 -0
- pulumi_gcp/artifactregistry/outputs.py +6 -6
- pulumi_gcp/artifactregistry/repository.py +8 -8
- pulumi_gcp/bigquery/dataset.py +75 -0
- pulumi_gcp/bigquery/get_dataset.py +11 -1
- pulumi_gcp/billing/_inputs.py +22 -0
- pulumi_gcp/billing/budget.py +50 -0
- pulumi_gcp/billing/outputs.py +20 -0
- pulumi_gcp/cloudrunv2/get_job.py +21 -1
- pulumi_gcp/cloudrunv2/job.py +157 -13
- pulumi_gcp/compute/_inputs.py +83 -0
- pulumi_gcp/compute/outputs.py +166 -1
- pulumi_gcp/dataproc/_inputs.py +100 -0
- pulumi_gcp/dataproc/metastore_service.py +172 -0
- pulumi_gcp/dataproc/outputs.py +192 -1
- pulumi_gcp/gkehub/_inputs.py +2 -2
- pulumi_gcp/gkehub/outputs.py +2 -2
- pulumi_gcp/pubsub/_inputs.py +40 -0
- pulumi_gcp/pubsub/outputs.py +66 -0
- pulumi_gcp/pubsub/subscription.py +166 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/get_instance.py +11 -1
- pulumi_gcp/redis/instance.py +47 -0
- pulumi_gcp/servicenetworking/__init__.py +1 -0
- pulumi_gcp/servicenetworking/vpc_service_controls.py +511 -0
- pulumi_gcp/sql/user.py +21 -7
- pulumi_gcp/vpcaccess/connector.py +2 -8
- {pulumi_gcp-7.29.0a1719364094.dist-info → pulumi_gcp-7.29.0a1719416802.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.29.0a1719364094.dist-info → pulumi_gcp-7.29.0a1719416802.dist-info}/RECORD +36 -34
- {pulumi_gcp-7.29.0a1719364094.dist-info → pulumi_gcp-7.29.0a1719416802.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.29.0a1719364094.dist-info → pulumi_gcp-7.29.0a1719416802.dist-info}/top_level.txt +0 -0
pulumi_gcp/bigquery/dataset.py
CHANGED
@@ -31,6 +31,7 @@ class DatasetArgs:
|
|
31
31
|
location: Optional[pulumi.Input[str]] = None,
|
32
32
|
max_time_travel_hours: Optional[pulumi.Input[str]] = None,
|
33
33
|
project: Optional[pulumi.Input[str]] = None,
|
34
|
+
resource_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
34
35
|
storage_billing_model: Optional[pulumi.Input[str]] = None):
|
35
36
|
"""
|
36
37
|
The set of arguments for constructing a Dataset resource.
|
@@ -109,6 +110,11 @@ class DatasetArgs:
|
|
109
110
|
:param pulumi.Input[str] max_time_travel_hours: Defines the time travel window in hours. The value can be from 48 to 168 hours (2 to 7 days).
|
110
111
|
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
111
112
|
If it is not provided, the provider project is used.
|
113
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] resource_tags: The tags attached to this table. Tag keys are globally unique. Tag key is expected to be
|
114
|
+
in the namespaced format, for example "123456789012/environment" where 123456789012 is the
|
115
|
+
ID of the parent organization or project resource for this tag key. Tag value is expected
|
116
|
+
to be the short name, for example "Production". See [Tag definitions](https://www.terraform.io/iam/docs/tags-access-control#definitions)
|
117
|
+
for more details.
|
112
118
|
:param pulumi.Input[str] storage_billing_model: Specifies the storage billing model for the dataset.
|
113
119
|
Set this flag value to LOGICAL to use logical bytes for storage billing,
|
114
120
|
or to PHYSICAL to use physical bytes instead.
|
@@ -143,6 +149,8 @@ class DatasetArgs:
|
|
143
149
|
pulumi.set(__self__, "max_time_travel_hours", max_time_travel_hours)
|
144
150
|
if project is not None:
|
145
151
|
pulumi.set(__self__, "project", project)
|
152
|
+
if resource_tags is not None:
|
153
|
+
pulumi.set(__self__, "resource_tags", resource_tags)
|
146
154
|
if storage_billing_model is not None:
|
147
155
|
pulumi.set(__self__, "storage_billing_model", storage_billing_model)
|
148
156
|
|
@@ -386,6 +394,22 @@ class DatasetArgs:
|
|
386
394
|
def project(self, value: Optional[pulumi.Input[str]]):
|
387
395
|
pulumi.set(self, "project", value)
|
388
396
|
|
397
|
+
@property
|
398
|
+
@pulumi.getter(name="resourceTags")
|
399
|
+
def resource_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
400
|
+
"""
|
401
|
+
The tags attached to this table. Tag keys are globally unique. Tag key is expected to be
|
402
|
+
in the namespaced format, for example "123456789012/environment" where 123456789012 is the
|
403
|
+
ID of the parent organization or project resource for this tag key. Tag value is expected
|
404
|
+
to be the short name, for example "Production". See [Tag definitions](https://www.terraform.io/iam/docs/tags-access-control#definitions)
|
405
|
+
for more details.
|
406
|
+
"""
|
407
|
+
return pulumi.get(self, "resource_tags")
|
408
|
+
|
409
|
+
@resource_tags.setter
|
410
|
+
def resource_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
411
|
+
pulumi.set(self, "resource_tags", value)
|
412
|
+
|
389
413
|
@property
|
390
414
|
@pulumi.getter(name="storageBillingModel")
|
391
415
|
def storage_billing_model(self) -> Optional[pulumi.Input[str]]:
|
@@ -425,6 +449,7 @@ class _DatasetState:
|
|
425
449
|
max_time_travel_hours: Optional[pulumi.Input[str]] = None,
|
426
450
|
project: Optional[pulumi.Input[str]] = None,
|
427
451
|
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
452
|
+
resource_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
428
453
|
self_link: Optional[pulumi.Input[str]] = None,
|
429
454
|
storage_billing_model: Optional[pulumi.Input[str]] = None):
|
430
455
|
"""
|
@@ -512,6 +537,11 @@ class _DatasetState:
|
|
512
537
|
If it is not provided, the provider project is used.
|
513
538
|
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
|
514
539
|
and default labels configured on the provider.
|
540
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] resource_tags: The tags attached to this table. Tag keys are globally unique. Tag key is expected to be
|
541
|
+
in the namespaced format, for example "123456789012/environment" where 123456789012 is the
|
542
|
+
ID of the parent organization or project resource for this tag key. Tag value is expected
|
543
|
+
to be the short name, for example "Production". See [Tag definitions](https://www.terraform.io/iam/docs/tags-access-control#definitions)
|
544
|
+
for more details.
|
515
545
|
:param pulumi.Input[str] self_link: The URI of the created resource.
|
516
546
|
:param pulumi.Input[str] storage_billing_model: Specifies the storage billing model for the dataset.
|
517
547
|
Set this flag value to LOGICAL to use logical bytes for storage billing,
|
@@ -558,6 +588,8 @@ class _DatasetState:
|
|
558
588
|
pulumi.set(__self__, "project", project)
|
559
589
|
if pulumi_labels is not None:
|
560
590
|
pulumi.set(__self__, "pulumi_labels", pulumi_labels)
|
591
|
+
if resource_tags is not None:
|
592
|
+
pulumi.set(__self__, "resource_tags", resource_tags)
|
561
593
|
if self_link is not None:
|
562
594
|
pulumi.set(__self__, "self_link", self_link)
|
563
595
|
if storage_billing_model is not None:
|
@@ -866,6 +898,22 @@ class _DatasetState:
|
|
866
898
|
def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
867
899
|
pulumi.set(self, "pulumi_labels", value)
|
868
900
|
|
901
|
+
@property
|
902
|
+
@pulumi.getter(name="resourceTags")
|
903
|
+
def resource_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
904
|
+
"""
|
905
|
+
The tags attached to this table. Tag keys are globally unique. Tag key is expected to be
|
906
|
+
in the namespaced format, for example "123456789012/environment" where 123456789012 is the
|
907
|
+
ID of the parent organization or project resource for this tag key. Tag value is expected
|
908
|
+
to be the short name, for example "Production". See [Tag definitions](https://www.terraform.io/iam/docs/tags-access-control#definitions)
|
909
|
+
for more details.
|
910
|
+
"""
|
911
|
+
return pulumi.get(self, "resource_tags")
|
912
|
+
|
913
|
+
@resource_tags.setter
|
914
|
+
def resource_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
915
|
+
pulumi.set(self, "resource_tags", value)
|
916
|
+
|
869
917
|
@property
|
870
918
|
@pulumi.getter(name="selfLink")
|
871
919
|
def self_link(self) -> Optional[pulumi.Input[str]]:
|
@@ -914,6 +962,7 @@ class Dataset(pulumi.CustomResource):
|
|
914
962
|
location: Optional[pulumi.Input[str]] = None,
|
915
963
|
max_time_travel_hours: Optional[pulumi.Input[str]] = None,
|
916
964
|
project: Optional[pulumi.Input[str]] = None,
|
965
|
+
resource_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
917
966
|
storage_billing_model: Optional[pulumi.Input[str]] = None,
|
918
967
|
__props__=None):
|
919
968
|
"""
|
@@ -1189,6 +1238,11 @@ class Dataset(pulumi.CustomResource):
|
|
1189
1238
|
:param pulumi.Input[str] max_time_travel_hours: Defines the time travel window in hours. The value can be from 48 to 168 hours (2 to 7 days).
|
1190
1239
|
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
1191
1240
|
If it is not provided, the provider project is used.
|
1241
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] resource_tags: The tags attached to this table. Tag keys are globally unique. Tag key is expected to be
|
1242
|
+
in the namespaced format, for example "123456789012/environment" where 123456789012 is the
|
1243
|
+
ID of the parent organization or project resource for this tag key. Tag value is expected
|
1244
|
+
to be the short name, for example "Production". See [Tag definitions](https://www.terraform.io/iam/docs/tags-access-control#definitions)
|
1245
|
+
for more details.
|
1192
1246
|
:param pulumi.Input[str] storage_billing_model: Specifies the storage billing model for the dataset.
|
1193
1247
|
Set this flag value to LOGICAL to use logical bytes for storage billing,
|
1194
1248
|
or to PHYSICAL to use physical bytes instead.
|
@@ -1426,6 +1480,7 @@ class Dataset(pulumi.CustomResource):
|
|
1426
1480
|
location: Optional[pulumi.Input[str]] = None,
|
1427
1481
|
max_time_travel_hours: Optional[pulumi.Input[str]] = None,
|
1428
1482
|
project: Optional[pulumi.Input[str]] = None,
|
1483
|
+
resource_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1429
1484
|
storage_billing_model: Optional[pulumi.Input[str]] = None,
|
1430
1485
|
__props__=None):
|
1431
1486
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
@@ -1453,6 +1508,7 @@ class Dataset(pulumi.CustomResource):
|
|
1453
1508
|
__props__.__dict__["location"] = location
|
1454
1509
|
__props__.__dict__["max_time_travel_hours"] = max_time_travel_hours
|
1455
1510
|
__props__.__dict__["project"] = project
|
1511
|
+
__props__.__dict__["resource_tags"] = resource_tags
|
1456
1512
|
__props__.__dict__["storage_billing_model"] = storage_billing_model
|
1457
1513
|
__props__.__dict__["creation_time"] = None
|
1458
1514
|
__props__.__dict__["effective_labels"] = None
|
@@ -1492,6 +1548,7 @@ class Dataset(pulumi.CustomResource):
|
|
1492
1548
|
max_time_travel_hours: Optional[pulumi.Input[str]] = None,
|
1493
1549
|
project: Optional[pulumi.Input[str]] = None,
|
1494
1550
|
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1551
|
+
resource_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1495
1552
|
self_link: Optional[pulumi.Input[str]] = None,
|
1496
1553
|
storage_billing_model: Optional[pulumi.Input[str]] = None) -> 'Dataset':
|
1497
1554
|
"""
|
@@ -1584,6 +1641,11 @@ class Dataset(pulumi.CustomResource):
|
|
1584
1641
|
If it is not provided, the provider project is used.
|
1585
1642
|
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
|
1586
1643
|
and default labels configured on the provider.
|
1644
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] resource_tags: The tags attached to this table. Tag keys are globally unique. Tag key is expected to be
|
1645
|
+
in the namespaced format, for example "123456789012/environment" where 123456789012 is the
|
1646
|
+
ID of the parent organization or project resource for this tag key. Tag value is expected
|
1647
|
+
to be the short name, for example "Production". See [Tag definitions](https://www.terraform.io/iam/docs/tags-access-control#definitions)
|
1648
|
+
for more details.
|
1587
1649
|
:param pulumi.Input[str] self_link: The URI of the created resource.
|
1588
1650
|
:param pulumi.Input[str] storage_billing_model: Specifies the storage billing model for the dataset.
|
1589
1651
|
Set this flag value to LOGICAL to use logical bytes for storage billing,
|
@@ -1614,6 +1676,7 @@ class Dataset(pulumi.CustomResource):
|
|
1614
1676
|
__props__.__dict__["max_time_travel_hours"] = max_time_travel_hours
|
1615
1677
|
__props__.__dict__["project"] = project
|
1616
1678
|
__props__.__dict__["pulumi_labels"] = pulumi_labels
|
1679
|
+
__props__.__dict__["resource_tags"] = resource_tags
|
1617
1680
|
__props__.__dict__["self_link"] = self_link
|
1618
1681
|
__props__.__dict__["storage_billing_model"] = storage_billing_model
|
1619
1682
|
return Dataset(resource_name, opts=opts, __props__=__props__)
|
@@ -1841,6 +1904,18 @@ class Dataset(pulumi.CustomResource):
|
|
1841
1904
|
"""
|
1842
1905
|
return pulumi.get(self, "pulumi_labels")
|
1843
1906
|
|
1907
|
+
@property
|
1908
|
+
@pulumi.getter(name="resourceTags")
|
1909
|
+
def resource_tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
|
1910
|
+
"""
|
1911
|
+
The tags attached to this table. Tag keys are globally unique. Tag key is expected to be
|
1912
|
+
in the namespaced format, for example "123456789012/environment" where 123456789012 is the
|
1913
|
+
ID of the parent organization or project resource for this tag key. Tag value is expected
|
1914
|
+
to be the short name, for example "Production". See [Tag definitions](https://www.terraform.io/iam/docs/tags-access-control#definitions)
|
1915
|
+
for more details.
|
1916
|
+
"""
|
1917
|
+
return pulumi.get(self, "resource_tags")
|
1918
|
+
|
1844
1919
|
@property
|
1845
1920
|
@pulumi.getter(name="selfLink")
|
1846
1921
|
def self_link(self) -> pulumi.Output[str]:
|
@@ -22,7 +22,7 @@ class GetDatasetResult:
|
|
22
22
|
"""
|
23
23
|
A collection of values returned by getDataset.
|
24
24
|
"""
|
25
|
-
def __init__(__self__, accesses=None, creation_time=None, dataset_id=None, default_collation=None, default_encryption_configurations=None, default_partition_expiration_ms=None, default_table_expiration_ms=None, delete_contents_on_destroy=None, description=None, effective_labels=None, etag=None, external_dataset_references=None, friendly_name=None, id=None, is_case_insensitive=None, labels=None, last_modified_time=None, location=None, max_time_travel_hours=None, project=None, pulumi_labels=None, self_link=None, storage_billing_model=None):
|
25
|
+
def __init__(__self__, accesses=None, creation_time=None, dataset_id=None, default_collation=None, default_encryption_configurations=None, default_partition_expiration_ms=None, default_table_expiration_ms=None, delete_contents_on_destroy=None, description=None, effective_labels=None, etag=None, external_dataset_references=None, friendly_name=None, id=None, is_case_insensitive=None, labels=None, last_modified_time=None, location=None, max_time_travel_hours=None, project=None, pulumi_labels=None, resource_tags=None, self_link=None, storage_billing_model=None):
|
26
26
|
if accesses and not isinstance(accesses, list):
|
27
27
|
raise TypeError("Expected argument 'accesses' to be a list")
|
28
28
|
pulumi.set(__self__, "accesses", accesses)
|
@@ -86,6 +86,9 @@ class GetDatasetResult:
|
|
86
86
|
if pulumi_labels and not isinstance(pulumi_labels, dict):
|
87
87
|
raise TypeError("Expected argument 'pulumi_labels' to be a dict")
|
88
88
|
pulumi.set(__self__, "pulumi_labels", pulumi_labels)
|
89
|
+
if resource_tags and not isinstance(resource_tags, dict):
|
90
|
+
raise TypeError("Expected argument 'resource_tags' to be a dict")
|
91
|
+
pulumi.set(__self__, "resource_tags", resource_tags)
|
89
92
|
if self_link and not isinstance(self_link, str):
|
90
93
|
raise TypeError("Expected argument 'self_link' to be a str")
|
91
94
|
pulumi.set(__self__, "self_link", self_link)
|
@@ -201,6 +204,11 @@ class GetDatasetResult:
|
|
201
204
|
def pulumi_labels(self) -> Mapping[str, str]:
|
202
205
|
return pulumi.get(self, "pulumi_labels")
|
203
206
|
|
207
|
+
@property
|
208
|
+
@pulumi.getter(name="resourceTags")
|
209
|
+
def resource_tags(self) -> Mapping[str, str]:
|
210
|
+
return pulumi.get(self, "resource_tags")
|
211
|
+
|
204
212
|
@property
|
205
213
|
@pulumi.getter(name="selfLink")
|
206
214
|
def self_link(self) -> str:
|
@@ -239,6 +247,7 @@ class AwaitableGetDatasetResult(GetDatasetResult):
|
|
239
247
|
max_time_travel_hours=self.max_time_travel_hours,
|
240
248
|
project=self.project,
|
241
249
|
pulumi_labels=self.pulumi_labels,
|
250
|
+
resource_tags=self.resource_tags,
|
242
251
|
self_link=self.self_link,
|
243
252
|
storage_billing_model=self.storage_billing_model)
|
244
253
|
|
@@ -294,6 +303,7 @@ def get_dataset(dataset_id: Optional[str] = None,
|
|
294
303
|
max_time_travel_hours=pulumi.get(__ret__, 'max_time_travel_hours'),
|
295
304
|
project=pulumi.get(__ret__, 'project'),
|
296
305
|
pulumi_labels=pulumi.get(__ret__, 'pulumi_labels'),
|
306
|
+
resource_tags=pulumi.get(__ret__, 'resource_tags'),
|
297
307
|
self_link=pulumi.get(__ret__, 'self_link'),
|
298
308
|
storage_billing_model=pulumi.get(__ret__, 'storage_billing_model'))
|
299
309
|
|
pulumi_gcp/billing/_inputs.py
CHANGED
@@ -104,6 +104,7 @@ class AccountIamMemberConditionArgs:
|
|
104
104
|
class BudgetAllUpdatesRuleArgs:
|
105
105
|
def __init__(__self__, *,
|
106
106
|
disable_default_iam_recipients: Optional[pulumi.Input[bool]] = None,
|
107
|
+
enable_project_level_recipients: Optional[pulumi.Input[bool]] = None,
|
107
108
|
monitoring_notification_channels: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
108
109
|
pubsub_topic: Optional[pulumi.Input[str]] = None,
|
109
110
|
schema_version: Optional[pulumi.Input[str]] = None):
|
@@ -112,6 +113,10 @@ class BudgetAllUpdatesRuleArgs:
|
|
112
113
|
when a threshold is exceeded. Default recipients are
|
113
114
|
those with Billing Account Administrators and Billing
|
114
115
|
Account Users IAM roles for the target account.
|
116
|
+
:param pulumi.Input[bool] enable_project_level_recipients: When set to true, and when the budget has a single project configured,
|
117
|
+
notifications will be sent to project level recipients of that project.
|
118
|
+
This field will be ignored if the budget has multiple or no project configured.
|
119
|
+
Currently, project level recipients are the users with Owner role on a cloud project.
|
115
120
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] monitoring_notification_channels: The full resource name of a monitoring notification
|
116
121
|
channel in the form
|
117
122
|
projects/{project_id}/notificationChannels/{channel_id}.
|
@@ -126,6 +131,8 @@ class BudgetAllUpdatesRuleArgs:
|
|
126
131
|
"""
|
127
132
|
if disable_default_iam_recipients is not None:
|
128
133
|
pulumi.set(__self__, "disable_default_iam_recipients", disable_default_iam_recipients)
|
134
|
+
if enable_project_level_recipients is not None:
|
135
|
+
pulumi.set(__self__, "enable_project_level_recipients", enable_project_level_recipients)
|
129
136
|
if monitoring_notification_channels is not None:
|
130
137
|
pulumi.set(__self__, "monitoring_notification_channels", monitoring_notification_channels)
|
131
138
|
if pubsub_topic is not None:
|
@@ -148,6 +155,21 @@ class BudgetAllUpdatesRuleArgs:
|
|
148
155
|
def disable_default_iam_recipients(self, value: Optional[pulumi.Input[bool]]):
|
149
156
|
pulumi.set(self, "disable_default_iam_recipients", value)
|
150
157
|
|
158
|
+
@property
|
159
|
+
@pulumi.getter(name="enableProjectLevelRecipients")
|
160
|
+
def enable_project_level_recipients(self) -> Optional[pulumi.Input[bool]]:
|
161
|
+
"""
|
162
|
+
When set to true, and when the budget has a single project configured,
|
163
|
+
notifications will be sent to project level recipients of that project.
|
164
|
+
This field will be ignored if the budget has multiple or no project configured.
|
165
|
+
Currently, project level recipients are the users with Owner role on a cloud project.
|
166
|
+
"""
|
167
|
+
return pulumi.get(self, "enable_project_level_recipients")
|
168
|
+
|
169
|
+
@enable_project_level_recipients.setter
|
170
|
+
def enable_project_level_recipients(self, value: Optional[pulumi.Input[bool]]):
|
171
|
+
pulumi.set(self, "enable_project_level_recipients", value)
|
172
|
+
|
151
173
|
@property
|
152
174
|
@pulumi.getter(name="monitoringNotificationChannels")
|
153
175
|
def monitoring_notification_channels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
pulumi_gcp/billing/budget.py
CHANGED
@@ -435,6 +435,31 @@ class Budget(pulumi.CustomResource):
|
|
435
435
|
disable_default_iam_recipients=True,
|
436
436
|
))
|
437
437
|
```
|
438
|
+
### Billing Budget Notify Project Recipient
|
439
|
+
|
440
|
+
```python
|
441
|
+
import pulumi
|
442
|
+
import pulumi_gcp as gcp
|
443
|
+
|
444
|
+
account = gcp.organizations.get_billing_account(billing_account="000000-0000000-0000000-000000")
|
445
|
+
project = gcp.organizations.get_project()
|
446
|
+
budget = gcp.billing.Budget("budget",
|
447
|
+
billing_account=account.id,
|
448
|
+
display_name="Example Billing Budget",
|
449
|
+
budget_filter=gcp.billing.BudgetBudgetFilterArgs(
|
450
|
+
projects=[f"projects/{project.number}"],
|
451
|
+
),
|
452
|
+
amount=gcp.billing.BudgetAmountArgs(
|
453
|
+
specified_amount=gcp.billing.BudgetAmountSpecifiedAmountArgs(
|
454
|
+
currency_code="USD",
|
455
|
+
units="100000",
|
456
|
+
),
|
457
|
+
),
|
458
|
+
all_updates_rule=gcp.billing.BudgetAllUpdatesRuleArgs(
|
459
|
+
monitoring_notification_channels=[],
|
460
|
+
enable_project_level_recipients=True,
|
461
|
+
))
|
462
|
+
```
|
438
463
|
### Billing Budget Customperiod
|
439
464
|
|
440
465
|
```python
|
@@ -658,6 +683,31 @@ class Budget(pulumi.CustomResource):
|
|
658
683
|
disable_default_iam_recipients=True,
|
659
684
|
))
|
660
685
|
```
|
686
|
+
### Billing Budget Notify Project Recipient
|
687
|
+
|
688
|
+
```python
|
689
|
+
import pulumi
|
690
|
+
import pulumi_gcp as gcp
|
691
|
+
|
692
|
+
account = gcp.organizations.get_billing_account(billing_account="000000-0000000-0000000-000000")
|
693
|
+
project = gcp.organizations.get_project()
|
694
|
+
budget = gcp.billing.Budget("budget",
|
695
|
+
billing_account=account.id,
|
696
|
+
display_name="Example Billing Budget",
|
697
|
+
budget_filter=gcp.billing.BudgetBudgetFilterArgs(
|
698
|
+
projects=[f"projects/{project.number}"],
|
699
|
+
),
|
700
|
+
amount=gcp.billing.BudgetAmountArgs(
|
701
|
+
specified_amount=gcp.billing.BudgetAmountSpecifiedAmountArgs(
|
702
|
+
currency_code="USD",
|
703
|
+
units="100000",
|
704
|
+
),
|
705
|
+
),
|
706
|
+
all_updates_rule=gcp.billing.BudgetAllUpdatesRuleArgs(
|
707
|
+
monitoring_notification_channels=[],
|
708
|
+
enable_project_level_recipients=True,
|
709
|
+
))
|
710
|
+
```
|
661
711
|
### Billing Budget Customperiod
|
662
712
|
|
663
713
|
```python
|
pulumi_gcp/billing/outputs.py
CHANGED
@@ -84,6 +84,8 @@ class BudgetAllUpdatesRule(dict):
|
|
84
84
|
suggest = None
|
85
85
|
if key == "disableDefaultIamRecipients":
|
86
86
|
suggest = "disable_default_iam_recipients"
|
87
|
+
elif key == "enableProjectLevelRecipients":
|
88
|
+
suggest = "enable_project_level_recipients"
|
87
89
|
elif key == "monitoringNotificationChannels":
|
88
90
|
suggest = "monitoring_notification_channels"
|
89
91
|
elif key == "pubsubTopic":
|
@@ -104,6 +106,7 @@ class BudgetAllUpdatesRule(dict):
|
|
104
106
|
|
105
107
|
def __init__(__self__, *,
|
106
108
|
disable_default_iam_recipients: Optional[bool] = None,
|
109
|
+
enable_project_level_recipients: Optional[bool] = None,
|
107
110
|
monitoring_notification_channels: Optional[Sequence[str]] = None,
|
108
111
|
pubsub_topic: Optional[str] = None,
|
109
112
|
schema_version: Optional[str] = None):
|
@@ -112,6 +115,10 @@ class BudgetAllUpdatesRule(dict):
|
|
112
115
|
when a threshold is exceeded. Default recipients are
|
113
116
|
those with Billing Account Administrators and Billing
|
114
117
|
Account Users IAM roles for the target account.
|
118
|
+
:param bool enable_project_level_recipients: When set to true, and when the budget has a single project configured,
|
119
|
+
notifications will be sent to project level recipients of that project.
|
120
|
+
This field will be ignored if the budget has multiple or no project configured.
|
121
|
+
Currently, project level recipients are the users with Owner role on a cloud project.
|
115
122
|
:param Sequence[str] monitoring_notification_channels: The full resource name of a monitoring notification
|
116
123
|
channel in the form
|
117
124
|
projects/{project_id}/notificationChannels/{channel_id}.
|
@@ -126,6 +133,8 @@ class BudgetAllUpdatesRule(dict):
|
|
126
133
|
"""
|
127
134
|
if disable_default_iam_recipients is not None:
|
128
135
|
pulumi.set(__self__, "disable_default_iam_recipients", disable_default_iam_recipients)
|
136
|
+
if enable_project_level_recipients is not None:
|
137
|
+
pulumi.set(__self__, "enable_project_level_recipients", enable_project_level_recipients)
|
129
138
|
if monitoring_notification_channels is not None:
|
130
139
|
pulumi.set(__self__, "monitoring_notification_channels", monitoring_notification_channels)
|
131
140
|
if pubsub_topic is not None:
|
@@ -144,6 +153,17 @@ class BudgetAllUpdatesRule(dict):
|
|
144
153
|
"""
|
145
154
|
return pulumi.get(self, "disable_default_iam_recipients")
|
146
155
|
|
156
|
+
@property
|
157
|
+
@pulumi.getter(name="enableProjectLevelRecipients")
|
158
|
+
def enable_project_level_recipients(self) -> Optional[bool]:
|
159
|
+
"""
|
160
|
+
When set to true, and when the budget has a single project configured,
|
161
|
+
notifications will be sent to project level recipients of that project.
|
162
|
+
This field will be ignored if the budget has multiple or no project configured.
|
163
|
+
Currently, project level recipients are the users with Owner role on a cloud project.
|
164
|
+
"""
|
165
|
+
return pulumi.get(self, "enable_project_level_recipients")
|
166
|
+
|
147
167
|
@property
|
148
168
|
@pulumi.getter(name="monitoringNotificationChannels")
|
149
169
|
def monitoring_notification_channels(self) -> Optional[Sequence[str]]:
|
pulumi_gcp/cloudrunv2/get_job.py
CHANGED
@@ -22,7 +22,7 @@ class GetJobResult:
|
|
22
22
|
"""
|
23
23
|
A collection of values returned by getJob.
|
24
24
|
"""
|
25
|
-
def __init__(__self__, annotations=None, binary_authorizations=None, client=None, client_version=None, conditions=None, create_time=None, creator=None, delete_time=None, effective_annotations=None, effective_labels=None, etag=None, execution_count=None, expire_time=None, generation=None, id=None, labels=None, last_modifier=None, latest_created_executions=None, launch_stage=None, location=None, name=None, observed_generation=None, project=None, pulumi_labels=None, reconciling=None, templates=None, terminal_conditions=None, uid=None, update_time=None):
|
25
|
+
def __init__(__self__, annotations=None, binary_authorizations=None, client=None, client_version=None, conditions=None, create_time=None, creator=None, delete_time=None, effective_annotations=None, effective_labels=None, etag=None, execution_count=None, expire_time=None, generation=None, id=None, labels=None, last_modifier=None, latest_created_executions=None, launch_stage=None, location=None, name=None, observed_generation=None, project=None, pulumi_labels=None, reconciling=None, run_execution_token=None, start_execution_token=None, templates=None, terminal_conditions=None, uid=None, update_time=None):
|
26
26
|
if annotations and not isinstance(annotations, dict):
|
27
27
|
raise TypeError("Expected argument 'annotations' to be a dict")
|
28
28
|
pulumi.set(__self__, "annotations", annotations)
|
@@ -98,6 +98,12 @@ class GetJobResult:
|
|
98
98
|
if reconciling and not isinstance(reconciling, bool):
|
99
99
|
raise TypeError("Expected argument 'reconciling' to be a bool")
|
100
100
|
pulumi.set(__self__, "reconciling", reconciling)
|
101
|
+
if run_execution_token and not isinstance(run_execution_token, str):
|
102
|
+
raise TypeError("Expected argument 'run_execution_token' to be a str")
|
103
|
+
pulumi.set(__self__, "run_execution_token", run_execution_token)
|
104
|
+
if start_execution_token and not isinstance(start_execution_token, str):
|
105
|
+
raise TypeError("Expected argument 'start_execution_token' to be a str")
|
106
|
+
pulumi.set(__self__, "start_execution_token", start_execution_token)
|
101
107
|
if templates and not isinstance(templates, list):
|
102
108
|
raise TypeError("Expected argument 'templates' to be a list")
|
103
109
|
pulumi.set(__self__, "templates", templates)
|
@@ -239,6 +245,16 @@ class GetJobResult:
|
|
239
245
|
def reconciling(self) -> bool:
|
240
246
|
return pulumi.get(self, "reconciling")
|
241
247
|
|
248
|
+
@property
|
249
|
+
@pulumi.getter(name="runExecutionToken")
|
250
|
+
def run_execution_token(self) -> str:
|
251
|
+
return pulumi.get(self, "run_execution_token")
|
252
|
+
|
253
|
+
@property
|
254
|
+
@pulumi.getter(name="startExecutionToken")
|
255
|
+
def start_execution_token(self) -> str:
|
256
|
+
return pulumi.get(self, "start_execution_token")
|
257
|
+
|
242
258
|
@property
|
243
259
|
@pulumi.getter
|
244
260
|
def templates(self) -> Sequence['outputs.GetJobTemplateResult']:
|
@@ -291,6 +307,8 @@ class AwaitableGetJobResult(GetJobResult):
|
|
291
307
|
project=self.project,
|
292
308
|
pulumi_labels=self.pulumi_labels,
|
293
309
|
reconciling=self.reconciling,
|
310
|
+
run_execution_token=self.run_execution_token,
|
311
|
+
start_execution_token=self.start_execution_token,
|
294
312
|
templates=self.templates,
|
295
313
|
terminal_conditions=self.terminal_conditions,
|
296
314
|
uid=self.uid,
|
@@ -357,6 +375,8 @@ def get_job(location: Optional[str] = None,
|
|
357
375
|
project=pulumi.get(__ret__, 'project'),
|
358
376
|
pulumi_labels=pulumi.get(__ret__, 'pulumi_labels'),
|
359
377
|
reconciling=pulumi.get(__ret__, 'reconciling'),
|
378
|
+
run_execution_token=pulumi.get(__ret__, 'run_execution_token'),
|
379
|
+
start_execution_token=pulumi.get(__ret__, 'start_execution_token'),
|
360
380
|
templates=pulumi.get(__ret__, 'templates'),
|
361
381
|
terminal_conditions=pulumi.get(__ret__, 'terminal_conditions'),
|
362
382
|
uid=pulumi.get(__ret__, 'uid'),
|