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.

@@ -110,6 +110,7 @@ __all__ = [
110
110
  'StatefulNodeAzureStrategy',
111
111
  'StatefulNodeAzureStrategyCapacityReservation',
112
112
  'StatefulNodeAzureStrategyCapacityReservationCapacityReservationGroup',
113
+ 'StatefulNodeAzureStrategyInterruptionToleration',
113
114
  'StatefulNodeAzureStrategyRevertToSpot',
114
115
  'StatefulNodeAzureTag',
115
116
  'StatefulNodeAzureUpdateState',
@@ -2465,11 +2466,17 @@ class NotificationCenterSubscription(dict):
2465
2466
  class OceanRightSizingRuleAttachWorkload(dict):
2466
2467
  def __init__(__self__, *,
2467
2468
  namespaces: Sequence['outputs.OceanRightSizingRuleAttachWorkloadNamespace']):
2469
+ """
2470
+ :param Sequence['OceanRightSizingRuleAttachWorkloadNamespaceArgs'] namespaces: List of namespaces that match the auto-apply rule.
2471
+ """
2468
2472
  pulumi.set(__self__, "namespaces", namespaces)
2469
2473
 
2470
2474
  @_builtins.property
2471
2475
  @pulumi.getter
2472
2476
  def namespaces(self) -> Sequence['outputs.OceanRightSizingRuleAttachWorkloadNamespace']:
2477
+ """
2478
+ List of namespaces that match the auto-apply rule.
2479
+ """
2473
2480
  return pulumi.get(self, "namespaces")
2474
2481
 
2475
2482
 
@@ -2496,6 +2503,11 @@ class OceanRightSizingRuleAttachWorkloadNamespace(dict):
2496
2503
  namespace_name: _builtins.str,
2497
2504
  labels: Optional[Sequence['outputs.OceanRightSizingRuleAttachWorkloadNamespaceLabel']] = None,
2498
2505
  workloads: Optional[Sequence['outputs.OceanRightSizingRuleAttachWorkloadNamespaceWorkload']] = None):
2506
+ """
2507
+ :param Sequence['OceanRightSizingRuleAttachWorkloadNamespaceLabelArgs'] labels: A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.
2508
+
2509
+ <a id="attach_workloads"></a>
2510
+ """
2499
2511
  pulumi.set(__self__, "namespace_name", namespace_name)
2500
2512
  if labels is not None:
2501
2513
  pulumi.set(__self__, "labels", labels)
@@ -2510,6 +2522,11 @@ class OceanRightSizingRuleAttachWorkloadNamespace(dict):
2510
2522
  @_builtins.property
2511
2523
  @pulumi.getter
2512
2524
  def labels(self) -> Optional[Sequence['outputs.OceanRightSizingRuleAttachWorkloadNamespaceLabel']]:
2525
+ """
2526
+ A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.
2527
+
2528
+ <a id="attach_workloads"></a>
2529
+ """
2513
2530
  return pulumi.get(self, "labels")
2514
2531
 
2515
2532
  @_builtins.property
@@ -2592,6 +2609,13 @@ class OceanRightSizingRuleAutoApplyDefinition(dict):
2592
2609
  enabled: Optional[_builtins.bool] = None,
2593
2610
  labels: Optional[Mapping[str, _builtins.str]] = None,
2594
2611
  namespaces: Optional[Sequence[_builtins.str]] = None):
2612
+ """
2613
+ :param _builtins.bool enabled: Determines if auto apply is enabled.
2614
+ :param Mapping[str, _builtins.str] labels: A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.
2615
+
2616
+ <a id="attach_workloads"></a>
2617
+ :param Sequence[_builtins.str] namespaces: List of namespaces that match the auto-apply rule.
2618
+ """
2595
2619
  if enabled is not None:
2596
2620
  pulumi.set(__self__, "enabled", enabled)
2597
2621
  if labels is not None:
@@ -2602,16 +2626,27 @@ class OceanRightSizingRuleAutoApplyDefinition(dict):
2602
2626
  @_builtins.property
2603
2627
  @pulumi.getter
2604
2628
  def enabled(self) -> Optional[_builtins.bool]:
2629
+ """
2630
+ Determines if auto apply is enabled.
2631
+ """
2605
2632
  return pulumi.get(self, "enabled")
2606
2633
 
2607
2634
  @_builtins.property
2608
2635
  @pulumi.getter
2609
2636
  def labels(self) -> Optional[Mapping[str, _builtins.str]]:
2637
+ """
2638
+ A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.
2639
+
2640
+ <a id="attach_workloads"></a>
2641
+ """
2610
2642
  return pulumi.get(self, "labels")
2611
2643
 
2612
2644
  @_builtins.property
2613
2645
  @pulumi.getter
2614
2646
  def namespaces(self) -> Optional[Sequence[_builtins.str]]:
2647
+ """
2648
+ List of namespaces that match the auto-apply rule.
2649
+ """
2615
2650
  return pulumi.get(self, "namespaces")
2616
2651
 
2617
2652
 
@@ -2619,11 +2654,17 @@ class OceanRightSizingRuleAutoApplyDefinition(dict):
2619
2654
  class OceanRightSizingRuleDetachWorkload(dict):
2620
2655
  def __init__(__self__, *,
2621
2656
  namespaces: Sequence['outputs.OceanRightSizingRuleDetachWorkloadNamespace']):
2657
+ """
2658
+ :param Sequence['OceanRightSizingRuleDetachWorkloadNamespaceArgs'] namespaces: List of namespaces that match the auto-apply rule.
2659
+ """
2622
2660
  pulumi.set(__self__, "namespaces", namespaces)
2623
2661
 
2624
2662
  @_builtins.property
2625
2663
  @pulumi.getter
2626
2664
  def namespaces(self) -> Sequence['outputs.OceanRightSizingRuleDetachWorkloadNamespace']:
2665
+ """
2666
+ List of namespaces that match the auto-apply rule.
2667
+ """
2627
2668
  return pulumi.get(self, "namespaces")
2628
2669
 
2629
2670
 
@@ -2650,6 +2691,11 @@ class OceanRightSizingRuleDetachWorkloadNamespace(dict):
2650
2691
  namespace_name: _builtins.str,
2651
2692
  labels: Optional[Sequence['outputs.OceanRightSizingRuleDetachWorkloadNamespaceLabel']] = None,
2652
2693
  workloads: Optional[Sequence['outputs.OceanRightSizingRuleDetachWorkloadNamespaceWorkload']] = None):
2694
+ """
2695
+ :param Sequence['OceanRightSizingRuleDetachWorkloadNamespaceLabelArgs'] labels: A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.
2696
+
2697
+ <a id="attach_workloads"></a>
2698
+ """
2653
2699
  pulumi.set(__self__, "namespace_name", namespace_name)
2654
2700
  if labels is not None:
2655
2701
  pulumi.set(__self__, "labels", labels)
@@ -2664,6 +2710,11 @@ class OceanRightSizingRuleDetachWorkloadNamespace(dict):
2664
2710
  @_builtins.property
2665
2711
  @pulumi.getter
2666
2712
  def labels(self) -> Optional[Sequence['outputs.OceanRightSizingRuleDetachWorkloadNamespaceLabel']]:
2713
+ """
2714
+ A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.
2715
+
2716
+ <a id="attach_workloads"></a>
2717
+ """
2667
2718
  return pulumi.get(self, "labels")
2668
2719
 
2669
2720
  @_builtins.property
@@ -2770,6 +2821,12 @@ class OceanRightSizingRuleRecommendationApplicationBoundary(dict):
2770
2821
  cpu_min: Optional[_builtins.float] = None,
2771
2822
  memory_max: Optional[_builtins.int] = None,
2772
2823
  memory_min: Optional[_builtins.int] = None):
2824
+ """
2825
+ :param _builtins.float cpu_max: the maximal value of cpu in vCpu.
2826
+ :param _builtins.float cpu_min: the minimal value of cpu in vCpu.
2827
+ :param _builtins.int memory_max: the maximal value of memory in Gib.
2828
+ :param _builtins.int memory_min: the minimal value of memory in Gib.
2829
+ """
2773
2830
  if cpu_max is not None:
2774
2831
  pulumi.set(__self__, "cpu_max", cpu_max)
2775
2832
  if cpu_min is not None:
@@ -2782,21 +2839,33 @@ class OceanRightSizingRuleRecommendationApplicationBoundary(dict):
2782
2839
  @_builtins.property
2783
2840
  @pulumi.getter(name="cpuMax")
2784
2841
  def cpu_max(self) -> Optional[_builtins.float]:
2842
+ """
2843
+ the maximal value of cpu in vCpu.
2844
+ """
2785
2845
  return pulumi.get(self, "cpu_max")
2786
2846
 
2787
2847
  @_builtins.property
2788
2848
  @pulumi.getter(name="cpuMin")
2789
2849
  def cpu_min(self) -> Optional[_builtins.float]:
2850
+ """
2851
+ the minimal value of cpu in vCpu.
2852
+ """
2790
2853
  return pulumi.get(self, "cpu_min")
2791
2854
 
2792
2855
  @_builtins.property
2793
2856
  @pulumi.getter(name="memoryMax")
2794
2857
  def memory_max(self) -> Optional[_builtins.int]:
2858
+ """
2859
+ the maximal value of memory in Gib.
2860
+ """
2795
2861
  return pulumi.get(self, "memory_max")
2796
2862
 
2797
2863
  @_builtins.property
2798
2864
  @pulumi.getter(name="memoryMin")
2799
2865
  def memory_min(self) -> Optional[_builtins.int]:
2866
+ """
2867
+ the minimal value of memory in Gib.
2868
+ """
2800
2869
  return pulumi.get(self, "memory_min")
2801
2870
 
2802
2871
 
@@ -2821,12 +2890,18 @@ class OceanRightSizingRuleRecommendationApplicationHpa(dict):
2821
2890
 
2822
2891
  def __init__(__self__, *,
2823
2892
  allow_hpa_recommendations: Optional[_builtins.bool] = None):
2893
+ """
2894
+ :param _builtins.bool allow_hpa_recommendations: Determines by the rule if recommendation application is allowed for workloads with HPA definition.
2895
+ """
2824
2896
  if allow_hpa_recommendations is not None:
2825
2897
  pulumi.set(__self__, "allow_hpa_recommendations", allow_hpa_recommendations)
2826
2898
 
2827
2899
  @_builtins.property
2828
2900
  @pulumi.getter(name="allowHpaRecommendations")
2829
2901
  def allow_hpa_recommendations(self) -> Optional[_builtins.bool]:
2902
+ """
2903
+ Determines by the rule if recommendation application is allowed for workloads with HPA definition.
2904
+ """
2830
2905
  return pulumi.get(self, "allow_hpa_recommendations")
2831
2906
 
2832
2907
 
@@ -2857,6 +2932,11 @@ class OceanRightSizingRuleRecommendationApplicationInterval(dict):
2857
2932
  repetition_basis: _builtins.str,
2858
2933
  monthly_repetition_bases: Optional[Sequence['outputs.OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBase']] = None,
2859
2934
  weekly_repetition_bases: Optional[Sequence['outputs.OceanRightSizingRuleRecommendationApplicationIntervalWeeklyRepetitionBase']] = None):
2935
+ """
2936
+ :param _builtins.str repetition_basis: Valid values: "WEEKLY" "MONTHLY". The repetition basis.
2937
+ :param Sequence['OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseArgs'] monthly_repetition_bases: Determines the Ocean Rightsizing rule monthly repetition basis.
2938
+ :param Sequence['OceanRightSizingRuleRecommendationApplicationIntervalWeeklyRepetitionBaseArgs'] weekly_repetition_bases: Determines the Ocean Rightsizing rule weekly repetition basis.
2939
+ """
2860
2940
  pulumi.set(__self__, "repetition_basis", repetition_basis)
