pulumi-gcp 8.29.0a1746115375__py3-none-any.whl → 8.30.0a1746254470__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 (65) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/alloydb/instance.py +1 -1
  3. pulumi_gcp/apigee/organization.py +26 -0
  4. pulumi_gcp/beyondcorp/_inputs.py +129 -0
  5. pulumi_gcp/beyondcorp/application.py +106 -3
  6. pulumi_gcp/beyondcorp/outputs.py +93 -0
  7. pulumi_gcp/bigtable/__init__.py +2 -0
  8. pulumi_gcp/bigtable/logical_view.py +473 -0
  9. pulumi_gcp/bigtable/materialized_view.py +524 -0
  10. pulumi_gcp/certificateauthority/ca_pool.py +12 -0
  11. pulumi_gcp/certificatemanager/get_certificates.py +29 -0
  12. pulumi_gcp/clouddeploy/automation.py +66 -10
  13. pulumi_gcp/compute/_inputs.py +366 -55
  14. pulumi_gcp/compute/backend_service.py +6 -2
  15. pulumi_gcp/compute/get_region_disk.py +12 -1
  16. pulumi_gcp/compute/interconnect.py +25 -24
  17. pulumi_gcp/compute/outputs.py +380 -48
  18. pulumi_gcp/compute/region_disk.py +28 -0
  19. pulumi_gcp/compute/region_resize_request.py +2 -2
  20. pulumi_gcp/compute/region_security_policy.py +16 -0
  21. pulumi_gcp/compute/region_security_policy_rule.py +16 -0
  22. pulumi_gcp/compute/resize_request.py +2 -2
  23. pulumi_gcp/compute/resource_policy.py +0 -2
  24. pulumi_gcp/container/_inputs.py +69 -9
  25. pulumi_gcp/container/outputs.py +71 -7
  26. pulumi_gcp/dataplex/_inputs.py +219 -1
  27. pulumi_gcp/dataplex/datascan.py +20 -0
  28. pulumi_gcp/dataplex/outputs.py +168 -1
  29. pulumi_gcp/developerconnect/_inputs.py +6 -0
  30. pulumi_gcp/developerconnect/account_connector.py +56 -0
  31. pulumi_gcp/developerconnect/outputs.py +4 -0
  32. pulumi_gcp/dns/_inputs.py +34 -13
  33. pulumi_gcp/dns/outputs.py +25 -10
  34. pulumi_gcp/gkehub/_inputs.py +3 -3
  35. pulumi_gcp/gkehub/feature_membership.py +92 -0
  36. pulumi_gcp/gkehub/outputs.py +2 -2
  37. pulumi_gcp/identityplatform/_inputs.py +54 -0
  38. pulumi_gcp/identityplatform/oauth_idp_config.py +83 -5
  39. pulumi_gcp/identityplatform/outputs.py +49 -0
  40. pulumi_gcp/memcache/__init__.py +1 -0
  41. pulumi_gcp/memcache/get_instance.py +338 -0
  42. pulumi_gcp/memcache/outputs.py +363 -0
  43. pulumi_gcp/netapp/storage_pool.py +141 -0
  44. pulumi_gcp/networkservices/_inputs.py +35 -6
  45. pulumi_gcp/networkservices/lb_traffic_extension.py +7 -0
  46. pulumi_gcp/networkservices/outputs.py +22 -4
  47. pulumi_gcp/osconfig/__init__.py +1 -0
  48. pulumi_gcp/osconfig/_inputs.py +5400 -0
  49. pulumi_gcp/osconfig/outputs.py +3952 -0
  50. pulumi_gcp/osconfig/v2_policy_orchestrator_for_folder.py +1098 -0
  51. pulumi_gcp/pulumi-plugin.json +1 -1
  52. pulumi_gcp/spanner/instance_config.py +14 -14
  53. pulumi_gcp/sql/_inputs.py +83 -0
  54. pulumi_gcp/sql/database_instance.py +28 -0
  55. pulumi_gcp/sql/get_database_instance.py +12 -1
  56. pulumi_gcp/sql/outputs.py +146 -6
  57. pulumi_gcp/storage/_inputs.py +20 -0
  58. pulumi_gcp/storage/bucket.py +56 -0
  59. pulumi_gcp/storage/get_bucket.py +23 -1
  60. pulumi_gcp/storage/outputs.py +14 -0
  61. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +2 -14
  62. {pulumi_gcp-8.29.0a1746115375.dist-info → pulumi_gcp-8.30.0a1746254470.dist-info}/METADATA +1 -1
  63. {pulumi_gcp-8.29.0a1746115375.dist-info → pulumi_gcp-8.30.0a1746254470.dist-info}/RECORD +65 -61
  64. {pulumi_gcp-8.29.0a1746115375.dist-info → pulumi_gcp-8.30.0a1746254470.dist-info}/WHEEL +1 -1
  65. {pulumi_gcp-8.29.0a1746115375.dist-info → pulumi_gcp-8.30.0a1746254470.dist-info}/top_level.txt +0 -0
