pulumi-harness 0.7.7__py3-none-any.whl → 0.8.0__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 (354) hide show
  1. pulumi_harness/__init__.py +68 -1
  2. pulumi_harness/_inputs.py +971 -972
  3. pulumi_harness/add_user_to_group.py +39 -36
  4. pulumi_harness/application.py +91 -88
  5. pulumi_harness/application_git_sync.py +90 -87
  6. pulumi_harness/autostopping/__init__.py +1 -1
  7. pulumi_harness/autostopping/_inputs.py +585 -586
  8. pulumi_harness/autostopping/aws_alb.py +172 -173
  9. pulumi_harness/autostopping/aws_proxy.py +209 -210
  10. pulumi_harness/autostopping/azure_gateway.py +227 -228
  11. pulumi_harness/autostopping/azure_proxy.py +243 -244
  12. pulumi_harness/autostopping/gcp_proxy.py +213 -214
  13. pulumi_harness/autostopping/get_aws_alb.py +61 -62
  14. pulumi_harness/autostopping/get_aws_proxy.py +74 -75
  15. pulumi_harness/autostopping/get_azure_gateway.py +81 -82
  16. pulumi_harness/autostopping/get_azure_proxy.py +86 -87
  17. pulumi_harness/autostopping/get_gcp_proxy.py +76 -77
  18. pulumi_harness/autostopping/get_rule_ecs.py +32 -33
  19. pulumi_harness/autostopping/get_rule_rds.py +26 -27
  20. pulumi_harness/autostopping/get_rule_vm.py +39 -40
  21. pulumi_harness/autostopping/get_schedule.py +22 -23
  22. pulumi_harness/autostopping/outputs.py +407 -408
  23. pulumi_harness/autostopping/rule_ecs.py +104 -105
  24. pulumi_harness/autostopping/rule_rds.py +87 -88
  25. pulumi_harness/autostopping/rule_vm.py +124 -125
  26. pulumi_harness/autostopping/schedule.py +115 -116
  27. pulumi_harness/chaos/__init__.py +21 -0
  28. pulumi_harness/chaos/_inputs.py +2702 -0
  29. pulumi_harness/chaos/get_hub.py +324 -0
  30. pulumi_harness/chaos/get_image_registry.py +339 -0
  31. pulumi_harness/chaos/get_infrastructure_v2.py +684 -0
  32. pulumi_harness/chaos/get_security_governance_condition.py +261 -0
  33. pulumi_harness/chaos/get_security_governance_rule.py +261 -0
  34. pulumi_harness/chaos/hub.py +806 -0
  35. pulumi_harness/chaos/hub_sync.py +274 -0
  36. pulumi_harness/chaos/image_registry.py +730 -0
  37. pulumi_harness/chaos/infrastructure_v2.py +1670 -0
  38. pulumi_harness/chaos/outputs.py +2276 -0
  39. pulumi_harness/chaos/security_governance_condition.py +795 -0
  40. pulumi_harness/chaos/security_governance_rule.py +688 -0
  41. pulumi_harness/chaos_infrastructure.py +164 -159
  42. pulumi_harness/cloudprovider/__init__.py +1 -1
  43. pulumi_harness/cloudprovider/_inputs.py +179 -180
  44. pulumi_harness/cloudprovider/aws.py +130 -127
  45. pulumi_harness/cloudprovider/azure.py +90 -87
  46. pulumi_harness/cloudprovider/datacenter.py +25 -22
  47. pulumi_harness/cloudprovider/gcp.py +72 -73
  48. pulumi_harness/cloudprovider/get_delegate_ids.py +23 -24
  49. pulumi_harness/cloudprovider/kubernetes.py +45 -42
  50. pulumi_harness/cloudprovider/outputs.py +121 -122
  51. pulumi_harness/cloudprovider/spot.py +56 -53
  52. pulumi_harness/cloudprovider/tanzu.py +107 -104
  53. pulumi_harness/cluster/__init__.py +1 -1
  54. pulumi_harness/cluster/_inputs.py +719 -180
  55. pulumi_harness/cluster/get_orchestrator.py +21 -22
  56. pulumi_harness/cluster/get_orchestrator_config.py +58 -19
  57. pulumi_harness/cluster/orchestrator.py +52 -69
  58. pulumi_harness/cluster/orchestrator_config.py +278 -31
  59. pulumi_harness/cluster/outputs.py +517 -124
  60. pulumi_harness/config/__init__.py +1 -1
  61. pulumi_harness/config/__init__.pyi +1 -2
  62. pulumi_harness/config/vars.py +5 -6
  63. pulumi_harness/delegate_approval.py +48 -45
  64. pulumi_harness/encrypted_text.py +110 -107
  65. pulumi_harness/environment.py +76 -73
  66. pulumi_harness/get_application.py +37 -38
  67. pulumi_harness/get_chaos_infrastructure.py +27 -28
  68. pulumi_harness/get_current_account.py +12 -13
  69. pulumi_harness/get_delegate.py +45 -46
  70. pulumi_harness/get_encrypted_text.py +16 -17
  71. pulumi_harness/get_environment.py +26 -27
  72. pulumi_harness/get_git_connector.py +34 -35
  73. pulumi_harness/get_secret_manager.py +20 -21
  74. pulumi_harness/get_service.py +27 -28
  75. pulumi_harness/get_ssh_credential.py +14 -15
  76. pulumi_harness/get_sso_provider.py +15 -16
  77. pulumi_harness/get_trigger.py +26 -27
  78. pulumi_harness/get_user.py +25 -26
  79. pulumi_harness/get_user_group.py +13 -14
  80. pulumi_harness/get_yaml_config.py +19 -20
  81. pulumi_harness/git_connector.py +182 -179
  82. pulumi_harness/governance/__init__.py +1 -1
  83. pulumi_harness/governance/get_rule.py +17 -18
  84. pulumi_harness/governance/get_rule_enforcement.py +31 -32
  85. pulumi_harness/governance/get_rule_set.py +17 -18
  86. pulumi_harness/governance/rule.py +82 -79
  87. pulumi_harness/governance/rule_enforcement.py +201 -198
  88. pulumi_harness/governance/rule_set.py +78 -79
  89. pulumi_harness/infrastructure_definition.py +180 -177
  90. pulumi_harness/outputs.py +694 -695
  91. pulumi_harness/platform/__init__.py +1 -1
  92. pulumi_harness/platform/_inputs.py +30467 -30400
  93. pulumi_harness/platform/app_dynamics_connector.py +164 -161
  94. pulumi_harness/platform/artifactory_connector.py +144 -141
  95. pulumi_harness/platform/aws_cc_connector.py +178 -175
  96. pulumi_harness/platform/aws_connector.py +172 -169
  97. pulumi_harness/platform/aws_kms_connector.py +257 -208
  98. pulumi_harness/platform/aws_secret_manager_connector.py +251 -248
  99. pulumi_harness/platform/azure_cloud_cost_connector.py +208 -158
  100. pulumi_harness/platform/azure_cloud_provider_connector.py +178 -175
  101. pulumi_harness/platform/azure_key_vault_connector.py +247 -240
  102. pulumi_harness/platform/bitbucket_connector.py +181 -178
  103. pulumi_harness/platform/central_notification_channel.py +109 -110
  104. pulumi_harness/platform/central_notification_rule.py +112 -113
  105. pulumi_harness/platform/connector_azure_artifacts.py +144 -143
  106. pulumi_harness/platform/connector_azure_repo.py +205 -211
  107. pulumi_harness/platform/connector_custom_secret_manager.py +262 -368
  108. pulumi_harness/platform/connector_customhealthsource.py +198 -195
  109. pulumi_harness/platform/connector_gcp_kms.py +215 -212
  110. pulumi_harness/platform/connector_jdbc.py +144 -141
  111. pulumi_harness/platform/connector_pdc.py +136 -137
  112. pulumi_harness/platform/connector_rancher.py +161 -158
  113. pulumi_harness/platform/dashboard_folders.py +29 -30
  114. pulumi_harness/platform/dashboards.py +216 -221
  115. pulumi_harness/platform/datadog_connector.py +175 -172
  116. pulumi_harness/platform/db_instance.py +192 -189
  117. pulumi_harness/platform/db_schema.py +160 -157
  118. pulumi_harness/platform/delegatetoken.py +154 -155
  119. pulumi_harness/platform/docker_connector.py +178 -179
  120. pulumi_harness/platform/dynatrace_connector.py +158 -155
  121. pulumi_harness/platform/elasticsearch_connector.py +161 -158
  122. pulumi_harness/platform/environment.py +191 -697
  123. pulumi_harness/platform/environment_clusters_mapping.py +89 -82
  124. pulumi_harness/platform/environment_group.py +112 -200
  125. pulumi_harness/platform/environment_service_overrides.py +115 -282
  126. pulumi_harness/platform/feature_flag.py +197 -198
  127. pulumi_harness/platform/feature_flag_api_key.py +146 -147
  128. pulumi_harness/platform/feature_flag_target.py +120 -121
  129. pulumi_harness/platform/feature_flag_target_group.py +148 -149
  130. pulumi_harness/platform/file_store_file.py +217 -214
  131. pulumi_harness/platform/file_store_folder.py +149 -146
  132. pulumi_harness/platform/filters.py +114 -107
  133. pulumi_harness/platform/gcp_cloud_cost_connector.py +161 -158
  134. pulumi_harness/platform/gcp_connector.py +150 -147
  135. pulumi_harness/platform/gcp_secret_manager_connector.py +197 -284
  136. pulumi_harness/platform/get_api_key.py +59 -90
  137. pulumi_harness/platform/get_app_dynamics_connector.py +39 -40
  138. pulumi_harness/platform/get_artifactory_connector.py +36 -37
  139. pulumi_harness/platform/get_aws_cc_connector.py +40 -41
  140. pulumi_harness/platform/get_aws_connector.py +41 -42
  141. pulumi_harness/platform/get_aws_kms_connector.py +58 -44
  142. pulumi_harness/platform/get_aws_secret_manager_connector.py +61 -58
  143. pulumi_harness/platform/get_azure_cloud_cost_connector.py +50 -40
  144. pulumi_harness/platform/get_azure_cloud_provider_connector.py +38 -39
  145. pulumi_harness/platform/get_azure_key_vault_connector.py +47 -48
  146. pulumi_harness/platform/get_bitbucket_connector.py +41 -42
  147. pulumi_harness/platform/get_ccm_filters.py +32 -33
  148. pulumi_harness/platform/get_central_notification_channel.py +58 -59
  149. pulumi_harness/platform/get_central_notification_rule.py +41 -42
  150. pulumi_harness/platform/get_connector_azure_repo.py +88 -38
  151. pulumi_harness/platform/get_connector_custom_secret_manager.py +74 -79
  152. pulumi_harness/platform/get_connector_customhealthsource.py +43 -44
  153. pulumi_harness/platform/get_connector_gcp_kms.py +45 -46
  154. pulumi_harness/platform/get_connector_jdbc.py +36 -37
  155. pulumi_harness/platform/get_connector_pdc.py +37 -38
  156. pulumi_harness/platform/get_connector_rancher.py +34 -35
  157. pulumi_harness/platform/get_current_account.py +13 -32
  158. pulumi_harness/platform/get_current_user.py +29 -30
  159. pulumi_harness/platform/get_dashboard_folders.py +37 -27
  160. pulumi_harness/platform/get_dashboards.py +52 -45
  161. pulumi_harness/platform/get_datadog_connector.py +43 -44
  162. pulumi_harness/platform/get_db_instance.py +52 -48
  163. pulumi_harness/platform/get_db_schema.py +49 -53
  164. pulumi_harness/platform/get_delegatetoken.py +41 -42
  165. pulumi_harness/platform/get_docker_connector.py +38 -39
  166. pulumi_harness/platform/get_dynatrace_connector.py +37 -38
  167. pulumi_harness/platform/get_elasticsearch_connector.py +37 -38
  168. pulumi_harness/platform/get_environment.py +43 -39
  169. pulumi_harness/platform/get_environment_clusters_mapping.py +30 -31
  170. pulumi_harness/platform/get_environment_group.py +29 -30
  171. pulumi_harness/platform/get_environment_list.py +24 -71
  172. pulumi_harness/platform/get_environment_service_overrides.py +37 -38
  173. pulumi_harness/platform/get_file_store_file.py +47 -48
  174. pulumi_harness/platform/get_file_store_folder.py +39 -40
  175. pulumi_harness/platform/get_filters.py +36 -33
  176. pulumi_harness/platform/get_gcp_cloud_cost_connector.py +38 -39
  177. pulumi_harness/platform/get_gcp_connector.py +34 -35
  178. pulumi_harness/platform/get_gcp_secret_manager_connector.py +46 -43
  179. pulumi_harness/platform/get_git_connector.py +40 -41
  180. pulumi_harness/platform/get_github_connector.py +46 -44
  181. pulumi_harness/platform/get_gitlab_connector.py +43 -44
  182. pulumi_harness/platform/get_gitops_agent.py +50 -51
  183. pulumi_harness/platform/get_gitops_agent_deploy_yaml.py +55 -56
  184. pulumi_harness/platform/get_gitops_agent_operator_yaml.py +48 -49
  185. pulumi_harness/platform/get_gitops_app_project.py +33 -34
  186. pulumi_harness/platform/get_gitops_app_project_mapping.py +35 -36
  187. pulumi_harness/platform/get_gitops_applications.py +68 -61
  188. pulumi_harness/platform/get_gitops_cluster.py +34 -35
  189. pulumi_harness/platform/get_gitops_filters.py +50 -36
  190. pulumi_harness/platform/get_gitops_gnupg.py +34 -35
  191. pulumi_harness/platform/get_gitops_repo_cert.py +27 -28
  192. pulumi_harness/platform/get_gitops_repo_cred.py +34 -35
  193. pulumi_harness/platform/get_gitops_repository.py +36 -37
  194. pulumi_harness/platform/get_gitx_webhook.py +40 -41
  195. pulumi_harness/platform/get_har_registry.py +80 -45
  196. pulumi_harness/platform/get_helm_connector.py +36 -37
  197. pulumi_harness/platform/get_iacm_default_pipeline.py +53 -30
  198. pulumi_harness/platform/get_infra_module.py +79 -80
  199. pulumi_harness/platform/get_infra_variable_set.py +61 -53
  200. pulumi_harness/platform/get_infrastructure.py +49 -45
  201. pulumi_harness/platform/get_input_set.py +40 -41
  202. pulumi_harness/platform/get_jenkins_connector.py +36 -37
  203. pulumi_harness/platform/get_jira_connector.py +42 -43
  204. pulumi_harness/platform/get_kubernetes_cloud_cost_connector.py +35 -36
  205. pulumi_harness/platform/get_kubernetes_connector.py +38 -39
  206. pulumi_harness/platform/get_manual_freeze.py +43 -68
  207. pulumi_harness/platform/get_monitored_service.py +43 -22
  208. pulumi_harness/platform/get_nexus_connector.py +38 -39
  209. pulumi_harness/platform/get_notification_rule.py +21 -22
  210. pulumi_harness/platform/get_oci_helm_connector.py +36 -37
  211. pulumi_harness/platform/get_organization.py +23 -20
  212. pulumi_harness/platform/get_overrides.py +94 -31
  213. pulumi_harness/platform/get_pagerduty_connector.py +39 -36
  214. pulumi_harness/platform/get_permissions.py +16 -17
  215. pulumi_harness/platform/get_pipeline.py +38 -39
  216. pulumi_harness/platform/get_pipeline_filters.py +32 -33
  217. pulumi_harness/platform/get_pipeline_list.py +54 -100
  218. pulumi_harness/platform/get_policy.py +37 -38
  219. pulumi_harness/platform/get_policy_set.py +50 -51
  220. pulumi_harness/platform/get_project.py +33 -30
  221. pulumi_harness/platform/get_project_list.py +48 -94
  222. pulumi_harness/platform/get_prometheus_connector.py +40 -41
  223. pulumi_harness/platform/get_provider.py +18 -10
  224. pulumi_harness/platform/get_repo.py +64 -65
  225. pulumi_harness/platform/get_repo_rule_branch.py +50 -51
  226. pulumi_harness/platform/get_repo_webhook.py +69 -70
  227. pulumi_harness/platform/get_resource_group.py +43 -40
  228. pulumi_harness/platform/get_role_assignments.py +36 -33
  229. pulumi_harness/platform/get_roles.py +47 -44
  230. pulumi_harness/platform/get_secret_file.py +39 -36
  231. pulumi_harness/platform/get_secret_sshkey.py +39 -36
  232. pulumi_harness/platform/get_secret_text.py +38 -39
  233. pulumi_harness/platform/get_service.py +39 -35
  234. pulumi_harness/platform/get_service_account.py +39 -36
  235. pulumi_harness/platform/get_service_list.py +42 -79
  236. pulumi_harness/platform/get_service_now_connector.py +42 -43
  237. pulumi_harness/platform/get_service_overrides_v2.py +70 -29
  238. pulumi_harness/platform/get_slo.py +43 -22
  239. pulumi_harness/platform/get_splunk_connector.py +41 -42
  240. pulumi_harness/platform/get_spot_connector.py +32 -33
  241. pulumi_harness/platform/get_sumologic_connector.py +39 -40
  242. pulumi_harness/platform/get_tas_connector.py +36 -37
  243. pulumi_harness/platform/get_template.py +68 -69
  244. pulumi_harness/platform/get_template_filters.py +32 -33
  245. pulumi_harness/platform/get_terraform_cloud_connector.py +36 -37
  246. pulumi_harness/platform/get_token.py +99 -98
  247. pulumi_harness/platform/get_triggers.py +45 -46
  248. pulumi_harness/platform/get_user.py +35 -32
  249. pulumi_harness/platform/get_usergroup.py +52 -49
  250. pulumi_harness/platform/get_variables.py +32 -29
  251. pulumi_harness/platform/get_vault_connector.py +98 -95
  252. pulumi_harness/platform/get_workspace.py +85 -81
  253. pulumi_harness/platform/get_workspace_output_value.py +22 -23
  254. pulumi_harness/platform/git_connector.py +195 -192
  255. pulumi_harness/platform/git_ops_agent.py +179 -176
  256. pulumi_harness/platform/git_ops_applications.py +297 -294
  257. pulumi_harness/platform/git_ops_cluster.py +157 -107
  258. pulumi_harness/platform/git_ops_gnupg.py +85 -82
  259. pulumi_harness/platform/git_ops_repo_cert.py +76 -73
  260. pulumi_harness/platform/git_ops_repo_cred.py +110 -107
  261. pulumi_harness/platform/git_ops_repository.py +187 -184
  262. pulumi_harness/platform/github_connector.py +218 -215
  263. pulumi_harness/platform/gitlab_connector.py +198 -195
  264. pulumi_harness/platform/gitops_app_project.py +110 -107
  265. pulumi_harness/platform/gitops_app_project_mapping.py +99 -96
  266. pulumi_harness/platform/gitops_applicationset.py +177 -82
  267. pulumi_harness/platform/gitops_filters.py +143 -272
  268. pulumi_harness/platform/gitx_webhook.py +175 -172
  269. pulumi_harness/platform/har_registry.py +168 -170
  270. pulumi_harness/platform/helm_connector.py +161 -158
  271. pulumi_harness/platform/iacm_default_pipeline.py +114 -87
  272. pulumi_harness/platform/infra_module.py +228 -225
  273. pulumi_harness/platform/infra_variable_set.py +153 -138
  274. pulumi_harness/platform/infrastructure.py +205 -428
  275. pulumi_harness/platform/input_set.py +167 -164
  276. pulumi_harness/platform/jenkins_connector.py +148 -141
  277. pulumi_harness/platform/jira_connector.py +195 -194
  278. pulumi_harness/platform/kubernetes_cloud_cost_connector.py +168 -145
  279. pulumi_harness/platform/kubernetes_connector.py +156 -153
  280. pulumi_harness/platform/manual_freeze.py +150 -299
  281. pulumi_harness/platform/monitored_service.py +71 -68
  282. pulumi_harness/platform/newrelic_connector.py +175 -172
  283. pulumi_harness/platform/nexus_connector.py +161 -162
  284. pulumi_harness/platform/notification_rule.py +59 -56
  285. pulumi_harness/platform/oci_helm_connector.py +161 -158
  286. pulumi_harness/platform/organization.py +77 -70
  287. pulumi_harness/platform/outputs.py +22771 -22510
  288. pulumi_harness/platform/overrides.py +239 -194
  289. pulumi_harness/platform/pagerduty_connector.py +145 -138
  290. pulumi_harness/platform/pipeline.py +198 -183
  291. pulumi_harness/platform/pipeline_filters.py +110 -107
  292. pulumi_harness/platform/policy.py +296 -317
  293. pulumi_harness/platform/policy_set.py +161 -158
  294. pulumi_harness/platform/project.py +120 -113
  295. pulumi_harness/platform/prometheus_connector.py +178 -175
  296. pulumi_harness/platform/provider.py +77 -76
  297. pulumi_harness/platform/repo.py +234 -195
  298. pulumi_harness/platform/repo_rule_branch.py +148 -149
  299. pulumi_harness/platform/repo_webhook.py +198 -199
  300. pulumi_harness/platform/resource_group.py +175 -168
  301. pulumi_harness/platform/role_assignments.py +135 -132
  302. pulumi_harness/platform/roles.py +145 -138
  303. pulumi_harness/platform/secret_file.py +145 -138
  304. pulumi_harness/platform/secret_sshkey.py +132 -129
  305. pulumi_harness/platform/secret_text.py +235 -158
  306. pulumi_harness/platform/service.py +200 -682
  307. pulumi_harness/platform/service_account.py +145 -138
  308. pulumi_harness/platform/service_now_connector.py +195 -194
  309. pulumi_harness/platform/service_overrides_v2.py +195 -396
  310. pulumi_harness/platform/slo.py +67 -74
  311. pulumi_harness/platform/splunk_connector.py +192 -189
  312. pulumi_harness/platform/spot_connector.py +110 -107
  313. pulumi_harness/platform/sumologic_connector.py +175 -172
  314. pulumi_harness/platform/tas_connector.py +144 -141
  315. pulumi_harness/platform/template.py +227 -224
  316. pulumi_harness/platform/template_filters.py +110 -107
  317. pulumi_harness/platform/terraform_cloud_connector.py +157 -154
  318. pulumi_harness/platform/token.py +305 -302
  319. pulumi_harness/platform/triggers.py +179 -172
  320. pulumi_harness/platform/user.py +126 -123
  321. pulumi_harness/platform/usergroup.py +326 -263
  322. pulumi_harness/platform/variables.py +114 -107
  323. pulumi_harness/platform/vault_connector.py +641 -634
  324. pulumi_harness/platform/workspace.py +330 -319
  325. pulumi_harness/platform_api_key.py +177 -238
  326. pulumi_harness/platform_ccm_filters.py +113 -110
  327. pulumi_harness/provider.py +42 -43
  328. pulumi_harness/pulumi-plugin.json +1 -1
  329. pulumi_harness/service/__init__.py +5 -1
  330. pulumi_harness/service/_inputs.py +1892 -164
  331. pulumi_harness/service/ami.py +59 -56
  332. pulumi_harness/service/codedeploy.py +59 -56
  333. pulumi_harness/service/discovery_agent.py +1211 -0
  334. pulumi_harness/service/discovery_setting.py +384 -0
  335. pulumi_harness/service/ecs.py +59 -56
  336. pulumi_harness/service/get_discovery_agent.py +443 -0
  337. pulumi_harness/service/get_discovery_setting.py +199 -0
  338. pulumi_harness/service/helm.py +59 -56
  339. pulumi_harness/service/kubernetes.py +76 -73
  340. pulumi_harness/service/lambda_.py +59 -56
  341. pulumi_harness/service/outputs.py +2422 -173
  342. pulumi_harness/service/ssh.py +76 -73
  343. pulumi_harness/service/tanzu.py +59 -56
  344. pulumi_harness/service/winrm.py +76 -73
  345. pulumi_harness/ssh_credential.py +31 -28
  346. pulumi_harness/user.py +101 -98
  347. pulumi_harness/user_group.py +69 -66
  348. pulumi_harness/user_group_permissions.py +38 -39
  349. pulumi_harness/yaml_config.py +65 -62
  350. {pulumi_harness-0.7.7.dist-info → pulumi_harness-0.8.0.dist-info}/METADATA +1 -1
  351. pulumi_harness-0.8.0.dist-info/RECORD +355 -0
  352. pulumi_harness-0.7.7.dist-info/RECORD +0 -337
  353. {pulumi_harness-0.7.7.dist-info → pulumi_harness-0.8.0.dist-info}/WHEEL +0 -0
  354. {pulumi_harness-0.7.7.dist-info → pulumi_harness-0.8.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,795 @@
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__ = ['SecurityGovernanceConditionArgs', 'SecurityGovernanceCondition']
20
+
21
+ @pulumi.input_type
22
+ class SecurityGovernanceConditionArgs:
23
+ def __init__(__self__, *,
24
+ fault_spec: pulumi.Input['SecurityGovernanceConditionFaultSpecArgs'],
25
+ infra_type: pulumi.Input[_builtins.str],
26
+ org_id: pulumi.Input[_builtins.str],
27
+ project_id: pulumi.Input[_builtins.str],
28
+ description: Optional[pulumi.Input[_builtins.str]] = None,
29
+ k8s_spec: Optional[pulumi.Input['SecurityGovernanceConditionK8sSpecArgs']] = None,
30
+ machine_spec: Optional[pulumi.Input['SecurityGovernanceConditionMachineSpecArgs']] = None,
31
+ name: Optional[pulumi.Input[_builtins.str]] = None,
32
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
33
+ """
34
+ The set of arguments for constructing a SecurityGovernanceCondition resource.
35
+ :param pulumi.Input['SecurityGovernanceConditionFaultSpecArgs'] fault_spec: Specification for faults to be included in the condition
36
+ :param pulumi.Input[_builtins.str] infra_type: Type of infrastructure (Kubernetes, KubernetesV2, Linux, Windows, CloudFoundry, Container)
37
+ :param pulumi.Input[_builtins.str] org_id: The organization ID of the security governance condition
38
+ :param pulumi.Input[_builtins.str] project_id: The project ID of the security governance condition
39
+ :param pulumi.Input[_builtins.str] description: Description of the security governance condition
40
+ :param pulumi.Input['SecurityGovernanceConditionK8sSpecArgs'] k8s_spec: Kubernetes specific configuration (required when infra*type is KUBERNETES or KUBERNETESV2)
41
+ :param pulumi.Input['SecurityGovernanceConditionMachineSpecArgs'] machine_spec: Machine specific configuration (required when infra*type is LINUX or WINDOWS)
42
+ :param pulumi.Input[_builtins.str] name: Name of the security governance condition
43
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: Tags for the security governance condition
44
+ """
45
+ pulumi.set(__self__, "fault_spec", fault_spec)
46
+ pulumi.set(__self__, "infra_type", infra_type)
47
+ pulumi.set(__self__, "org_id", org_id)
48
+ pulumi.set(__self__, "project_id", project_id)
49
+ if description is not None:
50
+ pulumi.set(__self__, "description", description)
51
+ if k8s_spec is not None:
52
+ pulumi.set(__self__, "k8s_spec", k8s_spec)
53
+ if machine_spec is not None:
54
+ pulumi.set(__self__, "machine_spec", machine_spec)
55
+ if name is not None:
56
+ pulumi.set(__self__, "name", name)
57
+ if tags is not None:
58
+ pulumi.set(__self__, "tags", tags)
59
+
60
+ @_builtins.property
61
+ @pulumi.getter(name="faultSpec")
62
+ def fault_spec(self) -> pulumi.Input['SecurityGovernanceConditionFaultSpecArgs']:
63
+ """
64
+ Specification for faults to be included in the condition
65
+ """
66
+ return pulumi.get(self, "fault_spec")
67
+
68
+ @fault_spec.setter
69
+ def fault_spec(self, value: pulumi.Input['SecurityGovernanceConditionFaultSpecArgs']):
70
+ pulumi.set(self, "fault_spec", value)
71
+
72
+ @_builtins.property
73
+ @pulumi.getter(name="infraType")
74
+ def infra_type(self) -> pulumi.Input[_builtins.str]:
75
+ """
76
+ Type of infrastructure (Kubernetes, KubernetesV2, Linux, Windows, CloudFoundry, Container)
77
+ """
78
+ return pulumi.get(self, "infra_type")
79
+
80
+ @infra_type.setter
81
+ def infra_type(self, value: pulumi.Input[_builtins.str]):
82
+ pulumi.set(self, "infra_type", value)
83
+
84
+ @_builtins.property
85
+ @pulumi.getter(name="orgId")
86
+ def org_id(self) -> pulumi.Input[_builtins.str]:
87
+ """
88
+ The organization ID of the security governance condition
89
+ """
90
+ return pulumi.get(self, "org_id")
91
+
92
+ @org_id.setter
93
+ def org_id(self, value: pulumi.Input[_builtins.str]):
94
+ pulumi.set(self, "org_id", value)
95
+
96
+ @_builtins.property
97
+ @pulumi.getter(name="projectId")
98
+ def project_id(self) -> pulumi.Input[_builtins.str]:
99
+ """
100
+ The project ID of the security governance condition
101
+ """
102
+ return pulumi.get(self, "project_id")
103
+
104
+ @project_id.setter
105
+ def project_id(self, value: pulumi.Input[_builtins.str]):
106
+ pulumi.set(self, "project_id", value)
107
+
108
+ @_builtins.property
109
+ @pulumi.getter
110
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
111
+ """
112
+ Description of the security governance condition
113
+ """
114
+ return pulumi.get(self, "description")
115
+
116
+ @description.setter
117
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
118
+ pulumi.set(self, "description", value)
119
+
120
+ @_builtins.property
121
+ @pulumi.getter(name="k8sSpec")
122
+ def k8s_spec(self) -> Optional[pulumi.Input['SecurityGovernanceConditionK8sSpecArgs']]:
123
+ """
124
+ Kubernetes specific configuration (required when infra*type is KUBERNETES or KUBERNETESV2)
125
+ """
126
+ return pulumi.get(self, "k8s_spec")
127
+
128
+ @k8s_spec.setter
129
+ def k8s_spec(self, value: Optional[pulumi.Input['SecurityGovernanceConditionK8sSpecArgs']]):
130
+ pulumi.set(self, "k8s_spec", value)
131
+
132
+ @_builtins.property
133
+ @pulumi.getter(name="machineSpec")
134
+ def machine_spec(self) -> Optional[pulumi.Input['SecurityGovernanceConditionMachineSpecArgs']]:
135
+ """
136
+ Machine specific configuration (required when infra*type is LINUX or WINDOWS)
137
+ """
138
+ return pulumi.get(self, "machine_spec")
139
+
140
+ @machine_spec.setter
141
+ def machine_spec(self, value: Optional[pulumi.Input['SecurityGovernanceConditionMachineSpecArgs']]):
142
+ pulumi.set(self, "machine_spec", value)
143
+
144
+ @_builtins.property
145
+ @pulumi.getter
146
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
147
+ """
148
+ Name of the security governance condition
149
+ """
150
+ return pulumi.get(self, "name")
151
+
152
+ @name.setter
153
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
154
+ pulumi.set(self, "name", value)
155
+
156
+ @_builtins.property
157
+ @pulumi.getter
158
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
159
+ """
160
+ Tags for the security governance condition
161
+ """
162
+ return pulumi.get(self, "tags")
163
+
164
+ @tags.setter
165
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
166
+ pulumi.set(self, "tags", value)
167
+
168
+
169
+ @pulumi.input_type
170
+ class _SecurityGovernanceConditionState:
171
+ def __init__(__self__, *,
172
+ description: Optional[pulumi.Input[_builtins.str]] = None,
173
+ fault_spec: Optional[pulumi.Input['SecurityGovernanceConditionFaultSpecArgs']] = None,
174
+ infra_type: Optional[pulumi.Input[_builtins.str]] = None,
175
+ k8s_spec: Optional[pulumi.Input['SecurityGovernanceConditionK8sSpecArgs']] = None,
176
+ machine_spec: Optional[pulumi.Input['SecurityGovernanceConditionMachineSpecArgs']] = None,
177
+ name: Optional[pulumi.Input[_builtins.str]] = None,
178
+ org_id: Optional[pulumi.Input[_builtins.str]] = None,
179
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
180
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
181
+ """
182
+ Input properties used for looking up and filtering SecurityGovernanceCondition resources.
183
+ :param pulumi.Input[_builtins.str] description: Description of the security governance condition
184
+ :param pulumi.Input['SecurityGovernanceConditionFaultSpecArgs'] fault_spec: Specification for faults to be included in the condition
185
+ :param pulumi.Input[_builtins.str] infra_type: Type of infrastructure (Kubernetes, KubernetesV2, Linux, Windows, CloudFoundry, Container)
186
+ :param pulumi.Input['SecurityGovernanceConditionK8sSpecArgs'] k8s_spec: Kubernetes specific configuration (required when infra*type is KUBERNETES or KUBERNETESV2)
187
+ :param pulumi.Input['SecurityGovernanceConditionMachineSpecArgs'] machine_spec: Machine specific configuration (required when infra*type is LINUX or WINDOWS)
188
+ :param pulumi.Input[_builtins.str] name: Name of the security governance condition
189
+ :param pulumi.Input[_builtins.str] org_id: The organization ID of the security governance condition
190
+ :param pulumi.Input[_builtins.str] project_id: The project ID of the security governance condition
191
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: Tags for the security governance condition
192
+ """
193
+ if description is not None:
194
+ pulumi.set(__self__, "description", description)
195
+ if fault_spec is not None:
196
+ pulumi.set(__self__, "fault_spec", fault_spec)
197
+ if infra_type is not None:
198
+ pulumi.set(__self__, "infra_type", infra_type)
199
+ if k8s_spec is not None:
200
+ pulumi.set(__self__, "k8s_spec", k8s_spec)
201
+ if machine_spec is not None:
202
+ pulumi.set(__self__, "machine_spec", machine_spec)
203
+ if name is not None:
204
+ pulumi.set(__self__, "name", name)
205
+ if org_id is not None:
206
+ pulumi.set(__self__, "org_id", org_id)
207
+ if project_id is not None:
208
+ pulumi.set(__self__, "project_id", project_id)
209
+ if tags is not None:
210
+ pulumi.set(__self__, "tags", tags)
211
+
212
+ @_builtins.property
213
+ @pulumi.getter
214
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
215
+ """
216
+ Description of the security governance condition
217
+ """
218
+ return pulumi.get(self, "description")
219
+
220
+ @description.setter
221
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
222
+ pulumi.set(self, "description", value)
223
+
224
+ @_builtins.property
225
+ @pulumi.getter(name="faultSpec")
226
+ def fault_spec(self) -> Optional[pulumi.Input['SecurityGovernanceConditionFaultSpecArgs']]:
227
+ """
228
+ Specification for faults to be included in the condition
229
+ """
230
+ return pulumi.get(self, "fault_spec")
231
+
232
+ @fault_spec.setter
233
+ def fault_spec(self, value: Optional[pulumi.Input['SecurityGovernanceConditionFaultSpecArgs']]):
234
+ pulumi.set(self, "fault_spec", value)
235
+
236
+ @_builtins.property
237
+ @pulumi.getter(name="infraType")
238
+ def infra_type(self) -> Optional[pulumi.Input[_builtins.str]]:
239
+ """
240
+ Type of infrastructure (Kubernetes, KubernetesV2, Linux, Windows, CloudFoundry, Container)
241
+ """
242
+ return pulumi.get(self, "infra_type")
243
+
244
+ @infra_type.setter
245
+ def infra_type(self, value: Optional[pulumi.Input[_builtins.str]]):
246
+ pulumi.set(self, "infra_type", value)
247
+
248
+ @_builtins.property
249
+ @pulumi.getter(name="k8sSpec")
250
+ def k8s_spec(self) -> Optional[pulumi.Input['SecurityGovernanceConditionK8sSpecArgs']]:
251
+ """
252
+ Kubernetes specific configuration (required when infra*type is KUBERNETES or KUBERNETESV2)
253
+ """
254
+ return pulumi.get(self, "k8s_spec")
255
+
256
+ @k8s_spec.setter
257
+ def k8s_spec(self, value: Optional[pulumi.Input['SecurityGovernanceConditionK8sSpecArgs']]):
258
+ pulumi.set(self, "k8s_spec", value)
259
+
260
+ @_builtins.property
261
+ @pulumi.getter(name="machineSpec")
262
+ def machine_spec(self) -> Optional[pulumi.Input['SecurityGovernanceConditionMachineSpecArgs']]:
263
+ """
264
+ Machine specific configuration (required when infra*type is LINUX or WINDOWS)
265
+ """
266
+ return pulumi.get(self, "machine_spec")
267
+
268
+ @machine_spec.setter
269
+ def machine_spec(self, value: Optional[pulumi.Input['SecurityGovernanceConditionMachineSpecArgs']]):
270
+ pulumi.set(self, "machine_spec", value)
271
+
272
+ @_builtins.property
273
+ @pulumi.getter
274
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
275
+ """
276
+ Name of the security governance condition
277
+ """
278
+ return pulumi.get(self, "name")
279
+
280
+ @name.setter
281
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
282
+ pulumi.set(self, "name", value)
283
+
284
+ @_builtins.property
285
+ @pulumi.getter(name="orgId")
286
+ def org_id(self) -> Optional[pulumi.Input[_builtins.str]]:
287
+ """
288
+ The organization ID of the security governance condition
289
+ """
290
+ return pulumi.get(self, "org_id")
291
+
292
+ @org_id.setter
293
+ def org_id(self, value: Optional[pulumi.Input[_builtins.str]]):
294
+ pulumi.set(self, "org_id", value)
295
+
296
+ @_builtins.property
297
+ @pulumi.getter(name="projectId")
298
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
299
+ """
300
+ The project ID of the security governance condition
301
+ """
302
+ return pulumi.get(self, "project_id")
303
+
304
+ @project_id.setter
305
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
306
+ pulumi.set(self, "project_id", value)
307
+
308
+ @_builtins.property
309
+ @pulumi.getter
310
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
311
+ """
312
+ Tags for the security governance condition
313
+ """
314
+ return pulumi.get(self, "tags")
315
+
316
+ @tags.setter
317
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
318
+ pulumi.set(self, "tags", value)
319
+
320
+
321
+ @pulumi.type_token("harness:chaos/securityGovernanceCondition:SecurityGovernanceCondition")
322
+ class SecurityGovernanceCondition(pulumi.CustomResource):
323
+ @overload
324
+ def __init__(__self__,
325
+ resource_name: str,
326
+ opts: Optional[pulumi.ResourceOptions] = None,
327
+ description: Optional[pulumi.Input[_builtins.str]] = None,
328
+ fault_spec: Optional[pulumi.Input[Union['SecurityGovernanceConditionFaultSpecArgs', 'SecurityGovernanceConditionFaultSpecArgsDict']]] = None,
329
+ infra_type: Optional[pulumi.Input[_builtins.str]] = None,
330
+ k8s_spec: Optional[pulumi.Input[Union['SecurityGovernanceConditionK8sSpecArgs', 'SecurityGovernanceConditionK8sSpecArgsDict']]] = None,
331
+ machine_spec: Optional[pulumi.Input[Union['SecurityGovernanceConditionMachineSpecArgs', 'SecurityGovernanceConditionMachineSpecArgsDict']]] = None,
332
+ name: Optional[pulumi.Input[_builtins.str]] = None,
333
+ org_id: Optional[pulumi.Input[_builtins.str]] = None,
334
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
335
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
336
+ __props__=None):
337
+ """
338
+ Resource for managing a Harness Chaos Security Governance Condition
339
+
340
+ ## Example Usage
341
+
342
+ ```python
343
+ import pulumi
344
+ import pulumi_harness as harness
345
+
346
+ # Example of a Kubernetes Security Governance Condition
347
+ k8s_condition = harness.chaos.SecurityGovernanceCondition("k8s_condition",
348
+ org_id=org_id,
349
+ project_id=project_id,
350
+ name="k8s-security-condition",
351
+ description="Security governance condition for Kubernetes workloads",
352
+ infra_type="KubernetesV2",
353
+ fault_spec={
354
+ "operator": "NOT_EQUAL_TO",
355
+ "faults": [
356
+ {
357
+ "fault_type": "FAULT",
358
+ "name": "pod-delete",
359
+ },
360
+ {
361
+ "fault_type": "FAULT",
362
+ "name": "pod-dns",
363
+ },
364
+ ],
365
+ },
366
+ k8s_spec={
367
+ "infra_spec": {
368
+ "operator": "EQUAL_TO",
369
+ "infra_ids": [k8s_infra_id],
370
+ },
371
+ "application_spec": {
372
+ "operator": "EQUAL_TO",
373
+ "workloads": [{
374
+ "namespace": "default",
375
+ "kind": "deployment",
376
+ "label": "app=nginx",
377
+ "services": ["nginx-service"],
378
+ "application_map_id": "nginx-app",
379
+ }],
380
+ },
381
+ "chaos_service_account_spec": {
382
+ "operator": "EQUAL_TO",
383
+ "service_accounts": [
384
+ "default",
385
+ "chaos-service-account",
386
+ ],
387
+ },
388
+ },
389
+ tags=[
390
+ "env:prod",
391
+ "team:security",
392
+ "platform:k8s",
393
+ ])
394
+ # Example of a Windows Security Governance Condition
395
+ windows_condition = harness.chaos.SecurityGovernanceCondition("windows_condition",
396
+ org_id=org_id,
397
+ project_id=project_id,
398
+ name="windows-security-condition",
399
+ description="Security governance condition for Windows hosts",
400
+ infra_type="Windows",
401
+ fault_spec={
402
+ "operator": "NOT_EQUAL_TO",
403
+ "faults": [
404
+ {
405
+ "fault_type": "FAULT",
406
+ "name": "process-kill",
407
+ },
408
+ {
409
+ "fault_type": "FAULT",
410
+ "name": "cpu-hog",
411
+ },
412
+ ],
413
+ },
414
+ machine_spec={
415
+ "infra_spec": {
416
+ "operator": "EQUAL_TO",
417
+ "infra_ids": [windows_infra_id],
418
+ },
419
+ },
420
+ tags=[
421
+ "env:prod",
422
+ "team:security",
423
+ "platform:windows",
424
+ ])
425
+ # Example of a Linux Security Governance Condition
426
+ linux_condition = harness.chaos.SecurityGovernanceCondition("linux_condition",
427
+ org_id=org_id,
428
+ project_id=project_id,
429
+ name="linux-security-condition",
430
+ description="Security governance condition for Linux hosts",
431
+ infra_type="Linux",
432
+ fault_spec={
433
+ "operator": "NOT_EQUAL_TO",
434
+ "faults": [
435
+ {
436
+ "fault_type": "FAULT",
437
+ "name": "process-kill",
438
+ },
439
+ {
440
+ "fault_type": "FAULT",
441
+ "name": "memory-hog",
442
+ },
443
+ ],
444
+ },
445
+ machine_spec={
446
+ "infra_spec": {
447
+ "operator": "EQUAL_TO",
448
+ "infra_ids": [linux_infra_id],
449
+ },
450
+ },
451
+ tags=[
452
+ "env:prod",
453
+ "team:security",
454
+ "platform:linux",
455
+ ])
456
+ pulumi.export("k8sConditionId", k8s_condition.id)
457
+ pulumi.export("windowsConditionId", windows_condition.id)
458
+ pulumi.export("linuxConditionId", linux_condition.id)
459
+ ```
460
+
461
+ ## Import
462
+
463
+ The `pulumi import` command can be used, for example:
464
+
465
+ Import Project level Chaos Security Governance Condition
466
+
467
+ ```sh
468
+ $ pulumi import harness:chaos/securityGovernanceCondition:SecurityGovernanceCondition example org_id/project_id/condition_id
469
+ ```
470
+
471
+ :param str resource_name: The name of the resource.
472
+ :param pulumi.ResourceOptions opts: Options for the resource.
473
+ :param pulumi.Input[_builtins.str] description: Description of the security governance condition
474
+ :param pulumi.Input[Union['SecurityGovernanceConditionFaultSpecArgs', 'SecurityGovernanceConditionFaultSpecArgsDict']] fault_spec: Specification for faults to be included in the condition
475
+ :param pulumi.Input[_builtins.str] infra_type: Type of infrastructure (Kubernetes, KubernetesV2, Linux, Windows, CloudFoundry, Container)
476
+ :param pulumi.Input[Union['SecurityGovernanceConditionK8sSpecArgs', 'SecurityGovernanceConditionK8sSpecArgsDict']] k8s_spec: Kubernetes specific configuration (required when infra*type is KUBERNETES or KUBERNETESV2)
477
+ :param pulumi.Input[Union['SecurityGovernanceConditionMachineSpecArgs', 'SecurityGovernanceConditionMachineSpecArgsDict']] machine_spec: Machine specific configuration (required when infra*type is LINUX or WINDOWS)
478
+ :param pulumi.Input[_builtins.str] name: Name of the security governance condition
479
+ :param pulumi.Input[_builtins.str] org_id: The organization ID of the security governance condition
480
+ :param pulumi.Input[_builtins.str] project_id: The project ID of the security governance condition
481
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: Tags for the security governance condition
482
+ """
483
+ ...
484
+ @overload
485
+ def __init__(__self__,
486
+ resource_name: str,
487
+ args: SecurityGovernanceConditionArgs,
488
+ opts: Optional[pulumi.ResourceOptions] = None):
489
+ """
490
+ Resource for managing a Harness Chaos Security Governance Condition
491
+
492
+ ## Example Usage
493
+
494
+ ```python
495
+ import pulumi
496
+ import pulumi_harness as harness
497
+
498
+ # Example of a Kubernetes Security Governance Condition
499
+ k8s_condition = harness.chaos.SecurityGovernanceCondition("k8s_condition",
500
+ org_id=org_id,
501
+ project_id=project_id,
502
+ name="k8s-security-condition",
503
+ description="Security governance condition for Kubernetes workloads",
504
+ infra_type="KubernetesV2",
505
+ fault_spec={
506
+ "operator": "NOT_EQUAL_TO",
507
+ "faults": [
508
+ {
509
+ "fault_type": "FAULT",
510
+ "name": "pod-delete",
511
+ },
512
+ {
513
+ "fault_type": "FAULT",
514
+ "name": "pod-dns",
515
+ },
516
+ ],
517
+ },
518
+ k8s_spec={
519
+ "infra_spec": {
520
+ "operator": "EQUAL_TO",
521
+ "infra_ids": [k8s_infra_id],
522
+ },
523
+ "application_spec": {
524
+ "operator": "EQUAL_TO",
525
+ "workloads": [{
526
+ "namespace": "default",
527
+ "kind": "deployment",
528
+ "label": "app=nginx",
529
+ "services": ["nginx-service"],
530
+ "application_map_id": "nginx-app",
531
+ }],
532
+ },
533
+ "chaos_service_account_spec": {
534
+ "operator": "EQUAL_TO",
535
+ "service_accounts": [
536
+ "default",
537
+ "chaos-service-account",
538
+ ],
539
+ },
540
+ },
541
+ tags=[
542
+ "env:prod",
543
+ "team:security",
544
+ "platform:k8s",
545
+ ])
546
+ # Example of a Windows Security Governance Condition
547
+ windows_condition = harness.chaos.SecurityGovernanceCondition("windows_condition",
548
+ org_id=org_id,
549
+ project_id=project_id,
550
+ name="windows-security-condition",
551
+ description="Security governance condition for Windows hosts",
552
+ infra_type="Windows",
553
+ fault_spec={
554
+ "operator": "NOT_EQUAL_TO",
555
+ "faults": [
556
+ {
557
+ "fault_type": "FAULT",
558
+ "name": "process-kill",
559
+ },
560
+ {
561
+ "fault_type": "FAULT",
562
+ "name": "cpu-hog",
563
+ },
564
+ ],
565
+ },
566
+ machine_spec={
567
+ "infra_spec": {
568
+ "operator": "EQUAL_TO",
569
+ "infra_ids": [windows_infra_id],
570
+ },
571
+ },
572
+ tags=[
573
+ "env:prod",
574
+ "team:security",
575
+ "platform:windows",
576
+ ])
577
+ # Example of a Linux Security Governance Condition
578
+ linux_condition = harness.chaos.SecurityGovernanceCondition("linux_condition",
579
+ org_id=org_id,
580
+ project_id=project_id,
581
+ name="linux-security-condition",
582
+ description="Security governance condition for Linux hosts",
583
+ infra_type="Linux",
584
+ fault_spec={
585
+ "operator": "NOT_EQUAL_TO",
586
+ "faults": [
587
+ {
588
+ "fault_type": "FAULT",
589
+ "name": "process-kill",
590
+ },
591
+ {
592
+ "fault_type": "FAULT",
593
+ "name": "memory-hog",
594
+ },
595
+ ],
596
+ },
597
+ machine_spec={
598
+ "infra_spec": {
599
+ "operator": "EQUAL_TO",
600
+ "infra_ids": [linux_infra_id],
601
+ },
602
+ },
603
+ tags=[
604
+ "env:prod",
605
+ "team:security",
606
+ "platform:linux",
607
+ ])
608
+ pulumi.export("k8sConditionId", k8s_condition.id)
609
+ pulumi.export("windowsConditionId", windows_condition.id)
610
+ pulumi.export("linuxConditionId", linux_condition.id)
611
+ ```
612
+
613
+ ## Import
614
+
615
+ The `pulumi import` command can be used, for example:
616
+
617
+ Import Project level Chaos Security Governance Condition
618
+
619
+ ```sh
620
+ $ pulumi import harness:chaos/securityGovernanceCondition:SecurityGovernanceCondition example org_id/project_id/condition_id
621
+ ```
622
+
623
+ :param str resource_name: The name of the resource.
624
+ :param SecurityGovernanceConditionArgs args: The arguments to use to populate this resource's properties.
625
+ :param pulumi.ResourceOptions opts: Options for the resource.
626
+ """
627
+ ...
628
+ def __init__(__self__, resource_name: str, *args, **kwargs):
629
+ resource_args, opts = _utilities.get_resource_args_opts(SecurityGovernanceConditionArgs, pulumi.ResourceOptions, *args, **kwargs)
630
+ if resource_args is not None:
631
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
632
+ else:
633
+ __self__._internal_init(resource_name, *args, **kwargs)
634
+
635
+ def _internal_init(__self__,
636
+ resource_name: str,
637
+ opts: Optional[pulumi.ResourceOptions] = None,
638
+ description: Optional[pulumi.Input[_builtins.str]] = None,
639
+ fault_spec: Optional[pulumi.Input[Union['SecurityGovernanceConditionFaultSpecArgs', 'SecurityGovernanceConditionFaultSpecArgsDict']]] = None,
640
+ infra_type: Optional[pulumi.Input[_builtins.str]] = None,
641
+ k8s_spec: Optional[pulumi.Input[Union['SecurityGovernanceConditionK8sSpecArgs', 'SecurityGovernanceConditionK8sSpecArgsDict']]] = None,
642
+ machine_spec: Optional[pulumi.Input[Union['SecurityGovernanceConditionMachineSpecArgs', 'SecurityGovernanceConditionMachineSpecArgsDict']]] = None,
643
+ name: Optional[pulumi.Input[_builtins.str]] = None,
644
+ org_id: Optional[pulumi.Input[_builtins.str]] = None,
645
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
646
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
647
+ __props__=None):
648
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
649
+ if not isinstance(opts, pulumi.ResourceOptions):
650
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
651
+ if opts.id is None:
652
+ if __props__ is not None:
653
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
654
+ __props__ = SecurityGovernanceConditionArgs.__new__(SecurityGovernanceConditionArgs)
655
+
656
+ __props__.__dict__["description"] = description
657
+ if fault_spec is None and not opts.urn:
658
+ raise TypeError("Missing required property 'fault_spec'")
659
+ __props__.__dict__["fault_spec"] = fault_spec
660
+ if infra_type is None and not opts.urn:
661
+ raise TypeError("Missing required property 'infra_type'")
662
+ __props__.__dict__["infra_type"] = infra_type
663
+ __props__.__dict__["k8s_spec"] = k8s_spec
664
+ __props__.__dict__["machine_spec"] = machine_spec
665
+ __props__.__dict__["name"] = name
666
+ if org_id is None and not opts.urn:
667
+ raise TypeError("Missing required property 'org_id'")
668
+ __props__.__dict__["org_id"] = org_id
669
+ if project_id is None and not opts.urn:
670
+ raise TypeError("Missing required property 'project_id'")
671
+ __props__.__dict__["project_id"] = project_id
672
+ __props__.__dict__["tags"] = tags
673
+ super(SecurityGovernanceCondition, __self__).__init__(
674
+ 'harness:chaos/securityGovernanceCondition:SecurityGovernanceCondition',
675
+ resource_name,
676
+ __props__,
677
+ opts)
678
+
679
+ @staticmethod
680
+ def get(resource_name: str,
681
+ id: pulumi.Input[str],
682
+ opts: Optional[pulumi.ResourceOptions] = None,
683
+ description: Optional[pulumi.Input[_builtins.str]] = None,
684
+ fault_spec: Optional[pulumi.Input[Union['SecurityGovernanceConditionFaultSpecArgs', 'SecurityGovernanceConditionFaultSpecArgsDict']]] = None,
685
+ infra_type: Optional[pulumi.Input[_builtins.str]] = None,
686
+ k8s_spec: Optional[pulumi.Input[Union['SecurityGovernanceConditionK8sSpecArgs', 'SecurityGovernanceConditionK8sSpecArgsDict']]] = None,
687
+ machine_spec: Optional[pulumi.Input[Union['SecurityGovernanceConditionMachineSpecArgs', 'SecurityGovernanceConditionMachineSpecArgsDict']]] = None,
688
+ name: Optional[pulumi.Input[_builtins.str]] = None,
689
+ org_id: Optional[pulumi.Input[_builtins.str]] = None,
690
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
691
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None) -> 'SecurityGovernanceCondition':
692
+ """
693
+ Get an existing SecurityGovernanceCondition resource's state with the given name, id, and optional extra
694
+ properties used to qualify the lookup.
695
+
696
+ :param str resource_name: The unique name of the resulting resource.
697
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
698
+ :param pulumi.ResourceOptions opts: Options for the resource.
699
+ :param pulumi.Input[_builtins.str] description: Description of the security governance condition
700
+ :param pulumi.Input[Union['SecurityGovernanceConditionFaultSpecArgs', 'SecurityGovernanceConditionFaultSpecArgsDict']] fault_spec: Specification for faults to be included in the condition
701
+ :param pulumi.Input[_builtins.str] infra_type: Type of infrastructure (Kubernetes, KubernetesV2, Linux, Windows, CloudFoundry, Container)
702
+ :param pulumi.Input[Union['SecurityGovernanceConditionK8sSpecArgs', 'SecurityGovernanceConditionK8sSpecArgsDict']] k8s_spec: Kubernetes specific configuration (required when infra*type is KUBERNETES or KUBERNETESV2)
703
+ :param pulumi.Input[Union['SecurityGovernanceConditionMachineSpecArgs', 'SecurityGovernanceConditionMachineSpecArgsDict']] machine_spec: Machine specific configuration (required when infra*type is LINUX or WINDOWS)
704
+ :param pulumi.Input[_builtins.str] name: Name of the security governance condition
705
+ :param pulumi.Input[_builtins.str] org_id: The organization ID of the security governance condition
706
+ :param pulumi.Input[_builtins.str] project_id: The project ID of the security governance condition
707
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: Tags for the security governance condition
708
+ """
709
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
710
+
711
+ __props__ = _SecurityGovernanceConditionState.__new__(_SecurityGovernanceConditionState)
712
+
713
+ __props__.__dict__["description"] = description
714
+ __props__.__dict__["fault_spec"] = fault_spec
715
+ __props__.__dict__["infra_type"] = infra_type
716
+ __props__.__dict__["k8s_spec"] = k8s_spec
717
+ __props__.__dict__["machine_spec"] = machine_spec
718
+ __props__.__dict__["name"] = name
719
+ __props__.__dict__["org_id"] = org_id
720
+ __props__.__dict__["project_id"] = project_id
721
+ __props__.__dict__["tags"] = tags
722
+ return SecurityGovernanceCondition(resource_name, opts=opts, __props__=__props__)
723
+
724
+ @_builtins.property
725
+ @pulumi.getter
726
+ def description(self) -> pulumi.Output[Optional[_builtins.str]]:
727
+ """
728
+ Description of the security governance condition
729
+ """
730
+ return pulumi.get(self, "description")
731
+
732
+ @_builtins.property
733
+ @pulumi.getter(name="faultSpec")
734
+ def fault_spec(self) -> pulumi.Output['outputs.SecurityGovernanceConditionFaultSpec']:
735
+ """
736
+ Specification for faults to be included in the condition
737
+ """
738
+ return pulumi.get(self, "fault_spec")
739
+
740
+ @_builtins.property
741
+ @pulumi.getter(name="infraType")
742
+ def infra_type(self) -> pulumi.Output[_builtins.str]:
743
+ """
744
+ Type of infrastructure (Kubernetes, KubernetesV2, Linux, Windows, CloudFoundry, Container)
745
+ """
746
+ return pulumi.get(self, "infra_type")
747
+
748
+ @_builtins.property
749
+ @pulumi.getter(name="k8sSpec")
750
+ def k8s_spec(self) -> pulumi.Output[Optional['outputs.SecurityGovernanceConditionK8sSpec']]:
751
+ """
752
+ Kubernetes specific configuration (required when infra*type is KUBERNETES or KUBERNETESV2)
753
+ """
754
+ return pulumi.get(self, "k8s_spec")
755
+
756
+ @_builtins.property
757
+ @pulumi.getter(name="machineSpec")
758
+ def machine_spec(self) -> pulumi.Output[Optional['outputs.SecurityGovernanceConditionMachineSpec']]:
759
+ """
760
+ Machine specific configuration (required when infra*type is LINUX or WINDOWS)
761
+ """
762
+ return pulumi.get(self, "machine_spec")
763
+
764
+ @_builtins.property
765
+ @pulumi.getter
766
+ def name(self) -> pulumi.Output[_builtins.str]:
767
+ """
768
+ Name of the security governance condition
769
+ """
770
+ return pulumi.get(self, "name")
771
+
772
+ @_builtins.property
773
+ @pulumi.getter(name="orgId")
774
+ def org_id(self) -> pulumi.Output[_builtins.str]:
775
+ """
776
+ The organization ID of the security governance condition
777
+ """
778
+ return pulumi.get(self, "org_id")
779
+
780
+ @_builtins.property
781
+ @pulumi.getter(name="projectId")
782
+ def project_id(self) -> pulumi.Output[_builtins.str]:
783
+ """
784
+ The project ID of the security governance condition
785
+ """
786
+ return pulumi.get(self, "project_id")
787
+
788
+ @_builtins.property
789
+ @pulumi.getter
790
+ def tags(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
791
+ """
792
+ Tags for the security governance condition
793
+ """
794
+ return pulumi.get(self, "tags")
795
+