pulumi-harness 0.9.0a1760076204__py3-none-any.whl → 0.10.0a1764049859__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.
Files changed (55) hide show
  1. pulumi_harness/__init__.py +24 -0
  2. pulumi_harness/autostopping/__init__.py +2 -0
  3. pulumi_harness/autostopping/_inputs.py +1698 -622
  4. pulumi_harness/autostopping/get_aws_alb.py +4 -0
  5. pulumi_harness/autostopping/get_aws_proxy.py +4 -0
  6. pulumi_harness/autostopping/get_azure_gateway.py +4 -0
  7. pulumi_harness/autostopping/get_azure_proxy.py +4 -0
  8. pulumi_harness/autostopping/get_gcp_proxy.py +4 -0
  9. pulumi_harness/autostopping/get_rule_ecs.py +4 -0
  10. pulumi_harness/autostopping/get_rule_rds.py +4 -0
  11. pulumi_harness/autostopping/get_rule_scale_group.py +254 -0
  12. pulumi_harness/autostopping/get_rule_vm.py +4 -0
  13. pulumi_harness/autostopping/outputs.py +727 -0
  14. pulumi_harness/autostopping/rule_ecs.py +58 -0
  15. pulumi_harness/autostopping/rule_scale_group.py +592 -0
  16. pulumi_harness/cluster/get_orchestrator.py +4 -0
  17. pulumi_harness/cluster/get_orchestrator_config.py +21 -1
  18. pulumi_harness/cluster/orchestrator.py +2 -28
  19. pulumi_harness/cluster/orchestrator_config.py +49 -0
  20. pulumi_harness/platform/__init__.py +5 -0
  21. pulumi_harness/platform/_inputs.py +5804 -371
  22. pulumi_harness/platform/connector_rancher.py +36 -0
  23. pulumi_harness/platform/db_instance.py +49 -49
  24. pulumi_harness/platform/db_schema.py +243 -0
  25. pulumi_harness/platform/environment.py +166 -0
  26. pulumi_harness/platform/environment_group.py +10 -10
  27. pulumi_harness/platform/gcp_secret_manager_connector.py +94 -0
  28. pulumi_harness/platform/get_db_instance.py +21 -21
  29. pulumi_harness/platform/get_db_schema.py +21 -1
  30. pulumi_harness/platform/get_default_notification_template_set.py +31 -1
  31. pulumi_harness/platform/get_gitops_agent_operator_yaml.py +4 -0
  32. pulumi_harness/platform/get_gitops_app_project_mapping.py +4 -0
  33. pulumi_harness/platform/get_gitops_applications.py +4 -0
  34. pulumi_harness/platform/get_gitops_repo_cert.py +4 -0
  35. pulumi_harness/platform/get_infra_module.py +192 -6
  36. pulumi_harness/platform/get_infra_module_testing.py +521 -0
  37. pulumi_harness/platform/get_infra_modules.py +103 -0
  38. pulumi_harness/platform/get_manual_freeze.py +4 -0
  39. pulumi_harness/platform/get_pipeline_central_notification_rule.py +2 -26
  40. pulumi_harness/platform/get_secret_winrm.py +263 -0
  41. pulumi_harness/platform/git_ops_applications.py +0 -4
  42. pulumi_harness/platform/gitops_applicationset.py +308 -6
  43. pulumi_harness/platform/infra_module_testing.py +1134 -0
  44. pulumi_harness/platform/infrastructure.py +82 -0
  45. pulumi_harness/platform/outputs.py +4467 -251
  46. pulumi_harness/platform/pipeline.py +2 -2
  47. pulumi_harness/platform/pipeline_central_notification_rule.py +187 -0
  48. pulumi_harness/platform/secret_winrm.py +1082 -0
  49. pulumi_harness/platform/service.py +150 -0
  50. pulumi_harness/platform/triggers.py +6 -4
  51. pulumi_harness/pulumi-plugin.json +1 -1
  52. {pulumi_harness-0.9.0a1760076204.dist-info → pulumi_harness-0.10.0a1764049859.dist-info}/METADATA +1 -1
  53. {pulumi_harness-0.9.0a1760076204.dist-info → pulumi_harness-0.10.0a1764049859.dist-info}/RECORD +55 -48
  54. {pulumi_harness-0.9.0a1760076204.dist-info → pulumi_harness-0.10.0a1764049859.dist-info}/WHEEL +0 -0
  55. {pulumi_harness-0.9.0a1760076204.dist-info → pulumi_harness-0.10.0a1764049859.dist-info}/top_level.txt +0 -0