@@ -58,6 +58,16 @@ __all__ = [
58
58
  'DatascanDataQualitySpecPostScanActionsArgsDict',
59
59
  'DatascanDataQualitySpecPostScanActionsBigqueryExportArgs',
60
60
  'DatascanDataQualitySpecPostScanActionsBigqueryExportArgsDict',
61
+ 'DatascanDataQualitySpecPostScanActionsNotificationReportArgs',
62
+ 'DatascanDataQualitySpecPostScanActionsNotificationReportArgsDict',
63
+ 'DatascanDataQualitySpecPostScanActionsNotificationReportJobEndTriggerArgs',
64
+ 'DatascanDataQualitySpecPostScanActionsNotificationReportJobEndTriggerArgsDict',
65
+ 'DatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTriggerArgs',
66
+ 'DatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTriggerArgsDict',
67
+ 'DatascanDataQualitySpecPostScanActionsNotificationReportRecipientsArgs',
68
+ 'DatascanDataQualitySpecPostScanActionsNotificationReportRecipientsArgsDict',
69
+ 'DatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTriggerArgs',
70
+ 'DatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTriggerArgsDict',
61
71
  'DatascanDataQualitySpecRuleArgs',
62
72
  'DatascanDataQualitySpecRuleArgsDict',
63
73
  'DatascanDataQualitySpecRuleNonNullExpectationArgs',
@@ -1515,19 +1525,29 @@ if not MYPY:
1515
1525
  If set, results will be exported to the provided BigQuery table.
1516
1526
  Structure is documented below.
1517
1527
  """
1528
+ notification_report: NotRequired[pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportArgsDict']]
1529
+ """
1530
+ The configuration of notification report post scan action.
1531
+ Structure is documented below.
1532
+ """
1518
1533
  elif False:
1519
1534
  DatascanDataQualitySpecPostScanActionsArgsDict: TypeAlias = Mapping[str, Any]
1520
1535
 
1521
1536
  @pulumi.input_type
1522
1537
  class DatascanDataQualitySpecPostScanActionsArgs:
1523
1538
  def __init__(__self__, *,
1524
- bigquery_export: Optional[pulumi.Input['DatascanDataQualitySpecPostScanActionsBigqueryExportArgs']] = None):
1539
+ bigquery_export: Optional[pulumi.Input['DatascanDataQualitySpecPostScanActionsBigqueryExportArgs']] = None,
1540
+ notification_report: Optional[pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportArgs']] = None):
1525
1541
  """
1526
1542
  :param pulumi.Input['DatascanDataQualitySpecPostScanActionsBigqueryExportArgs'] bigquery_export: If set, results will be exported to the provided BigQuery table.
1527
1543
  Structure is documented below.
1544
+ :param pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportArgs'] notification_report: The configuration of notification report post scan action.
1545
+ Structure is documented below.
1528
1546
  """
1529
1547
  if bigquery_export is not None:
1530
1548
  pulumi.set(__self__, "bigquery_export", bigquery_export)
1549
+ if notification_report is not None:
1550
+ pulumi.set(__self__, "notification_report", notification_report)
1531
1551
 
1532
1552
  @property
1533
1553
  @pulumi.getter(name="bigqueryExport")
@@ -1542,6 +1562,19 @@ class DatascanDataQualitySpecPostScanActionsArgs:
1542
1562
  def bigquery_export(self, value: Optional[pulumi.Input['DatascanDataQualitySpecPostScanActionsBigqueryExportArgs']]):
1543
1563
  pulumi.set(self, "bigquery_export", value)
1544
1564
 
1565
+ @property
1566
+ @pulumi.getter(name="notificationReport")
1567
+ def notification_report(self) -> Optional[pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportArgs']]:
1568
+ """
1569
+ The configuration of notification report post scan action.
1570
+ Structure is documented below.
1571
+ """
1572
+ return pulumi.get(self, "notification_report")
1573
+
1574
+ @notification_report.setter
1575
+ def notification_report(self, value: Optional[pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportArgs']]):
1576
+ pulumi.set(self, "notification_report", value)
1577
+
1545
1578
 
1546
1579
  if not MYPY:
1547
1580
  class DatascanDataQualitySpecPostScanActionsBigqueryExportArgsDict(TypedDict):
@@ -1578,6 +1611,191 @@ class DatascanDataQualitySpecPostScanActionsBigqueryExportArgs:
1578
1611
  pulumi.set(self, "results_table", value)
1579
1612
 
1580
1613
 
1614
+ if not MYPY:
1615
+ class DatascanDataQualitySpecPostScanActionsNotificationReportArgsDict(TypedDict):
1616
+ recipients: pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportRecipientsArgsDict']
1617
+ """
1618
+ The individuals or groups who are designated to receive notifications upon triggers.
1619
+ Structure is documented below.
1620
+ """
1621
+ job_end_trigger: NotRequired[pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportJobEndTriggerArgsDict']]
1622
+ """
1623
+ This trigger is triggered whenever a scan job run ends, regardless of the result.
1624
+ """
1625
+ job_failure_trigger: NotRequired[pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTriggerArgsDict']]
1626
+ """
1627
+ This trigger is triggered when the scan job itself fails, regardless of the result.
1628
+ """
1629
+ score_threshold_trigger: NotRequired[pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTriggerArgsDict']]
1630
+ """
1631
+ This trigger is triggered when the DQ score in the job result is less than a specified input score.
1632
+ Structure is documented below.
1633
+ """
1634
+ elif False:
1635
+ DatascanDataQualitySpecPostScanActionsNotificationReportArgsDict: TypeAlias = Mapping[str, Any]
1636
+
1637
+ @pulumi.input_type
1638
+ class DatascanDataQualitySpecPostScanActionsNotificationReportArgs:
1639
+ def __init__(__self__, *,
1640
+ recipients: pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportRecipientsArgs'],
1641
+ job_end_trigger: Optional[pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportJobEndTriggerArgs']] = None,
1642
+ job_failure_trigger: Optional[pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTriggerArgs']] = None,
1643
+ score_threshold_trigger: Optional[pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTriggerArgs']] = None):
1644
+ """
1645
+ :param pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportRecipientsArgs'] recipients: The individuals or groups who are designated to receive notifications upon triggers.
1646
+ Structure is documented below.
1647
+ :param pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportJobEndTriggerArgs'] job_end_trigger: This trigger is triggered whenever a scan job run ends, regardless of the result.
1648
+ :param pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTriggerArgs'] job_failure_trigger: This trigger is triggered when the scan job itself fails, regardless of the result.
1649
+ :param pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTriggerArgs'] score_threshold_trigger: This trigger is triggered when the DQ score in the job result is less than a specified input score.
1650
+ Structure is documented below.
1651
+ """
1652
+ pulumi.set(__self__, "recipients", recipients)
1653
+ if job_end_trigger is not None:
1654
+ pulumi.set(__self__, "job_end_trigger", job_end_trigger)
1655
+ if job_failure_trigger is not None:
1656
+ pulumi.set(__self__, "job_failure_trigger", job_failure_trigger)
1657
+ if score_threshold_trigger is not None:
1658
+ pulumi.set(__self__, "score_threshold_trigger", score_threshold_trigger)
1659
+
1660
+ @property
1661
+ @pulumi.getter
1662
+ def recipients(self) -> pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportRecipientsArgs']:
1663
+ """
1664
+ The individuals or groups who are designated to receive notifications upon triggers.
1665
+ Structure is documented below.
1666
+ """
1667
+ return pulumi.get(self, "recipients")
1668
+
1669
+ @recipients.setter
1670
+ def recipients(self, value: pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportRecipientsArgs']):
1671
+ pulumi.set(self, "recipients", value)
1672
+
1673
+ @property
1674
+ @pulumi.getter(name="jobEndTrigger")
1675
+ def job_end_trigger(self) -> Optional[pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportJobEndTriggerArgs']]:
1676
+ """
1677
+ This trigger is triggered whenever a scan job run ends, regardless of the result.
1678
+ """
1679
+ return pulumi.get(self, "job_end_trigger")
1680
+
1681
+ @job_end_trigger.setter
1682
+ def job_end_trigger(self, value: Optional[pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportJobEndTriggerArgs']]):
1683
+ pulumi.set(self, "job_end_trigger", value)
1684
+
1685
+ @property
1686
+ @pulumi.getter(name="jobFailureTrigger")
1687
+ def job_failure_trigger(self) -> Optional[pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTriggerArgs']]:
1688
+ """
1689
+ This trigger is triggered when the scan job itself fails, regardless of the result.
1690
+ """
1691
+ return pulumi.get(self, "job_failure_trigger")
1692
+
1693
+ @job_failure_trigger.setter
1694
+ def job_failure_trigger(self, value: Optional[pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTriggerArgs']]):
1695
+ pulumi.set(self, "job_failure_trigger", value)
1696
+
1697
+ @property
1698
+ @pulumi.getter(name="scoreThresholdTrigger")
1699
+ def score_threshold_trigger(self) -> Optional[pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTriggerArgs']]:
1700
+ """
1701
+ This trigger is triggered when the DQ score in the job result is less than a specified input score.
1702
+ Structure is documented below.
1703
+ """
1704
+ return pulumi.get(self, "score_threshold_trigger")
1705
+
1706
+ @score_threshold_trigger.setter
1707
+ def score_threshold_trigger(self, value: Optional[pulumi.Input['DatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTriggerArgs']]):
1708
+ pulumi.set(self, "score_threshold_trigger", value)
1709
+
1710
+
1711
+ if not MYPY:
1712
+ class DatascanDataQualitySpecPostScanActionsNotificationReportJobEndTriggerArgsDict(TypedDict):
1713
+ pass
1714
+ elif False:
1715
+ DatascanDataQualitySpecPostScanActionsNotificationReportJobEndTriggerArgsDict: TypeAlias = Mapping[str, Any]
1716
+
1717
+ @pulumi.input_type
1718
+ class DatascanDataQualitySpecPostScanActionsNotificationReportJobEndTriggerArgs:
1719
+ def __init__(__self__):
1720
+ pass
1721
+
1722
+
1723
+ if not MYPY:
1724
+ class DatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTriggerArgsDict(TypedDict):
1725
+ pass
1726
+ elif False:
1727
+ DatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTriggerArgsDict: TypeAlias = Mapping[str, Any]
1728
+
1729
+ @pulumi.input_type
1730
+ class DatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTriggerArgs:
1731
+ def __init__(__self__):
1732
+ pass
1733
+
1734
+
1735
+ if not MYPY:
1736
+ class DatascanDataQualitySpecPostScanActionsNotificationReportRecipientsArgsDict(TypedDict):
1737
+ emails: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
1738
+ """
1739
+ The email recipients who will receive the DataQualityScan results report.
1740
+ """
1741
+ elif False:
1742
+ DatascanDataQualitySpecPostScanActionsNotificationReportRecipientsArgsDict: TypeAlias = Mapping[str, Any]
1743
+
1744
+ @pulumi.input_type
1745
+ class DatascanDataQualitySpecPostScanActionsNotificationReportRecipientsArgs:
1746
+ def __init__(__self__, *,
1747
+ emails: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None):
1748
+ """
1749
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] emails: The email recipients who will receive the DataQualityScan results report.
1750
+ """
1751
+ if emails is not None:
1752
+ pulumi.set(__self__, "emails", emails)
1753
+
1754
+ @property
1755
+ @pulumi.getter
1756
+ def emails(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
1757
+ """
1758
+ The email recipients who will receive the DataQualityScan results report.
1759
+ """
1760
+ return pulumi.get(self, "emails")
1761
+
1762
+ @emails.setter
1763
+ def emails(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
1764
+ pulumi.set(self, "emails", value)
1765
+
1766
+
1767
+ if not MYPY:
1768
+ class DatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTriggerArgsDict(TypedDict):
1769
+ score_threshold: NotRequired[pulumi.Input[builtins.float]]
1770
+ """
1771
+ The score range is in [0,100].
1772
+ """
1773
+ elif False:
1774
+ DatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTriggerArgsDict: TypeAlias = Mapping[str, Any]
1775
+
1776
+ @pulumi.input_type
1777
+ class DatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTriggerArgs:
1778
+ def __init__(__self__, *,
1779
+ score_threshold: Optional[pulumi.Input[builtins.float]] = None):
1780
+ """
1781
+ :param pulumi.Input[builtins.float] score_threshold: The score range is in [0,100].
1782
+ """
1783
+ if score_threshold is not None:
1784
+ pulumi.set(__self__, "score_threshold", score_threshold)
1785
+
1786
+ @property
1787
+ @pulumi.getter(name="scoreThreshold")
1788
+ def score_threshold(self) -> Optional[pulumi.Input[builtins.float]]:
1789
+ """
1790
+ The score range is in [0,100].
1791
+ """
1792
+ return pulumi.get(self, "score_threshold")
1793
+
1794
+ @score_threshold.setter
1795
+ def score_threshold(self, value: Optional[pulumi.Input[builtins.float]]):
1796
+ pulumi.set(self, "score_threshold", value)
1797
+
1798
+
1581
1799
  if not MYPY:
1582
1800
  class DatascanDataQualitySpecRuleArgsDict(TypedDict):
1583
1801
  dimension: pulumi.Input[builtins.str]
@@ -662,6 +662,16 @@ class Datascan(pulumi.CustomResource):
662
662
  data_quality_spec={
663
663
  "sampling_percent": 5,
664
664
  "row_filter": "station_id > 1000",
665
+ "post_scan_actions": {
666
+ "notification_report": {
667
+ "recipients": {
668
+ "emails": ["jane.doe@example.com"],
669
+ },
670
+ "score_threshold_trigger": {
671
+ "score_threshold": 86,
672
+ },
673
+ },
674
+ },
665
675
  "rules": [
666
676
  {
667
677
  "column": "address",
@@ -928,6 +938,16 @@ class Datascan(pulumi.CustomResource):
928
938
  data_quality_spec={
929
939
  "sampling_percent": 5,
930
940
  "row_filter": "station_id > 1000",
941
+ "post_scan_actions": {
942
+ "notification_report": {
943
+ "recipients": {
944
+ "emails": ["jane.doe@example.com"],
945
+ },
946
+ "score_threshold_trigger": {
947
+ "score_threshold": 86,
948
+ },
949
+ },
950
+ },
931
951
  "rules": [
932
952
  {
933
953
  "column": "address",
@@ -38,6 +38,11 @@ __all__ = [
38
38
  'DatascanDataQualitySpec',
39
39
  'DatascanDataQualitySpecPostScanActions',
40
40
  'DatascanDataQualitySpecPostScanActionsBigqueryExport',
41
+ 'DatascanDataQualitySpecPostScanActionsNotificationReport',
42
+ 'DatascanDataQualitySpecPostScanActionsNotificationReportJobEndTrigger',
43
+ 'DatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTrigger',
44
+ 'DatascanDataQualitySpecPostScanActionsNotificationReportRecipients',
45
+ 'DatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTrigger',
41
46
  'DatascanDataQualitySpecRule',
42
47
  'DatascanDataQualitySpecRuleNonNullExpectation',
43
48
  'DatascanDataQualitySpecRuleRangeExpectation',
@@ -1164,6 +1169,8 @@ class DatascanDataQualitySpecPostScanActions(dict):
1164
1169
  suggest = None
1165
1170
  if key == "bigqueryExport":
1166
1171
  suggest = "bigquery_export"
1172
+ elif key == "notificationReport":
1173
+ suggest = "notification_report"
1167
1174
 
1168
1175
  if suggest:
1169
1176
  pulumi.log.warn(f"Key '{key}' not found in DatascanDataQualitySpecPostScanActions. Access the value via the '{suggest}' property getter instead.")
@@ -1177,13 +1184,18 @@ class DatascanDataQualitySpecPostScanActions(dict):
1177
1184
  return super().get(key, default)
1178
1185
 
1179
1186
  def __init__(__self__, *,
1180
- bigquery_export: Optional['outputs.DatascanDataQualitySpecPostScanActionsBigqueryExport'] = None):
1187
+ bigquery_export: Optional['outputs.DatascanDataQualitySpecPostScanActionsBigqueryExport'] = None,
1188
+ notification_report: Optional['outputs.DatascanDataQualitySpecPostScanActionsNotificationReport'] = None):
1181
1189
  """
