pulumi-harness 0.5.0a1736833425__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pulumi-harness might be problematic. Click here for more details.

Files changed (311) hide show
  1. pulumi_harness/__init__.py +1257 -0
  2. pulumi_harness/_inputs.py +4025 -0
  3. pulumi_harness/_utilities.py +327 -0
  4. pulumi_harness/add_user_to_group.py +241 -0
  5. pulumi_harness/application.py +393 -0
  6. pulumi_harness/application_git_sync.py +411 -0
  7. pulumi_harness/autostopping/__init__.py +27 -0
  8. pulumi_harness/autostopping/_inputs.py +2688 -0
  9. pulumi_harness/autostopping/aws_alb.py +640 -0
  10. pulumi_harness/autostopping/aws_proxy.py +760 -0
  11. pulumi_harness/autostopping/azure_gateway.py +798 -0
  12. pulumi_harness/autostopping/azure_proxy.py +855 -0
  13. pulumi_harness/autostopping/gcp_proxy.py +779 -0
  14. pulumi_harness/autostopping/get_aws_alb.py +278 -0
  15. pulumi_harness/autostopping/get_aws_proxy.py +335 -0
  16. pulumi_harness/autostopping/get_azure_gateway.py +343 -0
  17. pulumi_harness/autostopping/get_azure_proxy.py +375 -0
  18. pulumi_harness/autostopping/get_gcp_proxy.py +340 -0
  19. pulumi_harness/autostopping/get_rule_ecs.py +225 -0
  20. pulumi_harness/autostopping/get_rule_rds.py +205 -0
  21. pulumi_harness/autostopping/get_rule_vm.py +265 -0
  22. pulumi_harness/autostopping/get_schedule.py +193 -0
  23. pulumi_harness/autostopping/outputs.py +1971 -0
  24. pulumi_harness/autostopping/rule_ecs.py +450 -0
  25. pulumi_harness/autostopping/rule_rds.py +448 -0
  26. pulumi_harness/autostopping/rule_vm.py +663 -0
  27. pulumi_harness/autostopping/schedule.py +465 -0
  28. pulumi_harness/cloudprovider/__init__.py +17 -0
  29. pulumi_harness/cloudprovider/_inputs.py +777 -0
  30. pulumi_harness/cloudprovider/aws.py +586 -0
  31. pulumi_harness/cloudprovider/azure.py +393 -0
  32. pulumi_harness/cloudprovider/datacenter.py +233 -0
  33. pulumi_harness/cloudprovider/gcp.py +340 -0
  34. pulumi_harness/cloudprovider/get_delegate_ids.py +148 -0
  35. pulumi_harness/cloudprovider/kubernetes.py +310 -0
  36. pulumi_harness/cloudprovider/outputs.py +657 -0
  37. pulumi_harness/cloudprovider/spot.py +296 -0
  38. pulumi_harness/cloudprovider/tanzu.py +441 -0
  39. pulumi_harness/cluster/__init__.py +9 -0
  40. pulumi_harness/cluster/get_orchestrator.py +134 -0
  41. pulumi_harness/cluster/orchestrator.py +286 -0
  42. pulumi_harness/config/__init__.py +8 -0
  43. pulumi_harness/config/__init__.pyi +40 -0
  44. pulumi_harness/config/vars.py +54 -0
  45. pulumi_harness/delegate_approval.py +267 -0
  46. pulumi_harness/encrypted_text.py +499 -0
  47. pulumi_harness/environment.py +446 -0
  48. pulumi_harness/get_application.py +180 -0
  49. pulumi_harness/get_current_account.py +108 -0
  50. pulumi_harness/get_delegate.py +280 -0
  51. pulumi_harness/get_encrypted_text.py +136 -0
  52. pulumi_harness/get_environment.py +184 -0
  53. pulumi_harness/get_git_connector.py +255 -0
  54. pulumi_harness/get_secret_manager.py +142 -0
  55. pulumi_harness/get_service.py +198 -0
  56. pulumi_harness/get_ssh_credential.py +122 -0
  57. pulumi_harness/get_sso_provider.py +114 -0
  58. pulumi_harness/get_trigger.py +177 -0
  59. pulumi_harness/get_user.py +184 -0
  60. pulumi_harness/get_user_group.py +100 -0
  61. pulumi_harness/get_yaml_config.py +142 -0
  62. pulumi_harness/git_connector.py +738 -0
  63. pulumi_harness/governance/__init__.py +13 -0
  64. pulumi_harness/governance/get_rule.py +168 -0
  65. pulumi_harness/governance/get_rule_enforcement.py +266 -0
  66. pulumi_harness/governance/get_rule_set.py +150 -0
  67. pulumi_harness/governance/rule.py +337 -0
  68. pulumi_harness/governance/rule_enforcement.py +668 -0
  69. pulumi_harness/governance/rule_set.py +321 -0
  70. pulumi_harness/infrastructure_definition.py +1246 -0
  71. pulumi_harness/outputs.py +3306 -0
  72. pulumi_harness/platform/__init__.py +220 -0
  73. pulumi_harness/platform/_inputs.py +22314 -0
  74. pulumi_harness/platform/app_dynamics_connector.py +733 -0
  75. pulumi_harness/platform/artifactory_connector.py +748 -0
  76. pulumi_harness/platform/aws_cc_connector.py +716 -0
  77. pulumi_harness/platform/aws_connector.py +851 -0
  78. pulumi_harness/platform/aws_kms_connector.py +619 -0
  79. pulumi_harness/platform/aws_secret_manager_connector.py +712 -0
  80. pulumi_harness/platform/azure_cloud_cost_connector.py +675 -0
  81. pulumi_harness/platform/azure_cloud_provider_connector.py +826 -0
  82. pulumi_harness/platform/azure_key_vault_connector.py +843 -0
  83. pulumi_harness/platform/bitbucket_connector.py +713 -0
  84. pulumi_harness/platform/connector_azure_artifacts.py +529 -0
  85. pulumi_harness/platform/connector_custom_secret_manager.py +887 -0
  86. pulumi_harness/platform/connector_customhealthsource.py +807 -0
  87. pulumi_harness/platform/connector_jdbc.py +609 -0
  88. pulumi_harness/platform/connector_pdc.py +527 -0
  89. pulumi_harness/platform/connector_rancher.py +617 -0
  90. pulumi_harness/platform/datadog_connector.py +651 -0
  91. pulumi_harness/platform/db_instance.py +636 -0
  92. pulumi_harness/platform/db_schema.py +547 -0
  93. pulumi_harness/platform/delegatetoken.py +520 -0
  94. pulumi_harness/platform/docker_connector.py +669 -0
  95. pulumi_harness/platform/dynatrace_connector.py +601 -0
  96. pulumi_harness/platform/elasticsearch_connector.py +744 -0
  97. pulumi_harness/platform/environment.py +1173 -0
  98. pulumi_harness/platform/environment_clusters_mapping.py +454 -0
  99. pulumi_harness/platform/environment_group.py +560 -0
  100. pulumi_harness/platform/environment_service_overrides.py +688 -0
  101. pulumi_harness/platform/feature_flag.py +724 -0
  102. pulumi_harness/platform/feature_flag_api_key.py +550 -0
  103. pulumi_harness/platform/feature_flag_target.py +473 -0
  104. pulumi_harness/platform/feature_flag_target_group.py +577 -0
  105. pulumi_harness/platform/file_store_file.py +822 -0
  106. pulumi_harness/platform/file_store_folder.py +628 -0
  107. pulumi_harness/platform/filters.py +511 -0
  108. pulumi_harness/platform/gcp_cloud_cost_connector.py +669 -0
  109. pulumi_harness/platform/gcp_connector.py +663 -0
  110. pulumi_harness/platform/gcp_secret_manager_connector.py +594 -0
  111. pulumi_harness/platform/get_api_key.py +292 -0
  112. pulumi_harness/platform/get_app_dynamics_connector.py +271 -0
  113. pulumi_harness/platform/get_artifactory_connector.py +243 -0
  114. pulumi_harness/platform/get_aws_cc_connector.py +271 -0
  115. pulumi_harness/platform/get_aws_connector.py +313 -0
  116. pulumi_harness/platform/get_aws_kms_connector.py +253 -0
  117. pulumi_harness/platform/get_aws_secret_manager_connector.py +267 -0
  118. pulumi_harness/platform/get_azure_cloud_cost_connector.py +257 -0
  119. pulumi_harness/platform/get_azure_cloud_provider_connector.py +257 -0
  120. pulumi_harness/platform/get_azure_key_vault_connector.py +308 -0
  121. pulumi_harness/platform/get_bitbucket_connector.py +285 -0
  122. pulumi_harness/platform/get_ccm_filters.py +221 -0
  123. pulumi_harness/platform/get_connector_custom_secret_manager.py +330 -0
  124. pulumi_harness/platform/get_connector_customhealthsource.py +281 -0
  125. pulumi_harness/platform/get_connector_jdbc.py +243 -0
  126. pulumi_harness/platform/get_connector_pdc.py +229 -0
  127. pulumi_harness/platform/get_connector_rancher.py +236 -0
  128. pulumi_harness/platform/get_current_account.py +126 -0
  129. pulumi_harness/platform/get_current_user.py +252 -0
  130. pulumi_harness/platform/get_datadog_connector.py +262 -0
  131. pulumi_harness/platform/get_db_instance.py +268 -0
  132. pulumi_harness/platform/get_db_schema.py +233 -0
  133. pulumi_harness/platform/get_delegatetoken.py +214 -0
  134. pulumi_harness/platform/get_docker_connector.py +257 -0
  135. pulumi_harness/platform/get_dynatrace_connector.py +242 -0
  136. pulumi_harness/platform/get_elasticsearch_connector.py +257 -0
  137. pulumi_harness/platform/get_environment.py +263 -0
  138. pulumi_harness/platform/get_environment_clusters_mapping.py +262 -0
  139. pulumi_harness/platform/get_environment_group.py +190 -0
  140. pulumi_harness/platform/get_environment_list.py +172 -0
  141. pulumi_harness/platform/get_environment_service_overrides.py +212 -0
  142. pulumi_harness/platform/get_file_store_file.py +327 -0
  143. pulumi_harness/platform/get_file_store_folder.py +271 -0
  144. pulumi_harness/platform/get_filters.py +217 -0
  145. pulumi_harness/platform/get_gcp_cloud_cost_connector.py +257 -0
  146. pulumi_harness/platform/get_gcp_connector.py +243 -0
  147. pulumi_harness/platform/get_gcp_secret_manager_connector.py +238 -0
  148. pulumi_harness/platform/get_git_connector.py +271 -0
  149. pulumi_harness/platform/get_github_connector.py +296 -0
  150. pulumi_harness/platform/get_gitlab_connector.py +285 -0
  151. pulumi_harness/platform/get_gitops_agent.py +303 -0
  152. pulumi_harness/platform/get_gitops_agent_deploy_yaml.py +257 -0
  153. pulumi_harness/platform/get_gitops_app_project.py +191 -0
  154. pulumi_harness/platform/get_gitops_app_project_mapping.py +189 -0
  155. pulumi_harness/platform/get_gitops_applications.py +351 -0
  156. pulumi_harness/platform/get_gitops_cluster.py +216 -0
  157. pulumi_harness/platform/get_gitops_gnupg.py +219 -0
  158. pulumi_harness/platform/get_gitops_repo_cert.py +155 -0
  159. pulumi_harness/platform/get_gitops_repo_cred.py +223 -0
  160. pulumi_harness/platform/get_gitops_repository.py +230 -0
  161. pulumi_harness/platform/get_gitx_webhook.py +194 -0
  162. pulumi_harness/platform/get_helm_connector.py +243 -0
  163. pulumi_harness/platform/get_iacm_default_pipeline.py +168 -0
  164. pulumi_harness/platform/get_infra_module.py +320 -0
  165. pulumi_harness/platform/get_infrastructure.py +287 -0
  166. pulumi_harness/platform/get_input_set.py +238 -0
  167. pulumi_harness/platform/get_jenkins_connector.py +243 -0
  168. pulumi_harness/platform/get_jira_connector.py +285 -0
  169. pulumi_harness/platform/get_kubernetes_cloud_cost_connector.py +228 -0
  170. pulumi_harness/platform/get_kubernetes_connector.py +285 -0
  171. pulumi_harness/platform/get_manual_freeze.py +305 -0
  172. pulumi_harness/platform/get_monitored_service.py +134 -0
  173. pulumi_harness/platform/get_nexus_connector.py +257 -0
  174. pulumi_harness/platform/get_notification_rule.py +156 -0
  175. pulumi_harness/platform/get_oci_helm_connector.py +243 -0
  176. pulumi_harness/platform/get_organization.py +156 -0
  177. pulumi_harness/platform/get_overrides.py +198 -0
  178. pulumi_harness/platform/get_pagerduty_connector.py +224 -0
  179. pulumi_harness/platform/get_permissions.py +149 -0
  180. pulumi_harness/platform/get_pipeline.py +268 -0
  181. pulumi_harness/platform/get_pipeline_filters.py +197 -0
  182. pulumi_harness/platform/get_pipeline_list.py +269 -0
  183. pulumi_harness/platform/get_policy.py +220 -0
  184. pulumi_harness/platform/get_policy_set.py +298 -0
  185. pulumi_harness/platform/get_project.py +210 -0
  186. pulumi_harness/platform/get_project_list.py +249 -0
  187. pulumi_harness/platform/get_prometheus_connector.py +271 -0
  188. pulumi_harness/platform/get_provider.py +85 -0
  189. pulumi_harness/platform/get_repo.py +362 -0
  190. pulumi_harness/platform/get_repo_rule_branch.py +312 -0
  191. pulumi_harness/platform/get_repo_webhook.py +316 -0
  192. pulumi_harness/platform/get_resource_group.py +267 -0
  193. pulumi_harness/platform/get_role_assignments.py +223 -0
  194. pulumi_harness/platform/get_roles.py +240 -0
  195. pulumi_harness/platform/get_secret_file.py +224 -0
  196. pulumi_harness/platform/get_secret_sshkey.py +239 -0
  197. pulumi_harness/platform/get_secret_text.py +264 -0
  198. pulumi_harness/platform/get_service.py +235 -0
  199. pulumi_harness/platform/get_service_account.py +224 -0
  200. pulumi_harness/platform/get_service_list.py +172 -0
  201. pulumi_harness/platform/get_service_now_connector.py +285 -0
  202. pulumi_harness/platform/get_service_overrides_v2.py +220 -0
  203. pulumi_harness/platform/get_slo.py +134 -0
  204. pulumi_harness/platform/get_splunk_connector.py +270 -0
  205. pulumi_harness/platform/get_spot_connector.py +215 -0
  206. pulumi_harness/platform/get_sumologic_connector.py +256 -0
  207. pulumi_harness/platform/get_tas_connector.py +243 -0
  208. pulumi_harness/platform/get_template.py +386 -0
  209. pulumi_harness/platform/get_template_filters.py +221 -0
  210. pulumi_harness/platform/get_terraform_cloud_connector.py +233 -0
  211. pulumi_harness/platform/get_token.py +430 -0
  212. pulumi_harness/platform/get_triggers.py +260 -0
  213. pulumi_harness/platform/get_user.py +222 -0
  214. pulumi_harness/platform/get_usergroup.py +340 -0
  215. pulumi_harness/platform/get_variables.py +209 -0
  216. pulumi_harness/platform/get_vault_connector.py +574 -0
  217. pulumi_harness/platform/get_workspace.py +411 -0
  218. pulumi_harness/platform/get_workspace_output_value.py +168 -0
  219. pulumi_harness/platform/git_connector.py +713 -0
  220. pulumi_harness/platform/git_ops_agent.py +727 -0
  221. pulumi_harness/platform/git_ops_applications.py +1090 -0
  222. pulumi_harness/platform/git_ops_cluster.py +438 -0
  223. pulumi_harness/platform/git_ops_gnupg.py +453 -0
  224. pulumi_harness/platform/git_ops_repo_cert.py +437 -0
  225. pulumi_harness/platform/git_ops_repo_cred.py +533 -0
  226. pulumi_harness/platform/git_ops_repository.py +831 -0
  227. pulumi_harness/platform/github_connector.py +807 -0
  228. pulumi_harness/platform/gitlab_connector.py +713 -0
  229. pulumi_harness/platform/gitops_app_project.py +485 -0
  230. pulumi_harness/platform/gitops_app_project_mapping.py +423 -0
  231. pulumi_harness/platform/gitx_webhook.py +616 -0
  232. pulumi_harness/platform/helm_connector.py +617 -0
  233. pulumi_harness/platform/iacm_default_pipeline.py +343 -0
  234. pulumi_harness/platform/infra_module.py +755 -0
  235. pulumi_harness/platform/infrastructure.py +937 -0
  236. pulumi_harness/platform/input_set.py +689 -0
  237. pulumi_harness/platform/jenkins_connector.py +566 -0
  238. pulumi_harness/platform/jira_connector.py +714 -0
  239. pulumi_harness/platform/kubernetes_cloud_cost_connector.py +558 -0
  240. pulumi_harness/platform/kubernetes_connector.py +895 -0
  241. pulumi_harness/platform/manual_freeze.py +835 -0
  242. pulumi_harness/platform/monitored_service.py +1984 -0
  243. pulumi_harness/platform/newrelic_connector.py +651 -0
  244. pulumi_harness/platform/nexus_connector.py +622 -0
  245. pulumi_harness/platform/notification_rule.py +526 -0
  246. pulumi_harness/platform/oci_helm_connector.py +617 -0
  247. pulumi_harness/platform/organization.py +336 -0
  248. pulumi_harness/platform/outputs.py +23361 -0
  249. pulumi_harness/platform/overrides.py +669 -0
  250. pulumi_harness/platform/pagerduty_connector.py +547 -0
  251. pulumi_harness/platform/pipeline.py +991 -0
  252. pulumi_harness/platform/pipeline_filters.py +711 -0
  253. pulumi_harness/platform/policy.py +944 -0
  254. pulumi_harness/platform/policy_set.py +594 -0
  255. pulumi_harness/platform/project.py +453 -0
  256. pulumi_harness/platform/prometheus_connector.py +710 -0
  257. pulumi_harness/platform/provider.py +349 -0
  258. pulumi_harness/platform/repo.py +737 -0
  259. pulumi_harness/platform/repo_rule_branch.py +645 -0
  260. pulumi_harness/platform/repo_webhook.py +664 -0
  261. pulumi_harness/platform/resource_group.py +718 -0
  262. pulumi_harness/platform/role_assignments.py +524 -0
  263. pulumi_harness/platform/roles.py +546 -0
  264. pulumi_harness/platform/secret_file.py +548 -0
  265. pulumi_harness/platform/secret_sshkey.py +569 -0
  266. pulumi_harness/platform/secret_text.py +620 -0
  267. pulumi_harness/platform/service.py +1195 -0
  268. pulumi_harness/platform/service_account.py +548 -0
  269. pulumi_harness/platform/service_now_connector.py +714 -0
  270. pulumi_harness/platform/service_overrides_v2.py +915 -0
  271. pulumi_harness/platform/slo.py +462 -0
  272. pulumi_harness/platform/splunk_connector.py +701 -0
  273. pulumi_harness/platform/spot_connector.py +452 -0
  274. pulumi_harness/platform/sumologic_connector.py +651 -0
  275. pulumi_harness/platform/tas_connector.py +570 -0
  276. pulumi_harness/platform/template.py +861 -0
  277. pulumi_harness/platform/template_filters.py +515 -0
  278. pulumi_harness/platform/terraform_cloud_connector.py +545 -0
  279. pulumi_harness/platform/token.py +977 -0
  280. pulumi_harness/platform/triggers.py +680 -0
  281. pulumi_harness/platform/user.py +522 -0
  282. pulumi_harness/platform/usergroup.py +1104 -0
  283. pulumi_harness/platform/variables.py +509 -0
  284. pulumi_harness/platform/vault_connector.py +1919 -0
  285. pulumi_harness/platform/workspace.py +1145 -0
  286. pulumi_harness/platform_api_key.py +617 -0
  287. pulumi_harness/platform_ccm_filters.py +515 -0
  288. pulumi_harness/provider.py +227 -0
  289. pulumi_harness/pulumi-plugin.json +6 -0
  290. pulumi_harness/py.typed +0 -0
  291. pulumi_harness/service/__init__.py +18 -0
  292. pulumi_harness/service/_inputs.py +660 -0
  293. pulumi_harness/service/ami.py +336 -0
  294. pulumi_harness/service/codedeploy.py +336 -0
  295. pulumi_harness/service/ecs.py +336 -0
  296. pulumi_harness/service/helm.py +336 -0
  297. pulumi_harness/service/kubernetes.py +409 -0
  298. pulumi_harness/service/lambda_.py +336 -0
  299. pulumi_harness/service/outputs.py +388 -0
  300. pulumi_harness/service/ssh.py +386 -0
  301. pulumi_harness/service/tanzu.py +336 -0
  302. pulumi_harness/service/winrm.py +386 -0
  303. pulumi_harness/ssh_credential.py +361 -0
  304. pulumi_harness/user.py +423 -0
  305. pulumi_harness/user_group.py +713 -0
  306. pulumi_harness/user_group_permissions.py +247 -0
  307. pulumi_harness/yaml_config.py +336 -0
  308. pulumi_harness-0.5.0a1736833425.dist-info/METADATA +69 -0
  309. pulumi_harness-0.5.0a1736833425.dist-info/RECORD +311 -0
  310. pulumi_harness-0.5.0a1736833425.dist-info/WHEEL +5 -0
  311. pulumi_harness-0.5.0a1736833425.dist-info/top_level.txt +1 -0
