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,937 @@
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__ = ['InfrastructureArgs', 'Infrastructure']
20
+
21
+ @pulumi.input_type
22
+ class InfrastructureArgs:
23
+ def __init__(__self__, *,
24
+ env_id: pulumi.Input[str],
25
+ identifier: pulumi.Input[str],
26
+ deployment_type: Optional[pulumi.Input[str]] = None,
27
+ description: Optional[pulumi.Input[str]] = None,
28
+ force_delete: Optional[pulumi.Input[str]] = None,
29
+ git_details: Optional[pulumi.Input['InfrastructureGitDetailsArgs']] = None,
30
+ name: Optional[pulumi.Input[str]] = None,
31
+ org_id: Optional[pulumi.Input[str]] = None,
32
+ project_id: Optional[pulumi.Input[str]] = None,
33
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
34
+ type: Optional[pulumi.Input[str]] = None,
35
+ yaml: Optional[pulumi.Input[str]] = None):
36
+ """
37
+ The set of arguments for constructing a Infrastructure resource.
38
+ :param pulumi.Input[str] env_id: Environment Identifier.
39
+ :param pulumi.Input[str] identifier: Unique identifier of the resource.
40
+ :param pulumi.Input[str] deployment_type: Infrastructure deployment type. Valid values are Kubernetes, NativeHelm, Ssh, WinRm, ServerlessAwsLambda, AzureWebApp, Custom, ECS.
41
+ :param pulumi.Input[str] description: Description of the resource.
42
+ :param pulumi.Input[str] force_delete: Enable this flag for force deletion of infrastructure
43
+ :param pulumi.Input['InfrastructureGitDetailsArgs'] git_details: Contains Git Information for remote entities from Git for Create/Update/Import
44
+ :param pulumi.Input[str] name: Name of the resource.
45
+ :param pulumi.Input[str] org_id: Unique identifier of the organization.
46
+ :param pulumi.Input[str] project_id: Unique identifier of the project.
47
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags to associate with the resource.
48
+ :param pulumi.Input[str] type: Type of Infrastructure. Valid values are KubernetesDirect, KubernetesGcp, ServerlessAwsLambda, Pdc, KubernetesAzure, SshWinRmAzure, SshWinRmAws, AzureWebApp, ECS, GitOps, CustomDeployment, TAS, KubernetesRancher, AWS_SAM.
49
+ :param pulumi.Input[str] yaml: Infrastructure YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.
50
+ """
51
+ pulumi.set(__self__, "env_id", env_id)
52
+ pulumi.set(__self__, "identifier", identifier)
53
+ if deployment_type is not None:
54
+ pulumi.set(__self__, "deployment_type", deployment_type)
55
+ if description is not None:
56
+ pulumi.set(__self__, "description", description)
57
+ if force_delete is not None:
58
+ pulumi.set(__self__, "force_delete", force_delete)
59
+ if git_details is not None:
60
+ pulumi.set(__self__, "git_details", git_details)
61
+ if name is not None:
62
+ pulumi.set(__self__, "name", name)
63
+ if org_id is not None:
64
+ pulumi.set(__self__, "org_id", org_id)
65
+ if project_id is not None:
66
+ pulumi.set(__self__, "project_id", project_id)
67
+ if tags is not None:
68
+ pulumi.set(__self__, "tags", tags)
69
+ if type is not None:
70
+ pulumi.set(__self__, "type", type)
71
+ if yaml is not None:
72
+ pulumi.set(__self__, "yaml", yaml)
73
+
74
+ @property
75
+ @pulumi.getter(name="envId")
76
+ def env_id(self) -> pulumi.Input[str]:
77
+ """
78
+ Environment Identifier.
79
+ """
80
+ return pulumi.get(self, "env_id")
81
+
82
+ @env_id.setter
83
+ def env_id(self, value: pulumi.Input[str]):
84
+ pulumi.set(self, "env_id", value)
85
+
86
+ @property
87
+ @pulumi.getter
88
+ def identifier(self) -> pulumi.Input[str]:
89
+ """
90
+ Unique identifier of the resource.
91
+ """
92
+ return pulumi.get(self, "identifier")
93
+
94
+ @identifier.setter
95
+ def identifier(self, value: pulumi.Input[str]):
96
+ pulumi.set(self, "identifier", value)
97
+
98
+ @property
99
+ @pulumi.getter(name="deploymentType")
100
+ def deployment_type(self) -> Optional[pulumi.Input[str]]:
101
+ """
102
+ Infrastructure deployment type. Valid values are Kubernetes, NativeHelm, Ssh, WinRm, ServerlessAwsLambda, AzureWebApp, Custom, ECS.
103
+ """
104
+ return pulumi.get(self, "deployment_type")
105
+
106
+ @deployment_type.setter
107
+ def deployment_type(self, value: Optional[pulumi.Input[str]]):
108
+ pulumi.set(self, "deployment_type", value)
109
+
110
+ @property
111
+ @pulumi.getter
112
+ def description(self) -> Optional[pulumi.Input[str]]:
113
+ """
114
+ Description of the resource.
115
+ """
116
+ return pulumi.get(self, "description")
117
+
118
+ @description.setter
119
+ def description(self, value: Optional[pulumi.Input[str]]):
120
+ pulumi.set(self, "description", value)
121
+
122
+ @property
123
+ @pulumi.getter(name="forceDelete")
124
+ def force_delete(self) -> Optional[pulumi.Input[str]]:
125
+ """
126
+ Enable this flag for force deletion of infrastructure
127
+ """
128
+ return pulumi.get(self, "force_delete")
129
+
130
+ @force_delete.setter
131
+ def force_delete(self, value: Optional[pulumi.Input[str]]):
132
+ pulumi.set(self, "force_delete", value)
133
+
134
+ @property
135
+ @pulumi.getter(name="gitDetails")
136
+ def git_details(self) -> Optional[pulumi.Input['InfrastructureGitDetailsArgs']]:
137
+ """
138
+ Contains Git Information for remote entities from Git for Create/Update/Import
139
+ """
140
+ return pulumi.get(self, "git_details")
141
+
142
+ @git_details.setter
143
+ def git_details(self, value: Optional[pulumi.Input['InfrastructureGitDetailsArgs']]):
144
+ pulumi.set(self, "git_details", value)
145
+
146
+ @property
147
+ @pulumi.getter
148
+ def name(self) -> Optional[pulumi.Input[str]]:
149
+ """
150
+ Name of the resource.
151
+ """
152
+ return pulumi.get(self, "name")
153
+
154
+ @name.setter
155
+ def name(self, value: Optional[pulumi.Input[str]]):
156
+ pulumi.set(self, "name", value)
157
+
158
+ @property
159
+ @pulumi.getter(name="orgId")
160
+ def org_id(self) -> Optional[pulumi.Input[str]]:
161
+ """
162
+ Unique identifier of the organization.
163
+ """
164
+ return pulumi.get(self, "org_id")
165
+
166
+ @org_id.setter
167
+ def org_id(self, value: Optional[pulumi.Input[str]]):
168
+ pulumi.set(self, "org_id", value)
169
+
170
+ @property
171
+ @pulumi.getter(name="projectId")
172
+ def project_id(self) -> Optional[pulumi.Input[str]]:
173
+ """
174
+ Unique identifier of the project.
175
+ """
176
+ return pulumi.get(self, "project_id")
177
+
178
+ @project_id.setter
179
+ def project_id(self, value: Optional[pulumi.Input[str]]):
180
+ pulumi.set(self, "project_id", value)
181
+
182
+ @property
183
+ @pulumi.getter
184
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
185
+ """
186
+ Tags to associate with the resource.
187
+ """
188
+ return pulumi.get(self, "tags")
189
+
190
+ @tags.setter
191
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
192
+ pulumi.set(self, "tags", value)
193
+
194
+ @property
195
+ @pulumi.getter
196
+ def type(self) -> Optional[pulumi.Input[str]]:
197
+ """
198
+ Type of Infrastructure. Valid values are KubernetesDirect, KubernetesGcp, ServerlessAwsLambda, Pdc, KubernetesAzure, SshWinRmAzure, SshWinRmAws, AzureWebApp, ECS, GitOps, CustomDeployment, TAS, KubernetesRancher, AWS_SAM.
199
+ """
200
+ return pulumi.get(self, "type")
201
+
202
+ @type.setter
203
+ def type(self, value: Optional[pulumi.Input[str]]):
204
+ pulumi.set(self, "type", value)
205
+
206
+ @property
207
+ @pulumi.getter
208
+ def yaml(self) -> Optional[pulumi.Input[str]]:
209
+ """
210
+ Infrastructure YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.
211
+ """
212
+ return pulumi.get(self, "yaml")
213
+
214
+ @yaml.setter
215
+ def yaml(self, value: Optional[pulumi.Input[str]]):
216
+ pulumi.set(self, "yaml", value)
217
+
218
+
219
+ @pulumi.input_type
220
+ class _InfrastructureState:
221
+ def __init__(__self__, *,
222
+ deployment_type: Optional[pulumi.Input[str]] = None,
223
+ description: Optional[pulumi.Input[str]] = None,
224
+ env_id: Optional[pulumi.Input[str]] = None,
225
+ force_delete: Optional[pulumi.Input[str]] = None,
226
+ git_details: Optional[pulumi.Input['InfrastructureGitDetailsArgs']] = None,
227
+ identifier: Optional[pulumi.Input[str]] = None,
228
+ name: Optional[pulumi.Input[str]] = None,
229
+ org_id: Optional[pulumi.Input[str]] = None,
230
+ project_id: Optional[pulumi.Input[str]] = None,
231
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
232
+ type: Optional[pulumi.Input[str]] = None,
233
+ yaml: Optional[pulumi.Input[str]] = None):
234
+ """
235
+ Input properties used for looking up and filtering Infrastructure resources.
236
+ :param pulumi.Input[str] deployment_type: Infrastructure deployment type. Valid values are Kubernetes, NativeHelm, Ssh, WinRm, ServerlessAwsLambda, AzureWebApp, Custom, ECS.
237
+ :param pulumi.Input[str] description: Description of the resource.
238
+ :param pulumi.Input[str] env_id: Environment Identifier.
239
+ :param pulumi.Input[str] force_delete: Enable this flag for force deletion of infrastructure
240
+ :param pulumi.Input['InfrastructureGitDetailsArgs'] git_details: Contains Git Information for remote entities from Git for Create/Update/Import
241
+ :param pulumi.Input[str] identifier: Unique identifier of the resource.
242
+ :param pulumi.Input[str] name: Name of the resource.
243
+ :param pulumi.Input[str] org_id: Unique identifier of the organization.
244
+ :param pulumi.Input[str] project_id: Unique identifier of the project.
245
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags to associate with the resource.
246
+ :param pulumi.Input[str] type: Type of Infrastructure. Valid values are KubernetesDirect, KubernetesGcp, ServerlessAwsLambda, Pdc, KubernetesAzure, SshWinRmAzure, SshWinRmAws, AzureWebApp, ECS, GitOps, CustomDeployment, TAS, KubernetesRancher, AWS_SAM.
247
+ :param pulumi.Input[str] yaml: Infrastructure YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.
248
+ """
249
+ if deployment_type is not None:
250
+ pulumi.set(__self__, "deployment_type", deployment_type)
251
+ if description is not None:
252
+ pulumi.set(__self__, "description", description)
253
+ if env_id is not None:
254
+ pulumi.set(__self__, "env_id", env_id)
255
+ if force_delete is not None:
256
+ pulumi.set(__self__, "force_delete", force_delete)
257
+ if git_details is not None:
258
+ pulumi.set(__self__, "git_details", git_details)
259
+ if identifier is not None:
260
+ pulumi.set(__self__, "identifier", identifier)
261
+ if name is not None:
262
+ pulumi.set(__self__, "name", name)
263
+ if org_id is not None:
264
+ pulumi.set(__self__, "org_id", org_id)
265
+ if project_id is not None:
266
+ pulumi.set(__self__, "project_id", project_id)
267
+ if tags is not None:
268
+ pulumi.set(__self__, "tags", tags)
269
+ if type is not None:
270
+ pulumi.set(__self__, "type", type)
271
+ if yaml is not None:
272
+ pulumi.set(__self__, "yaml", yaml)
273
+
274
+ @property
275
+ @pulumi.getter(name="deploymentType")
276
+ def deployment_type(self) -> Optional[pulumi.Input[str]]:
277
+ """
278
+ Infrastructure deployment type. Valid values are Kubernetes, NativeHelm, Ssh, WinRm, ServerlessAwsLambda, AzureWebApp, Custom, ECS.
279
+ """
280
+ return pulumi.get(self, "deployment_type")
281
+
282
+ @deployment_type.setter
283
+ def deployment_type(self, value: Optional[pulumi.Input[str]]):
284
+ pulumi.set(self, "deployment_type", value)
285
+
286
+ @property
287
+ @pulumi.getter
288
+ def description(self) -> Optional[pulumi.Input[str]]:
289
+ """
290
+ Description of the resource.
291
+ """
292
+ return pulumi.get(self, "description")
293
+
294
+ @description.setter
295
+ def description(self, value: Optional[pulumi.Input[str]]):
296
+ pulumi.set(self, "description", value)
297
+
298
+ @property
299
+ @pulumi.getter(name="envId")
300
+ def env_id(self) -> Optional[pulumi.Input[str]]:
301
+ """
302
+ Environment Identifier.
303
+ """
304
+ return pulumi.get(self, "env_id")
305
+
306
+ @env_id.setter
307
+ def env_id(self, value: Optional[pulumi.Input[str]]):
308
+ pulumi.set(self, "env_id", value)
309
+
310
+ @property
311
+ @pulumi.getter(name="forceDelete")
312
+ def force_delete(self) -> Optional[pulumi.Input[str]]:
313
+ """
314
+ Enable this flag for force deletion of infrastructure
315
+ """
316
+ return pulumi.get(self, "force_delete")
317
+
318
+ @force_delete.setter
319
+ def force_delete(self, value: Optional[pulumi.Input[str]]):
320
+ pulumi.set(self, "force_delete", value)
321
+
322
+ @property
323
+ @pulumi.getter(name="gitDetails")
324
+ def git_details(self) -> Optional[pulumi.Input['InfrastructureGitDetailsArgs']]:
325
+ """
326
+ Contains Git Information for remote entities from Git for Create/Update/Import
327
+ """
328
+ return pulumi.get(self, "git_details")
329
+
330
+ @git_details.setter
331
+ def git_details(self, value: Optional[pulumi.Input['InfrastructureGitDetailsArgs']]):
332
+ pulumi.set(self, "git_details", value)
333
+
334
+ @property
335
+ @pulumi.getter
336
+ def identifier(self) -> Optional[pulumi.Input[str]]:
337
+ """
338
+ Unique identifier of the resource.
339
+ """
340
+ return pulumi.get(self, "identifier")
341
+
342
+ @identifier.setter
343
+ def identifier(self, value: Optional[pulumi.Input[str]]):
344
+ pulumi.set(self, "identifier", value)
345
+
346
+ @property
347
+ @pulumi.getter
348
+ def name(self) -> Optional[pulumi.Input[str]]:
349
+ """
350
+ Name of the resource.
351
+ """
352
+ return pulumi.get(self, "name")
353
+
354
+ @name.setter
355
+ def name(self, value: Optional[pulumi.Input[str]]):
356
+ pulumi.set(self, "name", value)
357
+
358
+ @property
359
+ @pulumi.getter(name="orgId")
360
+ def org_id(self) -> Optional[pulumi.Input[str]]:
361
+ """
362
+ Unique identifier of the organization.
363
+ """
364
+ return pulumi.get(self, "org_id")
365
+
366
+ @org_id.setter
367
+ def org_id(self, value: Optional[pulumi.Input[str]]):
368
+ pulumi.set(self, "org_id", value)
369
+
370
+ @property
371
+ @pulumi.getter(name="projectId")
372
+ def project_id(self) -> Optional[pulumi.Input[str]]:
373
+ """
374
+ Unique identifier of the project.
375
+ """
376
+ return pulumi.get(self, "project_id")
377
+
378
+ @project_id.setter
379
+ def project_id(self, value: Optional[pulumi.Input[str]]):
380
+ pulumi.set(self, "project_id", value)
381
+
382
+ @property
383
+ @pulumi.getter
384
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
385
+ """
386
+ Tags to associate with the resource.
387
+ """
388
+ return pulumi.get(self, "tags")
389
+
390
+ @tags.setter
391
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
392
+ pulumi.set(self, "tags", value)
393
+
394
+ @property
395
+ @pulumi.getter
396
+ def type(self) -> Optional[pulumi.Input[str]]:
397
+ """
398
+ Type of Infrastructure. Valid values are KubernetesDirect, KubernetesGcp, ServerlessAwsLambda, Pdc, KubernetesAzure, SshWinRmAzure, SshWinRmAws, AzureWebApp, ECS, GitOps, CustomDeployment, TAS, KubernetesRancher, AWS_SAM.
399
+ """
400
+ return pulumi.get(self, "type")
401
+
402
+ @type.setter
403
+ def type(self, value: Optional[pulumi.Input[str]]):
404
+ pulumi.set(self, "type", value)
405
+
406
+ @property
407
+ @pulumi.getter
408
+ def yaml(self) -> Optional[pulumi.Input[str]]:
409
+ """
410
+ Infrastructure YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.
411
+ """
412
+ return pulumi.get(self, "yaml")
413
+
414
+ @yaml.setter
415
+ def yaml(self, value: Optional[pulumi.Input[str]]):
416
+ pulumi.set(self, "yaml", value)
417
+
418
+
419
+ class Infrastructure(pulumi.CustomResource):
420
+ @overload
421
+ def __init__(__self__,
422
+ resource_name: str,
423
+ opts: Optional[pulumi.ResourceOptions] = None,
424
+ deployment_type: Optional[pulumi.Input[str]] = None,
425
+ description: Optional[pulumi.Input[str]] = None,
426
+ env_id: Optional[pulumi.Input[str]] = None,
427
+ force_delete: Optional[pulumi.Input[str]] = None,
428
+ git_details: Optional[pulumi.Input[Union['InfrastructureGitDetailsArgs', 'InfrastructureGitDetailsArgsDict']]] = None,
429
+ identifier: Optional[pulumi.Input[str]] = None,
430
+ name: Optional[pulumi.Input[str]] = None,
431
+ org_id: Optional[pulumi.Input[str]] = None,
432
+ project_id: Optional[pulumi.Input[str]] = None,
433
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
434
+ type: Optional[pulumi.Input[str]] = None,
435
+ yaml: Optional[pulumi.Input[str]] = None,
436
+ __props__=None):
437
+ """
438
+ Resource for creating a Harness Infrastructure.
439
+ ## Example to create Infrastructure at different levels (Org, Project, Account)
440
+
441
+ ### Account Level
442
+ ```python
443
+ import pulumi
444
+ import pulumi_harness as harness
445
+
446
+ example = harness.platform.Infrastructure("example",
447
+ identifier="identifier",
448
+ name="name",
449
+ env_id="environmentIdentifier",
450
+ type="KubernetesDirect",
451
+ deployment_type="Kubernetes",
452
+ yaml=\"\"\"infrastructureDefinition:
453
+ name: name
454
+ identifier: identifier
455
+ description: ""
456
+ tags:
457
+ asda: ""
458
+ orgIdentifier: orgIdentifer
459
+ projectIdentifier: projectIdentifier
460
+ environmentRef: environmentIdentifier
461
+ deploymentType: Kubernetes
462
+ type: KubernetesDirect
463
+ spec:
464
+ connectorRef: account.gfgf
465
+ namespace: asdasdsa
466
+ releaseName: release-<+INFRA_KEY>
467
+ allowSimultaneousDeployments: false
468
+ \"\"\")
469
+ ```
470
+
471
+ ### Org Level
472
+ ```python
473
+ import pulumi
474
+ import pulumi_harness as harness
475
+
476
+ example = harness.platform.Infrastructure("example",
477
+ identifier="identifier",
478
+ name="name",
479
+ org_id="orgIdentifer",
480
+ env_id="environmentIdentifier",
481
+ type="KubernetesDirect",
482
+ deployment_type="Kubernetes",
483
+ yaml=\"\"\"infrastructureDefinition:
484
+ name: name
485
+ identifier: identifier
486
+ description: ""
487
+ tags:
488
+ asda: ""
489
+ orgIdentifier: orgIdentifer
490
+ projectIdentifier: projectIdentifier
491
+ environmentRef: environmentIdentifier
492
+ deploymentType: Kubernetes
493
+ type: KubernetesDirect
494
+ spec:
495
+ connectorRef: account.gfgf
496
+ namespace: asdasdsa
497
+ releaseName: release-<+INFRA_KEY>
498
+ allowSimultaneousDeployments: false
499
+ \"\"\")
500
+ ```
501
+
502
+ ### Project Level
503
+ ```python
504
+ import pulumi
505
+ import pulumi_harness as harness
506
+
507
+ example = harness.platform.Infrastructure("example",
508
+ identifier="identifier",
509
+ name="name",
510
+ org_id="orgIdentifer",
511
+ project_id="projectIdentifier",
512
+ env_id="environmentIdentifier",
513
+ type="KubernetesDirect",
514
+ deployment_type="Kubernetes",
515
+ yaml=\"\"\"infrastructureDefinition:
516
+ name: name
517
+ identifier: identifier
518
+ description: ""
519
+ tags:
520
+ asda: ""
521
+ orgIdentifier: orgIdentifer
522
+ projectIdentifier: projectIdentifier
523
+ environmentRef: environmentIdentifier
524
+ deploymentType: Kubernetes
525
+ type: KubernetesDirect
526
+ spec:
527
+ connectorRef: account.gfgf
528
+ namespace: asdasdsa
529
+ releaseName: release-<+INFRA_KEY>
530
+ allowSimultaneousDeployments: false
531
+ \"\"\")
532
+ ```
533
+
534
+ ### Importing Infrastructure From Git
535
+ ```python
536
+ import pulumi
537
+ import pulumi_harness as harness
538
+
539
+ test = harness.platform.Infrastructure("test",
540
+ identifier="identifier",
541
+ name="name",
542
+ env_id="env_id",
543
+ git_details={
544
+ "store_type": "REMOTE",
545
+ "connector_ref": "connector_ref",
546
+ "repo_name": "repo_name",
547
+ "file_path": "file_path",
548
+ "branch": "branch",
549
+ "import_from_git": True,
550
+ })
551
+ ```
552
+
553
+ ## Import
554
+
555
+ Import account level infrastructure
556
+
557
+ ```sh
558
+ $ pulumi import harness:platform/infrastructure:Infrastructure example <env_id>/<infrastructure_id>
559
+ ```
560
+
561
+ Import org level infrastructure
562
+
563
+ ```sh
564
+ $ pulumi import harness:platform/infrastructure:Infrastructure example <org_id>/<env_id>/<infrastructure_id>
565
+ ```
566
+
567
+ Import project level infrastructure
568
+
569
+ ```sh
570
+ $ pulumi import harness:platform/infrastructure:Infrastructure example <org_id>/<project_id>/<env_id>/<infrastructure_id>
571
+ ```
572
+
573
+ :param str resource_name: The name of the resource.
574
+ :param pulumi.ResourceOptions opts: Options for the resource.
575
+ :param pulumi.Input[str] deployment_type: Infrastructure deployment type. Valid values are Kubernetes, NativeHelm, Ssh, WinRm, ServerlessAwsLambda, AzureWebApp, Custom, ECS.
576
+ :param pulumi.Input[str] description: Description of the resource.
577
+ :param pulumi.Input[str] env_id: Environment Identifier.
578
+ :param pulumi.Input[str] force_delete: Enable this flag for force deletion of infrastructure
579
+ :param pulumi.Input[Union['InfrastructureGitDetailsArgs', 'InfrastructureGitDetailsArgsDict']] git_details: Contains Git Information for remote entities from Git for Create/Update/Import
580
+ :param pulumi.Input[str] identifier: Unique identifier of the resource.
581
+ :param pulumi.Input[str] name: Name of the resource.
582
+ :param pulumi.Input[str] org_id: Unique identifier of the organization.
583
+ :param pulumi.Input[str] project_id: Unique identifier of the project.
584
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags to associate with the resource.
585
+ :param pulumi.Input[str] type: Type of Infrastructure. Valid values are KubernetesDirect, KubernetesGcp, ServerlessAwsLambda, Pdc, KubernetesAzure, SshWinRmAzure, SshWinRmAws, AzureWebApp, ECS, GitOps, CustomDeployment, TAS, KubernetesRancher, AWS_SAM.
586
+ :param pulumi.Input[str] yaml: Infrastructure YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.
587
+ """
588
+ ...
589
+ @overload
590
+ def __init__(__self__,
591
+ resource_name: str,
592
+ args: InfrastructureArgs,
593
+ opts: Optional[pulumi.ResourceOptions] = None):
594
+ """
595
+ Resource for creating a Harness Infrastructure.
596
+ ## Example to create Infrastructure at different levels (Org, Project, Account)
597
+
598
+ ### Account Level
599
+ ```python
600
+ import pulumi
601
+ import pulumi_harness as harness
602
+
603
+ example = harness.platform.Infrastructure("example",
604
+ identifier="identifier",
605
+ name="name",
606
+ env_id="environmentIdentifier",
607
+ type="KubernetesDirect",
608
+ deployment_type="Kubernetes",
609
+ yaml=\"\"\"infrastructureDefinition:
610
+ name: name
611
+ identifier: identifier
612
+ description: ""
613
+ tags:
614
+ asda: ""
615
+ orgIdentifier: orgIdentifer
616
+ projectIdentifier: projectIdentifier
617
+ environmentRef: environmentIdentifier
618
+ deploymentType: Kubernetes
619
+ type: KubernetesDirect
620
+ spec:
621
+ connectorRef: account.gfgf
622
+ namespace: asdasdsa
623
+ releaseName: release-<+INFRA_KEY>
624
+ allowSimultaneousDeployments: false
625
+ \"\"\")
626
+ ```
627
+
628
+ ### Org Level
629
+ ```python
630
+ import pulumi
631
+ import pulumi_harness as harness
632
+
633
+ example = harness.platform.Infrastructure("example",
634
+ identifier="identifier",
635
+ name="name",
636
+ org_id="orgIdentifer",
637
+ env_id="environmentIdentifier",
638
+ type="KubernetesDirect",
639
+ deployment_type="Kubernetes",
640
+ yaml=\"\"\"infrastructureDefinition:
641
+ name: name
642
+ identifier: identifier
643
+ description: ""
644
+ tags:
645
+ asda: ""
646
+ orgIdentifier: orgIdentifer
647
+ projectIdentifier: projectIdentifier
648
+ environmentRef: environmentIdentifier
649
+ deploymentType: Kubernetes
650
+ type: KubernetesDirect
651
+ spec:
652
+ connectorRef: account.gfgf
653
+ namespace: asdasdsa
654
+ releaseName: release-<+INFRA_KEY>
655
+ allowSimultaneousDeployments: false
656
+ \"\"\")
657
+ ```
658
+
659
+ ### Project Level
660
+ ```python
661
+ import pulumi
662
+ import pulumi_harness as harness
663
+
664
+ example = harness.platform.Infrastructure("example",
665
+ identifier="identifier",
666
+ name="name",
667
+ org_id="orgIdentifer",
668
+ project_id="projectIdentifier",
669
+ env_id="environmentIdentifier",
670
+ type="KubernetesDirect",
671
+ deployment_type="Kubernetes",
672
+ yaml=\"\"\"infrastructureDefinition:
673
+ name: name
674
+ identifier: identifier
675
+ description: ""
676
+ tags:
677
+ asda: ""
678
+ orgIdentifier: orgIdentifer
679
+ projectIdentifier: projectIdentifier
680
+ environmentRef: environmentIdentifier
681
+ deploymentType: Kubernetes
682
+ type: KubernetesDirect
683
+ spec:
684
+ connectorRef: account.gfgf
685
+ namespace: asdasdsa
686
+ releaseName: release-<+INFRA_KEY>
687
+ allowSimultaneousDeployments: false
688
+ \"\"\")
689
+ ```
690
+
691
+ ### Importing Infrastructure From Git
692
+ ```python
693
+ import pulumi
694
+ import pulumi_harness as harness
695
+
696
+ test = harness.platform.Infrastructure("test",
697
+ identifier="identifier",
698
+ name="name",
699
+ env_id="env_id",
700
+ git_details={
701
+ "store_type": "REMOTE",
702
+ "connector_ref": "connector_ref",
703
+ "repo_name": "repo_name",
704
+ "file_path": "file_path",
705
+ "branch": "branch",
706
+ "import_from_git": True,
707
+ })
708
+ ```
709
+
710
+ ## Import
711
+
712
+ Import account level infrastructure
713
+
714
+ ```sh
715
+ $ pulumi import harness:platform/infrastructure:Infrastructure example <env_id>/<infrastructure_id>
716
+ ```
717
+
718
+ Import org level infrastructure
719
+
720
+ ```sh
721
+ $ pulumi import harness:platform/infrastructure:Infrastructure example <org_id>/<env_id>/<infrastructure_id>
722
+ ```
723
+
724
+ Import project level infrastructure
725
+
726
+ ```sh
727
+ $ pulumi import harness:platform/infrastructure:Infrastructure example <org_id>/<project_id>/<env_id>/<infrastructure_id>
728
+ ```
729
+
730
+ :param str resource_name: The name of the resource.
731
+ :param InfrastructureArgs args: The arguments to use to populate this resource's properties.
732
+ :param pulumi.ResourceOptions opts: Options for the resource.
733
+ """
734
+ ...
735
+ def __init__(__self__, resource_name: str, *args, **kwargs):
736
+ resource_args, opts = _utilities.get_resource_args_opts(InfrastructureArgs, pulumi.ResourceOptions, *args, **kwargs)
737
+ if resource_args is not None:
738
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
739
+ else:
740
+ __self__._internal_init(resource_name, *args, **kwargs)
741
+
742
+ def _internal_init(__self__,
743
+ resource_name: str,
744
+ opts: Optional[pulumi.ResourceOptions] = None,
745
+ deployment_type: Optional[pulumi.Input[str]] = None,
746
+ description: Optional[pulumi.Input[str]] = None,
747
+ env_id: Optional[pulumi.Input[str]] = None,
748
+ force_delete: Optional[pulumi.Input[str]] = None,
749
+ git_details: Optional[pulumi.Input[Union['InfrastructureGitDetailsArgs', 'InfrastructureGitDetailsArgsDict']]] = None,
750
+ identifier: Optional[pulumi.Input[str]] = None,
751
+ name: Optional[pulumi.Input[str]] = None,
752
+ org_id: Optional[pulumi.Input[str]] = None,
753
+ project_id: Optional[pulumi.Input[str]] = None,
754
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
755
+ type: Optional[pulumi.Input[str]] = None,
756
+ yaml: Optional[pulumi.Input[str]] = None,
757
+ __props__=None):
758
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
759
+ if not isinstance(opts, pulumi.ResourceOptions):
760
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
761
+ if opts.id is None:
762
+ if __props__ is not None:
763
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
764
+ __props__ = InfrastructureArgs.__new__(InfrastructureArgs)
765
+
766
+ __props__.__dict__["deployment_type"] = deployment_type
767
+ __props__.__dict__["description"] = description
768
+ if env_id is None and not opts.urn:
769
+ raise TypeError("Missing required property 'env_id'")
770
+ __props__.__dict__["env_id"] = env_id
771
+ __props__.__dict__["force_delete"] = force_delete
772
+ __props__.__dict__["git_details"] = git_details
773
+ if identifier is None and not opts.urn:
774
+ raise TypeError("Missing required property 'identifier'")
775
+ __props__.__dict__["identifier"] = identifier
776
+ __props__.__dict__["name"] = name
777
+ __props__.__dict__["org_id"] = org_id
778
+ __props__.__dict__["project_id"] = project_id
779
+ __props__.__dict__["tags"] = tags
780
+ __props__.__dict__["type"] = type
781
+ __props__.__dict__["yaml"] = yaml
782
+ super(Infrastructure, __self__).__init__(
783
+ 'harness:platform/infrastructure:Infrastructure',
784
+ resource_name,
785
+ __props__,
786
+ opts)
787
+
788
+ @staticmethod
789
+ def get(resource_name: str,
790
+ id: pulumi.Input[str],
791
+ opts: Optional[pulumi.ResourceOptions] = None,
792
+ deployment_type: Optional[pulumi.Input[str]] = None,
793
+ description: Optional[pulumi.Input[str]] = None,
794
+ env_id: Optional[pulumi.Input[str]] = None,
795
+ force_delete: Optional[pulumi.Input[str]] = None,
796
+ git_details: Optional[pulumi.Input[Union['InfrastructureGitDetailsArgs', 'InfrastructureGitDetailsArgsDict']]] = None,
797
+ identifier: Optional[pulumi.Input[str]] = None,
798
+ name: Optional[pulumi.Input[str]] = None,
799
+ org_id: Optional[pulumi.Input[str]] = None,
800
+ project_id: Optional[pulumi.Input[str]] = None,
801
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
802
+ type: Optional[pulumi.Input[str]] = None,
803
+ yaml: Optional[pulumi.Input[str]] = None) -> 'Infrastructure':
804
+ """
805
+ Get an existing Infrastructure resource's state with the given name, id, and optional extra
806
+ properties used to qualify the lookup.
807
+
808
+ :param str resource_name: The unique name of the resulting resource.
809
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
810
+ :param pulumi.ResourceOptions opts: Options for the resource.
811
+ :param pulumi.Input[str] deployment_type: Infrastructure deployment type. Valid values are Kubernetes, NativeHelm, Ssh, WinRm, ServerlessAwsLambda, AzureWebApp, Custom, ECS.
812
+ :param pulumi.Input[str] description: Description of the resource.
813
+ :param pulumi.Input[str] env_id: Environment Identifier.
814
+ :param pulumi.Input[str] force_delete: Enable this flag for force deletion of infrastructure
815
+ :param pulumi.Input[Union['InfrastructureGitDetailsArgs', 'InfrastructureGitDetailsArgsDict']] git_details: Contains Git Information for remote entities from Git for Create/Update/Import
816
+ :param pulumi.Input[str] identifier: Unique identifier of the resource.
817
+ :param pulumi.Input[str] name: Name of the resource.
818
+ :param pulumi.Input[str] org_id: Unique identifier of the organization.
819
+ :param pulumi.Input[str] project_id: Unique identifier of the project.
820
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags to associate with the resource.
821
+ :param pulumi.Input[str] type: Type of Infrastructure. Valid values are KubernetesDirect, KubernetesGcp, ServerlessAwsLambda, Pdc, KubernetesAzure, SshWinRmAzure, SshWinRmAws, AzureWebApp, ECS, GitOps, CustomDeployment, TAS, KubernetesRancher, AWS_SAM.
822
+ :param pulumi.Input[str] yaml: Infrastructure YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.
823
+ """
824
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
825
+
826
+ __props__ = _InfrastructureState.__new__(_InfrastructureState)
827
+
828
+ __props__.__dict__["deployment_type"] = deployment_type
829
+ __props__.__dict__["description"] = description
830
+ __props__.__dict__["env_id"] = env_id
831
+ __props__.__dict__["force_delete"] = force_delete
832
+ __props__.__dict__["git_details"] = git_details
833
+ __props__.__dict__["identifier"] = identifier
834
+ __props__.__dict__["name"] = name
835
+ __props__.__dict__["org_id"] = org_id
836
+ __props__.__dict__["project_id"] = project_id
837
+ __props__.__dict__["tags"] = tags
838
+ __props__.__dict__["type"] = type
839
+ __props__.__dict__["yaml"] = yaml
840
+ return Infrastructure(resource_name, opts=opts, __props__=__props__)
841
+
842
+ @property
843
+ @pulumi.getter(name="deploymentType")
844
+ def deployment_type(self) -> pulumi.Output[str]:
845
+ """
846
+ Infrastructure deployment type. Valid values are Kubernetes, NativeHelm, Ssh, WinRm, ServerlessAwsLambda, AzureWebApp, Custom, ECS.
847
+ """
848
+ return pulumi.get(self, "deployment_type")
849
+
850
+ @property
851
+ @pulumi.getter
852
+ def description(self) -> pulumi.Output[Optional[str]]:
853
+ """
854
+ Description of the resource.
855
+ """
856
+ return pulumi.get(self, "description")
857
+
858
+ @property
859
+ @pulumi.getter(name="envId")
860
+ def env_id(self) -> pulumi.Output[str]:
861
+ """
862
+ Environment Identifier.
863
+ """
864
+ return pulumi.get(self, "env_id")
865
+
866
+ @property
867
+ @pulumi.getter(name="forceDelete")
868
+ def force_delete(self) -> pulumi.Output[str]:
869
+ """
870
+ Enable this flag for force deletion of infrastructure
871
+ """
872
+ return pulumi.get(self, "force_delete")
873
+
874
+ @property
875
+ @pulumi.getter(name="gitDetails")
876
+ def git_details(self) -> pulumi.Output['outputs.InfrastructureGitDetails']:
877
+ """
878
+ Contains Git Information for remote entities from Git for Create/Update/Import
879
+ """
880
+ return pulumi.get(self, "git_details")
881
+
882
+ @property
883
+ @pulumi.getter
884
+ def identifier(self) -> pulumi.Output[str]:
885
+ """
886
+ Unique identifier of the resource.
887
+ """
888
+ return pulumi.get(self, "identifier")
889
+
890
+ @property
891
+ @pulumi.getter
892
+ def name(self) -> pulumi.Output[str]:
893
+ """
894
+ Name of the resource.
895
+ """
896
+ return pulumi.get(self, "name")
897
+
898
+ @property
899
+ @pulumi.getter(name="orgId")
900
+ def org_id(self) -> pulumi.Output[Optional[str]]:
901
+ """
902
+ Unique identifier of the organization.
903
+ """
904
+ return pulumi.get(self, "org_id")
905
+
906
+ @property
907
+ @pulumi.getter(name="projectId")
908
+ def project_id(self) -> pulumi.Output[Optional[str]]:
909
+ """
910
+ Unique identifier of the project.
911
+ """
912
+ return pulumi.get(self, "project_id")
913
+
914
+ @property
915
+ @pulumi.getter
916
+ def tags(self) -> pulumi.Output[Sequence[str]]:
917
+ """
918
+ Tags to associate with the resource.
919
+ """
920
+ return pulumi.get(self, "tags")
921
+
922
+ @property
923
+ @pulumi.getter
924
+ def type(self) -> pulumi.Output[Optional[str]]:
925
+ """
926
+ Type of Infrastructure. Valid values are KubernetesDirect, KubernetesGcp, ServerlessAwsLambda, Pdc, KubernetesAzure, SshWinRmAzure, SshWinRmAws, AzureWebApp, ECS, GitOps, CustomDeployment, TAS, KubernetesRancher, AWS_SAM.
927
+ """
928
+ return pulumi.get(self, "type")
929
+
930
+ @property
931
+ @pulumi.getter
932
+ def yaml(self) -> pulumi.Output[Optional[str]]:
933
+ """
934
+ Infrastructure YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.
935
+ """
936
+ return pulumi.get(self, "yaml")
937
+