pulumi-spotinst 3.112.0a1741317810__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.

Files changed (77) hide show
  1. pulumi_spotinst/__init__.py +11 -1
  2. pulumi_spotinst/_inputs.py +2283 -1519
  3. pulumi_spotinst/_utilities.py +1 -1
  4. pulumi_spotinst/account.py +20 -19
  5. pulumi_spotinst/aws/__init__.py +2 -1
  6. pulumi_spotinst/aws/_inputs.py +4047 -3607
  7. pulumi_spotinst/aws/account.py +20 -19
  8. pulumi_spotinst/aws/beanstalk.py +254 -177
  9. pulumi_spotinst/aws/credentials.py +37 -36
  10. pulumi_spotinst/aws/elastigroup.py +970 -924
  11. pulumi_spotinst/aws/managed_instance.py +507 -506
  12. pulumi_spotinst/aws/mr_scalar.py +658 -653
  13. pulumi_spotinst/aws/ocean.py +668 -526
  14. pulumi_spotinst/aws/ocean_extended_resource_definition.py +37 -36
  15. pulumi_spotinst/aws/ocean_launch_spec.py +439 -297
  16. pulumi_spotinst/aws/outputs.py +2697 -2363
  17. pulumi_spotinst/aws/suspension.py +23 -22
  18. pulumi_spotinst/azure/__init__.py +2 -1
  19. pulumi_spotinst/azure/_inputs.py +607 -607
  20. pulumi_spotinst/azure/ocean_np.py +387 -386
  21. pulumi_spotinst/azure/ocean_np_virtual_node_group.py +323 -322
  22. pulumi_spotinst/azure/outputs.py +411 -411
  23. pulumi_spotinst/config/__init__.py +2 -1
  24. pulumi_spotinst/config/__init__.pyi +2 -2
  25. pulumi_spotinst/config/vars.py +6 -6
  26. pulumi_spotinst/credentials_azure.py +139 -89
  27. pulumi_spotinst/credentials_gcp.py +190 -189
  28. pulumi_spotinst/data_integration.py +40 -39
  29. pulumi_spotinst/ecs/__init__.py +2 -1
  30. pulumi_spotinst/ecs/_inputs.py +584 -584
  31. pulumi_spotinst/ecs/ocean.py +628 -415
  32. pulumi_spotinst/ecs/ocean_launch_spec.py +197 -196
  33. pulumi_spotinst/ecs/outputs.py +394 -394
  34. pulumi_spotinst/elastigroup_azure_v3.py +326 -325
  35. pulumi_spotinst/gcp/__init__.py +2 -1
  36. pulumi_spotinst/gcp/_inputs.py +573 -499
  37. pulumi_spotinst/gcp/elastigroup.py +491 -482
  38. pulumi_spotinst/gcp/outputs.py +395 -330
  39. pulumi_spotinst/gke/__init__.py +2 -1
  40. pulumi_spotinst/gke/_inputs.py +1120 -895
  41. pulumi_spotinst/gke/elastigroup.py +341 -340
  42. pulumi_spotinst/gke/ocean_import.py +204 -203
  43. pulumi_spotinst/gke/ocean_launch_spec.py +288 -216
  44. pulumi_spotinst/gke/ocean_launch_spec_import.py +37 -36
  45. pulumi_spotinst/gke/outputs.py +769 -583
  46. pulumi_spotinst/health_check.py +106 -65
  47. pulumi_spotinst/notification_center.py +344 -0
  48. pulumi_spotinst/ocean_right_sizing_rule.py +424 -77
  49. pulumi_spotinst/oceancd/__init__.py +2 -1
  50. pulumi_spotinst/oceancd/_inputs.py +764 -764
  51. pulumi_spotinst/oceancd/outputs.py +526 -526
  52. pulumi_spotinst/oceancd/rollout_spec.py +35 -34
  53. pulumi_spotinst/oceancd/strategy.py +22 -21
  54. pulumi_spotinst/oceancd/verification_provider.py +52 -51
  55. pulumi_spotinst/oceancd/verification_template.py +26 -25
  56. pulumi_spotinst/organization/__init__.py +2 -1
  57. pulumi_spotinst/organization/_inputs.py +68 -68
  58. pulumi_spotinst/organization/outputs.py +46 -46
  59. pulumi_spotinst/organization/policy.py +40 -39
  60. pulumi_spotinst/organization/programmatic_user.py +60 -59
  61. pulumi_spotinst/organization/user.py +108 -107
  62. pulumi_spotinst/organization/user_group.py +57 -56
  63. pulumi_spotinst/outputs.py +1539 -932
  64. pulumi_spotinst/provider.py +61 -40
  65. pulumi_spotinst/pulumi-plugin.json +1 -1
  66. pulumi_spotinst/spark/__init__.py +2 -1
  67. pulumi_spotinst/spark/_inputs.py +104 -104
  68. pulumi_spotinst/spark/ocean.py +38 -37
  69. pulumi_spotinst/spark/ocean_virtual_node_group.py +29 -28
  70. pulumi_spotinst/spark/outputs.py +72 -72
  71. pulumi_spotinst/stateful_node_azure.py +340 -343
  72. pulumi_spotinst/subscription.py +88 -87
  73. {pulumi_spotinst-3.112.0a1741317810.dist-info → pulumi_spotinst-3.128.0.dist-info}/METADATA +4 -4
  74. pulumi_spotinst-3.128.0.dist-info/RECORD +77 -0
  75. {pulumi_spotinst-3.112.0a1741317810.dist-info → pulumi_spotinst-3.128.0.dist-info}/WHEEL +1 -1
  76. pulumi_spotinst-3.112.0a1741317810.dist-info/RECORD +0 -76
  77. {pulumi_spotinst-3.112.0a1741317810.dist-info → pulumi_spotinst-3.128.0.dist-info}/top_level.txt +0 -0
