pulumi-gcp 7.28.0a1718995220__py3-none-any.whl → 7.29.0__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/_utilities.py +35 -0
- pulumi_gcp/activedirectory/domain.py +14 -14
- pulumi_gcp/activedirectory/domain_trust.py +14 -14
- pulumi_gcp/alloydb/backup.py +8 -8
- pulumi_gcp/alloydb/cluster.py +11 -17
- pulumi_gcp/alloydb/instance.py +8 -8
- pulumi_gcp/alloydb/user.py +8 -8
- pulumi_gcp/apigee/addons_config.py +4 -4
- pulumi_gcp/apigee/endpoint_attachment.py +2 -2
- pulumi_gcp/apigee/env_group.py +2 -2
- pulumi_gcp/apigee/environment.py +2 -2
- pulumi_gcp/apigee/instance.py +8 -8
- pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +10 -10
- pulumi_gcp/apigee/nat_address.py +2 -2
- pulumi_gcp/apigee/organization.py +6 -6
- pulumi_gcp/apigee/sync_authorization.py +4 -4
- pulumi_gcp/apigee/target_server.py +10 -10
- pulumi_gcp/apphub/service.py +20 -20
- pulumi_gcp/apphub/service_project_attachment.py +8 -8
- pulumi_gcp/applicationintegration/auth_config.py +2 -2
- pulumi_gcp/applicationintegration/client.py +6 -18
- 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 +10 -10
- pulumi_gcp/backupdisasterrecovery/management_server.py +2 -2
- pulumi_gcp/bigquery/_inputs.py +2 -6
- pulumi_gcp/bigquery/data_transfer_config.py +4 -4
- pulumi_gcp/bigquery/dataset.py +75 -0
- pulumi_gcp/bigquery/get_dataset.py +11 -1
- pulumi_gcp/bigquery/job.py +6 -6
- pulumi_gcp/bigquery/outputs.py +2 -6
- pulumi_gcp/bigtable/_inputs.py +1 -3
- pulumi_gcp/bigtable/instance.py +3 -9
- pulumi_gcp/bigtable/outputs.py +1 -3
- pulumi_gcp/billing/_inputs.py +22 -0
- pulumi_gcp/billing/budget.py +50 -0
- pulumi_gcp/billing/outputs.py +20 -0
- pulumi_gcp/certificateauthority/authority.py +2 -2
- pulumi_gcp/certificateauthority/certificate.py +4 -4
- pulumi_gcp/certificatemanager/_inputs.py +2 -6
- pulumi_gcp/certificatemanager/certificate.py +4 -4
- pulumi_gcp/certificatemanager/certificate_issuance_config.py +2 -2
- pulumi_gcp/certificatemanager/outputs.py +2 -6
- pulumi_gcp/cloudbuild/bitbucket_server_config.py +6 -6
- pulumi_gcp/cloudbuild/trigger.py +2 -2
- pulumi_gcp/cloudbuild/worker_pool.py +6 -6
- pulumi_gcp/cloudbuildv2/connection.py +2 -2
- pulumi_gcp/cloudbuildv2/repository.py +2 -2
- pulumi_gcp/cloudfunctionsv2/function.py +28 -28
- pulumi_gcp/cloudids/endpoint.py +2 -2
- pulumi_gcp/cloudrun/_inputs.py +3 -9
- pulumi_gcp/cloudrun/outputs.py +3 -9
- pulumi_gcp/cloudrunv2/get_job.py +21 -1
- pulumi_gcp/cloudrunv2/job.py +163 -19
- pulumi_gcp/cloudrunv2/service.py +8 -8
- pulumi_gcp/compute/_inputs.py +83 -0
- pulumi_gcp/compute/disk.py +3 -9
- pulumi_gcp/compute/firewall.py +3 -9
- pulumi_gcp/compute/forwarding_rule.py +22 -22
- pulumi_gcp/compute/outputs.py +166 -1
- pulumi_gcp/compute/packet_mirroring.py +2 -2
- pulumi_gcp/compute/project_cloud_armor_tier.py +2 -2
- pulumi_gcp/compute/region_disk.py +3 -9
- pulumi_gcp/compute/region_security_policy_rule.py +2 -2
- pulumi_gcp/compute/route.py +2 -2
- pulumi_gcp/compute/subnetwork.py +2 -6
- pulumi_gcp/compute/target_instance.py +2 -2
- pulumi_gcp/compute/vpn_gateway.py +2 -2
- pulumi_gcp/compute/vpn_tunnel.py +2 -2
- pulumi_gcp/container/_inputs.py +2 -6
- pulumi_gcp/container/outputs.py +2 -6
- pulumi_gcp/databasemigrationservice/connection_profile.py +16 -16
- pulumi_gcp/datacatalog/policy_tag.py +2 -2
- pulumi_gcp/datafusion/instance.py +4 -8
- pulumi_gcp/dataplex/asset.py +2 -2
- pulumi_gcp/dataplex/datascan.py +2 -2
- pulumi_gcp/dataproc/_inputs.py +100 -0
- pulumi_gcp/dataproc/metastore_service.py +172 -0
- pulumi_gcp/dataproc/outputs.py +192 -1
- pulumi_gcp/dataproc/workflow_template.py +3 -9
- pulumi_gcp/datastore/data_store_index.py +2 -2
- pulumi_gcp/datastream/stream.py +6 -6
- pulumi_gcp/diagflow/entity_type.py +2 -2
- pulumi_gcp/diagflow/fulfillment.py +2 -2
- pulumi_gcp/diagflow/intent.py +4 -4
- pulumi_gcp/edgecontainer/node_pool.py +2 -2
- pulumi_gcp/edgecontainer/vpn_connection.py +2 -2
- pulumi_gcp/eventarc/channel.py +2 -2
- pulumi_gcp/eventarc/google_channel_config.py +2 -2
- pulumi_gcp/filestore/instance.py +3 -9
- pulumi_gcp/firebase/app_check_app_attest_config.py +8 -8
- pulumi_gcp/firebase/app_check_debug_token.py +4 -4
- pulumi_gcp/firebase/app_check_device_check_config.py +4 -4
- pulumi_gcp/firebase/app_check_play_integrity_config.py +8 -8
- pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +4 -4
- pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +4 -4
- pulumi_gcp/firebase/app_check_service_config.py +6 -6
- pulumi_gcp/firebase/database_instance.py +2 -2
- pulumi_gcp/firestore/database.py +4 -4
- pulumi_gcp/firestore/document.py +12 -12
- pulumi_gcp/folder/access_approval_settings.py +2 -2
- pulumi_gcp/gkehub/_inputs.py +4 -8
- pulumi_gcp/gkehub/membership.py +3 -9
- pulumi_gcp/gkehub/membership_binding.py +4 -4
- pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
- pulumi_gcp/gkehub/namespace.py +2 -2
- pulumi_gcp/gkehub/outputs.py +4 -8
- pulumi_gcp/gkehub/scope_rbac_role_binding.py +2 -2
- pulumi_gcp/healthcare/fhir_store.py +3 -9
- pulumi_gcp/healthcare/hl7_store.py +3 -9
- pulumi_gcp/integrationconnectors/connection.py +2 -2
- pulumi_gcp/integrationconnectors/managed_zone.py +6 -6
- pulumi_gcp/kms/_inputs.py +1 -3
- pulumi_gcp/kms/autokey_config.py +16 -16
- pulumi_gcp/kms/key_handle.py +22 -22
- pulumi_gcp/kms/outputs.py +1 -3
- pulumi_gcp/logging/folder_settings.py +2 -2
- pulumi_gcp/logging/linked_dataset.py +2 -2
- pulumi_gcp/logging/organization_settings.py +2 -2
- pulumi_gcp/logging/project_bucket_config.py +2 -2
- pulumi_gcp/looker/instance.py +2 -2
- pulumi_gcp/netapp/volume_replication.py +2 -2
- pulumi_gcp/netapp/volume_snapshot.py +2 -2
- pulumi_gcp/networkconnectivity/internal_range.py +2 -2
- pulumi_gcp/networksecurity/gateway_security_policy.py +4 -4
- pulumi_gcp/networksecurity/tls_inspection_policy.py +4 -4
- pulumi_gcp/networkservices/gateway.py +6 -6
- pulumi_gcp/organizations/access_approval_settings.py +2 -2
- pulumi_gcp/parallelstore/instance.py +2 -2
- pulumi_gcp/projects/access_approval_settings.py +5 -11
- pulumi_gcp/pubsub/_inputs.py +40 -0
- pulumi_gcp/pubsub/outputs.py +66 -0
- pulumi_gcp/pubsub/schema.py +2 -2
- pulumi_gcp/pubsub/subscription.py +174 -8
- pulumi_gcp/pubsub/topic.py +2 -2
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/cluster.py +4 -4
- pulumi_gcp/redis/get_instance.py +11 -1
- pulumi_gcp/redis/instance.py +49 -2
- pulumi_gcp/secretmanager/secret.py +2 -2
- pulumi_gcp/securesourcemanager/instance.py +6 -6
- pulumi_gcp/securitycenter/instance_iam_binding.py +2 -2
- pulumi_gcp/securitycenter/instance_iam_member.py +2 -2
- pulumi_gcp/securitycenter/instance_iam_policy.py +2 -2
- pulumi_gcp/servicenetworking/__init__.py +1 -0
- pulumi_gcp/servicenetworking/vpc_service_controls.py +511 -0
- pulumi_gcp/sql/_inputs.py +1 -3
- pulumi_gcp/sql/database_instance.py +2 -2
- pulumi_gcp/sql/outputs.py +1 -3
- pulumi_gcp/sql/user.py +21 -7
- pulumi_gcp/storage/get_project_service_account.py +2 -2
- pulumi_gcp/storage/insights_report_config.py +2 -2
- pulumi_gcp/storage/notification.py +2 -2
- pulumi_gcp/storage/transfer_agent_pool.py +2 -2
- pulumi_gcp/storage/transfer_job.py +4 -4
- pulumi_gcp/tpu/v2_vm.py +4 -4
- pulumi_gcp/vertex/_inputs.py +1 -3
- pulumi_gcp/vertex/ai_endpoint.py +2 -2
- pulumi_gcp/vertex/ai_feature_online_store.py +3 -9
- pulumi_gcp/vertex/ai_index_endpoint.py +2 -2
- pulumi_gcp/vertex/ai_tensorboard.py +2 -2
- pulumi_gcp/vertex/outputs.py +1 -3
- pulumi_gcp/vmwareengine/external_address.py +2 -2
- pulumi_gcp/vmwareengine/network.py +4 -4
- pulumi_gcp/vpcaccess/connector.py +2 -8
- {pulumi_gcp-7.28.0a1718995220.dist-info → pulumi_gcp-7.29.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.28.0a1718995220.dist-info → pulumi_gcp-7.29.0.dist-info}/RECORD +172 -170
- {pulumi_gcp-7.28.0a1718995220.dist-info → pulumi_gcp-7.29.0.dist-info}/WHEEL +1 -1
- {pulumi_gcp-7.28.0a1718995220.dist-info → pulumi_gcp-7.29.0.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/bigquery/job.py
CHANGED
@@ -581,7 +581,7 @@ class Job(pulumi.CustomResource):
|
|
581
581
|
source_format="NEWLINE_DELIMITED_JSON",
|
582
582
|
json_extension="GEOJSON",
|
583
583
|
),
|
584
|
-
opts=pulumi.ResourceOptions(depends_on=[object]))
|
584
|
+
opts = pulumi.ResourceOptions(depends_on=[object]))
|
585
585
|
```
|
586
586
|
### Bigquery Job Load Parquet
|
587
587
|
|
@@ -710,7 +710,7 @@ class Job(pulumi.CustomResource):
|
|
710
710
|
encryption_configuration=gcp.bigquery.TableEncryptionConfigurationArgs(
|
711
711
|
kms_key_name=crypto_key.id,
|
712
712
|
),
|
713
|
-
opts=pulumi.ResourceOptions(depends_on=[encrypt_role]))
|
713
|
+
opts = pulumi.ResourceOptions(depends_on=[encrypt_role]))
|
714
714
|
job = gcp.bigquery.Job("job",
|
715
715
|
job_id="job_copy",
|
716
716
|
copy=gcp.bigquery.JobCopyArgs(
|
@@ -735,7 +735,7 @@ class Job(pulumi.CustomResource):
|
|
735
735
|
kms_key_name=crypto_key.id,
|
736
736
|
),
|
737
737
|
),
|
738
|
-
opts=pulumi.ResourceOptions(depends_on=[encrypt_role]))
|
738
|
+
opts = pulumi.ResourceOptions(depends_on=[encrypt_role]))
|
739
739
|
```
|
740
740
|
### Bigquery Job Extract
|
741
741
|
|
@@ -1009,7 +1009,7 @@ class Job(pulumi.CustomResource):
|
|
1009
1009
|
source_format="NEWLINE_DELIMITED_JSON",
|
1010
1010
|
json_extension="GEOJSON",
|
1011
1011
|
),
|
1012
|
-
opts=pulumi.ResourceOptions(depends_on=[object]))
|
1012
|
+
opts = pulumi.ResourceOptions(depends_on=[object]))
|
1013
1013
|
```
|
1014
1014
|
### Bigquery Job Load Parquet
|
1015
1015
|
|
@@ -1138,7 +1138,7 @@ class Job(pulumi.CustomResource):
|
|
1138
1138
|
encryption_configuration=gcp.bigquery.TableEncryptionConfigurationArgs(
|
1139
1139
|
kms_key_name=crypto_key.id,
|
1140
1140
|
),
|
1141
|
-
opts=pulumi.ResourceOptions(depends_on=[encrypt_role]))
|
1141
|
+
opts = pulumi.ResourceOptions(depends_on=[encrypt_role]))
|
1142
1142
|
job = gcp.bigquery.Job("job",
|
1143
1143
|
job_id="job_copy",
|
1144
1144
|
copy=gcp.bigquery.JobCopyArgs(
|
@@ -1163,7 +1163,7 @@ class Job(pulumi.CustomResource):
|
|
1163
1163
|
kms_key_name=crypto_key.id,
|
1164
1164
|
),
|
1165
1165
|
),
|
1166
|
-
opts=pulumi.ResourceOptions(depends_on=[encrypt_role]))
|
1166
|
+
opts = pulumi.ResourceOptions(depends_on=[encrypt_role]))
|
1167
1167
|
```
|
1168
1168
|
### Bigquery Job Extract
|
1169
1169
|
|
pulumi_gcp/bigquery/outputs.py
CHANGED
@@ -581,6 +581,7 @@ class ConnectionCloudSpanner(dict):
|
|
581
581
|
|
582
582
|
@property
|
583
583
|
@pulumi.getter(name="useServerlessAnalytics")
|
584
|
+
@_utilities.deprecated("""`useServerlessAnalytics` is deprecated and will be removed in a future major release. Use `useDataBoost` instead.""")
|
584
585
|
def use_serverless_analytics(self) -> Optional[bool]:
|
585
586
|
"""
|
586
587
|
(Optional, Deprecated)
|
@@ -588,9 +589,6 @@ class ConnectionCloudSpanner(dict):
|
|
588
589
|
|
589
590
|
> **Warning:** `useServerlessAnalytics` is deprecated and will be removed in a future major release. Use `useDataBoost` instead.
|
590
591
|
"""
|
591
|
-
warnings.warn("""`useServerlessAnalytics` is deprecated and will be removed in a future major release. Use `useDataBoost` instead.""", DeprecationWarning)
|
592
|
-
pulumi.log.warn("""use_serverless_analytics is deprecated: `useServerlessAnalytics` is deprecated and will be removed in a future major release. Use `useDataBoost` instead.""")
|
593
|
-
|
594
592
|
return pulumi.get(self, "use_serverless_analytics")
|
595
593
|
|
596
594
|
|
@@ -5905,6 +5903,7 @@ class TableTimePartitioning(dict):
|
|
5905
5903
|
|
5906
5904
|
@property
|
5907
5905
|
@pulumi.getter(name="requirePartitionFilter")
|
5906
|
+
@_utilities.deprecated("""This field is deprecated and will be removed in a future major release; please use the top level field with the same name instead.""")
|
5908
5907
|
def require_partition_filter(self) -> Optional[bool]:
|
5909
5908
|
"""
|
5910
5909
|
If set to true, queries over this table
|
@@ -5912,9 +5911,6 @@ class TableTimePartitioning(dict):
|
|
5912
5911
|
specified. `require_partition_filter` is deprecated and will be removed in
|
5913
5912
|
a future major release. Use the top level field with the same name instead.
|
5914
5913
|
"""
|
5915
|
-
warnings.warn("""This field is deprecated and will be removed in a future major release; please use the top level field with the same name instead.""", DeprecationWarning)
|
5916
|
-
pulumi.log.warn("""require_partition_filter is deprecated: This field is deprecated and will be removed in a future major release; please use the top level field with the same name instead.""")
|
5917
|
-
|
5918
5914
|
return pulumi.get(self, "require_partition_filter")
|
5919
5915
|
|
5920
5916
|
|
pulumi_gcp/bigtable/_inputs.py
CHANGED
@@ -144,13 +144,11 @@ class GCPolicyMaxAgeArgs:
|
|
144
144
|
|
145
145
|
@property
|
146
146
|
@pulumi.getter
|
147
|
+
@_utilities.deprecated("""Deprecated in favor of duration""")
|
147
148
|
def days(self) -> Optional[pulumi.Input[int]]:
|
148
149
|
"""
|
149
150
|
Number of days before applying GC policy.
|
150
151
|
"""
|
151
|
-
warnings.warn("""Deprecated in favor of duration""", DeprecationWarning)
|
152
|
-
pulumi.log.warn("""days is deprecated: Deprecated in favor of duration""")
|
153
|
-
|
154
152
|
return pulumi.get(self, "days")
|
155
153
|
|
156
154
|
@days.setter
|
pulumi_gcp/bigtable/instance.py
CHANGED
@@ -123,6 +123,7 @@ class InstanceArgs:
|
|
123
123
|
|
124
124
|
@property
|
125
125
|
@pulumi.getter(name="instanceType")
|
126
|
+
@_utilities.deprecated("""It is recommended to leave this field unspecified since the distinction between \"DEVELOPMENT\" and \"PRODUCTION\" instances is going away, and all instances will become \"PRODUCTION\" instances. This means that new and existing \"DEVELOPMENT\" instances will be converted to \"PRODUCTION\" instances. It is recommended for users to use \"PRODUCTION\" instances in any case, since a 1-node \"PRODUCTION\" instance is functionally identical to a \"DEVELOPMENT\" instance, but without the accompanying restrictions.""")
|
126
127
|
def instance_type(self) -> Optional[pulumi.Input[str]]:
|
127
128
|
"""
|
128
129
|
The instance type to create. One of `"DEVELOPMENT"` or `"PRODUCTION"`. Defaults to `"PRODUCTION"`.
|
@@ -131,9 +132,6 @@ class InstanceArgs:
|
|
131
132
|
`"PRODUCTION"` instances. It is recommended for users to use `"PRODUCTION"` instances in any case, since a 1-node `"PRODUCTION"` instance
|
132
133
|
is functionally identical to a `"DEVELOPMENT"` instance, but without the accompanying restrictions.
|
133
134
|
"""
|
134
|
-
warnings.warn("""It is recommended to leave this field unspecified since the distinction between \"DEVELOPMENT\" and \"PRODUCTION\" instances is going away, and all instances will become \"PRODUCTION\" instances. This means that new and existing \"DEVELOPMENT\" instances will be converted to \"PRODUCTION\" instances. It is recommended for users to use \"PRODUCTION\" instances in any case, since a 1-node \"PRODUCTION\" instance is functionally identical to a \"DEVELOPMENT\" instance, but without the accompanying restrictions.""", DeprecationWarning)
|
135
|
-
pulumi.log.warn("""instance_type is deprecated: It is recommended to leave this field unspecified since the distinction between \"DEVELOPMENT\" and \"PRODUCTION\" instances is going away, and all instances will become \"PRODUCTION\" instances. This means that new and existing \"DEVELOPMENT\" instances will be converted to \"PRODUCTION\" instances. It is recommended for users to use \"PRODUCTION\" instances in any case, since a 1-node \"PRODUCTION\" instance is functionally identical to a \"DEVELOPMENT\" instance, but without the accompanying restrictions.""")
|
136
|
-
|
137
135
|
return pulumi.get(self, "instance_type")
|
138
136
|
|
139
137
|
@instance_type.setter
|
@@ -315,6 +313,7 @@ class _InstanceState:
|
|
315
313
|
|
316
314
|
@property
|
317
315
|
@pulumi.getter(name="instanceType")
|
316
|
+
@_utilities.deprecated("""It is recommended to leave this field unspecified since the distinction between \"DEVELOPMENT\" and \"PRODUCTION\" instances is going away, and all instances will become \"PRODUCTION\" instances. This means that new and existing \"DEVELOPMENT\" instances will be converted to \"PRODUCTION\" instances. It is recommended for users to use \"PRODUCTION\" instances in any case, since a 1-node \"PRODUCTION\" instance is functionally identical to a \"DEVELOPMENT\" instance, but without the accompanying restrictions.""")
|
318
317
|
def instance_type(self) -> Optional[pulumi.Input[str]]:
|
319
318
|
"""
|
320
319
|
The instance type to create. One of `"DEVELOPMENT"` or `"PRODUCTION"`. Defaults to `"PRODUCTION"`.
|
@@ -323,9 +322,6 @@ class _InstanceState:
|
|
323
322
|
`"PRODUCTION"` instances. It is recommended for users to use `"PRODUCTION"` instances in any case, since a 1-node `"PRODUCTION"` instance
|
324
323
|
is functionally identical to a `"DEVELOPMENT"` instance, but without the accompanying restrictions.
|
325
324
|
"""
|
326
|
-
warnings.warn("""It is recommended to leave this field unspecified since the distinction between \"DEVELOPMENT\" and \"PRODUCTION\" instances is going away, and all instances will become \"PRODUCTION\" instances. This means that new and existing \"DEVELOPMENT\" instances will be converted to \"PRODUCTION\" instances. It is recommended for users to use \"PRODUCTION\" instances in any case, since a 1-node \"PRODUCTION\" instance is functionally identical to a \"DEVELOPMENT\" instance, but without the accompanying restrictions.""", DeprecationWarning)
|
327
|
-
pulumi.log.warn("""instance_type is deprecated: It is recommended to leave this field unspecified since the distinction between \"DEVELOPMENT\" and \"PRODUCTION\" instances is going away, and all instances will become \"PRODUCTION\" instances. This means that new and existing \"DEVELOPMENT\" instances will be converted to \"PRODUCTION\" instances. It is recommended for users to use \"PRODUCTION\" instances in any case, since a 1-node \"PRODUCTION\" instance is functionally identical to a \"DEVELOPMENT\" instance, but without the accompanying restrictions.""")
|
328
|
-
|
329
325
|
return pulumi.get(self, "instance_type")
|
330
326
|
|
331
327
|
@instance_type.setter
|
@@ -773,6 +769,7 @@ class Instance(pulumi.CustomResource):
|
|
773
769
|
|
774
770
|
@property
|
775
771
|
@pulumi.getter(name="instanceType")
|
772
|
+
@_utilities.deprecated("""It is recommended to leave this field unspecified since the distinction between \"DEVELOPMENT\" and \"PRODUCTION\" instances is going away, and all instances will become \"PRODUCTION\" instances. This means that new and existing \"DEVELOPMENT\" instances will be converted to \"PRODUCTION\" instances. It is recommended for users to use \"PRODUCTION\" instances in any case, since a 1-node \"PRODUCTION\" instance is functionally identical to a \"DEVELOPMENT\" instance, but without the accompanying restrictions.""")
|
776
773
|
def instance_type(self) -> pulumi.Output[Optional[str]]:
|
777
774
|
"""
|
778
775
|
The instance type to create. One of `"DEVELOPMENT"` or `"PRODUCTION"`. Defaults to `"PRODUCTION"`.
|
@@ -781,9 +778,6 @@ class Instance(pulumi.CustomResource):
|
|
781
778
|
`"PRODUCTION"` instances. It is recommended for users to use `"PRODUCTION"` instances in any case, since a 1-node `"PRODUCTION"` instance
|
782
779
|
is functionally identical to a `"DEVELOPMENT"` instance, but without the accompanying restrictions.
|
783
780
|
"""
|
784
|
-
warnings.warn("""It is recommended to leave this field unspecified since the distinction between \"DEVELOPMENT\" and \"PRODUCTION\" instances is going away, and all instances will become \"PRODUCTION\" instances. This means that new and existing \"DEVELOPMENT\" instances will be converted to \"PRODUCTION\" instances. It is recommended for users to use \"PRODUCTION\" instances in any case, since a 1-node \"PRODUCTION\" instance is functionally identical to a \"DEVELOPMENT\" instance, but without the accompanying restrictions.""", DeprecationWarning)
|
785
|
-
pulumi.log.warn("""instance_type is deprecated: It is recommended to leave this field unspecified since the distinction between \"DEVELOPMENT\" and \"PRODUCTION\" instances is going away, and all instances will become \"PRODUCTION\" instances. This means that new and existing \"DEVELOPMENT\" instances will be converted to \"PRODUCTION\" instances. It is recommended for users to use \"PRODUCTION\" instances in any case, since a 1-node \"PRODUCTION\" instance is functionally identical to a \"DEVELOPMENT\" instance, but without the accompanying restrictions.""")
|
786
|
-
|
787
781
|
return pulumi.get(self, "instance_type")
|
788
782
|
|
789
783
|
@property
|
pulumi_gcp/bigtable/outputs.py
CHANGED
@@ -160,13 +160,11 @@ class GCPolicyMaxAge(dict):
|
|
160
160
|
|
161
161
|
@property
|
162
162
|
@pulumi.getter
|
163
|
+
@_utilities.deprecated("""Deprecated in favor of duration""")
|
163
164
|
def days(self) -> Optional[int]:
|
164
165
|
"""
|
165
166
|
Number of days before applying GC policy.
|
166
167
|
"""
|
167
|
-
warnings.warn("""Deprecated in favor of duration""", DeprecationWarning)
|
168
|
-
pulumi.log.warn("""days is deprecated: Deprecated in favor of duration""")
|
169
|
-
|
170
168
|
return pulumi.get(self, "days")
|
171
169
|
|
172
170
|
@property
|
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]]:
|
@@ -974,7 +974,7 @@ class Authority(pulumi.CustomResource):
|
|
974
974
|
),
|
975
975
|
),
|
976
976
|
),
|
977
|
-
opts=pulumi.ResourceOptions(depends_on=[
|
977
|
+
opts = pulumi.ResourceOptions(depends_on=[
|
978
978
|
privateca_sa_keyuser_signerverifier,
|
979
979
|
privateca_sa_keyuser_viewer,
|
980
980
|
]))
|
@@ -1315,7 +1315,7 @@ class Authority(pulumi.CustomResource):
|
|
1315
1315
|
),
|
1316
1316
|
),
|
1317
1317
|
),
|
1318
|
-
opts=pulumi.ResourceOptions(depends_on=[
|
1318
|
+
opts = pulumi.ResourceOptions(depends_on=[
|
1319
1319
|
privateca_sa_keyuser_signerverifier,
|
1320
1320
|
privateca_sa_keyuser_viewer,
|
1321
1321
|
]))
|
@@ -967,7 +967,7 @@ class Certificate(pulumi.CustomResource):
|
|
967
967
|
key=std.filebase64(input="test-fixtures/rsa_public.pem").result,
|
968
968
|
),
|
969
969
|
),
|
970
|
-
opts=pulumi.ResourceOptions(depends_on=[default_authority]))
|
970
|
+
opts = pulumi.ResourceOptions(depends_on=[default_authority]))
|
971
971
|
```
|
972
972
|
### Privateca Certificate Custom Ski
|
973
973
|
|
@@ -1056,7 +1056,7 @@ class Certificate(pulumi.CustomResource):
|
|
1056
1056
|
key=std.filebase64(input="test-fixtures/rsa_public.pem").result,
|
1057
1057
|
),
|
1058
1058
|
),
|
1059
|
-
opts=pulumi.ResourceOptions(depends_on=[default_authority]))
|
1059
|
+
opts = pulumi.ResourceOptions(depends_on=[default_authority]))
|
1060
1060
|
```
|
1061
1061
|
|
1062
1062
|
## Import
|
@@ -1496,7 +1496,7 @@ class Certificate(pulumi.CustomResource):
|
|
1496
1496
|
key=std.filebase64(input="test-fixtures/rsa_public.pem").result,
|
1497
1497
|
),
|
1498
1498
|
),
|
1499
|
-
opts=pulumi.ResourceOptions(depends_on=[default_authority]))
|
1499
|
+
opts = pulumi.ResourceOptions(depends_on=[default_authority]))
|
1500
1500
|
```
|
1501
1501
|
### Privateca Certificate Custom Ski
|
1502
1502
|
|
@@ -1585,7 +1585,7 @@ class Certificate(pulumi.CustomResource):
|
|
1585
1585
|
key=std.filebase64(input="test-fixtures/rsa_public.pem").result,
|
1586
1586
|
),
|
1587
1587
|
),
|
1588
|
-
opts=pulumi.ResourceOptions(depends_on=[default_authority]))
|
1588
|
+
opts = pulumi.ResourceOptions(depends_on=[default_authority]))
|
1589
1589
|
```
|
1590
1590
|
|
1591
1591
|
## Import
|