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