2861
2941
  if monthly_repetition_bases is not None:
2862
2942
  pulumi.set(__self__, "monthly_repetition_bases", monthly_repetition_bases)
@@ -2866,16 +2946,25 @@ class OceanRightSizingRuleRecommendationApplicationInterval(dict):
2866
2946
  @_builtins.property
2867
2947
  @pulumi.getter(name="repetitionBasis")
2868
2948
  def repetition_basis(self) -> _builtins.str:
2949
+ """
2950
+ Valid values: "WEEKLY" "MONTHLY". The repetition basis.
2951
+ """
2869
2952
  return pulumi.get(self, "repetition_basis")
2870
2953
 
2871
2954
  @_builtins.property
2872
2955
  @pulumi.getter(name="monthlyRepetitionBases")
2873
2956
  def monthly_repetition_bases(self) -> Optional[Sequence['outputs.OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBase']]:
2957
+ """
2958
+ Determines the Ocean Rightsizing rule monthly repetition basis.
2959
+ """
2874
2960
  return pulumi.get(self, "monthly_repetition_bases")
2875
2961
 
2876
2962
  @_builtins.property
2877
2963
  @pulumi.getter(name="weeklyRepetitionBases")
2878
2964
  def weekly_repetition_bases(self) -> Optional[Sequence['outputs.OceanRightSizingRuleRecommendationApplicationIntervalWeeklyRepetitionBase']]:
2965
+ """
2966
+ Determines the Ocean Rightsizing rule weekly repetition basis.
2967
+ """
2879
2968
  return pulumi.get(self, "weekly_repetition_bases")
2880
2969
 
2881
2970
 
@@ -2906,6 +2995,11 @@ class OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBase
2906
2995
  interval_months: Sequence[_builtins.int],
2907
2996
  week_of_the_months: Sequence[_builtins.str],
2908
2997
  weekly_repetition_bases: Optional[Sequence['outputs.OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseWeeklyRepetitionBase']] = None):
2998
+ """
2999
+ :param Sequence[_builtins.int] interval_months: Array of the months (in number), when we want to trigger the apply recommendations.
3000
+ :param Sequence[_builtins.str] week_of_the_months: Valid values: "FIRST" "SECOND" "THIRD" "FOURTH" "LAST". Array of the weeks in the month, when we want to trigger the apply recommendations.
3001
+ :param Sequence['OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseWeeklyRepetitionBaseArgs'] weekly_repetition_bases: Determines the Ocean Rightsizing rule weekly repetition basis.
3002
+ """
2909
3003
  pulumi.set(__self__, "interval_months", interval_months)
2910
3004
  pulumi.set(__self__, "week_of_the_months", week_of_the_months)
2911
3005
  if weekly_repetition_bases is not None:
@@ -2914,16 +3008,25 @@ class OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBase
2914
3008
  @_builtins.property
2915
3009
  @pulumi.getter(name="intervalMonths")
2916
3010
  def interval_months(self) -> Sequence[_builtins.int]:
3011
+ """
3012
+ Array of the months (in number), when we want to trigger the apply recommendations.
3013
+ """
2917
3014
  return pulumi.get(self, "interval_months")
2918
3015
 
2919
3016
  @_builtins.property
2920
3017
  @pulumi.getter(name="weekOfTheMonths")
2921
3018
  def week_of_the_months(self) -> Sequence[_builtins.str]:
3019
+ """
3020
+ Valid values: "FIRST" "SECOND" "THIRD" "FOURTH" "LAST". Array of the weeks in the month, when we want to trigger the apply recommendations.
3021
+ """
2922
3022
  return pulumi.get(self, "week_of_the_months")
2923
3023
 
2924
3024
  @_builtins.property
2925
3025
  @pulumi.getter(name="weeklyRepetitionBases")
2926
3026
  def weekly_repetition_bases(self) -> Optional[Sequence['outputs.OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseWeeklyRepetitionBase']]:
3027
+ """
3028
+ Determines the Ocean Rightsizing rule weekly repetition basis.
3029
+ """
2927
3030
  return pulumi.get(self, "weekly_repetition_bases")
2928
3031
 
2929
3032
 
@@ -2954,6 +3057,11 @@ class OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBase
2954
3057
  interval_days: Sequence[_builtins.str],
2955
3058
  interval_hours_end_time: _builtins.str,
2956
3059
  interval_hours_start_time: _builtins.str):
3060
+ """
3061
+ :param Sequence[_builtins.str] interval_days: Valid values: "SUNDAY" "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY". Array of the days of the week, when we want to trigger the apply recommendations.
3062
+ :param _builtins.str interval_hours_end_time: End time.
3063
+ :param _builtins.str interval_hours_start_time: Start time.
3064
+ """
2957
3065
  pulumi.set(__self__, "interval_days", interval_days)
2958
3066
  pulumi.set(__self__, "interval_hours_end_time", interval_hours_end_time)
2959
3067
  pulumi.set(__self__, "interval_hours_start_time", interval_hours_start_time)
@@ -2961,16 +3069,25 @@ class OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBase
2961
3069
  @_builtins.property
2962
3070
  @pulumi.getter(name="intervalDays")
2963
3071
  def interval_days(self) -> Sequence[_builtins.str]:
3072
+ """
3073
+ Valid values: "SUNDAY" "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY". Array of the days of the week, when we want to trigger the apply recommendations.
3074
+ """
2964
3075
  return pulumi.get(self, "interval_days")
2965
3076
 
2966
3077
  @_builtins.property
2967
3078
  @pulumi.getter(name="intervalHoursEndTime")
2968
3079
  def interval_hours_end_time(self) -> _builtins.str:
3080
+ """
3081
+ End time.
3082
+ """
2969
3083
  return pulumi.get(self, "interval_hours_end_time")
