pulumi-harness 0.5.0a1736833425__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (311) hide show
  1. pulumi_harness/__init__.py +1257 -0
  2. pulumi_harness/_inputs.py +4025 -0
  3. pulumi_harness/_utilities.py +327 -0
  4. pulumi_harness/add_user_to_group.py +241 -0
  5. pulumi_harness/application.py +393 -0
  6. pulumi_harness/application_git_sync.py +411 -0
  7. pulumi_harness/autostopping/__init__.py +27 -0
  8. pulumi_harness/autostopping/_inputs.py +2688 -0
  9. pulumi_harness/autostopping/aws_alb.py +640 -0
  10. pulumi_harness/autostopping/aws_proxy.py +760 -0
  11. pulumi_harness/autostopping/azure_gateway.py +798 -0
  12. pulumi_harness/autostopping/azure_proxy.py +855 -0
  13. pulumi_harness/autostopping/gcp_proxy.py +779 -0
  14. pulumi_harness/autostopping/get_aws_alb.py +278 -0
  15. pulumi_harness/autostopping/get_aws_proxy.py +335 -0
  16. pulumi_harness/autostopping/get_azure_gateway.py +343 -0
  17. pulumi_harness/autostopping/get_azure_proxy.py +375 -0
  18. pulumi_harness/autostopping/get_gcp_proxy.py +340 -0
  19. pulumi_harness/autostopping/get_rule_ecs.py +225 -0
  20. pulumi_harness/autostopping/get_rule_rds.py +205 -0
  21. pulumi_harness/autostopping/get_rule_vm.py +265 -0
  22. pulumi_harness/autostopping/get_schedule.py +193 -0
  23. pulumi_harness/autostopping/outputs.py +1971 -0
  24. pulumi_harness/autostopping/rule_ecs.py +450 -0
  25. pulumi_harness/autostopping/rule_rds.py +448 -0
  26. pulumi_harness/autostopping/rule_vm.py +663 -0
  27. pulumi_harness/autostopping/schedule.py +465 -0
  28. pulumi_harness/cloudprovider/__init__.py +17 -0
  29. pulumi_harness/cloudprovider/_inputs.py +777 -0
  30. pulumi_harness/cloudprovider/aws.py +586 -0
  31. pulumi_harness/cloudprovider/azure.py +393 -0
  32. pulumi_harness/cloudprovider/datacenter.py +233 -0
  33. pulumi_harness/cloudprovider/gcp.py +340 -0
  34. pulumi_harness/cloudprovider/get_delegate_ids.py +148 -0
  35. pulumi_harness/cloudprovider/kubernetes.py +310 -0
  36. pulumi_harness/cloudprovider/outputs.py +657 -0
  37. pulumi_harness/cloudprovider/spot.py +296 -0
  38. pulumi_harness/cloudprovider/tanzu.py +441 -0
  39. pulumi_harness/cluster/__init__.py +9 -0
  40. pulumi_harness/cluster/get_orchestrator.py +134 -0
  41. pulumi_harness/cluster/orchestrator.py +286 -0
  42. pulumi_harness/config/__init__.py +8 -0
  43. pulumi_harness/config/__init__.pyi +40 -0
  44. pulumi_harness/config/vars.py +54 -0
  45. pulumi_harness/delegate_approval.py +267 -0
  46. pulumi_harness/encrypted_text.py +499 -0
  47. pulumi_harness/environment.py +446 -0
  48. pulumi_harness/get_application.py +180 -0
  49. pulumi_harness/get_current_account.py +108 -0
  50. pulumi_harness/get_delegate.py +280 -0
  51. pulumi_harness/get_encrypted_text.py +136 -0
  52. pulumi_harness/get_environment.py +184 -0
  53. pulumi_harness/get_git_connector.py +255 -0
  54. pulumi_harness/get_secret_manager.py +142 -0
  55. pulumi_harness/get_service.py +198 -0
  56. pulumi_harness/get_ssh_credential.py +122 -0
  57. pulumi_harness/get_sso_provider.py +114 -0
  58. pulumi_harness/get_trigger.py +177 -0
  59. pulumi_harness/get_user.py +184 -0
  60. pulumi_harness/get_user_group.py +100 -0
  61. pulumi_harness/get_yaml_config.py +142 -0
  62. pulumi_harness/git_connector.py +738 -0
  63. pulumi_harness/governance/__init__.py +13 -0
  64. pulumi_harness/governance/get_rule.py +168 -0
  65. pulumi_harness/governance/get_rule_enforcement.py +266 -0
  66. pulumi_harness/governance/get_rule_set.py +150 -0
  67. pulumi_harness/governance/rule.py +337 -0
  68. pulumi_harness/governance/rule_enforcement.py +668 -0
  69. pulumi_harness/governance/rule_set.py +321 -0
  70. pulumi_harness/infrastructure_definition.py +1246 -0
  71. pulumi_harness/outputs.py +3306 -0
  72. pulumi_harness/platform/__init__.py +220 -0
  73. pulumi_harness/platform/_inputs.py +22314 -0
  74. pulumi_harness/platform/app_dynamics_connector.py +733 -0
  75. pulumi_harness/platform/artifactory_connector.py +748 -0
  76. pulumi_harness/platform/aws_cc_connector.py +716 -0
  77. pulumi_harness/platform/aws_connector.py +851 -0
  78. pulumi_harness/platform/aws_kms_connector.py +619 -0
  79. pulumi_harness/platform/aws_secret_manager_connector.py +712 -0
  80. pulumi_harness/platform/azure_cloud_cost_connector.py +675 -0
  81. pulumi_harness/platform/azure_cloud_provider_connector.py +826 -0
  82. pulumi_harness/platform/azure_key_vault_connector.py +843 -0
  83. pulumi_harness/platform/bitbucket_connector.py +713 -0
  84. pulumi_harness/platform/connector_azure_artifacts.py +529 -0
  85. pulumi_harness/platform/connector_custom_secret_manager.py +887 -0
  86. pulumi_harness/platform/connector_customhealthsource.py +807 -0
  87. pulumi_harness/platform/connector_jdbc.py +609 -0
  88. pulumi_harness/platform/connector_pdc.py +527 -0
  89. pulumi_harness/platform/connector_rancher.py +617 -0
  90. pulumi_harness/platform/datadog_connector.py +651 -0
  91. pulumi_harness/platform/db_instance.py +636 -0
  92. pulumi_harness/platform/db_schema.py +547 -0
  93. pulumi_harness/platform/delegatetoken.py +520 -0
  94. pulumi_harness/platform/docker_connector.py +669 -0
  95. pulumi_harness/platform/dynatrace_connector.py +601 -0
  96. pulumi_harness/platform/elasticsearch_connector.py +744 -0
  97. pulumi_harness/platform/environment.py +1173 -0
  98. pulumi_harness/platform/environment_clusters_mapping.py +454 -0
  99. pulumi_harness/platform/environment_group.py +560 -0
  100. pulumi_harness/platform/environment_service_overrides.py +688 -0
  101. pulumi_harness/platform/feature_flag.py +724 -0
  102. pulumi_harness/platform/feature_flag_api_key.py +550 -0
  103. pulumi_harness/platform/feature_flag_target.py +473 -0
  104. pulumi_harness/platform/feature_flag_target_group.py +577 -0
  105. pulumi_harness/platform/file_store_file.py +822 -0
  106. pulumi_harness/platform/file_store_folder.py +628 -0
  107. pulumi_harness/platform/filters.py +511 -0
  108. pulumi_harness/platform/gcp_cloud_cost_connector.py +669 -0
  109. pulumi_harness/platform/gcp_connector.py +663 -0
  110. pulumi_harness/platform/gcp_secret_manager_connector.py +594 -0
  111. pulumi_harness/platform/get_api_key.py +292 -0
  112. pulumi_harness/platform/get_app_dynamics_connector.py +271 -0
  113. pulumi_harness/platform/get_artifactory_connector.py +243 -0
  114. pulumi_harness/platform/get_aws_cc_connector.py +271 -0
  115. pulumi_harness/platform/get_aws_connector.py +313 -0
  116. pulumi_harness/platform/get_aws_kms_connector.py +253 -0
  117. pulumi_harness/platform/get_aws_secret_manager_connector.py +267 -0
  118. pulumi_harness/platform/get_azure_cloud_cost_connector.py +257 -0
  119. pulumi_harness/platform/get_azure_cloud_provider_connector.py +257 -0
  120. pulumi_harness/platform/get_azure_key_vault_connector.py +308 -0
  121. pulumi_harness/platform/get_bitbucket_connector.py +285 -0
  122. pulumi_harness/platform/get_ccm_filters.py +221 -0
  123. pulumi_harness/platform/get_connector_custom_secret_manager.py +330 -0
  124. pulumi_harness/platform/get_connector_customhealthsource.py +281 -0
  125. pulumi_harness/platform/get_connector_jdbc.py +243 -0
  126. pulumi_harness/platform/get_connector_pdc.py +229 -0
  127. pulumi_harness/platform/get_connector_rancher.py +236 -0
  128. pulumi_harness/platform/get_current_account.py +126 -0
  129. pulumi_harness/platform/get_current_user.py +252 -0
  130. pulumi_harness/platform/get_datadog_connector.py +262 -0
  131. pulumi_harness/platform/get_db_instance.py +268 -0
  132. pulumi_harness/platform/get_db_schema.py +233 -0
  133. pulumi_harness/platform/get_delegatetoken.py +214 -0
  134. pulumi_harness/platform/get_docker_connector.py +257 -0
  135. pulumi_harness/platform/get_dynatrace_connector.py +242 -0
  136. pulumi_harness/platform/get_elasticsearch_connector.py +257 -0
  137. pulumi_harness/platform/get_environment.py +263 -0
  138. pulumi_harness/platform/get_environment_clusters_mapping.py +262 -0
  139. pulumi_harness/platform/get_environment_group.py +190 -0
  140. pulumi_harness/platform/get_environment_list.py +172 -0
  141. pulumi_harness/platform/get_environment_service_overrides.py +212 -0
  142. pulumi_harness/platform/get_file_store_file.py +327 -0
  143. pulumi_harness/platform/get_file_store_folder.py +271 -0
  144. pulumi_harness/platform/get_filters.py +217 -0
  145. pulumi_harness/platform/get_gcp_cloud_cost_connector.py +257 -0
  146. pulumi_harness/platform/get_gcp_connector.py +243 -0
  147. pulumi_harness/platform/get_gcp_secret_manager_connector.py +238 -0
  148. pulumi_harness/platform/get_git_connector.py +271 -0
  149. pulumi_harness/platform/get_github_connector.py +296 -0
  150. pulumi_harness/platform/get_gitlab_connector.py +285 -0
  151. pulumi_harness/platform/get_gitops_agent.py +303 -0
  152. pulumi_harness/platform/get_gitops_agent_deploy_yaml.py +257 -0
  153. pulumi_harness/platform/get_gitops_app_project.py +191 -0
  154. pulumi_harness/platform/get_gitops_app_project_mapping.py +189 -0
  155. pulumi_harness/platform/get_gitops_applications.py +351 -0
  156. pulumi_harness/platform/get_gitops_cluster.py +216 -0
  157. pulumi_harness/platform/get_gitops_gnupg.py +219 -0
  158. pulumi_harness/platform/get_gitops_repo_cert.py +155 -0
  159. pulumi_harness/platform/get_gitops_repo_cred.py +223 -0
  160. pulumi_harness/platform/get_gitops_repository.py +230 -0
  161. pulumi_harness/platform/get_gitx_webhook.py +194 -0
  162. pulumi_harness/platform/get_helm_connector.py +243 -0
  163. pulumi_harness/platform/get_iacm_default_pipeline.py +168 -0
  164. pulumi_harness/platform/get_infra_module.py +320 -0
  165. pulumi_harness/platform/get_infrastructure.py +287 -0
  166. pulumi_harness/platform/get_input_set.py +238 -0
  167. pulumi_harness/platform/get_jenkins_connector.py +243 -0
  168. pulumi_harness/platform/get_jira_connector.py +285 -0
  169. pulumi_harness/platform/get_kubernetes_cloud_cost_connector.py +228 -0
  170. pulumi_harness/platform/get_kubernetes_connector.py +285 -0
  171. pulumi_harness/platform/get_manual_freeze.py +305 -0
  172. pulumi_harness/platform/get_monitored_service.py +134 -0
  173. pulumi_harness/platform/get_nexus_connector.py +257 -0
  174. pulumi_harness/platform/get_notification_rule.py +156 -0
  175. pulumi_harness/platform/get_oci_helm_connector.py +243 -0
  176. pulumi_harness/platform/get_organization.py +156 -0
  177. pulumi_harness/platform/get_overrides.py +198 -0
  178. pulumi_harness/platform/get_pagerduty_connector.py +224 -0
  179. pulumi_harness/platform/get_permissions.py +149 -0
  180. pulumi_harness/platform/get_pipeline.py +268 -0
  181. pulumi_harness/platform/get_pipeline_filters.py +197 -0
  182. pulumi_harness/platform/get_pipeline_list.py +269 -0
  183. pulumi_harness/platform/get_policy.py +220 -0
  184. pulumi_harness/platform/get_policy_set.py +298 -0
  185. pulumi_harness/platform/get_project.py +210 -0
  186. pulumi_harness/platform/get_project_list.py +249 -0
  187. pulumi_harness/platform/get_prometheus_connector.py +271 -0
  188. pulumi_harness/platform/get_provider.py +85 -0
  189. pulumi_harness/platform/get_repo.py +362 -0
  190. pulumi_harness/platform/get_repo_rule_branch.py +312 -0
  191. pulumi_harness/platform/get_repo_webhook.py +316 -0
  192. pulumi_harness/platform/get_resource_group.py +267 -0
  193. pulumi_harness/platform/get_role_assignments.py +223 -0
  194. pulumi_harness/platform/get_roles.py +240 -0
  195. pulumi_harness/platform/get_secret_file.py +224 -0
  196. pulumi_harness/platform/get_secret_sshkey.py +239 -0
  197. pulumi_harness/platform/get_secret_text.py +264 -0
  198. pulumi_harness/platform/get_service.py +235 -0
  199. pulumi_harness/platform/get_service_account.py +224 -0
  200. pulumi_harness/platform/get_service_list.py +172 -0
  201. pulumi_harness/platform/get_service_now_connector.py +285 -0
  202. pulumi_harness/platform/get_service_overrides_v2.py +220 -0
  203. pulumi_harness/platform/get_slo.py +134 -0
  204. pulumi_harness/platform/get_splunk_connector.py +270 -0
  205. pulumi_harness/platform/get_spot_connector.py +215 -0
  206. pulumi_harness/platform/get_sumologic_connector.py +256 -0
  207. pulumi_harness/platform/get_tas_connector.py +243 -0
  208. pulumi_harness/platform/get_template.py +386 -0
  209. pulumi_harness/platform/get_template_filters.py +221 -0
  210. pulumi_harness/platform/get_terraform_cloud_connector.py +233 -0
  211. pulumi_harness/platform/get_token.py +430 -0
  212. pulumi_harness/platform/get_triggers.py +260 -0
  213. pulumi_harness/platform/get_user.py +222 -0
  214. pulumi_harness/platform/get_usergroup.py +340 -0
  215. pulumi_harness/platform/get_variables.py +209 -0
  216. pulumi_harness/platform/get_vault_connector.py +574 -0
  217. pulumi_harness/platform/get_workspace.py +411 -0
  218. pulumi_harness/platform/get_workspace_output_value.py +168 -0
  219. pulumi_harness/platform/git_connector.py +713 -0
  220. pulumi_harness/platform/git_ops_agent.py +727 -0
  221. pulumi_harness/platform/git_ops_applications.py +1090 -0
  222. pulumi_harness/platform/git_ops_cluster.py +438 -0
  223. pulumi_harness/platform/git_ops_gnupg.py +453 -0
  224. pulumi_harness/platform/git_ops_repo_cert.py +437 -0
  225. pulumi_harness/platform/git_ops_repo_cred.py +533 -0
  226. pulumi_harness/platform/git_ops_repository.py +831 -0
  227. pulumi_harness/platform/github_connector.py +807 -0
  228. pulumi_harness/platform/gitlab_connector.py +713 -0
  229. pulumi_harness/platform/gitops_app_project.py +485 -0
  230. pulumi_harness/platform/gitops_app_project_mapping.py +423 -0
  231. pulumi_harness/platform/gitx_webhook.py +616 -0
  232. pulumi_harness/platform/helm_connector.py +617 -0
  233. pulumi_harness/platform/iacm_default_pipeline.py +343 -0
  234. pulumi_harness/platform/infra_module.py +755 -0
  235. pulumi_harness/platform/infrastructure.py +937 -0
  236. pulumi_harness/platform/input_set.py +689 -0
  237. pulumi_harness/platform/jenkins_connector.py +566 -0
  238. pulumi_harness/platform/jira_connector.py +714 -0
  239. pulumi_harness/platform/kubernetes_cloud_cost_connector.py +558 -0
  240. pulumi_harness/platform/kubernetes_connector.py +895 -0
  241. pulumi_harness/platform/manual_freeze.py +835 -0
  242. pulumi_harness/platform/monitored_service.py +1984 -0
  243. pulumi_harness/platform/newrelic_connector.py +651 -0
  244. pulumi_harness/platform/nexus_connector.py +622 -0
  245. pulumi_harness/platform/notification_rule.py +526 -0
  246. pulumi_harness/platform/oci_helm_connector.py +617 -0
  247. pulumi_harness/platform/organization.py +336 -0
  248. pulumi_harness/platform/outputs.py +23361 -0
  249. pulumi_harness/platform/overrides.py +669 -0
  250. pulumi_harness/platform/pagerduty_connector.py +547 -0
  251. pulumi_harness/platform/pipeline.py +991 -0
  252. pulumi_harness/platform/pipeline_filters.py +711 -0
  253. pulumi_harness/platform/policy.py +944 -0
  254. pulumi_harness/platform/policy_set.py +594 -0
  255. pulumi_harness/platform/project.py +453 -0
  256. pulumi_harness/platform/prometheus_connector.py +710 -0
  257. pulumi_harness/platform/provider.py +349 -0
  258. pulumi_harness/platform/repo.py +737 -0
  259. pulumi_harness/platform/repo_rule_branch.py +645 -0
  260. pulumi_harness/platform/repo_webhook.py +664 -0
  261. pulumi_harness/platform/resource_group.py +718 -0
  262. pulumi_harness/platform/role_assignments.py +524 -0
  263. pulumi_harness/platform/roles.py +546 -0
  264. pulumi_harness/platform/secret_file.py +548 -0
  265. pulumi_harness/platform/secret_sshkey.py +569 -0
  266. pulumi_harness/platform/secret_text.py +620 -0
  267. pulumi_harness/platform/service.py +1195 -0
  268. pulumi_harness/platform/service_account.py +548 -0
  269. pulumi_harness/platform/service_now_connector.py +714 -0
  270. pulumi_harness/platform/service_overrides_v2.py +915 -0
  271. pulumi_harness/platform/slo.py +462 -0
  272. pulumi_harness/platform/splunk_connector.py +701 -0
  273. pulumi_harness/platform/spot_connector.py +452 -0
  274. pulumi_harness/platform/sumologic_connector.py +651 -0
  275. pulumi_harness/platform/tas_connector.py +570 -0
  276. pulumi_harness/platform/template.py +861 -0
  277. pulumi_harness/platform/template_filters.py +515 -0
  278. pulumi_harness/platform/terraform_cloud_connector.py +545 -0
  279. pulumi_harness/platform/token.py +977 -0
  280. pulumi_harness/platform/triggers.py +680 -0
  281. pulumi_harness/platform/user.py +522 -0
  282. pulumi_harness/platform/usergroup.py +1104 -0
  283. pulumi_harness/platform/variables.py +509 -0
  284. pulumi_harness/platform/vault_connector.py +1919 -0
  285. pulumi_harness/platform/workspace.py +1145 -0
  286. pulumi_harness/platform_api_key.py +617 -0
  287. pulumi_harness/platform_ccm_filters.py +515 -0
  288. pulumi_harness/provider.py +227 -0
  289. pulumi_harness/pulumi-plugin.json +6 -0
  290. pulumi_harness/py.typed +0 -0
  291. pulumi_harness/service/__init__.py +18 -0
  292. pulumi_harness/service/_inputs.py +660 -0
  293. pulumi_harness/service/ami.py +336 -0
  294. pulumi_harness/service/codedeploy.py +336 -0
  295. pulumi_harness/service/ecs.py +336 -0
  296. pulumi_harness/service/helm.py +336 -0
  297. pulumi_harness/service/kubernetes.py +409 -0
  298. pulumi_harness/service/lambda_.py +336 -0
  299. pulumi_harness/service/outputs.py +388 -0
  300. pulumi_harness/service/ssh.py +386 -0
  301. pulumi_harness/service/tanzu.py +336 -0
  302. pulumi_harness/service/winrm.py +386 -0
  303. pulumi_harness/ssh_credential.py +361 -0
  304. pulumi_harness/user.py +423 -0
  305. pulumi_harness/user_group.py +713 -0
  306. pulumi_harness/user_group_permissions.py +247 -0
  307. pulumi_harness/yaml_config.py +336 -0
  308. pulumi_harness-0.5.0a1736833425.dist-info/METADATA +69 -0
  309. pulumi_harness-0.5.0a1736833425.dist-info/RECORD +311 -0
  310. pulumi_harness-0.5.0a1736833425.dist-info/WHEEL +5 -0
  311. pulumi_harness-0.5.0a1736833425.dist-info/top_level.txt +1 -0
