pulumi-gcp 8.35.0a1750142992__py3-none-any.whl → 8.35.0a1750229953__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 (52) hide show
  1. pulumi_gcp/__init__.py +8 -0
  2. pulumi_gcp/backupdisasterrecovery/backup_plan.py +100 -7
  3. pulumi_gcp/backupdisasterrecovery/backup_plan_association.py +35 -7
  4. pulumi_gcp/backupdisasterrecovery/get_backup_plan.py +12 -1
  5. pulumi_gcp/bigqueryanalyticshub/listing.py +108 -0
  6. pulumi_gcp/compute/_inputs.py +2028 -175
  7. pulumi_gcp/compute/disk.py +7 -7
  8. pulumi_gcp/compute/outputs.py +1483 -110
  9. pulumi_gcp/compute/region_url_map.py +344 -0
  10. pulumi_gcp/compute/target_http_proxy.py +118 -0
  11. pulumi_gcp/compute/target_https_proxy.py +132 -0
  12. pulumi_gcp/compute/url_map.py +344 -0
  13. pulumi_gcp/compute/vpn_tunnel.py +178 -0
  14. pulumi_gcp/dataplex/__init__.py +1 -0
  15. pulumi_gcp/dataplex/get_data_quality_rules.py +169 -0
  16. pulumi_gcp/dataplex/outputs.py +420 -0
  17. pulumi_gcp/diagflow/__init__.py +1 -0
  18. pulumi_gcp/diagflow/_inputs.py +939 -0
  19. pulumi_gcp/diagflow/cx_agent.py +34 -0
  20. pulumi_gcp/diagflow/cx_tool.py +899 -0
  21. pulumi_gcp/diagflow/outputs.py +780 -0
  22. pulumi_gcp/firestore/field.py +6 -6
  23. pulumi_gcp/gkehub/membership_binding.py +6 -6
  24. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  25. pulumi_gcp/gkehub/namespace.py +4 -4
  26. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  27. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  28. pulumi_gcp/integrationconnectors/_inputs.py +24 -1
  29. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  30. pulumi_gcp/integrationconnectors/outputs.py +15 -1
  31. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  32. pulumi_gcp/managedkafka/connector.py +4 -4
  33. pulumi_gcp/netapp/_inputs.py +23 -0
  34. pulumi_gcp/netapp/outputs.py +16 -0
  35. pulumi_gcp/netapp/storage_pool.py +108 -0
  36. pulumi_gcp/networkconnectivity/_inputs.py +71 -1
  37. pulumi_gcp/networkconnectivity/outputs.py +64 -1
  38. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  39. pulumi_gcp/notebooks/runtime.py +4 -0
  40. pulumi_gcp/orgpolicy/policy.py +2 -2
  41. pulumi_gcp/pubsub/subscription.py +6 -6
  42. pulumi_gcp/pulumi-plugin.json +1 -1
  43. pulumi_gcp/redis/_inputs.py +77 -0
  44. pulumi_gcp/redis/cluster.py +32 -0
  45. pulumi_gcp/redis/outputs.py +63 -0
  46. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  47. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  48. pulumi_gcp/vertex/ai_index_endpoint_deployed_index.py +99 -64
  49. {pulumi_gcp-8.35.0a1750142992.dist-info → pulumi_gcp-8.35.0a1750229953.dist-info}/METADATA +1 -1
  50. {pulumi_gcp-8.35.0a1750142992.dist-info → pulumi_gcp-8.35.0a1750229953.dist-info}/RECORD +52 -50
  51. {pulumi_gcp-8.35.0a1750142992.dist-info → pulumi_gcp-8.35.0a1750229953.dist-info}/WHEEL +0 -0
  52. {pulumi_gcp-8.35.0a1750142992.dist-info → pulumi_gcp-8.35.0a1750229953.dist-info}/top_level.txt +0 -0
@@ -14,6 +14,8 @@ if sys.version_info >= (3, 11):
14
14
  else:
15
15
  from typing_extensions import NotRequired, TypedDict, TypeAlias
16
16
  from .. import _utilities
17
+ from . import outputs
18
+ from ._inputs import *
17
19
 
18
20
  __all__ = ['VPNTunnelArgs', 'VPNTunnel']