2970
3084
 
2971
3085
  @_builtins.property
2972
3086
  @pulumi.getter(name="intervalHoursStartTime")
2973
3087
  def interval_hours_start_time(self) -> _builtins.str:
3088
+ """
3089
+ Start time.
3090
+ """
2974
3091
  return pulumi.get(self, "interval_hours_start_time")
2975
3092
 
2976
3093
 
@@ -3001,6 +3118,11 @@ class OceanRightSizingRuleRecommendationApplicationIntervalWeeklyRepetitionBase(
3001
3118
  interval_days: Sequence[_builtins.str],
3002
3119
  interval_hours_end_time: _builtins.str,
3003
3120
  interval_hours_start_time: _builtins.str):
3121
+ """
3122
+ :param Sequence[_builtins.str] interval_days: Valid values: "SUNDAY" "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY". Array of the days of the week, when we want to trigger the apply recommendations.
3123
+ :param _builtins.str interval_hours_end_time: End time.
3124
+ :param _builtins.str interval_hours_start_time: Start time.
3125
+ """
3004
3126
  pulumi.set(__self__, "interval_days", interval_days)
3005
3127
  pulumi.set(__self__, "interval_hours_end_time", interval_hours_end_time)
3006
3128
  pulumi.set(__self__, "interval_hours_start_time", interval_hours_start_time)
