pulumi-harness 0.5.0a1736833425__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.

Potentially problematic release.


This version of pulumi-harness might be problematic. Click here for more details.

Files changed (311) hide show
  1. pulumi_harness/__init__.py +1257 -0
  2. pulumi_harness/_inputs.py +4025 -0
  3. pulumi_harness/_utilities.py +327 -0
  4. pulumi_harness/add_user_to_group.py +241 -0
  5. pulumi_harness/application.py +393 -0
  6. pulumi_harness/application_git_sync.py +411 -0
  7. pulumi_harness/autostopping/__init__.py +27 -0
  8. pulumi_harness/autostopping/_inputs.py +2688 -0
  9. pulumi_harness/autostopping/aws_alb.py +640 -0
  10. pulumi_harness/autostopping/aws_proxy.py +760 -0
  11. pulumi_harness/autostopping/azure_gateway.py +798 -0
  12. pulumi_harness/autostopping/azure_proxy.py +855 -0
  13. pulumi_harness/autostopping/gcp_proxy.py +779 -0
  14. pulumi_harness/autostopping/get_aws_alb.py +278 -0
  15. pulumi_harness/autostopping/get_aws_proxy.py +335 -0
  16. pulumi_harness/autostopping/get_azure_gateway.py +343 -0
  17. pulumi_harness/autostopping/get_azure_proxy.py +375 -0
  18. pulumi_harness/autostopping/get_gcp_proxy.py +340 -0
  19. pulumi_harness/autostopping/get_rule_ecs.py +225 -0
  20. pulumi_harness/autostopping/get_rule_rds.py +205 -0
  21. pulumi_harness/autostopping/get_rule_vm.py +265 -0
  22. pulumi_harness/autostopping/get_schedule.py +193 -0
  23. pulumi_harness/autostopping/outputs.py +1971 -0
  24. pulumi_harness/autostopping/rule_ecs.py +450 -0
  25. pulumi_harness/autostopping/rule_rds.py +448 -0
  26. pulumi_harness/autostopping/rule_vm.py +663 -0
  27. pulumi_harness/autostopping/schedule.py +465 -0
  28. pulumi_harness/cloudprovider/__init__.py +17 -0
  29. pulumi_harness/cloudprovider/_inputs.py +777 -0
  30. pulumi_harness/cloudprovider/aws.py +586 -0
  31. pulumi_harness/cloudprovider/azure.py +393 -0
  32. pulumi_harness/cloudprovider/datacenter.py +233 -0
  33. pulumi_harness/cloudprovider/gcp.py +340 -0
  34. pulumi_harness/cloudprovider/get_delegate_ids.py +148 -0
  35. pulumi_harness/cloudprovider/kubernetes.py +310 -0
  36. pulumi_harness/cloudprovider/outputs.py +657 -0
  37. pulumi_harness/cloudprovider/spot.py +296 -0
  38. pulumi_harness/cloudprovider/tanzu.py +441 -0
  39. pulumi_harness/cluster/__init__.py +9 -0
  40. pulumi_harness/cluster/get_orchestrator.py +134 -0
  41. pulumi_harness/cluster/orchestrator.py +286 -0
  42. pulumi_harness/config/__init__.py +8 -0
  43. pulumi_harness/config/__init__.pyi +40 -0
  44. pulumi_harness/config/vars.py +54 -0
  45. pulumi_harness/delegate_approval.py +267 -0
  46. pulumi_harness/encrypted_text.py +499 -0
  47. pulumi_harness/environment.py +446 -0
  48. pulumi_harness/get_application.py +180 -0
  49. pulumi_harness/get_current_account.py +108 -0
  50. pulumi_harness/get_delegate.py +280 -0
  51. pulumi_harness/get_encrypted_text.py +136 -0
  52. pulumi_harness/get_environment.py +184 -0
  53. pulumi_harness/get_git_connector.py +255 -0
  54. pulumi_harness/get_secret_manager.py +142 -0
  55. pulumi_harness/get_service.py +198 -0
  56. pulumi_harness/get_ssh_credential.py +122 -0
  57. pulumi_harness/get_sso_provider.py +114 -0
  58. pulumi_harness/get_trigger.py +177 -0
  59. pulumi_harness/get_user.py +184 -0
  60. pulumi_harness/get_user_group.py +100 -0
  61. pulumi_harness/get_yaml_config.py +142 -0
  62. pulumi_harness/git_connector.py +738 -0
  63. pulumi_harness/governance/__init__.py +13 -0
  64. pulumi_harness/governance/get_rule.py +168 -0
  65. pulumi_harness/governance/get_rule_enforcement.py +266 -0
  66. pulumi_harness/governance/get_rule_set.py +150 -0
  67. pulumi_harness/governance/rule.py +337 -0
  68. pulumi_harness/governance/rule_enforcement.py +668 -0
  69. pulumi_harness/governance/rule_set.py +321 -0
  70. pulumi_harness/infrastructure_definition.py +1246 -0
  71. pulumi_harness/outputs.py +3306 -0
  72. pulumi_harness/platform/__init__.py +220 -0
  73. pulumi_harness/platform/_inputs.py +22314 -0
  74. pulumi_harness/platform/app_dynamics_connector.py +733 -0
  75. pulumi_harness/platform/artifactory_connector.py +748 -0
  76. pulumi_harness/platform/aws_cc_connector.py +716 -0
  77. pulumi_harness/platform/aws_connector.py +851 -0
  78. pulumi_harness/platform/aws_kms_connector.py +619 -0
  79. pulumi_harness/platform/aws_secret_manager_connector.py +712 -0
  80. pulumi_harness/platform/azure_cloud_cost_connector.py +675 -0
  81. pulumi_harness/platform/azure_cloud_provider_connector.py +826 -0
  82. pulumi_harness/platform/azure_key_vault_connector.py +843 -0
  83. pulumi_harness/platform/bitbucket_connector.py +713 -0
  84. pulumi_harness/platform/connector_azure_artifacts.py +529 -0
  85. pulumi_harness/platform/connector_custom_secret_manager.py +887 -0
  86. pulumi_harness/platform/connector_customhealthsource.py +807 -0
  87. pulumi_harness/platform/connector_jdbc.py +609 -0
  88. pulumi_harness/platform/connector_pdc.py +527 -0
  89. pulumi_harness/platform/connector_rancher.py +617 -0
  90. pulumi_harness/platform/datadog_connector.py +651 -0
  91. pulumi_harness/platform/db_instance.py +636 -0
  92. pulumi_harness/platform/db_schema.py +547 -0
  93. pulumi_harness/platform/delegatetoken.py +520 -0
  94. pulumi_harness/platform/docker_connector.py +669 -0
  95. pulumi_harness/platform/dynatrace_connector.py +601 -0
  96. pulumi_harness/platform/elasticsearch_connector.py +744 -0
  97. pulumi_harness/platform/environment.py +1173 -0
  98. pulumi_harness/platform/environment_clusters_mapping.py +454 -0
  99. pulumi_harness/platform/environment_group.py +560 -0
  100. pulumi_harness/platform/environment_service_overrides.py +688 -0
  101. pulumi_harness/platform/feature_flag.py +724 -0
  102. pulumi_harness/platform/feature_flag_api_key.py +550 -0
  103. pulumi_harness/platform/feature_flag_target.py +473 -0
  104. pulumi_harness/platform/feature_flag_target_group.py +577 -0
  105. pulumi_harness/platform/file_store_file.py +822 -0
  106. pulumi_harness/platform/file_store_folder.py +628 -0
  107. pulumi_harness/platform/filters.py +511 -0
  108. pulumi_harness/platform/gcp_cloud_cost_connector.py +669 -0
  109. pulumi_harness/platform/gcp_connector.py +663 -0
  110. pulumi_harness/platform/gcp_secret_manager_connector.py +594 -0
  111. pulumi_harness/platform/get_api_key.py +292 -0
  112. pulumi_harness/platform/get_app_dynamics_connector.py +271 -0
  113. pulumi_harness/platform/get_artifactory_connector.py +243 -0
  114. pulumi_harness/platform/get_aws_cc_connector.py +271 -0
  115. pulumi_harness/platform/get_aws_connector.py +313 -0
  116. pulumi_harness/platform/get_aws_kms_connector.py +253 -0
  117. pulumi_harness/platform/get_aws_secret_manager_connector.py +267 -0
  118. pulumi_harness/platform/get_azure_cloud_cost_connector.py +257 -0
  119. pulumi_harness/platform/get_azure_cloud_provider_connector.py +257 -0
  120. pulumi_harness/platform/get_azure_key_vault_connector.py +308 -0
  121. pulumi_harness/platform/get_bitbucket_connector.py +285 -0
  122. pulumi_harness/platform/get_ccm_filters.py +221 -0
  123. pulumi_harness/platform/get_connector_custom_secret_manager.py +330 -0
  124. pulumi_harness/platform/get_connector_customhealthsource.py +281 -0
  125. pulumi_harness/platform/get_connector_jdbc.py +243 -0
  126. pulumi_harness/platform/get_connector_pdc.py +229 -0
  127. pulumi_harness/platform/get_connector_rancher.py +236 -0
  128. pulumi_harness/platform/get_current_account.py +126 -0
  129. pulumi_harness/platform/get_current_user.py +252 -0
  130. pulumi_harness/platform/get_datadog_connector.py +262 -0
  131. pulumi_harness/platform/get_db_instance.py +268 -0
  132. pulumi_harness/platform/get_db_schema.py +233 -0
  133. pulumi_harness/platform/get_delegatetoken.py +214 -0
  134. pulumi_harness/platform/get_docker_connector.py +257 -0
  135. pulumi_harness/platform/get_dynatrace_connector.py +242 -0
  136. pulumi_harness/platform/get_elasticsearch_connector.py +257 -0
  137. pulumi_harness/platform/get_environment.py +263 -0
  138. pulumi_harness/platform/get_environment_clusters_mapping.py +262 -0
  139. pulumi_harness/platform/get_environment_group.py +190 -0
  140. pulumi_harness/platform/get_environment_list.py +172 -0
  141. pulumi_harness/platform/get_environment_service_overrides.py +212 -0
  142. pulumi_harness/platform/get_file_store_file.py +327 -0
  143. pulumi_harness/platform/get_file_store_folder.py +271 -0
  144. pulumi_harness/platform/get_filters.py +217 -0
  145. pulumi_harness/platform/get_gcp_cloud_cost_connector.py +257 -0
  146. pulumi_harness/platform/get_gcp_connector.py +243 -0
  147. pulumi_harness/platform/get_gcp_secret_manager_connector.py +238 -0
  148. pulumi_harness/platform/get_git_connector.py +271 -0
  149. pulumi_harness/platform/get_github_connector.py +296 -0
  150. pulumi_harness/platform/get_gitlab_connector.py +285 -0
  151. pulumi_harness/platform/get_gitops_agent.py +303 -0
  152. pulumi_harness/platform/get_gitops_agent_deploy_yaml.py +257 -0
  153. pulumi_harness/platform/get_gitops_app_project.py +191 -0
  154. pulumi_harness/platform/get_gitops_app_project_mapping.py +189 -0
  155. pulumi_harness/platform/get_gitops_applications.py +351 -0
  156. pulumi_harness/platform/get_gitops_cluster.py +216 -0
  157. pulumi_harness/platform/get_gitops_gnupg.py +219 -0
  158. pulumi_harness/platform/get_gitops_repo_cert.py +155 -0
  159. pulumi_harness/platform/get_gitops_repo_cred.py +223 -0
  160. pulumi_harness/platform/get_gitops_repository.py +230 -0
  161. pulumi_harness/platform/get_gitx_webhook.py +194 -0
  162. pulumi_harness/platform/get_helm_connector.py +243 -0
  163. pulumi_harness/platform/get_iacm_default_pipeline.py +168 -0
  164. pulumi_harness/platform/get_infra_module.py +320 -0
  165. pulumi_harness/platform/get_infrastructure.py +287 -0
  166. pulumi_harness/platform/get_input_set.py +238 -0
  167. pulumi_harness/platform/get_jenkins_connector.py +243 -0
  168. pulumi_harness/platform/get_jira_connector.py +285 -0
  169. pulumi_harness/platform/get_kubernetes_cloud_cost_connector.py +228 -0
  170. pulumi_harness/platform/get_kubernetes_connector.py +285 -0
  171. pulumi_harness/platform/get_manual_freeze.py +305 -0
  172. pulumi_harness/platform/get_monitored_service.py +134 -0
  173. pulumi_harness/platform/get_nexus_connector.py +257 -0
  174. pulumi_harness/platform/get_notification_rule.py +156 -0
  175. pulumi_harness/platform/get_oci_helm_connector.py +243 -0
  176. pulumi_harness/platform/get_organization.py +156 -0
  177. pulumi_harness/platform/get_overrides.py +198 -0
  178. pulumi_harness/platform/get_pagerduty_connector.py +224 -0
  179. pulumi_harness/platform/get_permissions.py +149 -0
  180. pulumi_harness/platform/get_pipeline.py +268 -0
  181. pulumi_harness/platform/get_pipeline_filters.py +197 -0
  182. pulumi_harness/platform/get_pipeline_list.py +269 -0
  183. pulumi_harness/platform/get_policy.py +220 -0
  184. pulumi_harness/platform/get_policy_set.py +298 -0
  185. pulumi_harness/platform/get_project.py +210 -0
  186. pulumi_harness/platform/get_project_list.py +249 -0
  187. pulumi_harness/platform/get_prometheus_connector.py +271 -0
  188. pulumi_harness/platform/get_provider.py +85 -0
  189. pulumi_harness/platform/get_repo.py +362 -0
  190. pulumi_harness/platform/get_repo_rule_branch.py +312 -0
  191. pulumi_harness/platform/get_repo_webhook.py +316 -0
  192. pulumi_harness/platform/get_resource_group.py +267 -0
  193. pulumi_harness/platform/get_role_assignments.py +223 -0
  194. pulumi_harness/platform/get_roles.py +240 -0
  195. pulumi_harness/platform/get_secret_file.py +224 -0
  196. pulumi_harness/platform/get_secret_sshkey.py +239 -0
  197. pulumi_harness/platform/get_secret_text.py +264 -0
  198. pulumi_harness/platform/get_service.py +235 -0
  199. pulumi_harness/platform/get_service_account.py +224 -0
  200. pulumi_harness/platform/get_service_list.py +172 -0
  201. pulumi_harness/platform/get_service_now_connector.py +285 -0
  202. pulumi_harness/platform/get_service_overrides_v2.py +220 -0
  203. pulumi_harness/platform/get_slo.py +134 -0
  204. pulumi_harness/platform/get_splunk_connector.py +270 -0
  205. pulumi_harness/platform/get_spot_connector.py +215 -0
  206. pulumi_harness/platform/get_sumologic_connector.py +256 -0
  207. pulumi_harness/platform/get_tas_connector.py +243 -0
  208. pulumi_harness/platform/get_template.py +386 -0
  209. pulumi_harness/platform/get_template_filters.py +221 -0
  210. pulumi_harness/platform/get_terraform_cloud_connector.py +233 -0
  211. pulumi_harness/platform/get_token.py +430 -0
  212. pulumi_harness/platform/get_triggers.py +260 -0
  213. pulumi_harness/platform/get_user.py +222 -0
  214. pulumi_harness/platform/get_usergroup.py +340 -0
  215. pulumi_harness/platform/get_variables.py +209 -0
  216. pulumi_harness/platform/get_vault_connector.py +574 -0
  217. pulumi_harness/platform/get_workspace.py +411 -0
  218. pulumi_harness/platform/get_workspace_output_value.py +168 -0
  219. pulumi_harness/platform/git_connector.py +713 -0
  220. pulumi_harness/platform/git_ops_agent.py +727 -0
  221. pulumi_harness/platform/git_ops_applications.py +1090 -0
  222. pulumi_harness/platform/git_ops_cluster.py +438 -0
  223. pulumi_harness/platform/git_ops_gnupg.py +453 -0
  224. pulumi_harness/platform/git_ops_repo_cert.py +437 -0
  225. pulumi_harness/platform/git_ops_repo_cred.py +533 -0
  226. pulumi_harness/platform/git_ops_repository.py +831 -0
  227. pulumi_harness/platform/github_connector.py +807 -0
  228. pulumi_harness/platform/gitlab_connector.py +713 -0
  229. pulumi_harness/platform/gitops_app_project.py +485 -0
  230. pulumi_harness/platform/gitops_app_project_mapping.py +423 -0
  231. pulumi_harness/platform/gitx_webhook.py +616 -0
  232. pulumi_harness/platform/helm_connector.py +617 -0
  233. pulumi_harness/platform/iacm_default_pipeline.py +343 -0
  234. pulumi_harness/platform/infra_module.py +755 -0
  235. pulumi_harness/platform/infrastructure.py +937 -0
  236. pulumi_harness/platform/input_set.py +689 -0
  237. pulumi_harness/platform/jenkins_connector.py +566 -0
  238. pulumi_harness/platform/jira_connector.py +714 -0
  239. pulumi_harness/platform/kubernetes_cloud_cost_connector.py +558 -0
  240. pulumi_harness/platform/kubernetes_connector.py +895 -0
  241. pulumi_harness/platform/manual_freeze.py +835 -0
  242. pulumi_harness/platform/monitored_service.py +1984 -0
  243. pulumi_harness/platform/newrelic_connector.py +651 -0
  244. pulumi_harness/platform/nexus_connector.py +622 -0
  245. pulumi_harness/platform/notification_rule.py +526 -0
  246. pulumi_harness/platform/oci_helm_connector.py +617 -0
  247. pulumi_harness/platform/organization.py +336 -0
  248. pulumi_harness/platform/outputs.py +23361 -0
  249. pulumi_harness/platform/overrides.py +669 -0
  250. pulumi_harness/platform/pagerduty_connector.py +547 -0
  251. pulumi_harness/platform/pipeline.py +991 -0
  252. pulumi_harness/platform/pipeline_filters.py +711 -0
  253. pulumi_harness/platform/policy.py +944 -0
  254. pulumi_harness/platform/policy_set.py +594 -0
  255. pulumi_harness/platform/project.py +453 -0
  256. pulumi_harness/platform/prometheus_connector.py +710 -0
  257. pulumi_harness/platform/provider.py +349 -0
  258. pulumi_harness/platform/repo.py +737 -0
  259. pulumi_harness/platform/repo_rule_branch.py +645 -0
  260. pulumi_harness/platform/repo_webhook.py +664 -0
  261. pulumi_harness/platform/resource_group.py +718 -0
  262. pulumi_harness/platform/role_assignments.py +524 -0
  263. pulumi_harness/platform/roles.py +546 -0
  264. pulumi_harness/platform/secret_file.py +548 -0
  265. pulumi_harness/platform/secret_sshkey.py +569 -0
  266. pulumi_harness/platform/secret_text.py +620 -0
  267. pulumi_harness/platform/service.py +1195 -0
  268. pulumi_harness/platform/service_account.py +548 -0
  269. pulumi_harness/platform/service_now_connector.py +714 -0
  270. pulumi_harness/platform/service_overrides_v2.py +915 -0
  271. pulumi_harness/platform/slo.py +462 -0
  272. pulumi_harness/platform/splunk_connector.py +701 -0
  273. pulumi_harness/platform/spot_connector.py +452 -0
  274. pulumi_harness/platform/sumologic_connector.py +651 -0
  275. pulumi_harness/platform/tas_connector.py +570 -0
  276. pulumi_harness/platform/template.py +861 -0
  277. pulumi_harness/platform/template_filters.py +515 -0
  278. pulumi_harness/platform/terraform_cloud_connector.py +545 -0
  279. pulumi_harness/platform/token.py +977 -0
  280. pulumi_harness/platform/triggers.py +680 -0
  281. pulumi_harness/platform/user.py +522 -0
  282. pulumi_harness/platform/usergroup.py +1104 -0
  283. pulumi_harness/platform/variables.py +509 -0
  284. pulumi_harness/platform/vault_connector.py +1919 -0
  285. pulumi_harness/platform/workspace.py +1145 -0
  286. pulumi_harness/platform_api_key.py +617 -0
  287. pulumi_harness/platform_ccm_filters.py +515 -0
  288. pulumi_harness/provider.py +227 -0
  289. pulumi_harness/pulumi-plugin.json +6 -0
  290. pulumi_harness/py.typed +0 -0
  291. pulumi_harness/service/__init__.py +18 -0
  292. pulumi_harness/service/_inputs.py +660 -0
  293. pulumi_harness/service/ami.py +336 -0
  294. pulumi_harness/service/codedeploy.py +336 -0
  295. pulumi_harness/service/ecs.py +336 -0
  296. pulumi_harness/service/helm.py +336 -0
  297. pulumi_harness/service/kubernetes.py +409 -0
  298. pulumi_harness/service/lambda_.py +336 -0
  299. pulumi_harness/service/outputs.py +388 -0
  300. pulumi_harness/service/ssh.py +386 -0
  301. pulumi_harness/service/tanzu.py +336 -0
  302. pulumi_harness/service/winrm.py +386 -0
  303. pulumi_harness/ssh_credential.py +361 -0
  304. pulumi_harness/user.py +423 -0
  305. pulumi_harness/user_group.py +713 -0
  306. pulumi_harness/user_group_permissions.py +247 -0
  307. pulumi_harness/yaml_config.py +336 -0
  308. pulumi_harness-0.5.0a1736833425.dist-info/METADATA +69 -0
  309. pulumi_harness-0.5.0a1736833425.dist-info/RECORD +311 -0
  310. pulumi_harness-0.5.0a1736833425.dist-info/WHEEL +5 -0
  311. pulumi_harness-0.5.0a1736833425.dist-info/top_level.txt +1 -0