@@ -0,0 +1,247 @@
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
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['UserGroupPermissionsInitArgs', 'UserGroupPermissions']
20
+
21
+ @pulumi.input_type
22
+ class UserGroupPermissionsInitArgs:
23
+ def __init__(__self__, *,
24
+ user_group_id: pulumi.Input[str],
25
+ account_permissions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
26
+ app_permissions: Optional[pulumi.Input['UserGroupPermissionsAppPermissionsArgs']] = None):
27
+ """
28
+ The set of arguments for constructing a UserGroupPermissions resource.
29
+ :param pulumi.Input[str] user_group_id: Unique identifier of the user group.
30
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] account_permissions: The account permissions of the user group. Valid options are ADMINISTER*OTHER*ACCOUNT*FUNCTIONS, CREATE*AND*DELETE*APPLICATION, CREATE*CUSTOM*DASHBOARDS, MANAGE*ALERT*NOTIFICATION*RULES, MANAGE*API*KEYS, MANAGE*APPLICATION*STACKS, MANAGE*AUTHENTICATION*SETTINGS, MANAGE*CLOUD*PROVIDERS, MANAGE*CONFIG*AS*CODE, MANAGE*CONNECTORS, MANAGE*CUSTOM*DASHBOARDS, MANAGE*DELEGATE*PROFILES, MANAGE*DELEGATES, MANAGE*DEPLOYMENT*FREEZES, MANAGE*IP*WHITELIST, MANAGE*PIPELINE*GOVERNANCE*STANDARDS, MANAGE*RESTRICTED*ACCESS, MANAGE*SECRET*MANAGERS, MANAGE*SECRETS, MANAGE*SSH*AND*WINRM, MANAGE*TAGS, MANAGE*TEMPLATE*LIBRARY, MANAGE*USER*AND*USER*GROUPS*AND*API*KEYS, MANAGE*USERS*AND*GROUPS, READ*USERS*AND*GROUPS, VIEW*AUDITS, VIEW*USER*AND*USER*GROUPS*AND*API_KEYS
31
+ :param pulumi.Input['UserGroupPermissionsAppPermissionsArgs'] app_permissions: Application specific permissions
32
+ """
33
+ pulumi.set(__self__, "user_group_id", user_group_id)
34
+ if account_permissions is not None:
35
+ pulumi.set(__self__, "account_permissions", account_permissions)
36
+ if app_permissions is not None:
37
+ pulumi.set(__self__, "app_permissions", app_permissions)
38
+
39
+ @property
40
+ @pulumi.getter(name="userGroupId")
41
+ def user_group_id(self) -> pulumi.Input[str]:
42
+ """
43
+ Unique identifier of the user group.
44
+ """
45
+ return pulumi.get(self, "user_group_id")
46
+
47
+ @user_group_id.setter
48
+ def user_group_id(self, value: pulumi.Input[str]):
49
+ pulumi.set(self, "user_group_id", value)
50
+
51
+ @property
52
+ @pulumi.getter(name="accountPermissions")
53
+ def account_permissions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
54
+ """
55
+ The account permissions of the user group. Valid options are ADMINISTER*OTHER*ACCOUNT*FUNCTIONS, CREATE*AND*DELETE*APPLICATION, CREATE*CUSTOM*DASHBOARDS, MANAGE*ALERT*NOTIFICATION*RULES, MANAGE*API*KEYS, MANAGE*APPLICATION*STACKS, MANAGE*AUTHENTICATION*SETTINGS, MANAGE*CLOUD*PROVIDERS, MANAGE*CONFIG*AS*CODE, MANAGE*CONNECTORS, MANAGE*CUSTOM*DASHBOARDS, MANAGE*DELEGATE*PROFILES, MANAGE*DELEGATES, MANAGE*DEPLOYMENT*FREEZES, MANAGE*IP*WHITELIST, MANAGE*PIPELINE*GOVERNANCE*STANDARDS, MANAGE*RESTRICTED*ACCESS, MANAGE*SECRET*MANAGERS, MANAGE*SECRETS, MANAGE*SSH*AND*WINRM, MANAGE*TAGS, MANAGE*TEMPLATE*LIBRARY, MANAGE*USER*AND*USER*GROUPS*AND*API*KEYS, MANAGE*USERS*AND*GROUPS, READ*USERS*AND*GROUPS, VIEW*AUDITS, VIEW*USER*AND*USER*GROUPS*AND*API_KEYS
56
+ """
57
+ return pulumi.get(self, "account_permissions")
58
+
59
+ @account_permissions.setter
60
+ def account_permissions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
61
+ pulumi.set(self, "account_permissions", value)
62
+
63
+ @property
64
+ @pulumi.getter(name="appPermissions")
65
+ def app_permissions(self) -> Optional[pulumi.Input['UserGroupPermissionsAppPermissionsArgs']]:
66
+ """
67
+ Application specific permissions
68
+ """
69
+ return pulumi.get(self, "app_permissions")
70
+
71
+ @app_permissions.setter
72
+ def app_permissions(self, value: Optional[pulumi.Input['UserGroupPermissionsAppPermissionsArgs']]):
73
+ pulumi.set(self, "app_permissions", value)
74
+
75
+
76
+ @pulumi.input_type
77
+ class _UserGroupPermissionsState:
78
+ def __init__(__self__, *,
79
+ account_permissions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
80
+ app_permissions: Optional[pulumi.Input['UserGroupPermissionsAppPermissionsArgs']] = None,
81
+ user_group_id: Optional[pulumi.Input[str]] = None):
82
+ """
83
+ Input properties used for looking up and filtering UserGroupPermissions resources.
84
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] account_permissions: The account permissions of the user group. Valid options are ADMINISTER*OTHER*ACCOUNT*FUNCTIONS, CREATE*AND*DELETE*APPLICATION, CREATE*CUSTOM*DASHBOARDS, MANAGE*ALERT*NOTIFICATION*RULES, MANAGE*API*KEYS, MANAGE*APPLICATION*STACKS, MANAGE*AUTHENTICATION*SETTINGS, MANAGE*CLOUD*PROVIDERS, MANAGE*CONFIG*AS*CODE, MANAGE*CONNECTORS, MANAGE*CUSTOM*DASHBOARDS, MANAGE*DELEGATE*PROFILES, MANAGE*DELEGATES, MANAGE*DEPLOYMENT*FREEZES, MANAGE*IP*WHITELIST, MANAGE*PIPELINE*GOVERNANCE*STANDARDS, MANAGE*RESTRICTED*ACCESS, MANAGE*SECRET*MANAGERS, MANAGE*SECRETS, MANAGE*SSH*AND*WINRM, MANAGE*TAGS, MANAGE*TEMPLATE*LIBRARY, MANAGE*USER*AND*USER*GROUPS*AND*API*KEYS, MANAGE*USERS*AND*GROUPS, READ*USERS*AND*GROUPS, VIEW*AUDITS, VIEW*USER*AND*USER*GROUPS*AND*API_KEYS
85
+ :param pulumi.Input['UserGroupPermissionsAppPermissionsArgs'] app_permissions: Application specific permissions
86
+ :param pulumi.Input[str] user_group_id: Unique identifier of the user group.
87
+ """
88
+ if account_permissions is not None:
89
+ pulumi.set(__self__, "account_permissions", account_permissions)
90
+ if app_permissions is not None:
91
+ pulumi.set(__self__, "app_permissions", app_permissions)
92
+ if user_group_id is not None:
93
+ pulumi.set(__self__, "user_group_id", user_group_id)
94
+
95
+ @property
96
+ @pulumi.getter(name="accountPermissions")
97
+ def account_permissions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
98
+ """
99
+ The account permissions of the user group. Valid options are ADMINISTER*OTHER*ACCOUNT*FUNCTIONS, CREATE*AND*DELETE*APPLICATION, CREATE*CUSTOM*DASHBOARDS, MANAGE*ALERT*NOTIFICATION*RULES, MANAGE*API*KEYS, MANAGE*APPLICATION*STACKS, MANAGE*AUTHENTICATION*SETTINGS, MANAGE*CLOUD*PROVIDERS, MANAGE*CONFIG*AS*CODE, MANAGE*CONNECTORS, MANAGE*CUSTOM*DASHBOARDS, MANAGE*DELEGATE*PROFILES, MANAGE*DELEGATES, MANAGE*DEPLOYMENT*FREEZES, MANAGE*IP*WHITELIST, MANAGE*PIPELINE*GOVERNANCE*STANDARDS, MANAGE*RESTRICTED*ACCESS, MANAGE*SECRET*MANAGERS, MANAGE*SECRETS, MANAGE*SSH*AND*WINRM, MANAGE*TAGS, MANAGE*TEMPLATE*LIBRARY, MANAGE*USER*AND*USER*GROUPS*AND*API*KEYS, MANAGE*USERS*AND*GROUPS, READ*USERS*AND*GROUPS, VIEW*AUDITS, VIEW*USER*AND*USER*GROUPS*AND*API_KEYS
100
+ """
101
+ return pulumi.get(self, "account_permissions")
102
+
103
+ @account_permissions.setter
104
+ def account_permissions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
105
+ pulumi.set(self, "account_permissions", value)
106
+
107
+ @property
108
+ @pulumi.getter(name="appPermissions")
109
+ def app_permissions(self) -> Optional[pulumi.Input['UserGroupPermissionsAppPermissionsArgs']]:
110
+ """
111
+ Application specific permissions
112
+ """
113
+ return pulumi.get(self, "app_permissions")
114
+
115
+ @app_permissions.setter
116
+ def app_permissions(self, value: Optional[pulumi.Input['UserGroupPermissionsAppPermissionsArgs']]):
117
+ pulumi.set(self, "app_permissions", value)
118
+
119
+ @property
120
+ @pulumi.getter(name="userGroupId")
121
+ def user_group_id(self) -> Optional[pulumi.Input[str]]:
122
+ """
123
+ Unique identifier of the user group.
124
+ """
125
+ return pulumi.get(self, "user_group_id")
126
+
127
+ @user_group_id.setter
128
+ def user_group_id(self, value: Optional[pulumi.Input[str]]):
129
+ pulumi.set(self, "user_group_id", value)
130
+
131
+
132
+ class UserGroupPermissions(pulumi.CustomResource):
133
+ @overload
134
+ def __init__(__self__,
135
+ resource_name: str,
136
+ opts: Optional[pulumi.ResourceOptions] = None,
137
+ account_permissions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
138
+ app_permissions: Optional[pulumi.Input[Union['UserGroupPermissionsAppPermissionsArgs', 'UserGroupPermissionsAppPermissionsArgsDict']]] = None,
139
+ user_group_id: Optional[pulumi.Input[str]] = None,
140
+ __props__=None):
141
+ """
142
+ Resource for adding permissions to an existing Harness user group.
143
+
144
+ :param str resource_name: The name of the resource.
145
+ :param pulumi.ResourceOptions opts: Options for the resource.
146
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] account_permissions: The account permissions of the user group. Valid options are ADMINISTER*OTHER*ACCOUNT*FUNCTIONS, CREATE*AND*DELETE*APPLICATION, CREATE*CUSTOM*DASHBOARDS, MANAGE*ALERT*NOTIFICATION*RULES, MANAGE*API*KEYS, MANAGE*APPLICATION*STACKS, MANAGE*AUTHENTICATION*SETTINGS, MANAGE*CLOUD*PROVIDERS, MANAGE*CONFIG*AS*CODE, MANAGE*CONNECTORS, MANAGE*CUSTOM*DASHBOARDS, MANAGE*DELEGATE*PROFILES, MANAGE*DELEGATES, MANAGE*DEPLOYMENT*FREEZES, MANAGE*IP*WHITELIST, MANAGE*PIPELINE*GOVERNANCE*STANDARDS, MANAGE*RESTRICTED*ACCESS, MANAGE*SECRET*MANAGERS, MANAGE*SECRETS, MANAGE*SSH*AND*WINRM, MANAGE*TAGS, MANAGE*TEMPLATE*LIBRARY, MANAGE*USER*AND*USER*GROUPS*AND*API*KEYS, MANAGE*USERS*AND*GROUPS, READ*USERS*AND*GROUPS, VIEW*AUDITS, VIEW*USER*AND*USER*GROUPS*AND*API_KEYS
147
+ :param pulumi.Input[Union['UserGroupPermissionsAppPermissionsArgs', 'UserGroupPermissionsAppPermissionsArgsDict']] app_permissions: Application specific permissions
148
+ :param pulumi.Input[str] user_group_id: Unique identifier of the user group.
149
+ """
150
+ ...
151
+ @overload
152
+ def __init__(__self__,
153
+ resource_name: str,
154
+ args: UserGroupPermissionsInitArgs,
155
+ opts: Optional[pulumi.ResourceOptions] = None):
156
+ """
157
+ Resource for adding permissions to an existing Harness user group.
158
+
159
+ :param str resource_name: The name of the resource.
160
+ :param UserGroupPermissionsInitArgs args: The arguments to use to populate this resource's properties.
161
+ :param pulumi.ResourceOptions opts: Options for the resource.
162
+ """
163
+ ...
164
+ def __init__(__self__, resource_name: str, *args, **kwargs):
165
+ resource_args, opts = _utilities.get_resource_args_opts(UserGroupPermissionsInitArgs, pulumi.ResourceOptions, *args, **kwargs)
166
+ if resource_args is not None:
167
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
168
+ else:
169
+ __self__._internal_init(resource_name, *args, **kwargs)
170
+
171
+ def _internal_init(__self__,
172
+ resource_name: str,
173
+ opts: Optional[pulumi.ResourceOptions] = None,
174
+ account_permissions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
175
+ app_permissions: Optional[pulumi.Input[Union['UserGroupPermissionsAppPermissionsArgs', 'UserGroupPermissionsAppPermissionsArgsDict']]] = None,
176
+ user_group_id: Optional[pulumi.Input[str]] = None,
177
+ __props__=None):
178
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
179
+ if not isinstance(opts, pulumi.ResourceOptions):
180
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
181
+ if opts.id is None:
182
+ if __props__ is not None:
183
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
184
+ __props__ = UserGroupPermissionsInitArgs.__new__(UserGroupPermissionsInitArgs)
185
+
186
+ __props__.__dict__["account_permissions"] = account_permissions
187
+ __props__.__dict__["app_permissions"] = app_permissions
188
+ if user_group_id is None and not opts.urn:
189
+ raise TypeError("Missing required property 'user_group_id'")
190
+ __props__.__dict__["user_group_id"] = user_group_id
191
+ super(UserGroupPermissions, __self__).__init__(
192
+ 'harness:index/userGroupPermissions:UserGroupPermissions',
193
+ resource_name,
194
+ __props__,
195
+ opts)
196
+
197
+ @staticmethod
198
+ def get(resource_name: str,
199
+ id: pulumi.Input[str],
200
+ opts: Optional[pulumi.ResourceOptions] = None,
201
+ account_permissions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
202
+ app_permissions: Optional[pulumi.Input[Union['UserGroupPermissionsAppPermissionsArgs', 'UserGroupPermissionsAppPermissionsArgsDict']]] = None,
203
+ user_group_id: Optional[pulumi.Input[str]] = None) -> 'UserGroupPermissions':
204
+ """
205
+ Get an existing UserGroupPermissions resource's state with the given name, id, and optional extra
206
+ properties used to qualify the lookup.
207
+
208
+ :param str resource_name: The unique name of the resulting resource.
209
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
210
+ :param pulumi.ResourceOptions opts: Options for the resource.
211
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] account_permissions: The account permissions of the user group. Valid options are ADMINISTER*OTHER*ACCOUNT*FUNCTIONS, CREATE*AND*DELETE*APPLICATION, CREATE*CUSTOM*DASHBOARDS, MANAGE*ALERT*NOTIFICATION*RULES, MANAGE*API*KEYS, MANAGE*APPLICATION*STACKS, MANAGE*AUTHENTICATION*SETTINGS, MANAGE*CLOUD*PROVIDERS, MANAGE*CONFIG*AS*CODE, MANAGE*CONNECTORS, MANAGE*CUSTOM*DASHBOARDS, MANAGE*DELEGATE*PROFILES, MANAGE*DELEGATES, MANAGE*DEPLOYMENT*FREEZES, MANAGE*IP*WHITELIST, MANAGE*PIPELINE*GOVERNANCE*STANDARDS, MANAGE*RESTRICTED*ACCESS, MANAGE*SECRET*MANAGERS, MANAGE*SECRETS, MANAGE*SSH*AND*WINRM, MANAGE*TAGS, MANAGE*TEMPLATE*LIBRARY, MANAGE*USER*AND*USER*GROUPS*AND*API*KEYS, MANAGE*USERS*AND*GROUPS, READ*USERS*AND*GROUPS, VIEW*AUDITS, VIEW*USER*AND*USER*GROUPS*AND*API_KEYS
212
+ :param pulumi.Input[Union['UserGroupPermissionsAppPermissionsArgs', 'UserGroupPermissionsAppPermissionsArgsDict']] app_permissions: Application specific permissions
213
+ :param pulumi.Input[str] user_group_id: Unique identifier of the user group.
214
+ """
215
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
216
+
217
+ __props__ = _UserGroupPermissionsState.__new__(_UserGroupPermissionsState)
218
+
219
+ __props__.__dict__["account_permissions"] = account_permissions
220
+ __props__.__dict__["app_permissions"] = app_permissions
221
+ __props__.__dict__["user_group_id"] = user_group_id
222
+ return UserGroupPermissions(resource_name, opts=opts, __props__=__props__)
223
+
224
+ @property
225
+ @pulumi.getter(name="accountPermissions")
226
+ def account_permissions(self) -> pulumi.Output[Optional[Sequence[str]]]:
227
+ """
228
+ The account permissions of the user group. Valid options are ADMINISTER*OTHER*ACCOUNT*FUNCTIONS, CREATE*AND*DELETE*APPLICATION, CREATE*CUSTOM*DASHBOARDS, MANAGE*ALERT*NOTIFICATION*RULES, MANAGE*API*KEYS, MANAGE*APPLICATION*STACKS, MANAGE*AUTHENTICATION*SETTINGS, MANAGE*CLOUD*PROVIDERS, MANAGE*CONFIG*AS*CODE, MANAGE*CONNECTORS, MANAGE*CUSTOM*DASHBOARDS, MANAGE*DELEGATE*PROFILES, MANAGE*DELEGATES, MANAGE*DEPLOYMENT*FREEZES, MANAGE*IP*WHITELIST, MANAGE*PIPELINE*GOVERNANCE*STANDARDS, MANAGE*RESTRICTED*ACCESS, MANAGE*SECRET*MANAGERS, MANAGE*SECRETS, MANAGE*SSH*AND*WINRM, MANAGE*TAGS, MANAGE*TEMPLATE*LIBRARY, MANAGE*USER*AND*USER*GROUPS*AND*API*KEYS, MANAGE*USERS*AND*GROUPS, READ*USERS*AND*GROUPS, VIEW*AUDITS, VIEW*USER*AND*USER*GROUPS*AND*API_KEYS
229
+ """
230
+ return pulumi.get(self, "account_permissions")
231
+
232
+ @property
233
+ @pulumi.getter(name="appPermissions")
234
+ def app_permissions(self) -> pulumi.Output[Optional['outputs.UserGroupPermissionsAppPermissions']]:
235
+ """
236
+ Application specific permissions
237
+ """
238
+ return pulumi.get(self, "app_permissions")
239
+
240
+ @property
241
+ @pulumi.getter(name="userGroupId")
242
+ def user_group_id(self) -> pulumi.Output[str]:
243
+ """
244
+ Unique identifier of the user group.
245
+ """
246
+ return pulumi.get(self, "user_group_id")
247
+
@@ -0,0 +1,336 @@
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__ = ['YamlConfigArgs', 'YamlConfig']
18
+
19
+ @pulumi.input_type
20
+ class YamlConfigArgs:
21
+ def __init__(__self__, *,
22
+ content: pulumi.Input[str],
23
+ path: pulumi.Input[str],
24
+ app_id: Optional[pulumi.Input[str]] = None):
25
+ """
26
+ The set of arguments for constructing a YamlConfig resource.
27
+ :param pulumi.Input[str] content: The raw YAML configuration.
28
+ :param pulumi.Input[str] path: The path of the resource.
29
+ :param pulumi.Input[str] app_id: The id of the application. This is required for all resources except global ones.
30
+ """
31
+ pulumi.set(__self__, "content", content)
32
+ pulumi.set(__self__, "path", path)
33
+ if app_id is not None:
34
+ pulumi.set(__self__, "app_id", app_id)
35
+
36
+ @property
37
+ @pulumi.getter
38
+ def content(self) -> pulumi.Input[str]:
39
+ """
40
+ The raw YAML configuration.
41
+ """
42
+ return pulumi.get(self, "content")
43
+
44
+ @content.setter
45
+ def content(self, value: pulumi.Input[str]):
46
+ pulumi.set(self, "content", value)
47
+
48
+ @property
49
+ @pulumi.getter
50
+ def path(self) -> pulumi.Input[str]:
51
+ """
52
+ The path of the resource.
53
+ """
54
+ return pulumi.get(self, "path")
55
+
56
+ @path.setter
57
+ def path(self, value: pulumi.Input[str]):
58
+ pulumi.set(self, "path", value)
59
+
60
+ @property
61
+ @pulumi.getter(name="appId")
62
+ def app_id(self) -> Optional[pulumi.Input[str]]:
63
+ """
64
+ The id of the application. This is required for all resources except global ones.
65
+ """
66
+ return pulumi.get(self, "app_id")
67
+
68
+ @app_id.setter
69
+ def app_id(self, value: Optional[pulumi.Input[str]]):
70
+ pulumi.set(self, "app_id", value)
71
+
72
+
73
+ @pulumi.input_type
74
+ class _YamlConfigState:
75
+ def __init__(__self__, *,
76
+ app_id: Optional[pulumi.Input[str]] = None,
77
+ content: Optional[pulumi.Input[str]] = None,
78
+ name: Optional[pulumi.Input[str]] = None,
79
+ path: Optional[pulumi.Input[str]] = None):
80
+ """
81
+ Input properties used for looking up and filtering YamlConfig resources.
82
+ :param pulumi.Input[str] app_id: The id of the application. This is required for all resources except global ones.
83
+ :param pulumi.Input[str] content: The raw YAML configuration.
84
+ :param pulumi.Input[str] name: The name of the resource.
85
+ :param pulumi.Input[str] path: The path of the resource.
86
+ """
87
+ if app_id is not None:
88
+ pulumi.set(__self__, "app_id", app_id)
89
+ if content is not None:
90
+ pulumi.set(__self__, "content", content)
91
+ if name is not None:
92
+ pulumi.set(__self__, "name", name)
93
+ if path is not None:
94
+ pulumi.set(__self__, "path", path)
95
+
96
+ @property
97
+ @pulumi.getter(name="appId")
98
+ def app_id(self) -> Optional[pulumi.Input[str]]:
99
+ """
100
+ The id of the application. This is required for all resources except global ones.
101
+ """
102
+ return pulumi.get(self, "app_id")
103
+
104
+ @app_id.setter
105
+ def app_id(self, value: Optional[pulumi.Input[str]]):
106
+ pulumi.set(self, "app_id", value)
107
+
108
+ @property
109
+ @pulumi.getter
110
+ def content(self) -> Optional[pulumi.Input[str]]:
111
+ """
112
+ The raw YAML configuration.
113
+ """
114
+ return pulumi.get(self, "content")
115
+
116
+ @content.setter
117
+ def content(self, value: Optional[pulumi.Input[str]]):
118
+ pulumi.set(self, "content", value)
119
+
120
+ @property
121
+ @pulumi.getter
122
+ def name(self) -> Optional[pulumi.Input[str]]:
123
+ """
124
+ The name of the resource.
125
+ """
126
+ return pulumi.get(self, "name")
127
+
128
+ @name.setter
129
+ def name(self, value: Optional[pulumi.Input[str]]):
130
+ pulumi.set(self, "name", value)
131
+
132
+ @property
133
+ @pulumi.getter
134
+ def path(self) -> Optional[pulumi.Input[str]]:
135
+ """
136
+ The path of the resource.
137
+ """
138
+ return pulumi.get(self, "path")
139
+
140
+ @path.setter
141
+ def path(self, value: Optional[pulumi.Input[str]]):
142
+ pulumi.set(self, "path", value)
143
+
144
+
145
+ class YamlConfig(pulumi.CustomResource):
146
+ @overload
147
+ def __init__(__self__,
148
+ resource_name: str,
149
+ opts: Optional[pulumi.ResourceOptions] = None,
150
+ app_id: Optional[pulumi.Input[str]] = None,
151
+ content: Optional[pulumi.Input[str]] = None,
152
+ path: Optional[pulumi.Input[str]] = None,
153
+ __props__=None):
154
+ """
155
+ Resource for creating a raw YAML configuration in Harness. Note: This works for all objects EXCEPT application objects. This resource uses the config-as-code API's. When updating the `name` or `path` of this resource you should typically also set the `create_before_destroy = true` lifecycle setting.
156
+
157
+ ## Example Usage
158
+
159
+ ```python
160
+ import pulumi
161
+ import pulumi_harness as harness
162
+
163
+ test = harness.YamlConfig("test",
164
+ path="Setup/Cloud Providers/Kubernetes.yaml",
165
+ content=\"\"\"harnessApiVersion: '1.0'
166
+ type: KUBERNETES_CLUSTER
167
+ delegateSelectors:
168
+ - k8s
169
+ skipValidation: true
170
+ useKubernetesDelegate: true
171
+ \"\"\")
172
+ ```
173
+
174
+ ## Import
175
+
176
+ Importing a global config only using the yaml path
177
+
178
+ ```sh
179
+ $ pulumi import harness:index/yamlConfig:YamlConfig k8s_cloudprovider "Setup/Cloud Providers/kubernetes.yaml"
180
+ ```
181
+
182
+ Importing a service which requires both the application id and the yaml path.
183
+
184
+ ```sh
185
+ $ pulumi import harness:index/yamlConfig:YamlConfig k8s_cloudprovider "Setup/Applications/MyApp/Services/MyService/Index.yaml:<APPLICATION_ID>"
186
+ ```
187
+
188
+ :param str resource_name: The name of the resource.
189
+ :param pulumi.ResourceOptions opts: Options for the resource.
190
+ :param pulumi.Input[str] app_id: The id of the application. This is required for all resources except global ones.
191
+ :param pulumi.Input[str] content: The raw YAML configuration.
192
+ :param pulumi.Input[str] path: The path of the resource.
193
+ """
194
+ ...
195
+ @overload
196
+ def __init__(__self__,
197
+ resource_name: str,
198
+ args: YamlConfigArgs,
199
+ opts: Optional[pulumi.ResourceOptions] = None):
200
+ """
201
+ Resource for creating a raw YAML configuration in Harness. Note: This works for all objects EXCEPT application objects. This resource uses the config-as-code API's. When updating the `name` or `path` of this resource you should typically also set the `create_before_destroy = true` lifecycle setting.
202
+
203
+ ## Example Usage
204
+
205
+ ```python
206
+ import pulumi
207
+ import pulumi_harness as harness
208
+
209
+ test = harness.YamlConfig("test",
210
+ path="Setup/Cloud Providers/Kubernetes.yaml",
211
+ content=\"\"\"harnessApiVersion: '1.0'
212
+ type: KUBERNETES_CLUSTER
213
+ delegateSelectors:
214
+ - k8s
215
+ skipValidation: true
216
+ useKubernetesDelegate: true
217
+ \"\"\")
218
+ ```
219
+
220
+ ## Import
221
+
222
+ Importing a global config only using the yaml path
223
+
224
+ ```sh
225
+ $ pulumi import harness:index/yamlConfig:YamlConfig k8s_cloudprovider "Setup/Cloud Providers/kubernetes.yaml"
226
+ ```
227
+
228
+ Importing a service which requires both the application id and the yaml path.
229
+
230
+ ```sh
231
+ $ pulumi import harness:index/yamlConfig:YamlConfig k8s_cloudprovider "Setup/Applications/MyApp/Services/MyService/Index.yaml:<APPLICATION_ID>"
232
+ ```
233
+
234
+ :param str resource_name: The name of the resource.
235
+ :param YamlConfigArgs args: The arguments to use to populate this resource's properties.
236
+ :param pulumi.ResourceOptions opts: Options for the resource.
237
+ """
238
+ ...
239
+ def __init__(__self__, resource_name: str, *args, **kwargs):
240
+ resource_args, opts = _utilities.get_resource_args_opts(YamlConfigArgs, pulumi.ResourceOptions, *args, **kwargs)
241
+ if resource_args is not None:
242
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
243
+ else:
244
+ __self__._internal_init(resource_name, *args, **kwargs)
245
+
246
+ def _internal_init(__self__,
247
+ resource_name: str,
248
+ opts: Optional[pulumi.ResourceOptions] = None,
249
+ app_id: Optional[pulumi.Input[str]] = None,
250
+ content: Optional[pulumi.Input[str]] = None,
251
+ path: Optional[pulumi.Input[str]] = None,
252
+ __props__=None):
253
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
254
+ if not isinstance(opts, pulumi.ResourceOptions):
255
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
256
+ if opts.id is None:
257
+ if __props__ is not None:
258
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
259
+ __props__ = YamlConfigArgs.__new__(YamlConfigArgs)
260
+
261
+ __props__.__dict__["app_id"] = app_id
262
+ if content is None and not opts.urn:
263
+ raise TypeError("Missing required property 'content'")
264
+ __props__.__dict__["content"] = content
265
+ if path is None and not opts.urn:
266
+ raise TypeError("Missing required property 'path'")
267
+ __props__.__dict__["path"] = path
268
+ __props__.__dict__["name"] = None
269
+ super(YamlConfig, __self__).__init__(
270
+ 'harness:index/yamlConfig:YamlConfig',
271
+ resource_name,
272
+ __props__,
273
+ opts)
274
+
275
+ @staticmethod
276
+ def get(resource_name: str,
277
+ id: pulumi.Input[str],
278
+ opts: Optional[pulumi.ResourceOptions] = None,
279
+ app_id: Optional[pulumi.Input[str]] = None,
280
+ content: Optional[pulumi.Input[str]] = None,
281
+ name: Optional[pulumi.Input[str]] = None,
282
+ path: Optional[pulumi.Input[str]] = None) -> 'YamlConfig':
283
+ """
284
+ Get an existing YamlConfig resource's state with the given name, id, and optional extra
285
+ properties used to qualify the lookup.
286
+
287
+ :param str resource_name: The unique name of the resulting resource.
288
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
289
+ :param pulumi.ResourceOptions opts: Options for the resource.
290
+ :param pulumi.Input[str] app_id: The id of the application. This is required for all resources except global ones.
291
+ :param pulumi.Input[str] content: The raw YAML configuration.
292
+ :param pulumi.Input[str] name: The name of the resource.
293
+ :param pulumi.Input[str] path: The path of the resource.
294
+ """
295
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
296
+
297
+ __props__ = _YamlConfigState.__new__(_YamlConfigState)
298
+
299
+ __props__.__dict__["app_id"] = app_id
300
+ __props__.__dict__["content"] = content
301
+ __props__.__dict__["name"] = name
302
+ __props__.__dict__["path"] = path
303
+ return YamlConfig(resource_name, opts=opts, __props__=__props__)
304
+
305
+ @property
306
+ @pulumi.getter(name="appId")
307
+ def app_id(self) -> pulumi.Output[Optional[str]]:
308
+ """
309
+ The id of the application. This is required for all resources except global ones.
310
+ """
311
+ return pulumi.get(self, "app_id")
312
+
313
+ @property
314
+ @pulumi.getter
315
+ def content(self) -> pulumi.Output[str]:
316
+ """
317
+ The raw YAML configuration.
318
+ """
319
+ return pulumi.get(self, "content")
320
+
321
+ @property
322
+ @pulumi.getter
323
+ def name(self) -> pulumi.Output[str]:
324
+ """
325
+ The name of the resource.
326
+ """
327
+ return pulumi.get(self, "name")
328
+
329
+ @property
330
+ @pulumi.getter
331
+ def path(self) -> pulumi.Output[str]:
332
+ """
333
+ The path of the resource.
334
+ """
335
+ return pulumi.get(self, "path")
336
+
@@ -0,0 +1,69 @@
1
+ Metadata-Version: 2.2
2
+ Name: pulumi_harness
3
+ Version: 0.5.0a1736833425
4
+ Summary: A Pulumi package for creating and managing Harness resources.
5
+ License: Apache-2.0
6
+ Project-URL: Homepage, https://www.pulumi.com
7
+ Project-URL: Repository, https://github.com/pulumi/pulumi-harness
8
+ Keywords: pulumi,harness
9
+ Requires-Python: >=3.9
10
+ Description-Content-Type: text/markdown
11
+ Requires-Dist: parver>=0.2.1
12
+ Requires-Dist: pulumi<4.0.0,>=3.142.0
13
+ Requires-Dist: semver>=2.8.1
14
+ Requires-Dist: typing-extensions>=4.11; python_version < "3.11"
15
+
16
+
17
+ # Harness Resource Provider
18
+
19
+ The Harness resource provider for Pulumi lets you create resources in [Harness](https://www.harness.io). To use
20
+ this package, please [install the Pulumi CLI first](https://pulumi.com/).
21
+
22
+ ## Installing
23
+
24
+ This package is available in many languages in standard packaging formats.
25
+
26
+ ### Node.js (Java/TypeScript)
27
+
28
+ To use from JavaScript or TypeScript in Node.js, install using either `npm`:
29
+
30
+ ```
31
+ $ npm install @pulumi/harness
32
+ ```
33
+
34
+ or `yarn`:
35
+
36
+ ```
37
+ $ yarn add @pulumi/harness
38
+ ```
39
+
40
+ ### Python
41
+
42
+ To use from Python, install using `pip`:
43
+
44
+ ```
45
+ $ pip install pulumi-harness
46
+ ```
47
+
48
+ ### Go
49
+
50
+ To use from Go, use `go get` to grab the latest version of the library
51
+
52
+ ```
53
+ $ go get github.com/pulumi/pulumi-harness/sdk/go/...
54
+ ```
55
+
56
+ ### .NET
57
+
58
+ To use from Dotnet, use `dotnet add package` to install into your project. You must specify the version if it is a pre-release version.
59
+
60
+
61
+ ```
62
+ $ dotnet add package Pulumi.Harness
63
+ ```
64
+
65
+ ## Reference
66
+
67
+ See the Pulumi registry for API docs:
68
+
69
+ https://www.pulumi.com/registry/packages/Harness/api-docs/