@@ -3008,16 +3130,25 @@ class OceanRightSizingRuleRecommendationApplicationIntervalWeeklyRepetitionBase(
3008
3130
  @_builtins.property
3009
3131
  @pulumi.getter(name="intervalDays")
3010
3132
  def interval_days(self) -> Sequence[_builtins.str]:
3133
+ """
3134
+ Valid values: "SUNDAY" "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY". Array of the days of the week, when we want to trigger the apply recommendations.
3135
+ """
3011
3136
  return pulumi.get(self, "interval_days")
3012
3137
 
3013
3138
  @_builtins.property
3014
3139
  @pulumi.getter(name="intervalHoursEndTime")
3015
3140
  def interval_hours_end_time(self) -> _builtins.str:
3141
+ """
3142
+ End time.
3143
+ """
3016
3144
  return pulumi.get(self, "interval_hours_end_time")
3017
3145
 
3018
3146
  @_builtins.property
3019
3147
  @pulumi.getter(name="intervalHoursStartTime")
3020
3148
  def interval_hours_start_time(self) -> _builtins.str:
3149
+ """
3150
+ Start time.
3151
+ """
3021
3152
  return pulumi.get(self, "interval_hours_start_time")
3022
3153
 
3023
3154
 
@@ -3045,6 +3176,10 @@ class OceanRightSizingRuleRecommendationApplicationMinThreshold(dict):
3045
3176
  def __init__(__self__, *,
3046
3177
  cpu_percentage: Optional[_builtins.float] = None,
3047
3178
  memory_percentage: Optional[_builtins.float] = None):
3179
+ """
3180
+ :param _builtins.float cpu_percentage: .
3181
+ :param _builtins.float memory_percentage: .
3182
+ """
3048
3183
  if cpu_percentage is not None:
3049
3184
  pulumi.set(__self__, "cpu_percentage", cpu_percentage)
3050
3185
  if memory_percentage is not None:
@@ -3053,11 +3188,17 @@ class OceanRightSizingRuleRecommendationApplicationMinThreshold(dict):
3053
3188
  @_builtins.property
3054
3189
  @pulumi.getter(name="cpuPercentage")
3055
3190
  def cpu_percentage(self) -> Optional[_builtins.float]:
3191
+ """
3192
+ .
3193
+ """
3056
3194
  return pulumi.get(self, "cpu_percentage")
3057
3195
 
3058
3196
  @_builtins.property
3059
3197
  @pulumi.getter(name="memoryPercentage")
3060
3198
  def memory_percentage(self) -> Optional[_builtins.float]:
3199
+ """
3200
+ .
3201
+ """
3061
3202
  return pulumi.get(self, "memory_percentage")
3062
3203
 
3063
3204
 
@@ -3085,6 +3226,10 @@ class OceanRightSizingRuleRecommendationApplicationOverheadValue(dict):
3085
3226
  def __init__(__self__, *,
3086
3227
  cpu_percentage: Optional[_builtins.float] = None,
3087
3228
  memory_percentage: Optional[_builtins.float] = None):
3229
+ """
3230
+ :param _builtins.float cpu_percentage: .
3231
+ :param _builtins.float memory_percentage: .
3232
+ """
3088
3233
  if cpu_percentage is not None:
3089
3234
  pulumi.set(__self__, "cpu_percentage", cpu_percentage)
3090
3235
  if memory_percentage is not None:
@@ -3093,11 +3238,17 @@ class OceanRightSizingRuleRecommendationApplicationOverheadValue(dict):
3093
3238
  @_builtins.property
3094
3239
  @pulumi.getter(name="cpuPercentage")
3095
3240
  def cpu_percentage(self) -> Optional[_builtins.float]:
3241
+ """
3242
+ .
3243
+ """
3096
3244
  return pulumi.get(self, "cpu_percentage")
3097
3245
 
3098
3246
  @_builtins.property
3099
3247
  @pulumi.getter(name="memoryPercentage")
3100
3248
  def memory_percentage(self) -> Optional[_builtins.float]:
3249
+ """
3250
+ .
3251
+ """
3101
3252
  return pulumi.get(self, "memory_percentage")
3102
3253
 
3103
3254
 
@@ -4634,6 +4785,8 @@ class StatefulNodeAzureStrategy(dict):
4634
4785
  suggest = "capacity_reservations"
4635
4786
  elif key == "drainingTimeout":
4636
4787
  suggest = "draining_timeout"
4788
+ elif key == "interruptionToleration":
4789
+ suggest = "interruption_toleration"
4637
4790
  elif key == "odWindows":
4638
4791
  suggest = "od_windows"
4639
4792
  elif key == "optimizationWindows":
@@ -4661,6 +4814,7 @@ class StatefulNodeAzureStrategy(dict):
4661
4814
  availability_vs_cost: Optional[_builtins.int] = None,
4662
4815
  capacity_reservations: Optional[Sequence['outputs.StatefulNodeAzureStrategyCapacityReservation']] = None,
4663
4816
  draining_timeout: Optional[_builtins.int] = None,
4817
+ interruption_toleration: Optional['outputs.StatefulNodeAzureStrategyInterruptionToleration'] = None,
4664
4818
  od_windows: Optional[Sequence[_builtins.str]] = None,
4665
4819
  optimization_windows: Optional[Sequence[_builtins.str]] = None,
4666
4820
  preferred_life_cycle: Optional[_builtins.str] = None,
@@ -4673,6 +4827,8 @@ class StatefulNodeAzureStrategy(dict):
4673
4827
  pulumi.set(__self__, "capacity_reservations", capacity_reservations)
4674
4828
  if draining_timeout is not None:
4675
4829
  pulumi.set(__self__, "draining_timeout", draining_timeout)
4830
+ if interruption_toleration is not None:
4831
+ pulumi.set(__self__, "interruption_toleration", interruption_toleration)
4676
4832
  if od_windows is not None:
4677
4833
  pulumi.set(__self__, "od_windows", od_windows)
4678
4834
  if optimization_windows is not None:
@@ -4704,6 +4860,11 @@ class StatefulNodeAzureStrategy(dict):
4704
4860
  def draining_timeout(self) -> Optional[_builtins.int]:
4705
4861
  return pulumi.get(self, "draining_timeout")
4706
4862
 
4863
+ @_builtins.property
4864
+ @pulumi.getter(name="interruptionToleration")
4865
+ def interruption_toleration(self) -> Optional['outputs.StatefulNodeAzureStrategyInterruptionToleration']:
4866
+ return pulumi.get(self, "interruption_toleration")
4867
+
4707
4868
  @_builtins.property
4708
4869
  @pulumi.getter(name="odWindows")
4709
4870
  def od_windows(self) -> Optional[Sequence[_builtins.str]]:
@@ -4826,6 +4987,62 @@ class StatefulNodeAzureStrategyCapacityReservationCapacityReservationGroup(dict)
4826
4987
  return pulumi.get(self, "crg_should_prioritize")
4827
4988
 
4828
4989
 
4990
+ @pulumi.output_type
4991
+ class StatefulNodeAzureStrategyInterruptionToleration(dict):
4992
+ @staticmethod
4993
+ def __key_warning(key: str):
4994
+ suggest = None
4995
+ if key == "evaluationPeriod":
4996
+ suggest = "evaluation_period"
4997
+ elif key == "isEnabled":
4998
+ suggest = "is_enabled"
4999
+
5000
+ if suggest:
5001
+ pulumi.log.warn(f"Key '{key}' not found in StatefulNodeAzureStrategyInterruptionToleration. Access the value via the '{suggest}' property getter instead.")
5002
+
5003
+ def __getitem__(self, key: str) -> Any:
5004
+ StatefulNodeAzureStrategyInterruptionToleration.__key_warning(key)
5005
+ return super().__getitem__(key)
5006
+
5007
+ def get(self, key: str, default = None) -> Any:
5008
+ StatefulNodeAzureStrategyInterruptionToleration.__key_warning(key)
5009
+ return super().get(key, default)
5010
+
5011
+ def __init__(__self__, *,
5012
+ cooldown: Optional[_builtins.int] = None,
5013
+ evaluation_period: Optional[_builtins.int] = None,
5014
+ is_enabled: Optional[_builtins.bool] = None,
5015
+ threshold: Optional[_builtins.int] = None):
5016
+ if cooldown is not None:
5017
+ pulumi.set(__self__, "cooldown", cooldown)
5018
+ if evaluation_period is not None:
5019
+ pulumi.set(__self__, "evaluation_period", evaluation_period)
5020
+ if is_enabled is not None:
5021
+ pulumi.set(__self__, "is_enabled", is_enabled)
5022
+ if threshold is not None:
5023
+ pulumi.set(__self__, "threshold", threshold)
5024
+
5025
+ @_builtins.property
5026
+ @pulumi.getter
5027
+ def cooldown(self) -> Optional[_builtins.int]:
5028
+ return pulumi.get(self, "cooldown")
5029
+
5030
+ @_builtins.property
5031
+ @pulumi.getter(name="evaluationPeriod")
5032
+ def evaluation_period(self) -> Optional[_builtins.int]:
5033
+ return pulumi.get(self, "evaluation_period")
5034
+
5035
+ @_builtins.property
5036
+ @pulumi.getter(name="isEnabled")
5037
+ def is_enabled(self) -> Optional[_builtins.bool]:
5038
+ return pulumi.get(self, "is_enabled")
5039
+
5040
+ @_builtins.property
5041
+ @pulumi.getter
5042
+ def threshold(self) -> Optional[_builtins.int]:
5043
+ return pulumi.get(self, "threshold")
5044
+
5045
+
4829
5046
  @pulumi.output_type
4830
5047
  class StatefulNodeAzureStrategyRevertToSpot(dict):
4831
5048
  @staticmethod
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "spotinst",
4
- "version": "3.126.0-alpha.1761894726"
4
+ "version": "3.128.0"
5
5
  }
@@ -1085,6 +1085,12 @@ class StatefulNodeAzure(pulumi.CustomResource):
1085
1085
  "revert_to_spot": {
1086
1086
  "perform_at": "timeWindow",
1087
1087
  },
1088
+ "interruption_toleration": {
1089
+ "is_enabled": True,
1090
+ "threshold": 3,
1091
+ "evaluation_period": 30,
1092
+ "cooldown": 120,
1093
+ },
1088
1094
  "preferred_life_cycle": "od",
