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,668 @@
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__ = ['RuleEnforcementArgs', 'RuleEnforcement']
18
+
19
+ @pulumi.input_type
20
+ class RuleEnforcementArgs:
21
+ def __init__(__self__, *,
22
+ cloud_provider: pulumi.Input[str],
23
+ execution_schedule: pulumi.Input[str],
24
+ execution_timezone: pulumi.Input[str],
25
+ target_accounts: pulumi.Input[Sequence[pulumi.Input[str]]],
26
+ description: Optional[pulumi.Input[str]] = None,
27
+ is_dry_run: Optional[pulumi.Input[bool]] = None,
28
+ is_enabled: Optional[pulumi.Input[bool]] = None,
29
+ name: Optional[pulumi.Input[str]] = None,
30
+ rule_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
31
+ rule_set_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
32
+ target_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
33
+ """
34
+ The set of arguments for constructing a RuleEnforcement resource.
35
+ :param pulumi.Input[str] cloud_provider: The cloud provider for the rule enforcement. It should be either AWS, AZURE or GCP.
36
+ :param pulumi.Input[str] execution_schedule: Execution schedule in cron format.
37
+ :param pulumi.Input[str] execution_timezone: Timezone for the execution schedule.
38
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] target_accounts: List of target account which can be either AWS Account Ids or Azure Subscription Ids or Gcp Project Ids.
39
+ :param pulumi.Input[str] description: Description for rule enforcement.
40
+ :param pulumi.Input[bool] is_dry_run: Indicates if the rule enforcement is a dry run. This by default is set to false.
41
+ :param pulumi.Input[bool] is_enabled: Indicates if the rule enforcement is enabled. This by default is set to true.
42
+ :param pulumi.Input[str] name: Name of the rule enforcement.
43
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] rule_ids: List of rule IDs. Either rule*ids or rule*set_ids should be provided.
44
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] rule_set_ids: List of rule set IDs. Either rule*ids or rule*set_ids should be provided.
45
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] target_regions: List of target regions. For GCP it should be left empty but is required in case of AWS or Azure.
46
+ """
47
+ pulumi.set(__self__, "cloud_provider", cloud_provider)
48
+ pulumi.set(__self__, "execution_schedule", execution_schedule)
49
+ pulumi.set(__self__, "execution_timezone", execution_timezone)
50
+ pulumi.set(__self__, "target_accounts", target_accounts)
51
+ if description is not None:
52
+ pulumi.set(__self__, "description", description)
53
+ if is_dry_run is not None:
54
+ pulumi.set(__self__, "is_dry_run", is_dry_run)
55
+ if is_enabled is not None:
56
+ pulumi.set(__self__, "is_enabled", is_enabled)
57
+ if name is not None:
58
+ pulumi.set(__self__, "name", name)
59
+ if rule_ids is not None:
60
+ pulumi.set(__self__, "rule_ids", rule_ids)
61
+ if rule_set_ids is not None:
62
+ pulumi.set(__self__, "rule_set_ids", rule_set_ids)
63
+ if target_regions is not None:
64
+ pulumi.set(__self__, "target_regions", target_regions)
65
+
66
+ @property
67
+ @pulumi.getter(name="cloudProvider")
68
+ def cloud_provider(self) -> pulumi.Input[str]:
69
+ """
70
+ The cloud provider for the rule enforcement. It should be either AWS, AZURE or GCP.
71
+ """
72
+ return pulumi.get(self, "cloud_provider")
73
+
74
+ @cloud_provider.setter
75
+ def cloud_provider(self, value: pulumi.Input[str]):
76
+ pulumi.set(self, "cloud_provider", value)
77
+
78
+ @property
79
+ @pulumi.getter(name="executionSchedule")
80
+ def execution_schedule(self) -> pulumi.Input[str]:
81
+ """
82
+ Execution schedule in cron format.
83
+ """
84
+ return pulumi.get(self, "execution_schedule")
85
+
86
+ @execution_schedule.setter
87
+ def execution_schedule(self, value: pulumi.Input[str]):
88
+ pulumi.set(self, "execution_schedule", value)
89
+
90
+ @property
91
+ @pulumi.getter(name="executionTimezone")
92
+ def execution_timezone(self) -> pulumi.Input[str]:
93
+ """
94
+ Timezone for the execution schedule.
95
+ """
96
+ return pulumi.get(self, "execution_timezone")
97
+
98
+ @execution_timezone.setter
99
+ def execution_timezone(self, value: pulumi.Input[str]):
100
+ pulumi.set(self, "execution_timezone", value)
101
+
102
+ @property
103
+ @pulumi.getter(name="targetAccounts")
104
+ def target_accounts(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
105
+ """
106
+ List of target account which can be either AWS Account Ids or Azure Subscription Ids or Gcp Project Ids.
107
+ """
108
+ return pulumi.get(self, "target_accounts")
109
+
110
+ @target_accounts.setter
111
+ def target_accounts(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
112
+ pulumi.set(self, "target_accounts", value)
113
+
114
+ @property
115
+ @pulumi.getter
116
+ def description(self) -> Optional[pulumi.Input[str]]:
117
+ """
118
+ Description for rule enforcement.
119
+ """
120
+ return pulumi.get(self, "description")
121
+
122
+ @description.setter
123
+ def description(self, value: Optional[pulumi.Input[str]]):
124
+ pulumi.set(self, "description", value)
125
+
126
+ @property
127
+ @pulumi.getter(name="isDryRun")
128
+ def is_dry_run(self) -> Optional[pulumi.Input[bool]]:
129
+ """
130
+ Indicates if the rule enforcement is a dry run. This by default is set to false.
131
+ """
132
+ return pulumi.get(self, "is_dry_run")
133
+
134
+ @is_dry_run.setter
135
+ def is_dry_run(self, value: Optional[pulumi.Input[bool]]):
136
+ pulumi.set(self, "is_dry_run", value)
137
+
138
+ @property
139
+ @pulumi.getter(name="isEnabled")
140
+ def is_enabled(self) -> Optional[pulumi.Input[bool]]:
141
+ """
142
+ Indicates if the rule enforcement is enabled. This by default is set to true.
143
+ """
144
+ return pulumi.get(self, "is_enabled")
145
+
146
+ @is_enabled.setter
147
+ def is_enabled(self, value: Optional[pulumi.Input[bool]]):
148
+ pulumi.set(self, "is_enabled", value)
149
+
150
+ @property
151
+ @pulumi.getter
152
+ def name(self) -> Optional[pulumi.Input[str]]:
153
+ """
154
+ Name of the rule enforcement.
155
+ """
156
+ return pulumi.get(self, "name")
157
+
158
+ @name.setter
159
+ def name(self, value: Optional[pulumi.Input[str]]):
160
+ pulumi.set(self, "name", value)
161
+
162
+ @property
163
+ @pulumi.getter(name="ruleIds")
164
+ def rule_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
165
+ """
166
+ List of rule IDs. Either rule*ids or rule*set_ids should be provided.
167
+ """
168
+ return pulumi.get(self, "rule_ids")
169
+
170
+ @rule_ids.setter
171
+ def rule_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
172
+ pulumi.set(self, "rule_ids", value)
173
+
174
+ @property
175
+ @pulumi.getter(name="ruleSetIds")
176
+ def rule_set_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
177
+ """
178
+ List of rule set IDs. Either rule*ids or rule*set_ids should be provided.
179
+ """
180
+ return pulumi.get(self, "rule_set_ids")
181
+
182
+ @rule_set_ids.setter
183
+ def rule_set_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
184
+ pulumi.set(self, "rule_set_ids", value)
185
+
186
+ @property
187
+ @pulumi.getter(name="targetRegions")
188
+ def target_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
189
+ """
190
+ List of target regions. For GCP it should be left empty but is required in case of AWS or Azure.
191
+ """
192
+ return pulumi.get(self, "target_regions")
193
+
194
+ @target_regions.setter
195
+ def target_regions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
196
+ pulumi.set(self, "target_regions", value)
197
+
198
+
199
+ @pulumi.input_type
200
+ class _RuleEnforcementState:
201
+ def __init__(__self__, *,
202
+ cloud_provider: Optional[pulumi.Input[str]] = None,
203
+ description: Optional[pulumi.Input[str]] = None,
204
+ enforcement_id: Optional[pulumi.Input[str]] = None,
205
+ execution_schedule: Optional[pulumi.Input[str]] = None,
206
+ execution_timezone: Optional[pulumi.Input[str]] = None,
207
+ is_dry_run: Optional[pulumi.Input[bool]] = None,
208
+ is_enabled: Optional[pulumi.Input[bool]] = None,
209
+ name: Optional[pulumi.Input[str]] = None,
210
+ rule_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
211
+ rule_set_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
212
+ target_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
213
+ target_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
214
+ """
215
+ Input properties used for looking up and filtering RuleEnforcement resources.
216
+ :param pulumi.Input[str] cloud_provider: The cloud provider for the rule enforcement. It should be either AWS, AZURE or GCP.
217
+ :param pulumi.Input[str] description: Description for rule enforcement.
218
+ :param pulumi.Input[str] enforcement_id: Id of the rule enforcement.
219
+ :param pulumi.Input[str] execution_schedule: Execution schedule in cron format.
220
+ :param pulumi.Input[str] execution_timezone: Timezone for the execution schedule.
221
+ :param pulumi.Input[bool] is_dry_run: Indicates if the rule enforcement is a dry run. This by default is set to false.
222
+ :param pulumi.Input[bool] is_enabled: Indicates if the rule enforcement is enabled. This by default is set to true.
223
+ :param pulumi.Input[str] name: Name of the rule enforcement.
224
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] rule_ids: List of rule IDs. Either rule*ids or rule*set_ids should be provided.
225
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] rule_set_ids: List of rule set IDs. Either rule*ids or rule*set_ids should be provided.
226
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] target_accounts: List of target account which can be either AWS Account Ids or Azure Subscription Ids or Gcp Project Ids.
227
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] target_regions: List of target regions. For GCP it should be left empty but is required in case of AWS or Azure.
228
+ """
229
+ if cloud_provider is not None:
230
+ pulumi.set(__self__, "cloud_provider", cloud_provider)
231
+ if description is not None:
232
+ pulumi.set(__self__, "description", description)
233
+ if enforcement_id is not None:
234
+ pulumi.set(__self__, "enforcement_id", enforcement_id)
235
+ if execution_schedule is not None:
236
+ pulumi.set(__self__, "execution_schedule", execution_schedule)
237
+ if execution_timezone is not None:
238
+ pulumi.set(__self__, "execution_timezone", execution_timezone)
239
+ if is_dry_run is not None:
240
+ pulumi.set(__self__, "is_dry_run", is_dry_run)
241
+ if is_enabled is not None:
242
+ pulumi.set(__self__, "is_enabled", is_enabled)
243
+ if name is not None:
244
+ pulumi.set(__self__, "name", name)
245
+ if rule_ids is not None:
246
+ pulumi.set(__self__, "rule_ids", rule_ids)
247
+ if rule_set_ids is not None:
248
+ pulumi.set(__self__, "rule_set_ids", rule_set_ids)
249
+ if target_accounts is not None:
250
+ pulumi.set(__self__, "target_accounts", target_accounts)
251
+ if target_regions is not None:
252
+ pulumi.set(__self__, "target_regions", target_regions)
253
+
254
+ @property
255
+ @pulumi.getter(name="cloudProvider")
256
+ def cloud_provider(self) -> Optional[pulumi.Input[str]]:
257
+ """
258
+ The cloud provider for the rule enforcement. It should be either AWS, AZURE or GCP.
259
+ """
260
+ return pulumi.get(self, "cloud_provider")
261
+
262
+ @cloud_provider.setter
263
+ def cloud_provider(self, value: Optional[pulumi.Input[str]]):
264
+ pulumi.set(self, "cloud_provider", value)
265
+
266
+ @property
267
+ @pulumi.getter
268
+ def description(self) -> Optional[pulumi.Input[str]]:
269
+ """
270
+ Description for rule enforcement.
271
+ """
272
+ return pulumi.get(self, "description")
273
+
274
+ @description.setter
275
+ def description(self, value: Optional[pulumi.Input[str]]):
276
+ pulumi.set(self, "description", value)
277
+
278
+ @property
279
+ @pulumi.getter(name="enforcementId")
280
+ def enforcement_id(self) -> Optional[pulumi.Input[str]]:
281
+ """
282
+ Id of the rule enforcement.
283
+ """
284
+ return pulumi.get(self, "enforcement_id")
285
+
286
+ @enforcement_id.setter
287
+ def enforcement_id(self, value: Optional[pulumi.Input[str]]):
288
+ pulumi.set(self, "enforcement_id", value)
289
+
290
+ @property
291
+ @pulumi.getter(name="executionSchedule")
292
+ def execution_schedule(self) -> Optional[pulumi.Input[str]]:
293
+ """
294
+ Execution schedule in cron format.
295
+ """
296
+ return pulumi.get(self, "execution_schedule")
297
+
298
+ @execution_schedule.setter
299
+ def execution_schedule(self, value: Optional[pulumi.Input[str]]):
300
+ pulumi.set(self, "execution_schedule", value)
301
+
302
+ @property
303
+ @pulumi.getter(name="executionTimezone")
304
+ def execution_timezone(self) -> Optional[pulumi.Input[str]]:
305
+ """
306
+ Timezone for the execution schedule.
307
+ """
308
+ return pulumi.get(self, "execution_timezone")
309
+
310
+ @execution_timezone.setter
311
+ def execution_timezone(self, value: Optional[pulumi.Input[str]]):
312
+ pulumi.set(self, "execution_timezone", value)
313
+
314
+ @property
315
+ @pulumi.getter(name="isDryRun")
316
+ def is_dry_run(self) -> Optional[pulumi.Input[bool]]:
317
+ """
318
+ Indicates if the rule enforcement is a dry run. This by default is set to false.
319
+ """
320
+ return pulumi.get(self, "is_dry_run")
321
+
322
+ @is_dry_run.setter
323
+ def is_dry_run(self, value: Optional[pulumi.Input[bool]]):
324
+ pulumi.set(self, "is_dry_run", value)
325
+
326
+ @property
327
+ @pulumi.getter(name="isEnabled")
328
+ def is_enabled(self) -> Optional[pulumi.Input[bool]]:
329
+ """
330
+ Indicates if the rule enforcement is enabled. This by default is set to true.
331
+ """
332
+ return pulumi.get(self, "is_enabled")
333
+
334
+ @is_enabled.setter
335
+ def is_enabled(self, value: Optional[pulumi.Input[bool]]):
336
+ pulumi.set(self, "is_enabled", value)
337
+
338
+ @property
339
+ @pulumi.getter
340
+ def name(self) -> Optional[pulumi.Input[str]]:
341
+ """
342
+ Name of the rule enforcement.
343
+ """
344
+ return pulumi.get(self, "name")
345
+
346
+ @name.setter
347
+ def name(self, value: Optional[pulumi.Input[str]]):
348
+ pulumi.set(self, "name", value)
349
+
350
+ @property
351
+ @pulumi.getter(name="ruleIds")
352
+ def rule_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
353
+ """
354
+ List of rule IDs. Either rule*ids or rule*set_ids should be provided.
355
+ """
356
+ return pulumi.get(self, "rule_ids")
357
+
358
+ @rule_ids.setter
359
+ def rule_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
360
+ pulumi.set(self, "rule_ids", value)
361
+
362
+ @property
363
+ @pulumi.getter(name="ruleSetIds")
364
+ def rule_set_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
365
+ """
366
+ List of rule set IDs. Either rule*ids or rule*set_ids should be provided.
367
+ """
368
+ return pulumi.get(self, "rule_set_ids")
369
+
370
+ @rule_set_ids.setter
371
+ def rule_set_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
372
+ pulumi.set(self, "rule_set_ids", value)
373
+
374
+ @property
375
+ @pulumi.getter(name="targetAccounts")
376
+ def target_accounts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
377
+ """
378
+ List of target account which can be either AWS Account Ids or Azure Subscription Ids or Gcp Project Ids.
379
+ """
380
+ return pulumi.get(self, "target_accounts")
381
+
382
+ @target_accounts.setter
383
+ def target_accounts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
384
+ pulumi.set(self, "target_accounts", value)
385
+
386
+ @property
387
+ @pulumi.getter(name="targetRegions")
388
+ def target_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
389
+ """
390
+ List of target regions. For GCP it should be left empty but is required in case of AWS or Azure.
391
+ """
392
+ return pulumi.get(self, "target_regions")
393
+
394
+ @target_regions.setter
395
+ def target_regions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
396
+ pulumi.set(self, "target_regions", value)
397
+
398
+
399
+ class RuleEnforcement(pulumi.CustomResource):
400
+ @overload
401
+ def __init__(__self__,
402
+ resource_name: str,
403
+ opts: Optional[pulumi.ResourceOptions] = None,
404
+ cloud_provider: Optional[pulumi.Input[str]] = None,
405
+ description: Optional[pulumi.Input[str]] = None,
406
+ execution_schedule: Optional[pulumi.Input[str]] = None,
407
+ execution_timezone: Optional[pulumi.Input[str]] = None,
408
+ is_dry_run: Optional[pulumi.Input[bool]] = None,
409
+ is_enabled: Optional[pulumi.Input[bool]] = None,
410
+ name: Optional[pulumi.Input[str]] = None,
411
+ rule_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
412
+ rule_set_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
413
+ target_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
414
+ target_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
415
+ __props__=None):
416
+ """
417
+ Resource for creating, updating, and managing rule enforcement.
418
+
419
+ ## Import
420
+
421
+ Import governance enforcement
422
+
423
+ ```sh
424
+ $ pulumi import harness:governance/ruleEnforcement:RuleEnforcement example <enforcement_id>
425
+ ```
426
+
427
+ :param str resource_name: The name of the resource.
428
+ :param pulumi.ResourceOptions opts: Options for the resource.
429
+ :param pulumi.Input[str] cloud_provider: The cloud provider for the rule enforcement. It should be either AWS, AZURE or GCP.
430
+ :param pulumi.Input[str] description: Description for rule enforcement.
431
+ :param pulumi.Input[str] execution_schedule: Execution schedule in cron format.
432
+ :param pulumi.Input[str] execution_timezone: Timezone for the execution schedule.
433
+ :param pulumi.Input[bool] is_dry_run: Indicates if the rule enforcement is a dry run. This by default is set to false.
434
+ :param pulumi.Input[bool] is_enabled: Indicates if the rule enforcement is enabled. This by default is set to true.
435
+ :param pulumi.Input[str] name: Name of the rule enforcement.
436
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] rule_ids: List of rule IDs. Either rule*ids or rule*set_ids should be provided.
437
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] rule_set_ids: List of rule set IDs. Either rule*ids or rule*set_ids should be provided.
438
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] target_accounts: List of target account which can be either AWS Account Ids or Azure Subscription Ids or Gcp Project Ids.
439
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] target_regions: List of target regions. For GCP it should be left empty but is required in case of AWS or Azure.
440
+ """
441
+ ...
442
+ @overload
443
+ def __init__(__self__,
444
+ resource_name: str,
445
+ args: RuleEnforcementArgs,
446
+ opts: Optional[pulumi.ResourceOptions] = None):
447
+ """
448
+ Resource for creating, updating, and managing rule enforcement.
449
+
450
+ ## Import
451
+
452
+ Import governance enforcement
453
+
454
+ ```sh
455
+ $ pulumi import harness:governance/ruleEnforcement:RuleEnforcement example <enforcement_id>
456
+ ```
457
+
458
+ :param str resource_name: The name of the resource.
459
+ :param RuleEnforcementArgs args: The arguments to use to populate this resource's properties.
460
+ :param pulumi.ResourceOptions opts: Options for the resource.
461
+ """
462
+ ...
463
+ def __init__(__self__, resource_name: str, *args, **kwargs):
464
+ resource_args, opts = _utilities.get_resource_args_opts(RuleEnforcementArgs, pulumi.ResourceOptions, *args, **kwargs)
465
+ if resource_args is not None:
466
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
467
+ else:
468
+ __self__._internal_init(resource_name, *args, **kwargs)
469
+
470
+ def _internal_init(__self__,
471
+ resource_name: str,
472
+ opts: Optional[pulumi.ResourceOptions] = None,
473
+ cloud_provider: Optional[pulumi.Input[str]] = None,
474
+ description: Optional[pulumi.Input[str]] = None,
475
+ execution_schedule: Optional[pulumi.Input[str]] = None,
476
+ execution_timezone: Optional[pulumi.Input[str]] = None,
477
+ is_dry_run: Optional[pulumi.Input[bool]] = None,
478
+ is_enabled: Optional[pulumi.Input[bool]] = None,
479
+ name: Optional[pulumi.Input[str]] = None,
480
+ rule_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
481
+ rule_set_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
482
+ target_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
483
+ target_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
484
+ __props__=None):
485
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
486
+ if not isinstance(opts, pulumi.ResourceOptions):
487
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
488
+ if opts.id is None:
489
+ if __props__ is not None:
490
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
491
+ __props__ = RuleEnforcementArgs.__new__(RuleEnforcementArgs)
492
+
493
+ if cloud_provider is None and not opts.urn:
494
+ raise TypeError("Missing required property 'cloud_provider'")
495
+ __props__.__dict__["cloud_provider"] = cloud_provider
496
+ __props__.__dict__["description"] = description
497
+ if execution_schedule is None and not opts.urn:
498
+ raise TypeError("Missing required property 'execution_schedule'")
499
+ __props__.__dict__["execution_schedule"] = execution_schedule
500
+ if execution_timezone is None and not opts.urn:
501
+ raise TypeError("Missing required property 'execution_timezone'")
502
+ __props__.__dict__["execution_timezone"] = execution_timezone
503
+ __props__.__dict__["is_dry_run"] = is_dry_run
504
+ __props__.__dict__["is_enabled"] = is_enabled
505
+ __props__.__dict__["name"] = name
506
+ __props__.__dict__["rule_ids"] = rule_ids
507
+ __props__.__dict__["rule_set_ids"] = rule_set_ids
508
+ if target_accounts is None and not opts.urn:
509
+ raise TypeError("Missing required property 'target_accounts'")
510
+ __props__.__dict__["target_accounts"] = target_accounts
511
+ __props__.__dict__["target_regions"] = target_regions
512
+ __props__.__dict__["enforcement_id"] = None
513
+ super(RuleEnforcement, __self__).__init__(
514
+ 'harness:governance/ruleEnforcement:RuleEnforcement',
515
+ resource_name,
516
+ __props__,
517
+ opts)
518
+
519
+ @staticmethod
520
+ def get(resource_name: str,
521
+ id: pulumi.Input[str],
522
+ opts: Optional[pulumi.ResourceOptions] = None,
523
+ cloud_provider: Optional[pulumi.Input[str]] = None,
524
+ description: Optional[pulumi.Input[str]] = None,
525
+ enforcement_id: Optional[pulumi.Input[str]] = None,
526
+ execution_schedule: Optional[pulumi.Input[str]] = None,
527
+ execution_timezone: Optional[pulumi.Input[str]] = None,
528
+ is_dry_run: Optional[pulumi.Input[bool]] = None,
529
+ is_enabled: Optional[pulumi.Input[bool]] = None,
530
+ name: Optional[pulumi.Input[str]] = None,
531
+ rule_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
532
+ rule_set_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
533
+ target_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
534
+ target_regions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'RuleEnforcement':
535
+ """
536
+ Get an existing RuleEnforcement resource's state with the given name, id, and optional extra
537
+ properties used to qualify the lookup.
538
+
539
+ :param str resource_name: The unique name of the resulting resource.
540
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
541
+ :param pulumi.ResourceOptions opts: Options for the resource.
542
+ :param pulumi.Input[str] cloud_provider: The cloud provider for the rule enforcement. It should be either AWS, AZURE or GCP.
543
+ :param pulumi.Input[str] description: Description for rule enforcement.
544
+ :param pulumi.Input[str] enforcement_id: Id of the rule enforcement.
545
+ :param pulumi.Input[str] execution_schedule: Execution schedule in cron format.
546
+ :param pulumi.Input[str] execution_timezone: Timezone for the execution schedule.
547
+ :param pulumi.Input[bool] is_dry_run: Indicates if the rule enforcement is a dry run. This by default is set to false.
548
+ :param pulumi.Input[bool] is_enabled: Indicates if the rule enforcement is enabled. This by default is set to true.
549
+ :param pulumi.Input[str] name: Name of the rule enforcement.
550
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] rule_ids: List of rule IDs. Either rule*ids or rule*set_ids should be provided.
551
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] rule_set_ids: List of rule set IDs. Either rule*ids or rule*set_ids should be provided.
552
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] target_accounts: List of target account which can be either AWS Account Ids or Azure Subscription Ids or Gcp Project Ids.
553
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] target_regions: List of target regions. For GCP it should be left empty but is required in case of AWS or Azure.
554
+ """
555
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
556
+
557
+ __props__ = _RuleEnforcementState.__new__(_RuleEnforcementState)
558
+
559
+ __props__.__dict__["cloud_provider"] = cloud_provider
560
+ __props__.__dict__["description"] = description
561
+ __props__.__dict__["enforcement_id"] = enforcement_id
562
+ __props__.__dict__["execution_schedule"] = execution_schedule
563
+ __props__.__dict__["execution_timezone"] = execution_timezone
564
+ __props__.__dict__["is_dry_run"] = is_dry_run
565
+ __props__.__dict__["is_enabled"] = is_enabled
566
+ __props__.__dict__["name"] = name
567
+ __props__.__dict__["rule_ids"] = rule_ids
568
+ __props__.__dict__["rule_set_ids"] = rule_set_ids
569
+ __props__.__dict__["target_accounts"] = target_accounts
570
+ __props__.__dict__["target_regions"] = target_regions
571
+ return RuleEnforcement(resource_name, opts=opts, __props__=__props__)
572
+
573
+ @property
574
+ @pulumi.getter(name="cloudProvider")
575
+ def cloud_provider(self) -> pulumi.Output[str]:
576
+ """
577
+ The cloud provider for the rule enforcement. It should be either AWS, AZURE or GCP.
578
+ """
579
+ return pulumi.get(self, "cloud_provider")
580
+
581
+ @property
582
+ @pulumi.getter
583
+ def description(self) -> pulumi.Output[Optional[str]]:
584
+ """
585
+ Description for rule enforcement.
586
+ """
587
+ return pulumi.get(self, "description")
588
+
589
+ @property
590
+ @pulumi.getter(name="enforcementId")
591
+ def enforcement_id(self) -> pulumi.Output[str]:
592
+ """
593
+ Id of the rule enforcement.
594
+ """
595
+ return pulumi.get(self, "enforcement_id")
596
+
597
+ @property
598
+ @pulumi.getter(name="executionSchedule")
599
+ def execution_schedule(self) -> pulumi.Output[str]:
600
+ """
601
+ Execution schedule in cron format.
602
+ """
603
+ return pulumi.get(self, "execution_schedule")
604
+
605
+ @property
606
+ @pulumi.getter(name="executionTimezone")
607
+ def execution_timezone(self) -> pulumi.Output[str]:
608
+ """
609
+ Timezone for the execution schedule.
610
+ """
611
+ return pulumi.get(self, "execution_timezone")
612
+
613
+ @property
614
+ @pulumi.getter(name="isDryRun")
615
+ def is_dry_run(self) -> pulumi.Output[Optional[bool]]:
616
+ """
617
+ Indicates if the rule enforcement is a dry run. This by default is set to false.
618
+ """
619
+ return pulumi.get(self, "is_dry_run")
620
+
621
+ @property
622
+ @pulumi.getter(name="isEnabled")
623
+ def is_enabled(self) -> pulumi.Output[Optional[bool]]:
624
+ """
625
+ Indicates if the rule enforcement is enabled. This by default is set to true.
626
+ """
627
+ return pulumi.get(self, "is_enabled")
628
+
629
+ @property
630
+ @pulumi.getter
631
+ def name(self) -> pulumi.Output[str]:
632
+ """
633
+ Name of the rule enforcement.
634
+ """
635
+ return pulumi.get(self, "name")
636
+
637
+ @property
638
+ @pulumi.getter(name="ruleIds")
639
+ def rule_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
640
+ """
641
+ List of rule IDs. Either rule*ids or rule*set_ids should be provided.
642
+ """
643
+ return pulumi.get(self, "rule_ids")
644
+
645
+ @property
646
+ @pulumi.getter(name="ruleSetIds")
647
+ def rule_set_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
648
+ """
649
+ List of rule set IDs. Either rule*ids or rule*set_ids should be provided.
650
+ """
651
+ return pulumi.get(self, "rule_set_ids")
652
+
653
+ @property
654
+ @pulumi.getter(name="targetAccounts")
655
+ def target_accounts(self) -> pulumi.Output[Sequence[str]]:
656
+ """
657
+ List of target account which can be either AWS Account Ids or Azure Subscription Ids or Gcp Project Ids.
658
+ """
659
+ return pulumi.get(self, "target_accounts")
660
+
661
+ @property
662
+ @pulumi.getter(name="targetRegions")
663
+ def target_regions(self) -> pulumi.Output[Optional[Sequence[str]]]:
664
+ """
665
+ List of target regions. For GCP it should be left empty but is required in case of AWS or Azure.
666
+ """
667
+ return pulumi.get(self, "target_regions")
668
+