@@ -315,6 +315,35 @@ class RuleEcs(pulumi.CustomResource):
315
315
  """
316
316
  Resource for creating a Harness Variables.
317
317
 
318
+ ## Example Usage
319
+
320
+ ```python
321
+ import pulumi
322
+ import pulumi_harness as harness
323
+
324
+ test = harness.autostopping.RuleEcs("test",
325
+ name="name",
326
+ cloud_connector_id="cloud_connector_id",
327
+ idle_time_mins=10,
328
+ dry_run=True,
329
+ container={
330
+ "cluster": "cluster",
331
+ "service": "service",
332
+ "region": "us-east-1",
333
+ "task_count": 1,
334
+ },
335
+ tcp=[{
336
+ "proxyId": "proxy_id",
337
+ "forwardRule": [{
338
+ "port": 2233,
339
+ }],
340
+ }],
341
+ depends=[{
342
+ "rule_id": 24576,
343
+ "delay_in_sec": 5,
344
+ }])
345
+ ```
346
+
318
347
  :param str resource_name: The name of the resource.
319
348
  :param pulumi.ResourceOptions opts: Options for the resource.
320
349
  :param pulumi.Input[_builtins.str] cloud_connector_id: Id of the cloud connector
@@ -334,6 +363,35 @@ class RuleEcs(pulumi.CustomResource):
334
363
  """
335
364
  Resource for creating a Harness Variables.
336
365
 
366
+ ## Example Usage
367
+
368
+ ```python
369
+ import pulumi
370
+ import pulumi_harness as harness
371
+
372
+ test = harness.autostopping.RuleEcs("test",
373
+ name="name",
374
+ cloud_connector_id="cloud_connector_id",
375
+ idle_time_mins=10,
376
+ dry_run=True,
377
+ container={
378
+ "cluster": "cluster",
379
+ "service": "service",
380
+ "region": "us-east-1",
381
+ "task_count": 1,
382
+ },
383
+ tcp=[{
384
+ "proxyId": "proxy_id",
385
+ "forwardRule": [{
386
+ "port": 2233,
387
+ }],
388
+ }],
389
+ depends=[{
390
+ "rule_id": 24576,
391
+ "delay_in_sec": 5,
392
+ }])
393
+ ```
394
+
337
395
  :param str resource_name: The name of the resource.
338
396
  :param RuleEcsArgs args: The arguments to use to populate this resource's properties.