1182
1190
  :param 'DatascanDataQualitySpecPostScanActionsBigqueryExportArgs' bigquery_export: If set, results will be exported to the provided BigQuery table.
1183
1191
  Structure is documented below.
1192
+ :param 'DatascanDataQualitySpecPostScanActionsNotificationReportArgs' notification_report: The configuration of notification report post scan action.
1193
+ Structure is documented below.
1184
1194
  """
1185
1195
  if bigquery_export is not None:
1186
1196
  pulumi.set(__self__, "bigquery_export", bigquery_export)
1197
+ if notification_report is not None:
1198
+ pulumi.set(__self__, "notification_report", notification_report)
1187
1199
 
1188
1200
  @property
1189
1201
  @pulumi.getter(name="bigqueryExport")
@@ -1194,6 +1206,15 @@ class DatascanDataQualitySpecPostScanActions(dict):
1194
1206
  """
1195
1207
  return pulumi.get(self, "bigquery_export")
1196
1208
 
1209
+ @property
1210
+ @pulumi.getter(name="notificationReport")
1211
+ def notification_report(self) -> Optional['outputs.DatascanDataQualitySpecPostScanActionsNotificationReport']:
1212
+ """
1213
+ The configuration of notification report post scan action.
1214
+ Structure is documented below.
1215
+ """
1216
+ return pulumi.get(self, "notification_report")
1217
+
1197
1218
 
