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,462 @@
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__ = ['SloArgs', 'Slo']
20
+
21
+ @pulumi.input_type
22
+ class SloArgs:
23
+ def __init__(__self__, *,
24
+ identifier: pulumi.Input[str],
25
+ org_id: pulumi.Input[str],
26
+ project_id: pulumi.Input[str],
27
+ request: Optional[pulumi.Input['SloRequestArgs']] = None):
28
+ """
29
+ The set of arguments for constructing a Slo resource.
30
+ :param pulumi.Input[str] identifier: Identifier of the SLO.
31
+ :param pulumi.Input[str] org_id: Identifier of the organization in which the SLO is configured.
32
+ :param pulumi.Input[str] project_id: Identifier of the project in which the SLO is configured.
33
+ :param pulumi.Input['SloRequestArgs'] request: Request for creating or updating SLO.
34
+ """
35
+ pulumi.set(__self__, "identifier", identifier)
36
+ pulumi.set(__self__, "org_id", org_id)
37
+ pulumi.set(__self__, "project_id", project_id)
38
+ if request is not None:
39
+ pulumi.set(__self__, "request", request)
40
+
41
+ @property
42
+ @pulumi.getter
43
+ def identifier(self) -> pulumi.Input[str]:
44
+ """
45
+ Identifier of the SLO.
46
+ """
47
+ return pulumi.get(self, "identifier")
48
+
49
+ @identifier.setter
50
+ def identifier(self, value: pulumi.Input[str]):
51
+ pulumi.set(self, "identifier", value)
52
+
53
+ @property
54
+ @pulumi.getter(name="orgId")
55
+ def org_id(self) -> pulumi.Input[str]:
56
+ """
57
+ Identifier of the organization in which the SLO is configured.
58
+ """
59
+ return pulumi.get(self, "org_id")
60
+
61
+ @org_id.setter
62
+ def org_id(self, value: pulumi.Input[str]):
63
+ pulumi.set(self, "org_id", value)
64
+
65
+ @property
66
+ @pulumi.getter(name="projectId")
67
+ def project_id(self) -> pulumi.Input[str]:
68
+ """
69
+ Identifier of the project in which the SLO is configured.
70
+ """
71
+ return pulumi.get(self, "project_id")
72
+
73
+ @project_id.setter
74
+ def project_id(self, value: pulumi.Input[str]):
75
+ pulumi.set(self, "project_id", value)
76
+
77
+ @property
78
+ @pulumi.getter
79
+ def request(self) -> Optional[pulumi.Input['SloRequestArgs']]:
80
+ """
81
+ Request for creating or updating SLO.
82
+ """
83
+ return pulumi.get(self, "request")
84
+
85
+ @request.setter
86
+ def request(self, value: Optional[pulumi.Input['SloRequestArgs']]):
87
+ pulumi.set(self, "request", value)
88
+
89
+
90
+ @pulumi.input_type
91
+ class _SloState:
92
+ def __init__(__self__, *,
93
+ identifier: Optional[pulumi.Input[str]] = None,
94
+ org_id: Optional[pulumi.Input[str]] = None,
95
+ project_id: Optional[pulumi.Input[str]] = None,
96
+ request: Optional[pulumi.Input['SloRequestArgs']] = None):
97
+ """
98
+ Input properties used for looking up and filtering Slo resources.
99
+ :param pulumi.Input[str] identifier: Identifier of the SLO.
100
+ :param pulumi.Input[str] org_id: Identifier of the organization in which the SLO is configured.
101
+ :param pulumi.Input[str] project_id: Identifier of the project in which the SLO is configured.
102
+ :param pulumi.Input['SloRequestArgs'] request: Request for creating or updating SLO.
103
+ """
104
+ if identifier is not None:
105
+ pulumi.set(__self__, "identifier", identifier)
106
+ if org_id is not None:
107
+ pulumi.set(__self__, "org_id", org_id)
108
+ if project_id is not None:
109
+ pulumi.set(__self__, "project_id", project_id)
110
+ if request is not None:
111
+ pulumi.set(__self__, "request", request)
112
+
113
+ @property
114
+ @pulumi.getter
115
+ def identifier(self) -> Optional[pulumi.Input[str]]:
116
+ """
117
+ Identifier of the SLO.
118
+ """
119
+ return pulumi.get(self, "identifier")
120
+
121
+ @identifier.setter
122
+ def identifier(self, value: Optional[pulumi.Input[str]]):
123
+ pulumi.set(self, "identifier", value)
124
+
125
+ @property
126
+ @pulumi.getter(name="orgId")
127
+ def org_id(self) -> Optional[pulumi.Input[str]]:
128
+ """
129
+ Identifier of the organization in which the SLO is configured.
130
+ """
131
+ return pulumi.get(self, "org_id")
132
+
133
+ @org_id.setter
134
+ def org_id(self, value: Optional[pulumi.Input[str]]):
135
+ pulumi.set(self, "org_id", value)
136
+
137
+ @property
138
+ @pulumi.getter(name="projectId")
139
+ def project_id(self) -> Optional[pulumi.Input[str]]:
140
+ """
141
+ Identifier of the project in which the SLO is configured.
142
+ """
143
+ return pulumi.get(self, "project_id")
144
+
145
+ @project_id.setter
146
+ def project_id(self, value: Optional[pulumi.Input[str]]):
147
+ pulumi.set(self, "project_id", value)
148
+
149
+ @property
150
+ @pulumi.getter
151
+ def request(self) -> Optional[pulumi.Input['SloRequestArgs']]:
152
+ """
153
+ Request for creating or updating SLO.
154
+ """
155
+ return pulumi.get(self, "request")
156
+
157
+ @request.setter
158
+ def request(self, value: Optional[pulumi.Input['SloRequestArgs']]):
159
+ pulumi.set(self, "request", value)
160
+
161
+
162
+ class Slo(pulumi.CustomResource):
163
+ @overload
164
+ def __init__(__self__,
165
+ resource_name: str,
166
+ opts: Optional[pulumi.ResourceOptions] = None,
167
+ identifier: Optional[pulumi.Input[str]] = None,
168
+ org_id: Optional[pulumi.Input[str]] = None,
169
+ project_id: Optional[pulumi.Input[str]] = None,
170
+ request: Optional[pulumi.Input[Union['SloRequestArgs', 'SloRequestArgsDict']]] = None,
171
+ __props__=None):
172
+ """
173
+ Resource for creating an SLO.
174
+
175
+ ## Example Usage
176
+
177
+ ```python
178
+ import pulumi
179
+ import json
180
+ import pulumi_harness as harness
181
+
182
+ example = harness.platform.Slo("example",
183
+ org_id="default",
184
+ project_id="default_project",
185
+ identifier="TerraformSLO",
186
+ request={
187
+ "name": "TSLO",
188
+ "description": "description",
189
+ "tags": [
190
+ "foo:bar",
191
+ "bar:foo",
192
+ ],
193
+ "user_journey_refs": [
194
+ "one",
195
+ "two",
196
+ ],
197
+ "slo_target": {
198
+ "type": "Calender",
199
+ "slo_target_percentage": 10,
200
+ "spec": json.dumps({
201
+ "type": "Monthly",
202
+ "spec": {
203
+ "dayOfMonth": 5,
204
+ },
205
+ }),
206
+ },
207
+ "type": "Simple",
208
+ "spec": json.dumps({
209
+ "monitoredServiceRef": "monitoredServiceRef",
210
+ "serviceLevelIndicatorType": "Availability",
211
+ "serviceLevelIndicators": [{
212
+ "name": "name",
213
+ "identifier": "identifier",
214
+ "type": "Window",
215
+ "spec": {
216
+ "type": "Threshold",
217
+ "spec": {
218
+ "metric1": "metric1",
219
+ "thresholdValue": 10,
220
+ "thresholdType": ">",
221
+ },
222
+ "sliMissingDataType": "Good",
223
+ },
224
+ }],
225
+ }),
226
+ "notification_rule_refs": [{
227
+ "notification_rule_ref": "notification_rule_ref",
228
+ "enabled": True,
229
+ }],
230
+ })
231
+ ```
232
+
233
+ Note the above example is for "Threshold" SLI type, if you want to use
234
+ "Ratio", the SLI should be changed appropriately.
235
+ Here's an example of SLO target and Spec for "Ratio" based SLI and
236
+ "Rolling" SLO target.
237
+
238
+ ## Import
239
+
240
+ Import account level SLO
241
+
242
+ ```sh
243
+ $ pulumi import harness:platform/slo:Slo example <slo_id>
244
+ ```
245
+
246
+ Import organization level SLO
247
+
248
+ ```sh
249
+ $ pulumi import harness:platform/slo:Slo example <org_id>/<slo_id>
250
+ ```
251
+
252
+ Import project level SLO
253
+
254
+ ```sh
255
+ $ pulumi import harness:platform/slo:Slo example <org_id>/<project_id>/<slo_id>
256
+ ```
257
+
258
+ :param str resource_name: The name of the resource.
259
+ :param pulumi.ResourceOptions opts: Options for the resource.
260
+ :param pulumi.Input[str] identifier: Identifier of the SLO.
261
+ :param pulumi.Input[str] org_id: Identifier of the organization in which the SLO is configured.
262
+ :param pulumi.Input[str] project_id: Identifier of the project in which the SLO is configured.
263
+ :param pulumi.Input[Union['SloRequestArgs', 'SloRequestArgsDict']] request: Request for creating or updating SLO.
264
+ """
265
+ ...
266
+ @overload
267
+ def __init__(__self__,
268
+ resource_name: str,
269
+ args: SloArgs,
270
+ opts: Optional[pulumi.ResourceOptions] = None):
271
+ """
272
+ Resource for creating an SLO.
273
+
274
+ ## Example Usage
275
+
276
+ ```python
277
+ import pulumi
278
+ import json
279
+ import pulumi_harness as harness
280
+
281
+ example = harness.platform.Slo("example",
282
+ org_id="default",
283
+ project_id="default_project",
284
+ identifier="TerraformSLO",
285
+ request={
286
+ "name": "TSLO",
287
+ "description": "description",
288
+ "tags": [
289
+ "foo:bar",
290
+ "bar:foo",
291
+ ],
292
+ "user_journey_refs": [
293
+ "one",
294
+ "two",
295
+ ],
296
+ "slo_target": {
297
+ "type": "Calender",
298
+ "slo_target_percentage": 10,
299
+ "spec": json.dumps({
300
+ "type": "Monthly",
301
+ "spec": {
302
+ "dayOfMonth": 5,
303
+ },
304
+ }),
305
+ },
306
+ "type": "Simple",
307
+ "spec": json.dumps({
308
+ "monitoredServiceRef": "monitoredServiceRef",
309
+ "serviceLevelIndicatorType": "Availability",
310
+ "serviceLevelIndicators": [{
311
+ "name": "name",
312
+ "identifier": "identifier",
313
+ "type": "Window",
314
+ "spec": {
315
+ "type": "Threshold",
316
+ "spec": {
317
+ "metric1": "metric1",
318
+ "thresholdValue": 10,
319
+ "thresholdType": ">",
320
+ },
321
+ "sliMissingDataType": "Good",
322
+ },
323
+ }],
324
+ }),
325
+ "notification_rule_refs": [{
326
+ "notification_rule_ref": "notification_rule_ref",
327
+ "enabled": True,
328
+ }],
329
+ })
330
+ ```
331
+
332
+ Note the above example is for "Threshold" SLI type, if you want to use
333
+ "Ratio", the SLI should be changed appropriately.
334
+ Here's an example of SLO target and Spec for "Ratio" based SLI and
335
+ "Rolling" SLO target.
336
+
337
+ ## Import
338
+
339
+ Import account level SLO
340
+
341
+ ```sh
342
+ $ pulumi import harness:platform/slo:Slo example <slo_id>
343
+ ```
344
+
345
+ Import organization level SLO
346
+
347
+ ```sh
348
+ $ pulumi import harness:platform/slo:Slo example <org_id>/<slo_id>
349
+ ```
350
+
351
+ Import project level SLO
352
+
353
+ ```sh
354
+ $ pulumi import harness:platform/slo:Slo example <org_id>/<project_id>/<slo_id>
355
+ ```
356
+
357
+ :param str resource_name: The name of the resource.
358
+ :param SloArgs args: The arguments to use to populate this resource's properties.
359
+ :param pulumi.ResourceOptions opts: Options for the resource.
360
+ """
361
+ ...
362
+ def __init__(__self__, resource_name: str, *args, **kwargs):
363
+ resource_args, opts = _utilities.get_resource_args_opts(SloArgs, pulumi.ResourceOptions, *args, **kwargs)
364
+ if resource_args is not None:
365
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
366
+ else:
367
+ __self__._internal_init(resource_name, *args, **kwargs)
368
+
369
+ def _internal_init(__self__,
370
+ resource_name: str,
371
+ opts: Optional[pulumi.ResourceOptions] = None,
372
+ identifier: Optional[pulumi.Input[str]] = None,
373
+ org_id: Optional[pulumi.Input[str]] = None,
374
+ project_id: Optional[pulumi.Input[str]] = None,
375
+ request: Optional[pulumi.Input[Union['SloRequestArgs', 'SloRequestArgsDict']]] = None,
376
+ __props__=None):
377
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
378
+ if not isinstance(opts, pulumi.ResourceOptions):
379
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
380
+ if opts.id is None:
381
+ if __props__ is not None:
382
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
383
+ __props__ = SloArgs.__new__(SloArgs)
384
+
385
+ if identifier is None and not opts.urn:
386
+ raise TypeError("Missing required property 'identifier'")
387
+ __props__.__dict__["identifier"] = identifier
388
+ if org_id is None and not opts.urn:
389
+ raise TypeError("Missing required property 'org_id'")
390
+ __props__.__dict__["org_id"] = org_id
391
+ if project_id is None and not opts.urn:
392
+ raise TypeError("Missing required property 'project_id'")
393
+ __props__.__dict__["project_id"] = project_id
394
+ __props__.__dict__["request"] = request
395
+ super(Slo, __self__).__init__(
396
+ 'harness:platform/slo:Slo',
397
+ resource_name,
398
+ __props__,
399
+ opts)
400
+
401
+ @staticmethod
402
+ def get(resource_name: str,
403
+ id: pulumi.Input[str],
404
+ opts: Optional[pulumi.ResourceOptions] = None,
405
+ identifier: Optional[pulumi.Input[str]] = None,
406
+ org_id: Optional[pulumi.Input[str]] = None,
407
+ project_id: Optional[pulumi.Input[str]] = None,
408
+ request: Optional[pulumi.Input[Union['SloRequestArgs', 'SloRequestArgsDict']]] = None) -> 'Slo':
409
+ """
410
+ Get an existing Slo resource's state with the given name, id, and optional extra
411
+ properties used to qualify the lookup.
412
+
413
+ :param str resource_name: The unique name of the resulting resource.
414
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
415
+ :param pulumi.ResourceOptions opts: Options for the resource.
416
+ :param pulumi.Input[str] identifier: Identifier of the SLO.
417
+ :param pulumi.Input[str] org_id: Identifier of the organization in which the SLO is configured.
418
+ :param pulumi.Input[str] project_id: Identifier of the project in which the SLO is configured.
419
+ :param pulumi.Input[Union['SloRequestArgs', 'SloRequestArgsDict']] request: Request for creating or updating SLO.
420
+ """
421
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
422
+
423
+ __props__ = _SloState.__new__(_SloState)
424
+
425
+ __props__.__dict__["identifier"] = identifier
426
+ __props__.__dict__["org_id"] = org_id
427
+ __props__.__dict__["project_id"] = project_id
428
+ __props__.__dict__["request"] = request
429
+ return Slo(resource_name, opts=opts, __props__=__props__)
430
+
431
+ @property
432
+ @pulumi.getter
433
+ def identifier(self) -> pulumi.Output[str]:
434
+ """
435
+ Identifier of the SLO.
436
+ """
437
+ return pulumi.get(self, "identifier")
438
+
439
+ @property
440
+ @pulumi.getter(name="orgId")
441
+ def org_id(self) -> pulumi.Output[str]:
442
+ """
443
+ Identifier of the organization in which the SLO is configured.
444
+ """
445
+ return pulumi.get(self, "org_id")
446
+
447
+ @property
448
+ @pulumi.getter(name="projectId")
449
+ def project_id(self) -> pulumi.Output[str]:
450
+ """
451
+ Identifier of the project in which the SLO is configured.
452
+ """
453
+ return pulumi.get(self, "project_id")
454
+
455
+ @property
456
+ @pulumi.getter
457
+ def request(self) -> pulumi.Output[Optional['outputs.SloRequest']]:
458
+ """
459
+ Request for creating or updating SLO.
460
+ """
461
+ return pulumi.get(self, "request")
462
+