19
21
 
@@ -21,6 +23,7 @@ __all__ = ['VPNTunnelArgs', 'VPNTunnel']
21
23
  class VPNTunnelArgs:
22
24
  def __init__(__self__, *,
23
25
  shared_secret: pulumi.Input[builtins.str],
26
+ cipher_suite: Optional[pulumi.Input['VPNTunnelCipherSuiteArgs']] = None,
24
27
  description: Optional[pulumi.Input[builtins.str]] = None,
25
28
  ike_version: Optional[pulumi.Input[builtins.int]] = None,
26
29
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
@@ -45,6 +48,8 @@ class VPNTunnelArgs:
45
48
 
46
49
 
47
50
  - - -
51
+ :param pulumi.Input['VPNTunnelCipherSuiteArgs'] cipher_suite: User specified list of ciphers to use for the phase 1 and phase 2 of the IKE protocol.
52
+ Structure is documented below.
48
53
  :param pulumi.Input[builtins.str] description: An optional description of this resource.
49
54
  :param pulumi.Input[builtins.int] ike_version: IKE protocol version to use when establishing the VPN tunnel with
50
55
  peer VPN gateway.
@@ -86,6 +91,8 @@ class VPNTunnelArgs:
86
91
  :param pulumi.Input[builtins.int] vpn_gateway_interface: The interface ID of the VPN gateway with which this VPN tunnel is associated.
87
92
  """
88
93
  pulumi.set(__self__, "shared_secret", shared_secret)
94
+ if cipher_suite is not None:
95
+ pulumi.set(__self__, "cipher_suite", cipher_suite)
89
96
  if description is not None:
90
97
  pulumi.set(__self__, "description", description)
91
98
  if ike_version is not None:
@@ -136,6 +143,19 @@ class VPNTunnelArgs:
136
143
  def shared_secret(self, value: pulumi.Input[builtins.str]):
137
144
  pulumi.set(self, "shared_secret", value)
138
145
 
146
+ @property
147
+ @pulumi.getter(name="cipherSuite")
148
+ def cipher_suite(self) -> Optional[pulumi.Input['VPNTunnelCipherSuiteArgs']]:
149
+ """
150
+ User specified list of ciphers to use for the phase 1 and phase 2 of the IKE protocol.
151
+ Structure is documented below.
152
+ """
153
+ return pulumi.get(self, "cipher_suite")
154
+
155
+ @cipher_suite.setter
156
+ def cipher_suite(self, value: Optional[pulumi.Input['VPNTunnelCipherSuiteArgs']]):
157
+ pulumi.set(self, "cipher_suite", value)
158
+
139
159
  @property
140
160
  @pulumi.getter
141
161
  def description(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -355,6 +375,7 @@ class VPNTunnelArgs:
355
375
  @pulumi.input_type
356
376
  class _VPNTunnelState:
357
377
  def __init__(__self__, *,
378
+ cipher_suite: Optional[pulumi.Input['VPNTunnelCipherSuiteArgs']] = None,
358
379
  creation_timestamp: Optional[pulumi.Input[builtins.str]] = None,
359
380
  description: Optional[pulumi.Input[builtins.str]] = None,
360
381
  detailed_status: Optional[pulumi.Input[builtins.str]] = None,
@@ -382,6 +403,8 @@ class _VPNTunnelState:
382
403
  vpn_gateway_interface: Optional[pulumi.Input[builtins.int]] = None):
383
404
  """
384
405
  Input properties used for looking up and filtering VPNTunnel resources.
406
+ :param pulumi.Input['VPNTunnelCipherSuiteArgs'] cipher_suite: User specified list of ciphers to use for the phase 1 and phase 2 of the IKE protocol.
407
+ Structure is documented below.
385
408
  :param pulumi.Input[builtins.str] creation_timestamp: Creation timestamp in RFC3339 text format.
386
409
  :param pulumi.Input[builtins.str] description: An optional description of this resource.
387
410
  :param pulumi.Input[builtins.str] detailed_status: Detailed status message for the VPN tunnel.
@@ -438,6 +461,8 @@ class _VPNTunnelState:
438
461
  This field must reference a `compute.HaVpnGateway` resource.
439
462
  :param pulumi.Input[builtins.int] vpn_gateway_interface: The interface ID of the VPN gateway with which this VPN tunnel is associated.
440
463
  """
464
+ if cipher_suite is not None:
465
+ pulumi.set(__self__, "cipher_suite", cipher_suite)
441
466
  if creation_timestamp is not None:
442
467
  pulumi.set(__self__, "creation_timestamp", creation_timestamp)
443
468
  if description is not None:
@@ -489,6 +514,19 @@ class _VPNTunnelState:
489
514
  if vpn_gateway_interface is not None:
490
515
  pulumi.set(__self__, "vpn_gateway_interface", vpn_gateway_interface)
491
516
 
517
+ @property
518
+ @pulumi.getter(name="cipherSuite")
519
+ def cipher_suite(self) -> Optional[pulumi.Input['VPNTunnelCipherSuiteArgs']]:
520
+ """
521
+ User specified list of ciphers to use for the phase 1 and phase 2 of the IKE protocol.
522
+ Structure is documented below.
523
+ """
524
+ return pulumi.get(self, "cipher_suite")
525
+
526
+ @cipher_suite.setter
527
+ def cipher_suite(self, value: Optional[pulumi.Input['VPNTunnelCipherSuiteArgs']]):
528
+ pulumi.set(self, "cipher_suite", value)
529
+
492
530
  @property
493
531
  @pulumi.getter(name="creationTimestamp")
494
532
  def creation_timestamp(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -826,6 +864,7 @@ class VPNTunnel(pulumi.CustomResource):
826
864
  def __init__(__self__,
827
865
  resource_name: str,
828
866
  opts: Optional[pulumi.ResourceOptions] = None,
867
+ cipher_suite: Optional[pulumi.Input[Union['VPNTunnelCipherSuiteArgs', 'VPNTunnelCipherSuiteArgsDict']]] = None,
829
868
  description: Optional[pulumi.Input[builtins.str]] = None,
830
869
  ike_version: Optional[pulumi.Input[builtins.int]] = None,
831
870
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
@@ -904,6 +943,67 @@ class VPNTunnel(pulumi.CustomResource):
904
943
  priority=1000,
905
944
  next_hop_vpn_tunnel=tunnel1.id)
906
945
  ```
946
+ ### Vpn Tunnel Cipher Suite
947
+
948
+ ```python
949
+ import pulumi
950
+ import pulumi_gcp as gcp
951
+
952
+ network1 = gcp.compute.Network("network1", name="network-1")
953
+ target_gateway = gcp.compute.VPNGateway("target_gateway",
954
+ name="vpn-1",
955
+ network=network1.id)
956
+ vpn_static_ip = gcp.compute.Address("vpn_static_ip", name="vpn-static-ip")
957
+ fr_esp = gcp.compute.ForwardingRule("fr_esp",
958
+ name="fr-esp",
959
+ ip_protocol="ESP",
960
+ ip_address=vpn_static_ip.address,
961
+ target=target_gateway.id)
962
+ fr_udp500 = gcp.compute.ForwardingRule("fr_udp500",
963
+ name="fr-udp500",
964
+ ip_protocol="UDP",
965
+ port_range="500",
966
+ ip_address=vpn_static_ip.address,
967
+ target=target_gateway.id)
968
+ fr_udp4500 = gcp.compute.ForwardingRule("fr_udp4500",
969
+ name="fr-udp4500",
970
+ ip_protocol="UDP",
971
+ port_range="4500",
972
+ ip_address=vpn_static_ip.address,
973
+ target=target_gateway.id)
974
+ tunnel1 = gcp.compute.VPNTunnel("tunnel1",
975
+ name="tunnel-cipher",
976
+ peer_ip="15.0.0.120",
977
+ shared_secret="a secret message",
978
+ target_vpn_gateway=target_gateway.id,
979
+ cipher_suite={
980
+ "phase1": {
981
+ "encryptions": ["AES-CBC-256"],
982
+ "integrities": ["HMAC-SHA2-256-128"],
983
+ "prves": ["PRF-HMAC-SHA2-256"],
984
+ "dhs": ["Group-14"],
985
+ },
986
+ "phase2": {
987
+ "encryptions": ["AES-CBC-128"],
988
+ "integrities": ["HMAC-SHA2-256-128"],
989
+ "pfs": ["Group-14"],
990
+ },
991
+ },
992
+ labels={
993
+ "foo": "bar",
994
+ },
995
+ opts = pulumi.ResourceOptions(depends_on=[
996
+ fr_esp,
997
+ fr_udp500,
998
+ fr_udp4500,
999
+ ]))
1000
+ route1 = gcp.compute.Route("route1",
1001
+ name="route1",
1002
+ network=network1.name,
1003
+ dest_range="15.0.0.0/24",
1004
+ priority=1000,
1005
+ next_hop_vpn_tunnel=tunnel1.id)
1006
+ ```
907
1007
 
908
1008
  ## Import
909
1009
 
@@ -937,6 +1037,8 @@ class VPNTunnel(pulumi.CustomResource):
937
1037
 
938
1038
  :param str resource_name: The name of the resource.
939
1039
  :param pulumi.ResourceOptions opts: Options for the resource.
1040
+ :param pulumi.Input[Union['VPNTunnelCipherSuiteArgs', 'VPNTunnelCipherSuiteArgsDict']] cipher_suite: User specified list of ciphers to use for the phase 1 and phase 2 of the IKE protocol.
1041
+ Structure is documented below.
940
1042
  :param pulumi.Input[builtins.str] description: An optional description of this resource.
941
1043
  :param pulumi.Input[builtins.int] ike_version: IKE protocol version to use when establishing the VPN tunnel with
942
1044
  peer VPN gateway.
@@ -1049,6 +1151,67 @@ class VPNTunnel(pulumi.CustomResource):
1049
1151
  priority=1000,
1050
1152
  next_hop_vpn_tunnel=tunnel1.id)
1051
1153
  ```
1154
+ ### Vpn Tunnel Cipher Suite
1155
+
1156
+ ```python
1157
+ import pulumi
1158
+ import pulumi_gcp as gcp
1159
+
1160
+ network1 = gcp.compute.Network("network1", name="network-1")
1161
+ target_gateway = gcp.compute.VPNGateway("target_gateway",
1162
+ name="vpn-1",
1163
+ network=network1.id)
1164
+ vpn_static_ip = gcp.compute.Address("vpn_static_ip", name="vpn-static-ip")
1165
+ fr_esp = gcp.compute.ForwardingRule("fr_esp",
1166
+ name="fr-esp",
1167
+ ip_protocol="ESP",
1168
+ ip_address=vpn_static_ip.address,
1169
+ target=target_gateway.id)
1170
+ fr_udp500 = gcp.compute.ForwardingRule("fr_udp500",
1171
+ name="fr-udp500",
1172
+ ip_protocol="UDP",
1173
+ port_range="500",
1174
+ ip_address=vpn_static_ip.address,
1175
+ target=target_gateway.id)
1176
+ fr_udp4500 = gcp.compute.ForwardingRule("fr_udp4500",
1177
+ name="fr-udp4500",
1178
+ ip_protocol="UDP",
1179
+ port_range="4500",
1180
+ ip_address=vpn_static_ip.address,
1181
+ target=target_gateway.id)
1182
+ tunnel1 = gcp.compute.VPNTunnel("tunnel1",
1183
+ name="tunnel-cipher",
1184
+ peer_ip="15.0.0.120",
1185
+ shared_secret="a secret message",
1186
+ target_vpn_gateway=target_gateway.id,
1187
+ cipher_suite={
1188
+ "phase1": {
1189
+ "encryptions": ["AES-CBC-256"],
1190
+ "integrities": ["HMAC-SHA2-256-128"],
1191
+ "prves": ["PRF-HMAC-SHA2-256"],
1192
+ "dhs": ["Group-14"],
1193
+ },
1194
+ "phase2": {
1195
+ "encryptions": ["AES-CBC-128"],
1196
+ "integrities": ["HMAC-SHA2-256-128"],
1197
+ "pfs": ["Group-14"],
1198
+ },
1199
+ },
1200
+ labels={
1201
+ "foo": "bar",
1202
+ },
1203
+ opts = pulumi.ResourceOptions(depends_on=[
1204
+ fr_esp,
1205
+ fr_udp500,
1206
+ fr_udp4500,
1207
+ ]))
1208
+ route1 = gcp.compute.Route("route1",
1209
+ name="route1",
1210
+ network=network1.name,
1211
+ dest_range="15.0.0.0/24",
1212
+ priority=1000,
1213
+ next_hop_vpn_tunnel=tunnel1.id)
1214
+ ```
1052
1215
 
1053
1216
  ## Import
1054
1217
 
@@ -1095,6 +1258,7 @@ class VPNTunnel(pulumi.CustomResource):
1095
1258
  def _internal_init(__self__,
1096
1259
  resource_name: str,
1097
1260
  opts: Optional[pulumi.ResourceOptions] = None,
1261
+ cipher_suite: Optional[pulumi.Input[Union['VPNTunnelCipherSuiteArgs', 'VPNTunnelCipherSuiteArgsDict']]] = None,
1098
1262
  description: Optional[pulumi.Input[builtins.str]] = None,
1099
1263
  ike_version: Optional[pulumi.Input[builtins.int]] = None,
1100
1264
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
@@ -1121,6 +1285,7 @@ class VPNTunnel(pulumi.CustomResource):
1121
1285
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
1122
1286
  __props__ = VPNTunnelArgs.__new__(VPNTunnelArgs)
1123
1287
 
1288
+ __props__.__dict__["cipher_suite"] = cipher_suite
1124
1289
  __props__.__dict__["description"] = description
1125
1290
  __props__.__dict__["ike_version"] = ike_version
1126
1291
  __props__.__dict__["labels"] = labels
@@ -1160,6 +1325,7 @@ class VPNTunnel(pulumi.CustomResource):
1160
1325
  def get(resource_name: str,
1161
1326
  id: pulumi.Input[str],
1162
1327
  opts: Optional[pulumi.ResourceOptions] = None,
1328
+ cipher_suite: Optional[pulumi.Input[Union['VPNTunnelCipherSuiteArgs', 'VPNTunnelCipherSuiteArgsDict']]] = None,
1163
1329
  creation_timestamp: Optional[pulumi.Input[builtins.str]] = None,
1164
1330
  description: Optional[pulumi.Input[builtins.str]] = None,
1165
1331
  detailed_status: Optional[pulumi.Input[builtins.str]] = None,
@@ -1192,6 +1358,8 @@ class VPNTunnel(pulumi.CustomResource):
1192
1358
  :param str resource_name: The unique name of the resulting resource.
1193
1359
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1194
1360
  :param pulumi.ResourceOptions opts: Options for the resource.
1361
+ :param pulumi.Input[Union['VPNTunnelCipherSuiteArgs', 'VPNTunnelCipherSuiteArgsDict']] cipher_suite: User specified list of ciphers to use for the phase 1 and phase 2 of the IKE protocol.
1362
+ Structure is documented below.
1195
1363
  :param pulumi.Input[builtins.str] creation_timestamp: Creation timestamp in RFC3339 text format.
1196
1364
  :param pulumi.Input[builtins.str] description: An optional description of this resource.
1197
1365
  :param pulumi.Input[builtins.str] detailed_status: Detailed status message for the VPN tunnel.
@@ -1252,6 +1420,7 @@ class VPNTunnel(pulumi.CustomResource):
1252
1420
 
1253
1421
  __props__ = _VPNTunnelState.__new__(_VPNTunnelState)
1254
1422
 
1423
+ __props__.__dict__["cipher_suite"] = cipher_suite
1255
1424
  __props__.__dict__["creation_timestamp"] = creation_timestamp
1256
1425
  __props__.__dict__["description"] = description
1257
1426
  __props__.__dict__["detailed_status"] = detailed_status
@@ -1279,6 +1448,15 @@ class VPNTunnel(pulumi.CustomResource):
1279
1448
  __props__.__dict__["vpn_gateway_interface"] = vpn_gateway_interface
1280
1449
  return VPNTunnel(resource_name, opts=opts, __props__=__props__)
1281
1450
 
1451
+ @property
1452
+ @pulumi.getter(name="cipherSuite")
1453
+ def cipher_suite(self) -> pulumi.Output[Optional['outputs.VPNTunnelCipherSuite']]:
1454
+ """
1455
+ User specified list of ciphers to use for the phase 1 and phase 2 of the IKE protocol.
1456
+ Structure is documented below.
1457
+ """
1458
+ return pulumi.get(self, "cipher_suite")
1459
+
1282
1460
  @property
1283
1461
  @pulumi.getter(name="creationTimestamp")
1284
1462
  def creation_timestamp(self) -> pulumi.Output[builtins.str]:
@@ -29,6 +29,7 @@ from .entry_type_iam_member import *
29
29
  from .entry_type_iam_policy import *
30
30
  from .get_aspect_type_iam_policy import *
31
31
  from .get_asset_iam_policy import *
32
+ from .get_data_quality_rules import *
32
33
  from .get_datascan_iam_policy import *
33
34
  from .get_entry_group_iam_policy import *
34
35
  from .get_entry_type_iam_policy import *
@@ -0,0 +1,169 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins
6
+ import copy
7
+ import warnings
8
+ import sys
9
+ import pulumi
10
+ import pulumi.runtime
11
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
12
+ if sys.version_info >= (3, 11):
13
+ from typing import NotRequired, TypedDict, TypeAlias
14
+ else:
15
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
16
+ from .. import _utilities
17
+ from . import outputs
18
+
19
+ __all__ = [
20
+ 'GetDataQualityRulesResult',
21
+ 'AwaitableGetDataQualityRulesResult',
22
+ 'get_data_quality_rules',
23
+ 'get_data_quality_rules_output',
24
+ ]
25
+
26
+ @pulumi.output_type
27
+ class GetDataQualityRulesResult:
28
+ """
29
+ A collection of values returned by getDataQualityRules.
30
+ """
31
+ def __init__(__self__, data_scan_id=None, id=None, location=None, project=None, rules=None):
32
+ if data_scan_id and not isinstance(data_scan_id, str):
33
+ raise TypeError("Expected argument 'data_scan_id' to be a str")
34
+ pulumi.set(__self__, "data_scan_id", data_scan_id)
35
+ if id and not isinstance(id, str):
36
+ raise TypeError("Expected argument 'id' to be a str")
37
+ pulumi.set(__self__, "id", id)
38
+ if location and not isinstance(location, str):
39
+ raise TypeError("Expected argument 'location' to be a str")
40
+ pulumi.set(__self__, "location", location)
41
+ if project and not isinstance(project, str):
42
+ raise TypeError("Expected argument 'project' to be a str")
43
+ pulumi.set(__self__, "project", project)
44
+ if rules and not isinstance(rules, list):
45
+ raise TypeError("Expected argument 'rules' to be a list")
46
+ pulumi.set(__self__, "rules", rules)
47
+
48
+ @property
49
+ @pulumi.getter(name="dataScanId")
50
+ def data_scan_id(self) -> builtins.str:
51
+ return pulumi.get(self, "data_scan_id")
52
+
53
+ @property
54
+ @pulumi.getter
55
+ def id(self) -> builtins.str:
56
+ """
57
+ The provider-assigned unique ID for this managed resource.
58
+ """
59
+ return pulumi.get(self, "id")
60
+
61
+ @property
62
+ @pulumi.getter
63
+ def location(self) -> Optional[builtins.str]:
64
+ return pulumi.get(self, "location")
65
+
66
+ @property
67
+ @pulumi.getter
68
+ def project(self) -> Optional[builtins.str]:
69
+ return pulumi.get(self, "project")
70
+
71
+ @property
72
+ @pulumi.getter
73
+ def rules(self) -> Sequence['outputs.GetDataQualityRulesRuleResult']:
74
+ """
75
+ (Computed) The list of generated data quality rules. For more details, please see the datascan page.
76
+ """
77
+ return pulumi.get(self, "rules")
78
+
79
+
80
+ class AwaitableGetDataQualityRulesResult(GetDataQualityRulesResult):
81
+ # pylint: disable=using-constant-test
82
+ def __await__(self):
83
+ if False:
84
+ yield self
85
+ return GetDataQualityRulesResult(
86
+ data_scan_id=self.data_scan_id,
87
+ id=self.id,
88
+ location=self.location,
89
+ project=self.project,
90
+ rules=self.rules)
91
+
92
+
93
+ def get_data_quality_rules(data_scan_id: Optional[builtins.str] = None,
94
+ location: Optional[builtins.str] = None,
95
+ project: Optional[builtins.str] = None,
96
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDataQualityRulesResult:
97
+ """
98
+ Retrieves the generated data quality rules for the creating a new data quality scan.
99
+ For more information see
100
+ the [official documentation](https://cloud.google.com/dataplex/docs)
101
+ and [API](https://cloud.google.com/dataplex/docs/reference/rest/v1/projects.locations.dataScans/generateDataQualityRules).
102
+
103
+ ## example
104
+
105
+ ```python
106
+ import pulumi
107
+ import pulumi_gcp as gcp
108
+
109
+ dqrs = gcp.dataplex.get_data_quality_rules(project="my-project",
110
+ location="use-central1",
111
+ data_scan_id="my-datascan-profile")
112
+ ```
113
+
114
+
115
+ :param builtins.str data_scan_id: The ID of the data profile scan which the generation of quality rules will be basing on.
116
+ :param builtins.str location: The location where the referenced data profile scan resides.
117
+ :param builtins.str project: The ID of the project in which the datascan belongs.
118
+ """
119
+ __args__ = dict()
120
+ __args__['dataScanId'] = data_scan_id
121
+ __args__['location'] = location
122
+ __args__['project'] = project
123
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
124
+ __ret__ = pulumi.runtime.invoke('gcp:dataplex/getDataQualityRules:getDataQualityRules', __args__, opts=opts, typ=GetDataQualityRulesResult).value
125
+
126
+ return AwaitableGetDataQualityRulesResult(
127
+ data_scan_id=pulumi.get(__ret__, 'data_scan_id'),
128
+ id=pulumi.get(__ret__, 'id'),
129
+ location=pulumi.get(__ret__, 'location'),
130
+ project=pulumi.get(__ret__, 'project'),
131
+ rules=pulumi.get(__ret__, 'rules'))
132
+ def get_data_quality_rules_output(data_scan_id: Optional[pulumi.Input[builtins.str]] = None,
133
+ location: Optional[pulumi.Input[Optional[builtins.str]]] = None,
134
+ project: Optional[pulumi.Input[Optional[builtins.str]]] = None,
135
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDataQualityRulesResult]:
136
+ """
137
+ Retrieves the generated data quality rules for the creating a new data quality scan.
138
+ For more information see
139
+ the [official documentation](https://cloud.google.com/dataplex/docs)
140
+ and [API](https://cloud.google.com/dataplex/docs/reference/rest/v1/projects.locations.dataScans/generateDataQualityRules).
141
+
142
+ ## example
143
+
144
+ ```python
145
+ import pulumi
146
+ import pulumi_gcp as gcp
147
+
148
+ dqrs = gcp.dataplex.get_data_quality_rules(project="my-project",
149
+ location="use-central1",
150
+ data_scan_id="my-datascan-profile")
151
+ ```
152
+
153
+
154
+ :param builtins.str data_scan_id: The ID of the data profile scan which the generation of quality rules will be basing on.
155
+ :param builtins.str location: The location where the referenced data profile scan resides.
156
+ :param builtins.str project: The ID of the project in which the datascan belongs.
157
+ """
158
+ __args__ = dict()
159
+ __args__['dataScanId'] = data_scan_id
160
+ __args__['location'] = location
161
+ __args__['project'] = project
162
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
163
+ __ret__ = pulumi.runtime.invoke_output('gcp:dataplex/getDataQualityRules:getDataQualityRules', __args__, opts=opts, typ=GetDataQualityRulesResult)
164
+ return __ret__.apply(lambda __response__: GetDataQualityRulesResult(
165
+ data_scan_id=pulumi.get(__response__, 'data_scan_id'),
166
+ id=pulumi.get(__response__, 'id'),
167
+ location=pulumi.get(__response__, 'location'),
168
+ project=pulumi.get(__response__, 'project'),
169
+ rules=pulumi.get(__response__, 'rules')))