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,261 @@
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
+
18
+ __all__ = [
19
+ 'GetSecurityGovernanceConditionResult',
20
+ 'AwaitableGetSecurityGovernanceConditionResult',
21
+ 'get_security_governance_condition',
22
+ 'get_security_governance_condition_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetSecurityGovernanceConditionResult:
27
+ """
28
+ A collection of values returned by getSecurityGovernanceCondition.
29
+ """
30
+ def __init__(__self__, description=None, fault_specs=None, id=None, infra_type=None, k8s_specs=None, machine_specs=None, name=None, org_id=None, project_id=None, tags=None):
31
+ if description and not isinstance(description, str):
32
+ raise TypeError("Expected argument 'description' to be a str")
33
+ pulumi.set(__self__, "description", description)
34
+ if fault_specs and not isinstance(fault_specs, list):
35
+ raise TypeError("Expected argument 'fault_specs' to be a list")
36
+ pulumi.set(__self__, "fault_specs", fault_specs)
37
+ if id and not isinstance(id, str):
38
+ raise TypeError("Expected argument 'id' to be a str")
39
+ pulumi.set(__self__, "id", id)
40
+ if infra_type and not isinstance(infra_type, str):
41
+ raise TypeError("Expected argument 'infra_type' to be a str")
42
+ pulumi.set(__self__, "infra_type", infra_type)
43
+ if k8s_specs and not isinstance(k8s_specs, list):
44
+ raise TypeError("Expected argument 'k8s_specs' to be a list")
45
+ pulumi.set(__self__, "k8s_specs", k8s_specs)
46
+ if machine_specs and not isinstance(machine_specs, list):
47
+ raise TypeError("Expected argument 'machine_specs' to be a list")
48
+ pulumi.set(__self__, "machine_specs", machine_specs)
49
+ if name and not isinstance(name, str):
50
+ raise TypeError("Expected argument 'name' to be a str")
51
+ pulumi.set(__self__, "name", name)
52
+ if org_id and not isinstance(org_id, str):
53
+ raise TypeError("Expected argument 'org_id' to be a str")
54
+ pulumi.set(__self__, "org_id", org_id)
55
+ if project_id and not isinstance(project_id, str):
56
+ raise TypeError("Expected argument 'project_id' to be a str")
57
+ pulumi.set(__self__, "project_id", project_id)
58
+ if tags and not isinstance(tags, list):
59
+ raise TypeError("Expected argument 'tags' to be a list")
60
+ pulumi.set(__self__, "tags", tags)
61
+
62
+ @_builtins.property
63
+ @pulumi.getter
64
+ def description(self) -> _builtins.str:
65
+ """
66
+ The description of the security governance condition
67
+ """
68
+ return pulumi.get(self, "description")
69
+
70
+ @_builtins.property
71
+ @pulumi.getter(name="faultSpecs")
72
+ def fault_specs(self) -> Sequence['outputs.GetSecurityGovernanceConditionFaultSpecResult']:
73
+ """
74
+ Fault specification for the condition
75
+ """
76
+ return pulumi.get(self, "fault_specs")
77
+
78
+ @_builtins.property
79
+ @pulumi.getter
80
+ def id(self) -> _builtins.str:
81
+ """
82
+ The ID of the security governance condition. Either `id` or `name` must be specified.
83
+ """
84
+ return pulumi.get(self, "id")
85
+
86
+ @_builtins.property
87
+ @pulumi.getter(name="infraType")
88
+ def infra_type(self) -> _builtins.str:
89
+ """
90
+ The infrastructure type (KubernetesV2, Linux, Windows)
91
+ """
92
+ return pulumi.get(self, "infra_type")
93
+
94
+ @_builtins.property
95
+ @pulumi.getter(name="k8sSpecs")
96
+ def k8s_specs(self) -> Sequence['outputs.GetSecurityGovernanceConditionK8sSpecResult']:
97
+ """
98
+ Kubernetes specific configuration
99
+ """
100
+ return pulumi.get(self, "k8s_specs")
101
+
102
+ @_builtins.property
103
+ @pulumi.getter(name="machineSpecs")
104
+ def machine_specs(self) -> Sequence['outputs.GetSecurityGovernanceConditionMachineSpecResult']:
105
+ """
106
+ Machine specific configuration
107
+ """
108
+ return pulumi.get(self, "machine_specs")
109
+
110
+ @_builtins.property
111
+ @pulumi.getter
112
+ def name(self) -> _builtins.str:
113
+ """
114
+ The name of the security governance condition. Either `id` or `name` must be specified.
115
+ """
116
+ return pulumi.get(self, "name")
117
+
118
+ @_builtins.property
119
+ @pulumi.getter(name="orgId")
120
+ def org_id(self) -> Optional[_builtins.str]:
121
+ """
122
+ The organization ID of the security governance condition
123
+ """
124
+ return pulumi.get(self, "org_id")
125
+
126
+ @_builtins.property
127
+ @pulumi.getter(name="projectId")
128
+ def project_id(self) -> Optional[_builtins.str]:
129
+ """
130
+ The project ID of the security governance condition
131
+ """
132
+ return pulumi.get(self, "project_id")
133
+
134
+ @_builtins.property
135
+ @pulumi.getter
136
+ def tags(self) -> Sequence[_builtins.str]:
137
+ """
138
+ Tags associated with the condition
139
+ """
140
+ return pulumi.get(self, "tags")
141
+
142
+
143
+ class AwaitableGetSecurityGovernanceConditionResult(GetSecurityGovernanceConditionResult):
144
+ # pylint: disable=using-constant-test
145
+ def __await__(self):
146
+ if False:
147
+ yield self
148
+ return GetSecurityGovernanceConditionResult(
149
+ description=self.description,
150
+ fault_specs=self.fault_specs,
151
+ id=self.id,
152
+ infra_type=self.infra_type,
153
+ k8s_specs=self.k8s_specs,
154
+ machine_specs=self.machine_specs,
155
+ name=self.name,
156
+ org_id=self.org_id,
157
+ project_id=self.project_id,
158
+ tags=self.tags)
159
+
160
+
161
+ def get_security_governance_condition(id: Optional[_builtins.str] = None,
162
+ name: Optional[_builtins.str] = None,
163
+ org_id: Optional[_builtins.str] = None,
164
+ project_id: Optional[_builtins.str] = None,
165
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSecurityGovernanceConditionResult:
166
+ """
167
+ Data source for retrieving a Harness Chaos Security Governance Condition
168
+
169
+ ## Example Usage
170
+
171
+ ```python
172
+ import pulumi
173
+ import pulumi_harness as harness
174
+
175
+ # Example of looking up a security governance condition by name
176
+ by_name = harness.chaos.get_security_governance_condition(org_id=org_id,
177
+ project_id=project_id,
178
+ name="k8s-security-condition")
179
+ # Example of looking up a security governance condition by ID
180
+ by_id = harness.chaos.get_security_governance_condition(org_id=org_id,
181
+ project_id=project_id,
182
+ id="<condition_id>")
183
+ pulumi.export("securityGovernanceConditionByName", by_name)
184
+ pulumi.export("securityGovernanceConditionById", by_id)
185
+ ```
186
+
187
+
188
+ :param _builtins.str id: The ID of the security governance condition. Either `id` or `name` must be specified.
189
+ :param _builtins.str name: The name of the security governance condition. Either `id` or `name` must be specified.
190
+ :param _builtins.str org_id: The organization ID of the security governance condition
191
+ :param _builtins.str project_id: The project ID of the security governance condition
192
+ """
193
+ __args__ = dict()
194
+ __args__['id'] = id
195
+ __args__['name'] = name
196
+ __args__['orgId'] = org_id
197
+ __args__['projectId'] = project_id
198
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
199
+ __ret__ = pulumi.runtime.invoke('harness:chaos/getSecurityGovernanceCondition:getSecurityGovernanceCondition', __args__, opts=opts, typ=GetSecurityGovernanceConditionResult).value
200
+
201
+ return AwaitableGetSecurityGovernanceConditionResult(
202
+ description=pulumi.get(__ret__, 'description'),
203
+ fault_specs=pulumi.get(__ret__, 'fault_specs'),
204
+ id=pulumi.get(__ret__, 'id'),
205
+ infra_type=pulumi.get(__ret__, 'infra_type'),
206
+ k8s_specs=pulumi.get(__ret__, 'k8s_specs'),
207
+ machine_specs=pulumi.get(__ret__, 'machine_specs'),
208
+ name=pulumi.get(__ret__, 'name'),
209
+ org_id=pulumi.get(__ret__, 'org_id'),
210
+ project_id=pulumi.get(__ret__, 'project_id'),
211
+ tags=pulumi.get(__ret__, 'tags'))
212
+ def get_security_governance_condition_output(id: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
213
+ name: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
214
+ org_id: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
215
+ project_id: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
216
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecurityGovernanceConditionResult]:
217
+ """
218
+ Data source for retrieving a Harness Chaos Security Governance Condition
219
+
220
+ ## Example Usage
221
+
222
+ ```python
223
+ import pulumi
224
+ import pulumi_harness as harness
225
+
226
+ # Example of looking up a security governance condition by name
227
+ by_name = harness.chaos.get_security_governance_condition(org_id=org_id,
228
+ project_id=project_id,
229
+ name="k8s-security-condition")
230
+ # Example of looking up a security governance condition by ID
231
+ by_id = harness.chaos.get_security_governance_condition(org_id=org_id,
232
+ project_id=project_id,
233
+ id="<condition_id>")
234
+ pulumi.export("securityGovernanceConditionByName", by_name)
235
+ pulumi.export("securityGovernanceConditionById", by_id)
236
+ ```
237
+
238
+
239
+ :param _builtins.str id: The ID of the security governance condition. Either `id` or `name` must be specified.
240
+ :param _builtins.str name: The name of the security governance condition. Either `id` or `name` must be specified.
241
+ :param _builtins.str org_id: The organization ID of the security governance condition
242
+ :param _builtins.str project_id: The project ID of the security governance condition
243
+ """
244
+ __args__ = dict()
245
+ __args__['id'] = id
246
+ __args__['name'] = name
247
+ __args__['orgId'] = org_id
248
+ __args__['projectId'] = project_id
249
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
250
+ __ret__ = pulumi.runtime.invoke_output('harness:chaos/getSecurityGovernanceCondition:getSecurityGovernanceCondition', __args__, opts=opts, typ=GetSecurityGovernanceConditionResult)
251
+ return __ret__.apply(lambda __response__: GetSecurityGovernanceConditionResult(
252
+ description=pulumi.get(__response__, 'description'),
253
+ fault_specs=pulumi.get(__response__, 'fault_specs'),
254
+ id=pulumi.get(__response__, 'id'),
255
+ infra_type=pulumi.get(__response__, 'infra_type'),
256
+ k8s_specs=pulumi.get(__response__, 'k8s_specs'),
257
+ machine_specs=pulumi.get(__response__, 'machine_specs'),
258
+ name=pulumi.get(__response__, 'name'),
259
+ org_id=pulumi.get(__response__, 'org_id'),
260
+ project_id=pulumi.get(__response__, 'project_id'),
261
+ tags=pulumi.get(__response__, 'tags')))
@@ -0,0 +1,261 @@
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
+
18
+ __all__ = [
19
+ 'GetSecurityGovernanceRuleResult',
20
+ 'AwaitableGetSecurityGovernanceRuleResult',
21
+ 'get_security_governance_rule',
22
+ 'get_security_governance_rule_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetSecurityGovernanceRuleResult:
27
+ """
28
+ A collection of values returned by getSecurityGovernanceRule.
29
+ """
30
+ def __init__(__self__, condition_ids=None, description=None, id=None, is_enabled=None, name=None, org_id=None, project_id=None, tags=None, time_windows=None, user_group_ids=None):
31
+ if condition_ids and not isinstance(condition_ids, list):
32
+ raise TypeError("Expected argument 'condition_ids' to be a list")
33
+ pulumi.set(__self__, "condition_ids", condition_ids)
34
+ if description and not isinstance(description, str):
35
+ raise TypeError("Expected argument 'description' to be a str")
36
+ pulumi.set(__self__, "description", description)
37
+ if id and not isinstance(id, str):
38
+ raise TypeError("Expected argument 'id' to be a str")
39
+ pulumi.set(__self__, "id", id)
40
+ if is_enabled and not isinstance(is_enabled, bool):
41
+ raise TypeError("Expected argument 'is_enabled' to be a bool")
42
+ pulumi.set(__self__, "is_enabled", is_enabled)
43
+ if name and not isinstance(name, str):
44
+ raise TypeError("Expected argument 'name' to be a str")
45
+ pulumi.set(__self__, "name", name)
46
+ if org_id and not isinstance(org_id, str):
47
+ raise TypeError("Expected argument 'org_id' to be a str")
48
+ pulumi.set(__self__, "org_id", org_id)
49
+ if project_id and not isinstance(project_id, str):
50
+ raise TypeError("Expected argument 'project_id' to be a str")
51
+ pulumi.set(__self__, "project_id", project_id)
52
+ if tags and not isinstance(tags, list):
53
+ raise TypeError("Expected argument 'tags' to be a list")
54
+ pulumi.set(__self__, "tags", tags)
55
+ if time_windows and not isinstance(time_windows, list):
56
+ raise TypeError("Expected argument 'time_windows' to be a list")
57
+ pulumi.set(__self__, "time_windows", time_windows)
58
+ if user_group_ids and not isinstance(user_group_ids, list):
59
+ raise TypeError("Expected argument 'user_group_ids' to be a list")
60
+ pulumi.set(__self__, "user_group_ids", user_group_ids)
61
+
62
+ @_builtins.property
63
+ @pulumi.getter(name="conditionIds")
64
+ def condition_ids(self) -> Sequence[_builtins.str]:
65
+ """
66
+ List of condition IDs associated with the rule.
67
+ """
68
+ return pulumi.get(self, "condition_ids")
69
+
70
+ @_builtins.property
71
+ @pulumi.getter
72
+ def description(self) -> _builtins.str:
73
+ """
74
+ The description of the rule.
75
+ """
76
+ return pulumi.get(self, "description")
77
+
78
+ @_builtins.property
79
+ @pulumi.getter
80
+ def id(self) -> Optional[_builtins.str]:
81
+ """
82
+ The ID of the rule.
83
+ """
84
+ return pulumi.get(self, "id")
85
+
86
+ @_builtins.property
87
+ @pulumi.getter(name="isEnabled")
88
+ def is_enabled(self) -> _builtins.bool:
89
+ """
90
+ Whether the rule is enabled.
91
+ """
92
+ return pulumi.get(self, "is_enabled")
93
+
94
+ @_builtins.property
95
+ @pulumi.getter
96
+ def name(self) -> Optional[_builtins.str]:
97
+ """
98
+ The name of the rule.
99
+ """
100
+ return pulumi.get(self, "name")
101
+
102
+ @_builtins.property
103
+ @pulumi.getter(name="orgId")
104
+ def org_id(self) -> _builtins.str:
105
+ """
106
+ The organization identifier.
107
+ """
108
+ return pulumi.get(self, "org_id")
109
+
110
+ @_builtins.property
111
+ @pulumi.getter(name="projectId")
112
+ def project_id(self) -> _builtins.str:
113
+ """
114
+ The project identifier.
115
+ """
116
+ return pulumi.get(self, "project_id")
117
+
118
+ @_builtins.property
119
+ @pulumi.getter
120
+ def tags(self) -> Sequence[_builtins.str]:
121
+ """
122
+ Tags associated with the rule.
123
+ """
124
+ return pulumi.get(self, "tags")
125
+
126
+ @_builtins.property
127
+ @pulumi.getter(name="timeWindows")
128
+ def time_windows(self) -> Sequence['outputs.GetSecurityGovernanceRuleTimeWindowResult']:
129
+ """
130
+ Time windows when the rule is active.
131
+ """
132
+ return pulumi.get(self, "time_windows")
133
+
134
+ @_builtins.property
135
+ @pulumi.getter(name="userGroupIds")
136
+ def user_group_ids(self) -> Sequence[_builtins.str]:
137
+ """
138
+ List of user group IDs associated with the rule.
139
+ """
140
+ return pulumi.get(self, "user_group_ids")
141
+
142
+
143
+ class AwaitableGetSecurityGovernanceRuleResult(GetSecurityGovernanceRuleResult):
144
+ # pylint: disable=using-constant-test
145
+ def __await__(self):
146
+ if False:
147
+ yield self
148
+ return GetSecurityGovernanceRuleResult(
149
+ condition_ids=self.condition_ids,
150
+ description=self.description,
151
+ id=self.id,
152
+ is_enabled=self.is_enabled,
153
+ name=self.name,
154
+ org_id=self.org_id,
155
+ project_id=self.project_id,
156
+ tags=self.tags,
157
+ time_windows=self.time_windows,
158
+ user_group_ids=self.user_group_ids)
159
+
160
+
161
+ def get_security_governance_rule(id: Optional[_builtins.str] = None,
162
+ name: Optional[_builtins.str] = None,
163
+ org_id: Optional[_builtins.str] = None,
164
+ project_id: Optional[_builtins.str] = None,
165
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSecurityGovernanceRuleResult:
166
+ """
167
+ Data source for retrieving a Harness Chaos Security Governance Rule.
168
+
169
+ ## Example Usage
170
+
171
+ ```python
172
+ import pulumi
173
+ import pulumi_harness as harness
174
+
175
+ # Data sources to verify the rules
176
+ example = harness.chaos.get_security_governance_rule(id="<rule_id>",
177
+ org_id="<org_id>",
178
+ project_id="<project_id>")
179
+ example_linux = harness.chaos.get_security_governance_rule(id="<rule_id>",
180
+ org_id="<org_id>",
181
+ project_id="<project_id>")
182
+ example_windows = harness.chaos.get_security_governance_rule(id="<rule_id>",
183
+ org_id="<org_id>",
184
+ project_id="<project_id>")
185
+ ```
186
+
187
+
188
+ :param _builtins.str id: The ID of the rule.
189
+ :param _builtins.str name: The name of the rule.
190
+ :param _builtins.str org_id: The organization identifier.
191
+ :param _builtins.str project_id: The project identifier.
192
+ """
193
+ __args__ = dict()
194
+ __args__['id'] = id
195
+ __args__['name'] = name
196
+ __args__['orgId'] = org_id
197
+ __args__['projectId'] = project_id
198
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
199
+ __ret__ = pulumi.runtime.invoke('harness:chaos/getSecurityGovernanceRule:getSecurityGovernanceRule', __args__, opts=opts, typ=GetSecurityGovernanceRuleResult).value
200
+
201
+ return AwaitableGetSecurityGovernanceRuleResult(
202
+ condition_ids=pulumi.get(__ret__, 'condition_ids'),
203
+ description=pulumi.get(__ret__, 'description'),
204
+ id=pulumi.get(__ret__, 'id'),
205
+ is_enabled=pulumi.get(__ret__, 'is_enabled'),
206
+ name=pulumi.get(__ret__, 'name'),
207
+ org_id=pulumi.get(__ret__, 'org_id'),
208
+ project_id=pulumi.get(__ret__, 'project_id'),
209
+ tags=pulumi.get(__ret__, 'tags'),
210
+ time_windows=pulumi.get(__ret__, 'time_windows'),
211
+ user_group_ids=pulumi.get(__ret__, 'user_group_ids'))
212
+ def get_security_governance_rule_output(id: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
213
+ name: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
214
+ org_id: Optional[pulumi.Input[_builtins.str]] = None,
215
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
216
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecurityGovernanceRuleResult]:
217
+ """
218
+ Data source for retrieving a Harness Chaos Security Governance Rule.
219
+
220
+ ## Example Usage
221
+
222
+ ```python
223
+ import pulumi
224
+ import pulumi_harness as harness
225
+
226
+ # Data sources to verify the rules
227
+ example = harness.chaos.get_security_governance_rule(id="<rule_id>",
228
+ org_id="<org_id>",
229
+ project_id="<project_id>")
230
+ example_linux = harness.chaos.get_security_governance_rule(id="<rule_id>",
231
+ org_id="<org_id>",
232
+ project_id="<project_id>")
233
+ example_windows = harness.chaos.get_security_governance_rule(id="<rule_id>",
234
+ org_id="<org_id>",
235
+ project_id="<project_id>")
236
+ ```
237
+
238
+
239
+ :param _builtins.str id: The ID of the rule.
240
+ :param _builtins.str name: The name of the rule.
241
+ :param _builtins.str org_id: The organization identifier.
242
+ :param _builtins.str project_id: The project identifier.
243
+ """
244
+ __args__ = dict()
245
+ __args__['id'] = id
246
+ __args__['name'] = name
247
+ __args__['orgId'] = org_id
248
+ __args__['projectId'] = project_id
249
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
250
+ __ret__ = pulumi.runtime.invoke_output('harness:chaos/getSecurityGovernanceRule:getSecurityGovernanceRule', __args__, opts=opts, typ=GetSecurityGovernanceRuleResult)
251
+ return __ret__.apply(lambda __response__: GetSecurityGovernanceRuleResult(
252
+ condition_ids=pulumi.get(__response__, 'condition_ids'),
253
+ description=pulumi.get(__response__, 'description'),
254
+ id=pulumi.get(__response__, 'id'),
255
+ is_enabled=pulumi.get(__response__, 'is_enabled'),
256
+ name=pulumi.get(__response__, 'name'),
257
+ org_id=pulumi.get(__response__, 'org_id'),
258
+ project_id=pulumi.get(__response__, 'project_id'),
259
+ tags=pulumi.get(__response__, 'tags'),
260
+ time_windows=pulumi.get(__response__, 'time_windows'),
261
+ user_group_ids=pulumi.get(__response__, 'user_group_ids')))