pulumi_harness/user.py ADDED
@@ -0,0 +1,423 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+
17
+ __all__ = ['UserArgs', 'User']
18
+
19
+ @pulumi.input_type
20
+ class UserArgs:
21
+ def __init__(__self__, *,
22
+ email: pulumi.Input[str],
23
+ group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
24
+ name: Optional[pulumi.Input[str]] = None):
25
+ """
26
+ The set of arguments for constructing a User resource.
27
+ :param pulumi.Input[str] email: The email of the user.
28
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] group_ids: The groups the user belongs to. This is only used during the creation of the user. The groups are not updated after the user is created. When using this option you should also set `lifecycle = { ignore_changes = ["group_ids"] }`.
29
+ :param pulumi.Input[str] name: The name of the user.
30
+ """
31
+ pulumi.set(__self__, "email", email)
32
+ if group_ids is not None:
33
+ pulumi.set(__self__, "group_ids", group_ids)
34
+ if name is not None:
35
+ pulumi.set(__self__, "name", name)
36
+
37
+ @property
38
+ @pulumi.getter
39
+ def email(self) -> pulumi.Input[str]:
40
+ """
41
+ The email of the user.
42
+ """
43
+ return pulumi.get(self, "email")
44
+
45
+ @email.setter
46
+ def email(self, value: pulumi.Input[str]):
47
+ pulumi.set(self, "email", value)
48
+
49
+ @property
50
+ @pulumi.getter(name="groupIds")
51
+ def group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
52
+ """
53
+ The groups the user belongs to. This is only used during the creation of the user. The groups are not updated after the user is created. When using this option you should also set `lifecycle = { ignore_changes = ["group_ids"] }`.
54
+ """
55
+ return pulumi.get(self, "group_ids")
56
+
57
+ @group_ids.setter
58
+ def group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
59
+ pulumi.set(self, "group_ids", value)
60
+
61
+ @property
62
+ @pulumi.getter
63
+ def name(self) -> Optional[pulumi.Input[str]]:
64
+ """
65
+ The name of the user.
66
+ """
67
+ return pulumi.get(self, "name")
68
+
69
+ @name.setter
70
+ def name(self, value: Optional[pulumi.Input[str]]):
71
+ pulumi.set(self, "name", value)
72
+
73
+
74
+ @pulumi.input_type
75
+ class _UserState:
76
+ def __init__(__self__, *,
77
+ email: Optional[pulumi.Input[str]] = None,
78
+ group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
79
+ is_email_verified: Optional[pulumi.Input[bool]] = None,
80
+ is_imported_from_identity_provider: Optional[pulumi.Input[bool]] = None,
81
+ is_password_expired: Optional[pulumi.Input[bool]] = None,
82
+ is_two_factor_auth_enabled: Optional[pulumi.Input[bool]] = None,
83
+ is_user_locked: Optional[pulumi.Input[bool]] = None,
84
+ name: Optional[pulumi.Input[str]] = None):
85
+ """
86
+ Input properties used for looking up and filtering User resources.
87
+ :param pulumi.Input[str] email: The email of the user.
88
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] group_ids: The groups the user belongs to. This is only used during the creation of the user. The groups are not updated after the user is created. When using this option you should also set `lifecycle = { ignore_changes = ["group_ids"] }`.
89
+ :param pulumi.Input[bool] is_email_verified: Flag indicating whether or not the users email has been verified.
90
+ :param pulumi.Input[bool] is_imported_from_identity_provider: Flag indicating whether or not the user was imported from an identity provider.
91
+ :param pulumi.Input[bool] is_password_expired: Flag indicating whether or not the users password has expired.
92
+ :param pulumi.Input[bool] is_two_factor_auth_enabled: Flag indicating whether or not two-factor authentication is enabled for the user.
93
+ :param pulumi.Input[bool] is_user_locked: Flag indicating whether or not the user is locked out.
94
+ :param pulumi.Input[str] name: The name of the user.
95
+ """
96
+ if email is not None:
97
+ pulumi.set(__self__, "email", email)
98
+ if group_ids is not None:
99
+ pulumi.set(__self__, "group_ids", group_ids)
100
+ if is_email_verified is not None:
101
+ pulumi.set(__self__, "is_email_verified", is_email_verified)
102
+ if is_imported_from_identity_provider is not None:
103
+ pulumi.set(__self__, "is_imported_from_identity_provider", is_imported_from_identity_provider)
104
+ if is_password_expired is not None:
105
+ pulumi.set(__self__, "is_password_expired", is_password_expired)
106
+ if is_two_factor_auth_enabled is not None:
107
+ pulumi.set(__self__, "is_two_factor_auth_enabled", is_two_factor_auth_enabled)
108
+ if is_user_locked is not None:
109
+ pulumi.set(__self__, "is_user_locked", is_user_locked)
110
+ if name is not None:
111
+ pulumi.set(__self__, "name", name)
112
+
113
+ @property
114
+ @pulumi.getter
115
+ def email(self) -> Optional[pulumi.Input[str]]:
116
+ """
117
+ The email of the user.
118
+ """
119
+ return pulumi.get(self, "email")
120
+
121
+ @email.setter
122
+ def email(self, value: Optional[pulumi.Input[str]]):
123
+ pulumi.set(self, "email", value)
124
+
125
+ @property
126
+ @pulumi.getter(name="groupIds")
127
+ def group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
128
+ """
129
+ The groups the user belongs to. This is only used during the creation of the user. The groups are not updated after the user is created. When using this option you should also set `lifecycle = { ignore_changes = ["group_ids"] }`.
130
+ """
131
+ return pulumi.get(self, "group_ids")
132
+
133
+ @group_ids.setter
134
+ def group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
135
+ pulumi.set(self, "group_ids", value)
136
+
137
+ @property
138
+ @pulumi.getter(name="isEmailVerified")
139
+ def is_email_verified(self) -> Optional[pulumi.Input[bool]]:
140
+ """
141
+ Flag indicating whether or not the users email has been verified.
142
+ """
143
+ return pulumi.get(self, "is_email_verified")
144
+
145
+ @is_email_verified.setter
146
+ def is_email_verified(self, value: Optional[pulumi.Input[bool]]):
147
+ pulumi.set(self, "is_email_verified", value)
148
+
149
+ @property
150
+ @pulumi.getter(name="isImportedFromIdentityProvider")
151
+ def is_imported_from_identity_provider(self) -> Optional[pulumi.Input[bool]]:
152
+ """
153
+ Flag indicating whether or not the user was imported from an identity provider.
154
+ """
155
+ return pulumi.get(self, "is_imported_from_identity_provider")
156
+
157
+ @is_imported_from_identity_provider.setter
158
+ def is_imported_from_identity_provider(self, value: Optional[pulumi.Input[bool]]):
159
+ pulumi.set(self, "is_imported_from_identity_provider", value)
160
+
161
+ @property
162
+ @pulumi.getter(name="isPasswordExpired")
163
+ def is_password_expired(self) -> Optional[pulumi.Input[bool]]:
164
+ """
165
+ Flag indicating whether or not the users password has expired.
166
+ """
167
+ return pulumi.get(self, "is_password_expired")
168
+
169
+ @is_password_expired.setter
170
+ def is_password_expired(self, value: Optional[pulumi.Input[bool]]):
171
+ pulumi.set(self, "is_password_expired", value)
172
+
173
+ @property
174
+ @pulumi.getter(name="isTwoFactorAuthEnabled")
175
+ def is_two_factor_auth_enabled(self) -> Optional[pulumi.Input[bool]]:
176
+ """
177
+ Flag indicating whether or not two-factor authentication is enabled for the user.
178
+ """
179
+ return pulumi.get(self, "is_two_factor_auth_enabled")
180
+
181
+ @is_two_factor_auth_enabled.setter
182
+ def is_two_factor_auth_enabled(self, value: Optional[pulumi.Input[bool]]):
183
+ pulumi.set(self, "is_two_factor_auth_enabled", value)
184
+
185
+ @property
186
+ @pulumi.getter(name="isUserLocked")
187
+ def is_user_locked(self) -> Optional[pulumi.Input[bool]]:
188
+ """
189
+ Flag indicating whether or not the user is locked out.
190
+ """
191
+ return pulumi.get(self, "is_user_locked")
192
+
193
+ @is_user_locked.setter
194
+ def is_user_locked(self, value: Optional[pulumi.Input[bool]]):
195
+ pulumi.set(self, "is_user_locked", value)
196
+
197
+ @property
198
+ @pulumi.getter
199
+ def name(self) -> Optional[pulumi.Input[str]]:
200
+ """
201
+ The name of the user.
202
+ """
203
+ return pulumi.get(self, "name")
204
+
205
+ @name.setter
206
+ def name(self, value: Optional[pulumi.Input[str]]):
207
+ pulumi.set(self, "name", value)
208
+
209
+
210
+ class User(pulumi.CustomResource):
211
+ @overload
212
+ def __init__(__self__,
213
+ resource_name: str,
214
+ opts: Optional[pulumi.ResourceOptions] = None,
215
+ email: Optional[pulumi.Input[str]] = None,
216
+ group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
217
+ name: Optional[pulumi.Input[str]] = None,
218
+ __props__=None):
219
+ """
220
+ Resource for creating a Harness user
221
+
222
+ ## Example Usage
223
+
224
+ ```python
225
+ import pulumi
226
+ import pulumi_harness as harness
227
+
228
+ john_doe = harness.User("john_doe",
229
+ name="John Doe",
230
+ email="john.doe@example.com")
231
+ ```
232
+
233
+ ## Import
234
+
235
+ Import using the email address of the user
236
+
237
+ ```sh
238
+ $ pulumi import harness:index/user:User john_doe john.doe@example.com
239
+ ```
240
+
241
+ :param str resource_name: The name of the resource.
242
+ :param pulumi.ResourceOptions opts: Options for the resource.
243
+ :param pulumi.Input[str] email: The email of the user.
244
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] group_ids: The groups the user belongs to. This is only used during the creation of the user. The groups are not updated after the user is created. When using this option you should also set `lifecycle = { ignore_changes = ["group_ids"] }`.
245
+ :param pulumi.Input[str] name: The name of the user.
246
+ """
247
+ ...
248
+ @overload
249
+ def __init__(__self__,
250
+ resource_name: str,
251
+ args: UserArgs,
252
+ opts: Optional[pulumi.ResourceOptions] = None):
253
+ """
254
+ Resource for creating a Harness user
255
+
256
+ ## Example Usage
257
+
258
+ ```python
259
+ import pulumi
260
+ import pulumi_harness as harness
261
+
262
+ john_doe = harness.User("john_doe",
263
+ name="John Doe",
264
+ email="john.doe@example.com")
265
+ ```
266
+
267
+ ## Import
268
+
269
+ Import using the email address of the user
270
+
271
+ ```sh
272
+ $ pulumi import harness:index/user:User john_doe john.doe@example.com
273
+ ```
274
+
275
+ :param str resource_name: The name of the resource.
276
+ :param UserArgs args: The arguments to use to populate this resource's properties.
277
+ :param pulumi.ResourceOptions opts: Options for the resource.
278
+ """
279
+ ...
280
+ def __init__(__self__, resource_name: str, *args, **kwargs):
281
+ resource_args, opts = _utilities.get_resource_args_opts(UserArgs, pulumi.ResourceOptions, *args, **kwargs)
282
+ if resource_args is not None:
283
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
284
+ else:
285
+ __self__._internal_init(resource_name, *args, **kwargs)
286
+
287
+ def _internal_init(__self__,
288
+ resource_name: str,
289
+ opts: Optional[pulumi.ResourceOptions] = None,
290
+ email: Optional[pulumi.Input[str]] = None,
291
+ group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
292
+ name: Optional[pulumi.Input[str]] = None,
293
+ __props__=None):
294
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
295
+ if not isinstance(opts, pulumi.ResourceOptions):
296
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
297
+ if opts.id is None:
298
+ if __props__ is not None:
299
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
300
+ __props__ = UserArgs.__new__(UserArgs)
301
+
302
+ if email is None and not opts.urn:
303
+ raise TypeError("Missing required property 'email'")
304
+ __props__.__dict__["email"] = email
305
+ __props__.__dict__["group_ids"] = group_ids
306
+ __props__.__dict__["name"] = name
307
+ __props__.__dict__["is_email_verified"] = None
308
+ __props__.__dict__["is_imported_from_identity_provider"] = None
309
+ __props__.__dict__["is_password_expired"] = None
310
+ __props__.__dict__["is_two_factor_auth_enabled"] = None
311
+ __props__.__dict__["is_user_locked"] = None
312
+ super(User, __self__).__init__(
313
+ 'harness:index/user:User',
314
+ resource_name,
315
+ __props__,
316
+ opts)
317
+
318
+ @staticmethod
319
+ def get(resource_name: str,
320
+ id: pulumi.Input[str],
321
+ opts: Optional[pulumi.ResourceOptions] = None,
322
+ email: Optional[pulumi.Input[str]] = None,
323
+ group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
324
+ is_email_verified: Optional[pulumi.Input[bool]] = None,
325
+ is_imported_from_identity_provider: Optional[pulumi.Input[bool]] = None,
326
+ is_password_expired: Optional[pulumi.Input[bool]] = None,
327
+ is_two_factor_auth_enabled: Optional[pulumi.Input[bool]] = None,
328
+ is_user_locked: Optional[pulumi.Input[bool]] = None,
329
+ name: Optional[pulumi.Input[str]] = None) -> 'User':
330
+ """
331
+ Get an existing User resource's state with the given name, id, and optional extra
332
+ properties used to qualify the lookup.
333
+
334
+ :param str resource_name: The unique name of the resulting resource.
335
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
336
+ :param pulumi.ResourceOptions opts: Options for the resource.
337
+ :param pulumi.Input[str] email: The email of the user.
338
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] group_ids: The groups the user belongs to. This is only used during the creation of the user. The groups are not updated after the user is created. When using this option you should also set `lifecycle = { ignore_changes = ["group_ids"] }`.
339
+ :param pulumi.Input[bool] is_email_verified: Flag indicating whether or not the users email has been verified.
340
+ :param pulumi.Input[bool] is_imported_from_identity_provider: Flag indicating whether or not the user was imported from an identity provider.
341
+ :param pulumi.Input[bool] is_password_expired: Flag indicating whether or not the users password has expired.
342
+ :param pulumi.Input[bool] is_two_factor_auth_enabled: Flag indicating whether or not two-factor authentication is enabled for the user.
343
+ :param pulumi.Input[bool] is_user_locked: Flag indicating whether or not the user is locked out.
344
+ :param pulumi.Input[str] name: The name of the user.
345
+ """
346
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
347
+
348
+ __props__ = _UserState.__new__(_UserState)
349
+
350
+ __props__.__dict__["email"] = email
351
+ __props__.__dict__["group_ids"] = group_ids
352
+ __props__.__dict__["is_email_verified"] = is_email_verified
353
+ __props__.__dict__["is_imported_from_identity_provider"] = is_imported_from_identity_provider
354
+ __props__.__dict__["is_password_expired"] = is_password_expired
355
+ __props__.__dict__["is_two_factor_auth_enabled"] = is_two_factor_auth_enabled
356
+ __props__.__dict__["is_user_locked"] = is_user_locked
357
+ __props__.__dict__["name"] = name
358
+ return User(resource_name, opts=opts, __props__=__props__)
359
+
360
+ @property
361
+ @pulumi.getter
362
+ def email(self) -> pulumi.Output[str]:
363
+ """
364
+ The email of the user.
365
+ """
366
+ return pulumi.get(self, "email")
367
+
368
+ @property
369
+ @pulumi.getter(name="groupIds")
370
+ def group_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
371
+ """
372
+ The groups the user belongs to. This is only used during the creation of the user. The groups are not updated after the user is created. When using this option you should also set `lifecycle = { ignore_changes = ["group_ids"] }`.
373
+ """
374
+ return pulumi.get(self, "group_ids")
375
+
376
+ @property
377
+ @pulumi.getter(name="isEmailVerified")
378
+ def is_email_verified(self) -> pulumi.Output[bool]:
379
+ """
380
+ Flag indicating whether or not the users email has been verified.
381
+ """
382
+ return pulumi.get(self, "is_email_verified")
383
+
384
+ @property
385
+ @pulumi.getter(name="isImportedFromIdentityProvider")
386
+ def is_imported_from_identity_provider(self) -> pulumi.Output[bool]:
387
+ """
388
+ Flag indicating whether or not the user was imported from an identity provider.
389
+ """
390
+ return pulumi.get(self, "is_imported_from_identity_provider")
391
+
392
+ @property
393
+ @pulumi.getter(name="isPasswordExpired")
394
+ def is_password_expired(self) -> pulumi.Output[bool]:
395
+ """
396
+ Flag indicating whether or not the users password has expired.
397
+ """
398
+ return pulumi.get(self, "is_password_expired")
399
+
400
+ @property
401
+ @pulumi.getter(name="isTwoFactorAuthEnabled")
402
+ def is_two_factor_auth_enabled(self) -> pulumi.Output[bool]:
403
+ """
404
+ Flag indicating whether or not two-factor authentication is enabled for the user.
405
+ """
406
+ return pulumi.get(self, "is_two_factor_auth_enabled")
407
+
408
+ @property
409
+ @pulumi.getter(name="isUserLocked")
410
+ def is_user_locked(self) -> pulumi.Output[bool]:
411
+ """
412
+ Flag indicating whether or not the user is locked out.
413
+ """
414
+ return pulumi.get(self, "is_user_locked")
415
+
416
+ @property
417
+ @pulumi.getter
418
+ def name(self) -> pulumi.Output[str]:
419
+ """
420
+ The name of the user.
421
+ """
422
+ return pulumi.get(self, "name")
423
+