pulumi-spotinst 3.126.0a1761894726__py3-none-any.whl → 3.128.0__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-spotinst might be problematic. Click here for more details.
- pulumi_spotinst/_inputs.py +317 -0
- pulumi_spotinst/aws/_inputs.py +177 -0
- pulumi_spotinst/aws/beanstalk.py +76 -0
- pulumi_spotinst/aws/ocean_launch_spec.py +47 -0
- pulumi_spotinst/aws/outputs.py +128 -1
- pulumi_spotinst/ecs/ocean.py +208 -0
- pulumi_spotinst/gke/ocean_launch_spec.py +7 -7
- pulumi_spotinst/ocean_right_sizing_rule.py +280 -2
- pulumi_spotinst/outputs.py +217 -0
- pulumi_spotinst/pulumi-plugin.json +1 -1
- pulumi_spotinst/stateful_node_azure.py +22 -0
- {pulumi_spotinst-3.126.0a1761894726.dist-info → pulumi_spotinst-3.128.0.dist-info}/METADATA +1 -1
- {pulumi_spotinst-3.126.0a1761894726.dist-info → pulumi_spotinst-3.128.0.dist-info}/RECORD +15 -15
- {pulumi_spotinst-3.126.0a1761894726.dist-info → pulumi_spotinst-3.128.0.dist-info}/WHEEL +0 -0
- {pulumi_spotinst-3.126.0a1761894726.dist-info → pulumi_spotinst-3.128.0.dist-info}/top_level.txt +0 -0
|
@@ -36,6 +36,16 @@ class OceanRightSizingRuleArgs:
|
|
|
36
36
|
restart_replicas: Optional[pulumi.Input[_builtins.str]] = None):
|
|
37
37
|
"""
|
|
38
38
|
The set of arguments for constructing a OceanRightSizingRule resource.
|
|
39
|
+
:param pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationIntervalArgs']]] recommendation_application_intervals: Determines the Ocean Rightsizing rule recommendation application intervals.
|
|
40
|
+
:param pulumi.Input[_builtins.str] rule_name: The unique name of the rule.
|
|
41
|
+
:param pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAutoApplyDefinitionArgs']]] auto_apply_definitions: Ocean Rightsizing Rule Auto Apply Configuration.
|
|
42
|
+
:param pulumi.Input[_builtins.bool] exclude_preliminary_recommendations: Exclude preliminary recommendations (recommendations based on less than 4 full days of data).
|
|
43
|
+
:param pulumi.Input[_builtins.str] ocean_id: Identifier of the Ocean cluster.
|
|
44
|
+
:param pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationBoundaryArgs']]] recommendation_application_boundaries: Determines the Ocean Rightsizing rule recommendation application boundaries.
|
|
45
|
+
:param pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationHpaArgs']]] recommendation_application_hpas: HPA Rightsizing Rule Recommendation Configuration
|
|
46
|
+
:param pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationMinThresholdArgs']]] recommendation_application_min_thresholds: Determines the extent of difference between current request and recommendation to trigger a change in percentage.
|
|
47
|
+
:param pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationOverheadValueArgs']]] recommendation_application_overhead_values: Determines the Ocean Rightsizing rule recommendation application overhead values.
|
|
48
|
+
:param pulumi.Input[_builtins.str] restart_replicas: Valid values: "MORE_THAN_ONE_REPLICA" "ALL_MANIFEST" "NO_RESTART". Enable to sequentially restart pod batches according to recommendations, for all pods, only more than 1 replica, or not any pod.
|
|
39
49
|
"""
|
|
40
50
|
pulumi.set(__self__, "recommendation_application_intervals", recommendation_application_intervals)
|
|
41
51
|
pulumi.set(__self__, "rule_name", rule_name)
|
|
@@ -65,6 +75,9 @@ class OceanRightSizingRuleArgs:
|
|
|
65
75
|
@_builtins.property
|
|
66
76
|
@pulumi.getter(name="recommendationApplicationIntervals")
|
|
67
77
|
def recommendation_application_intervals(self) -> pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationIntervalArgs']]]:
|
|
78
|
+
"""
|
|
79
|
+
Determines the Ocean Rightsizing rule recommendation application intervals.
|
|
80
|
+
"""
|
|
68
81
|
return pulumi.get(self, "recommendation_application_intervals")
|
|
69
82
|
|
|
70
83
|
@recommendation_application_intervals.setter
|
|
@@ -74,6 +87,9 @@ class OceanRightSizingRuleArgs:
|
|
|
74
87
|
@_builtins.property
|
|
75
88
|
@pulumi.getter(name="ruleName")
|
|
76
89
|
def rule_name(self) -> pulumi.Input[_builtins.str]:
|
|
90
|
+
"""
|
|
91
|
+
The unique name of the rule.
|
|
92
|
+
"""
|
|
77
93
|
return pulumi.get(self, "rule_name")
|
|
78
94
|
|
|
79
95
|
@rule_name.setter
|
|
@@ -92,6 +108,9 @@ class OceanRightSizingRuleArgs:
|
|
|
92
108
|
@_builtins.property
|
|
93
109
|
@pulumi.getter(name="autoApplyDefinitions")
|
|
94
110
|
def auto_apply_definitions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAutoApplyDefinitionArgs']]]]:
|
|
111
|
+
"""
|
|
112
|
+
Ocean Rightsizing Rule Auto Apply Configuration.
|
|
113
|
+
"""
|
|
95
114
|
return pulumi.get(self, "auto_apply_definitions")
|
|
96
115
|
|
|
97
116
|
@auto_apply_definitions.setter
|
|
@@ -119,6 +138,9 @@ class OceanRightSizingRuleArgs:
|
|
|
119
138
|
@_builtins.property
|
|
120
139
|
@pulumi.getter(name="excludePreliminaryRecommendations")
|
|
121
140
|
def exclude_preliminary_recommendations(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
141
|
+
"""
|
|
142
|
+
Exclude preliminary recommendations (recommendations based on less than 4 full days of data).
|
|
143
|
+
"""
|
|
122
144
|
return pulumi.get(self, "exclude_preliminary_recommendations")
|
|
123
145
|
|
|
124
146
|
@exclude_preliminary_recommendations.setter
|
|
@@ -128,6 +150,9 @@ class OceanRightSizingRuleArgs:
|
|
|
128
150
|
@_builtins.property
|
|
129
151
|
@pulumi.getter(name="oceanId")
|
|
130
152
|
def ocean_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
153
|
+
"""
|
|
154
|
+
Identifier of the Ocean cluster.
|
|
155
|
+
"""
|
|
131
156
|
return pulumi.get(self, "ocean_id")
|
|
132
157
|
|
|
133
158
|
@ocean_id.setter
|
|
@@ -137,6 +162,9 @@ class OceanRightSizingRuleArgs:
|
|
|
137
162
|
@_builtins.property
|
|
138
163
|
@pulumi.getter(name="recommendationApplicationBoundaries")
|
|
139
164
|
def recommendation_application_boundaries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationBoundaryArgs']]]]:
|
|
165
|
+
"""
|
|
166
|
+
Determines the Ocean Rightsizing rule recommendation application boundaries.
|
|
167
|
+
"""
|
|
140
168
|
return pulumi.get(self, "recommendation_application_boundaries")
|
|
141
169
|
|
|
142
170
|
@recommendation_application_boundaries.setter
|
|
@@ -146,6 +174,9 @@ class OceanRightSizingRuleArgs:
|
|
|
146
174
|
@_builtins.property
|
|
147
175
|
@pulumi.getter(name="recommendationApplicationHpas")
|
|
148
176
|
def recommendation_application_hpas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationHpaArgs']]]]:
|
|
177
|
+
"""
|
|
178
|
+
HPA Rightsizing Rule Recommendation Configuration
|
|
179
|
+
"""
|
|
149
180
|
return pulumi.get(self, "recommendation_application_hpas")
|
|
150
181
|
|
|
151
182
|
@recommendation_application_hpas.setter
|
|
@@ -155,6 +186,9 @@ class OceanRightSizingRuleArgs:
|
|
|
155
186
|
@_builtins.property
|
|
156
187
|
@pulumi.getter(name="recommendationApplicationMinThresholds")
|
|
157
188
|
def recommendation_application_min_thresholds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationMinThresholdArgs']]]]:
|
|
189
|
+
"""
|
|
190
|
+
Determines the extent of difference between current request and recommendation to trigger a change in percentage.
|
|
191
|
+
"""
|
|
158
192
|
return pulumi.get(self, "recommendation_application_min_thresholds")
|
|
159
193
|
|
|
160
194
|
@recommendation_application_min_thresholds.setter
|
|
@@ -164,6 +198,9 @@ class OceanRightSizingRuleArgs:
|
|
|
164
198
|
@_builtins.property
|
|
165
199
|
@pulumi.getter(name="recommendationApplicationOverheadValues")
|
|
166
200
|
def recommendation_application_overhead_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationOverheadValueArgs']]]]:
|
|
201
|
+
"""
|
|
202
|
+
Determines the Ocean Rightsizing rule recommendation application overhead values.
|
|
203
|
+
"""
|
|
167
204
|
return pulumi.get(self, "recommendation_application_overhead_values")
|
|
168
205
|
|
|
169
206
|
@recommendation_application_overhead_values.setter
|
|
@@ -173,6 +210,9 @@ class OceanRightSizingRuleArgs:
|
|
|
173
210
|
@_builtins.property
|
|
174
211
|
@pulumi.getter(name="restartReplicas")
|
|
175
212
|
def restart_replicas(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
213
|
+
"""
|
|
214
|
+
Valid values: "MORE_THAN_ONE_REPLICA" "ALL_MANIFEST" "NO_RESTART". Enable to sequentially restart pod batches according to recommendations, for all pods, only more than 1 replica, or not any pod.
|
|
215
|
+
"""
|
|
176
216
|
return pulumi.get(self, "restart_replicas")
|
|
177
217
|
|
|
178
218
|
@restart_replicas.setter
|
|
@@ -198,6 +238,16 @@ class _OceanRightSizingRuleState:
|
|
|
198
238
|
rule_name: Optional[pulumi.Input[_builtins.str]] = None):
|
|
199
239
|
"""
|
|
200
240
|
Input properties used for looking up and filtering OceanRightSizingRule resources.
|
|
241
|
+
:param pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAutoApplyDefinitionArgs']]] auto_apply_definitions: Ocean Rightsizing Rule Auto Apply Configuration.
|
|
242
|
+
:param pulumi.Input[_builtins.bool] exclude_preliminary_recommendations: Exclude preliminary recommendations (recommendations based on less than 4 full days of data).
|
|
243
|
+
:param pulumi.Input[_builtins.str] ocean_id: Identifier of the Ocean cluster.
|
|
244
|
+
:param pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationBoundaryArgs']]] recommendation_application_boundaries: Determines the Ocean Rightsizing rule recommendation application boundaries.
|
|
245
|
+
:param pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationHpaArgs']]] recommendation_application_hpas: HPA Rightsizing Rule Recommendation Configuration
|
|
246
|
+
:param pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationIntervalArgs']]] recommendation_application_intervals: Determines the Ocean Rightsizing rule recommendation application intervals.
|
|
247
|
+
:param pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationMinThresholdArgs']]] recommendation_application_min_thresholds: Determines the extent of difference between current request and recommendation to trigger a change in percentage.
|
|
248
|
+
:param pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationOverheadValueArgs']]] recommendation_application_overhead_values: Determines the Ocean Rightsizing rule recommendation application overhead values.
|
|
249
|
+
:param pulumi.Input[_builtins.str] restart_replicas: Valid values: "MORE_THAN_ONE_REPLICA" "ALL_MANIFEST" "NO_RESTART". Enable to sequentially restart pod batches according to recommendations, for all pods, only more than 1 replica, or not any pod.
|
|
250
|
+
:param pulumi.Input[_builtins.str] rule_name: The unique name of the rule.
|
|
201
251
|
"""
|
|
202
252
|
if attach_workloads is not None:
|
|
203
253
|
pulumi.set(__self__, "attach_workloads", attach_workloads)
|
|
@@ -238,6 +288,9 @@ class _OceanRightSizingRuleState:
|
|
|
238
288
|
@_builtins.property
|
|
239
289
|
@pulumi.getter(name="autoApplyDefinitions")
|
|
240
290
|
def auto_apply_definitions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAutoApplyDefinitionArgs']]]]:
|
|
291
|
+
"""
|
|
292
|
+
Ocean Rightsizing Rule Auto Apply Configuration.
|
|
293
|
+
"""
|
|
241
294
|
return pulumi.get(self, "auto_apply_definitions")
|
|
242
295
|
|
|
243
296
|
@auto_apply_definitions.setter
|
|
@@ -265,6 +318,9 @@ class _OceanRightSizingRuleState:
|
|
|
265
318
|
@_builtins.property
|
|
266
319
|
@pulumi.getter(name="excludePreliminaryRecommendations")
|
|
267
320
|
def exclude_preliminary_recommendations(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
321
|
+
"""
|
|
322
|
+
Exclude preliminary recommendations (recommendations based on less than 4 full days of data).
|
|
323
|
+
"""
|
|
268
324
|
return pulumi.get(self, "exclude_preliminary_recommendations")
|
|
269
325
|
|
|
270
326
|
@exclude_preliminary_recommendations.setter
|
|
@@ -274,6 +330,9 @@ class _OceanRightSizingRuleState:
|
|
|
274
330
|
@_builtins.property
|
|
275
331
|
@pulumi.getter(name="oceanId")
|
|
276
332
|
def ocean_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
333
|
+
"""
|
|
334
|
+
Identifier of the Ocean cluster.
|
|
335
|
+
"""
|
|
277
336
|
return pulumi.get(self, "ocean_id")
|
|
278
337
|
|
|
279
338
|
@ocean_id.setter
|
|
@@ -283,6 +342,9 @@ class _OceanRightSizingRuleState:
|
|
|
283
342
|
@_builtins.property
|
|
284
343
|
@pulumi.getter(name="recommendationApplicationBoundaries")
|
|
285
344
|
def recommendation_application_boundaries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationBoundaryArgs']]]]:
|
|
345
|
+
"""
|
|
346
|
+
Determines the Ocean Rightsizing rule recommendation application boundaries.
|
|
347
|
+
"""
|
|
286
348
|
return pulumi.get(self, "recommendation_application_boundaries")
|
|
287
349
|
|
|
288
350
|
@recommendation_application_boundaries.setter
|
|
@@ -292,6 +354,9 @@ class _OceanRightSizingRuleState:
|
|
|
292
354
|
@_builtins.property
|
|
293
355
|
@pulumi.getter(name="recommendationApplicationHpas")
|
|
294
356
|
def recommendation_application_hpas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationHpaArgs']]]]:
|
|
357
|
+
"""
|
|
358
|
+
HPA Rightsizing Rule Recommendation Configuration
|
|
359
|
+
"""
|
|
295
360
|
return pulumi.get(self, "recommendation_application_hpas")
|
|
296
361
|
|
|
297
362
|
@recommendation_application_hpas.setter
|
|
@@ -301,6 +366,9 @@ class _OceanRightSizingRuleState:
|
|
|
301
366
|
@_builtins.property
|
|
302
367
|
@pulumi.getter(name="recommendationApplicationIntervals")
|
|
303
368
|
def recommendation_application_intervals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationIntervalArgs']]]]:
|
|
369
|
+
"""
|
|
370
|
+
Determines the Ocean Rightsizing rule recommendation application intervals.
|
|
371
|
+
"""
|
|
304
372
|
return pulumi.get(self, "recommendation_application_intervals")
|
|
305
373
|
|
|
306
374
|
@recommendation_application_intervals.setter
|
|
@@ -310,6 +378,9 @@ class _OceanRightSizingRuleState:
|
|
|
310
378
|
@_builtins.property
|
|
311
379
|
@pulumi.getter(name="recommendationApplicationMinThresholds")
|
|
312
380
|
def recommendation_application_min_thresholds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationMinThresholdArgs']]]]:
|
|
381
|
+
"""
|
|
382
|
+
Determines the extent of difference between current request and recommendation to trigger a change in percentage.
|
|
383
|
+
"""
|
|
313
384
|
return pulumi.get(self, "recommendation_application_min_thresholds")
|
|
314
385
|
|
|
315
386
|
@recommendation_application_min_thresholds.setter
|
|
@@ -319,6 +390,9 @@ class _OceanRightSizingRuleState:
|
|
|
319
390
|
@_builtins.property
|
|
320
391
|
@pulumi.getter(name="recommendationApplicationOverheadValues")
|
|
321
392
|
def recommendation_application_overhead_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationOverheadValueArgs']]]]:
|
|
393
|
+
"""
|
|
394
|
+
Determines the Ocean Rightsizing rule recommendation application overhead values.
|
|
395
|
+
"""
|
|
322
396
|
return pulumi.get(self, "recommendation_application_overhead_values")
|
|
323
397
|
|
|
324
398
|
@recommendation_application_overhead_values.setter
|
|
@@ -328,6 +402,9 @@ class _OceanRightSizingRuleState:
|
|
|
328
402
|
@_builtins.property
|
|
329
403
|
@pulumi.getter(name="restartReplicas")
|
|
330
404
|
def restart_replicas(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
405
|
+
"""
|
|
406
|
+
Valid values: "MORE_THAN_ONE_REPLICA" "ALL_MANIFEST" "NO_RESTART". Enable to sequentially restart pod batches according to recommendations, for all pods, only more than 1 replica, or not any pod.
|
|
407
|
+
"""
|
|
331
408
|
return pulumi.get(self, "restart_replicas")
|
|
332
409
|
|
|
333
410
|
@restart_replicas.setter
|
|
@@ -337,6 +414,9 @@ class _OceanRightSizingRuleState:
|
|
|
337
414
|
@_builtins.property
|
|
338
415
|
@pulumi.getter(name="ruleName")
|
|
339
416
|
def rule_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
417
|
+
"""
|
|
418
|
+
The unique name of the rule.
|
|
419
|
+
"""
|
|
340
420
|
return pulumi.get(self, "rule_name")
|
|
341
421
|
|
|
342
422
|
@rule_name.setter
|
|
@@ -365,9 +445,93 @@ class OceanRightSizingRule(pulumi.CustomResource):
|
|
|
365
445
|
rule_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
366
446
|
__props__=None):
|
|
367
447
|
"""
|
|
368
|
-
|
|
448
|
+
Manages a Spotinst Ocean right sizing rule resource.
|
|
449
|
+
|
|
450
|
+
## Example Usage
|
|
451
|
+
|
|
452
|
+
```python
|
|
453
|
+
import pulumi
|
|
454
|
+
import pulumi_spotinst as spotinst
|
|
455
|
+
|
|
456
|
+
example = spotinst.OceanRightSizingRule("example",
|
|
457
|
+
ocean_id="o-123456",
|
|
458
|
+
rule_name="test-rule",
|
|
459
|
+
exclude_preliminary_recommendations=True,
|
|
460
|
+
restart_replicas="ALL_MANIFEST",
|
|
461
|
+
recommendation_application_hpas=[{
|
|
462
|
+
"allow_hpa_recommendations": True,
|
|
463
|
+
}],
|
|
464
|
+
recommendation_application_intervals=[
|
|
465
|
+
{
|
|
466
|
+
"repetition_basis": "WEEKLY",
|
|
467
|
+
"weekly_repetition_bases": [{
|
|
468
|
+
"interval_days": [
|
|
469
|
+
"MONDAY",
|
|
470
|
+
"WEDNESDAY",
|
|
471
|
+
],
|
|
472
|
+
"interval_hours_start_time": "12:00",
|
|
473
|
+
"interval_hours_end_time": "14:00",
|
|
474
|
+
}],
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
"repetition_basis": "MONTHLY",
|
|
478
|
+
"monthly_repetition_bases": [{
|
|
479
|
+
"interval_months": [
|
|
480
|
+
2,
|
|
481
|
+
6,
|
|
482
|
+
9,
|
|
483
|
+
],
|
|
484
|
+
"week_of_the_months": [
|
|
485
|
+
"FIRST",
|
|
486
|
+
"LAST",
|
|
487
|
+
],
|
|
488
|
+
"weekly_repetition_bases": [{
|
|
489
|
+
"interval_days": ["MONDAY"],
|
|
490
|
+
"interval_hours_start_time": "03:00",
|
|
491
|
+
"interval_hours_end_time": "04:00",
|
|
492
|
+
}],
|
|
493
|
+
}],
|
|
494
|
+
},
|
|
495
|
+
],
|
|
496
|
+
recommendation_application_boundaries=[{
|
|
497
|
+
"cpu_min": 120,
|
|
498
|
+
"cpu_max": 190,
|
|
499
|
+
"memory_min": 160,
|
|
500
|
+
"memory_max": 190,
|
|
501
|
+
}],
|
|
502
|
+
recommendation_application_min_thresholds=[{
|
|
503
|
+
"cpu_percentage": 0.412,
|
|
504
|
+
"memory_percentage": 0.36,
|
|
505
|
+
}],
|
|
506
|
+
recommendation_application_overhead_values=[{
|
|
507
|
+
"cpu_percentage": 0.8,
|
|
508
|
+
"memory_percentage": 0.5,
|
|
509
|
+
}],
|
|
510
|
+
auto_apply_definitions=[{
|
|
511
|
+
"enabled": True,
|
|
512
|
+
"namespaces": [
|
|
513
|
+
"kube-system",
|
|
514
|
+
"spot-system",
|
|
515
|
+
],
|
|
516
|
+
"labels": {
|
|
517
|
+
"k8s-app": "kube-proxy",
|
|
518
|
+
"app.kubernetes.io/name": "metrics-server",
|
|
519
|
+
},
|
|
520
|
+
}])
|
|
521
|
+
```
|
|
522
|
+
|
|
369
523
|
:param str resource_name: The name of the resource.
|
|
370
524
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
525
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleAutoApplyDefinitionArgs', 'OceanRightSizingRuleAutoApplyDefinitionArgsDict']]]] auto_apply_definitions: Ocean Rightsizing Rule Auto Apply Configuration.
|
|
526
|
+
:param pulumi.Input[_builtins.bool] exclude_preliminary_recommendations: Exclude preliminary recommendations (recommendations based on less than 4 full days of data).
|
|
527
|
+
:param pulumi.Input[_builtins.str] ocean_id: Identifier of the Ocean cluster.
|
|
528
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationBoundaryArgs', 'OceanRightSizingRuleRecommendationApplicationBoundaryArgsDict']]]] recommendation_application_boundaries: Determines the Ocean Rightsizing rule recommendation application boundaries.
|
|
529
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationHpaArgs', 'OceanRightSizingRuleRecommendationApplicationHpaArgsDict']]]] recommendation_application_hpas: HPA Rightsizing Rule Recommendation Configuration
|
|
530
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationIntervalArgs', 'OceanRightSizingRuleRecommendationApplicationIntervalArgsDict']]]] recommendation_application_intervals: Determines the Ocean Rightsizing rule recommendation application intervals.
|
|
531
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationMinThresholdArgs', 'OceanRightSizingRuleRecommendationApplicationMinThresholdArgsDict']]]] recommendation_application_min_thresholds: Determines the extent of difference between current request and recommendation to trigger a change in percentage.
|
|
532
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationOverheadValueArgs', 'OceanRightSizingRuleRecommendationApplicationOverheadValueArgsDict']]]] recommendation_application_overhead_values: Determines the Ocean Rightsizing rule recommendation application overhead values.
|
|
533
|
+
:param pulumi.Input[_builtins.str] restart_replicas: Valid values: "MORE_THAN_ONE_REPLICA" "ALL_MANIFEST" "NO_RESTART". Enable to sequentially restart pod batches according to recommendations, for all pods, only more than 1 replica, or not any pod.
|
|
534
|
+
:param pulumi.Input[_builtins.str] rule_name: The unique name of the rule.
|
|
371
535
|
"""
|
|
372
536
|
...
|
|
373
537
|
@overload
|
|
@@ -376,7 +540,81 @@ class OceanRightSizingRule(pulumi.CustomResource):
|
|
|
376
540
|
args: OceanRightSizingRuleArgs,
|
|
377
541
|
opts: Optional[pulumi.ResourceOptions] = None):
|
|
378
542
|
"""
|
|
379
|
-
|
|
543
|
+
Manages a Spotinst Ocean right sizing rule resource.
|
|
544
|
+
|
|
545
|
+
## Example Usage
|
|
546
|
+
|
|
547
|
+
```python
|
|
548
|
+
import pulumi
|
|
549
|
+
import pulumi_spotinst as spotinst
|
|
550
|
+
|
|
551
|
+
example = spotinst.OceanRightSizingRule("example",
|
|
552
|
+
ocean_id="o-123456",
|
|
553
|
+
rule_name="test-rule",
|
|
554
|
+
exclude_preliminary_recommendations=True,
|
|
555
|
+
restart_replicas="ALL_MANIFEST",
|
|
556
|
+
recommendation_application_hpas=[{
|
|
557
|
+
"allow_hpa_recommendations": True,
|
|
558
|
+
}],
|
|
559
|
+
recommendation_application_intervals=[
|
|
560
|
+
{
|
|
561
|
+
"repetition_basis": "WEEKLY",
|
|
562
|
+
"weekly_repetition_bases": [{
|
|
563
|
+
"interval_days": [
|
|
564
|
+
"MONDAY",
|
|
565
|
+
"WEDNESDAY",
|
|
566
|
+
],
|
|
567
|
+
"interval_hours_start_time": "12:00",
|
|
568
|
+
"interval_hours_end_time": "14:00",
|
|
569
|
+
}],
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
"repetition_basis": "MONTHLY",
|
|
573
|
+
"monthly_repetition_bases": [{
|
|
574
|
+
"interval_months": [
|
|
575
|
+
2,
|
|
576
|
+
6,
|
|
577
|
+
9,
|
|
578
|
+
],
|
|
579
|
+
"week_of_the_months": [
|
|
580
|
+
"FIRST",
|
|
581
|
+
"LAST",
|
|
582
|
+
],
|
|
583
|
+
"weekly_repetition_bases": [{
|
|
584
|
+
"interval_days": ["MONDAY"],
|
|
585
|
+
"interval_hours_start_time": "03:00",
|
|
586
|
+
"interval_hours_end_time": "04:00",
|
|
587
|
+
}],
|
|
588
|
+
}],
|
|
589
|
+
},
|
|
590
|
+
],
|
|
591
|
+
recommendation_application_boundaries=[{
|
|
592
|
+
"cpu_min": 120,
|
|
593
|
+
"cpu_max": 190,
|
|
594
|
+
"memory_min": 160,
|
|
595
|
+
"memory_max": 190,
|
|
596
|
+
}],
|
|
597
|
+
recommendation_application_min_thresholds=[{
|
|
598
|
+
"cpu_percentage": 0.412,
|
|
599
|
+
"memory_percentage": 0.36,
|
|
600
|
+
}],
|
|
601
|
+
recommendation_application_overhead_values=[{
|
|
602
|
+
"cpu_percentage": 0.8,
|
|
603
|
+
"memory_percentage": 0.5,
|
|
604
|
+
}],
|
|
605
|
+
auto_apply_definitions=[{
|
|
606
|
+
"enabled": True,
|
|
607
|
+
"namespaces": [
|
|
608
|
+
"kube-system",
|
|
609
|
+
"spot-system",
|
|
610
|
+
],
|
|
611
|
+
"labels": {
|
|
612
|
+
"k8s-app": "kube-proxy",
|
|
613
|
+
"app.kubernetes.io/name": "metrics-server",
|
|
614
|
+
},
|
|
615
|
+
}])
|
|
616
|
+
```
|
|
617
|
+
|
|
380
618
|
:param str resource_name: The name of the resource.
|
|
381
619
|
:param OceanRightSizingRuleArgs args: The arguments to use to populate this resource's properties.
|
|
382
620
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
@@ -461,6 +699,16 @@ class OceanRightSizingRule(pulumi.CustomResource):
|
|
|
461
699
|
:param str resource_name: The unique name of the resulting resource.
|
|
462
700
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
463
701
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
702
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleAutoApplyDefinitionArgs', 'OceanRightSizingRuleAutoApplyDefinitionArgsDict']]]] auto_apply_definitions: Ocean Rightsizing Rule Auto Apply Configuration.
|
|
703
|
+
:param pulumi.Input[_builtins.bool] exclude_preliminary_recommendations: Exclude preliminary recommendations (recommendations based on less than 4 full days of data).
|
|
704
|
+
:param pulumi.Input[_builtins.str] ocean_id: Identifier of the Ocean cluster.
|
|
705
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationBoundaryArgs', 'OceanRightSizingRuleRecommendationApplicationBoundaryArgsDict']]]] recommendation_application_boundaries: Determines the Ocean Rightsizing rule recommendation application boundaries.
|
|
706
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationHpaArgs', 'OceanRightSizingRuleRecommendationApplicationHpaArgsDict']]]] recommendation_application_hpas: HPA Rightsizing Rule Recommendation Configuration
|
|
707
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationIntervalArgs', 'OceanRightSizingRuleRecommendationApplicationIntervalArgsDict']]]] recommendation_application_intervals: Determines the Ocean Rightsizing rule recommendation application intervals.
|
|
708
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationMinThresholdArgs', 'OceanRightSizingRuleRecommendationApplicationMinThresholdArgsDict']]]] recommendation_application_min_thresholds: Determines the extent of difference between current request and recommendation to trigger a change in percentage.
|
|
709
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationOverheadValueArgs', 'OceanRightSizingRuleRecommendationApplicationOverheadValueArgsDict']]]] recommendation_application_overhead_values: Determines the Ocean Rightsizing rule recommendation application overhead values.
|
|
710
|
+
:param pulumi.Input[_builtins.str] restart_replicas: Valid values: "MORE_THAN_ONE_REPLICA" "ALL_MANIFEST" "NO_RESTART". Enable to sequentially restart pod batches according to recommendations, for all pods, only more than 1 replica, or not any pod.
|
|
711
|
+
:param pulumi.Input[_builtins.str] rule_name: The unique name of the rule.
|
|
464
712
|
"""
|
|
465
713
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
466
714
|
|
|
@@ -489,6 +737,9 @@ class OceanRightSizingRule(pulumi.CustomResource):
|
|
|
489
737
|
@_builtins.property
|
|
490
738
|
@pulumi.getter(name="autoApplyDefinitions")
|
|
491
739
|
def auto_apply_definitions(self) -> pulumi.Output[Optional[Sequence['outputs.OceanRightSizingRuleAutoApplyDefinition']]]:
|
|
740
|
+
"""
|
|
741
|
+
Ocean Rightsizing Rule Auto Apply Configuration.
|
|
742
|
+
"""
|
|
492
743
|
return pulumi.get(self, "auto_apply_definitions")
|
|
493
744
|
|
|
494
745
|
@_builtins.property
|
|
@@ -504,45 +755,72 @@ class OceanRightSizingRule(pulumi.CustomResource):
|
|
|
504
755
|
@_builtins.property
|
|
505
756
|
@pulumi.getter(name="excludePreliminaryRecommendations")
|
|
506
757
|
def exclude_preliminary_recommendations(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
758
|
+
"""
|
|
759
|
+
Exclude preliminary recommendations (recommendations based on less than 4 full days of data).
|
|
760
|
+
"""
|
|
507
761
|
return pulumi.get(self, "exclude_preliminary_recommendations")
|
|
508
762
|
|
|
509
763
|
@_builtins.property
|
|
510
764
|
@pulumi.getter(name="oceanId")
|
|
511
765
|
def ocean_id(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
766
|
+
"""
|
|
767
|
+
Identifier of the Ocean cluster.
|
|
768
|
+
"""
|
|
512
769
|
return pulumi.get(self, "ocean_id")
|
|
513
770
|
|
|
514
771
|
@_builtins.property
|
|
515
772
|
@pulumi.getter(name="recommendationApplicationBoundaries")
|
|
516
773
|
def recommendation_application_boundaries(self) -> pulumi.Output[Optional[Sequence['outputs.OceanRightSizingRuleRecommendationApplicationBoundary']]]:
|
|
774
|
+
"""
|
|
775
|
+
Determines the Ocean Rightsizing rule recommendation application boundaries.
|
|
776
|
+
"""
|
|
517
777
|
return pulumi.get(self, "recommendation_application_boundaries")
|
|
518
778
|
|
|
519
779
|
@_builtins.property
|
|
520
780
|
@pulumi.getter(name="recommendationApplicationHpas")
|
|
521
781
|
def recommendation_application_hpas(self) -> pulumi.Output[Optional[Sequence['outputs.OceanRightSizingRuleRecommendationApplicationHpa']]]:
|
|
782
|
+
"""
|
|
783
|
+
HPA Rightsizing Rule Recommendation Configuration
|
|
784
|
+
"""
|
|
522
785
|
return pulumi.get(self, "recommendation_application_hpas")
|
|
523
786
|
|
|
524
787
|
@_builtins.property
|
|
525
788
|
@pulumi.getter(name="recommendationApplicationIntervals")
|
|
526
789
|
def recommendation_application_intervals(self) -> pulumi.Output[Sequence['outputs.OceanRightSizingRuleRecommendationApplicationInterval']]:
|
|
790
|
+
"""
|
|
791
|
+
Determines the Ocean Rightsizing rule recommendation application intervals.
|
|
792
|
+
"""
|
|
527
793
|
return pulumi.get(self, "recommendation_application_intervals")
|
|
528
794
|
|
|
529
795
|
@_builtins.property
|
|
530
796
|
@pulumi.getter(name="recommendationApplicationMinThresholds")
|
|
531
797
|
def recommendation_application_min_thresholds(self) -> pulumi.Output[Optional[Sequence['outputs.OceanRightSizingRuleRecommendationApplicationMinThreshold']]]:
|
|
798
|
+
"""
|
|
799
|
+
Determines the extent of difference between current request and recommendation to trigger a change in percentage.
|
|
800
|
+
"""
|
|
532
801
|
return pulumi.get(self, "recommendation_application_min_thresholds")
|
|
533
802
|
|
|
534
803
|
@_builtins.property
|
|
535
804
|
@pulumi.getter(name="recommendationApplicationOverheadValues")
|
|
536
805
|
def recommendation_application_overhead_values(self) -> pulumi.Output[Optional[Sequence['outputs.OceanRightSizingRuleRecommendationApplicationOverheadValue']]]:
|
|
806
|
+
"""
|
|
807
|
+
Determines the Ocean Rightsizing rule recommendation application overhead values.
|
|
808
|
+
"""
|
|
537
809
|
return pulumi.get(self, "recommendation_application_overhead_values")
|
|
538
810
|
|
|
539
811
|
@_builtins.property
|
|
540
812
|
@pulumi.getter(name="restartReplicas")
|
|
541
813
|
def restart_replicas(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
814
|
+
"""
|
|
815
|
+
Valid values: "MORE_THAN_ONE_REPLICA" "ALL_MANIFEST" "NO_RESTART". Enable to sequentially restart pod batches according to recommendations, for all pods, only more than 1 replica, or not any pod.
|
|
816
|
+
"""
|
|
542
817
|
return pulumi.get(self, "restart_replicas")
|
|
543
818
|
|
|
544
819
|
@_builtins.property
|
|
545
820
|
@pulumi.getter(name="ruleName")
|
|
546
821
|
def rule_name(self) -> pulumi.Output[_builtins.str]:
|
|
822
|
+
"""
|
|
823
|
+
The unique name of the rule.
|
|
824
|
+
"""
|
|
547
825
|
return pulumi.get(self, "rule_name")
|
|
548
826
|
|