339
397
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -0,0 +1,592 @@
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
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['RuleScaleGroupArgs', 'RuleScaleGroup']
20
+
21
+ @pulumi.input_type
22
+ class RuleScaleGroupArgs:
23
+ def __init__(__self__, *,
24
+ cloud_connector_id: pulumi.Input[_builtins.str],
25
+ scale_group: pulumi.Input['RuleScaleGroupScaleGroupArgs'],
26
+ custom_domains: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
27
+ depends: Optional[pulumi.Input[Sequence[pulumi.Input['RuleScaleGroupDependArgs']]]] = None,
28
+ dry_run: Optional[pulumi.Input[_builtins.bool]] = None,
29
+ https: Optional[pulumi.Input[Sequence[pulumi.Input['RuleScaleGroupHttpArgs']]]] = None,
30
+ idle_time_mins: Optional[pulumi.Input[_builtins.int]] = None,
31
+ name: Optional[pulumi.Input[_builtins.str]] = None):
32
+ """
33
+ The set of arguments for constructing a RuleScaleGroup resource.
34
+ :param pulumi.Input[_builtins.str] cloud_connector_id: Id of the cloud connector
35
+ :param pulumi.Input['RuleScaleGroupScaleGroupArgs'] scale_group: Scaling Group configuration
36
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] custom_domains: Custom URLs used to access the instances
37
+ :param pulumi.Input[Sequence[pulumi.Input['RuleScaleGroupDependArgs']]] depends: Dependent rules
38
+ :param pulumi.Input[_builtins.bool] dry_run: Boolean that indicates whether the AutoStopping rule should be created in DryRun mode
39
+ :param pulumi.Input[Sequence[pulumi.Input['RuleScaleGroupHttpArgs']]] https: Http routing configuration
40
+ :param pulumi.Input[_builtins.int] idle_time_mins: Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.
41
+ :param pulumi.Input[_builtins.str] name: Name of the rule
42
+ """
43
+ pulumi.set(__self__, "cloud_connector_id", cloud_connector_id)
44
+ pulumi.set(__self__, "scale_group", scale_group)
45
+ if custom_domains is not None:
46
+ pulumi.set(__self__, "custom_domains", custom_domains)
47
+ if depends is not None:
48
+ pulumi.set(__self__, "depends", depends)
49
+ if dry_run is not None:
50
+ pulumi.set(__self__, "dry_run", dry_run)
51
+ if https is not None:
52
+ pulumi.set(__self__, "https", https)
53
+ if idle_time_mins is not None:
54
+ pulumi.set(__self__, "idle_time_mins", idle_time_mins)
55
+ if name is not None:
56
+ pulumi.set(__self__, "name", name)
57
+
58
+ @_builtins.property
59
+ @pulumi.getter(name="cloudConnectorId")
60
+ def cloud_connector_id(self) -> pulumi.Input[_builtins.str]:
61
+ """
62
+ Id of the cloud connector
63
+ """
64
+ return pulumi.get(self, "cloud_connector_id")
65
+
66
+ @cloud_connector_id.setter
67
+ def cloud_connector_id(self, value: pulumi.Input[_builtins.str]):
68
+ pulumi.set(self, "cloud_connector_id", value)
69
+
70
+ @_builtins.property
71
+ @pulumi.getter(name="scaleGroup")
72
+ def scale_group(self) -> pulumi.Input['RuleScaleGroupScaleGroupArgs']:
73
+ """
74
+ Scaling Group configuration
75
+ """
76
+ return pulumi.get(self, "scale_group")
77
+
78
+ @scale_group.setter
79
+ def scale_group(self, value: pulumi.Input['RuleScaleGroupScaleGroupArgs']):
80
+ pulumi.set(self, "scale_group", value)
81
+
82
+ @_builtins.property
83
+ @pulumi.getter(name="customDomains")
84
+ def custom_domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
85
+ """
86
+ Custom URLs used to access the instances
87
+ """
88
+ return pulumi.get(self, "custom_domains")
89
+
90
+ @custom_domains.setter
91
+ def custom_domains(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
92
+ pulumi.set(self, "custom_domains", value)
93
+
94
+ @_builtins.property
95
+ @pulumi.getter
96
+ def depends(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleScaleGroupDependArgs']]]]:
97
+ """
98
+ Dependent rules
99
+ """
100
+ return pulumi.get(self, "depends")
101
+
102
+ @depends.setter
103
+ def depends(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleScaleGroupDependArgs']]]]):
104
+ pulumi.set(self, "depends", value)
105
+
106
+ @_builtins.property
107
+ @pulumi.getter(name="dryRun")
108
+ def dry_run(self) -> Optional[pulumi.Input[_builtins.bool]]:
109
+ """
110
+ Boolean that indicates whether the AutoStopping rule should be created in DryRun mode
111
+ """
112
+ return pulumi.get(self, "dry_run")
113
+
114
+ @dry_run.setter
115
+ def dry_run(self, value: Optional[pulumi.Input[_builtins.bool]]):
116
+ pulumi.set(self, "dry_run", value)
117
+
118
+ @_builtins.property
119
+ @pulumi.getter
120
+ def https(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleScaleGroupHttpArgs']]]]:
121
+ """
122
+ Http routing configuration
123
+ """
124
+ return pulumi.get(self, "https")
125
+
126
+ @https.setter
127
+ def https(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleScaleGroupHttpArgs']]]]):
128
+ pulumi.set(self, "https", value)
129
+
130
+ @_builtins.property
131
+ @pulumi.getter(name="idleTimeMins")
132
+ def idle_time_mins(self) -> Optional[pulumi.Input[_builtins.int]]:
133
+ """
134
+ Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.
135
+ """
136
+ return pulumi.get(self, "idle_time_mins")
137
+
138
+ @idle_time_mins.setter
139
+ def idle_time_mins(self, value: Optional[pulumi.Input[_builtins.int]]):
140
+ pulumi.set(self, "idle_time_mins", value)
141
+
142
+ @_builtins.property
143
+ @pulumi.getter
144
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
145
+ """
146
+ Name of the rule
147
+ """
148
+ return pulumi.get(self, "name")
149
+
150
+ @name.setter
151
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
152
+ pulumi.set(self, "name", value)
153
+
154
+
155
+ @pulumi.input_type
156
+ class _RuleScaleGroupState:
157
+ def __init__(__self__, *,
158
+ cloud_connector_id: Optional[pulumi.Input[_builtins.str]] = None,
159
+ custom_domains: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
160
+ depends: Optional[pulumi.Input[Sequence[pulumi.Input['RuleScaleGroupDependArgs']]]] = None,
161
+ dry_run: Optional[pulumi.Input[_builtins.bool]] = None,
162
+ https: Optional[pulumi.Input[Sequence[pulumi.Input['RuleScaleGroupHttpArgs']]]] = None,
163
+ identifier: Optional[pulumi.Input[_builtins.float]] = None,
164
+ idle_time_mins: Optional[pulumi.Input[_builtins.int]] = None,
165
+ name: Optional[pulumi.Input[_builtins.str]] = None,
166
+ scale_group: Optional[pulumi.Input['RuleScaleGroupScaleGroupArgs']] = None):
167
+ """
168
+ Input properties used for looking up and filtering RuleScaleGroup resources.
169
+ :param pulumi.Input[_builtins.str] cloud_connector_id: Id of the cloud connector
170
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] custom_domains: Custom URLs used to access the instances
171
+ :param pulumi.Input[Sequence[pulumi.Input['RuleScaleGroupDependArgs']]] depends: Dependent rules
172
+ :param pulumi.Input[_builtins.bool] dry_run: Boolean that indicates whether the AutoStopping rule should be created in DryRun mode
173
+ :param pulumi.Input[Sequence[pulumi.Input['RuleScaleGroupHttpArgs']]] https: Http routing configuration
174
+ :param pulumi.Input[_builtins.float] identifier: Unique identifier of the resource
175
+ :param pulumi.Input[_builtins.int] idle_time_mins: Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.
176
+ :param pulumi.Input[_builtins.str] name: Name of the rule
177
+ :param pulumi.Input['RuleScaleGroupScaleGroupArgs'] scale_group: Scaling Group configuration
178
+ """
179
+ if cloud_connector_id is not None:
180
+ pulumi.set(__self__, "cloud_connector_id", cloud_connector_id)
181
+ if custom_domains is not None:
182
+ pulumi.set(__self__, "custom_domains", custom_domains)
183
+ if depends is not None:
184
+ pulumi.set(__self__, "depends", depends)
185
+ if dry_run is not None:
186
+ pulumi.set(__self__, "dry_run", dry_run)
187
+ if https is not None:
188
+ pulumi.set(__self__, "https", https)
189
+ if identifier is not None:
190
+ pulumi.set(__self__, "identifier", identifier)
191
+ if idle_time_mins is not None:
192
+ pulumi.set(__self__, "idle_time_mins", idle_time_mins)
193
+ if name is not None:
194
+ pulumi.set(__self__, "name", name)
195
+ if scale_group is not None:
196
+ pulumi.set(__self__, "scale_group", scale_group)
197
+
198
+ @_builtins.property
199
+ @pulumi.getter(name="cloudConnectorId")
200
+ def cloud_connector_id(self) -> Optional[pulumi.Input[_builtins.str]]:
201
+ """
202
+ Id of the cloud connector
203
+ """
204
+ return pulumi.get(self, "cloud_connector_id")
205
+
206
+ @cloud_connector_id.setter
207
+ def cloud_connector_id(self, value: Optional[pulumi.Input[_builtins.str]]):
208
+ pulumi.set(self, "cloud_connector_id", value)
209
+
210
+ @_builtins.property
211
+ @pulumi.getter(name="customDomains")
212
+ def custom_domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
213
+ """
214
+ Custom URLs used to access the instances
215
+ """
216
+ return pulumi.get(self, "custom_domains")
217
+
218
+ @custom_domains.setter
219
+ def custom_domains(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
220
+ pulumi.set(self, "custom_domains", value)
221
+
222
+ @_builtins.property
223
+ @pulumi.getter
224
+ def depends(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleScaleGroupDependArgs']]]]:
225
+ """
226
+ Dependent rules
227
+ """
228
+ return pulumi.get(self, "depends")
229
+
230
+ @depends.setter
231
+ def depends(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleScaleGroupDependArgs']]]]):
232
+ pulumi.set(self, "depends", value)
233
+
234
+ @_builtins.property
235
+ @pulumi.getter(name="dryRun")
236
+ def dry_run(self) -> Optional[pulumi.Input[_builtins.bool]]:
237
+ """
238
+ Boolean that indicates whether the AutoStopping rule should be created in DryRun mode
239
+ """
240
+ return pulumi.get(self, "dry_run")
241
+
242
+ @dry_run.setter
243
+ def dry_run(self, value: Optional[pulumi.Input[_builtins.bool]]):
244
+ pulumi.set(self, "dry_run", value)
245
+
246
+ @_builtins.property
247
+ @pulumi.getter
248
+ def https(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleScaleGroupHttpArgs']]]]:
249
+ """
250
+ Http routing configuration
251
+ """
252
+ return pulumi.get(self, "https")
253
+
254
+ @https.setter
255
+ def https(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleScaleGroupHttpArgs']]]]):
256
+ pulumi.set(self, "https", value)
257
+
258
+ @_builtins.property
259
+ @pulumi.getter
260
+ def identifier(self) -> Optional[pulumi.Input[_builtins.float]]:
261
+ """
262
+ Unique identifier of the resource
263
+ """
264
+ return pulumi.get(self, "identifier")
265
+
266
+ @identifier.setter
267
+ def identifier(self, value: Optional[pulumi.Input[_builtins.float]]):
268
+ pulumi.set(self, "identifier", value)
269
+
270
+ @_builtins.property
271
+ @pulumi.getter(name="idleTimeMins")
272
+ def idle_time_mins(self) -> Optional[pulumi.Input[_builtins.int]]:
273
+ """
274
+ Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.
275
+ """
276
+ return pulumi.get(self, "idle_time_mins")
277
+
278
+ @idle_time_mins.setter
279
+ def idle_time_mins(self, value: Optional[pulumi.Input[_builtins.int]]):
280
+ pulumi.set(self, "idle_time_mins", value)
281
+
282
+ @_builtins.property
283
+ @pulumi.getter
284
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
285
+ """
286
+ Name of the rule
287
+ """
288
+ return pulumi.get(self, "name")
289
+
290
+ @name.setter
291
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
292
+ pulumi.set(self, "name", value)
293
+
294
+ @_builtins.property
295
+ @pulumi.getter(name="scaleGroup")
296
+ def scale_group(self) -> Optional[pulumi.Input['RuleScaleGroupScaleGroupArgs']]:
297
+ """
298
+ Scaling Group configuration
299
+ """
300
+ return pulumi.get(self, "scale_group")
301
+
302
+ @scale_group.setter
303
+ def scale_group(self, value: Optional[pulumi.Input['RuleScaleGroupScaleGroupArgs']]):
304
+ pulumi.set(self, "scale_group", value)
305
+
306
+
307
+ @pulumi.type_token("harness:autostopping/ruleScaleGroup:RuleScaleGroup")
308
+ class RuleScaleGroup(pulumi.CustomResource):
309
+ @overload
310
+ def __init__(__self__,
311
+ resource_name: str,
312
+ opts: Optional[pulumi.ResourceOptions] = None,
313
+ cloud_connector_id: Optional[pulumi.Input[_builtins.str]] = None,
314
+ custom_domains: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
315
+ depends: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RuleScaleGroupDependArgs', 'RuleScaleGroupDependArgsDict']]]]] = None,
316
+ dry_run: Optional[pulumi.Input[_builtins.bool]] = None,
317
+ https: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RuleScaleGroupHttpArgs', 'RuleScaleGroupHttpArgsDict']]]]] = None,
318
+ idle_time_mins: Optional[pulumi.Input[_builtins.int]] = None,
319
+ name: Optional[pulumi.Input[_builtins.str]] = None,
320
+ scale_group: Optional[pulumi.Input[Union['RuleScaleGroupScaleGroupArgs', 'RuleScaleGroupScaleGroupArgsDict']]] = None,
321
+ __props__=None):
322
+ """
323
+ Resource for creating a Harness AutoStopping rule for Scaling Groups.
324
+
325
+ ## Example Usage
326
+
327
+ ```python
328
+ import pulumi
329
+ import pulumi_harness as harness
330
+
331
+ test = harness.autostopping.RuleScaleGroup("test",
332
+ name="test",
333
+ cloud_connector_id="test-connector",
334
+ idle_time_mins=5,
335
+ custom_domains=["app.example.com"],
336
+ scale_group={
337
+ "id": "asg-arn",
338
+ "name": "asg-name",
339
+ "region": "us-east-1",
340
+ "desired": 1,
341
+ "min": 1,
342
+ "max": 2,
343
+ "on_demand": 1,
344
+ },
345
+ https=[{
346
+ "proxy_id": "lb-id",
347
+ "routings": [{
348
+ "source_protocol": "http",
349
+ "source_port": 80,
350
+ "action": "forward",
351
+ "target_protocol": "http",
352
+ "target_port": 80,
353
+ }],
354
+ "healths": [{
355
+ "protocol": "http",
356
+ "port": 80,
357
+ "path": "/",
358
+ "timeout": 30,
359
+ "status_code_from": 200,
360
+ "status_code_to": 299,
361
+ }],
362
+ }])
363
+ ```
364
+
365
+ :param str resource_name: The name of the resource.
366
+ :param pulumi.ResourceOptions opts: Options for the resource.
367
+ :param pulumi.Input[_builtins.str] cloud_connector_id: Id of the cloud connector
368
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] custom_domains: Custom URLs used to access the instances
369
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RuleScaleGroupDependArgs', 'RuleScaleGroupDependArgsDict']]]] depends: Dependent rules
370
+ :param pulumi.Input[_builtins.bool] dry_run: Boolean that indicates whether the AutoStopping rule should be created in DryRun mode
371
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RuleScaleGroupHttpArgs', 'RuleScaleGroupHttpArgsDict']]]] https: Http routing configuration
372
+ :param pulumi.Input[_builtins.int] idle_time_mins: Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.
373
+ :param pulumi.Input[_builtins.str] name: Name of the rule
374
+ :param pulumi.Input[Union['RuleScaleGroupScaleGroupArgs', 'RuleScaleGroupScaleGroupArgsDict']] scale_group: Scaling Group configuration
375
+ """
376
+ ...
377
+ @overload
378
+ def __init__(__self__,
379
+ resource_name: str,
380
+ args: RuleScaleGroupArgs,
381
+ opts: Optional[pulumi.ResourceOptions] = None):
382
+ """
383
+ Resource for creating a Harness AutoStopping rule for Scaling Groups.
384
+
385
+ ## Example Usage
386
+
387
+ ```python
388
+ import pulumi
389
+ import pulumi_harness as harness
390
+
391
+ test = harness.autostopping.RuleScaleGroup("test",
392
+ name="test",
393
+ cloud_connector_id="test-connector",
394
+ idle_time_mins=5,
395
+ custom_domains=["app.example.com"],
396
+ scale_group={
397
+ "id": "asg-arn",
398
+ "name": "asg-name",
399
+ "region": "us-east-1",
400
+ "desired": 1,
401
+ "min": 1,
402
+ "max": 2,
403
+ "on_demand": 1,
404
+ },
405
+ https=[{
406
+ "proxy_id": "lb-id",
407
+ "routings": [{
408
+ "source_protocol": "http",
409
+ "source_port": 80,
410
+ "action": "forward",
411
+ "target_protocol": "http",
412
+ "target_port": 80,
413
+ }],
414
+ "healths": [{
415
+ "protocol": "http",
416
+ "port": 80,
417
+ "path": "/",
418
+ "timeout": 30,
419
+ "status_code_from": 200,
420
+ "status_code_to": 299,
421
+ }],
422
+ }])
423
+ ```
424
+
425
+ :param str resource_name: The name of the resource.
426
+ :param RuleScaleGroupArgs args: The arguments to use to populate this resource's properties.
427
+ :param pulumi.ResourceOptions opts: Options for the resource.
428
+ """
429
+ ...
430
+ def __init__(__self__, resource_name: str, *args, **kwargs):
431
+ resource_args, opts = _utilities.get_resource_args_opts(RuleScaleGroupArgs, pulumi.ResourceOptions, *args, **kwargs)
432
+ if resource_args is not None:
433
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
434
+ else:
435
+ __self__._internal_init(resource_name, *args, **kwargs)
436
+
437
+ def _internal_init(__self__,
438
+ resource_name: str,
439
+ opts: Optional[pulumi.ResourceOptions] = None,
440
+ cloud_connector_id: Optional[pulumi.Input[_builtins.str]] = None,
441
+ custom_domains: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
442
+ depends: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RuleScaleGroupDependArgs', 'RuleScaleGroupDependArgsDict']]]]] = None,
443
+ dry_run: Optional[pulumi.Input[_builtins.bool]] = None,
444
+ https: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RuleScaleGroupHttpArgs', 'RuleScaleGroupHttpArgsDict']]]]] = None,
445
+ idle_time_mins: Optional[pulumi.Input[_builtins.int]] = None,
446
+ name: Optional[pulumi.Input[_builtins.str]] = None,
447
+ scale_group: Optional[pulumi.Input[Union['RuleScaleGroupScaleGroupArgs', 'RuleScaleGroupScaleGroupArgsDict']]] = None,
448
+ __props__=None):
449
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
450
+ if not isinstance(opts, pulumi.ResourceOptions):
451
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
452
+ if opts.id is None:
453
+ if __props__ is not None:
454
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
455
+ __props__ = RuleScaleGroupArgs.__new__(RuleScaleGroupArgs)
456
+
457
+ if cloud_connector_id is None and not opts.urn:
458
+ raise TypeError("Missing required property 'cloud_connector_id'")
459
+ __props__.__dict__["cloud_connector_id"] = cloud_connector_id
460
+ __props__.__dict__["custom_domains"] = custom_domains
461
+ __props__.__dict__["depends"] = depends
462
+ __props__.__dict__["dry_run"] = dry_run
463
+ __props__.__dict__["https"] = https
464
+ __props__.__dict__["idle_time_mins"] = idle_time_mins
465
+ __props__.__dict__["name"] = name
466
+ if scale_group is None and not opts.urn:
467
+ raise TypeError("Missing required property 'scale_group'")
468
+ __props__.__dict__["scale_group"] = scale_group
469
+ __props__.__dict__["identifier"] = None
470
+ super(RuleScaleGroup, __self__).__init__(
471
+ 'harness:autostopping/ruleScaleGroup:RuleScaleGroup',
472
+ resource_name,
473
+ __props__,
474
+ opts)
475
+
476
+ @staticmethod
477
+ def get(resource_name: str,
478
+ id: pulumi.Input[str],
479
+ opts: Optional[pulumi.ResourceOptions] = None,
480
+ cloud_connector_id: Optional[pulumi.Input[_builtins.str]] = None,
481
+ custom_domains: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
482
+ depends: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RuleScaleGroupDependArgs', 'RuleScaleGroupDependArgsDict']]]]] = None,
483
+ dry_run: Optional[pulumi.Input[_builtins.bool]] = None,
484
+ https: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RuleScaleGroupHttpArgs', 'RuleScaleGroupHttpArgsDict']]]]] = None,
485
+ identifier: Optional[pulumi.Input[_builtins.float]] = None,
486
+ idle_time_mins: Optional[pulumi.Input[_builtins.int]] = None,
487
+ name: Optional[pulumi.Input[_builtins.str]] = None,
488
+ scale_group: Optional[pulumi.Input[Union['RuleScaleGroupScaleGroupArgs', 'RuleScaleGroupScaleGroupArgsDict']]] = None) -> 'RuleScaleGroup':
489
+ """
490
+ Get an existing RuleScaleGroup resource's state with the given name, id, and optional extra
491
+ properties used to qualify the lookup.
492
+
493
+ :param str resource_name: The unique name of the resulting resource.
494
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
495
+ :param pulumi.ResourceOptions opts: Options for the resource.
496
+ :param pulumi.Input[_builtins.str] cloud_connector_id: Id of the cloud connector
497
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] custom_domains: Custom URLs used to access the instances
498
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RuleScaleGroupDependArgs', 'RuleScaleGroupDependArgsDict']]]] depends: Dependent rules
499
+ :param pulumi.Input[_builtins.bool] dry_run: Boolean that indicates whether the AutoStopping rule should be created in DryRun mode
500
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RuleScaleGroupHttpArgs', 'RuleScaleGroupHttpArgsDict']]]] https: Http routing configuration
501
+ :param pulumi.Input[_builtins.float] identifier: Unique identifier of the resource
502
+ :param pulumi.Input[_builtins.int] idle_time_mins: Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.
503
+ :param pulumi.Input[_builtins.str] name: Name of the rule
504
+ :param pulumi.Input[Union['RuleScaleGroupScaleGroupArgs', 'RuleScaleGroupScaleGroupArgsDict']] scale_group: Scaling Group configuration
505
+ """
506
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
507
+
508
+ __props__ = _RuleScaleGroupState.__new__(_RuleScaleGroupState)
509
+
510
+ __props__.__dict__["cloud_connector_id"] = cloud_connector_id
511
+ __props__.__dict__["custom_domains"] = custom_domains
512
+ __props__.__dict__["depends"] = depends
513
+ __props__.__dict__["dry_run"] = dry_run
514
+ __props__.__dict__["https"] = https
515
+ __props__.__dict__["identifier"] = identifier
516
+ __props__.__dict__["idle_time_mins"] = idle_time_mins
517
+ __props__.__dict__["name"] = name
518
+ __props__.__dict__["scale_group"] = scale_group
519
+ return RuleScaleGroup(resource_name, opts=opts, __props__=__props__)
520
+
521
+ @_builtins.property
522
+ @pulumi.getter(name="cloudConnectorId")
523
+ def cloud_connector_id(self) -> pulumi.Output[_builtins.str]:
524
+ """
525
+ Id of the cloud connector
526
+ """
527
+ return pulumi.get(self, "cloud_connector_id")
528
+
529
+ @_builtins.property
530
+ @pulumi.getter(name="customDomains")
531
+ def custom_domains(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
532
+ """
533
+ Custom URLs used to access the instances
534
+ """
535
+ return pulumi.get(self, "custom_domains")
536
+
537
+ @_builtins.property
538
+ @pulumi.getter
539
+ def depends(self) -> pulumi.Output[Optional[Sequence['outputs.RuleScaleGroupDepend']]]:
540
+ """
541
+ Dependent rules
542
+ """
543
+ return pulumi.get(self, "depends")
544
+
545
+ @_builtins.property
546
+ @pulumi.getter(name="dryRun")
547
+ def dry_run(self) -> pulumi.Output[Optional[_builtins.bool]]:
548
+ """
549
+ Boolean that indicates whether the AutoStopping rule should be created in DryRun mode
550
+ """
551
+ return pulumi.get(self, "dry_run")
552
+
553
+ @_builtins.property
554
+ @pulumi.getter
555
+ def https(self) -> pulumi.Output[Optional[Sequence['outputs.RuleScaleGroupHttp']]]:
556
+ """
557
+ Http routing configuration
558
+ """
559
+ return pulumi.get(self, "https")
560
+
561
+ @_builtins.property
562
+ @pulumi.getter
563
+ def identifier(self) -> pulumi.Output[_builtins.float]:
564
+ """
565
+ Unique identifier of the resource
566
+ """
567
+ return pulumi.get(self, "identifier")
568
+
569
+ @_builtins.property
570
+ @pulumi.getter(name="idleTimeMins")
571
+ def idle_time_mins(self) -> pulumi.Output[Optional[_builtins.int]]:
572
+ """
573
+ Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.
574
+ """
575
+ return pulumi.get(self, "idle_time_mins")
576
+
577
+ @_builtins.property
578
+ @pulumi.getter
579
+ def name(self) -> pulumi.Output[_builtins.str]:
580
+ """
581
+ Name of the rule
582
+ """
583
+ return pulumi.get(self, "name")
584
+
585
+ @_builtins.property
586
+ @pulumi.getter(name="scaleGroup")
587
+ def scale_group(self) -> pulumi.Output['outputs.RuleScaleGroupScaleGroup']:
588
+ """
589
+ Scaling Group configuration
590
+ """
591
+ return pulumi.get(self, "scale_group")
592
+
@@ -92,6 +92,8 @@ def get_orchestrator(cluster_endpoint: Optional[_builtins.str] = None,
92
92
  """
93
93
  Data source for retrieving a Harness ClusterOrchestrator.
94
94
 
95
+ ## Example Usage
96
+
95
97
 
96
98
  :param _builtins.str cluster_endpoint: Endpoint of the k8s cluster being onboarded under the orchestrator
97
99
  :param _builtins.str k8s_connector_id: ID of the Harness Kubernetes Connector Being used
@@ -116,6 +118,8 @@ def get_orchestrator_output(cluster_endpoint: Optional[pulumi.Input[_builtins.st
116
118
  """
117
119
  Data source for retrieving a Harness ClusterOrchestrator.
118
120
 
121
+ ## Example Usage
122
+
119
123
 
120
124
  :param _builtins.str cluster_endpoint: Endpoint of the k8s cluster being onboarded under the orchestrator
121
125
  :param _builtins.str k8s_connector_id: ID of the Harness Kubernetes Connector Being used