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,1246 @@
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__ = ['InfrastructureDefinitionArgs', 'InfrastructureDefinition']
20
+
21
+ @pulumi.input_type
22
+ class InfrastructureDefinitionArgs:
23
+ def __init__(__self__, *,
24
+ app_id: pulumi.Input[str],
25
+ cloud_provider_type: pulumi.Input[str],
26
+ deployment_type: pulumi.Input[str],
27
+ env_id: pulumi.Input[str],
28
+ aws_ami: Optional[pulumi.Input['InfrastructureDefinitionAwsAmiArgs']] = None,
29
+ aws_ecs: Optional[pulumi.Input['InfrastructureDefinitionAwsEcsArgs']] = None,
30
+ aws_lambda: Optional[pulumi.Input['InfrastructureDefinitionAwsLambdaArgs']] = None,
31
+ aws_ssh: Optional[pulumi.Input['InfrastructureDefinitionAwsSshArgs']] = None,
32
+ aws_winrm: Optional[pulumi.Input['InfrastructureDefinitionAwsWinrmArgs']] = None,
33
+ azure_vmss: Optional[pulumi.Input['InfrastructureDefinitionAzureVmssArgs']] = None,
34
+ azure_webapp: Optional[pulumi.Input['InfrastructureDefinitionAzureWebappArgs']] = None,
35
+ custom: Optional[pulumi.Input['InfrastructureDefinitionCustomArgs']] = None,
36
+ datacenter_ssh: Optional[pulumi.Input['InfrastructureDefinitionDatacenterSshArgs']] = None,
37
+ datacenter_winrm: Optional[pulumi.Input['InfrastructureDefinitionDatacenterWinrmArgs']] = None,
38
+ deployment_template_uri: Optional[pulumi.Input[str]] = None,
39
+ kubernetes: Optional[pulumi.Input['InfrastructureDefinitionKubernetesArgs']] = None,
40
+ kubernetes_gcp: Optional[pulumi.Input['InfrastructureDefinitionKubernetesGcpArgs']] = None,
41
+ name: Optional[pulumi.Input[str]] = None,
42
+ provisioner_name: Optional[pulumi.Input[str]] = None,
43
+ scoped_services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
44
+ tanzu: Optional[pulumi.Input['InfrastructureDefinitionTanzuArgs']] = None):
45
+ """
46
+ The set of arguments for constructing a InfrastructureDefinition resource.
47
+ :param pulumi.Input[str] app_id: The id of the application the infrastructure definition belongs to.
48
+ :param pulumi.Input[str] cloud_provider_type: The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICAL*DATA*CENTER, KUBERNETES*CLUSTER, PCF, SPOT*INST
49
+ :param pulumi.Input[str] deployment_type: The type of the deployment to use. Valid options are AMI, AWS*CODEDEPLOY, AWS*LAMBDA, AZURE*VMSS, AZURE*WEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM
50
+ :param pulumi.Input[str] env_id: The id of the environment the infrastructure definition belongs to.
51
+ :param pulumi.Input['InfrastructureDefinitionAwsAmiArgs'] aws_ami: The configuration details for Aws AMI deployments.
52
+ :param pulumi.Input['InfrastructureDefinitionAwsEcsArgs'] aws_ecs: The configuration details for Aws AMI deployments.
53
+ :param pulumi.Input['InfrastructureDefinitionAwsLambdaArgs'] aws_lambda: The configuration details for Aws Lambda deployments.
54
+ :param pulumi.Input['InfrastructureDefinitionAwsSshArgs'] aws_ssh: The configuration details for AWS SSH deployments.
55
+ :param pulumi.Input['InfrastructureDefinitionAwsWinrmArgs'] aws_winrm: The configuration details for AWS WinRM deployments.
56
+ :param pulumi.Input['InfrastructureDefinitionAzureVmssArgs'] azure_vmss: The configuration details for Azure VMSS deployments.
57
+ :param pulumi.Input['InfrastructureDefinitionAzureWebappArgs'] azure_webapp: The configuration details for Azure WebApp deployments.
58
+ :param pulumi.Input['InfrastructureDefinitionCustomArgs'] custom: The configuration details for Custom deployments.
59
+ :param pulumi.Input['InfrastructureDefinitionDatacenterSshArgs'] datacenter_ssh: The configuration details for SSH datacenter deployments.
60
+ :param pulumi.Input['InfrastructureDefinitionDatacenterWinrmArgs'] datacenter_winrm: The configuration details for WinRM datacenter deployments.
61
+ :param pulumi.Input[str] deployment_template_uri: The URI of the deployment template to use. Only used if deployment_type is `CUSTOM`.
62
+ :param pulumi.Input['InfrastructureDefinitionKubernetesArgs'] kubernetes: The configuration details for Kubernetes deployments.
63
+ :param pulumi.Input['InfrastructureDefinitionKubernetesGcpArgs'] kubernetes_gcp: The configuration details for Kubernetes on GCP deployments.
64
+ :param pulumi.Input[str] name: The name of the infrastructure definition
65
+ :param pulumi.Input[str] provisioner_name: The name of the infrastructure provisioner to use.
66
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] scoped_services: The list of service names to scope this infrastructure definition to.
67
+ :param pulumi.Input['InfrastructureDefinitionTanzuArgs'] tanzu: The configuration details for PCF deployments.
68
+ """
69
+ pulumi.set(__self__, "app_id", app_id)
70
+ pulumi.set(__self__, "cloud_provider_type", cloud_provider_type)
71
+ pulumi.set(__self__, "deployment_type", deployment_type)
72
+ pulumi.set(__self__, "env_id", env_id)
73
+ if aws_ami is not None:
74
+ pulumi.set(__self__, "aws_ami", aws_ami)
75
+ if aws_ecs is not None:
76
+ pulumi.set(__self__, "aws_ecs", aws_ecs)
77
+ if aws_lambda is not None:
78
+ pulumi.set(__self__, "aws_lambda", aws_lambda)
79
+ if aws_ssh is not None:
80
+ pulumi.set(__self__, "aws_ssh", aws_ssh)
81
+ if aws_winrm is not None:
82
+ pulumi.set(__self__, "aws_winrm", aws_winrm)
83
+ if azure_vmss is not None:
84
+ pulumi.set(__self__, "azure_vmss", azure_vmss)
85
+ if azure_webapp is not None:
86
+ pulumi.set(__self__, "azure_webapp", azure_webapp)
87
+ if custom is not None:
88
+ pulumi.set(__self__, "custom", custom)
89
+ if datacenter_ssh is not None:
90
+ pulumi.set(__self__, "datacenter_ssh", datacenter_ssh)
91
+ if datacenter_winrm is not None:
92
+ pulumi.set(__self__, "datacenter_winrm", datacenter_winrm)
93
+ if deployment_template_uri is not None:
94
+ pulumi.set(__self__, "deployment_template_uri", deployment_template_uri)
95
+ if kubernetes is not None:
96
+ pulumi.set(__self__, "kubernetes", kubernetes)
97
+ if kubernetes_gcp is not None:
98
+ pulumi.set(__self__, "kubernetes_gcp", kubernetes_gcp)
99
+ if name is not None:
100
+ pulumi.set(__self__, "name", name)
101
+ if provisioner_name is not None:
102
+ pulumi.set(__self__, "provisioner_name", provisioner_name)
103
+ if scoped_services is not None:
104
+ pulumi.set(__self__, "scoped_services", scoped_services)
105
+ if tanzu is not None:
106
+ pulumi.set(__self__, "tanzu", tanzu)
107
+
108
+ @property
109
+ @pulumi.getter(name="appId")
110
+ def app_id(self) -> pulumi.Input[str]:
111
+ """
112
+ The id of the application the infrastructure definition belongs to.
113
+ """
114
+ return pulumi.get(self, "app_id")
115
+
116
+ @app_id.setter
117
+ def app_id(self, value: pulumi.Input[str]):
118
+ pulumi.set(self, "app_id", value)
119
+
120
+ @property
121
+ @pulumi.getter(name="cloudProviderType")
122
+ def cloud_provider_type(self) -> pulumi.Input[str]:
123
+ """
124
+ The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICAL*DATA*CENTER, KUBERNETES*CLUSTER, PCF, SPOT*INST
125
+ """
126
+ return pulumi.get(self, "cloud_provider_type")
127
+
128
+ @cloud_provider_type.setter
129
+ def cloud_provider_type(self, value: pulumi.Input[str]):
130
+ pulumi.set(self, "cloud_provider_type", value)
131
+
132
+ @property
133
+ @pulumi.getter(name="deploymentType")
134
+ def deployment_type(self) -> pulumi.Input[str]:
135
+ """
136
+ The type of the deployment to use. Valid options are AMI, AWS*CODEDEPLOY, AWS*LAMBDA, AZURE*VMSS, AZURE*WEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM
137
+ """
138
+ return pulumi.get(self, "deployment_type")
139
+
140
+ @deployment_type.setter
141
+ def deployment_type(self, value: pulumi.Input[str]):
142
+ pulumi.set(self, "deployment_type", value)
143
+
144
+ @property
145
+ @pulumi.getter(name="envId")
146
+ def env_id(self) -> pulumi.Input[str]:
147
+ """
148
+ The id of the environment the infrastructure definition belongs to.
149
+ """
150
+ return pulumi.get(self, "env_id")
151
+
152
+ @env_id.setter
153
+ def env_id(self, value: pulumi.Input[str]):
154
+ pulumi.set(self, "env_id", value)
155
+
156
+ @property
157
+ @pulumi.getter(name="awsAmi")
158
+ def aws_ami(self) -> Optional[pulumi.Input['InfrastructureDefinitionAwsAmiArgs']]:
159
+ """
160
+ The configuration details for Aws AMI deployments.
161
+ """
162
+ return pulumi.get(self, "aws_ami")
163
+
164
+ @aws_ami.setter
165
+ def aws_ami(self, value: Optional[pulumi.Input['InfrastructureDefinitionAwsAmiArgs']]):
166
+ pulumi.set(self, "aws_ami", value)
167
+
168
+ @property
169
+ @pulumi.getter(name="awsEcs")
170
+ def aws_ecs(self) -> Optional[pulumi.Input['InfrastructureDefinitionAwsEcsArgs']]:
171
+ """
172
+ The configuration details for Aws AMI deployments.
173
+ """
174
+ return pulumi.get(self, "aws_ecs")
175
+
176
+ @aws_ecs.setter
177
+ def aws_ecs(self, value: Optional[pulumi.Input['InfrastructureDefinitionAwsEcsArgs']]):
178
+ pulumi.set(self, "aws_ecs", value)
179
+
180
+ @property
181
+ @pulumi.getter(name="awsLambda")
182
+ def aws_lambda(self) -> Optional[pulumi.Input['InfrastructureDefinitionAwsLambdaArgs']]:
183
+ """
184
+ The configuration details for Aws Lambda deployments.
185
+ """
186
+ return pulumi.get(self, "aws_lambda")
187
+
188
+ @aws_lambda.setter
189
+ def aws_lambda(self, value: Optional[pulumi.Input['InfrastructureDefinitionAwsLambdaArgs']]):
190
+ pulumi.set(self, "aws_lambda", value)
191
+
192
+ @property
193
+ @pulumi.getter(name="awsSsh")
194
+ def aws_ssh(self) -> Optional[pulumi.Input['InfrastructureDefinitionAwsSshArgs']]:
195
+ """
196
+ The configuration details for AWS SSH deployments.
197
+ """
198
+ return pulumi.get(self, "aws_ssh")
199
+
200
+ @aws_ssh.setter
201
+ def aws_ssh(self, value: Optional[pulumi.Input['InfrastructureDefinitionAwsSshArgs']]):
202
+ pulumi.set(self, "aws_ssh", value)
203
+
204
+ @property
205
+ @pulumi.getter(name="awsWinrm")
206
+ def aws_winrm(self) -> Optional[pulumi.Input['InfrastructureDefinitionAwsWinrmArgs']]:
207
+ """
208
+ The configuration details for AWS WinRM deployments.
209
+ """
210
+ return pulumi.get(self, "aws_winrm")
211
+
212
+ @aws_winrm.setter
213
+ def aws_winrm(self, value: Optional[pulumi.Input['InfrastructureDefinitionAwsWinrmArgs']]):
214
+ pulumi.set(self, "aws_winrm", value)
215
+
216
+ @property
217
+ @pulumi.getter(name="azureVmss")
218
+ def azure_vmss(self) -> Optional[pulumi.Input['InfrastructureDefinitionAzureVmssArgs']]:
219
+ """
220
+ The configuration details for Azure VMSS deployments.
221
+ """
222
+ return pulumi.get(self, "azure_vmss")
223
+
224
+ @azure_vmss.setter
225
+ def azure_vmss(self, value: Optional[pulumi.Input['InfrastructureDefinitionAzureVmssArgs']]):
226
+ pulumi.set(self, "azure_vmss", value)
227
+
228
+ @property
229
+ @pulumi.getter(name="azureWebapp")
230
+ def azure_webapp(self) -> Optional[pulumi.Input['InfrastructureDefinitionAzureWebappArgs']]:
231
+ """
232
+ The configuration details for Azure WebApp deployments.
233
+ """
234
+ return pulumi.get(self, "azure_webapp")
235
+
236
+ @azure_webapp.setter
237
+ def azure_webapp(self, value: Optional[pulumi.Input['InfrastructureDefinitionAzureWebappArgs']]):
238
+ pulumi.set(self, "azure_webapp", value)
239
+
240
+ @property
241
+ @pulumi.getter
242
+ def custom(self) -> Optional[pulumi.Input['InfrastructureDefinitionCustomArgs']]:
243
+ """
244
+ The configuration details for Custom deployments.
245
+ """
246
+ return pulumi.get(self, "custom")
247
+
248
+ @custom.setter
249
+ def custom(self, value: Optional[pulumi.Input['InfrastructureDefinitionCustomArgs']]):
250
+ pulumi.set(self, "custom", value)
251
+
252
+ @property
253
+ @pulumi.getter(name="datacenterSsh")
254
+ def datacenter_ssh(self) -> Optional[pulumi.Input['InfrastructureDefinitionDatacenterSshArgs']]:
255
+ """
256
+ The configuration details for SSH datacenter deployments.
257
+ """
258
+ return pulumi.get(self, "datacenter_ssh")
259
+
260
+ @datacenter_ssh.setter
261
+ def datacenter_ssh(self, value: Optional[pulumi.Input['InfrastructureDefinitionDatacenterSshArgs']]):
262
+ pulumi.set(self, "datacenter_ssh", value)
263
+
264
+ @property
265
+ @pulumi.getter(name="datacenterWinrm")
266
+ def datacenter_winrm(self) -> Optional[pulumi.Input['InfrastructureDefinitionDatacenterWinrmArgs']]:
267
+ """
268
+ The configuration details for WinRM datacenter deployments.
269
+ """
270
+ return pulumi.get(self, "datacenter_winrm")
271
+
272
+ @datacenter_winrm.setter
273
+ def datacenter_winrm(self, value: Optional[pulumi.Input['InfrastructureDefinitionDatacenterWinrmArgs']]):
274
+ pulumi.set(self, "datacenter_winrm", value)
275
+
276
+ @property
277
+ @pulumi.getter(name="deploymentTemplateUri")
278
+ def deployment_template_uri(self) -> Optional[pulumi.Input[str]]:
279
+ """
280
+ The URI of the deployment template to use. Only used if deployment_type is `CUSTOM`.
281
+ """
282
+ return pulumi.get(self, "deployment_template_uri")
283
+
284
+ @deployment_template_uri.setter
285
+ def deployment_template_uri(self, value: Optional[pulumi.Input[str]]):
286
+ pulumi.set(self, "deployment_template_uri", value)
287
+
288
+ @property
289
+ @pulumi.getter
290
+ def kubernetes(self) -> Optional[pulumi.Input['InfrastructureDefinitionKubernetesArgs']]:
291
+ """
292
+ The configuration details for Kubernetes deployments.
293
+ """
294
+ return pulumi.get(self, "kubernetes")
295
+
296
+ @kubernetes.setter
297
+ def kubernetes(self, value: Optional[pulumi.Input['InfrastructureDefinitionKubernetesArgs']]):
298
+ pulumi.set(self, "kubernetes", value)
299
+
300
+ @property
301
+ @pulumi.getter(name="kubernetesGcp")
302
+ def kubernetes_gcp(self) -> Optional[pulumi.Input['InfrastructureDefinitionKubernetesGcpArgs']]:
303
+ """
304
+ The configuration details for Kubernetes on GCP deployments.
305
+ """
306
+ return pulumi.get(self, "kubernetes_gcp")
307
+
308
+ @kubernetes_gcp.setter
309
+ def kubernetes_gcp(self, value: Optional[pulumi.Input['InfrastructureDefinitionKubernetesGcpArgs']]):
310
+ pulumi.set(self, "kubernetes_gcp", value)
311
+
312
+ @property
313
+ @pulumi.getter
314
+ def name(self) -> Optional[pulumi.Input[str]]:
315
+ """
316
+ The name of the infrastructure definition
317
+ """
318
+ return pulumi.get(self, "name")
319
+
320
+ @name.setter
321
+ def name(self, value: Optional[pulumi.Input[str]]):
322
+ pulumi.set(self, "name", value)
323
+
324
+ @property
325
+ @pulumi.getter(name="provisionerName")
326
+ def provisioner_name(self) -> Optional[pulumi.Input[str]]:
327
+ """
328
+ The name of the infrastructure provisioner to use.
329
+ """
330
+ return pulumi.get(self, "provisioner_name")
331
+
332
+ @provisioner_name.setter
333
+ def provisioner_name(self, value: Optional[pulumi.Input[str]]):
334
+ pulumi.set(self, "provisioner_name", value)
335
+
336
+ @property
337
+ @pulumi.getter(name="scopedServices")
338
+ def scoped_services(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
339
+ """
340
+ The list of service names to scope this infrastructure definition to.
341
+ """
342
+ return pulumi.get(self, "scoped_services")
343
+
344
+ @scoped_services.setter
345
+ def scoped_services(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
346
+ pulumi.set(self, "scoped_services", value)
347
+
348
+ @property
349
+ @pulumi.getter
350
+ def tanzu(self) -> Optional[pulumi.Input['InfrastructureDefinitionTanzuArgs']]:
351
+ """
352
+ The configuration details for PCF deployments.
353
+ """
354
+ return pulumi.get(self, "tanzu")
355
+
356
+ @tanzu.setter
357
+ def tanzu(self, value: Optional[pulumi.Input['InfrastructureDefinitionTanzuArgs']]):
358
+ pulumi.set(self, "tanzu", value)
359
+
360
+
361
+ @pulumi.input_type
362
+ class _InfrastructureDefinitionState:
363
+ def __init__(__self__, *,
364
+ app_id: Optional[pulumi.Input[str]] = None,
365
+ aws_ami: Optional[pulumi.Input['InfrastructureDefinitionAwsAmiArgs']] = None,
366
+ aws_ecs: Optional[pulumi.Input['InfrastructureDefinitionAwsEcsArgs']] = None,
367
+ aws_lambda: Optional[pulumi.Input['InfrastructureDefinitionAwsLambdaArgs']] = None,
368
+ aws_ssh: Optional[pulumi.Input['InfrastructureDefinitionAwsSshArgs']] = None,
369
+ aws_winrm: Optional[pulumi.Input['InfrastructureDefinitionAwsWinrmArgs']] = None,
370
+ azure_vmss: Optional[pulumi.Input['InfrastructureDefinitionAzureVmssArgs']] = None,
371
+ azure_webapp: Optional[pulumi.Input['InfrastructureDefinitionAzureWebappArgs']] = None,
372
+ cloud_provider_type: Optional[pulumi.Input[str]] = None,
373
+ custom: Optional[pulumi.Input['InfrastructureDefinitionCustomArgs']] = None,
374
+ datacenter_ssh: Optional[pulumi.Input['InfrastructureDefinitionDatacenterSshArgs']] = None,
375
+ datacenter_winrm: Optional[pulumi.Input['InfrastructureDefinitionDatacenterWinrmArgs']] = None,
376
+ deployment_template_uri: Optional[pulumi.Input[str]] = None,
377
+ deployment_type: Optional[pulumi.Input[str]] = None,
378
+ env_id: Optional[pulumi.Input[str]] = None,
379
+ kubernetes: Optional[pulumi.Input['InfrastructureDefinitionKubernetesArgs']] = None,
380
+ kubernetes_gcp: Optional[pulumi.Input['InfrastructureDefinitionKubernetesGcpArgs']] = None,
381
+ name: Optional[pulumi.Input[str]] = None,
382
+ provisioner_name: Optional[pulumi.Input[str]] = None,
383
+ scoped_services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
384
+ tanzu: Optional[pulumi.Input['InfrastructureDefinitionTanzuArgs']] = None):
385
+ """
386
+ Input properties used for looking up and filtering InfrastructureDefinition resources.
387
+ :param pulumi.Input[str] app_id: The id of the application the infrastructure definition belongs to.
388
+ :param pulumi.Input['InfrastructureDefinitionAwsAmiArgs'] aws_ami: The configuration details for Aws AMI deployments.
389
+ :param pulumi.Input['InfrastructureDefinitionAwsEcsArgs'] aws_ecs: The configuration details for Aws AMI deployments.
390
+ :param pulumi.Input['InfrastructureDefinitionAwsLambdaArgs'] aws_lambda: The configuration details for Aws Lambda deployments.
391
+ :param pulumi.Input['InfrastructureDefinitionAwsSshArgs'] aws_ssh: The configuration details for AWS SSH deployments.
392
+ :param pulumi.Input['InfrastructureDefinitionAwsWinrmArgs'] aws_winrm: The configuration details for AWS WinRM deployments.
393
+ :param pulumi.Input['InfrastructureDefinitionAzureVmssArgs'] azure_vmss: The configuration details for Azure VMSS deployments.
394
+ :param pulumi.Input['InfrastructureDefinitionAzureWebappArgs'] azure_webapp: The configuration details for Azure WebApp deployments.
395
+ :param pulumi.Input[str] cloud_provider_type: The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICAL*DATA*CENTER, KUBERNETES*CLUSTER, PCF, SPOT*INST
396
+ :param pulumi.Input['InfrastructureDefinitionCustomArgs'] custom: The configuration details for Custom deployments.
397
+ :param pulumi.Input['InfrastructureDefinitionDatacenterSshArgs'] datacenter_ssh: The configuration details for SSH datacenter deployments.
398
+ :param pulumi.Input['InfrastructureDefinitionDatacenterWinrmArgs'] datacenter_winrm: The configuration details for WinRM datacenter deployments.
399
+ :param pulumi.Input[str] deployment_template_uri: The URI of the deployment template to use. Only used if deployment_type is `CUSTOM`.
400
+ :param pulumi.Input[str] deployment_type: The type of the deployment to use. Valid options are AMI, AWS*CODEDEPLOY, AWS*LAMBDA, AZURE*VMSS, AZURE*WEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM
401
+ :param pulumi.Input[str] env_id: The id of the environment the infrastructure definition belongs to.
402
+ :param pulumi.Input['InfrastructureDefinitionKubernetesArgs'] kubernetes: The configuration details for Kubernetes deployments.
403
+ :param pulumi.Input['InfrastructureDefinitionKubernetesGcpArgs'] kubernetes_gcp: The configuration details for Kubernetes on GCP deployments.
404
+ :param pulumi.Input[str] name: The name of the infrastructure definition
405
+ :param pulumi.Input[str] provisioner_name: The name of the infrastructure provisioner to use.
406
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] scoped_services: The list of service names to scope this infrastructure definition to.
407
+ :param pulumi.Input['InfrastructureDefinitionTanzuArgs'] tanzu: The configuration details for PCF deployments.
408
+ """
409
+ if app_id is not None:
410
+ pulumi.set(__self__, "app_id", app_id)
411
+ if aws_ami is not None:
412
+ pulumi.set(__self__, "aws_ami", aws_ami)
413
+ if aws_ecs is not None:
414
+ pulumi.set(__self__, "aws_ecs", aws_ecs)
415
+ if aws_lambda is not None:
416
+ pulumi.set(__self__, "aws_lambda", aws_lambda)
417
+ if aws_ssh is not None:
418
+ pulumi.set(__self__, "aws_ssh", aws_ssh)
419
+ if aws_winrm is not None:
420
+ pulumi.set(__self__, "aws_winrm", aws_winrm)
421
+ if azure_vmss is not None:
422
+ pulumi.set(__self__, "azure_vmss", azure_vmss)
423
+ if azure_webapp is not None:
424
+ pulumi.set(__self__, "azure_webapp", azure_webapp)
425
+ if cloud_provider_type is not None:
426
+ pulumi.set(__self__, "cloud_provider_type", cloud_provider_type)
427
+ if custom is not None:
428
+ pulumi.set(__self__, "custom", custom)
429
+ if datacenter_ssh is not None:
430
+ pulumi.set(__self__, "datacenter_ssh", datacenter_ssh)
431
+ if datacenter_winrm is not None:
432
+ pulumi.set(__self__, "datacenter_winrm", datacenter_winrm)
433
+ if deployment_template_uri is not None:
434
+ pulumi.set(__self__, "deployment_template_uri", deployment_template_uri)
435
+ if deployment_type is not None:
436
+ pulumi.set(__self__, "deployment_type", deployment_type)
437
+ if env_id is not None:
438
+ pulumi.set(__self__, "env_id", env_id)
439
+ if kubernetes is not None:
440
+ pulumi.set(__self__, "kubernetes", kubernetes)
441
+ if kubernetes_gcp is not None:
442
+ pulumi.set(__self__, "kubernetes_gcp", kubernetes_gcp)
443
+ if name is not None:
444
+ pulumi.set(__self__, "name", name)
445
+ if provisioner_name is not None:
446
+ pulumi.set(__self__, "provisioner_name", provisioner_name)
447
+ if scoped_services is not None:
448
+ pulumi.set(__self__, "scoped_services", scoped_services)
449
+ if tanzu is not None:
450
+ pulumi.set(__self__, "tanzu", tanzu)
451
+
452
+ @property
453
+ @pulumi.getter(name="appId")
454
+ def app_id(self) -> Optional[pulumi.Input[str]]:
455
+ """
456
+ The id of the application the infrastructure definition belongs to.
457
+ """
458
+ return pulumi.get(self, "app_id")
459
+
460
+ @app_id.setter
461
+ def app_id(self, value: Optional[pulumi.Input[str]]):
462
+ pulumi.set(self, "app_id", value)
463
+
464
+ @property
465
+ @pulumi.getter(name="awsAmi")
466
+ def aws_ami(self) -> Optional[pulumi.Input['InfrastructureDefinitionAwsAmiArgs']]:
467
+ """
468
+ The configuration details for Aws AMI deployments.
469
+ """
470
+ return pulumi.get(self, "aws_ami")
471
+
472
+ @aws_ami.setter
473
+ def aws_ami(self, value: Optional[pulumi.Input['InfrastructureDefinitionAwsAmiArgs']]):
474
+ pulumi.set(self, "aws_ami", value)
475
+
476
+ @property
477
+ @pulumi.getter(name="awsEcs")
478
+ def aws_ecs(self) -> Optional[pulumi.Input['InfrastructureDefinitionAwsEcsArgs']]:
479
+ """
480
+ The configuration details for Aws AMI deployments.
481
+ """
482
+ return pulumi.get(self, "aws_ecs")
483
+
484
+ @aws_ecs.setter
485
+ def aws_ecs(self, value: Optional[pulumi.Input['InfrastructureDefinitionAwsEcsArgs']]):
486
+ pulumi.set(self, "aws_ecs", value)
487
+
488
+ @property
489
+ @pulumi.getter(name="awsLambda")
490
+ def aws_lambda(self) -> Optional[pulumi.Input['InfrastructureDefinitionAwsLambdaArgs']]:
491
+ """
492
+ The configuration details for Aws Lambda deployments.
493
+ """
494
+ return pulumi.get(self, "aws_lambda")
495
+
496
+ @aws_lambda.setter
497
+ def aws_lambda(self, value: Optional[pulumi.Input['InfrastructureDefinitionAwsLambdaArgs']]):
498
+ pulumi.set(self, "aws_lambda", value)
499
+
500
+ @property
501
+ @pulumi.getter(name="awsSsh")
502
+ def aws_ssh(self) -> Optional[pulumi.Input['InfrastructureDefinitionAwsSshArgs']]:
503
+ """
504
+ The configuration details for AWS SSH deployments.
505
+ """
506
+ return pulumi.get(self, "aws_ssh")
507
+
508
+ @aws_ssh.setter
509
+ def aws_ssh(self, value: Optional[pulumi.Input['InfrastructureDefinitionAwsSshArgs']]):
510
+ pulumi.set(self, "aws_ssh", value)
511
+
512
+ @property
513
+ @pulumi.getter(name="awsWinrm")
514
+ def aws_winrm(self) -> Optional[pulumi.Input['InfrastructureDefinitionAwsWinrmArgs']]:
515
+ """
516
+ The configuration details for AWS WinRM deployments.
517
+ """
518
+ return pulumi.get(self, "aws_winrm")
519
+
520
+ @aws_winrm.setter
521
+ def aws_winrm(self, value: Optional[pulumi.Input['InfrastructureDefinitionAwsWinrmArgs']]):
522
+ pulumi.set(self, "aws_winrm", value)
523
+
524
+ @property
525
+ @pulumi.getter(name="azureVmss")
526
+ def azure_vmss(self) -> Optional[pulumi.Input['InfrastructureDefinitionAzureVmssArgs']]:
527
+ """
528
+ The configuration details for Azure VMSS deployments.
529
+ """
530
+ return pulumi.get(self, "azure_vmss")
531
+
532
+ @azure_vmss.setter
533
+ def azure_vmss(self, value: Optional[pulumi.Input['InfrastructureDefinitionAzureVmssArgs']]):
534
+ pulumi.set(self, "azure_vmss", value)
535
+
536
+ @property
537
+ @pulumi.getter(name="azureWebapp")
538
+ def azure_webapp(self) -> Optional[pulumi.Input['InfrastructureDefinitionAzureWebappArgs']]:
539
+ """
540
+ The configuration details for Azure WebApp deployments.
541
+ """
542
+ return pulumi.get(self, "azure_webapp")
543
+
544
+ @azure_webapp.setter
545
+ def azure_webapp(self, value: Optional[pulumi.Input['InfrastructureDefinitionAzureWebappArgs']]):
546
+ pulumi.set(self, "azure_webapp", value)
547
+
548
+ @property
549
+ @pulumi.getter(name="cloudProviderType")
550
+ def cloud_provider_type(self) -> Optional[pulumi.Input[str]]:
551
+ """
552
+ The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICAL*DATA*CENTER, KUBERNETES*CLUSTER, PCF, SPOT*INST
553
+ """
554
+ return pulumi.get(self, "cloud_provider_type")
555
+
556
+ @cloud_provider_type.setter
557
+ def cloud_provider_type(self, value: Optional[pulumi.Input[str]]):
558
+ pulumi.set(self, "cloud_provider_type", value)
559
+
560
+ @property
561
+ @pulumi.getter
562
+ def custom(self) -> Optional[pulumi.Input['InfrastructureDefinitionCustomArgs']]:
563
+ """
564
+ The configuration details for Custom deployments.
565
+ """
566
+ return pulumi.get(self, "custom")
567
+
568
+ @custom.setter
569
+ def custom(self, value: Optional[pulumi.Input['InfrastructureDefinitionCustomArgs']]):
570
+ pulumi.set(self, "custom", value)
571
+
572
+ @property
573
+ @pulumi.getter(name="datacenterSsh")
574
+ def datacenter_ssh(self) -> Optional[pulumi.Input['InfrastructureDefinitionDatacenterSshArgs']]:
575
+ """
576
+ The configuration details for SSH datacenter deployments.
577
+ """
578
+ return pulumi.get(self, "datacenter_ssh")
579
+
580
+ @datacenter_ssh.setter
581
+ def datacenter_ssh(self, value: Optional[pulumi.Input['InfrastructureDefinitionDatacenterSshArgs']]):
582
+ pulumi.set(self, "datacenter_ssh", value)
583
+
584
+ @property
585
+ @pulumi.getter(name="datacenterWinrm")
586
+ def datacenter_winrm(self) -> Optional[pulumi.Input['InfrastructureDefinitionDatacenterWinrmArgs']]:
587
+ """
588
+ The configuration details for WinRM datacenter deployments.
589
+ """
590
+ return pulumi.get(self, "datacenter_winrm")
591
+
592
+ @datacenter_winrm.setter
593
+ def datacenter_winrm(self, value: Optional[pulumi.Input['InfrastructureDefinitionDatacenterWinrmArgs']]):
594
+ pulumi.set(self, "datacenter_winrm", value)
595
+
596
+ @property
597
+ @pulumi.getter(name="deploymentTemplateUri")
598
+ def deployment_template_uri(self) -> Optional[pulumi.Input[str]]:
599
+ """
600
+ The URI of the deployment template to use. Only used if deployment_type is `CUSTOM`.
601
+ """
602
+ return pulumi.get(self, "deployment_template_uri")
603
+
604
+ @deployment_template_uri.setter
605
+ def deployment_template_uri(self, value: Optional[pulumi.Input[str]]):
606
+ pulumi.set(self, "deployment_template_uri", value)
607
+
608
+ @property
609
+ @pulumi.getter(name="deploymentType")
610
+ def deployment_type(self) -> Optional[pulumi.Input[str]]:
611
+ """
612
+ The type of the deployment to use. Valid options are AMI, AWS*CODEDEPLOY, AWS*LAMBDA, AZURE*VMSS, AZURE*WEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM
613
+ """
614
+ return pulumi.get(self, "deployment_type")
615
+
616
+ @deployment_type.setter
617
+ def deployment_type(self, value: Optional[pulumi.Input[str]]):
618
+ pulumi.set(self, "deployment_type", value)
619
+
620
+ @property
621
+ @pulumi.getter(name="envId")
622
+ def env_id(self) -> Optional[pulumi.Input[str]]:
623
+ """
624
+ The id of the environment the infrastructure definition belongs to.
625
+ """
626
+ return pulumi.get(self, "env_id")
627
+
628
+ @env_id.setter
629
+ def env_id(self, value: Optional[pulumi.Input[str]]):
630
+ pulumi.set(self, "env_id", value)
631
+
632
+ @property
633
+ @pulumi.getter
634
+ def kubernetes(self) -> Optional[pulumi.Input['InfrastructureDefinitionKubernetesArgs']]:
635
+ """
636
+ The configuration details for Kubernetes deployments.
637
+ """
638
+ return pulumi.get(self, "kubernetes")
639
+
640
+ @kubernetes.setter
641
+ def kubernetes(self, value: Optional[pulumi.Input['InfrastructureDefinitionKubernetesArgs']]):
642
+ pulumi.set(self, "kubernetes", value)
643
+
644
+ @property
645
+ @pulumi.getter(name="kubernetesGcp")
646
+ def kubernetes_gcp(self) -> Optional[pulumi.Input['InfrastructureDefinitionKubernetesGcpArgs']]:
647
+ """
648
+ The configuration details for Kubernetes on GCP deployments.
649
+ """
650
+ return pulumi.get(self, "kubernetes_gcp")
651
+
652
+ @kubernetes_gcp.setter
653
+ def kubernetes_gcp(self, value: Optional[pulumi.Input['InfrastructureDefinitionKubernetesGcpArgs']]):
654
+ pulumi.set(self, "kubernetes_gcp", value)
655
+
656
+ @property
657
+ @pulumi.getter
658
+ def name(self) -> Optional[pulumi.Input[str]]:
659
+ """
660
+ The name of the infrastructure definition
661
+ """
662
+ return pulumi.get(self, "name")
663
+
664
+ @name.setter
665
+ def name(self, value: Optional[pulumi.Input[str]]):
666
+ pulumi.set(self, "name", value)
667
+
668
+ @property
669
+ @pulumi.getter(name="provisionerName")
670
+ def provisioner_name(self) -> Optional[pulumi.Input[str]]:
671
+ """
672
+ The name of the infrastructure provisioner to use.
673
+ """
674
+ return pulumi.get(self, "provisioner_name")
675
+
676
+ @provisioner_name.setter
677
+ def provisioner_name(self, value: Optional[pulumi.Input[str]]):
678
+ pulumi.set(self, "provisioner_name", value)
679
+
680
+ @property
681
+ @pulumi.getter(name="scopedServices")
682
+ def scoped_services(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
683
+ """
684
+ The list of service names to scope this infrastructure definition to.
685
+ """
686
+ return pulumi.get(self, "scoped_services")
687
+
688
+ @scoped_services.setter
689
+ def scoped_services(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
690
+ pulumi.set(self, "scoped_services", value)
691
+
692
+ @property
693
+ @pulumi.getter
694
+ def tanzu(self) -> Optional[pulumi.Input['InfrastructureDefinitionTanzuArgs']]:
695
+ """
696
+ The configuration details for PCF deployments.
697
+ """
698
+ return pulumi.get(self, "tanzu")
699
+
700
+ @tanzu.setter
701
+ def tanzu(self, value: Optional[pulumi.Input['InfrastructureDefinitionTanzuArgs']]):
702
+ pulumi.set(self, "tanzu", value)
703
+
704
+
705
+ class InfrastructureDefinition(pulumi.CustomResource):
706
+ @overload
707
+ def __init__(__self__,
708
+ resource_name: str,
709
+ opts: Optional[pulumi.ResourceOptions] = None,
710
+ app_id: Optional[pulumi.Input[str]] = None,
711
+ aws_ami: Optional[pulumi.Input[Union['InfrastructureDefinitionAwsAmiArgs', 'InfrastructureDefinitionAwsAmiArgsDict']]] = None,
712
+ aws_ecs: Optional[pulumi.Input[Union['InfrastructureDefinitionAwsEcsArgs', 'InfrastructureDefinitionAwsEcsArgsDict']]] = None,
713
+ aws_lambda: Optional[pulumi.Input[Union['InfrastructureDefinitionAwsLambdaArgs', 'InfrastructureDefinitionAwsLambdaArgsDict']]] = None,
714
+ aws_ssh: Optional[pulumi.Input[Union['InfrastructureDefinitionAwsSshArgs', 'InfrastructureDefinitionAwsSshArgsDict']]] = None,
715
+ aws_winrm: Optional[pulumi.Input[Union['InfrastructureDefinitionAwsWinrmArgs', 'InfrastructureDefinitionAwsWinrmArgsDict']]] = None,
716
+ azure_vmss: Optional[pulumi.Input[Union['InfrastructureDefinitionAzureVmssArgs', 'InfrastructureDefinitionAzureVmssArgsDict']]] = None,
717
+ azure_webapp: Optional[pulumi.Input[Union['InfrastructureDefinitionAzureWebappArgs', 'InfrastructureDefinitionAzureWebappArgsDict']]] = None,
718
+ cloud_provider_type: Optional[pulumi.Input[str]] = None,
719
+ custom: Optional[pulumi.Input[Union['InfrastructureDefinitionCustomArgs', 'InfrastructureDefinitionCustomArgsDict']]] = None,
720
+ datacenter_ssh: Optional[pulumi.Input[Union['InfrastructureDefinitionDatacenterSshArgs', 'InfrastructureDefinitionDatacenterSshArgsDict']]] = None,
721
+ datacenter_winrm: Optional[pulumi.Input[Union['InfrastructureDefinitionDatacenterWinrmArgs', 'InfrastructureDefinitionDatacenterWinrmArgsDict']]] = None,
722
+ deployment_template_uri: Optional[pulumi.Input[str]] = None,
723
+ deployment_type: Optional[pulumi.Input[str]] = None,
724
+ env_id: Optional[pulumi.Input[str]] = None,
725
+ kubernetes: Optional[pulumi.Input[Union['InfrastructureDefinitionKubernetesArgs', 'InfrastructureDefinitionKubernetesArgsDict']]] = None,
726
+ kubernetes_gcp: Optional[pulumi.Input[Union['InfrastructureDefinitionKubernetesGcpArgs', 'InfrastructureDefinitionKubernetesGcpArgsDict']]] = None,
727
+ name: Optional[pulumi.Input[str]] = None,
728
+ provisioner_name: Optional[pulumi.Input[str]] = None,
729
+ scoped_services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
730
+ tanzu: Optional[pulumi.Input[Union['InfrastructureDefinitionTanzuArgs', 'InfrastructureDefinitionTanzuArgsDict']]] = None,
731
+ __props__=None):
732
+ """
733
+ Resource for creating am infrastructure definition. 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.
734
+
735
+ ## Example Usage
736
+
737
+ ```python
738
+ import pulumi
739
+ import pulumi_harness as harness
740
+
741
+ # Creating a Kubernetes infrastructure definition
742
+ dev = harness.cloudprovider.Kubernetes("dev",
743
+ name="k8s-dev",
744
+ authentication={
745
+ "delegate_selectors": ["k8s"],
746
+ })
747
+ example = harness.Application("example", name="example")
748
+ dev_environment = harness.Environment("dev",
749
+ name="dev",
750
+ app_id=example.id,
751
+ type="NON_PROD")
752
+ # Creating a infrastructure of type KUBERNETES
753
+ k8s = harness.InfrastructureDefinition("k8s",
754
+ name="k8s-eks-us-east-1",
755
+ app_id=example.id,
756
+ env_id=dev_environment.id,
757
+ cloud_provider_type="KUBERNETES_CLUSTER",
758
+ deployment_type="KUBERNETES",
759
+ kubernetes={
760
+ "cloud_provider_name": dev.name,
761
+ "namespace": "dev",
762
+ "release_name": "${service.name}",
763
+ })
764
+ # Creating a Deployment Template for CUSTOM infrastructure type
765
+ example_yaml = harness.YamlConfig("example_yaml",
766
+ path="Setup/Template Library/Example Folder/deployment_template.yaml",
767
+ content=\"\"\"harnessApiVersion: '1.0'
768
+ type: CUSTOM_DEPLOYMENT_TYPE
769
+ fetchInstanceScript: |-
770
+ set -ex
771
+ curl http://${url}/${file_name} > ${INSTANCE_OUTPUT_PATH}
772
+ hostAttributes:
773
+ hostname: host
774
+ hostObjectArrayPath: hosts
775
+ variables:
776
+ - name: url
777
+ - name: file_name
778
+ \"\"\")
779
+ # Creating a infrastructure of type CUSTOM
780
+ custom = harness.InfrastructureDefinition("custom",
781
+ name="custom-infra",
782
+ app_id=example.id,
783
+ env_id=dev_environment.id,
784
+ cloud_provider_type="CUSTOM",
785
+ deployment_type="CUSTOM",
786
+ deployment_template_uri=example_yaml.name.apply(lambda name: f"Example Folder/{name}"),
787
+ custom={
788
+ "deployment_type_template_version": "1",
789
+ "variables": [
790
+ {
791
+ "name": "url",
792
+ "value": "localhost:8081",
793
+ },
794
+ {
795
+ "name": "file_name",
796
+ "value": "instances.json",
797
+ },
798
+ ],
799
+ })
800
+ ```
801
+
802
+ ## Import
803
+
804
+ Import using the Harness application id, environment id, and infrastructure definition id
805
+
806
+ ```sh
807
+ $ pulumi import harness:index/infrastructureDefinition:InfrastructureDefinition example <app_id>/<env_id>/<infradef_id>
808
+ ```
809
+
810
+ :param str resource_name: The name of the resource.
811
+ :param pulumi.ResourceOptions opts: Options for the resource.
812
+ :param pulumi.Input[str] app_id: The id of the application the infrastructure definition belongs to.
813
+ :param pulumi.Input[Union['InfrastructureDefinitionAwsAmiArgs', 'InfrastructureDefinitionAwsAmiArgsDict']] aws_ami: The configuration details for Aws AMI deployments.
814
+ :param pulumi.Input[Union['InfrastructureDefinitionAwsEcsArgs', 'InfrastructureDefinitionAwsEcsArgsDict']] aws_ecs: The configuration details for Aws AMI deployments.
815
+ :param pulumi.Input[Union['InfrastructureDefinitionAwsLambdaArgs', 'InfrastructureDefinitionAwsLambdaArgsDict']] aws_lambda: The configuration details for Aws Lambda deployments.
816
+ :param pulumi.Input[Union['InfrastructureDefinitionAwsSshArgs', 'InfrastructureDefinitionAwsSshArgsDict']] aws_ssh: The configuration details for AWS SSH deployments.
817
+ :param pulumi.Input[Union['InfrastructureDefinitionAwsWinrmArgs', 'InfrastructureDefinitionAwsWinrmArgsDict']] aws_winrm: The configuration details for AWS WinRM deployments.
818
+ :param pulumi.Input[Union['InfrastructureDefinitionAzureVmssArgs', 'InfrastructureDefinitionAzureVmssArgsDict']] azure_vmss: The configuration details for Azure VMSS deployments.
819
+ :param pulumi.Input[Union['InfrastructureDefinitionAzureWebappArgs', 'InfrastructureDefinitionAzureWebappArgsDict']] azure_webapp: The configuration details for Azure WebApp deployments.
820
+ :param pulumi.Input[str] cloud_provider_type: The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICAL*DATA*CENTER, KUBERNETES*CLUSTER, PCF, SPOT*INST
821
+ :param pulumi.Input[Union['InfrastructureDefinitionCustomArgs', 'InfrastructureDefinitionCustomArgsDict']] custom: The configuration details for Custom deployments.
822
+ :param pulumi.Input[Union['InfrastructureDefinitionDatacenterSshArgs', 'InfrastructureDefinitionDatacenterSshArgsDict']] datacenter_ssh: The configuration details for SSH datacenter deployments.
823
+ :param pulumi.Input[Union['InfrastructureDefinitionDatacenterWinrmArgs', 'InfrastructureDefinitionDatacenterWinrmArgsDict']] datacenter_winrm: The configuration details for WinRM datacenter deployments.
824
+ :param pulumi.Input[str] deployment_template_uri: The URI of the deployment template to use. Only used if deployment_type is `CUSTOM`.
825
+ :param pulumi.Input[str] deployment_type: The type of the deployment to use. Valid options are AMI, AWS*CODEDEPLOY, AWS*LAMBDA, AZURE*VMSS, AZURE*WEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM
826
+ :param pulumi.Input[str] env_id: The id of the environment the infrastructure definition belongs to.
827
+ :param pulumi.Input[Union['InfrastructureDefinitionKubernetesArgs', 'InfrastructureDefinitionKubernetesArgsDict']] kubernetes: The configuration details for Kubernetes deployments.
828
+ :param pulumi.Input[Union['InfrastructureDefinitionKubernetesGcpArgs', 'InfrastructureDefinitionKubernetesGcpArgsDict']] kubernetes_gcp: The configuration details for Kubernetes on GCP deployments.
829
+ :param pulumi.Input[str] name: The name of the infrastructure definition
830
+ :param pulumi.Input[str] provisioner_name: The name of the infrastructure provisioner to use.
831
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] scoped_services: The list of service names to scope this infrastructure definition to.
832
+ :param pulumi.Input[Union['InfrastructureDefinitionTanzuArgs', 'InfrastructureDefinitionTanzuArgsDict']] tanzu: The configuration details for PCF deployments.
833
+ """
834
+ ...
835
+ @overload
836
+ def __init__(__self__,
837
+ resource_name: str,
838
+ args: InfrastructureDefinitionArgs,
839
+ opts: Optional[pulumi.ResourceOptions] = None):
840
+ """
841
+ Resource for creating am infrastructure definition. 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.
842
+
843
+ ## Example Usage
844
+
845
+ ```python
846
+ import pulumi
847
+ import pulumi_harness as harness
848
+
849
+ # Creating a Kubernetes infrastructure definition
850
+ dev = harness.cloudprovider.Kubernetes("dev",
851
+ name="k8s-dev",
852
+ authentication={
853
+ "delegate_selectors": ["k8s"],
854
+ })
855
+ example = harness.Application("example", name="example")
856
+ dev_environment = harness.Environment("dev",
857
+ name="dev",
858
+ app_id=example.id,
859
+ type="NON_PROD")
860
+ # Creating a infrastructure of type KUBERNETES
861
+ k8s = harness.InfrastructureDefinition("k8s",
862
+ name="k8s-eks-us-east-1",
863
+ app_id=example.id,
864
+ env_id=dev_environment.id,
865
+ cloud_provider_type="KUBERNETES_CLUSTER",
866
+ deployment_type="KUBERNETES",
867
+ kubernetes={
868
+ "cloud_provider_name": dev.name,
869
+ "namespace": "dev",
870
+ "release_name": "${service.name}",
871
+ })
872
+ # Creating a Deployment Template for CUSTOM infrastructure type
873
+ example_yaml = harness.YamlConfig("example_yaml",
874
+ path="Setup/Template Library/Example Folder/deployment_template.yaml",
875
+ content=\"\"\"harnessApiVersion: '1.0'
876
+ type: CUSTOM_DEPLOYMENT_TYPE
877
+ fetchInstanceScript: |-
878
+ set -ex
879
+ curl http://${url}/${file_name} > ${INSTANCE_OUTPUT_PATH}
880
+ hostAttributes:
881
+ hostname: host
882
+ hostObjectArrayPath: hosts
883
+ variables:
884
+ - name: url
885
+ - name: file_name
886
+ \"\"\")
887
+ # Creating a infrastructure of type CUSTOM
888
+ custom = harness.InfrastructureDefinition("custom",
889
+ name="custom-infra",
890
+ app_id=example.id,
891
+ env_id=dev_environment.id,
892
+ cloud_provider_type="CUSTOM",
893
+ deployment_type="CUSTOM",
894
+ deployment_template_uri=example_yaml.name.apply(lambda name: f"Example Folder/{name}"),
895
+ custom={
896
+ "deployment_type_template_version": "1",
897
+ "variables": [
898
+ {
899
+ "name": "url",
900
+ "value": "localhost:8081",
901
+ },
902
+ {
903
+ "name": "file_name",
904
+ "value": "instances.json",
905
+ },
906
+ ],
907
+ })
908
+ ```
909
+
910
+ ## Import
911
+
912
+ Import using the Harness application id, environment id, and infrastructure definition id
913
+
914
+ ```sh
915
+ $ pulumi import harness:index/infrastructureDefinition:InfrastructureDefinition example <app_id>/<env_id>/<infradef_id>
916
+ ```
917
+
918
+ :param str resource_name: The name of the resource.
919
+ :param InfrastructureDefinitionArgs args: The arguments to use to populate this resource's properties.
920
+ :param pulumi.ResourceOptions opts: Options for the resource.
921
+ """
922
+ ...
923
+ def __init__(__self__, resource_name: str, *args, **kwargs):
924
+ resource_args, opts = _utilities.get_resource_args_opts(InfrastructureDefinitionArgs, pulumi.ResourceOptions, *args, **kwargs)
925
+ if resource_args is not None:
926
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
927
+ else:
928
+ __self__._internal_init(resource_name, *args, **kwargs)
929
+
930
+ def _internal_init(__self__,
931
+ resource_name: str,
932
+ opts: Optional[pulumi.ResourceOptions] = None,
933
+ app_id: Optional[pulumi.Input[str]] = None,
934
+ aws_ami: Optional[pulumi.Input[Union['InfrastructureDefinitionAwsAmiArgs', 'InfrastructureDefinitionAwsAmiArgsDict']]] = None,
935
+ aws_ecs: Optional[pulumi.Input[Union['InfrastructureDefinitionAwsEcsArgs', 'InfrastructureDefinitionAwsEcsArgsDict']]] = None,
936
+ aws_lambda: Optional[pulumi.Input[Union['InfrastructureDefinitionAwsLambdaArgs', 'InfrastructureDefinitionAwsLambdaArgsDict']]] = None,
937
+ aws_ssh: Optional[pulumi.Input[Union['InfrastructureDefinitionAwsSshArgs', 'InfrastructureDefinitionAwsSshArgsDict']]] = None,
938
+ aws_winrm: Optional[pulumi.Input[Union['InfrastructureDefinitionAwsWinrmArgs', 'InfrastructureDefinitionAwsWinrmArgsDict']]] = None,
939
+ azure_vmss: Optional[pulumi.Input[Union['InfrastructureDefinitionAzureVmssArgs', 'InfrastructureDefinitionAzureVmssArgsDict']]] = None,
940
+ azure_webapp: Optional[pulumi.Input[Union['InfrastructureDefinitionAzureWebappArgs', 'InfrastructureDefinitionAzureWebappArgsDict']]] = None,
941
+ cloud_provider_type: Optional[pulumi.Input[str]] = None,
942
+ custom: Optional[pulumi.Input[Union['InfrastructureDefinitionCustomArgs', 'InfrastructureDefinitionCustomArgsDict']]] = None,
943
+ datacenter_ssh: Optional[pulumi.Input[Union['InfrastructureDefinitionDatacenterSshArgs', 'InfrastructureDefinitionDatacenterSshArgsDict']]] = None,
944
+ datacenter_winrm: Optional[pulumi.Input[Union['InfrastructureDefinitionDatacenterWinrmArgs', 'InfrastructureDefinitionDatacenterWinrmArgsDict']]] = None,
945
+ deployment_template_uri: Optional[pulumi.Input[str]] = None,
946
+ deployment_type: Optional[pulumi.Input[str]] = None,
947
+ env_id: Optional[pulumi.Input[str]] = None,
948
+ kubernetes: Optional[pulumi.Input[Union['InfrastructureDefinitionKubernetesArgs', 'InfrastructureDefinitionKubernetesArgsDict']]] = None,
949
+ kubernetes_gcp: Optional[pulumi.Input[Union['InfrastructureDefinitionKubernetesGcpArgs', 'InfrastructureDefinitionKubernetesGcpArgsDict']]] = None,
950
+ name: Optional[pulumi.Input[str]] = None,
951
+ provisioner_name: Optional[pulumi.Input[str]] = None,
952
+ scoped_services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
953
+ tanzu: Optional[pulumi.Input[Union['InfrastructureDefinitionTanzuArgs', 'InfrastructureDefinitionTanzuArgsDict']]] = None,
954
+ __props__=None):
955
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
956
+ if not isinstance(opts, pulumi.ResourceOptions):
957
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
958
+ if opts.id is None:
959
+ if __props__ is not None:
960
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
961
+ __props__ = InfrastructureDefinitionArgs.__new__(InfrastructureDefinitionArgs)
962
+
963
+ if app_id is None and not opts.urn:
964
+ raise TypeError("Missing required property 'app_id'")
965
+ __props__.__dict__["app_id"] = app_id
966
+ __props__.__dict__["aws_ami"] = aws_ami
967
+ __props__.__dict__["aws_ecs"] = aws_ecs
968
+ __props__.__dict__["aws_lambda"] = aws_lambda
969
+ __props__.__dict__["aws_ssh"] = aws_ssh
970
+ __props__.__dict__["aws_winrm"] = aws_winrm
971
+ __props__.__dict__["azure_vmss"] = azure_vmss
972
+ __props__.__dict__["azure_webapp"] = azure_webapp
973
+ if cloud_provider_type is None and not opts.urn:
974
+ raise TypeError("Missing required property 'cloud_provider_type'")
975
+ __props__.__dict__["cloud_provider_type"] = cloud_provider_type
976
+ __props__.__dict__["custom"] = custom
977
+ __props__.__dict__["datacenter_ssh"] = datacenter_ssh
978
+ __props__.__dict__["datacenter_winrm"] = datacenter_winrm
979
+ __props__.__dict__["deployment_template_uri"] = deployment_template_uri
980
+ if deployment_type is None and not opts.urn:
981
+ raise TypeError("Missing required property 'deployment_type'")
982
+ __props__.__dict__["deployment_type"] = deployment_type
983
+ if env_id is None and not opts.urn:
984
+ raise TypeError("Missing required property 'env_id'")
985
+ __props__.__dict__["env_id"] = env_id
986
+ __props__.__dict__["kubernetes"] = kubernetes
987
+ __props__.__dict__["kubernetes_gcp"] = kubernetes_gcp
988
+ __props__.__dict__["name"] = name
989
+ __props__.__dict__["provisioner_name"] = provisioner_name
990
+ __props__.__dict__["scoped_services"] = scoped_services
991
+ __props__.__dict__["tanzu"] = tanzu
992
+ super(InfrastructureDefinition, __self__).__init__(
993
+ 'harness:index/infrastructureDefinition:InfrastructureDefinition',
994
+ resource_name,
995
+ __props__,
996
+ opts)
997
+
998
+ @staticmethod
999
+ def get(resource_name: str,
1000
+ id: pulumi.Input[str],
1001
+ opts: Optional[pulumi.ResourceOptions] = None,
1002
+ app_id: Optional[pulumi.Input[str]] = None,
1003
+ aws_ami: Optional[pulumi.Input[Union['InfrastructureDefinitionAwsAmiArgs', 'InfrastructureDefinitionAwsAmiArgsDict']]] = None,
1004
+ aws_ecs: Optional[pulumi.Input[Union['InfrastructureDefinitionAwsEcsArgs', 'InfrastructureDefinitionAwsEcsArgsDict']]] = None,
1005
+ aws_lambda: Optional[pulumi.Input[Union['InfrastructureDefinitionAwsLambdaArgs', 'InfrastructureDefinitionAwsLambdaArgsDict']]] = None,
1006
+ aws_ssh: Optional[pulumi.Input[Union['InfrastructureDefinitionAwsSshArgs', 'InfrastructureDefinitionAwsSshArgsDict']]] = None,
1007
+ aws_winrm: Optional[pulumi.Input[Union['InfrastructureDefinitionAwsWinrmArgs', 'InfrastructureDefinitionAwsWinrmArgsDict']]] = None,
1008
+ azure_vmss: Optional[pulumi.Input[Union['InfrastructureDefinitionAzureVmssArgs', 'InfrastructureDefinitionAzureVmssArgsDict']]] = None,
1009
+ azure_webapp: Optional[pulumi.Input[Union['InfrastructureDefinitionAzureWebappArgs', 'InfrastructureDefinitionAzureWebappArgsDict']]] = None,
1010
+ cloud_provider_type: Optional[pulumi.Input[str]] = None,
1011
+ custom: Optional[pulumi.Input[Union['InfrastructureDefinitionCustomArgs', 'InfrastructureDefinitionCustomArgsDict']]] = None,
1012
+ datacenter_ssh: Optional[pulumi.Input[Union['InfrastructureDefinitionDatacenterSshArgs', 'InfrastructureDefinitionDatacenterSshArgsDict']]] = None,
1013
+ datacenter_winrm: Optional[pulumi.Input[Union['InfrastructureDefinitionDatacenterWinrmArgs', 'InfrastructureDefinitionDatacenterWinrmArgsDict']]] = None,
1014
+ deployment_template_uri: Optional[pulumi.Input[str]] = None,
1015
+ deployment_type: Optional[pulumi.Input[str]] = None,
1016
+ env_id: Optional[pulumi.Input[str]] = None,
1017
+ kubernetes: Optional[pulumi.Input[Union['InfrastructureDefinitionKubernetesArgs', 'InfrastructureDefinitionKubernetesArgsDict']]] = None,
1018
+ kubernetes_gcp: Optional[pulumi.Input[Union['InfrastructureDefinitionKubernetesGcpArgs', 'InfrastructureDefinitionKubernetesGcpArgsDict']]] = None,
1019
+ name: Optional[pulumi.Input[str]] = None,
1020
+ provisioner_name: Optional[pulumi.Input[str]] = None,
1021
+ scoped_services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1022
+ tanzu: Optional[pulumi.Input[Union['InfrastructureDefinitionTanzuArgs', 'InfrastructureDefinitionTanzuArgsDict']]] = None) -> 'InfrastructureDefinition':
1023
+ """
1024
+ Get an existing InfrastructureDefinition resource's state with the given name, id, and optional extra
1025
+ properties used to qualify the lookup.
1026
+
1027
+ :param str resource_name: The unique name of the resulting resource.
1028
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1029
+ :param pulumi.ResourceOptions opts: Options for the resource.
1030
+ :param pulumi.Input[str] app_id: The id of the application the infrastructure definition belongs to.
1031
+ :param pulumi.Input[Union['InfrastructureDefinitionAwsAmiArgs', 'InfrastructureDefinitionAwsAmiArgsDict']] aws_ami: The configuration details for Aws AMI deployments.
1032
+ :param pulumi.Input[Union['InfrastructureDefinitionAwsEcsArgs', 'InfrastructureDefinitionAwsEcsArgsDict']] aws_ecs: The configuration details for Aws AMI deployments.
1033
+ :param pulumi.Input[Union['InfrastructureDefinitionAwsLambdaArgs', 'InfrastructureDefinitionAwsLambdaArgsDict']] aws_lambda: The configuration details for Aws Lambda deployments.
1034
+ :param pulumi.Input[Union['InfrastructureDefinitionAwsSshArgs', 'InfrastructureDefinitionAwsSshArgsDict']] aws_ssh: The configuration details for AWS SSH deployments.
1035
+ :param pulumi.Input[Union['InfrastructureDefinitionAwsWinrmArgs', 'InfrastructureDefinitionAwsWinrmArgsDict']] aws_winrm: The configuration details for AWS WinRM deployments.
1036
+ :param pulumi.Input[Union['InfrastructureDefinitionAzureVmssArgs', 'InfrastructureDefinitionAzureVmssArgsDict']] azure_vmss: The configuration details for Azure VMSS deployments.
1037
+ :param pulumi.Input[Union['InfrastructureDefinitionAzureWebappArgs', 'InfrastructureDefinitionAzureWebappArgsDict']] azure_webapp: The configuration details for Azure WebApp deployments.
1038
+ :param pulumi.Input[str] cloud_provider_type: The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICAL*DATA*CENTER, KUBERNETES*CLUSTER, PCF, SPOT*INST
1039
+ :param pulumi.Input[Union['InfrastructureDefinitionCustomArgs', 'InfrastructureDefinitionCustomArgsDict']] custom: The configuration details for Custom deployments.
1040
+ :param pulumi.Input[Union['InfrastructureDefinitionDatacenterSshArgs', 'InfrastructureDefinitionDatacenterSshArgsDict']] datacenter_ssh: The configuration details for SSH datacenter deployments.
1041
+ :param pulumi.Input[Union['InfrastructureDefinitionDatacenterWinrmArgs', 'InfrastructureDefinitionDatacenterWinrmArgsDict']] datacenter_winrm: The configuration details for WinRM datacenter deployments.
1042
+ :param pulumi.Input[str] deployment_template_uri: The URI of the deployment template to use. Only used if deployment_type is `CUSTOM`.
1043
+ :param pulumi.Input[str] deployment_type: The type of the deployment to use. Valid options are AMI, AWS*CODEDEPLOY, AWS*LAMBDA, AZURE*VMSS, AZURE*WEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM
1044
+ :param pulumi.Input[str] env_id: The id of the environment the infrastructure definition belongs to.
1045
+ :param pulumi.Input[Union['InfrastructureDefinitionKubernetesArgs', 'InfrastructureDefinitionKubernetesArgsDict']] kubernetes: The configuration details for Kubernetes deployments.
1046
+ :param pulumi.Input[Union['InfrastructureDefinitionKubernetesGcpArgs', 'InfrastructureDefinitionKubernetesGcpArgsDict']] kubernetes_gcp: The configuration details for Kubernetes on GCP deployments.
1047
+ :param pulumi.Input[str] name: The name of the infrastructure definition
1048
+ :param pulumi.Input[str] provisioner_name: The name of the infrastructure provisioner to use.
1049
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] scoped_services: The list of service names to scope this infrastructure definition to.
1050
+ :param pulumi.Input[Union['InfrastructureDefinitionTanzuArgs', 'InfrastructureDefinitionTanzuArgsDict']] tanzu: The configuration details for PCF deployments.
1051
+ """
1052
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1053
+
1054
+ __props__ = _InfrastructureDefinitionState.__new__(_InfrastructureDefinitionState)
1055
+
1056
+ __props__.__dict__["app_id"] = app_id
1057
+ __props__.__dict__["aws_ami"] = aws_ami
1058
+ __props__.__dict__["aws_ecs"] = aws_ecs
1059
+ __props__.__dict__["aws_lambda"] = aws_lambda
1060
+ __props__.__dict__["aws_ssh"] = aws_ssh
1061
+ __props__.__dict__["aws_winrm"] = aws_winrm
1062
+ __props__.__dict__["azure_vmss"] = azure_vmss
1063
+ __props__.__dict__["azure_webapp"] = azure_webapp
1064
+ __props__.__dict__["cloud_provider_type"] = cloud_provider_type
1065
+ __props__.__dict__["custom"] = custom
1066
+ __props__.__dict__["datacenter_ssh"] = datacenter_ssh
1067
+ __props__.__dict__["datacenter_winrm"] = datacenter_winrm
1068
+ __props__.__dict__["deployment_template_uri"] = deployment_template_uri
1069
+ __props__.__dict__["deployment_type"] = deployment_type
1070
+ __props__.__dict__["env_id"] = env_id
1071
+ __props__.__dict__["kubernetes"] = kubernetes
1072
+ __props__.__dict__["kubernetes_gcp"] = kubernetes_gcp
1073
+ __props__.__dict__["name"] = name
1074
+ __props__.__dict__["provisioner_name"] = provisioner_name
1075
+ __props__.__dict__["scoped_services"] = scoped_services
1076
+ __props__.__dict__["tanzu"] = tanzu
1077
+ return InfrastructureDefinition(resource_name, opts=opts, __props__=__props__)
1078
+
1079
+ @property
1080
+ @pulumi.getter(name="appId")
1081
+ def app_id(self) -> pulumi.Output[str]:
1082
+ """
1083
+ The id of the application the infrastructure definition belongs to.
1084
+ """
1085
+ return pulumi.get(self, "app_id")
1086
+
1087
+ @property
1088
+ @pulumi.getter(name="awsAmi")
1089
+ def aws_ami(self) -> pulumi.Output[Optional['outputs.InfrastructureDefinitionAwsAmi']]:
1090
+ """
1091
+ The configuration details for Aws AMI deployments.
1092
+ """
1093
+ return pulumi.get(self, "aws_ami")
1094
+
1095
+ @property
1096
+ @pulumi.getter(name="awsEcs")
1097
+ def aws_ecs(self) -> pulumi.Output[Optional['outputs.InfrastructureDefinitionAwsEcs']]:
1098
+ """
1099
+ The configuration details for Aws AMI deployments.
1100
+ """
1101
+ return pulumi.get(self, "aws_ecs")
1102
+
1103
+ @property
1104
+ @pulumi.getter(name="awsLambda")
1105
+ def aws_lambda(self) -> pulumi.Output[Optional['outputs.InfrastructureDefinitionAwsLambda']]:
1106
+ """
1107
+ The configuration details for Aws Lambda deployments.
1108
+ """
1109
+ return pulumi.get(self, "aws_lambda")
1110
+
1111
+ @property
1112
+ @pulumi.getter(name="awsSsh")
1113
+ def aws_ssh(self) -> pulumi.Output[Optional['outputs.InfrastructureDefinitionAwsSsh']]:
1114
+ """
1115
+ The configuration details for AWS SSH deployments.
1116
+ """
1117
+ return pulumi.get(self, "aws_ssh")
1118
+
1119
+ @property
1120
+ @pulumi.getter(name="awsWinrm")
1121
+ def aws_winrm(self) -> pulumi.Output[Optional['outputs.InfrastructureDefinitionAwsWinrm']]:
1122
+ """
1123
+ The configuration details for AWS WinRM deployments.
1124
+ """
1125
+ return pulumi.get(self, "aws_winrm")
1126
+
1127
+ @property
1128
+ @pulumi.getter(name="azureVmss")
1129
+ def azure_vmss(self) -> pulumi.Output[Optional['outputs.InfrastructureDefinitionAzureVmss']]:
1130
+ """
1131
+ The configuration details for Azure VMSS deployments.
1132
+ """
1133
+ return pulumi.get(self, "azure_vmss")
1134
+
1135
+ @property
1136
+ @pulumi.getter(name="azureWebapp")
1137
+ def azure_webapp(self) -> pulumi.Output[Optional['outputs.InfrastructureDefinitionAzureWebapp']]:
1138
+ """
1139
+ The configuration details for Azure WebApp deployments.
1140
+ """
1141
+ return pulumi.get(self, "azure_webapp")
1142
+
1143
+ @property
1144
+ @pulumi.getter(name="cloudProviderType")
1145
+ def cloud_provider_type(self) -> pulumi.Output[str]:
1146
+ """
1147
+ The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICAL*DATA*CENTER, KUBERNETES*CLUSTER, PCF, SPOT*INST
1148
+ """
1149
+ return pulumi.get(self, "cloud_provider_type")
1150
+
1151
+ @property
1152
+ @pulumi.getter
1153
+ def custom(self) -> pulumi.Output[Optional['outputs.InfrastructureDefinitionCustom']]:
1154
+ """
1155
+ The configuration details for Custom deployments.
1156
+ """
1157
+ return pulumi.get(self, "custom")
1158
+
1159
+ @property
1160
+ @pulumi.getter(name="datacenterSsh")
1161
+ def datacenter_ssh(self) -> pulumi.Output[Optional['outputs.InfrastructureDefinitionDatacenterSsh']]:
1162
+ """
1163
+ The configuration details for SSH datacenter deployments.
1164
+ """
1165
+ return pulumi.get(self, "datacenter_ssh")
1166
+
1167
+ @property
1168
+ @pulumi.getter(name="datacenterWinrm")
1169
+ def datacenter_winrm(self) -> pulumi.Output[Optional['outputs.InfrastructureDefinitionDatacenterWinrm']]:
1170
+ """
1171
+ The configuration details for WinRM datacenter deployments.
1172
+ """
1173
+ return pulumi.get(self, "datacenter_winrm")
1174
+
1175
+ @property
1176
+ @pulumi.getter(name="deploymentTemplateUri")
1177
+ def deployment_template_uri(self) -> pulumi.Output[Optional[str]]:
1178
+ """
1179
+ The URI of the deployment template to use. Only used if deployment_type is `CUSTOM`.
1180
+ """
1181
+ return pulumi.get(self, "deployment_template_uri")
1182
+
1183
+ @property
1184
+ @pulumi.getter(name="deploymentType")
1185
+ def deployment_type(self) -> pulumi.Output[str]:
1186
+ """
1187
+ The type of the deployment to use. Valid options are AMI, AWS*CODEDEPLOY, AWS*LAMBDA, AZURE*VMSS, AZURE*WEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM
1188
+ """
1189
+ return pulumi.get(self, "deployment_type")
1190
+
1191
+ @property
1192
+ @pulumi.getter(name="envId")
1193
+ def env_id(self) -> pulumi.Output[str]:
1194
+ """
1195
+ The id of the environment the infrastructure definition belongs to.
1196
+ """
1197
+ return pulumi.get(self, "env_id")
1198
+
1199
+ @property
1200
+ @pulumi.getter
1201
+ def kubernetes(self) -> pulumi.Output[Optional['outputs.InfrastructureDefinitionKubernetes']]:
1202
+ """
1203
+ The configuration details for Kubernetes deployments.
1204
+ """
1205
+ return pulumi.get(self, "kubernetes")
1206
+
1207
+ @property
1208
+ @pulumi.getter(name="kubernetesGcp")
1209
+ def kubernetes_gcp(self) -> pulumi.Output[Optional['outputs.InfrastructureDefinitionKubernetesGcp']]:
1210
+ """
1211
+ The configuration details for Kubernetes on GCP deployments.
1212
+ """
1213
+ return pulumi.get(self, "kubernetes_gcp")
1214
+
1215
+ @property
1216
+ @pulumi.getter
1217
+ def name(self) -> pulumi.Output[str]:
1218
+ """
1219
+ The name of the infrastructure definition
1220
+ """
1221
+ return pulumi.get(self, "name")
1222
+
1223
+ @property
1224
+ @pulumi.getter(name="provisionerName")
1225
+ def provisioner_name(self) -> pulumi.Output[Optional[str]]:
1226
+ """
1227
+ The name of the infrastructure provisioner to use.
1228
+ """
1229
+ return pulumi.get(self, "provisioner_name")
1230
+
1231
+ @property
1232
+ @pulumi.getter(name="scopedServices")
1233
+ def scoped_services(self) -> pulumi.Output[Optional[Sequence[str]]]:
1234
+ """
1235
+ The list of service names to scope this infrastructure definition to.
1236
+ """
1237
+ return pulumi.get(self, "scoped_services")
1238
+
1239
+ @property
1240
+ @pulumi.getter
1241
+ def tanzu(self) -> pulumi.Output[Optional['outputs.InfrastructureDefinitionTanzu']]:
1242
+ """
1243
+ The configuration details for PCF deployments.
1244
+ """
1245
+ return pulumi.get(self, "tanzu")
1246
+