@@ -1,8 +1,8 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
6
6
  import warnings
7
7
  import sys
8
8
  import pulumi
@@ -22,25 +22,41 @@ __all__ = ['OceanRightSizingRuleArgs', 'OceanRightSizingRule']
22
22
  class OceanRightSizingRuleArgs:
23
23
  def __init__(__self__, *,
24
24
  recommendation_application_intervals: pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationIntervalArgs']]],
25
- rule_name: pulumi.Input[str],
25
+ rule_name: pulumi.Input[_builtins.str],
26
26
  attach_workloads: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAttachWorkloadArgs']]]] = None,
27
+ auto_apply_definitions: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAutoApplyDefinitionArgs']]]] = None,
27
28
  detach_workloads: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleDetachWorkloadArgs']]]] = None,
28
- exclude_preliminary_recommendations: Optional[pulumi.Input[bool]] = None,
29
- ocean_id: Optional[pulumi.Input[str]] = None,
29
+ downside_only: Optional[pulumi.Input[_builtins.bool]] = None,
30
+ exclude_preliminary_recommendations: Optional[pulumi.Input[_builtins.bool]] = None,
31
+ ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
30
32
  recommendation_application_boundaries: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationBoundaryArgs']]]] = None,
31
33
  recommendation_application_hpas: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationHpaArgs']]]] = None,
32
34
  recommendation_application_min_thresholds: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationMinThresholdArgs']]]] = None,
33
35
  recommendation_application_overhead_values: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationOverheadValueArgs']]]] = None,
34
- restart_replicas: Optional[pulumi.Input[str]] = None):
36
+ restart_replicas: Optional[pulumi.Input[_builtins.str]] = None):
35
37
  """
36
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.
37
49
  """
38
50
  pulumi.set(__self__, "recommendation_application_intervals", recommendation_application_intervals)
39
51
  pulumi.set(__self__, "rule_name", rule_name)
40
52
  if attach_workloads is not None:
41
53
  pulumi.set(__self__, "attach_workloads", attach_workloads)
54
+ if auto_apply_definitions is not None:
55
+ pulumi.set(__self__, "auto_apply_definitions", auto_apply_definitions)
42
56
  if detach_workloads is not None:
43
57
  pulumi.set(__self__, "detach_workloads", detach_workloads)
58
+ if downside_only is not None:
59
+ pulumi.set(__self__, "downside_only", downside_only)
44
60
  if exclude_preliminary_recommendations is not None:
45
61
  pulumi.set(__self__, "exclude_preliminary_recommendations", exclude_preliminary_recommendations)
46
62
  if ocean_id is not None:
@@ -56,25 +72,31 @@ class OceanRightSizingRuleArgs:
56
72
  if restart_replicas is not None:
57
73
  pulumi.set(__self__, "restart_replicas", restart_replicas)
58
74
 
59
- @property
75
+ @_builtins.property
60
76
  @pulumi.getter(name="recommendationApplicationIntervals")
61
77
  def recommendation_application_intervals(self) -> pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationIntervalArgs']]]:
78
+ """
79
+ Determines the Ocean Rightsizing rule recommendation application intervals.
80
+ """
62
81
  return pulumi.get(self, "recommendation_application_intervals")
63
82
 
64
83
  @recommendation_application_intervals.setter
