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,337 @@
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
+
17
+ __all__ = ['RuleArgs', 'Rule']
18
+
19
+ @pulumi.input_type
20
+ class RuleArgs:
21
+ def __init__(__self__, *,
22
+ cloud_provider: pulumi.Input[str],
23
+ rules_yaml: pulumi.Input[str],
24
+ description: Optional[pulumi.Input[str]] = None,
25
+ name: Optional[pulumi.Input[str]] = None):
26
+ """
27
+ The set of arguments for constructing a Rule resource.
28
+ :param pulumi.Input[str] cloud_provider: The cloud provider for the rule. It should be either AWS, AZURE or GCP.
29
+ :param pulumi.Input[str] rules_yaml: The policy YAML of the rule
30
+ :param pulumi.Input[str] description: Description for rule.
31
+ :param pulumi.Input[str] name: Name of the rule.
32
+ """
33
+ pulumi.set(__self__, "cloud_provider", cloud_provider)
34
+ pulumi.set(__self__, "rules_yaml", rules_yaml)
35
+ if description is not None:
36
+ pulumi.set(__self__, "description", description)
37
+ if name is not None:
38
+ pulumi.set(__self__, "name", name)
39
+
40
+ @property
41
+ @pulumi.getter(name="cloudProvider")
42
+ def cloud_provider(self) -> pulumi.Input[str]:
43
+ """
44
+ The cloud provider for the rule. It should be either AWS, AZURE or GCP.
45
+ """
46
+ return pulumi.get(self, "cloud_provider")
47
+
48
+ @cloud_provider.setter
49
+ def cloud_provider(self, value: pulumi.Input[str]):
50
+ pulumi.set(self, "cloud_provider", value)
51
+
52
+ @property
53
+ @pulumi.getter(name="rulesYaml")
54
+ def rules_yaml(self) -> pulumi.Input[str]:
55
+ """
56
+ The policy YAML of the rule
57
+ """
58
+ return pulumi.get(self, "rules_yaml")
59
+
60
+ @rules_yaml.setter
61
+ def rules_yaml(self, value: pulumi.Input[str]):
62
+ pulumi.set(self, "rules_yaml", value)
63
+
64
+ @property
65
+ @pulumi.getter
66
+ def description(self) -> Optional[pulumi.Input[str]]:
67
+ """
68
+ Description for rule.
69
+ """
70
+ return pulumi.get(self, "description")
71
+
72
+ @description.setter
73
+ def description(self, value: Optional[pulumi.Input[str]]):
74
+ pulumi.set(self, "description", value)
75
+
76
+ @property
77
+ @pulumi.getter
78
+ def name(self) -> Optional[pulumi.Input[str]]:
79
+ """
80
+ Name of the rule.
81
+ """
82
+ return pulumi.get(self, "name")
83
+
84
+ @name.setter
85
+ def name(self, value: Optional[pulumi.Input[str]]):
86
+ pulumi.set(self, "name", value)
87
+
88
+
89
+ @pulumi.input_type
90
+ class _RuleState:
91
+ def __init__(__self__, *,
92
+ cloud_provider: Optional[pulumi.Input[str]] = None,
93
+ description: Optional[pulumi.Input[str]] = None,
94
+ name: Optional[pulumi.Input[str]] = None,
95
+ rule_id: Optional[pulumi.Input[str]] = None,
96
+ rules_yaml: Optional[pulumi.Input[str]] = None):
97
+ """
98
+ Input properties used for looking up and filtering Rule resources.
99
+ :param pulumi.Input[str] cloud_provider: The cloud provider for the rule. It should be either AWS, AZURE or GCP.
100
+ :param pulumi.Input[str] description: Description for rule.
101
+ :param pulumi.Input[str] name: Name of the rule.
102
+ :param pulumi.Input[str] rule_id: Id of the rule.
103
+ :param pulumi.Input[str] rules_yaml: The policy YAML of the rule
104
+ """
105
+ if cloud_provider is not None:
106
+ pulumi.set(__self__, "cloud_provider", cloud_provider)
107
+ if description is not None:
108
+ pulumi.set(__self__, "description", description)
109
+ if name is not None:
110
+ pulumi.set(__self__, "name", name)
111
+ if rule_id is not None:
112
+ pulumi.set(__self__, "rule_id", rule_id)
113
+ if rules_yaml is not None:
114
+ pulumi.set(__self__, "rules_yaml", rules_yaml)
115
+
116
+ @property
117
+ @pulumi.getter(name="cloudProvider")
118
+ def cloud_provider(self) -> Optional[pulumi.Input[str]]:
119
+ """
120
+ The cloud provider for the rule. It should be either AWS, AZURE or GCP.
121
+ """
122
+ return pulumi.get(self, "cloud_provider")
123
+
124
+ @cloud_provider.setter
125
+ def cloud_provider(self, value: Optional[pulumi.Input[str]]):
126
+ pulumi.set(self, "cloud_provider", value)
127
+
128
+ @property
129
+ @pulumi.getter
130
+ def description(self) -> Optional[pulumi.Input[str]]:
131
+ """
132
+ Description for rule.
133
+ """
134
+ return pulumi.get(self, "description")
135
+
136
+ @description.setter
137
+ def description(self, value: Optional[pulumi.Input[str]]):
138
+ pulumi.set(self, "description", value)
139
+
140
+ @property
141
+ @pulumi.getter
142
+ def name(self) -> Optional[pulumi.Input[str]]:
143
+ """
144
+ Name of the rule.
145
+ """
146
+ return pulumi.get(self, "name")
147
+
148
+ @name.setter
149
+ def name(self, value: Optional[pulumi.Input[str]]):
150
+ pulumi.set(self, "name", value)
151
+
152
+ @property
153
+ @pulumi.getter(name="ruleId")
154
+ def rule_id(self) -> Optional[pulumi.Input[str]]:
155
+ """
156
+ Id of the rule.
157
+ """
158
+ return pulumi.get(self, "rule_id")
159
+
160
+ @rule_id.setter
161
+ def rule_id(self, value: Optional[pulumi.Input[str]]):
162
+ pulumi.set(self, "rule_id", value)
163
+
164
+ @property
165
+ @pulumi.getter(name="rulesYaml")
166
+ def rules_yaml(self) -> Optional[pulumi.Input[str]]:
167
+ """
168
+ The policy YAML of the rule
169
+ """
170
+ return pulumi.get(self, "rules_yaml")
171
+
172
+ @rules_yaml.setter
173
+ def rules_yaml(self, value: Optional[pulumi.Input[str]]):
174
+ pulumi.set(self, "rules_yaml", value)
175
+
176
+
177
+ class Rule(pulumi.CustomResource):
178
+ @overload
179
+ def __init__(__self__,
180
+ resource_name: str,
181
+ opts: Optional[pulumi.ResourceOptions] = None,
182
+ cloud_provider: Optional[pulumi.Input[str]] = None,
183
+ description: Optional[pulumi.Input[str]] = None,
184
+ name: Optional[pulumi.Input[str]] = None,
185
+ rules_yaml: Optional[pulumi.Input[str]] = None,
186
+ __props__=None):
187
+ """
188
+ Resource for creating, updating, and managing rule.
189
+
190
+ ## Import
191
+
192
+ Import governance enforcement
193
+
194
+ ```sh
195
+ $ pulumi import harness:governance/rule:Rule example <rule_id>
196
+ ```
197
+
198
+ :param str resource_name: The name of the resource.
199
+ :param pulumi.ResourceOptions opts: Options for the resource.
200
+ :param pulumi.Input[str] cloud_provider: The cloud provider for the rule. It should be either AWS, AZURE or GCP.
201
+ :param pulumi.Input[str] description: Description for rule.
202
+ :param pulumi.Input[str] name: Name of the rule.
203
+ :param pulumi.Input[str] rules_yaml: The policy YAML of the rule
204
+ """
205
+ ...
206
+ @overload
207
+ def __init__(__self__,
208
+ resource_name: str,
209
+ args: RuleArgs,
210
+ opts: Optional[pulumi.ResourceOptions] = None):
211
+ """
212
+ Resource for creating, updating, and managing rule.
213
+
214
+ ## Import
215
+
216
+ Import governance enforcement
217
+
218
+ ```sh
219
+ $ pulumi import harness:governance/rule:Rule example <rule_id>
220
+ ```
221
+
222
+ :param str resource_name: The name of the resource.
223
+ :param RuleArgs args: The arguments to use to populate this resource's properties.
224
+ :param pulumi.ResourceOptions opts: Options for the resource.
225
+ """
226
+ ...
227
+ def __init__(__self__, resource_name: str, *args, **kwargs):
228
+ resource_args, opts = _utilities.get_resource_args_opts(RuleArgs, pulumi.ResourceOptions, *args, **kwargs)
229
+ if resource_args is not None:
230
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
231
+ else:
232
+ __self__._internal_init(resource_name, *args, **kwargs)
233
+
234
+ def _internal_init(__self__,
235
+ resource_name: str,
236
+ opts: Optional[pulumi.ResourceOptions] = None,
237
+ cloud_provider: Optional[pulumi.Input[str]] = None,
238
+ description: Optional[pulumi.Input[str]] = None,
239
+ name: Optional[pulumi.Input[str]] = None,
240
+ rules_yaml: Optional[pulumi.Input[str]] = None,
241
+ __props__=None):
242
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
243
+ if not isinstance(opts, pulumi.ResourceOptions):
244
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
245
+ if opts.id is None:
246
+ if __props__ is not None:
247
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
248
+ __props__ = RuleArgs.__new__(RuleArgs)
249
+
250
+ if cloud_provider is None and not opts.urn:
251
+ raise TypeError("Missing required property 'cloud_provider'")
252
+ __props__.__dict__["cloud_provider"] = cloud_provider
253
+ __props__.__dict__["description"] = description
254
+ __props__.__dict__["name"] = name
255
+ if rules_yaml is None and not opts.urn:
256
+ raise TypeError("Missing required property 'rules_yaml'")
257
+ __props__.__dict__["rules_yaml"] = rules_yaml
258
+ __props__.__dict__["rule_id"] = None
259
+ super(Rule, __self__).__init__(
260
+ 'harness:governance/rule:Rule',
261
+ resource_name,
262
+ __props__,
263
+ opts)
264
+
265
+ @staticmethod
266
+ def get(resource_name: str,
267
+ id: pulumi.Input[str],
268
+ opts: Optional[pulumi.ResourceOptions] = None,
269
+ cloud_provider: Optional[pulumi.Input[str]] = None,
270
+ description: Optional[pulumi.Input[str]] = None,
271
+ name: Optional[pulumi.Input[str]] = None,
272
+ rule_id: Optional[pulumi.Input[str]] = None,
273
+ rules_yaml: Optional[pulumi.Input[str]] = None) -> 'Rule':
274
+ """
275
+ Get an existing Rule resource's state with the given name, id, and optional extra
276
+ properties used to qualify the lookup.
277
+
278
+ :param str resource_name: The unique name of the resulting resource.
279
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
280
+ :param pulumi.ResourceOptions opts: Options for the resource.
281
+ :param pulumi.Input[str] cloud_provider: The cloud provider for the rule. It should be either AWS, AZURE or GCP.
282
+ :param pulumi.Input[str] description: Description for rule.
283
+ :param pulumi.Input[str] name: Name of the rule.
284
+ :param pulumi.Input[str] rule_id: Id of the rule.
285
+ :param pulumi.Input[str] rules_yaml: The policy YAML of the rule
286
+ """
287
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
288
+
289
+ __props__ = _RuleState.__new__(_RuleState)
290
+
291
+ __props__.__dict__["cloud_provider"] = cloud_provider
292
+ __props__.__dict__["description"] = description
293
+ __props__.__dict__["name"] = name
294
+ __props__.__dict__["rule_id"] = rule_id
295
+ __props__.__dict__["rules_yaml"] = rules_yaml
296
+ return Rule(resource_name, opts=opts, __props__=__props__)
297
+
298
+ @property
299
+ @pulumi.getter(name="cloudProvider")
300
+ def cloud_provider(self) -> pulumi.Output[str]:
301
+ """
302
+ The cloud provider for the rule. It should be either AWS, AZURE or GCP.
303
+ """
304
+ return pulumi.get(self, "cloud_provider")
305
+
306
+ @property
307
+ @pulumi.getter
308
+ def description(self) -> pulumi.Output[Optional[str]]:
309
+ """
310
+ Description for rule.
311
+ """
312
+ return pulumi.get(self, "description")
313
+
314
+ @property
315
+ @pulumi.getter
316
+ def name(self) -> pulumi.Output[str]:
317
+ """
318
+ Name of the rule.
319
+ """
320
+ return pulumi.get(self, "name")
321
+
322
+ @property
323
+ @pulumi.getter(name="ruleId")
324
+ def rule_id(self) -> pulumi.Output[str]:
325
+ """
326
+ Id of the rule.
327
+ """
328
+ return pulumi.get(self, "rule_id")
329
+
330
+ @property
331
+ @pulumi.getter(name="rulesYaml")
332
+ def rules_yaml(self) -> pulumi.Output[str]:
333
+ """
334
+ The policy YAML of the rule
335
+ """
336
+ return pulumi.get(self, "rules_yaml")
337
+