pulumi-harness 0.8.0a1755712204__py3-none-any.whl → 0.8.0a1755714852__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 (223) hide show
  1. pulumi_harness/__init__.py +67 -0
  2. pulumi_harness/add_user_to_group.py +4 -0
  3. pulumi_harness/application.py +4 -0
  4. pulumi_harness/application_git_sync.py +4 -0
  5. pulumi_harness/chaos/__init__.py +21 -0
  6. pulumi_harness/chaos/_inputs.py +2702 -0
  7. pulumi_harness/chaos/get_hub.py +324 -0
  8. pulumi_harness/chaos/get_image_registry.py +339 -0
  9. pulumi_harness/chaos/get_infrastructure_v2.py +684 -0
  10. pulumi_harness/chaos/get_security_governance_condition.py +261 -0
  11. pulumi_harness/chaos/get_security_governance_rule.py +261 -0
  12. pulumi_harness/chaos/hub.py +806 -0
  13. pulumi_harness/chaos/hub_sync.py +274 -0
  14. pulumi_harness/chaos/image_registry.py +730 -0
  15. pulumi_harness/chaos/infrastructure_v2.py +1670 -0
  16. pulumi_harness/chaos/outputs.py +2276 -0
  17. pulumi_harness/chaos/security_governance_condition.py +795 -0
  18. pulumi_harness/chaos/security_governance_rule.py +688 -0
  19. pulumi_harness/chaos_infrastructure.py +10 -4
  20. pulumi_harness/cloudprovider/aws.py +4 -0
  21. pulumi_harness/cloudprovider/azure.py +4 -0
  22. pulumi_harness/cloudprovider/datacenter.py +4 -0
  23. pulumi_harness/cloudprovider/kubernetes.py +4 -0
  24. pulumi_harness/cloudprovider/spot.py +4 -0
  25. pulumi_harness/cloudprovider/tanzu.py +4 -0
  26. pulumi_harness/cluster/_inputs.py +540 -0
  27. pulumi_harness/cluster/get_orchestrator_config.py +46 -6
  28. pulumi_harness/cluster/orchestrator.py +0 -16
  29. pulumi_harness/cluster/orchestrator_config.py +253 -5
  30. pulumi_harness/cluster/outputs.py +394 -0
  31. pulumi_harness/delegate_approval.py +4 -0
  32. pulumi_harness/encrypted_text.py +4 -0
  33. pulumi_harness/environment.py +4 -0
  34. pulumi_harness/get_current_account.py +3 -3
  35. pulumi_harness/git_connector.py +4 -0
  36. pulumi_harness/governance/rule.py +4 -0
  37. pulumi_harness/governance/rule_enforcement.py +4 -0
  38. pulumi_harness/infrastructure_definition.py +4 -0
  39. pulumi_harness/platform/_inputs.py +537 -469
  40. pulumi_harness/platform/app_dynamics_connector.py +4 -0
  41. pulumi_harness/platform/artifactory_connector.py +4 -0
  42. pulumi_harness/platform/aws_cc_connector.py +4 -0
  43. pulumi_harness/platform/aws_connector.py +11 -7
  44. pulumi_harness/platform/aws_kms_connector.py +70 -20
  45. pulumi_harness/platform/aws_secret_manager_connector.py +13 -9
  46. pulumi_harness/platform/azure_cloud_cost_connector.py +51 -0
  47. pulumi_harness/platform/azure_cloud_provider_connector.py +4 -0
  48. pulumi_harness/platform/azure_key_vault_connector.py +8 -0
  49. pulumi_harness/platform/bitbucket_connector.py +4 -0
  50. pulumi_harness/platform/connector_azure_artifacts.py +4 -2
  51. pulumi_harness/platform/connector_azure_repo.py +11 -16
  52. pulumi_harness/platform/connector_custom_secret_manager.py +51 -156
  53. pulumi_harness/platform/connector_customhealthsource.py +4 -0
  54. pulumi_harness/platform/connector_gcp_kms.py +4 -0
  55. pulumi_harness/platform/connector_jdbc.py +4 -0
  56. pulumi_harness/platform/connector_pdc.py +13 -13
  57. pulumi_harness/platform/connector_rancher.py +4 -0
  58. pulumi_harness/platform/dashboard_folders.py +2 -2
  59. pulumi_harness/platform/dashboards.py +10 -14
  60. pulumi_harness/platform/datadog_connector.py +4 -0
  61. pulumi_harness/platform/db_instance.py +4 -0
  62. pulumi_harness/platform/db_schema.py +25 -21
  63. pulumi_harness/platform/docker_connector.py +4 -4
  64. pulumi_harness/platform/dynatrace_connector.py +4 -0
  65. pulumi_harness/platform/elasticsearch_connector.py +19 -15
  66. pulumi_harness/platform/environment.py +25 -530
  67. pulumi_harness/platform/environment_clusters_mapping.py +8 -0
  68. pulumi_harness/platform/environment_group.py +13 -100
  69. pulumi_harness/platform/environment_service_overrides.py +20 -186
  70. pulumi_harness/platform/feature_flag_target_group.py +8 -8
  71. pulumi_harness/platform/file_store_file.py +11 -7
  72. pulumi_harness/platform/file_store_folder.py +11 -7
  73. pulumi_harness/platform/filters.py +8 -0
  74. pulumi_harness/platform/gcp_cloud_cost_connector.py +4 -0
  75. pulumi_harness/platform/gcp_connector.py +4 -0
  76. pulumi_harness/platform/gcp_secret_manager_connector.py +6 -92
  77. pulumi_harness/platform/get_api_key.py +8 -38
  78. pulumi_harness/platform/get_aws_kms_connector.py +16 -1
  79. pulumi_harness/platform/get_aws_secret_manager_connector.py +7 -3
  80. pulumi_harness/platform/get_azure_cloud_cost_connector.py +12 -1
  81. pulumi_harness/platform/get_connector_azure_repo.py +53 -2
  82. pulumi_harness/platform/get_connector_custom_secret_manager.py +28 -32
  83. pulumi_harness/platform/get_connector_pdc.py +3 -3
  84. pulumi_harness/platform/get_current_account.py +2 -20
  85. pulumi_harness/platform/get_dashboard_folders.py +16 -5
  86. pulumi_harness/platform/get_dashboards.py +15 -7
  87. pulumi_harness/platform/get_db_instance.py +5 -0
  88. pulumi_harness/platform/get_db_schema.py +12 -15
  89. pulumi_harness/platform/get_environment.py +5 -0
  90. pulumi_harness/platform/get_environment_list.py +12 -58
  91. pulumi_harness/platform/get_environment_service_overrides.py +6 -6
  92. pulumi_harness/platform/get_filters.py +4 -0
  93. pulumi_harness/platform/get_gcp_secret_manager_connector.py +4 -0
  94. pulumi_harness/platform/get_github_connector.py +3 -0
  95. pulumi_harness/platform/get_gitops_applications.py +8 -0
  96. pulumi_harness/platform/get_gitops_filters.py +25 -10
  97. pulumi_harness/platform/get_gitx_webhook.py +3 -3
  98. pulumi_harness/platform/get_har_registry.py +46 -10
  99. pulumi_harness/platform/get_iacm_default_pipeline.py +24 -0
  100. pulumi_harness/platform/get_infra_variable_set.py +34 -25
  101. pulumi_harness/platform/get_infrastructure.py +5 -0
  102. pulumi_harness/platform/get_manual_freeze.py +0 -24
  103. pulumi_harness/platform/get_monitored_service.py +22 -0
  104. pulumi_harness/platform/get_organization.py +4 -0
  105. pulumi_harness/platform/get_overrides.py +66 -2
  106. pulumi_harness/platform/get_pagerduty_connector.py +4 -0
  107. pulumi_harness/platform/get_pipeline_list.py +18 -63
  108. pulumi_harness/platform/get_project.py +4 -0
  109. pulumi_harness/platform/get_project_list.py +18 -63
  110. pulumi_harness/platform/get_provider.py +11 -2
  111. pulumi_harness/platform/get_resource_group.py +4 -0
  112. pulumi_harness/platform/get_role_assignments.py +6 -2
  113. pulumi_harness/platform/get_roles.py +4 -0
  114. pulumi_harness/platform/get_secret_file.py +4 -0
  115. pulumi_harness/platform/get_secret_sshkey.py +4 -0
  116. pulumi_harness/platform/get_service.py +5 -0
  117. pulumi_harness/platform/get_service_account.py +4 -0
  118. pulumi_harness/platform/get_service_list.py +22 -58
  119. pulumi_harness/platform/get_service_overrides_v2.py +42 -0
  120. pulumi_harness/platform/get_slo.py +22 -0
  121. pulumi_harness/platform/get_token.py +2 -0
  122. pulumi_harness/platform/get_user.py +4 -0
  123. pulumi_harness/platform/get_usergroup.py +4 -0
  124. pulumi_harness/platform/get_variables.py +4 -0
  125. pulumi_harness/platform/get_vault_connector.py +5 -1
  126. pulumi_harness/platform/get_workspace.py +8 -3
  127. pulumi_harness/platform/git_connector.py +4 -0
  128. pulumi_harness/platform/git_ops_agent.py +4 -0
  129. pulumi_harness/platform/git_ops_applications.py +4 -0
  130. pulumi_harness/platform/git_ops_cluster.py +51 -0
  131. pulumi_harness/platform/git_ops_gnupg.py +4 -0
  132. pulumi_harness/platform/git_ops_repo_cert.py +4 -0
  133. pulumi_harness/platform/git_ops_repo_cred.py +4 -0
  134. pulumi_harness/platform/git_ops_repository.py +4 -0
  135. pulumi_harness/platform/github_connector.py +11 -7
  136. pulumi_harness/platform/gitlab_connector.py +4 -0
  137. pulumi_harness/platform/gitops_app_project.py +4 -0
  138. pulumi_harness/platform/gitops_app_project_mapping.py +4 -0
  139. pulumi_harness/platform/gitops_applicationset.py +96 -0
  140. pulumi_harness/platform/gitops_filters.py +51 -179
  141. pulumi_harness/platform/gitx_webhook.py +4 -0
  142. pulumi_harness/platform/har_registry.py +42 -43
  143. pulumi_harness/platform/helm_connector.py +4 -0
  144. pulumi_harness/platform/iacm_default_pipeline.py +28 -0
  145. pulumi_harness/platform/infra_module.py +6 -2
  146. pulumi_harness/platform/infra_variable_set.py +38 -22
  147. pulumi_harness/platform/infrastructure.py +18 -240
  148. pulumi_harness/platform/input_set.py +4 -0
  149. pulumi_harness/platform/jenkins_connector.py +8 -0
  150. pulumi_harness/platform/jira_connector.py +4 -2
  151. pulumi_harness/platform/kubernetes_cloud_cost_connector.py +35 -11
  152. pulumi_harness/platform/kubernetes_connector.py +4 -0
  153. pulumi_harness/platform/manual_freeze.py +6 -154
  154. pulumi_harness/platform/monitored_service.py +16 -12
  155. pulumi_harness/platform/newrelic_connector.py +4 -0
  156. pulumi_harness/platform/nexus_connector.py +4 -4
  157. pulumi_harness/platform/notification_rule.py +4 -0
  158. pulumi_harness/platform/oci_helm_connector.py +4 -0
  159. pulumi_harness/platform/organization.py +8 -0
  160. pulumi_harness/platform/outputs.py +481 -219
  161. pulumi_harness/platform/overrides.py +48 -2
  162. pulumi_harness/platform/pagerduty_connector.py +8 -0
  163. pulumi_harness/platform/pipeline.py +18 -2
  164. pulumi_harness/platform/pipeline_filters.py +4 -0
  165. pulumi_harness/platform/policy.py +6 -26
  166. pulumi_harness/platform/policy_set.py +4 -0
  167. pulumi_harness/platform/project.py +8 -0
  168. pulumi_harness/platform/prometheus_connector.py +4 -0
  169. pulumi_harness/platform/provider.py +4 -2
  170. pulumi_harness/platform/repo.py +40 -0
  171. pulumi_harness/platform/resource_group.py +15 -7
  172. pulumi_harness/platform/role_assignments.py +20 -16
  173. pulumi_harness/platform/roles.py +8 -0
  174. pulumi_harness/platform/secret_file.py +8 -0
  175. pulumi_harness/platform/secret_sshkey.py +6 -2
  176. pulumi_harness/platform/secret_text.py +78 -0
  177. pulumi_harness/platform/service.py +13 -494
  178. pulumi_harness/platform/service_account.py +8 -0
  179. pulumi_harness/platform/service_now_connector.py +4 -2
  180. pulumi_harness/platform/service_overrides_v2.py +4 -204
  181. pulumi_harness/platform/slo.py +12 -18
  182. pulumi_harness/platform/splunk_connector.py +4 -0
  183. pulumi_harness/platform/spot_connector.py +4 -0
  184. pulumi_harness/platform/sumologic_connector.py +4 -0
  185. pulumi_harness/platform/tas_connector.py +4 -0
  186. pulumi_harness/platform/template.py +25 -21
  187. pulumi_harness/platform/template_filters.py +4 -0
  188. pulumi_harness/platform/terraform_cloud_connector.py +4 -0
  189. pulumi_harness/platform/token.py +6 -2
  190. pulumi_harness/platform/triggers.py +8 -0
  191. pulumi_harness/platform/user.py +13 -9
  192. pulumi_harness/platform/usergroup.py +71 -7
  193. pulumi_harness/platform/variables.py +8 -0
  194. pulumi_harness/platform/vault_connector.py +15 -7
  195. pulumi_harness/platform/workspace.py +19 -7
  196. pulumi_harness/platform_api_key.py +6 -66
  197. pulumi_harness/platform_ccm_filters.py +11 -7
  198. pulumi_harness/pulumi-plugin.json +1 -1
  199. pulumi_harness/service/__init__.py +4 -0
  200. pulumi_harness/service/_inputs.py +1729 -0
  201. pulumi_harness/service/ami.py +4 -0
  202. pulumi_harness/service/codedeploy.py +4 -0
  203. pulumi_harness/service/discovery_agent.py +1211 -0
  204. pulumi_harness/service/discovery_setting.py +384 -0
  205. pulumi_harness/service/ecs.py +4 -0
  206. pulumi_harness/service/get_discovery_agent.py +443 -0
  207. pulumi_harness/service/get_discovery_setting.py +199 -0
  208. pulumi_harness/service/helm.py +4 -0
  209. pulumi_harness/service/kubernetes.py +4 -0
  210. pulumi_harness/service/lambda_.py +4 -0
  211. pulumi_harness/service/outputs.py +2367 -117
  212. pulumi_harness/service/ssh.py +4 -0
  213. pulumi_harness/service/tanzu.py +4 -0
  214. pulumi_harness/service/winrm.py +4 -0
  215. pulumi_harness/ssh_credential.py +4 -0
  216. pulumi_harness/user.py +4 -0
  217. pulumi_harness/user_group.py +4 -0
  218. pulumi_harness/yaml_config.py +4 -0
  219. {pulumi_harness-0.8.0a1755712204.dist-info → pulumi_harness-0.8.0a1755714852.dist-info}/METADATA +1 -1
  220. pulumi_harness-0.8.0a1755714852.dist-info/RECORD +355 -0
  221. pulumi_harness-0.8.0a1755712204.dist-info/RECORD +0 -337
  222. {pulumi_harness-0.8.0a1755712204.dist-info → pulumi_harness-0.8.0a1755714852.dist-info}/WHEEL +0 -0
  223. {pulumi_harness-0.8.0a1755712204.dist-info → pulumi_harness-0.8.0a1755714852.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,274 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
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
+
17
+ __all__ = ['HubSyncArgs', 'HubSync']
18
+
19
+ @pulumi.input_type
20
+ class HubSyncArgs:
21
+ def __init__(__self__, *,
22
+ hub_id: pulumi.Input[_builtins.str],
23
+ org_id: pulumi.Input[_builtins.str],
24
+ project_id: pulumi.Input[_builtins.str]):
25
+ """
26
+ The set of arguments for constructing a HubSync resource.
27
+ :param pulumi.Input[_builtins.str] hub_id: The ID of the Chaos Hub to sync
28
+ """
29
+ pulumi.set(__self__, "hub_id", hub_id)
30
+ pulumi.set(__self__, "org_id", org_id)
31
+ pulumi.set(__self__, "project_id", project_id)
32
+
33
+ @_builtins.property
34
+ @pulumi.getter(name="hubId")
35
+ def hub_id(self) -> pulumi.Input[_builtins.str]:
36
+ """
37
+ The ID of the Chaos Hub to sync
38
+ """
39
+ return pulumi.get(self, "hub_id")
40
+
41
+ @hub_id.setter
42
+ def hub_id(self, value: pulumi.Input[_builtins.str]):
43
+ pulumi.set(self, "hub_id", value)
44
+
45
+ @_builtins.property
46
+ @pulumi.getter(name="orgId")
47
+ def org_id(self) -> pulumi.Input[_builtins.str]:
48
+ return pulumi.get(self, "org_id")
49
+
50
+ @org_id.setter
51
+ def org_id(self, value: pulumi.Input[_builtins.str]):
52
+ pulumi.set(self, "org_id", value)
53
+
54
+ @_builtins.property
55
+ @pulumi.getter(name="projectId")
56
+ def project_id(self) -> pulumi.Input[_builtins.str]:
57
+ return pulumi.get(self, "project_id")
58
+
59
+ @project_id.setter
60
+ def project_id(self, value: pulumi.Input[_builtins.str]):
61
+ pulumi.set(self, "project_id", value)
62
+
63
+
64
+ @pulumi.input_type
65
+ class _HubSyncState:
66
+ def __init__(__self__, *,
67
+ hub_id: Optional[pulumi.Input[_builtins.str]] = None,
68
+ last_synced_at: Optional[pulumi.Input[_builtins.str]] = None,
69
+ org_id: Optional[pulumi.Input[_builtins.str]] = None,
70
+ project_id: Optional[pulumi.Input[_builtins.str]] = None):
71
+ """
72
+ Input properties used for looking up and filtering HubSync resources.
73
+ :param pulumi.Input[_builtins.str] hub_id: The ID of the Chaos Hub to sync
74
+ :param pulumi.Input[_builtins.str] last_synced_at: Timestamp of the last sync
75
+ """
76
+ if hub_id is not None:
77
+ pulumi.set(__self__, "hub_id", hub_id)
78
+ if last_synced_at is not None:
79
+ pulumi.set(__self__, "last_synced_at", last_synced_at)
80
+ if org_id is not None:
81
+ pulumi.set(__self__, "org_id", org_id)
82
+ if project_id is not None:
83
+ pulumi.set(__self__, "project_id", project_id)
84
+
85
+ @_builtins.property
86
+ @pulumi.getter(name="hubId")
87
+ def hub_id(self) -> Optional[pulumi.Input[_builtins.str]]:
88
+ """
89
+ The ID of the Chaos Hub to sync
90
+ """
91
+ return pulumi.get(self, "hub_id")
92
+
93
+ @hub_id.setter
94
+ def hub_id(self, value: Optional[pulumi.Input[_builtins.str]]):
95
+ pulumi.set(self, "hub_id", value)
96
+
97
+ @_builtins.property
98
+ @pulumi.getter(name="lastSyncedAt")
99
+ def last_synced_at(self) -> Optional[pulumi.Input[_builtins.str]]:
100
+ """
101
+ Timestamp of the last sync
102
+ """
103
+ return pulumi.get(self, "last_synced_at")
104
+
105
+ @last_synced_at.setter
106
+ def last_synced_at(self, value: Optional[pulumi.Input[_builtins.str]]):
107
+ pulumi.set(self, "last_synced_at", value)
108
+
109
+ @_builtins.property
110
+ @pulumi.getter(name="orgId")
111
+ def org_id(self) -> Optional[pulumi.Input[_builtins.str]]:
112
+ return pulumi.get(self, "org_id")
113
+
114
+ @org_id.setter
115
+ def org_id(self, value: Optional[pulumi.Input[_builtins.str]]):
116
+ pulumi.set(self, "org_id", value)
117
+
118
+ @_builtins.property
119
+ @pulumi.getter(name="projectId")
120
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
121
+ return pulumi.get(self, "project_id")
122
+
123
+ @project_id.setter
124
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
125
+ pulumi.set(self, "project_id", value)
126
+
127
+
128
+ @pulumi.type_token("harness:chaos/hubSync:HubSync")
129
+ class HubSync(pulumi.CustomResource):
130
+ @overload
131
+ def __init__(__self__,
132
+ resource_name: str,
133
+ opts: Optional[pulumi.ResourceOptions] = None,
134
+ hub_id: Optional[pulumi.Input[_builtins.str]] = None,
135
+ org_id: Optional[pulumi.Input[_builtins.str]] = None,
136
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
137
+ __props__=None):
138
+ """
139
+ Resource for syncing a Harness Chaos Hub
140
+
141
+ ## Example Usage
142
+
143
+ ```python
144
+ import pulumi
145
+ import pulumi_harness as harness
146
+
147
+ example = harness.chaos.HubSync("example",
148
+ org_id="<org_id>",
149
+ project_id="<project_id>",
150
+ hub_id="<hub_id>")
151
+ ```
152
+
153
+ :param str resource_name: The name of the resource.
154
+ :param pulumi.ResourceOptions opts: Options for the resource.
155
+ :param pulumi.Input[_builtins.str] hub_id: The ID of the Chaos Hub to sync
156
+ """
157
+ ...
158
+ @overload
159
+ def __init__(__self__,
160
+ resource_name: str,
161
+ args: HubSyncArgs,
162
+ opts: Optional[pulumi.ResourceOptions] = None):
163
+ """
164
+ Resource for syncing a Harness Chaos Hub
165
+
166
+ ## Example Usage
167
+
168
+ ```python
169
+ import pulumi
170
+ import pulumi_harness as harness
171
+
172
+ example = harness.chaos.HubSync("example",
173
+ org_id="<org_id>",
174
+ project_id="<project_id>",
175
+ hub_id="<hub_id>")
176
+ ```
177
+
178
+ :param str resource_name: The name of the resource.
179
+ :param HubSyncArgs args: The arguments to use to populate this resource's properties.
180
+ :param pulumi.ResourceOptions opts: Options for the resource.
181
+ """
182
+ ...
183
+ def __init__(__self__, resource_name: str, *args, **kwargs):
184
+ resource_args, opts = _utilities.get_resource_args_opts(HubSyncArgs, pulumi.ResourceOptions, *args, **kwargs)
185
+ if resource_args is not None:
186
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
187
+ else:
188
+ __self__._internal_init(resource_name, *args, **kwargs)
189
+
190
+ def _internal_init(__self__,
191
+ resource_name: str,
192
+ opts: Optional[pulumi.ResourceOptions] = None,
193
+ hub_id: Optional[pulumi.Input[_builtins.str]] = None,
194
+ org_id: Optional[pulumi.Input[_builtins.str]] = None,
195
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
196
+ __props__=None):
197
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
198
+ if not isinstance(opts, pulumi.ResourceOptions):
199
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
200
+ if opts.id is None:
201
+ if __props__ is not None:
202
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
203
+ __props__ = HubSyncArgs.__new__(HubSyncArgs)
204
+
205
+ if hub_id is None and not opts.urn:
206
+ raise TypeError("Missing required property 'hub_id'")
207
+ __props__.__dict__["hub_id"] = hub_id
208
+ if org_id is None and not opts.urn:
209
+ raise TypeError("Missing required property 'org_id'")
210
+ __props__.__dict__["org_id"] = org_id
211
+ if project_id is None and not opts.urn:
212
+ raise TypeError("Missing required property 'project_id'")
213
+ __props__.__dict__["project_id"] = project_id
214
+ __props__.__dict__["last_synced_at"] = None
215
+ super(HubSync, __self__).__init__(
216
+ 'harness:chaos/hubSync:HubSync',
217
+ resource_name,
218
+ __props__,
219
+ opts)
220
+
221
+ @staticmethod
222
+ def get(resource_name: str,
223
+ id: pulumi.Input[str],
224
+ opts: Optional[pulumi.ResourceOptions] = None,
225
+ hub_id: Optional[pulumi.Input[_builtins.str]] = None,
226
+ last_synced_at: Optional[pulumi.Input[_builtins.str]] = None,
227
+ org_id: Optional[pulumi.Input[_builtins.str]] = None,
228
+ project_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'HubSync':
229
+ """
230
+ Get an existing HubSync resource's state with the given name, id, and optional extra
231
+ properties used to qualify the lookup.
232
+
233
+ :param str resource_name: The unique name of the resulting resource.
234
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
235
+ :param pulumi.ResourceOptions opts: Options for the resource.
236
+ :param pulumi.Input[_builtins.str] hub_id: The ID of the Chaos Hub to sync
237
+ :param pulumi.Input[_builtins.str] last_synced_at: Timestamp of the last sync
238
+ """
239
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
240
+
241
+ __props__ = _HubSyncState.__new__(_HubSyncState)
242
+
243
+ __props__.__dict__["hub_id"] = hub_id
244
+ __props__.__dict__["last_synced_at"] = last_synced_at
245
+ __props__.__dict__["org_id"] = org_id
246
+ __props__.__dict__["project_id"] = project_id
247
+ return HubSync(resource_name, opts=opts, __props__=__props__)
248
+
249
+ @_builtins.property
250
+ @pulumi.getter(name="hubId")
251
+ def hub_id(self) -> pulumi.Output[_builtins.str]:
252
+ """
253
+ The ID of the Chaos Hub to sync
254
+ """
255
+ return pulumi.get(self, "hub_id")
256
+
257
+ @_builtins.property
258
+ @pulumi.getter(name="lastSyncedAt")
259
+ def last_synced_at(self) -> pulumi.Output[_builtins.str]:
260
+ """
261
+ Timestamp of the last sync
262
+ """
263
+ return pulumi.get(self, "last_synced_at")
264
+
265
+ @_builtins.property
266
+ @pulumi.getter(name="orgId")
267
+ def org_id(self) -> pulumi.Output[_builtins.str]:
268
+ return pulumi.get(self, "org_id")
269
+
270
+ @_builtins.property
271
+ @pulumi.getter(name="projectId")
272
+ def project_id(self) -> pulumi.Output[_builtins.str]:
273
+ return pulumi.get(self, "project_id")
274
+