@@ -0,0 +1,526 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['NotificationRuleArgs', 'NotificationRule']
20
+
21
+ @pulumi.input_type
22
+ class NotificationRuleArgs:
23
+ def __init__(__self__, *,
24
+ identifier: pulumi.Input[str],
25
+ org_id: pulumi.Input[str],
26
+ project_id: pulumi.Input[str],
27
+ request: Optional[pulumi.Input['NotificationRuleRequestArgs']] = None):
28
+ """
29
+ The set of arguments for constructing a NotificationRule resource.
30
+ :param pulumi.Input[str] identifier: Identifier of the Notification Rule.
31
+ :param pulumi.Input[str] org_id: Identifier of the organization in which the Notification Rule is configured.
32
+ :param pulumi.Input[str] project_id: Identifier of the project in which the Notification Rule is configured.
33
+ :param pulumi.Input['NotificationRuleRequestArgs'] request: Request for creating or updating Notification Rule.
34
+ """
35
+ pulumi.set(__self__, "identifier", identifier)
36
+ pulumi.set(__self__, "org_id", org_id)
37
+ pulumi.set(__self__, "project_id", project_id)
38
+ if request is not None:
39
+ pulumi.set(__self__, "request", request)
40
+
41
+ @property
42
+ @pulumi.getter
43
+ def identifier(self) -> pulumi.Input[str]:
44
+ """
45
+ Identifier of the Notification Rule.
46
+ """
47
+ return pulumi.get(self, "identifier")
48
+
49
+ @identifier.setter
50
+ def identifier(self, value: pulumi.Input[str]):
51
+ pulumi.set(self, "identifier", value)
52
+
53
+ @property
54
+ @pulumi.getter(name="orgId")
55
+ def org_id(self) -> pulumi.Input[str]:
56
+ """
57
+ Identifier of the organization in which the Notification Rule is configured.
58
+ """
59
+ return pulumi.get(self, "org_id")
60
+
61
+ @org_id.setter
62
+ def org_id(self, value: pulumi.Input[str]):
63
+ pulumi.set(self, "org_id", value)
64
+
65
+ @property
66
+ @pulumi.getter(name="projectId")
67
+ def project_id(self) -> pulumi.Input[str]:
68
+ """
69
+ Identifier of the project in which the Notification Rule is configured.
70
+ """
71
+ return pulumi.get(self, "project_id")
72
+
73
+ @project_id.setter
74
+ def project_id(self, value: pulumi.Input[str]):
75
+ pulumi.set(self, "project_id", value)
76
+
77
+ @property
78
+ @pulumi.getter
79
+ def request(self) -> Optional[pulumi.Input['NotificationRuleRequestArgs']]:
80
+ """
81
+ Request for creating or updating Notification Rule.
82
+ """
83
+ return pulumi.get(self, "request")
84
+
85
+ @request.setter
86
+ def request(self, value: Optional[pulumi.Input['NotificationRuleRequestArgs']]):
87
+ pulumi.set(self, "request", value)
88
+
89
+
90
+ @pulumi.input_type
91
+ class _NotificationRuleState:
92
+ def __init__(__self__, *,
93
+ identifier: Optional[pulumi.Input[str]] = None,
94
+ org_id: Optional[pulumi.Input[str]] = None,
95
+ project_id: Optional[pulumi.Input[str]] = None,
96
+ request: Optional[pulumi.Input['NotificationRuleRequestArgs']] = None):
97
+ """
98
+ Input properties used for looking up and filtering NotificationRule resources.
99
+ :param pulumi.Input[str] identifier: Identifier of the Notification Rule.
100
+ :param pulumi.Input[str] org_id: Identifier of the organization in which the Notification Rule is configured.
101
+ :param pulumi.Input[str] project_id: Identifier of the project in which the Notification Rule is configured.
102
+ :param pulumi.Input['NotificationRuleRequestArgs'] request: Request for creating or updating Notification Rule.
103
+ """
104
+ if identifier is not None:
105
+ pulumi.set(__self__, "identifier", identifier)
106
+ if org_id is not None:
107
+ pulumi.set(__self__, "org_id", org_id)
108
+ if project_id is not None:
109
+ pulumi.set(__self__, "project_id", project_id)
110
+ if request is not None:
111
+ pulumi.set(__self__, "request", request)
112
+
113
+ @property
114
+ @pulumi.getter
115
+ def identifier(self) -> Optional[pulumi.Input[str]]:
116
+ """
117
+ Identifier of the Notification Rule.
118
+ """
119
+ return pulumi.get(self, "identifier")
120
+
121
+ @identifier.setter
122
+ def identifier(self, value: Optional[pulumi.Input[str]]):
123
+ pulumi.set(self, "identifier", value)
124
+
125
+ @property
126
+ @pulumi.getter(name="orgId")
127
+ def org_id(self) -> Optional[pulumi.Input[str]]:
128
+ """
129
+ Identifier of the organization in which the Notification Rule is configured.
130
+ """
131
+ return pulumi.get(self, "org_id")
132
+
133
+ @org_id.setter
134
+ def org_id(self, value: Optional[pulumi.Input[str]]):
135
+ pulumi.set(self, "org_id", value)
136
+
137
+ @property
138
+ @pulumi.getter(name="projectId")
139
+ def project_id(self) -> Optional[pulumi.Input[str]]:
140
+ """
141
+ Identifier of the project in which the Notification Rule is configured.
142
+ """
143
+ return pulumi.get(self, "project_id")
144
+
145
+ @project_id.setter
146
+ def project_id(self, value: Optional[pulumi.Input[str]]):
147
+ pulumi.set(self, "project_id", value)
148
+
149
+ @property
150
+ @pulumi.getter
151
+ def request(self) -> Optional[pulumi.Input['NotificationRuleRequestArgs']]:
152
+ """
153
+ Request for creating or updating Notification Rule.
154
+ """
155
+ return pulumi.get(self, "request")
156
+
157
+ @request.setter
158
+ def request(self, value: Optional[pulumi.Input['NotificationRuleRequestArgs']]):
159
+ pulumi.set(self, "request", value)
160
+
161
+
162
+ class NotificationRule(pulumi.CustomResource):
163
+ @overload
164
+ def __init__(__self__,
165
+ resource_name: str,
166
+ opts: Optional[pulumi.ResourceOptions] = None,
167
+ identifier: Optional[pulumi.Input[str]] = None,
168
+ org_id: Optional[pulumi.Input[str]] = None,
169
+ project_id: Optional[pulumi.Input[str]] = None,
170
+ request: Optional[pulumi.Input[Union['NotificationRuleRequestArgs', 'NotificationRuleRequestArgsDict']]] = None,
171
+ __props__=None):
172
+ """
173
+ Resource for creating a Notification Rule.
174
+
175
+ ## Example Usage
176
+
177
+ ```python
178
+ import pulumi
179
+ import json
180
+ import pulumi_harness as harness
181
+
182
+ # Sample resource for SLO
183
+ example = harness.platform.NotificationRule("example",
184
+ org_id="org_id",
185
+ project_id="project_id",
186
+ identifier="identifier",
187
+ request={
188
+ "name": "name",
189
+ "notification_method": {
190
+ "type": "Slack",
191
+ "spec": json.dumps({
192
+ "webhook_url": "http://myslackwebhookurl.com",
193
+ "user_groups": ["account.test"],
194
+ }),
195
+ },
196
+ "type": "ServiceLevelObjective",
197
+ "conditions": [
198
+ {
199
+ "type": "ErrorBudgetBurnRate",
200
+ "spec": json.dumps({
201
+ "threshold": 1,
202
+ }),
203
+ },
204
+ {
205
+ "type": "ErrorBudgetRemainingPercentage",
206
+ "spec": json.dumps({
207
+ "threshold": 30,
208
+ }),
209
+ },
210
+ {
211
+ "type": "ErrorBudgetRemainingMinutes",
212
+ "spec": json.dumps({
213
+ "threshold": 300,
214
+ }),
215
+ },
216
+ ],
217
+ })
218
+ # Sample resource for Monitored Service
219
+ example1 = harness.platform.NotificationRule("example1",
220
+ org_id="org_id",
221
+ project_id="project_id",
222
+ identifier="identifier",
223
+ request={
224
+ "name": "name",
225
+ "notification_method": {
226
+ "type": "Slack",
227
+ "spec": json.dumps({
228
+ "webhook_url": "http://myslackwebhookurl.com",
229
+ "user_groups": ["account.test"],
230
+ }),
231
+ },
232
+ "type": "MonitoredService",
233
+ "conditions": [
234
+ {
235
+ "type": "ChangeImpact",
236
+ "spec": json.dumps({
237
+ "threshold": 33,
238
+ "period": "30m",
239
+ "changeCategories": [
240
+ "Deployment",
241
+ "Infrastructure",
242
+ ],
243
+ }),
244
+ },
245
+ {
246
+ "type": "HealthScore",
247
+ "spec": json.dumps({
248
+ "threshold": 33,
249
+ "period": "30m",
250
+ }),
251
+ },
252
+ {
253
+ "type": "ChangeObserved",
254
+ "spec": json.dumps({
255
+ "changeCategories": [
256
+ "Deployment",
257
+ "Alert",
258
+ "ChaosExperiment",
259
+ ],
260
+ }),
261
+ },
262
+ {
263
+ "type": "DeploymentImpactReport",
264
+ "spec": json.dumps({}),
265
+ },
266
+ ],
267
+ })
268
+ ```
269
+
270
+ ## Import
271
+
272
+ Import account level Notification Rule
273
+
274
+ ```sh
275
+ $ pulumi import harness:platform/notificationRule:NotificationRule example <notification_rule_id>
276
+ ```
277
+
278
+ Import organization level Notification Rule
279
+
280
+ ```sh
281
+ $ pulumi import harness:platform/notificationRule:NotificationRule example <org_id>/<notification_rule_id>
282
+ ```
283
+
284
+ Import project level Notification Rule
285
+
286
+ ```sh
287
+ $ pulumi import harness:platform/notificationRule:NotificationRule example <org_id>/<project_id>/<notification_rule_id>
288
+ ```
289
+
290
+ :param str resource_name: The name of the resource.
291
+ :param pulumi.ResourceOptions opts: Options for the resource.
292
+ :param pulumi.Input[str] identifier: Identifier of the Notification Rule.
293
+ :param pulumi.Input[str] org_id: Identifier of the organization in which the Notification Rule is configured.
294
+ :param pulumi.Input[str] project_id: Identifier of the project in which the Notification Rule is configured.
295
+ :param pulumi.Input[Union['NotificationRuleRequestArgs', 'NotificationRuleRequestArgsDict']] request: Request for creating or updating Notification Rule.
296
+ """
297
+ ...
298
+ @overload
299
+ def __init__(__self__,
300
+ resource_name: str,
301
+ args: NotificationRuleArgs,
302
+ opts: Optional[pulumi.ResourceOptions] = None):
303
+ """
304
+ Resource for creating a Notification Rule.
305
+
306
+ ## Example Usage
307
+
308
+ ```python
309
+ import pulumi
310
+ import json
311
+ import pulumi_harness as harness
312
+
313
+ # Sample resource for SLO
314
+ example = harness.platform.NotificationRule("example",
315
+ org_id="org_id",
316
+ project_id="project_id",
317
+ identifier="identifier",
318
+ request={
319
+ "name": "name",
320
+ "notification_method": {
321
+ "type": "Slack",
322
+ "spec": json.dumps({
323
+ "webhook_url": "http://myslackwebhookurl.com",
324
+ "user_groups": ["account.test"],
325
+ }),
326
+ },
327
+ "type": "ServiceLevelObjective",
328
+ "conditions": [
329
+ {
330
+ "type": "ErrorBudgetBurnRate",
331
+ "spec": json.dumps({
332
+ "threshold": 1,
333
+ }),
334
+ },
335
+ {
336
+ "type": "ErrorBudgetRemainingPercentage",
337
+ "spec": json.dumps({
338
+ "threshold": 30,
339
+ }),
340
+ },
341
+ {
342
+ "type": "ErrorBudgetRemainingMinutes",
343
+ "spec": json.dumps({
344
+ "threshold": 300,
345
+ }),
346
+ },
347
+ ],
348
+ })
349
+ # Sample resource for Monitored Service
350
+ example1 = harness.platform.NotificationRule("example1",
351
+ org_id="org_id",
352
+ project_id="project_id",
353
+ identifier="identifier",
354
+ request={
355
+ "name": "name",
356
+ "notification_method": {
357
+ "type": "Slack",
358
+ "spec": json.dumps({
359
+ "webhook_url": "http://myslackwebhookurl.com",
360
+ "user_groups": ["account.test"],
361
+ }),
362
+ },
363
+ "type": "MonitoredService",
364
+ "conditions": [
365
+ {
366
+ "type": "ChangeImpact",
367
+ "spec": json.dumps({
368
+ "threshold": 33,
369
+ "period": "30m",
370
+ "changeCategories": [
371
+ "Deployment",
372
+ "Infrastructure",
373
+ ],
374
+ }),
375
+ },
376
+ {
377
+ "type": "HealthScore",
378
+ "spec": json.dumps({
379
+ "threshold": 33,
380
+ "period": "30m",
381
+ }),
382
+ },
383
+ {
384
+ "type": "ChangeObserved",
385
+ "spec": json.dumps({
386
+ "changeCategories": [
387
+ "Deployment",
388
+ "Alert",
389
+ "ChaosExperiment",
390
+ ],
391
+ }),
392
+ },
393
+ {
394
+ "type": "DeploymentImpactReport",
395
+ "spec": json.dumps({}),
396
+ },
397
+ ],
398
+ })
399
+ ```
400
+
401
+ ## Import
402
+
403
+ Import account level Notification Rule
404
+
405
+ ```sh
406
+ $ pulumi import harness:platform/notificationRule:NotificationRule example <notification_rule_id>
407
+ ```
408
+
409
+ Import organization level Notification Rule
410
+
411
+ ```sh
412
+ $ pulumi import harness:platform/notificationRule:NotificationRule example <org_id>/<notification_rule_id>
413
+ ```
414
+
415
+ Import project level Notification Rule
416
+
417
+ ```sh
418
+ $ pulumi import harness:platform/notificationRule:NotificationRule example <org_id>/<project_id>/<notification_rule_id>
419
+ ```
420
+
421
+ :param str resource_name: The name of the resource.
422
+ :param NotificationRuleArgs args: The arguments to use to populate this resource's properties.
423
+ :param pulumi.ResourceOptions opts: Options for the resource.
424
+ """
425
+ ...
426
+ def __init__(__self__, resource_name: str, *args, **kwargs):
427
+ resource_args, opts = _utilities.get_resource_args_opts(NotificationRuleArgs, pulumi.ResourceOptions, *args, **kwargs)
428
+ if resource_args is not None:
429
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
430
+ else:
431
+ __self__._internal_init(resource_name, *args, **kwargs)
432
+
433
+ def _internal_init(__self__,
434
+ resource_name: str,
435
+ opts: Optional[pulumi.ResourceOptions] = None,
436
+ identifier: Optional[pulumi.Input[str]] = None,
437
+ org_id: Optional[pulumi.Input[str]] = None,
438
+ project_id: Optional[pulumi.Input[str]] = None,
439
+ request: Optional[pulumi.Input[Union['NotificationRuleRequestArgs', 'NotificationRuleRequestArgsDict']]] = None,
440
+ __props__=None):
441
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
442
+ if not isinstance(opts, pulumi.ResourceOptions):
443
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
444
+ if opts.id is None:
445
+ if __props__ is not None:
446
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
447
+ __props__ = NotificationRuleArgs.__new__(NotificationRuleArgs)
448
+
449
+ if identifier is None and not opts.urn:
450
+ raise TypeError("Missing required property 'identifier'")
451
+ __props__.__dict__["identifier"] = identifier
452
+ if org_id is None and not opts.urn:
453
+ raise TypeError("Missing required property 'org_id'")
454
+ __props__.__dict__["org_id"] = org_id
455
+ if project_id is None and not opts.urn:
456
+ raise TypeError("Missing required property 'project_id'")
457
+ __props__.__dict__["project_id"] = project_id
458
+ __props__.__dict__["request"] = request
459
+ super(NotificationRule, __self__).__init__(
460
+ 'harness:platform/notificationRule:NotificationRule',
461
+ resource_name,
462
+ __props__,
463
+ opts)
464
+
465
+ @staticmethod
466
+ def get(resource_name: str,
467
+ id: pulumi.Input[str],
468
+ opts: Optional[pulumi.ResourceOptions] = None,
469
+ identifier: Optional[pulumi.Input[str]] = None,
470
+ org_id: Optional[pulumi.Input[str]] = None,
471
+ project_id: Optional[pulumi.Input[str]] = None,
472
+ request: Optional[pulumi.Input[Union['NotificationRuleRequestArgs', 'NotificationRuleRequestArgsDict']]] = None) -> 'NotificationRule':
473
+ """
474
+ Get an existing NotificationRule resource's state with the given name, id, and optional extra
475
+ properties used to qualify the lookup.
476
+
477
+ :param str resource_name: The unique name of the resulting resource.
478
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
479
+ :param pulumi.ResourceOptions opts: Options for the resource.
480
+ :param pulumi.Input[str] identifier: Identifier of the Notification Rule.
481
+ :param pulumi.Input[str] org_id: Identifier of the organization in which the Notification Rule is configured.
482
+ :param pulumi.Input[str] project_id: Identifier of the project in which the Notification Rule is configured.
483
+ :param pulumi.Input[Union['NotificationRuleRequestArgs', 'NotificationRuleRequestArgsDict']] request: Request for creating or updating Notification Rule.
484
+ """
485
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
486
+
487
+ __props__ = _NotificationRuleState.__new__(_NotificationRuleState)
488
+
489
+ __props__.__dict__["identifier"] = identifier
490
+ __props__.__dict__["org_id"] = org_id
491
+ __props__.__dict__["project_id"] = project_id
492
+ __props__.__dict__["request"] = request
493
+ return NotificationRule(resource_name, opts=opts, __props__=__props__)
494
+
495
+ @property
496
+ @pulumi.getter
497
+ def identifier(self) -> pulumi.Output[str]:
498
+ """
499
+ Identifier of the Notification Rule.
500
+ """
501
+ return pulumi.get(self, "identifier")
502
+
503
+ @property
504
+ @pulumi.getter(name="orgId")
505
+ def org_id(self) -> pulumi.Output[str]:
506
+ """
507
+ Identifier of the organization in which the Notification Rule is configured.
508
+ """
509
+ return pulumi.get(self, "org_id")
510
+
511
+ @property
512
+ @pulumi.getter(name="projectId")
513
+ def project_id(self) -> pulumi.Output[str]:
514
+ """
515
+ Identifier of the project in which the Notification Rule is configured.
516
+ """
517
+ return pulumi.get(self, "project_id")
518
+
519
+ @property
520
+ @pulumi.getter
521
+ def request(self) -> pulumi.Output[Optional['outputs.NotificationRuleRequest']]:
522
+ """
523
+ Request for creating or updating Notification Rule.
524
+ """
525
+ return pulumi.get(self, "request")
526
+