1198
1219
  @pulumi.output_type
1199
1220
  class DatascanDataQualitySpecPostScanActionsBigqueryExport(dict):
@@ -1233,6 +1254,152 @@ class DatascanDataQualitySpecPostScanActionsBigqueryExport(dict):
1233
1254
  return pulumi.get(self, "results_table")
1234
1255
 
1235
1256
 
1257
+ @pulumi.output_type
1258
+ class DatascanDataQualitySpecPostScanActionsNotificationReport(dict):
1259
+ @staticmethod
1260
+ def __key_warning(key: str):
1261
+ suggest = None
1262
+ if key == "jobEndTrigger":
1263
+ suggest = "job_end_trigger"
1264
+ elif key == "jobFailureTrigger":
1265
+ suggest = "job_failure_trigger"
1266
+ elif key == "scoreThresholdTrigger":
1267
+ suggest = "score_threshold_trigger"
1268
+
1269
+ if suggest:
1270
+ pulumi.log.warn(f"Key '{key}' not found in DatascanDataQualitySpecPostScanActionsNotificationReport. Access the value via the '{suggest}' property getter instead.")
1271
+
1272
+ def __getitem__(self, key: str) -> Any:
1273
+ DatascanDataQualitySpecPostScanActionsNotificationReport.__key_warning(key)
1274
+ return super().__getitem__(key)
1275
+
1276
+ def get(self, key: str, default = None) -> Any:
1277
+ DatascanDataQualitySpecPostScanActionsNotificationReport.__key_warning(key)
1278
+ return super().get(key, default)
1279
+
1280
+ def __init__(__self__, *,
1281
+ recipients: 'outputs.DatascanDataQualitySpecPostScanActionsNotificationReportRecipients',
1282
+ job_end_trigger: Optional['outputs.DatascanDataQualitySpecPostScanActionsNotificationReportJobEndTrigger'] = None,
1283
+ job_failure_trigger: Optional['outputs.DatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTrigger'] = None,
1284
+ score_threshold_trigger: Optional['outputs.DatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTrigger'] = None):
1285
+ """
1286
+ :param 'DatascanDataQualitySpecPostScanActionsNotificationReportRecipientsArgs' recipients: The individuals or groups who are designated to receive notifications upon triggers.
1287
+ Structure is documented below.
1288
+ :param 'DatascanDataQualitySpecPostScanActionsNotificationReportJobEndTriggerArgs' job_end_trigger: This trigger is triggered whenever a scan job run ends, regardless of the result.
1289
+ :param 'DatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTriggerArgs' job_failure_trigger: This trigger is triggered when the scan job itself fails, regardless of the result.
1290
+ :param 'DatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTriggerArgs' score_threshold_trigger: This trigger is triggered when the DQ score in the job result is less than a specified input score.
1291
+ Structure is documented below.
1292
+ """
1293
+ pulumi.set(__self__, "recipients", recipients)
1294
+ if job_end_trigger is not None:
1295
+ pulumi.set(__self__, "job_end_trigger", job_end_trigger)
1296
+ if job_failure_trigger is not None:
1297
+ pulumi.set(__self__, "job_failure_trigger", job_failure_trigger)
1298
+ if score_threshold_trigger is not None:
1299
+ pulumi.set(__self__, "score_threshold_trigger", score_threshold_trigger)
1300
+
1301
+ @property
1302
+ @pulumi.getter
1303
+ def recipients(self) -> 'outputs.DatascanDataQualitySpecPostScanActionsNotificationReportRecipients':
1304
+ """
1305
+ The individuals or groups who are designated to receive notifications upon triggers.
1306
+ Structure is documented below.
1307
+ """
1308
+ return pulumi.get(self, "recipients")
1309
+
1310
+ @property
1311
+ @pulumi.getter(name="jobEndTrigger")
1312
+ def job_end_trigger(self) -> Optional['outputs.DatascanDataQualitySpecPostScanActionsNotificationReportJobEndTrigger']:
1313
+ """
1314
+ This trigger is triggered whenever a scan job run ends, regardless of the result.
1315
+ """
1316
+ return pulumi.get(self, "job_end_trigger")
1317
+
1318
+ @property
1319
+ @pulumi.getter(name="jobFailureTrigger")
1320
+ def job_failure_trigger(self) -> Optional['outputs.DatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTrigger']:
1321
+ """
1322
+ This trigger is triggered when the scan job itself fails, regardless of the result.
1323
+ """
1324
+ return pulumi.get(self, "job_failure_trigger")
1325
+
1326
+ @property
1327
+ @pulumi.getter(name="scoreThresholdTrigger")
1328
+ def score_threshold_trigger(self) -> Optional['outputs.DatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTrigger']:
1329
+ """
1330
+ This trigger is triggered when the DQ score in the job result is less than a specified input score.
1331
+ Structure is documented below.
1332
+ """
1333
+ return pulumi.get(self, "score_threshold_trigger")
1334
+
1335
+
1336
+ @pulumi.output_type
1337
+ class DatascanDataQualitySpecPostScanActionsNotificationReportJobEndTrigger(dict):
1338
+ def __init__(__self__):
1339
+ pass
1340
+
1341
+
1342
+ @pulumi.output_type
1343
+ class DatascanDataQualitySpecPostScanActionsNotificationReportJobFailureTrigger(dict):
1344
+ def __init__(__self__):
1345
+ pass
1346
+
1347
+
1348
+ @pulumi.output_type
1349
+ class DatascanDataQualitySpecPostScanActionsNotificationReportRecipients(dict):
1350
+ def __init__(__self__, *,
1351
+ emails: Optional[Sequence[builtins.str]] = None):
1352
+ """
1353
+ :param Sequence[builtins.str] emails: The email recipients who will receive the DataQualityScan results report.
1354
+ """
1355
+ if emails is not None:
1356
+ pulumi.set(__self__, "emails", emails)
1357
+
1358
+ @property
1359
+ @pulumi.getter
1360
+ def emails(self) -> Optional[Sequence[builtins.str]]:
1361
+ """
1362
+ The email recipients who will receive the DataQualityScan results report.
1363
+ """
1364
+ return pulumi.get(self, "emails")
1365
+
1366
+
1367
+ @pulumi.output_type
1368
+ class DatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTrigger(dict):
1369
+ @staticmethod
1370
+ def __key_warning(key: str):
1371
+ suggest = None
1372
+ if key == "scoreThreshold":
1373
+ suggest = "score_threshold"
1374
+
1375
+ if suggest:
1376
+ pulumi.log.warn(f"Key '{key}' not found in DatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTrigger. Access the value via the '{suggest}' property getter instead.")
1377
+
1378
+ def __getitem__(self, key: str) -> Any:
1379
+ DatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTrigger.__key_warning(key)
1380
+ return super().__getitem__(key)
1381
+
1382
+ def get(self, key: str, default = None) -> Any:
1383
+ DatascanDataQualitySpecPostScanActionsNotificationReportScoreThresholdTrigger.__key_warning(key)
1384
+ return super().get(key, default)
1385
+
1386
+ def __init__(__self__, *,
1387
+ score_threshold: Optional[builtins.float] = None):
1388
+ """
1389
+ :param builtins.float score_threshold: The score range is in [0,100].
1390
+ """
1391
+ if score_threshold is not None:
1392
+ pulumi.set(__self__, "score_threshold", score_threshold)
1393
+
1394
+ @property
1395
+ @pulumi.getter(name="scoreThreshold")
1396
+ def score_threshold(self) -> Optional[builtins.float]:
1397
+ """
1398
+ The score range is in [0,100].
1399
+ """
1400
+ return pulumi.get(self, "score_threshold")
1401
+
1402
+
1236
1403
  @pulumi.output_type
