pulumi-harness 0.8.0a1755712204__py3-none-any.whl → 0.9.0a1755842147__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 (223) hide show
  1. pulumi_harness/__init__.py +67 -0
  2. pulumi_harness/add_user_to_group.py +4 -0
  3. pulumi_harness/application.py +4 -0
  4. pulumi_harness/application_git_sync.py +4 -0
  5. pulumi_harness/chaos/__init__.py +21 -0
  6. pulumi_harness/chaos/_inputs.py +2702 -0
  7. pulumi_harness/chaos/get_hub.py +324 -0
  8. pulumi_harness/chaos/get_image_registry.py +339 -0
  9. pulumi_harness/chaos/get_infrastructure_v2.py +684 -0
  10. pulumi_harness/chaos/get_security_governance_condition.py +261 -0
  11. pulumi_harness/chaos/get_security_governance_rule.py +261 -0
  12. pulumi_harness/chaos/hub.py +806 -0
  13. pulumi_harness/chaos/hub_sync.py +274 -0
  14. pulumi_harness/chaos/image_registry.py +730 -0
  15. pulumi_harness/chaos/infrastructure_v2.py +1670 -0
  16. pulumi_harness/chaos/outputs.py +2276 -0
  17. pulumi_harness/chaos/security_governance_condition.py +795 -0
  18. pulumi_harness/chaos/security_governance_rule.py +688 -0
  19. pulumi_harness/chaos_infrastructure.py +10 -4
  20. pulumi_harness/cloudprovider/aws.py +4 -0
  21. pulumi_harness/cloudprovider/azure.py +4 -0
  22. pulumi_harness/cloudprovider/datacenter.py +4 -0
  23. pulumi_harness/cloudprovider/kubernetes.py +4 -0
  24. pulumi_harness/cloudprovider/spot.py +4 -0
  25. pulumi_harness/cloudprovider/tanzu.py +4 -0
  26. pulumi_harness/cluster/_inputs.py +540 -0
  27. pulumi_harness/cluster/get_orchestrator_config.py +46 -6
  28. pulumi_harness/cluster/orchestrator.py +0 -16
  29. pulumi_harness/cluster/orchestrator_config.py +253 -5
  30. pulumi_harness/cluster/outputs.py +394 -0
  31. pulumi_harness/delegate_approval.py +4 -0
  32. pulumi_harness/encrypted_text.py +4 -0
  33. pulumi_harness/environment.py +4 -0
  34. pulumi_harness/get_current_account.py +3 -3
  35. pulumi_harness/git_connector.py +4 -0
  36. pulumi_harness/governance/rule.py +4 -0
  37. pulumi_harness/governance/rule_enforcement.py +4 -0
  38. pulumi_harness/infrastructure_definition.py +4 -0
  39. pulumi_harness/platform/_inputs.py +537 -469
  40. pulumi_harness/platform/app_dynamics_connector.py +4 -0
  41. pulumi_harness/platform/artifactory_connector.py +4 -0
  42. pulumi_harness/platform/aws_cc_connector.py +4 -0
  43. pulumi_harness/platform/aws_connector.py +11 -7
  44. pulumi_harness/platform/aws_kms_connector.py +70 -20
  45. pulumi_harness/platform/aws_secret_manager_connector.py +13 -9
  46. pulumi_harness/platform/azure_cloud_cost_connector.py +51 -0
  47. pulumi_harness/platform/azure_cloud_provider_connector.py +4 -0
  48. pulumi_harness/platform/azure_key_vault_connector.py +8 -0
  49. pulumi_harness/platform/bitbucket_connector.py +4 -0
  50. pulumi_harness/platform/connector_azure_artifacts.py +4 -2
  51. pulumi_harness/platform/connector_azure_repo.py +11 -16
  52. pulumi_harness/platform/connector_custom_secret_manager.py +51 -156
  53. pulumi_harness/platform/connector_customhealthsource.py +4 -0
  54. pulumi_harness/platform/connector_gcp_kms.py +4 -0
  55. pulumi_harness/platform/connector_jdbc.py +4 -0
  56. pulumi_harness/platform/connector_pdc.py +13 -13
  57. pulumi_harness/platform/connector_rancher.py +4 -0
  58. pulumi_harness/platform/dashboard_folders.py +2 -2
  59. pulumi_harness/platform/dashboards.py +10 -14
  60. pulumi_harness/platform/datadog_connector.py +4 -0
  61. pulumi_harness/platform/db_instance.py +4 -0
  62. pulumi_harness/platform/db_schema.py +25 -21
  63. pulumi_harness/platform/docker_connector.py +4 -4
  64. pulumi_harness/platform/dynatrace_connector.py +4 -0
  65. pulumi_harness/platform/elasticsearch_connector.py +19 -15
  66. pulumi_harness/platform/environment.py +25 -530
  67. pulumi_harness/platform/environment_clusters_mapping.py +8 -0
  68. pulumi_harness/platform/environment_group.py +13 -100
  69. pulumi_harness/platform/environment_service_overrides.py +20 -186
  70. pulumi_harness/platform/feature_flag_target_group.py +8 -8
  71. pulumi_harness/platform/file_store_file.py +11 -7
  72. pulumi_harness/platform/file_store_folder.py +11 -7
  73. pulumi_harness/platform/filters.py +8 -0
  74. pulumi_harness/platform/gcp_cloud_cost_connector.py +4 -0
  75. pulumi_harness/platform/gcp_connector.py +4 -0
  76. pulumi_harness/platform/gcp_secret_manager_connector.py +6 -92
  77. pulumi_harness/platform/get_api_key.py +8 -38
  78. pulumi_harness/platform/get_aws_kms_connector.py +16 -1
  79. pulumi_harness/platform/get_aws_secret_manager_connector.py +7 -3
  80. pulumi_harness/platform/get_azure_cloud_cost_connector.py +12 -1
  81. pulumi_harness/platform/get_connector_azure_repo.py +53 -2
  82. pulumi_harness/platform/get_connector_custom_secret_manager.py +28 -32
  83. pulumi_harness/platform/get_connector_pdc.py +3 -3
  84. pulumi_harness/platform/get_current_account.py +2 -20
  85. pulumi_harness/platform/get_dashboard_folders.py +16 -5
  86. pulumi_harness/platform/get_dashboards.py +15 -7
  87. pulumi_harness/platform/get_db_instance.py +5 -0
  88. pulumi_harness/platform/get_db_schema.py +12 -15
  89. pulumi_harness/platform/get_environment.py +5 -0
  90. pulumi_harness/platform/get_environment_list.py +12 -58
  91. pulumi_harness/platform/get_environment_service_overrides.py +6 -6
  92. pulumi_harness/platform/get_filters.py +4 -0
  93. pulumi_harness/platform/get_gcp_secret_manager_connector.py +4 -0
  94. pulumi_harness/platform/get_github_connector.py +3 -0
  95. pulumi_harness/platform/get_gitops_applications.py +8 -0
  96. pulumi_harness/platform/get_gitops_filters.py +25 -10
  97. pulumi_harness/platform/get_gitx_webhook.py +3 -3
  98. pulumi_harness/platform/get_har_registry.py +46 -10
  99. pulumi_harness/platform/get_iacm_default_pipeline.py +24 -0
  100. pulumi_harness/platform/get_infra_variable_set.py +34 -25
  101. pulumi_harness/platform/get_infrastructure.py +5 -0
  102. pulumi_harness/platform/get_manual_freeze.py +0 -24
  103. pulumi_harness/platform/get_monitored_service.py +22 -0
  104. pulumi_harness/platform/get_organization.py +4 -0
  105. pulumi_harness/platform/get_overrides.py +66 -2
  106. pulumi_harness/platform/get_pagerduty_connector.py +4 -0
  107. pulumi_harness/platform/get_pipeline_list.py +18 -63
  108. pulumi_harness/platform/get_project.py +4 -0
  109. pulumi_harness/platform/get_project_list.py +18 -63
  110. pulumi_harness/platform/get_provider.py +11 -2
  111. pulumi_harness/platform/get_resource_group.py +4 -0
  112. pulumi_harness/platform/get_role_assignments.py +6 -2
  113. pulumi_harness/platform/get_roles.py +4 -0
  114. pulumi_harness/platform/get_secret_file.py +4 -0
  115. pulumi_harness/platform/get_secret_sshkey.py +4 -0
  116. pulumi_harness/platform/get_service.py +5 -0
  117. pulumi_harness/platform/get_service_account.py +4 -0
  118. pulumi_harness/platform/get_service_list.py +22 -58
  119. pulumi_harness/platform/get_service_overrides_v2.py +42 -0
  120. pulumi_harness/platform/get_slo.py +22 -0
  121. pulumi_harness/platform/get_token.py +2 -0
  122. pulumi_harness/platform/get_user.py +4 -0
  123. pulumi_harness/platform/get_usergroup.py +4 -0
  124. pulumi_harness/platform/get_variables.py +4 -0
  125. pulumi_harness/platform/get_vault_connector.py +5 -1
  126. pulumi_harness/platform/get_workspace.py +8 -3
  127. pulumi_harness/platform/git_connector.py +4 -0
  128. pulumi_harness/platform/git_ops_agent.py +4 -0
  129. pulumi_harness/platform/git_ops_applications.py +4 -0
  130. pulumi_harness/platform/git_ops_cluster.py +51 -0
  131. pulumi_harness/platform/git_ops_gnupg.py +4 -0
  132. pulumi_harness/platform/git_ops_repo_cert.py +4 -0
  133. pulumi_harness/platform/git_ops_repo_cred.py +4 -0
  134. pulumi_harness/platform/git_ops_repository.py +4 -0
  135. pulumi_harness/platform/github_connector.py +11 -7
  136. pulumi_harness/platform/gitlab_connector.py +4 -0
  137. pulumi_harness/platform/gitops_app_project.py +4 -0
  138. pulumi_harness/platform/gitops_app_project_mapping.py +4 -0
  139. pulumi_harness/platform/gitops_applicationset.py +96 -0
  140. pulumi_harness/platform/gitops_filters.py +51 -179
  141. pulumi_harness/platform/gitx_webhook.py +4 -0
  142. pulumi_harness/platform/har_registry.py +42 -43
  143. pulumi_harness/platform/helm_connector.py +4 -0
  144. pulumi_harness/platform/iacm_default_pipeline.py +28 -0
  145. pulumi_harness/platform/infra_module.py +6 -2
  146. pulumi_harness/platform/infra_variable_set.py +38 -22
  147. pulumi_harness/platform/infrastructure.py +18 -240
  148. pulumi_harness/platform/input_set.py +4 -0
  149. pulumi_harness/platform/jenkins_connector.py +8 -0
  150. pulumi_harness/platform/jira_connector.py +4 -2
  151. pulumi_harness/platform/kubernetes_cloud_cost_connector.py +35 -11
  152. pulumi_harness/platform/kubernetes_connector.py +4 -0
  153. pulumi_harness/platform/manual_freeze.py +6 -154
  154. pulumi_harness/platform/monitored_service.py +16 -12
  155. pulumi_harness/platform/newrelic_connector.py +4 -0
  156. pulumi_harness/platform/nexus_connector.py +4 -4
  157. pulumi_harness/platform/notification_rule.py +4 -0
  158. pulumi_harness/platform/oci_helm_connector.py +4 -0
  159. pulumi_harness/platform/organization.py +8 -0
  160. pulumi_harness/platform/outputs.py +481 -219
  161. pulumi_harness/platform/overrides.py +48 -2
  162. pulumi_harness/platform/pagerduty_connector.py +8 -0
  163. pulumi_harness/platform/pipeline.py +18 -2
  164. pulumi_harness/platform/pipeline_filters.py +4 -0
  165. pulumi_harness/platform/policy.py +6 -26
  166. pulumi_harness/platform/policy_set.py +4 -0
  167. pulumi_harness/platform/project.py +8 -0
  168. pulumi_harness/platform/prometheus_connector.py +4 -0
  169. pulumi_harness/platform/provider.py +4 -2
  170. pulumi_harness/platform/repo.py +40 -0
  171. pulumi_harness/platform/resource_group.py +15 -7
  172. pulumi_harness/platform/role_assignments.py +20 -16
  173. pulumi_harness/platform/roles.py +8 -0
  174. pulumi_harness/platform/secret_file.py +8 -0
  175. pulumi_harness/platform/secret_sshkey.py +6 -2
  176. pulumi_harness/platform/secret_text.py +78 -0
  177. pulumi_harness/platform/service.py +13 -494
  178. pulumi_harness/platform/service_account.py +8 -0
  179. pulumi_harness/platform/service_now_connector.py +4 -2
  180. pulumi_harness/platform/service_overrides_v2.py +4 -204
  181. pulumi_harness/platform/slo.py +12 -18
  182. pulumi_harness/platform/splunk_connector.py +4 -0
  183. pulumi_harness/platform/spot_connector.py +4 -0
  184. pulumi_harness/platform/sumologic_connector.py +4 -0
  185. pulumi_harness/platform/tas_connector.py +4 -0
  186. pulumi_harness/platform/template.py +25 -21
  187. pulumi_harness/platform/template_filters.py +4 -0
  188. pulumi_harness/platform/terraform_cloud_connector.py +4 -0
  189. pulumi_harness/platform/token.py +6 -2
  190. pulumi_harness/platform/triggers.py +8 -0
  191. pulumi_harness/platform/user.py +13 -9
  192. pulumi_harness/platform/usergroup.py +71 -7
  193. pulumi_harness/platform/variables.py +8 -0
  194. pulumi_harness/platform/vault_connector.py +15 -7
  195. pulumi_harness/platform/workspace.py +19 -7
  196. pulumi_harness/platform_api_key.py +6 -66
  197. pulumi_harness/platform_ccm_filters.py +11 -7
  198. pulumi_harness/pulumi-plugin.json +1 -1
  199. pulumi_harness/service/__init__.py +4 -0
  200. pulumi_harness/service/_inputs.py +1729 -0
  201. pulumi_harness/service/ami.py +4 -0
  202. pulumi_harness/service/codedeploy.py +4 -0
  203. pulumi_harness/service/discovery_agent.py +1211 -0
  204. pulumi_harness/service/discovery_setting.py +384 -0
  205. pulumi_harness/service/ecs.py +4 -0
  206. pulumi_harness/service/get_discovery_agent.py +443 -0
  207. pulumi_harness/service/get_discovery_setting.py +199 -0
  208. pulumi_harness/service/helm.py +4 -0
  209. pulumi_harness/service/kubernetes.py +4 -0
  210. pulumi_harness/service/lambda_.py +4 -0
  211. pulumi_harness/service/outputs.py +2367 -117
  212. pulumi_harness/service/ssh.py +4 -0
  213. pulumi_harness/service/tanzu.py +4 -0
  214. pulumi_harness/service/winrm.py +4 -0
  215. pulumi_harness/ssh_credential.py +4 -0
  216. pulumi_harness/user.py +4 -0
  217. pulumi_harness/user_group.py +4 -0
  218. pulumi_harness/yaml_config.py +4 -0
  219. {pulumi_harness-0.8.0a1755712204.dist-info → pulumi_harness-0.9.0a1755842147.dist-info}/METADATA +1 -1
  220. pulumi_harness-0.9.0a1755842147.dist-info/RECORD +355 -0
  221. pulumi_harness-0.8.0a1755712204.dist-info/RECORD +0 -337
  222. {pulumi_harness-0.8.0a1755712204.dist-info → pulumi_harness-0.9.0a1755842147.dist-info}/WHEEL +0 -0
  223. {pulumi_harness-0.8.0a1755712204.dist-info → pulumi_harness-0.9.0a1755842147.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,688 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
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__ = ['SecurityGovernanceRuleArgs', 'SecurityGovernanceRule']
20
+
21
+ @pulumi.input_type
22
+ class SecurityGovernanceRuleArgs:
23
+ def __init__(__self__, *,
24
+ condition_ids: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
25
+ org_id: pulumi.Input[_builtins.str],
26
+ project_id: pulumi.Input[_builtins.str],
27
+ time_windows: pulumi.Input[Sequence[pulumi.Input['SecurityGovernanceRuleTimeWindowArgs']]],
28
+ description: Optional[pulumi.Input[_builtins.str]] = None,
29
+ is_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
30
+ name: Optional[pulumi.Input[_builtins.str]] = None,
31
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
32
+ user_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
33
+ """
34
+ The set of arguments for constructing a SecurityGovernanceRule resource.
35
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] condition_ids: List of condition IDs associated with this rule
36
+ :param pulumi.Input[_builtins.str] org_id: The organization ID of the security governance rule
37
+ :param pulumi.Input[_builtins.str] project_id: The project ID of the security governance rule
38
+ :param pulumi.Input[_builtins.str] description: Description of the security governance rule
39
+ :param pulumi.Input[_builtins.bool] is_enabled: Whether the rule is enabled
40
+ :param pulumi.Input[_builtins.str] name: Name of the security governance rule
41
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: Tags for the security governance rule
42
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] user_group_ids: List of user group IDs associated with this rule
43
+ """
44
+ pulumi.set(__self__, "condition_ids", condition_ids)
45
+ pulumi.set(__self__, "org_id", org_id)
46
+ pulumi.set(__self__, "project_id", project_id)
47
+ pulumi.set(__self__, "time_windows", time_windows)
48
+ if description is not None:
49
+ pulumi.set(__self__, "description", description)
50
+ if is_enabled is not None:
51
+ pulumi.set(__self__, "is_enabled", is_enabled)
52
+ if name is not None:
53
+ pulumi.set(__self__, "name", name)
54
+ if tags is not None:
55
+ pulumi.set(__self__, "tags", tags)
56
+ if user_group_ids is not None:
57
+ pulumi.set(__self__, "user_group_ids", user_group_ids)
58
+
59
+ @_builtins.property
60
+ @pulumi.getter(name="conditionIds")
61
+ def condition_ids(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
62
+ """
63
+ List of condition IDs associated with this rule
64
+ """
65
+ return pulumi.get(self, "condition_ids")
66
+
67
+ @condition_ids.setter
68
+ def condition_ids(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
69
+ pulumi.set(self, "condition_ids", value)
70
+
71
+ @_builtins.property
72
+ @pulumi.getter(name="orgId")
73
+ def org_id(self) -> pulumi.Input[_builtins.str]:
74
+ """
75
+ The organization ID of the security governance rule
76
+ """
77
+ return pulumi.get(self, "org_id")
78
+
79
+ @org_id.setter
80
+ def org_id(self, value: pulumi.Input[_builtins.str]):
81
+ pulumi.set(self, "org_id", value)
82
+
83
+ @_builtins.property
84
+ @pulumi.getter(name="projectId")
85
+ def project_id(self) -> pulumi.Input[_builtins.str]:
86
+ """
87
+ The project ID of the security governance rule
88
+ """
89
+ return pulumi.get(self, "project_id")
90
+
91
+ @project_id.setter
92
+ def project_id(self, value: pulumi.Input[_builtins.str]):
93
+ pulumi.set(self, "project_id", value)
94
+
95
+ @_builtins.property
96
+ @pulumi.getter(name="timeWindows")
97
+ def time_windows(self) -> pulumi.Input[Sequence[pulumi.Input['SecurityGovernanceRuleTimeWindowArgs']]]:
98
+ return pulumi.get(self, "time_windows")
99
+
100
+ @time_windows.setter
101
+ def time_windows(self, value: pulumi.Input[Sequence[pulumi.Input['SecurityGovernanceRuleTimeWindowArgs']]]):
102
+ pulumi.set(self, "time_windows", value)
103
+
104
+ @_builtins.property
105
+ @pulumi.getter
106
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
107
+ """
108
+ Description of the security governance rule
109
+ """
110
+ return pulumi.get(self, "description")
111
+
112
+ @description.setter
113
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
114
+ pulumi.set(self, "description", value)
115
+
116
+ @_builtins.property
117
+ @pulumi.getter(name="isEnabled")
118
+ def is_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
119
+ """
120
+ Whether the rule is enabled
121
+ """
122
+ return pulumi.get(self, "is_enabled")
123
+
124
+ @is_enabled.setter
125
+ def is_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
126
+ pulumi.set(self, "is_enabled", value)
127
+
128
+ @_builtins.property
129
+ @pulumi.getter
130
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
131
+ """
132
+ Name of the security governance rule
133
+ """
134
+ return pulumi.get(self, "name")
135
+
136
+ @name.setter
137
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
138
+ pulumi.set(self, "name", value)
139
+
140
+ @_builtins.property
141
+ @pulumi.getter
142
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
143
+ """
144
+ Tags for the security governance rule
145
+ """
146
+ return pulumi.get(self, "tags")
147
+
148
+ @tags.setter
149
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
150
+ pulumi.set(self, "tags", value)
151
+
152
+ @_builtins.property
153
+ @pulumi.getter(name="userGroupIds")
154
+ def user_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
155
+ """
156
+ List of user group IDs associated with this rule
157
+ """
158
+ return pulumi.get(self, "user_group_ids")
159
+
160
+ @user_group_ids.setter
161
+ def user_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
162
+ pulumi.set(self, "user_group_ids", value)
163
+
164
+
165
+ @pulumi.input_type
166
+ class _SecurityGovernanceRuleState:
167
+ def __init__(__self__, *,
168
+ condition_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
169
+ description: Optional[pulumi.Input[_builtins.str]] = None,
170
+ is_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
171
+ name: Optional[pulumi.Input[_builtins.str]] = None,
172
+ org_id: Optional[pulumi.Input[_builtins.str]] = None,
173
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
174
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
175
+ time_windows: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGovernanceRuleTimeWindowArgs']]]] = None,
176
+ user_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
177
+ """
178
+ Input properties used for looking up and filtering SecurityGovernanceRule resources.
179
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] condition_ids: List of condition IDs associated with this rule
180
+ :param pulumi.Input[_builtins.str] description: Description of the security governance rule
181
+ :param pulumi.Input[_builtins.bool] is_enabled: Whether the rule is enabled
182
+ :param pulumi.Input[_builtins.str] name: Name of the security governance rule
183
+ :param pulumi.Input[_builtins.str] org_id: The organization ID of the security governance rule
184
+ :param pulumi.Input[_builtins.str] project_id: The project ID of the security governance rule
185
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: Tags for the security governance rule
186
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] user_group_ids: List of user group IDs associated with this rule
187
+ """
188
+ if condition_ids is not None:
189
+ pulumi.set(__self__, "condition_ids", condition_ids)
190
+ if description is not None:
191
+ pulumi.set(__self__, "description", description)
192
+ if is_enabled is not None:
193
+ pulumi.set(__self__, "is_enabled", is_enabled)
194
+ if name is not None:
195
+ pulumi.set(__self__, "name", name)
196
+ if org_id is not None:
197
+ pulumi.set(__self__, "org_id", org_id)
198
+ if project_id is not None:
199
+ pulumi.set(__self__, "project_id", project_id)
200
+ if tags is not None:
201
+ pulumi.set(__self__, "tags", tags)
202
+ if time_windows is not None:
203
+ pulumi.set(__self__, "time_windows", time_windows)
204
+ if user_group_ids is not None:
205
+ pulumi.set(__self__, "user_group_ids", user_group_ids)
206
+
207
+ @_builtins.property
208
+ @pulumi.getter(name="conditionIds")
209
+ def condition_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
210
+ """
211
+ List of condition IDs associated with this rule
212
+ """
213
+ return pulumi.get(self, "condition_ids")
214
+
215
+ @condition_ids.setter
216
+ def condition_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
217
+ pulumi.set(self, "condition_ids", value)
218
+
219
+ @_builtins.property
220
+ @pulumi.getter
221
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
222
+ """
223
+ Description of the security governance rule
224
+ """
225
+ return pulumi.get(self, "description")
226
+
227
+ @description.setter
228
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
229
+ pulumi.set(self, "description", value)
230
+
231
+ @_builtins.property
232
+ @pulumi.getter(name="isEnabled")
233
+ def is_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
234
+ """
235
+ Whether the rule is enabled
236
+ """
237
+ return pulumi.get(self, "is_enabled")
238
+
239
+ @is_enabled.setter
240
+ def is_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
241
+ pulumi.set(self, "is_enabled", value)
242
+
243
+ @_builtins.property
244
+ @pulumi.getter
245
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
246
+ """
247
+ Name of the security governance rule
248
+ """
249
+ return pulumi.get(self, "name")
250
+
251
+ @name.setter
252
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
253
+ pulumi.set(self, "name", value)
254
+
255
+ @_builtins.property
256
+ @pulumi.getter(name="orgId")
257
+ def org_id(self) -> Optional[pulumi.Input[_builtins.str]]:
258
+ """
259
+ The organization ID of the security governance rule
260
+ """
261
+ return pulumi.get(self, "org_id")
262
+
263
+ @org_id.setter
264
+ def org_id(self, value: Optional[pulumi.Input[_builtins.str]]):
265
+ pulumi.set(self, "org_id", value)
266
+
267
+ @_builtins.property
268
+ @pulumi.getter(name="projectId")
269
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
270
+ """
271
+ The project ID of the security governance rule
272
+ """
273
+ return pulumi.get(self, "project_id")
274
+
275
+ @project_id.setter
276
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
277
+ pulumi.set(self, "project_id", value)
278
+
279
+ @_builtins.property
280
+ @pulumi.getter
281
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
282
+ """
283
+ Tags for the security governance rule
284
+ """
285
+ return pulumi.get(self, "tags")
286
+
287
+ @tags.setter
288
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
289
+ pulumi.set(self, "tags", value)
290
+
291
+ @_builtins.property
292
+ @pulumi.getter(name="timeWindows")
293
+ def time_windows(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGovernanceRuleTimeWindowArgs']]]]:
294
+ return pulumi.get(self, "time_windows")
295
+
296
+ @time_windows.setter
297
+ def time_windows(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGovernanceRuleTimeWindowArgs']]]]):
298
+ pulumi.set(self, "time_windows", value)
299
+
300
+ @_builtins.property
301
+ @pulumi.getter(name="userGroupIds")
302
+ def user_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
303
+ """
304
+ List of user group IDs associated with this rule
305
+ """
306
+ return pulumi.get(self, "user_group_ids")
307
+
308
+ @user_group_ids.setter
309
+ def user_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
310
+ pulumi.set(self, "user_group_ids", value)
311
+
312
+
313
+ @pulumi.type_token("harness:chaos/securityGovernanceRule:SecurityGovernanceRule")
314
+ class SecurityGovernanceRule(pulumi.CustomResource):
315
+ @overload
316
+ def __init__(__self__,
317
+ resource_name: str,
318
+ opts: Optional[pulumi.ResourceOptions] = None,
319
+ condition_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
320
+ description: Optional[pulumi.Input[_builtins.str]] = None,
321
+ is_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
322
+ name: Optional[pulumi.Input[_builtins.str]] = None,
323
+ org_id: Optional[pulumi.Input[_builtins.str]] = None,
324
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
325
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
326
+ time_windows: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecurityGovernanceRuleTimeWindowArgs', 'SecurityGovernanceRuleTimeWindowArgsDict']]]]] = None,
327
+ user_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
328
+ __props__=None):
329
+ """
330
+ Resource for managing a Harness Chaos Security Governance Rule
331
+
332
+ ## Example Usage
333
+
334
+ ```python
335
+ import pulumi
336
+ import pulumi_harness as harness
337
+
338
+ # K8s Rule
339
+ example = harness.chaos.SecurityGovernanceRule("example",
340
+ org_id="<org_id>",
341
+ project_id="<project_id>",
342
+ name="<name>",
343
+ description="<description>",
344
+ is_enabled=True,
345
+ condition_ids=["<condition_id>"],
346
+ user_group_ids=["_project_all_users"],
347
+ tags=[
348
+ "<tag1>",
349
+ "<tag2>",
350
+ ],
351
+ time_windows=[{
352
+ "time_zone": "UTC",
353
+ "start_time": 1711238400000,
354
+ "duration": "24h",
355
+ "recurrence": {
356
+ "type": "Daily",
357
+ "until": -1,
358
+ },
359
+ }])
360
+ # Linux Rule
361
+ linux_rule = harness.chaos.SecurityGovernanceRule("linux_rule",
362
+ org_id="<org_id>",
363
+ project_id="<project_id>",
364
+ name="<name>",
365
+ description="<description>",
366
+ is_enabled=True,
367
+ condition_ids=["<condition_id>"],
368
+ user_group_ids=["_project_all_users"],
369
+ tags=[
370
+ "<tag1>",
371
+ "<tag2>",
372
+ ],
373
+ time_windows=[{
374
+ "time_zone": "UTC",
375
+ "start_time": 1711238400000,
376
+ "duration": "24h",
377
+ "recurrence": {
378
+ "type": "Daily",
379
+ "until": -1,
380
+ },
381
+ }])
382
+ # Windows Rule
383
+ windows_rule = harness.chaos.SecurityGovernanceRule("windows_rule",
384
+ org_id="<org_id>",
385
+ project_id="<project_id>",
386
+ name="<name>",
387
+ description="<description>",
388
+ is_enabled=True,
389
+ condition_ids=["<condition_id>"],
390
+ user_group_ids=["_project_all_users"],
391
+ tags=[
392
+ "<tag1>",
393
+ "<tag2>",
394
+ ],
395
+ time_windows=[{
396
+ "time_zone": "UTC",
397
+ "start_time": 1711238400000,
398
+ "duration": "24h",
399
+ "recurrence": {
400
+ "type": "Daily",
401
+ "until": -1,
402
+ },
403
+ }])
404
+ ```
405
+
406
+ ## Import
407
+
408
+ The `pulumi import` command can be used, for example:
409
+
410
+ Import Project level Chaos Security Governance Rule
411
+
412
+ ```sh
413
+ $ pulumi import harness:chaos/securityGovernanceRule:SecurityGovernanceRule example org_id/project_id/rule_id
414
+ ```
415
+
416
+ :param str resource_name: The name of the resource.
417
+ :param pulumi.ResourceOptions opts: Options for the resource.
418
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] condition_ids: List of condition IDs associated with this rule
419
+ :param pulumi.Input[_builtins.str] description: Description of the security governance rule
420
+ :param pulumi.Input[_builtins.bool] is_enabled: Whether the rule is enabled
421
+ :param pulumi.Input[_builtins.str] name: Name of the security governance rule
422
+ :param pulumi.Input[_builtins.str] org_id: The organization ID of the security governance rule
423
+ :param pulumi.Input[_builtins.str] project_id: The project ID of the security governance rule
424
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: Tags for the security governance rule
425
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] user_group_ids: List of user group IDs associated with this rule
426
+ """
427
+ ...
428
+ @overload
429
+ def __init__(__self__,
430
+ resource_name: str,
431
+ args: SecurityGovernanceRuleArgs,
432
+ opts: Optional[pulumi.ResourceOptions] = None):
433
+ """
434
+ Resource for managing a Harness Chaos Security Governance Rule
435
+
436
+ ## Example Usage
437
+
438
+ ```python
439
+ import pulumi
440
+ import pulumi_harness as harness
441
+
442
+ # K8s Rule
443
+ example = harness.chaos.SecurityGovernanceRule("example",
444
+ org_id="<org_id>",
445
+ project_id="<project_id>",
446
+ name="<name>",
447
+ description="<description>",
448
+ is_enabled=True,
449
+ condition_ids=["<condition_id>"],
450
+ user_group_ids=["_project_all_users"],
451
+ tags=[
452
+ "<tag1>",
453
+ "<tag2>",
454
+ ],
455
+ time_windows=[{
456
+ "time_zone": "UTC",
457
+ "start_time": 1711238400000,
458
+ "duration": "24h",
459
+ "recurrence": {
460
+ "type": "Daily",
461
+ "until": -1,
462
+ },
463
+ }])
464
+ # Linux Rule
465
+ linux_rule = harness.chaos.SecurityGovernanceRule("linux_rule",
466
+ org_id="<org_id>",
467
+ project_id="<project_id>",
468
+ name="<name>",
469
+ description="<description>",
470
+ is_enabled=True,
471
+ condition_ids=["<condition_id>"],
472
+ user_group_ids=["_project_all_users"],
473
+ tags=[
474
+ "<tag1>",
475
+ "<tag2>",
476
+ ],
477
+ time_windows=[{
478
+ "time_zone": "UTC",
479
+ "start_time": 1711238400000,
480
+ "duration": "24h",
481
+ "recurrence": {
482
+ "type": "Daily",
483
+ "until": -1,
484
+ },
485
+ }])
486
+ # Windows Rule
487
+ windows_rule = harness.chaos.SecurityGovernanceRule("windows_rule",
488
+ org_id="<org_id>",
489
+ project_id="<project_id>",
490
+ name="<name>",
491
+ description="<description>",
492
+ is_enabled=True,
493
+ condition_ids=["<condition_id>"],
494
+ user_group_ids=["_project_all_users"],
495
+ tags=[
496
+ "<tag1>",
497
+ "<tag2>",
498
+ ],
499
+ time_windows=[{
500
+ "time_zone": "UTC",
501
+ "start_time": 1711238400000,
502
+ "duration": "24h",
503
+ "recurrence": {
504
+ "type": "Daily",
505
+ "until": -1,
506
+ },
507
+ }])
508
+ ```
509
+
510
+ ## Import
511
+
512
+ The `pulumi import` command can be used, for example:
513
+
514
+ Import Project level Chaos Security Governance Rule
515
+
516
+ ```sh
517
+ $ pulumi import harness:chaos/securityGovernanceRule:SecurityGovernanceRule example org_id/project_id/rule_id
518
+ ```
519
+
520
+ :param str resource_name: The name of the resource.
521
+ :param SecurityGovernanceRuleArgs args: The arguments to use to populate this resource's properties.
522
+ :param pulumi.ResourceOptions opts: Options for the resource.
523
+ """
524
+ ...
525
+ def __init__(__self__, resource_name: str, *args, **kwargs):
526
+ resource_args, opts = _utilities.get_resource_args_opts(SecurityGovernanceRuleArgs, pulumi.ResourceOptions, *args, **kwargs)
527
+ if resource_args is not None:
528
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
529
+ else:
530
+ __self__._internal_init(resource_name, *args, **kwargs)
531
+
532
+ def _internal_init(__self__,
533
+ resource_name: str,
534
+ opts: Optional[pulumi.ResourceOptions] = None,
535
+ condition_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
536
+ description: Optional[pulumi.Input[_builtins.str]] = None,
537
+ is_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
538
+ name: Optional[pulumi.Input[_builtins.str]] = None,
539
+ org_id: Optional[pulumi.Input[_builtins.str]] = None,
540
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
541
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
542
+ time_windows: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecurityGovernanceRuleTimeWindowArgs', 'SecurityGovernanceRuleTimeWindowArgsDict']]]]] = None,
543
+ user_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
544
+ __props__=None):
545
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
546
+ if not isinstance(opts, pulumi.ResourceOptions):
547
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
548
+ if opts.id is None:
549
+ if __props__ is not None:
550
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
551
+ __props__ = SecurityGovernanceRuleArgs.__new__(SecurityGovernanceRuleArgs)
552
+
553
+ if condition_ids is None and not opts.urn:
554
+ raise TypeError("Missing required property 'condition_ids'")
555
+ __props__.__dict__["condition_ids"] = condition_ids
556
+ __props__.__dict__["description"] = description
557
+ __props__.__dict__["is_enabled"] = is_enabled
558
+ __props__.__dict__["name"] = name
559
+ if org_id is None and not opts.urn:
560
+ raise TypeError("Missing required property 'org_id'")
561
+ __props__.__dict__["org_id"] = org_id
562
+ if project_id is None and not opts.urn:
563
+ raise TypeError("Missing required property 'project_id'")
564
+ __props__.__dict__["project_id"] = project_id
565
+ __props__.__dict__["tags"] = tags
566
+ if time_windows is None and not opts.urn:
567
+ raise TypeError("Missing required property 'time_windows'")
568
+ __props__.__dict__["time_windows"] = time_windows
569
+ __props__.__dict__["user_group_ids"] = user_group_ids
570
+ super(SecurityGovernanceRule, __self__).__init__(
571
+ 'harness:chaos/securityGovernanceRule:SecurityGovernanceRule',
572
+ resource_name,
573
+ __props__,
574
+ opts)
575
+
576
+ @staticmethod
577
+ def get(resource_name: str,
578
+ id: pulumi.Input[str],
579
+ opts: Optional[pulumi.ResourceOptions] = None,
580
+ condition_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
581
+ description: Optional[pulumi.Input[_builtins.str]] = None,
582
+ is_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
583
+ name: Optional[pulumi.Input[_builtins.str]] = None,
584
+ org_id: Optional[pulumi.Input[_builtins.str]] = None,
585
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
586
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
587
+ time_windows: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecurityGovernanceRuleTimeWindowArgs', 'SecurityGovernanceRuleTimeWindowArgsDict']]]]] = None,
588
+ user_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None) -> 'SecurityGovernanceRule':
589
+ """
590
+ Get an existing SecurityGovernanceRule resource's state with the given name, id, and optional extra
591
+ properties used to qualify the lookup.
592
+
593
+ :param str resource_name: The unique name of the resulting resource.
594
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
595
+ :param pulumi.ResourceOptions opts: Options for the resource.
596
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] condition_ids: List of condition IDs associated with this rule
597
+ :param pulumi.Input[_builtins.str] description: Description of the security governance rule
598
+ :param pulumi.Input[_builtins.bool] is_enabled: Whether the rule is enabled
599
+ :param pulumi.Input[_builtins.str] name: Name of the security governance rule
600
+ :param pulumi.Input[_builtins.str] org_id: The organization ID of the security governance rule
601
+ :param pulumi.Input[_builtins.str] project_id: The project ID of the security governance rule
602
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: Tags for the security governance rule
603
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] user_group_ids: List of user group IDs associated with this rule
604
+ """
605
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
606
+
607
+ __props__ = _SecurityGovernanceRuleState.__new__(_SecurityGovernanceRuleState)
608
+
609
+ __props__.__dict__["condition_ids"] = condition_ids
610
+ __props__.__dict__["description"] = description
611
+ __props__.__dict__["is_enabled"] = is_enabled
612
+ __props__.__dict__["name"] = name
613
+ __props__.__dict__["org_id"] = org_id
614
+ __props__.__dict__["project_id"] = project_id
615
+ __props__.__dict__["tags"] = tags
616
+ __props__.__dict__["time_windows"] = time_windows
617
+ __props__.__dict__["user_group_ids"] = user_group_ids
618
+ return SecurityGovernanceRule(resource_name, opts=opts, __props__=__props__)
619
+
620
+ @_builtins.property
621
+ @pulumi.getter(name="conditionIds")
622
+ def condition_ids(self) -> pulumi.Output[Sequence[_builtins.str]]:
623
+ """
624
+ List of condition IDs associated with this rule
625
+ """
626
+ return pulumi.get(self, "condition_ids")
627
+
628
+ @_builtins.property
629
+ @pulumi.getter
630
+ def description(self) -> pulumi.Output[Optional[_builtins.str]]:
631
+ """
632
+ Description of the security governance rule
633
+ """
634
+ return pulumi.get(self, "description")
635
+
636
+ @_builtins.property
637
+ @pulumi.getter(name="isEnabled")
638
+ def is_enabled(self) -> pulumi.Output[Optional[_builtins.bool]]:
639
+ """
640
+ Whether the rule is enabled
641
+ """
642
+ return pulumi.get(self, "is_enabled")
643
+
644
+ @_builtins.property
645
+ @pulumi.getter
646
+ def name(self) -> pulumi.Output[_builtins.str]:
647
+ """
648
+ Name of the security governance rule
649
+ """
650
+ return pulumi.get(self, "name")
651
+
652
+ @_builtins.property
653
+ @pulumi.getter(name="orgId")
654
+ def org_id(self) -> pulumi.Output[_builtins.str]:
655
+ """
656
+ The organization ID of the security governance rule
657
+ """
658
+ return pulumi.get(self, "org_id")
659
+
660
+ @_builtins.property
661
+ @pulumi.getter(name="projectId")
662
+ def project_id(self) -> pulumi.Output[_builtins.str]:
663
+ """
664
+ The project ID of the security governance rule
665
+ """
666
+ return pulumi.get(self, "project_id")
667
+
668
+ @_builtins.property
669
+ @pulumi.getter
670
+ def tags(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
671
+ """
672
+ Tags for the security governance rule
673
+ """
674
+ return pulumi.get(self, "tags")
675
+
676
+ @_builtins.property
677
+ @pulumi.getter(name="timeWindows")
678
+ def time_windows(self) -> pulumi.Output[Sequence['outputs.SecurityGovernanceRuleTimeWindow']]:
679
+ return pulumi.get(self, "time_windows")
680
+
681
+ @_builtins.property
682
+ @pulumi.getter(name="userGroupIds")
683
+ def user_group_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
684
+ """
685
+ List of user group IDs associated with this rule
686
+ """
687
+ return pulumi.get(self, "user_group_ids")
688
+