65
84
  def recommendation_application_intervals(self, value: pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationIntervalArgs']]]):
66
85
  pulumi.set(self, "recommendation_application_intervals", value)
67
86
 
68
- @property
87
+ @_builtins.property
69
88
  @pulumi.getter(name="ruleName")
70
- def rule_name(self) -> pulumi.Input[str]:
89
+ def rule_name(self) -> pulumi.Input[_builtins.str]:
90
+ """
91
+ The unique name of the rule.
92
+ """
71
93
  return pulumi.get(self, "rule_name")
72
94
 
73
95
  @rule_name.setter
74
- def rule_name(self, value: pulumi.Input[str]):
96
+ def rule_name(self, value: pulumi.Input[_builtins.str]):
75
97
  pulumi.set(self, "rule_name", value)
76
98
 
77
- @property
99
+ @_builtins.property
78
100
  @pulumi.getter(name="attachWorkloads")
79
101
  def attach_workloads(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAttachWorkloadArgs']]]]:
80
102
  return pulumi.get(self, "attach_workloads")
@@ -83,7 +105,19 @@ class OceanRightSizingRuleArgs:
83
105
  def attach_workloads(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAttachWorkloadArgs']]]]):
84
106
  pulumi.set(self, "attach_workloads", value)
85
107
 
86
- @property
108
+ @_builtins.property
109
+ @pulumi.getter(name="autoApplyDefinitions")
110
+ def auto_apply_definitions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAutoApplyDefinitionArgs']]]]:
111
+ """
112
+ Ocean Rightsizing Rule Auto Apply Configuration.
113
+ """
114
+ return pulumi.get(self, "auto_apply_definitions")
115
+
116
+ @auto_apply_definitions.setter
117
+ def auto_apply_definitions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAutoApplyDefinitionArgs']]]]):
118
+ pulumi.set(self, "auto_apply_definitions", value)
119
+
120
+ @_builtins.property
87
121
  @pulumi.getter(name="detachWorkloads")
88
122
  def detach_workloads(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleDetachWorkloadArgs']]]]:
89
123
  return pulumi.get(self, "detach_workloads")
@@ -92,67 +126,97 @@ class OceanRightSizingRuleArgs:
92
126
  def detach_workloads(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleDetachWorkloadArgs']]]]):
93
127
  pulumi.set(self, "detach_workloads", value)
94
128
 
95
- @property
129
+ @_builtins.property
130
+ @pulumi.getter(name="downsideOnly")
131
+ def downside_only(self) -> Optional[pulumi.Input[_builtins.bool]]:
132
+ return pulumi.get(self, "downside_only")
133
+
134
+ @downside_only.setter
135
+ def downside_only(self, value: Optional[pulumi.Input[_builtins.bool]]):
136
+ pulumi.set(self, "downside_only", value)
137
+
138
+ @_builtins.property
96
139
  @pulumi.getter(name="excludePreliminaryRecommendations")
97
- def exclude_preliminary_recommendations(self) -> Optional[pulumi.Input[bool]]:
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
+ """
98
144
  return pulumi.get(self, "exclude_preliminary_recommendations")
99
145
 
100
146
  @exclude_preliminary_recommendations.setter
101
- def exclude_preliminary_recommendations(self, value: Optional[pulumi.Input[bool]]):
147
+ def exclude_preliminary_recommendations(self, value: Optional[pulumi.Input[_builtins.bool]]):
102
148
  pulumi.set(self, "exclude_preliminary_recommendations", value)
103
149
 
104
- @property
150
+ @_builtins.property
105
151
  @pulumi.getter(name="oceanId")
106
- def ocean_id(self) -> Optional[pulumi.Input[str]]:
152
+ def ocean_id(self) -> Optional[pulumi.Input[_builtins.str]]:
153
+ """
154
+ Identifier of the Ocean cluster.
155
+ """
107
156
  return pulumi.get(self, "ocean_id")
108
157
 
109
158
  @ocean_id.setter
110
- def ocean_id(self, value: Optional[pulumi.Input[str]]):
159
+ def ocean_id(self, value: Optional[pulumi.Input[_builtins.str]]):
111
160
  pulumi.set(self, "ocean_id", value)
112
161
 
113
- @property
162
+ @_builtins.property
114
163
  @pulumi.getter(name="recommendationApplicationBoundaries")
115
164
  def recommendation_application_boundaries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationBoundaryArgs']]]]:
165
+ """
166
+ Determines the Ocean Rightsizing rule recommendation application boundaries.
167
+ """
116
168
  return pulumi.get(self, "recommendation_application_boundaries")
117
169
 
118
170
  @recommendation_application_boundaries.setter
119
171
  def recommendation_application_boundaries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationBoundaryArgs']]]]):
120
172
  pulumi.set(self, "recommendation_application_boundaries", value)
121
173
 
122
- @property
174
+ @_builtins.property
123
175
  @pulumi.getter(name="recommendationApplicationHpas")
124
176
  def recommendation_application_hpas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationHpaArgs']]]]:
177
+ """
178
+ HPA Rightsizing Rule Recommendation Configuration
179
+ """
125
180
  return pulumi.get(self, "recommendation_application_hpas")
126
181
 
127
182
  @recommendation_application_hpas.setter
128
183
  def recommendation_application_hpas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationHpaArgs']]]]):
129
184
  pulumi.set(self, "recommendation_application_hpas", value)
130
185
 
131
- @property
186
+ @_builtins.property
132
187
  @pulumi.getter(name="recommendationApplicationMinThresholds")
133
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
+ """
134
192
  return pulumi.get(self, "recommendation_application_min_thresholds")
135
193
 
136
194
  @recommendation_application_min_thresholds.setter
137
195
  def recommendation_application_min_thresholds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationMinThresholdArgs']]]]):
138
196
  pulumi.set(self, "recommendation_application_min_thresholds", value)
139
197
 
140
- @property
198
+ @_builtins.property
141
199
  @pulumi.getter(name="recommendationApplicationOverheadValues")
142
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
+ """
143
204
  return pulumi.get(self, "recommendation_application_overhead_values")
144
205
 
145
206
  @recommendation_application_overhead_values.setter
146
207
  def recommendation_application_overhead_values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationOverheadValueArgs']]]]):
147
208
  pulumi.set(self, "recommendation_application_overhead_values", value)
148
209
 
149
- @property
210
+ @_builtins.property
150
211
  @pulumi.getter(name="restartReplicas")
151
- def restart_replicas(self) -> Optional[pulumi.Input[str]]:
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
+ """
152
216
  return pulumi.get(self, "restart_replicas")
153
217
 
154
218
  @restart_replicas.setter
155
- def restart_replicas(self, value: Optional[pulumi.Input[str]]):
219
+ def restart_replicas(self, value: Optional[pulumi.Input[_builtins.str]]):
156
220
  pulumi.set(self, "restart_replicas", value)
157
221
 
158
222
 
@@ -160,23 +224,39 @@ class OceanRightSizingRuleArgs:
160
224
  class _OceanRightSizingRuleState:
161
225
  def __init__(__self__, *,
162
226
  attach_workloads: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAttachWorkloadArgs']]]] = None,
227
+ auto_apply_definitions: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAutoApplyDefinitionArgs']]]] = None,
163
228
  detach_workloads: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleDetachWorkloadArgs']]]] = None,
164
- exclude_preliminary_recommendations: Optional[pulumi.Input[bool]] = None,
165
- ocean_id: Optional[pulumi.Input[str]] = None,
229
+ downside_only: Optional[pulumi.Input[_builtins.bool]] = None,
230
+ exclude_preliminary_recommendations: Optional[pulumi.Input[_builtins.bool]] = None,
231
+ ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
166
232
  recommendation_application_boundaries: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationBoundaryArgs']]]] = None,
167
233
  recommendation_application_hpas: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationHpaArgs']]]] = None,
168
234
  recommendation_application_intervals: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationIntervalArgs']]]] = None,
169
235
  recommendation_application_min_thresholds: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationMinThresholdArgs']]]] = None,
170
236
  recommendation_application_overhead_values: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationOverheadValueArgs']]]] = None,
171
- restart_replicas: Optional[pulumi.Input[str]] = None,
172
- rule_name: Optional[pulumi.Input[str]] = None):
237
+ restart_replicas: Optional[pulumi.Input[_builtins.str]] = None,
238
+ rule_name: Optional[pulumi.Input[_builtins.str]] = None):
173
239
  """
174
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.
175
251
  """
176
252
  if attach_workloads is not None:
177
253
  pulumi.set(__self__, "attach_workloads", attach_workloads)
254
+ if auto_apply_definitions is not None:
255
+ pulumi.set(__self__, "auto_apply_definitions", auto_apply_definitions)
178
256
  if detach_workloads is not None:
179
257
  pulumi.set(__self__, "detach_workloads", detach_workloads)
258
+ if downside_only is not None:
259
+ pulumi.set(__self__, "downside_only", downside_only)
180
260
  if exclude_preliminary_recommendations is not None:
181
261
  pulumi.set(__self__, "exclude_preliminary_recommendations", exclude_preliminary_recommendations)
182
262
  if ocean_id is not None:
@@ -196,7 +276,7 @@ class _OceanRightSizingRuleState:
196
276
  if rule_name is not None:
197
277
  pulumi.set(__self__, "rule_name", rule_name)
198
278
 
199
- @property
279
+ @_builtins.property
200
280
  @pulumi.getter(name="attachWorkloads")
201
281
  def attach_workloads(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAttachWorkloadArgs']]]]:
202
282
  return pulumi.get(self, "attach_workloads")
@@ -205,7 +285,19 @@ class _OceanRightSizingRuleState:
205
285
  def attach_workloads(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAttachWorkloadArgs']]]]):
206
286
  pulumi.set(self, "attach_workloads", value)
207
287
 
208
- @property
288
+ @_builtins.property
289
+ @pulumi.getter(name="autoApplyDefinitions")
290
+ def auto_apply_definitions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAutoApplyDefinitionArgs']]]]:
291
+ """
292
+ Ocean Rightsizing Rule Auto Apply Configuration.
293
+ """
294
+ return pulumi.get(self, "auto_apply_definitions")
295
+
296
+ @auto_apply_definitions.setter
297
+ def auto_apply_definitions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAutoApplyDefinitionArgs']]]]):
298
+ pulumi.set(self, "auto_apply_definitions", value)
299
+
300
+ @_builtins.property
209
301
  @pulumi.getter(name="detachWorkloads")
210
302
  def detach_workloads(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleDetachWorkloadArgs']]]]:
211
303
  return pulumi.get(self, "detach_workloads")
@@ -214,109 +306,232 @@ class _OceanRightSizingRuleState:
214
306
  def detach_workloads(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleDetachWorkloadArgs']]]]):
215
307
  pulumi.set(self, "detach_workloads", value)
216
308
 
217
- @property
309
+ @_builtins.property
310
+ @pulumi.getter(name="downsideOnly")
311
+ def downside_only(self) -> Optional[pulumi.Input[_builtins.bool]]:
312
+ return pulumi.get(self, "downside_only")
313
+
314
+ @downside_only.setter
315
+ def downside_only(self, value: Optional[pulumi.Input[_builtins.bool]]):
316
+ pulumi.set(self, "downside_only", value)
317
+
318
+ @_builtins.property
218
319
  @pulumi.getter(name="excludePreliminaryRecommendations")
219
- def exclude_preliminary_recommendations(self) -> Optional[pulumi.Input[bool]]:
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
+ """
220
324
  return pulumi.get(self, "exclude_preliminary_recommendations")
221
325
 
222
326
  @exclude_preliminary_recommendations.setter
223
- def exclude_preliminary_recommendations(self, value: Optional[pulumi.Input[bool]]):
327
+ def exclude_preliminary_recommendations(self, value: Optional[pulumi.Input[_builtins.bool]]):
224
328
  pulumi.set(self, "exclude_preliminary_recommendations", value)
225
329
 
226
- @property
330
+ @_builtins.property
227
331
  @pulumi.getter(name="oceanId")
228
- def ocean_id(self) -> Optional[pulumi.Input[str]]:
332
+ def ocean_id(self) -> Optional[pulumi.Input[_builtins.str]]:
333
+ """
334
+ Identifier of the Ocean cluster.
335
+ """
229
336
  return pulumi.get(self, "ocean_id")
230
337
 
231
338
  @ocean_id.setter
232
- def ocean_id(self, value: Optional[pulumi.Input[str]]):
339
+ def ocean_id(self, value: Optional[pulumi.Input[_builtins.str]]):
233
340
  pulumi.set(self, "ocean_id", value)
234
341
 
235
- @property
342
+ @_builtins.property
236
343
  @pulumi.getter(name="recommendationApplicationBoundaries")
237
344
  def recommendation_application_boundaries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationBoundaryArgs']]]]:
345
+ """
346
+ Determines the Ocean Rightsizing rule recommendation application boundaries.
347
+ """
238
348
  return pulumi.get(self, "recommendation_application_boundaries")
239
349
 
240
350
  @recommendation_application_boundaries.setter
241
351
  def recommendation_application_boundaries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationBoundaryArgs']]]]):
242
352
  pulumi.set(self, "recommendation_application_boundaries", value)
243
353
 
244
- @property
354
+ @_builtins.property
245
355
  @pulumi.getter(name="recommendationApplicationHpas")
246
356
  def recommendation_application_hpas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationHpaArgs']]]]:
357
+ """
358
+ HPA Rightsizing Rule Recommendation Configuration
359
+ """
247
360
  return pulumi.get(self, "recommendation_application_hpas")
248
361
 
249
362
  @recommendation_application_hpas.setter
250
363
  def recommendation_application_hpas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationHpaArgs']]]]):
251
364
  pulumi.set(self, "recommendation_application_hpas", value)
252
365
 
253
- @property
366
+ @_builtins.property
254
367
  @pulumi.getter(name="recommendationApplicationIntervals")
255
368
  def recommendation_application_intervals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationIntervalArgs']]]]:
369
+ """
370
+ Determines the Ocean Rightsizing rule recommendation application intervals.
371
+ """
256
372
  return pulumi.get(self, "recommendation_application_intervals")
257
373
 
258
374
  @recommendation_application_intervals.setter
259
375
  def recommendation_application_intervals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationIntervalArgs']]]]):
260
376
  pulumi.set(self, "recommendation_application_intervals", value)
261
377
 
262
- @property
378
+ @_builtins.property
263
379
  @pulumi.getter(name="recommendationApplicationMinThresholds")
264
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
+ """
265
384
  return pulumi.get(self, "recommendation_application_min_thresholds")
266
385
 
267
386
  @recommendation_application_min_thresholds.setter
268
387
  def recommendation_application_min_thresholds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationMinThresholdArgs']]]]):
269
388
  pulumi.set(self, "recommendation_application_min_thresholds", value)
270
389
 
271
- @property
390
+ @_builtins.property
272
391
  @pulumi.getter(name="recommendationApplicationOverheadValues")
273
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
+ """
274
396
  return pulumi.get(self, "recommendation_application_overhead_values")
275
397
 
276
398
  @recommendation_application_overhead_values.setter
277
399
  def recommendation_application_overhead_values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationOverheadValueArgs']]]]):
278
400
  pulumi.set(self, "recommendation_application_overhead_values", value)
279
401
 
280
- @property
402
+ @_builtins.property
281
403
  @pulumi.getter(name="restartReplicas")
282
- def restart_replicas(self) -> Optional[pulumi.Input[str]]:
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
+ """
283
408
  return pulumi.get(self, "restart_replicas")
284
409
 
285
410
  @restart_replicas.setter
286
- def restart_replicas(self, value: Optional[pulumi.Input[str]]):
411
+ def restart_replicas(self, value: Optional[pulumi.Input[_builtins.str]]):
287
412
  pulumi.set(self, "restart_replicas", value)
288
413
 
289
- @property
414
+ @_builtins.property
290
415
  @pulumi.getter(name="ruleName")
291
- def rule_name(self) -> Optional[pulumi.Input[str]]:
416
+ def rule_name(self) -> Optional[pulumi.Input[_builtins.str]]:
417
+ """
418
+ The unique name of the rule.
419
+ """
292
420
  return pulumi.get(self, "rule_name")
293
421
 
294
422
  @rule_name.setter
295
- def rule_name(self, value: Optional[pulumi.Input[str]]):
423
+ def rule_name(self, value: Optional[pulumi.Input[_builtins.str]]):
296
424
  pulumi.set(self, "rule_name", value)
297
425
 
298
426
 
427
+ @pulumi.type_token("spotinst:index/oceanRightSizingRule:OceanRightSizingRule")
299
428
  class OceanRightSizingRule(pulumi.CustomResource):
300
429
  @overload
301
430
  def __init__(__self__,
302
431
  resource_name: str,
303
432
  opts: Optional[pulumi.ResourceOptions] = None,
304
433
  attach_workloads: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleAttachWorkloadArgs', 'OceanRightSizingRuleAttachWorkloadArgsDict']]]]] = None,
434
+ auto_apply_definitions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleAutoApplyDefinitionArgs', 'OceanRightSizingRuleAutoApplyDefinitionArgsDict']]]]] = None,
305
435
  detach_workloads: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleDetachWorkloadArgs', 'OceanRightSizingRuleDetachWorkloadArgsDict']]]]] = None,
306
- exclude_preliminary_recommendations: Optional[pulumi.Input[bool]] = None,
307
- ocean_id: Optional[pulumi.Input[str]] = None,
436
+ downside_only: Optional[pulumi.Input[_builtins.bool]] = None,
437
+ exclude_preliminary_recommendations: Optional[pulumi.Input[_builtins.bool]] = None,
438
+ ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
308
439
  recommendation_application_boundaries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationBoundaryArgs', 'OceanRightSizingRuleRecommendationApplicationBoundaryArgsDict']]]]] = None,
309
440
  recommendation_application_hpas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationHpaArgs', 'OceanRightSizingRuleRecommendationApplicationHpaArgsDict']]]]] = None,
310
441
  recommendation_application_intervals: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationIntervalArgs', 'OceanRightSizingRuleRecommendationApplicationIntervalArgsDict']]]]] = None,
311
442
  recommendation_application_min_thresholds: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationMinThresholdArgs', 'OceanRightSizingRuleRecommendationApplicationMinThresholdArgsDict']]]]] = None,
312
443
  recommendation_application_overhead_values: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationOverheadValueArgs', 'OceanRightSizingRuleRecommendationApplicationOverheadValueArgsDict']]]]] = None,
313
- restart_replicas: Optional[pulumi.Input[str]] = None,
314
- rule_name: Optional[pulumi.Input[str]] = None,
444
+ restart_replicas: Optional[pulumi.Input[_builtins.str]] = None,
445
+ rule_name: Optional[pulumi.Input[_builtins.str]] = None,
315
446
  __props__=None):
316
447
  """
317
- Create a OceanRightSizingRule resource with the given unique name, props, and options.
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
+
318
523
  :param str resource_name: The name of the resource.
319
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.
320
535
  """
321
536
  ...
322
537
  @overload
@@ -325,7 +540,81 @@ class OceanRightSizingRule(pulumi.CustomResource):
325
540
  args: OceanRightSizingRuleArgs,
326
541
  opts: Optional[pulumi.ResourceOptions] = None):
327
542
  """
328
- Create a OceanRightSizingRule resource with the given unique name, props, and options.
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
+
329
618
  :param str resource_name: The name of the resource.
330
619
  :param OceanRightSizingRuleArgs args: The arguments to use to populate this resource's properties.
331
620
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -342,16 +631,18 @@ class OceanRightSizingRule(pulumi.CustomResource):
342
631
  resource_name: str,
343
632
  opts: Optional[pulumi.ResourceOptions] = None,
344
633
  attach_workloads: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleAttachWorkloadArgs', 'OceanRightSizingRuleAttachWorkloadArgsDict']]]]] = None,
634
+ auto_apply_definitions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleAutoApplyDefinitionArgs', 'OceanRightSizingRuleAutoApplyDefinitionArgsDict']]]]] = None,
345
635
  detach_workloads: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleDetachWorkloadArgs', 'OceanRightSizingRuleDetachWorkloadArgsDict']]]]] = None,
346
- exclude_preliminary_recommendations: Optional[pulumi.Input[bool]] = None,
347
- ocean_id: Optional[pulumi.Input[str]] = None,
636
+ downside_only: Optional[pulumi.Input[_builtins.bool]] = None,
637
+ exclude_preliminary_recommendations: Optional[pulumi.Input[_builtins.bool]] = None,
638
+ ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
348
639
  recommendation_application_boundaries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationBoundaryArgs', 'OceanRightSizingRuleRecommendationApplicationBoundaryArgsDict']]]]] = None,
349
640
  recommendation_application_hpas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationHpaArgs', 'OceanRightSizingRuleRecommendationApplicationHpaArgsDict']]]]] = None,
350
641
  recommendation_application_intervals: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationIntervalArgs', 'OceanRightSizingRuleRecommendationApplicationIntervalArgsDict']]]]] = None,
351
642
  recommendation_application_min_thresholds: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationMinThresholdArgs', 'OceanRightSizingRuleRecommendationApplicationMinThresholdArgsDict']]]]] = None,
352
643
  recommendation_application_overhead_values: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationOverheadValueArgs', 'OceanRightSizingRuleRecommendationApplicationOverheadValueArgsDict']]]]] = None,
353
- restart_replicas: Optional[pulumi.Input[str]] = None,
354
- rule_name: Optional[pulumi.Input[str]] = None,
644
+ restart_replicas: Optional[pulumi.Input[_builtins.str]] = None,
645
+ rule_name: Optional[pulumi.Input[_builtins.str]] = None,
355
646
  __props__=None):
356
647
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
357
648
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -362,7 +653,9 @@ class OceanRightSizingRule(pulumi.CustomResource):
362
653
  __props__ = OceanRightSizingRuleArgs.__new__(OceanRightSizingRuleArgs)
363
654
 
364
655
  __props__.__dict__["attach_workloads"] = attach_workloads
656
+ __props__.__dict__["auto_apply_definitions"] = auto_apply_definitions
365
657
  __props__.__dict__["detach_workloads"] = detach_workloads
658
+ __props__.__dict__["downside_only"] = downside_only
366
659
  __props__.__dict__["exclude_preliminary_recommendations"] = exclude_preliminary_recommendations
367
660
  __props__.__dict__["ocean_id"] = ocean_id
368
661
  __props__.__dict__["recommendation_application_boundaries"] = recommendation_application_boundaries
@@ -387,16 +680,18 @@ class OceanRightSizingRule(pulumi.CustomResource):
387
680
  id: pulumi.Input[str],
388
681
  opts: Optional[pulumi.ResourceOptions] = None,
389
682
  attach_workloads: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleAttachWorkloadArgs', 'OceanRightSizingRuleAttachWorkloadArgsDict']]]]] = None,
683
+ auto_apply_definitions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleAutoApplyDefinitionArgs', 'OceanRightSizingRuleAutoApplyDefinitionArgsDict']]]]] = None,
390
684
  detach_workloads: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleDetachWorkloadArgs', 'OceanRightSizingRuleDetachWorkloadArgsDict']]]]] = None,
391
- exclude_preliminary_recommendations: Optional[pulumi.Input[bool]] = None,
392
- ocean_id: Optional[pulumi.Input[str]] = None,
685
+ downside_only: Optional[pulumi.Input[_builtins.bool]] = None,
686
+ exclude_preliminary_recommendations: Optional[pulumi.Input[_builtins.bool]] = None,
687
+ ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
393
688
  recommendation_application_boundaries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationBoundaryArgs', 'OceanRightSizingRuleRecommendationApplicationBoundaryArgsDict']]]]] = None,
394
689
  recommendation_application_hpas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationHpaArgs', 'OceanRightSizingRuleRecommendationApplicationHpaArgsDict']]]]] = None,
395
690
  recommendation_application_intervals: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationIntervalArgs', 'OceanRightSizingRuleRecommendationApplicationIntervalArgsDict']]]]] = None,
396
691
  recommendation_application_min_thresholds: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationMinThresholdArgs', 'OceanRightSizingRuleRecommendationApplicationMinThresholdArgsDict']]]]] = None,
397
692
  recommendation_application_overhead_values: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationOverheadValueArgs', 'OceanRightSizingRuleRecommendationApplicationOverheadValueArgsDict']]]]] = None,
398
- restart_replicas: Optional[pulumi.Input[str]] = None,
399
- rule_name: Optional[pulumi.Input[str]] = None) -> 'OceanRightSizingRule':
693
+ restart_replicas: Optional[pulumi.Input[_builtins.str]] = None,
694
+ rule_name: Optional[pulumi.Input[_builtins.str]] = None) -> 'OceanRightSizingRule':
400
695
  """
401
696
  Get an existing OceanRightSizingRule resource's state with the given name, id, and optional extra
402
697
  properties used to qualify the lookup.
@@ -404,13 +699,25 @@ class OceanRightSizingRule(pulumi.CustomResource):
404
699
  :param str resource_name: The unique name of the resulting resource.
405
700
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
406
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.
407
712
  """
408
713
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
409
714
 
410
715
  __props__ = _OceanRightSizingRuleState.__new__(_OceanRightSizingRuleState)
411
716
 
412
717
  __props__.__dict__["attach_workloads"] = attach_workloads
718
+ __props__.__dict__["auto_apply_definitions"] = auto_apply_definitions
413
719
  __props__.__dict__["detach_workloads"] = detach_workloads
720
+ __props__.__dict__["downside_only"] = downside_only
414
721
  __props__.__dict__["exclude_preliminary_recommendations"] = exclude_preliminary_recommendations
415
722
  __props__.__dict__["ocean_id"] = ocean_id
416
723
  __props__.__dict__["recommendation_application_boundaries"] = recommendation_application_boundaries
@@ -422,58 +729,98 @@ class OceanRightSizingRule(pulumi.CustomResource):
422
729
  __props__.__dict__["rule_name"] = rule_name
423
730
  return OceanRightSizingRule(resource_name, opts=opts, __props__=__props__)
424
731
 
425
- @property
732
+ @_builtins.property
426
733
  @pulumi.getter(name="attachWorkloads")
427
734
  def attach_workloads(self) -> pulumi.Output[Optional[Sequence['outputs.OceanRightSizingRuleAttachWorkload']]]:
428
735
  return pulumi.get(self, "attach_workloads")
429
736
 
430
- @property
737
+ @_builtins.property
738
+ @pulumi.getter(name="autoApplyDefinitions")
739
+ def auto_apply_definitions(self) -> pulumi.Output[Optional[Sequence['outputs.OceanRightSizingRuleAutoApplyDefinition']]]:
740
+ """
741
+ Ocean Rightsizing Rule Auto Apply Configuration.
742
+ """
743
+ return pulumi.get(self, "auto_apply_definitions")
744
+
745
+ @_builtins.property
431
746
  @pulumi.getter(name="detachWorkloads")
432
747
  def detach_workloads(self) -> pulumi.Output[Optional[Sequence['outputs.OceanRightSizingRuleDetachWorkload']]]:
433
748
  return pulumi.get(self, "detach_workloads")
434
749
 
435
- @property
750
+ @_builtins.property
751
+ @pulumi.getter(name="downsideOnly")
752
+ def downside_only(self) -> pulumi.Output[Optional[_builtins.bool]]:
753
+ return pulumi.get(self, "downside_only")
754
+
755
+ @_builtins.property
436
756
  @pulumi.getter(name="excludePreliminaryRecommendations")
437
- def exclude_preliminary_recommendations(self) -> pulumi.Output[Optional[bool]]:
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
+ """
438
761
  return pulumi.get(self, "exclude_preliminary_recommendations")
439
762
 
440
- @property
763
+ @_builtins.property
441
764
  @pulumi.getter(name="oceanId")
442
- def ocean_id(self) -> pulumi.Output[Optional[str]]:
765
+ def ocean_id(self) -> pulumi.Output[Optional[_builtins.str]]:
766
+ """
767
+ Identifier of the Ocean cluster.
768
+ """
443
769
  return pulumi.get(self, "ocean_id")
444
770
 
445
- @property
771
+ @_builtins.property
446
772
  @pulumi.getter(name="recommendationApplicationBoundaries")
447
773
  def recommendation_application_boundaries(self) -> pulumi.Output[Optional[Sequence['outputs.OceanRightSizingRuleRecommendationApplicationBoundary']]]:
774
+ """
775
+ Determines the Ocean Rightsizing rule recommendation application boundaries.
776
+ """
448
777
  return pulumi.get(self, "recommendation_application_boundaries")
449
778
 
450
- @property
779
+ @_builtins.property
451
780
  @pulumi.getter(name="recommendationApplicationHpas")
452
781
  def recommendation_application_hpas(self) -> pulumi.Output[Optional[Sequence['outputs.OceanRightSizingRuleRecommendationApplicationHpa']]]:
782
+ """
783
+ HPA Rightsizing Rule Recommendation Configuration
784
+ """
453
785
  return pulumi.get(self, "recommendation_application_hpas")
454
786
 
455
- @property
787
+ @_builtins.property
456
788
  @pulumi.getter(name="recommendationApplicationIntervals")
457
789
  def recommendation_application_intervals(self) -> pulumi.Output[Sequence['outputs.OceanRightSizingRuleRecommendationApplicationInterval']]:
790
+ """
791
+ Determines the Ocean Rightsizing rule recommendation application intervals.
792
+ """
458
793
  return pulumi.get(self, "recommendation_application_intervals")
459
794
 
460
- @property
795
+ @_builtins.property
461
796
  @pulumi.getter(name="recommendationApplicationMinThresholds")
462
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
+ """
463
801
  return pulumi.get(self, "recommendation_application_min_thresholds")
464
802
 
465
- @property
803
+ @_builtins.property
466
804
  @pulumi.getter(name="recommendationApplicationOverheadValues")
467
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
+ """
468
809
  return pulumi.get(self, "recommendation_application_overhead_values")
469
810
 
470
- @property
811
+ @_builtins.property
471
812
  @pulumi.getter(name="restartReplicas")
472
- def restart_replicas(self) -> pulumi.Output[Optional[str]]:
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
+ """
473
817
  return pulumi.get(self, "restart_replicas")
474
818
 
475
- @property
819
+ @_builtins.property
476
820
  @pulumi.getter(name="ruleName")
477
- def rule_name(self) -> pulumi.Output[str]:
821
+ def rule_name(self) -> pulumi.Output[_builtins.str]:
822
+ """
823
+ The unique name of the rule.
824
+ """
478
825
  return pulumi.get(self, "rule_name")
479
826