1237
1404
  class DatascanDataQualitySpecRule(dict):
1238
1405
  @staticmethod
@@ -79,6 +79,8 @@ if not MYPY:
79
79
  GOOGLE
80
80
  SENTRY
81
81
  ROVO
82
+ NEW_RELIC
83
+ DATASTAX
82
84
  """
83
85
  elif False:
84
86
  AccountConnectorProviderOauthConfigArgsDict: TypeAlias = Mapping[str, Any]
@@ -99,6 +101,8 @@ class AccountConnectorProviderOauthConfigArgs:
99
101
  GOOGLE
100
102
  SENTRY
101
103
  ROVO
104
+ NEW_RELIC
105
+ DATASTAX
102
106
  """
103
107
  pulumi.set(__self__, "scopes", scopes)
104
108
  if system_provider_id is not None:
@@ -129,6 +133,8 @@ class AccountConnectorProviderOauthConfigArgs:
129
133
  GOOGLE
130
134
  SENTRY
131
135
  ROVO
136
+ NEW_RELIC
137
+ DATASTAX
132
138
  """
133
139
  return pulumi.get(self, "system_provider_id")
134
140
 
@@ -475,6 +475,34 @@ class AccountConnector(pulumi.CustomResource):
475
475
  "scopes": ["rovo"],
476
476
  })
477
477
  ```
478
+ ### Developer Connect Account Connector New Relic
479
+
480
+ ```python
481
+ import pulumi
482
+ import pulumi_gcp as gcp
483
+
484
+ my_account_connector = gcp.developerconnect.AccountConnector("my-account-connector",
485
+ location="us-central1",
486
+ account_connector_id="tf-test-ac",
487
+ provider_oauth_config={
488
+ "system_provider_id": "NEW_RELIC",
489
+ "scopes": [],
490
+ })
491
+ ```
492
+ ### Developer Connect Account Connector Datastax
493
+
494
+ ```python
495
+ import pulumi
496
+ import pulumi_gcp as gcp
497
+
498
+ my_account_connector = gcp.developerconnect.AccountConnector("my-account-connector",
499
+ location="us-central1",
500
+ account_connector_id="tf-test-ac",
501
+ provider_oauth_config={
502
+ "system_provider_id": "DATASTAX",
503
+ "scopes": [],
504
+ })
505
+ ```
478
506
 
479
507
  ## Import
480
508
 
@@ -602,6 +630,34 @@ class AccountConnector(pulumi.CustomResource):
602
630
  "scopes": ["rovo"],
603
631
  })
604
632
  ```
633
+ ### Developer Connect Account Connector New Relic
634
+
635
+ ```python
636
+ import pulumi
637
+ import pulumi_gcp as gcp
638
+
639
+ my_account_connector = gcp.developerconnect.AccountConnector("my-account-connector",
640
+ location="us-central1",
641
+ account_connector_id="tf-test-ac",
642
+ provider_oauth_config={
643
+ "system_provider_id": "NEW_RELIC",
644
+ "scopes": [],
645
+ })
646
+ ```
647
+ ### Developer Connect Account Connector Datastax
648
+
649
+ ```python
650
+ import pulumi
651
+ import pulumi_gcp as gcp
652
+
653
+ my_account_connector = gcp.developerconnect.AccountConnector("my-account-connector",
654
+ location="us-central1",
655
+ account_connector_id="tf-test-ac",
656
+ provider_oauth_config={
657
+ "system_provider_id": "DATASTAX",
658
+ "scopes": [],
659
+ })
660
+ ```
605
661
 
606
662
  ## Import
607
663
 
@@ -73,6 +73,8 @@ class AccountConnectorProviderOauthConfig(dict):
73
73
  GOOGLE
74
74
  SENTRY
75
75
  ROVO
76
+ NEW_RELIC
77
+ DATASTAX
76
78
  """
77
79
  pulumi.set(__self__, "scopes", scopes)
78
80
  if system_provider_id is not None:
@@ -99,6 +101,8 @@ class AccountConnectorProviderOauthConfig(dict):
99
101
  GOOGLE
100
102
  SENTRY
101
103
  ROVO
104
+ NEW_RELIC
105
+ DATASTAX
102
106
  """
103
107
  return pulumi.get(self, "system_provider_id")
104
108