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,779 @@
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__ = ['GcpProxyArgs', 'GcpProxy']
20
+
21
+ @pulumi.input_type
22
+ class GcpProxyArgs:
23
+ def __init__(__self__, *,
24
+ api_key: pulumi.Input[str],
25
+ cloud_connector_id: pulumi.Input[str],
26
+ delete_cloud_resources_on_destroy: pulumi.Input[bool],
27
+ host_name: pulumi.Input[str],
28
+ machine_type: pulumi.Input[str],
29
+ region: pulumi.Input[str],
30
+ subnet_id: pulumi.Input[str],
31
+ vpc: pulumi.Input[str],
32
+ zone: pulumi.Input[str],
33
+ allocate_static_ip: Optional[pulumi.Input[bool]] = None,
34
+ certificates: Optional[pulumi.Input['GcpProxyCertificatesArgs']] = None,
35
+ name: Optional[pulumi.Input[str]] = None,
36
+ security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
37
+ """
38
+ The set of arguments for constructing a GcpProxy resource.
39
+ :param pulumi.Input[str] api_key: Harness NG API key
40
+ :param pulumi.Input[str] cloud_connector_id: Id of the cloud connector
41
+ :param pulumi.Input[str] host_name: Hostname for the proxy
42
+ :param pulumi.Input[str] machine_type: Machine instance type
43
+ :param pulumi.Input[str] region: Region in which cloud resources are hosted
44
+ :param pulumi.Input[str] subnet_id: VPC in which cloud resources are hosted
45
+ :param pulumi.Input[str] vpc: VPC in which cloud resources are hosted
46
+ :param pulumi.Input[str] zone: Zone in which cloud resources are hosted
47
+ :param pulumi.Input[bool] allocate_static_ip: Boolean value to indicate if proxy vm needs to have static IP
48
+ :param pulumi.Input[str] name: Name of the proxy
49
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: Security Group to define the security rules that determine the inbound and outbound traffic
50
+ """
51
+ pulumi.set(__self__, "api_key", api_key)
52
+ pulumi.set(__self__, "cloud_connector_id", cloud_connector_id)
53
+ pulumi.set(__self__, "delete_cloud_resources_on_destroy", delete_cloud_resources_on_destroy)
54
+ pulumi.set(__self__, "host_name", host_name)
55
+ pulumi.set(__self__, "machine_type", machine_type)
56
+ pulumi.set(__self__, "region", region)
57
+ pulumi.set(__self__, "subnet_id", subnet_id)
58
+ pulumi.set(__self__, "vpc", vpc)
59
+ pulumi.set(__self__, "zone", zone)
60
+ if allocate_static_ip is not None:
61
+ pulumi.set(__self__, "allocate_static_ip", allocate_static_ip)
62
+ if certificates is not None:
63
+ pulumi.set(__self__, "certificates", certificates)
64
+ if name is not None:
65
+ pulumi.set(__self__, "name", name)
66
+ if security_groups is not None:
67
+ pulumi.set(__self__, "security_groups", security_groups)
68
+
69
+ @property
70
+ @pulumi.getter(name="apiKey")
71
+ def api_key(self) -> pulumi.Input[str]:
72
+ """
73
+ Harness NG API key
74
+ """
75
+ return pulumi.get(self, "api_key")
76
+
77
+ @api_key.setter
78
+ def api_key(self, value: pulumi.Input[str]):
79
+ pulumi.set(self, "api_key", value)
80
+
81
+ @property
82
+ @pulumi.getter(name="cloudConnectorId")
83
+ def cloud_connector_id(self) -> pulumi.Input[str]:
84
+ """
85
+ Id of the cloud connector
86
+ """
87
+ return pulumi.get(self, "cloud_connector_id")
88
+
89
+ @cloud_connector_id.setter
90
+ def cloud_connector_id(self, value: pulumi.Input[str]):
91
+ pulumi.set(self, "cloud_connector_id", value)
92
+
93
+ @property
94
+ @pulumi.getter(name="deleteCloudResourcesOnDestroy")
95
+ def delete_cloud_resources_on_destroy(self) -> pulumi.Input[bool]:
96
+ return pulumi.get(self, "delete_cloud_resources_on_destroy")
97
+
98
+ @delete_cloud_resources_on_destroy.setter
99
+ def delete_cloud_resources_on_destroy(self, value: pulumi.Input[bool]):
100
+ pulumi.set(self, "delete_cloud_resources_on_destroy", value)
101
+
102
+ @property
103
+ @pulumi.getter(name="hostName")
104
+ def host_name(self) -> pulumi.Input[str]:
105
+ """
106
+ Hostname for the proxy
107
+ """
108
+ return pulumi.get(self, "host_name")
109
+
110
+ @host_name.setter
111
+ def host_name(self, value: pulumi.Input[str]):
112
+ pulumi.set(self, "host_name", value)
113
+
114
+ @property
115
+ @pulumi.getter(name="machineType")
116
+ def machine_type(self) -> pulumi.Input[str]:
117
+ """
118
+ Machine instance type
119
+ """
120
+ return pulumi.get(self, "machine_type")
121
+
122
+ @machine_type.setter
123
+ def machine_type(self, value: pulumi.Input[str]):
124
+ pulumi.set(self, "machine_type", value)
125
+
126
+ @property
127
+ @pulumi.getter
128
+ def region(self) -> pulumi.Input[str]:
129
+ """
130
+ Region in which cloud resources are hosted
131
+ """
132
+ return pulumi.get(self, "region")
133
+
134
+ @region.setter
135
+ def region(self, value: pulumi.Input[str]):
136
+ pulumi.set(self, "region", value)
137
+
138
+ @property
139
+ @pulumi.getter(name="subnetId")
140
+ def subnet_id(self) -> pulumi.Input[str]:
141
+ """
142
+ VPC in which cloud resources are hosted
143
+ """
144
+ return pulumi.get(self, "subnet_id")
145
+
146
+ @subnet_id.setter
147
+ def subnet_id(self, value: pulumi.Input[str]):
148
+ pulumi.set(self, "subnet_id", value)
149
+
150
+ @property
151
+ @pulumi.getter
152
+ def vpc(self) -> pulumi.Input[str]:
153
+ """
154
+ VPC in which cloud resources are hosted
155
+ """
156
+ return pulumi.get(self, "vpc")
157
+
158
+ @vpc.setter
159
+ def vpc(self, value: pulumi.Input[str]):
160
+ pulumi.set(self, "vpc", value)
161
+
162
+ @property
163
+ @pulumi.getter
164
+ def zone(self) -> pulumi.Input[str]:
165
+ """
166
+ Zone in which cloud resources are hosted
167
+ """
168
+ return pulumi.get(self, "zone")
169
+
170
+ @zone.setter
171
+ def zone(self, value: pulumi.Input[str]):
172
+ pulumi.set(self, "zone", value)
173
+
174
+ @property
175
+ @pulumi.getter(name="allocateStaticIp")
176
+ def allocate_static_ip(self) -> Optional[pulumi.Input[bool]]:
177
+ """
178
+ Boolean value to indicate if proxy vm needs to have static IP
179
+ """
180
+ return pulumi.get(self, "allocate_static_ip")
181
+
182
+ @allocate_static_ip.setter
183
+ def allocate_static_ip(self, value: Optional[pulumi.Input[bool]]):
184
+ pulumi.set(self, "allocate_static_ip", value)
185
+
186
+ @property
187
+ @pulumi.getter
188
+ def certificates(self) -> Optional[pulumi.Input['GcpProxyCertificatesArgs']]:
189
+ return pulumi.get(self, "certificates")
190
+
191
+ @certificates.setter
192
+ def certificates(self, value: Optional[pulumi.Input['GcpProxyCertificatesArgs']]):
193
+ pulumi.set(self, "certificates", value)
194
+
195
+ @property
196
+ @pulumi.getter
197
+ def name(self) -> Optional[pulumi.Input[str]]:
198
+ """
199
+ Name of the proxy
200
+ """
201
+ return pulumi.get(self, "name")
202
+
203
+ @name.setter
204
+ def name(self, value: Optional[pulumi.Input[str]]):
205
+ pulumi.set(self, "name", value)
206
+
207
+ @property
208
+ @pulumi.getter(name="securityGroups")
209
+ def security_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
210
+ """
211
+ Security Group to define the security rules that determine the inbound and outbound traffic
212
+ """
213
+ return pulumi.get(self, "security_groups")
214
+
215
+ @security_groups.setter
216
+ def security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
217
+ pulumi.set(self, "security_groups", value)
218
+
219
+
220
+ @pulumi.input_type
221
+ class _GcpProxyState:
222
+ def __init__(__self__, *,
223
+ allocate_static_ip: Optional[pulumi.Input[bool]] = None,
224
+ api_key: Optional[pulumi.Input[str]] = None,
225
+ certificates: Optional[pulumi.Input['GcpProxyCertificatesArgs']] = None,
226
+ cloud_connector_id: Optional[pulumi.Input[str]] = None,
227
+ delete_cloud_resources_on_destroy: Optional[pulumi.Input[bool]] = None,
228
+ host_name: Optional[pulumi.Input[str]] = None,
229
+ identifier: Optional[pulumi.Input[str]] = None,
230
+ machine_type: Optional[pulumi.Input[str]] = None,
231
+ name: Optional[pulumi.Input[str]] = None,
232
+ region: Optional[pulumi.Input[str]] = None,
233
+ security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
234
+ subnet_id: Optional[pulumi.Input[str]] = None,
235
+ vpc: Optional[pulumi.Input[str]] = None,
236
+ zone: Optional[pulumi.Input[str]] = None):
237
+ """
238
+ Input properties used for looking up and filtering GcpProxy resources.
239
+ :param pulumi.Input[bool] allocate_static_ip: Boolean value to indicate if proxy vm needs to have static IP
240
+ :param pulumi.Input[str] api_key: Harness NG API key
241
+ :param pulumi.Input[str] cloud_connector_id: Id of the cloud connector
242
+ :param pulumi.Input[str] host_name: Hostname for the proxy
243
+ :param pulumi.Input[str] identifier: Unique identifier of the resource
244
+ :param pulumi.Input[str] machine_type: Machine instance type
245
+ :param pulumi.Input[str] name: Name of the proxy
246
+ :param pulumi.Input[str] region: Region in which cloud resources are hosted
247
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: Security Group to define the security rules that determine the inbound and outbound traffic
248
+ :param pulumi.Input[str] subnet_id: VPC in which cloud resources are hosted
249
+ :param pulumi.Input[str] vpc: VPC in which cloud resources are hosted
250
+ :param pulumi.Input[str] zone: Zone in which cloud resources are hosted
251
+ """
252
+ if allocate_static_ip is not None:
253
+ pulumi.set(__self__, "allocate_static_ip", allocate_static_ip)
254
+ if api_key is not None:
255
+ pulumi.set(__self__, "api_key", api_key)
256
+ if certificates is not None:
257
+ pulumi.set(__self__, "certificates", certificates)
258
+ if cloud_connector_id is not None:
259
+ pulumi.set(__self__, "cloud_connector_id", cloud_connector_id)
260
+ if delete_cloud_resources_on_destroy is not None:
261
+ pulumi.set(__self__, "delete_cloud_resources_on_destroy", delete_cloud_resources_on_destroy)
262
+ if host_name is not None:
263
+ pulumi.set(__self__, "host_name", host_name)
264
+ if identifier is not None:
265
+ pulumi.set(__self__, "identifier", identifier)
266
+ if machine_type is not None:
267
+ pulumi.set(__self__, "machine_type", machine_type)
268
+ if name is not None:
269
+ pulumi.set(__self__, "name", name)
270
+ if region is not None:
271
+ pulumi.set(__self__, "region", region)
272
+ if security_groups is not None:
273
+ pulumi.set(__self__, "security_groups", security_groups)
274
+ if subnet_id is not None:
275
+ pulumi.set(__self__, "subnet_id", subnet_id)
276
+ if vpc is not None:
277
+ pulumi.set(__self__, "vpc", vpc)
278
+ if zone is not None:
279
+ pulumi.set(__self__, "zone", zone)
280
+
281
+ @property
282
+ @pulumi.getter(name="allocateStaticIp")
283
+ def allocate_static_ip(self) -> Optional[pulumi.Input[bool]]:
284
+ """
285
+ Boolean value to indicate if proxy vm needs to have static IP
286
+ """
287
+ return pulumi.get(self, "allocate_static_ip")
288
+
289
+ @allocate_static_ip.setter
290
+ def allocate_static_ip(self, value: Optional[pulumi.Input[bool]]):
291
+ pulumi.set(self, "allocate_static_ip", value)
292
+
293
+ @property
294
+ @pulumi.getter(name="apiKey")
295
+ def api_key(self) -> Optional[pulumi.Input[str]]:
296
+ """
297
+ Harness NG API key
298
+ """
299
+ return pulumi.get(self, "api_key")
300
+
301
+ @api_key.setter
302
+ def api_key(self, value: Optional[pulumi.Input[str]]):
303
+ pulumi.set(self, "api_key", value)
304
+
305
+ @property
306
+ @pulumi.getter
307
+ def certificates(self) -> Optional[pulumi.Input['GcpProxyCertificatesArgs']]:
308
+ return pulumi.get(self, "certificates")
309
+
310
+ @certificates.setter
311
+ def certificates(self, value: Optional[pulumi.Input['GcpProxyCertificatesArgs']]):
312
+ pulumi.set(self, "certificates", value)
313
+
314
+ @property
315
+ @pulumi.getter(name="cloudConnectorId")
316
+ def cloud_connector_id(self) -> Optional[pulumi.Input[str]]:
317
+ """
318
+ Id of the cloud connector
319
+ """
320
+ return pulumi.get(self, "cloud_connector_id")
321
+
322
+ @cloud_connector_id.setter
323
+ def cloud_connector_id(self, value: Optional[pulumi.Input[str]]):
324
+ pulumi.set(self, "cloud_connector_id", value)
325
+
326
+ @property
327
+ @pulumi.getter(name="deleteCloudResourcesOnDestroy")
328
+ def delete_cloud_resources_on_destroy(self) -> Optional[pulumi.Input[bool]]:
329
+ return pulumi.get(self, "delete_cloud_resources_on_destroy")
330
+
331
+ @delete_cloud_resources_on_destroy.setter
332
+ def delete_cloud_resources_on_destroy(self, value: Optional[pulumi.Input[bool]]):
333
+ pulumi.set(self, "delete_cloud_resources_on_destroy", value)
334
+
335
+ @property
336
+ @pulumi.getter(name="hostName")
337
+ def host_name(self) -> Optional[pulumi.Input[str]]:
338
+ """
339
+ Hostname for the proxy
340
+ """
341
+ return pulumi.get(self, "host_name")
342
+
343
+ @host_name.setter
344
+ def host_name(self, value: Optional[pulumi.Input[str]]):
345
+ pulumi.set(self, "host_name", value)
346
+
347
+ @property
348
+ @pulumi.getter
349
+ def identifier(self) -> Optional[pulumi.Input[str]]:
350
+ """
351
+ Unique identifier of the resource
352
+ """
353
+ return pulumi.get(self, "identifier")
354
+
355
+ @identifier.setter
356
+ def identifier(self, value: Optional[pulumi.Input[str]]):
357
+ pulumi.set(self, "identifier", value)
358
+
359
+ @property
360
+ @pulumi.getter(name="machineType")
361
+ def machine_type(self) -> Optional[pulumi.Input[str]]:
362
+ """
363
+ Machine instance type
364
+ """
365
+ return pulumi.get(self, "machine_type")
366
+
367
+ @machine_type.setter
368
+ def machine_type(self, value: Optional[pulumi.Input[str]]):
369
+ pulumi.set(self, "machine_type", value)
370
+
371
+ @property
372
+ @pulumi.getter
373
+ def name(self) -> Optional[pulumi.Input[str]]:
374
+ """
375
+ Name of the proxy
376
+ """
377
+ return pulumi.get(self, "name")
378
+
379
+ @name.setter
380
+ def name(self, value: Optional[pulumi.Input[str]]):
381
+ pulumi.set(self, "name", value)
382
+
383
+ @property
384
+ @pulumi.getter
385
+ def region(self) -> Optional[pulumi.Input[str]]:
386
+ """
387
+ Region in which cloud resources are hosted
388
+ """
389
+ return pulumi.get(self, "region")
390
+
391
+ @region.setter
392
+ def region(self, value: Optional[pulumi.Input[str]]):
393
+ pulumi.set(self, "region", value)
394
+
395
+ @property
396
+ @pulumi.getter(name="securityGroups")
397
+ def security_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
398
+ """
399
+ Security Group to define the security rules that determine the inbound and outbound traffic
400
+ """
401
+ return pulumi.get(self, "security_groups")
402
+
403
+ @security_groups.setter
404
+ def security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
405
+ pulumi.set(self, "security_groups", value)
406
+
407
+ @property
408
+ @pulumi.getter(name="subnetId")
409
+ def subnet_id(self) -> Optional[pulumi.Input[str]]:
410
+ """
411
+ VPC in which cloud resources are hosted
412
+ """
413
+ return pulumi.get(self, "subnet_id")
414
+
415
+ @subnet_id.setter
416
+ def subnet_id(self, value: Optional[pulumi.Input[str]]):
417
+ pulumi.set(self, "subnet_id", value)
418
+
419
+ @property
420
+ @pulumi.getter
421
+ def vpc(self) -> Optional[pulumi.Input[str]]:
422
+ """
423
+ VPC in which cloud resources are hosted
424
+ """
425
+ return pulumi.get(self, "vpc")
426
+
427
+ @vpc.setter
428
+ def vpc(self, value: Optional[pulumi.Input[str]]):
429
+ pulumi.set(self, "vpc", value)
430
+
431
+ @property
432
+ @pulumi.getter
433
+ def zone(self) -> Optional[pulumi.Input[str]]:
434
+ """
435
+ Zone in which cloud resources are hosted
436
+ """
437
+ return pulumi.get(self, "zone")
438
+
439
+ @zone.setter
440
+ def zone(self, value: Optional[pulumi.Input[str]]):
441
+ pulumi.set(self, "zone", value)
442
+
443
+
444
+ class GcpProxy(pulumi.CustomResource):
445
+ @overload
446
+ def __init__(__self__,
447
+ resource_name: str,
448
+ opts: Optional[pulumi.ResourceOptions] = None,
449
+ allocate_static_ip: Optional[pulumi.Input[bool]] = None,
450
+ api_key: Optional[pulumi.Input[str]] = None,
451
+ certificates: Optional[pulumi.Input[Union['GcpProxyCertificatesArgs', 'GcpProxyCertificatesArgsDict']]] = None,
452
+ cloud_connector_id: Optional[pulumi.Input[str]] = None,
453
+ delete_cloud_resources_on_destroy: Optional[pulumi.Input[bool]] = None,
454
+ host_name: Optional[pulumi.Input[str]] = None,
455
+ machine_type: Optional[pulumi.Input[str]] = None,
456
+ name: Optional[pulumi.Input[str]] = None,
457
+ region: Optional[pulumi.Input[str]] = None,
458
+ security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
459
+ subnet_id: Optional[pulumi.Input[str]] = None,
460
+ vpc: Optional[pulumi.Input[str]] = None,
461
+ zone: Optional[pulumi.Input[str]] = None,
462
+ __props__=None):
463
+ """
464
+ Resource for creating an GCP Autostopping proxy
465
+
466
+ ## Example Usage
467
+
468
+ ```python
469
+ import pulumi
470
+ import pulumi_harness as harness
471
+
472
+ test = harness.autostopping.GcpProxy("test",
473
+ name="name",
474
+ cloud_connector_id="cloud_connector_id",
475
+ host_name="host_name",
476
+ region="region",
477
+ vpc="https://www.googleapis.com/compute/v1/projects/project_id/global/networks/netwok_id",
478
+ zone="zone",
479
+ security_groups=["http-server"],
480
+ machine_type="e2-micro",
481
+ subnet_id="https://www.googleapis.com/compute/v1/projects/project_id/regions/region/subnetworks/subnet_name",
482
+ api_key="",
483
+ allocate_static_ip=False,
484
+ certificates={
485
+ "key_secret_id": "projects/project_id/secrets/secret_id/versions/1",
486
+ "cert_secret_id": "projects/project_id/secrets/secret_id/versions/1",
487
+ },
488
+ delete_cloud_resources_on_destroy=False)
489
+ ```
490
+
491
+ :param str resource_name: The name of the resource.
492
+ :param pulumi.ResourceOptions opts: Options for the resource.
493
+ :param pulumi.Input[bool] allocate_static_ip: Boolean value to indicate if proxy vm needs to have static IP
494
+ :param pulumi.Input[str] api_key: Harness NG API key
495
+ :param pulumi.Input[str] cloud_connector_id: Id of the cloud connector
496
+ :param pulumi.Input[str] host_name: Hostname for the proxy
497
+ :param pulumi.Input[str] machine_type: Machine instance type
498
+ :param pulumi.Input[str] name: Name of the proxy
499
+ :param pulumi.Input[str] region: Region in which cloud resources are hosted
500
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: Security Group to define the security rules that determine the inbound and outbound traffic
501
+ :param pulumi.Input[str] subnet_id: VPC in which cloud resources are hosted
502
+ :param pulumi.Input[str] vpc: VPC in which cloud resources are hosted
503
+ :param pulumi.Input[str] zone: Zone in which cloud resources are hosted
504
+ """
505
+ ...
506
+ @overload
507
+ def __init__(__self__,
508
+ resource_name: str,
509
+ args: GcpProxyArgs,
510
+ opts: Optional[pulumi.ResourceOptions] = None):
511
+ """
512
+ Resource for creating an GCP Autostopping proxy
513
+
514
+ ## Example Usage
515
+
516
+ ```python
517
+ import pulumi
518
+ import pulumi_harness as harness
519
+
520
+ test = harness.autostopping.GcpProxy("test",
521
+ name="name",
522
+ cloud_connector_id="cloud_connector_id",
523
+ host_name="host_name",
524
+ region="region",
525
+ vpc="https://www.googleapis.com/compute/v1/projects/project_id/global/networks/netwok_id",
526
+ zone="zone",
527
+ security_groups=["http-server"],
528
+ machine_type="e2-micro",
529
+ subnet_id="https://www.googleapis.com/compute/v1/projects/project_id/regions/region/subnetworks/subnet_name",
530
+ api_key="",
531
+ allocate_static_ip=False,
532
+ certificates={
533
+ "key_secret_id": "projects/project_id/secrets/secret_id/versions/1",
534
+ "cert_secret_id": "projects/project_id/secrets/secret_id/versions/1",
535
+ },
536
+ delete_cloud_resources_on_destroy=False)
537
+ ```
538
+
539
+ :param str resource_name: The name of the resource.
540
+ :param GcpProxyArgs args: The arguments to use to populate this resource's properties.
541
+ :param pulumi.ResourceOptions opts: Options for the resource.
542
+ """
543
+ ...
544
+ def __init__(__self__, resource_name: str, *args, **kwargs):
545
+ resource_args, opts = _utilities.get_resource_args_opts(GcpProxyArgs, pulumi.ResourceOptions, *args, **kwargs)
546
+ if resource_args is not None:
547
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
548
+ else:
549
+ __self__._internal_init(resource_name, *args, **kwargs)
550
+
551
+ def _internal_init(__self__,
552
+ resource_name: str,
553
+ opts: Optional[pulumi.ResourceOptions] = None,
554
+ allocate_static_ip: Optional[pulumi.Input[bool]] = None,
555
+ api_key: Optional[pulumi.Input[str]] = None,
556
+ certificates: Optional[pulumi.Input[Union['GcpProxyCertificatesArgs', 'GcpProxyCertificatesArgsDict']]] = None,
557
+ cloud_connector_id: Optional[pulumi.Input[str]] = None,
558
+ delete_cloud_resources_on_destroy: Optional[pulumi.Input[bool]] = None,
559
+ host_name: Optional[pulumi.Input[str]] = None,
560
+ machine_type: Optional[pulumi.Input[str]] = None,
561
+ name: Optional[pulumi.Input[str]] = None,
562
+ region: Optional[pulumi.Input[str]] = None,
563
+ security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
564
+ subnet_id: Optional[pulumi.Input[str]] = None,
565
+ vpc: Optional[pulumi.Input[str]] = None,
566
+ zone: Optional[pulumi.Input[str]] = None,
567
+ __props__=None):
568
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
569
+ if not isinstance(opts, pulumi.ResourceOptions):
570
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
571
+ if opts.id is None:
572
+ if __props__ is not None:
573
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
574
+ __props__ = GcpProxyArgs.__new__(GcpProxyArgs)
575
+
576
+ __props__.__dict__["allocate_static_ip"] = allocate_static_ip
577
+ if api_key is None and not opts.urn:
578
+ raise TypeError("Missing required property 'api_key'")
579
+ __props__.__dict__["api_key"] = None if api_key is None else pulumi.Output.secret(api_key)
580
+ __props__.__dict__["certificates"] = certificates
581
+ if cloud_connector_id is None and not opts.urn:
582
+ raise TypeError("Missing required property 'cloud_connector_id'")
583
+ __props__.__dict__["cloud_connector_id"] = cloud_connector_id
584
+ if delete_cloud_resources_on_destroy is None and not opts.urn:
585
+ raise TypeError("Missing required property 'delete_cloud_resources_on_destroy'")
586
+ __props__.__dict__["delete_cloud_resources_on_destroy"] = delete_cloud_resources_on_destroy
587
+ if host_name is None and not opts.urn:
588
+ raise TypeError("Missing required property 'host_name'")
589
+ __props__.__dict__["host_name"] = host_name
590
+ if machine_type is None and not opts.urn:
591
+ raise TypeError("Missing required property 'machine_type'")
592
+ __props__.__dict__["machine_type"] = machine_type
593
+ __props__.__dict__["name"] = name
594
+ if region is None and not opts.urn:
595
+ raise TypeError("Missing required property 'region'")
596
+ __props__.__dict__["region"] = region
597
+ __props__.__dict__["security_groups"] = security_groups
598
+ if subnet_id is None and not opts.urn:
599
+ raise TypeError("Missing required property 'subnet_id'")
600
+ __props__.__dict__["subnet_id"] = subnet_id
601
+ if vpc is None and not opts.urn:
602
+ raise TypeError("Missing required property 'vpc'")
603
+ __props__.__dict__["vpc"] = vpc
604
+ if zone is None and not opts.urn:
605
+ raise TypeError("Missing required property 'zone'")
606
+ __props__.__dict__["zone"] = zone
607
+ __props__.__dict__["identifier"] = None
608
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["apiKey"])
609
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
610
+ super(GcpProxy, __self__).__init__(
611
+ 'harness:autostopping/gcpProxy:GcpProxy',
612
+ resource_name,
613
+ __props__,
614
+ opts)
615
+
616
+ @staticmethod
617
+ def get(resource_name: str,
618
+ id: pulumi.Input[str],
619
+ opts: Optional[pulumi.ResourceOptions] = None,
620
+ allocate_static_ip: Optional[pulumi.Input[bool]] = None,
621
+ api_key: Optional[pulumi.Input[str]] = None,
622
+ certificates: Optional[pulumi.Input[Union['GcpProxyCertificatesArgs', 'GcpProxyCertificatesArgsDict']]] = None,
623
+ cloud_connector_id: Optional[pulumi.Input[str]] = None,
624
+ delete_cloud_resources_on_destroy: Optional[pulumi.Input[bool]] = None,
625
+ host_name: Optional[pulumi.Input[str]] = None,
626
+ identifier: Optional[pulumi.Input[str]] = None,
627
+ machine_type: Optional[pulumi.Input[str]] = None,
628
+ name: Optional[pulumi.Input[str]] = None,
629
+ region: Optional[pulumi.Input[str]] = None,
630
+ security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
631
+ subnet_id: Optional[pulumi.Input[str]] = None,
632
+ vpc: Optional[pulumi.Input[str]] = None,
633
+ zone: Optional[pulumi.Input[str]] = None) -> 'GcpProxy':
634
+ """
635
+ Get an existing GcpProxy resource's state with the given name, id, and optional extra
636
+ properties used to qualify the lookup.
637
+
638
+ :param str resource_name: The unique name of the resulting resource.
639
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
640
+ :param pulumi.ResourceOptions opts: Options for the resource.
641
+ :param pulumi.Input[bool] allocate_static_ip: Boolean value to indicate if proxy vm needs to have static IP
642
+ :param pulumi.Input[str] api_key: Harness NG API key
643
+ :param pulumi.Input[str] cloud_connector_id: Id of the cloud connector
644
+ :param pulumi.Input[str] host_name: Hostname for the proxy
645
+ :param pulumi.Input[str] identifier: Unique identifier of the resource
646
+ :param pulumi.Input[str] machine_type: Machine instance type
647
+ :param pulumi.Input[str] name: Name of the proxy
648
+ :param pulumi.Input[str] region: Region in which cloud resources are hosted
649
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: Security Group to define the security rules that determine the inbound and outbound traffic
650
+ :param pulumi.Input[str] subnet_id: VPC in which cloud resources are hosted
651
+ :param pulumi.Input[str] vpc: VPC in which cloud resources are hosted
652
+ :param pulumi.Input[str] zone: Zone in which cloud resources are hosted
653
+ """
654
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
655
+
656
+ __props__ = _GcpProxyState.__new__(_GcpProxyState)
657
+
658
+ __props__.__dict__["allocate_static_ip"] = allocate_static_ip
659
+ __props__.__dict__["api_key"] = api_key
660
+ __props__.__dict__["certificates"] = certificates
661
+ __props__.__dict__["cloud_connector_id"] = cloud_connector_id
662
+ __props__.__dict__["delete_cloud_resources_on_destroy"] = delete_cloud_resources_on_destroy
663
+ __props__.__dict__["host_name"] = host_name
664
+ __props__.__dict__["identifier"] = identifier
665
+ __props__.__dict__["machine_type"] = machine_type
666
+ __props__.__dict__["name"] = name
667
+ __props__.__dict__["region"] = region
668
+ __props__.__dict__["security_groups"] = security_groups
669
+ __props__.__dict__["subnet_id"] = subnet_id
670
+ __props__.__dict__["vpc"] = vpc
671
+ __props__.__dict__["zone"] = zone
672
+ return GcpProxy(resource_name, opts=opts, __props__=__props__)
673
+
674
+ @property
675
+ @pulumi.getter(name="allocateStaticIp")
676
+ def allocate_static_ip(self) -> pulumi.Output[Optional[bool]]:
677
+ """
678
+ Boolean value to indicate if proxy vm needs to have static IP
679
+ """
680
+ return pulumi.get(self, "allocate_static_ip")
681
+
682
+ @property
683
+ @pulumi.getter(name="apiKey")
684
+ def api_key(self) -> pulumi.Output[str]:
685
+ """
686
+ Harness NG API key
687
+ """
688
+ return pulumi.get(self, "api_key")
689
+
690
+ @property
691
+ @pulumi.getter
692
+ def certificates(self) -> pulumi.Output[Optional['outputs.GcpProxyCertificates']]:
693
+ return pulumi.get(self, "certificates")
694
+
695
+ @property
696
+ @pulumi.getter(name="cloudConnectorId")
697
+ def cloud_connector_id(self) -> pulumi.Output[str]:
698
+ """
699
+ Id of the cloud connector
700
+ """
701
+ return pulumi.get(self, "cloud_connector_id")
702
+
703
+ @property
704
+ @pulumi.getter(name="deleteCloudResourcesOnDestroy")
705
+ def delete_cloud_resources_on_destroy(self) -> pulumi.Output[bool]:
706
+ return pulumi.get(self, "delete_cloud_resources_on_destroy")
707
+
708
+ @property
709
+ @pulumi.getter(name="hostName")
710
+ def host_name(self) -> pulumi.Output[str]:
711
+ """
712
+ Hostname for the proxy
713
+ """
714
+ return pulumi.get(self, "host_name")
715
+
716
+ @property
717
+ @pulumi.getter
718
+ def identifier(self) -> pulumi.Output[str]:
719
+ """
720
+ Unique identifier of the resource
721
+ """
722
+ return pulumi.get(self, "identifier")
723
+
724
+ @property
725
+ @pulumi.getter(name="machineType")
726
+ def machine_type(self) -> pulumi.Output[str]:
727
+ """
728
+ Machine instance type
729
+ """
730
+ return pulumi.get(self, "machine_type")
731
+
732
+ @property
733
+ @pulumi.getter
734
+ def name(self) -> pulumi.Output[str]:
735
+ """
736
+ Name of the proxy
737
+ """
738
+ return pulumi.get(self, "name")
739
+
740
+ @property
741
+ @pulumi.getter
742
+ def region(self) -> pulumi.Output[str]:
743
+ """
744
+ Region in which cloud resources are hosted
745
+ """
746
+ return pulumi.get(self, "region")
747
+
748
+ @property
749
+ @pulumi.getter(name="securityGroups")
750
+ def security_groups(self) -> pulumi.Output[Optional[Sequence[str]]]:
751
+ """
752
+ Security Group to define the security rules that determine the inbound and outbound traffic
753
+ """
754
+ return pulumi.get(self, "security_groups")
755
+
756
+ @property
757
+ @pulumi.getter(name="subnetId")
758
+ def subnet_id(self) -> pulumi.Output[str]:
759
+ """
760
+ VPC in which cloud resources are hosted
761
+ """
762
+ return pulumi.get(self, "subnet_id")
763
+
764
+ @property
765
+ @pulumi.getter
766
+ def vpc(self) -> pulumi.Output[str]:
767
+ """
768
+ VPC in which cloud resources are hosted
769
+ """
770
+ return pulumi.get(self, "vpc")
771
+
772
+ @property
773
+ @pulumi.getter
774
+ def zone(self) -> pulumi.Output[str]:
775
+ """
776
+ Zone in which cloud resources are hosted
777
+ """
778
+ return pulumi.get(self, "zone")
779
+