1089
1095
  "capacity_reservations": [{
1090
1096
  "should_utilize": True,
@@ -1328,6 +1334,11 @@ class StatefulNodeAzure(pulumi.CustomResource):
1328
1334
  * `preferred_life_cycle` - (Optional, Enum `"od", "spot"`, Default `"spot"`) The desired type of VM.
1329
1335
  * `revert_to_spot` - (Optional) Hold settings for strategy correction - replacing On-Demand for Spot VMs.
1330
1336
  * `perform_at` - (Required, Enum `"timeWindow", "never", "always"`, Default `"always"`) Settings for maintenance strategy.
1337
+ * `interruption_toleration` - (Optional) Interruption tolerance settings for the stateful node. When enabled, the stateful node tracks interruption frequency and temporarily switches the node to On-Demand if too many interruptions occur within a defined evaluation window.
1338
+ * `cooldown` - (Optional) The cooldown period after an interruption occurs before another interruption can be tolerated. Must be set when `isEnabled` is true. Range `120`-`10080`.
1339
+ * `evaluation_period` - (Optional) The time window used to evaluate interruption tolerance. Must be set when `isEnabled` is true. Range `30`-`1440`.
1340
+ * `is_enabled` - (Optional) Enables interruption tolerance behavior for the Stateful Node.
1341
+ * `threshold` - (Optional) The maximum number of interruptions allowed within the defined evaluation period. Must be set when `isEnabled` is true. Value `>=3`
1331
1342
  * `capacity_reservation` - (Optional) On-demand Capacity Reservation group enables you to reserve Compute capacity in an Azure region or an Availability Zone for any duration of time. [CRG can only be created on the Azure end.](https://learn.microsoft.com/en-us/azure/virtual-machines/capacity-reservation-create)
1332
1343
  * `should_utilize` - (Required) Determines whether capacity reservations should be utilized.
1333
1344
  * `utilization_strategy` - (Required, Enum `"utilizeOverSpot", "utilizeOverOD"`) The priority requested for using CRG. This value will determine if CRG is used ahead of spot VMs or On-demand VMs. (`"utilizeOverOD"`- If picked, we will use CRG only in case On demand should be launched. `"utilizeOverSpot"`- CRG will be preferred over Spot. Only after CRG is fully used, spot VMs can be used.)
@@ -1621,6 +1632,12 @@ class StatefulNodeAzure(pulumi.CustomResource):
1621
1632
  "revert_to_spot": {
1622
1633
  "perform_at": "timeWindow",
1623
1634
  },
1635
+ "interruption_toleration": {
1636
+ "is_enabled": True,
1637
+ "threshold": 3,
1638
+ "evaluation_period": 30,
1639
+ "cooldown": 120,
1640
+ },
1624
1641
  "preferred_life_cycle": "od",
1625
1642
  "capacity_reservations": [{
1626
1643
  "should_utilize": True,
@@ -1864,6 +1881,11 @@ class StatefulNodeAzure(pulumi.CustomResource):
1864
1881
  * `preferred_life_cycle` - (Optional, Enum `"od", "spot"`, Default `"spot"`) The desired type of VM.
1865
1882
  * `revert_to_spot` - (Optional) Hold settings for strategy correction - replacing On-Demand for Spot VMs.
1866
1883
  * `perform_at` - (Required, Enum `"timeWindow", "never", "always"`, Default `"always"`) Settings for maintenance strategy.
1884
+ * `interruption_toleration` - (Optional) Interruption tolerance settings for the stateful node. When enabled, the stateful node tracks interruption frequency and temporarily switches the node to On-Demand if too many interruptions occur within a defined evaluation window.
1885
+ * `cooldown` - (Optional) The cooldown period after an interruption occurs before another interruption can be tolerated. Must be set when `isEnabled` is true. Range `120`-`10080`.
1886
+ * `evaluation_period` - (Optional) The time window used to evaluate interruption tolerance. Must be set when `isEnabled` is true. Range `30`-`1440`.
1887
+ * `is_enabled` - (Optional) Enables interruption tolerance behavior for the Stateful Node.
1888
+ * `threshold` - (Optional) The maximum number of interruptions allowed within the defined evaluation period. Must be set when `isEnabled` is true. Value `>=3`
1867
1889
  * `capacity_reservation` - (Optional) On-demand Capacity Reservation group enables you to reserve Compute capacity in an Azure region or an Availability Zone for any duration of time. [CRG can only be created on the Azure end.](https://learn.microsoft.com/en-us/azure/virtual-machines/capacity-reservation-create)
1868
1890
  * `should_utilize` - (Required) Determines whether capacity reservations should be utilized.
1869
1891
  * `utilization_strategy` - (Required, Enum `"utilizeOverSpot", "utilizeOverOD"`) The priority requested for using CRG. This value will determine if CRG is used ahead of spot VMs or On-demand VMs. (`"utilizeOverOD"`- If picked, we will use CRG only in case On demand should be launched. `"utilizeOverSpot"`- CRG will be preferred over Spot. Only after CRG is fully used, spot VMs can be used.)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulumi_spotinst
3
- Version: 3.126.0a1761894726
3
+ Version: 3.128.0
4
4
  Summary: A Pulumi package for creating and managing spotinst cloud resources.
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://pulumi.io
@@ -1,5 +1,5 @@
1
1
  pulumi_spotinst/__init__.py,sha256=7z-WTGhCLkMBARWv5HBwYPwJmmUlZxkFV4e2-44vcOE,8962
2
- pulumi_spotinst/_inputs.py,sha256=Uq6RXu8Nvgy6GBUXy1flnDaSqYnW0Tuy9ECU_o6cSVQ,244158
2
+ pulumi_spotinst/_inputs.py,sha256=t7yQ_V8oJBz1Q5ukkPBa2B8vCMUQiXOKRi4dCZbQ5lo,257540
3
3
  pulumi_spotinst/_utilities.py,sha256=66uLGQDI1oMFOI3Fe5igAphtexWhcSLDyuVW50jW3ik,10789
4
4
  pulumi_spotinst/account.py,sha256=xZtina6f9EsvjCBy-m7ONNNTmiSLH83RnRW-hgyg6Tg,6564
5
5
  pulumi_spotinst/credentials_azure.py,sha256=Oj8M5GWA-6qcBrA1-gs1aHyopd6QEsfPh_UFaaZMF_g,17554
@@ -8,25 +8,25 @@ pulumi_spotinst/data_integration.py,sha256=ATUa3lTPX4C0RL9RZAdok8s-FBXzLhTm8aLae
8
8
  pulumi_spotinst/elastigroup_azure_v3.py,sha256=g-qo7lvdIKFZvHnnJpBRTQvdtx_QtGj3-emvcwvGB4U,78617
9
9
  pulumi_spotinst/health_check.py,sha256=qAORI0qYkOKceI5yyKZXFLoppI0PkKevlhW1rYEM25Q,14253
10
10
  pulumi_spotinst/notification_center.py,sha256=iwsxYdQT1XlD0tiG07LkH2-v6YnSL9RCCxQyF9zXQpg,16731
11
- pulumi_spotinst/ocean_right_sizing_rule.py,sha256=j-p697fdrX1BBjd6N8jsoJy_mjeLL4caXsgypL94YSs,35984
12
- pulumi_spotinst/outputs.py,sha256=rNpMHBsJqEFYxj42gDWyQisnynqmEMBXJ6YCmUhGMi0,194852
11
+ pulumi_spotinst/ocean_right_sizing_rule.py,sha256=KopoNhRYNZzdHLNQT-GYFD1scM055vFNb0XoIPinIVU,53044
12
+ pulumi_spotinst/outputs.py,sha256=vUcyksz3y_ggCiGScOq4jDsuIur4wkPmuZ5Bxu3_rR8,204257
13
13
  pulumi_spotinst/provider.py,sha256=FEjU0etSWrJlMWHpU0GNv18xgOjcxUbHQKkqj1z6ov0,8816
14
- pulumi_spotinst/pulumi-plugin.json,sha256=fvFmWCJEyeNHy7z03804VYsMKlbTiHR_xlwtjIG84jY,86
14
+ pulumi_spotinst/pulumi-plugin.json,sha256=-rZW4fgMl3Ugolzd670stswaDcxXAQi1R-a8iJ5nw38,69
15
15
  pulumi_spotinst/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- pulumi_spotinst/stateful_node_azure.py,sha256=5va42CW56xGKyALV4WpfV55BI1feYH9c4KTT5AUhNiU,142477
16
+ pulumi_spotinst/stateful_node_azure.py,sha256=h9szmIS_HYIeUoD8WZzk7hUF6sLYz1UOmNtsAQeZ7Wc,144741
17
17
  pulumi_spotinst/subscription.py,sha256=WQXMOJYjm4DrTfxZ2VhzDi5aeJdkjEul8MeEtVBi4Fg,28774
18
18
  pulumi_spotinst/aws/__init__.py,sha256=SWKWiKvOcvQqdCkmszayFXbFeZD4sXaG2z05d2LhIyE,614
19
- pulumi_spotinst/aws/_inputs.py,sha256=3ZQaTqPGrXU41NxCG5q3N-veEDm1uzTbkjEYetCeoSw,645557
19
+ pulumi_spotinst/aws/_inputs.py,sha256=MxOrz_VeN68esNEBBgdLDwPR3HPWVMdcSLHkmyO2-AQ,653019
20
20
  pulumi_spotinst/aws/account.py,sha256=WUfqiPur6NVF8p5bM2-BYZh_wNA8MDpx2JzHMoBlgZ0,6593
21
- pulumi_spotinst/aws/beanstalk.py,sha256=kclK6IEKiSOx21Tf3X5HaJcZEhgtl7CyMF0-b1YgpU4,35871
21
+ pulumi_spotinst/aws/beanstalk.py,sha256=L0-eR_Mf25zLjeExbOBsYum8KHEbBoklcQ_TRUVXTNI,38331
22
22
  pulumi_spotinst/aws/credentials.py,sha256=ZVCezkIUAP4JguLFznZs7N2yRjxSxZNEBVWEeLsIUas,9584
23
23
  pulumi_spotinst/aws/elastigroup.py,sha256=_5jIwyfoRy2dk3FfEoNCLzEe90KJNyIEmsr5vjlgXk0,237912
24
24
  pulumi_spotinst/aws/managed_instance.py,sha256=ngHzlb1QNvbg6V43My4yvjn5YOmD8s3Tfs5efVtDLM4,89302
25
25
  pulumi_spotinst/aws/mr_scalar.py,sha256=LKESBPU8WvgA_VIP7O5J-Zj_CDdDpmdnrLHuT370-R0,131071
26
26
  pulumi_spotinst/aws/ocean.py,sha256=eW6WIBjydPPCA16-zdN6Znfod_DqM_FgE-OJiiQ1AVE,128237
27
27
  pulumi_spotinst/aws/ocean_extended_resource_definition.py,sha256=vY9Idmkqs1yFGIY4KaQl_zvmau0kVJlSSqp_YgCPZns,11119
28
- pulumi_spotinst/aws/ocean_launch_spec.py,sha256=71MeEEyb2ZMPHHzap0_HxrDn9OYJxd80leK1v_PTeyI,107337
29
- pulumi_spotinst/aws/outputs.py,sha256=xFWNomHN2lBRcM4i3eIEiwnfvnIlztcOdqwOa0Cwldg,478204
28
+ pulumi_spotinst/aws/ocean_launch_spec.py,sha256=ePppNFVRLuCABv6T8Mk9c_Fp5GjsTie1z2rHUDXXu3U,110420
29
+ pulumi_spotinst/aws/outputs.py,sha256=gsnZUc_1RF_d4bbHkP4sgy5QAMNs8biEShm79ZCAgfI,483429
30
30
  pulumi_spotinst/aws/suspension.py,sha256=ma9_lzRrcTHExXu2RHNPT35KigSmncnt7de12QU0SSQ,9836
31
31
  pulumi_spotinst/azure/__init__.py,sha256=UxJDd-yQgzdApWYWSVyS8oelVf9Ta8E2L07Cdqz0itc,392
32
32
  pulumi_spotinst/azure/_inputs.py,sha256=5mwJ8lJPXlXyH7cnoWPMIQc4GTqu47S44dpagBFKxLI,131270
@@ -38,7 +38,7 @@ pulumi_spotinst/config/__init__.pyi,sha256=RiTrkI3RQXi_QRzK3PSfXwoUTaAL7s4NHOUYW
38
38
  pulumi_spotinst/config/vars.py,sha256=iuIkM-ATaOBmJn3vhq5ToOYxBI5g6qT7q_ulvl9VY0o,1303
39
39
  pulumi_spotinst/ecs/__init__.py,sha256=CLysCVh9rxUT2ffyh_NnUNdybP26mIqf-brCVJqjvqo,379
40
40
  pulumi_spotinst/ecs/_inputs.py,sha256=YUrKXAmQelUuj2ILHPoOXdk8IpYv2veDHmzQiKQzUEs,114766
41
- pulumi_spotinst/ecs/ocean.py,sha256=pSfcNhKfNMolYkrbM-uuf35OSg2EBgDeKl7d44r23o0,87583
41
+ pulumi_spotinst/ecs/ocean.py,sha256=ALLkazUtgajwg9S-1Ff4KgKRkDt_f7rd7EEpGKbVPzw,94675
42
42
  pulumi_spotinst/ecs/ocean_launch_spec.py,sha256=-eSFTr8fZst5A0FtI2CIMJ9vF6HejFMGpZq6K4uvOQA,63373
43
43
  pulumi_spotinst/ecs/outputs.py,sha256=b1k0mU88oUhZFWCQd9aCpYqe2w2Ituz4ERPVa8N1UM8,86861
44
44
  pulumi_spotinst/gcp/__init__.py,sha256=aumZUMhkw4EKoQn4eCtd7P32Km2N4DH5DQJjXSAGIiI,352
@@ -49,7 +49,7 @@ pulumi_spotinst/gke/__init__.py,sha256=1N01YAyfVw7EkjfqgCu7F0BlOC8nJl4kuGrSUCSAE
49
49
  pulumi_spotinst/gke/_inputs.py,sha256=gkS4EefF0alaptY80h4hBXDkl_0uhIbz0ey6AyuOigw,172841
50
50
  pulumi_spotinst/gke/elastigroup.py,sha256=adjijR3HsE6wUnCmansKAWppKiUn2Rg_sSWfw8DxZWQ,75125
51
51
  pulumi_spotinst/gke/ocean_import.py,sha256=duNECsSKjQKrNhywasou1mxy3Qgtl5wcQPLmQVexl50,55604
52
- pulumi_spotinst/gke/ocean_launch_spec.py,sha256=YYiYoBoyjOgUnHmqwkt_bsrHp-CmgB6K-UgADR7Bs4E,75536
52
+ pulumi_spotinst/gke/ocean_launch_spec.py,sha256=Gy0CVmSLv65XW4RfBQlAHZYEPYLFjMJNh86cSAW2aUs,75655
53
53
  pulumi_spotinst/gke/ocean_launch_spec_import.py,sha256=V8zRzgH_yiBbBX4zpZ_KyGhewFIXUshshERBNcqB7cE,9180
54
54
  pulumi_spotinst/gke/outputs.py,sha256=NIKagwuNwEtiOAM5BEEtdzzKUPuS0dZnq6JNCDNIZbk,132789
55
55
  pulumi_spotinst/oceancd/__init__.py,sha256=L8V4GflT2iyGQ1SIpOVYgQdjRkgjo9_y2UmXtLaXb3M,451
@@ -71,7 +71,7 @@ pulumi_spotinst/spark/_inputs.py,sha256=XB8S6pZxnO4iNXdGVAAXb4JFZw-GuhuDl6O2yWWi
71
71
  pulumi_spotinst/spark/ocean.py,sha256=A1XL91RkzkOH6_0cE-roTPVLz88dLCyeuQtPzy3JfdE,19953
72
72
  pulumi_spotinst/spark/ocean_virtual_node_group.py,sha256=dzaQUXFtAihajDSuFD395x7WQ8zitgvcJhB-e3AN-Vw,8717
73
73
  pulumi_spotinst/spark/outputs.py,sha256=1QDMtJQ-VQ2lsbBibWnO8FbUdPOUDDR6MfOjt-Sep-4,20785
74
- pulumi_spotinst-3.126.0a1761894726.dist-info/METADATA,sha256=pnPIN8Kij5lMZfmgBohokk5HAtBljbbGH5jGmJlunik,2724
75
- pulumi_spotinst-3.126.0a1761894726.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
76
- pulumi_spotinst-3.126.0a1761894726.dist-info/top_level.txt,sha256=B1HTsr4PliwgyZPJ-9Cmg9PELboV_GusiFDrxBSVHeI,16
77
- pulumi_spotinst-3.126.0a1761894726.dist-info/RECORD,,
74
+ pulumi_spotinst-3.128.0.dist-info/METADATA,sha256=p2eLu0Nb4gV12oVyKvEP4w2QKaDx0x3K-3qlY90VRbM,2713
75
+ pulumi_spotinst-3.128.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
76
+ pulumi_spotinst-3.128.0.dist-info/top_level.txt,sha256=B1HTsr4PliwgyZPJ-9Cmg9PELboV_GusiFDrxBSVHeI,16
77
+ pulumi_spotinst-3.128.0.dist-info/RECORD,,