pulumi-spotinst 3.125.0a1759907052__py3-none-any.whl → 3.126.0a1759993216__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.

@@ -113,6 +113,8 @@ __all__ = [
113
113
  'OceanRightSizingRuleAttachWorkloadNamespaceLabelArgsDict',
114
114
  'OceanRightSizingRuleAttachWorkloadNamespaceWorkloadArgs',
115
115
  'OceanRightSizingRuleAttachWorkloadNamespaceWorkloadArgsDict',
116
+ 'OceanRightSizingRuleAutoApplyDefinitionArgs',
117
+ 'OceanRightSizingRuleAutoApplyDefinitionArgsDict',
116
118
  'OceanRightSizingRuleDetachWorkloadArgs',
117
119
  'OceanRightSizingRuleDetachWorkloadArgsDict',
118
120
  'OceanRightSizingRuleDetachWorkloadNamespaceArgs',
@@ -3092,6 +3094,55 @@ class OceanRightSizingRuleAttachWorkloadNamespaceWorkloadArgs:
3092
3094
  pulumi.set(self, "workload_name", value)
3093
3095
 
3094
3096
 
3097
+ if not MYPY:
3098
+ class OceanRightSizingRuleAutoApplyDefinitionArgsDict(TypedDict):
3099
+ enabled: NotRequired[pulumi.Input[_builtins.bool]]
3100
+ labels: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]
3101
+ namespaces: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
3102
+ elif False:
3103
+ OceanRightSizingRuleAutoApplyDefinitionArgsDict: TypeAlias = Mapping[str, Any]
3104
+
3105
+ @pulumi.input_type
3106
+ class OceanRightSizingRuleAutoApplyDefinitionArgs:
3107
+ def __init__(__self__, *,
3108
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
3109
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
3110
+ namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
3111
+ if enabled is not None:
3112
+ pulumi.set(__self__, "enabled", enabled)
3113
+ if labels is not None:
3114
+ pulumi.set(__self__, "labels", labels)
3115
+ if namespaces is not None:
3116
+ pulumi.set(__self__, "namespaces", namespaces)
3117
+
3118
+ @_builtins.property
3119
+ @pulumi.getter
3120
+ def enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
3121
+ return pulumi.get(self, "enabled")
3122
+
3123
+ @enabled.setter
3124
+ def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
3125
+ pulumi.set(self, "enabled", value)
3126
+
3127
+ @_builtins.property
3128
+ @pulumi.getter
3129
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
3130
+ return pulumi.get(self, "labels")
3131
+
3132
+ @labels.setter
3133
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
3134
+ pulumi.set(self, "labels", value)
3135
+
3136
+ @_builtins.property
3137
+ @pulumi.getter
3138
+ def namespaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
3139
+ return pulumi.get(self, "namespaces")
3140
+
3141
+ @namespaces.setter
3142
+ def namespaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
3143
+ pulumi.set(self, "namespaces", value)
3144
+
3145
+
3095
3146
  if not MYPY:
3096
3147
  class OceanRightSizingRuleDetachWorkloadArgsDict(TypedDict):
3097
3148
  namespaces: pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleDetachWorkloadNamespaceArgsDict']]]
@@ -101,6 +101,8 @@ __all__ = [
101
101
  'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict',
102
102
  'OceanLaunchSpecCreateOptionsArgs',
103
103
  'OceanLaunchSpecCreateOptionsArgsDict',
104
+ 'OceanLaunchSpecFiltersArgs',
105
+ 'OceanLaunchSpecFiltersArgsDict',
104
106
  'OceanLaunchSpecLabelArgs',
105
107
  'OceanLaunchSpecLabelArgsDict',
106
108
  'OceanLaunchSpecMetadataArgs',
@@ -3041,6 +3043,138 @@ class OceanLaunchSpecCreateOptionsArgs:
3041
3043
  pulumi.set(self, "initial_nodes", value)
3042
3044
 
3043
3045
 
3046
+ if not MYPY:
3047
+ class OceanLaunchSpecFiltersArgsDict(TypedDict):
3048
+ exclude_families: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
3049
+ """
3050
+ Types belonging to a family from the ExcludeFamilies will not be available for scaling (asterisk wildcard is also supported). For example, C* will exclude instance types from these families: c5, c4, c4a, etc.
3051
+ """
3052
+ include_families: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
3053
+ """
3054
+ Types belonging to a family from the IncludeFamilies will be available for scaling (asterisk wildcard is also supported). For example, C* will include instance types from these families: c5, c4, c4a, etc.
3055
+ """
3056
+ max_memory_gib: NotRequired[pulumi.Input[_builtins.float]]
3057
+ """
3058
+ Maximum amount of Memory (GiB).
3059
+ """
3060
+ max_vcpu: NotRequired[pulumi.Input[_builtins.int]]
3061
+ """
3062
+ Maximum number of vcpus available.
3063
+ """
3064
+ min_memory_gib: NotRequired[pulumi.Input[_builtins.float]]
3065
+ """
3066
+ Minimum amount of Memory (GiB).
3067
+ """
3068
+ min_vcpu: NotRequired[pulumi.Input[_builtins.int]]
3069
+ """
3070
+ Minimum number of vcpus available.
3071
+ """
3072
+ elif False:
3073
+ OceanLaunchSpecFiltersArgsDict: TypeAlias = Mapping[str, Any]
3074
+
3075
+ @pulumi.input_type
3076
+ class OceanLaunchSpecFiltersArgs:
3077
+ def __init__(__self__, *,
3078
+ exclude_families: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
3079
+ include_families: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
3080
+ max_memory_gib: Optional[pulumi.Input[_builtins.float]] = None,
3081
+ max_vcpu: Optional[pulumi.Input[_builtins.int]] = None,
3082
+ min_memory_gib: Optional[pulumi.Input[_builtins.float]] = None,
3083
+ min_vcpu: Optional[pulumi.Input[_builtins.int]] = None):
3084
+ """
3085
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] exclude_families: Types belonging to a family from the ExcludeFamilies will not be available for scaling (asterisk wildcard is also supported). For example, C* will exclude instance types from these families: c5, c4, c4a, etc.
3086
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] include_families: Types belonging to a family from the IncludeFamilies will be available for scaling (asterisk wildcard is also supported). For example, C* will include instance types from these families: c5, c4, c4a, etc.
3087
+ :param pulumi.Input[_builtins.float] max_memory_gib: Maximum amount of Memory (GiB).
3088
+ :param pulumi.Input[_builtins.int] max_vcpu: Maximum number of vcpus available.
3089
+ :param pulumi.Input[_builtins.float] min_memory_gib: Minimum amount of Memory (GiB).
3090
+ :param pulumi.Input[_builtins.int] min_vcpu: Minimum number of vcpus available.
3091
+ """
3092
+ if exclude_families is not None:
3093
+ pulumi.set(__self__, "exclude_families", exclude_families)
3094
+ if include_families is not None:
3095
+ pulumi.set(__self__, "include_families", include_families)
3096
+ if max_memory_gib is not None:
3097
+ pulumi.set(__self__, "max_memory_gib", max_memory_gib)
3098
+ if max_vcpu is not None:
3099
+ pulumi.set(__self__, "max_vcpu", max_vcpu)
3100
+ if min_memory_gib is not None:
3101
+ pulumi.set(__self__, "min_memory_gib", min_memory_gib)
3102
+ if min_vcpu is not None:
3103
+ pulumi.set(__self__, "min_vcpu", min_vcpu)
3104
+
3105
+ @_builtins.property
3106
+ @pulumi.getter(name="excludeFamilies")
3107
+ def exclude_families(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
3108
+ """
3109
+ Types belonging to a family from the ExcludeFamilies will not be available for scaling (asterisk wildcard is also supported). For example, C* will exclude instance types from these families: c5, c4, c4a, etc.
3110
+ """
3111
+ return pulumi.get(self, "exclude_families")
3112
+
3113
+ @exclude_families.setter
3114
+ def exclude_families(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
3115
+ pulumi.set(self, "exclude_families", value)
3116
+
3117
+ @_builtins.property
3118
+ @pulumi.getter(name="includeFamilies")
3119
+ def include_families(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
3120
+ """
3121
+ Types belonging to a family from the IncludeFamilies will be available for scaling (asterisk wildcard is also supported). For example, C* will include instance types from these families: c5, c4, c4a, etc.
3122
+ """
3123
+ return pulumi.get(self, "include_families")
3124
+
3125
+ @include_families.setter
3126
+ def include_families(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
3127
+ pulumi.set(self, "include_families", value)
3128
+
3129
+ @_builtins.property
3130
+ @pulumi.getter(name="maxMemoryGib")
3131
+ def max_memory_gib(self) -> Optional[pulumi.Input[_builtins.float]]:
3132
+ """
3133
+ Maximum amount of Memory (GiB).
3134
+ """
3135
+ return pulumi.get(self, "max_memory_gib")
3136
+
3137
+ @max_memory_gib.setter
3138
+ def max_memory_gib(self, value: Optional[pulumi.Input[_builtins.float]]):
3139
+ pulumi.set(self, "max_memory_gib", value)
3140
+
3141
+ @_builtins.property
3142
+ @pulumi.getter(name="maxVcpu")
3143
+ def max_vcpu(self) -> Optional[pulumi.Input[_builtins.int]]:
3144
+ """
3145
+ Maximum number of vcpus available.
3146
+ """
3147
+ return pulumi.get(self, "max_vcpu")
3148
+
3149
+ @max_vcpu.setter
3150
+ def max_vcpu(self, value: Optional[pulumi.Input[_builtins.int]]):
3151
+ pulumi.set(self, "max_vcpu", value)
3152
+
3153
+ @_builtins.property
3154
+ @pulumi.getter(name="minMemoryGib")
3155
+ def min_memory_gib(self) -> Optional[pulumi.Input[_builtins.float]]:
3156
+ """
3157
+ Minimum amount of Memory (GiB).
3158
+ """
3159
+ return pulumi.get(self, "min_memory_gib")
3160
+
3161
+ @min_memory_gib.setter
3162
+ def min_memory_gib(self, value: Optional[pulumi.Input[_builtins.float]]):
3163
+ pulumi.set(self, "min_memory_gib", value)
3164
+
3165
+ @_builtins.property
3166
+ @pulumi.getter(name="minVcpu")
3167
+ def min_vcpu(self) -> Optional[pulumi.Input[_builtins.int]]:
3168
+ """
3169
+ Minimum number of vcpus available.
3170
+ """
3171
+ return pulumi.get(self, "min_vcpu")
3172
+
3173
+ @min_vcpu.setter
3174
+ def min_vcpu(self, value: Optional[pulumi.Input[_builtins.int]]):
3175
+ pulumi.set(self, "min_vcpu", value)
3176
+
3177
+
3044
3178
  if not MYPY:
3045
3179
  class OceanLaunchSpecLabelArgsDict(TypedDict):
3046
3180
  key: NotRequired[pulumi.Input[_builtins.str]]
@@ -25,6 +25,7 @@ class OceanLaunchSpecArgs:
25
25
  autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]] = None,
26
26
  autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]] = None,
27
27
  create_options: Optional[pulumi.Input['OceanLaunchSpecCreateOptionsArgs']] = None,
28
+ filters: Optional[pulumi.Input['OceanLaunchSpecFiltersArgs']] = None,
28
29
  instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
29
30
  labels: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]]] = None,
30
31
  metadatas: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecMetadataArgs']]]] = None,
@@ -49,6 +50,7 @@ class OceanLaunchSpecArgs:
49
50
  :param pulumi.Input[_builtins.str] ocean_id: The Ocean cluster ID.
50
51
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]] autoscale_headrooms: Set custom headroom per launch spec. provide list of headrooms object.
51
52
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]] autoscale_headrooms_automatics: Set automatic headroom per launch spec.
53
+ :param pulumi.Input['OceanLaunchSpecFiltersArgs'] filters: List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured if cluster's `instance_types` is configured.
52
54
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instance_types: List of supported machine types for the Launch Spec.
53
55
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]] labels: Optionally adds labels to instances launched in an Ocean cluster.
54
56
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecMetadataArgs']]] metadatas: Cluster's metadata.
@@ -75,6 +77,8 @@ class OceanLaunchSpecArgs:
75
77
  pulumi.set(__self__, "autoscale_headrooms_automatics", autoscale_headrooms_automatics)
76
78
  if create_options is not None:
77
79
  pulumi.set(__self__, "create_options", create_options)
80
+ if filters is not None:
81
+ pulumi.set(__self__, "filters", filters)
78
82
  if instance_types is not None:
79
83
  pulumi.set(__self__, "instance_types", instance_types)
80
84
  if labels is not None:
@@ -159,6 +163,18 @@ class OceanLaunchSpecArgs:
159
163
  def create_options(self, value: Optional[pulumi.Input['OceanLaunchSpecCreateOptionsArgs']]):
160
164
  pulumi.set(self, "create_options", value)
161
165
 
166
+ @_builtins.property
167
+ @pulumi.getter
168
+ def filters(self) -> Optional[pulumi.Input['OceanLaunchSpecFiltersArgs']]:
169
+ """
170
+ List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured if cluster's `instance_types` is configured.
171
+ """
172
+ return pulumi.get(self, "filters")
173
+
174
+ @filters.setter
175
+ def filters(self, value: Optional[pulumi.Input['OceanLaunchSpecFiltersArgs']]):
176
+ pulumi.set(self, "filters", value)
177
+
162
178
  @_builtins.property
163
179
  @pulumi.getter(name="instanceTypes")
164
180
  def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
@@ -391,6 +407,7 @@ class _OceanLaunchSpecState:
391
407
  autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]]] = None,
392
408
  autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]]] = None,
393
409
  create_options: Optional[pulumi.Input['OceanLaunchSpecCreateOptionsArgs']] = None,
410
+ filters: Optional[pulumi.Input['OceanLaunchSpecFiltersArgs']] = None,
394
411
  instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
395
412
  labels: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]]] = None,
396
413
  metadatas: Optional[pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecMetadataArgs']]]] = None,
@@ -415,6 +432,7 @@ class _OceanLaunchSpecState:
415
432
  Input properties used for looking up and filtering OceanLaunchSpec resources.
416
433
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomArgs']]] autoscale_headrooms: Set custom headroom per launch spec. provide list of headrooms object.
417
434
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs']]] autoscale_headrooms_automatics: Set automatic headroom per launch spec.
435
+ :param pulumi.Input['OceanLaunchSpecFiltersArgs'] filters: List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured if cluster's `instance_types` is configured.
418
436
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instance_types: List of supported machine types for the Launch Spec.
419
437
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecLabelArgs']]] labels: Optionally adds labels to instances launched in an Ocean cluster.
420
438
  :param pulumi.Input[Sequence[pulumi.Input['OceanLaunchSpecMetadataArgs']]] metadatas: Cluster's metadata.
@@ -441,6 +459,8 @@ class _OceanLaunchSpecState:
441
459
  pulumi.set(__self__, "autoscale_headrooms_automatics", autoscale_headrooms_automatics)
442
460
  if create_options is not None:
443
461
  pulumi.set(__self__, "create_options", create_options)
462
+ if filters is not None:
463
+ pulumi.set(__self__, "filters", filters)
444
464
  if instance_types is not None:
445
465
  pulumi.set(__self__, "instance_types", instance_types)
446
466
  if labels is not None:
@@ -515,6 +535,18 @@ class _OceanLaunchSpecState:
515
535
  def create_options(self, value: Optional[pulumi.Input['OceanLaunchSpecCreateOptionsArgs']]):
516
536
  pulumi.set(self, "create_options", value)
517
537
 
538
+ @_builtins.property
539
+ @pulumi.getter
540
+ def filters(self) -> Optional[pulumi.Input['OceanLaunchSpecFiltersArgs']]:
541
+ """
542
+ List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured if cluster's `instance_types` is configured.
543
+ """
544
+ return pulumi.get(self, "filters")
545
+
546
+ @filters.setter
547
+ def filters(self, value: Optional[pulumi.Input['OceanLaunchSpecFiltersArgs']]):
548
+ pulumi.set(self, "filters", value)
549
+
518
550
  @_builtins.property
519
551
  @pulumi.getter(name="instanceTypes")
520
552
  def instance_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
@@ -762,6 +794,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
762
794
  autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]]] = None,
763
795
  autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs', 'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict']]]]] = None,
764
796
  create_options: Optional[pulumi.Input[Union['OceanLaunchSpecCreateOptionsArgs', 'OceanLaunchSpecCreateOptionsArgsDict']]] = None,
797
+ filters: Optional[pulumi.Input[Union['OceanLaunchSpecFiltersArgs', 'OceanLaunchSpecFiltersArgsDict']]] = None,
765
798
  instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
766
799
  labels: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLabelArgs', 'OceanLaunchSpecLabelArgsDict']]]]] = None,
767
800
  metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecMetadataArgs', 'OceanLaunchSpecMetadataArgsDict']]]]] = None,
@@ -870,13 +903,25 @@ class OceanLaunchSpec(pulumi.CustomResource):
870
903
  "ip_cidr_range": "/25",
871
904
  "subnetwork_range_name": "gke-test-native-vpc-pods-123456-vng",
872
905
  }],
873
- }])
906
+ }],
907
+ filters={
908
+ "exclude_families": ["n2"],
909
+ "include_families": [
910
+ "c2",
911
+ "c3",
912
+ ],
913
+ "min_memory_gib": 8,
914
+ "max_memory_gib": 32,
915
+ "min_vcpu": 2,
916
+ "max_vcpu": 16,
917
+ })
874
918
  ```
875
919
 
876
920
  :param str resource_name: The name of the resource.
877
921
  :param pulumi.ResourceOptions opts: Options for the resource.
878
922
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]] autoscale_headrooms: Set custom headroom per launch spec. provide list of headrooms object.
879
923
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs', 'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict']]]] autoscale_headrooms_automatics: Set automatic headroom per launch spec.
924
+ :param pulumi.Input[Union['OceanLaunchSpecFiltersArgs', 'OceanLaunchSpecFiltersArgsDict']] filters: List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured if cluster's `instance_types` is configured.
880
925
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instance_types: List of supported machine types for the Launch Spec.
881
926
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLabelArgs', 'OceanLaunchSpecLabelArgsDict']]]] labels: Optionally adds labels to instances launched in an Ocean cluster.
882
927
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecMetadataArgs', 'OceanLaunchSpecMetadataArgsDict']]]] metadatas: Cluster's metadata.
@@ -990,7 +1035,18 @@ class OceanLaunchSpec(pulumi.CustomResource):
990
1035
  "ip_cidr_range": "/25",
991
1036
  "subnetwork_range_name": "gke-test-native-vpc-pods-123456-vng",
992
1037
  }],
993
- }])
1038
+ }],
1039
+ filters={
1040
+ "exclude_families": ["n2"],
1041
+ "include_families": [
1042
+ "c2",
1043
+ "c3",
1044
+ ],
1045
+ "min_memory_gib": 8,
1046
+ "max_memory_gib": 32,
1047
+ "min_vcpu": 2,
1048
+ "max_vcpu": 16,
1049
+ })
994
1050
  ```
995
1051
 
996
1052
  :param str resource_name: The name of the resource.
@@ -1011,6 +1067,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1011
1067
  autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]]] = None,
1012
1068
  autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs', 'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict']]]]] = None,
1013
1069
  create_options: Optional[pulumi.Input[Union['OceanLaunchSpecCreateOptionsArgs', 'OceanLaunchSpecCreateOptionsArgsDict']]] = None,
1070
+ filters: Optional[pulumi.Input[Union['OceanLaunchSpecFiltersArgs', 'OceanLaunchSpecFiltersArgsDict']]] = None,
1014
1071
  instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1015
1072
  labels: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLabelArgs', 'OceanLaunchSpecLabelArgsDict']]]]] = None,
1016
1073
  metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecMetadataArgs', 'OceanLaunchSpecMetadataArgsDict']]]]] = None,
@@ -1043,6 +1100,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1043
1100
  __props__.__dict__["autoscale_headrooms"] = autoscale_headrooms
1044
1101
  __props__.__dict__["autoscale_headrooms_automatics"] = autoscale_headrooms_automatics
1045
1102
  __props__.__dict__["create_options"] = create_options
1103
+ __props__.__dict__["filters"] = filters
1046
1104
  __props__.__dict__["instance_types"] = instance_types
1047
1105
  __props__.__dict__["labels"] = labels
1048
1106
  __props__.__dict__["metadatas"] = metadatas
@@ -1078,6 +1136,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1078
1136
  autoscale_headrooms: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]]] = None,
1079
1137
  autoscale_headrooms_automatics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs', 'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict']]]]] = None,
1080
1138
  create_options: Optional[pulumi.Input[Union['OceanLaunchSpecCreateOptionsArgs', 'OceanLaunchSpecCreateOptionsArgsDict']]] = None,
1139
+ filters: Optional[pulumi.Input[Union['OceanLaunchSpecFiltersArgs', 'OceanLaunchSpecFiltersArgsDict']]] = None,
1081
1140
  instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1082
1141
  labels: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLabelArgs', 'OceanLaunchSpecLabelArgsDict']]]]] = None,
1083
1142
  metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecMetadataArgs', 'OceanLaunchSpecMetadataArgsDict']]]]] = None,
@@ -1107,6 +1166,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1107
1166
  :param pulumi.ResourceOptions opts: Options for the resource.
1108
1167
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomArgs', 'OceanLaunchSpecAutoscaleHeadroomArgsDict']]]] autoscale_headrooms: Set custom headroom per launch spec. provide list of headrooms object.
1109
1168
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecAutoscaleHeadroomsAutomaticArgs', 'OceanLaunchSpecAutoscaleHeadroomsAutomaticArgsDict']]]] autoscale_headrooms_automatics: Set automatic headroom per launch spec.
1169
+ :param pulumi.Input[Union['OceanLaunchSpecFiltersArgs', 'OceanLaunchSpecFiltersArgsDict']] filters: List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured if cluster's `instance_types` is configured.
1110
1170
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] instance_types: List of supported machine types for the Launch Spec.
1111
1171
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecLabelArgs', 'OceanLaunchSpecLabelArgsDict']]]] labels: Optionally adds labels to instances launched in an Ocean cluster.
1112
1172
  :param pulumi.Input[Sequence[pulumi.Input[Union['OceanLaunchSpecMetadataArgs', 'OceanLaunchSpecMetadataArgsDict']]]] metadatas: Cluster's metadata.
@@ -1134,6 +1194,7 @@ class OceanLaunchSpec(pulumi.CustomResource):
1134
1194
  __props__.__dict__["autoscale_headrooms"] = autoscale_headrooms
1135
1195
  __props__.__dict__["autoscale_headrooms_automatics"] = autoscale_headrooms_automatics
1136
1196
  __props__.__dict__["create_options"] = create_options
1197
+ __props__.__dict__["filters"] = filters
1137
1198
  __props__.__dict__["instance_types"] = instance_types
1138
1199
  __props__.__dict__["labels"] = labels
1139
1200
  __props__.__dict__["metadatas"] = metadatas
@@ -1177,6 +1238,14 @@ class OceanLaunchSpec(pulumi.CustomResource):
1177
1238
  def create_options(self) -> pulumi.Output[Optional['outputs.OceanLaunchSpecCreateOptions']]:
1178
1239
  return pulumi.get(self, "create_options")
1179
1240
 
1241
+ @_builtins.property
1242
+ @pulumi.getter
1243
+ def filters(self) -> pulumi.Output[Optional['outputs.OceanLaunchSpecFilters']]:
1244
+ """
1245
+ List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured if cluster's `instance_types` is configured.
1246
+ """
1247
+ return pulumi.get(self, "filters")
1248
+
1180
1249
  @_builtins.property
1181
1250
  @pulumi.getter(name="instanceTypes")
1182
1251
  def instance_types(self) -> pulumi.Output[Sequence[_builtins.str]]:
@@ -59,6 +59,7 @@ __all__ = [
59
59
  'OceanLaunchSpecAutoscaleHeadroom',
60
60
  'OceanLaunchSpecAutoscaleHeadroomsAutomatic',
61
61
  'OceanLaunchSpecCreateOptions',
62
+ 'OceanLaunchSpecFilters',
62
63
  'OceanLaunchSpecLabel',
63
64
  'OceanLaunchSpecMetadata',
64
65
  'OceanLaunchSpecNetworkInterface',
@@ -2500,6 +2501,112 @@ class OceanLaunchSpecCreateOptions(dict):
2500
2501
  return pulumi.get(self, "initial_nodes")
2501
2502
 
2502
2503
 
2504
+ @pulumi.output_type
2505
+ class OceanLaunchSpecFilters(dict):
2506
+ @staticmethod
2507
+ def __key_warning(key: str):
2508
+ suggest = None
2509
+ if key == "excludeFamilies":
2510
+ suggest = "exclude_families"
2511
+ elif key == "includeFamilies":
2512
+ suggest = "include_families"
2513
+ elif key == "maxMemoryGib":
2514
+ suggest = "max_memory_gib"
2515
+ elif key == "maxVcpu":
2516
+ suggest = "max_vcpu"
2517
+ elif key == "minMemoryGib":
2518
+ suggest = "min_memory_gib"
2519
+ elif key == "minVcpu":
2520
+ suggest = "min_vcpu"
2521
+
2522
+ if suggest:
2523
+ pulumi.log.warn(f"Key '{key}' not found in OceanLaunchSpecFilters. Access the value via the '{suggest}' property getter instead.")
2524
+
2525
+ def __getitem__(self, key: str) -> Any:
2526
+ OceanLaunchSpecFilters.__key_warning(key)
2527
+ return super().__getitem__(key)
2528
+
2529
+ def get(self, key: str, default = None) -> Any:
2530
+ OceanLaunchSpecFilters.__key_warning(key)
2531
+ return super().get(key, default)
2532
+
2533
+ def __init__(__self__, *,
2534
+ exclude_families: Optional[Sequence[_builtins.str]] = None,
2535
+ include_families: Optional[Sequence[_builtins.str]] = None,
2536
+ max_memory_gib: Optional[_builtins.float] = None,
2537
+ max_vcpu: Optional[_builtins.int] = None,
2538
+ min_memory_gib: Optional[_builtins.float] = None,
2539
+ min_vcpu: Optional[_builtins.int] = None):
2540
+ """
2541
+ :param Sequence[_builtins.str] exclude_families: Types belonging to a family from the ExcludeFamilies will not be available for scaling (asterisk wildcard is also supported). For example, C* will exclude instance types from these families: c5, c4, c4a, etc.
2542
+ :param Sequence[_builtins.str] include_families: Types belonging to a family from the IncludeFamilies will be available for scaling (asterisk wildcard is also supported). For example, C* will include instance types from these families: c5, c4, c4a, etc.
2543
+ :param _builtins.float max_memory_gib: Maximum amount of Memory (GiB).
2544
+ :param _builtins.int max_vcpu: Maximum number of vcpus available.
2545
+ :param _builtins.float min_memory_gib: Minimum amount of Memory (GiB).
2546
+ :param _builtins.int min_vcpu: Minimum number of vcpus available.
2547
+ """
2548
+ if exclude_families is not None:
2549
+ pulumi.set(__self__, "exclude_families", exclude_families)
2550
+ if include_families is not None:
2551
+ pulumi.set(__self__, "include_families", include_families)
2552
+ if max_memory_gib is not None:
2553
+ pulumi.set(__self__, "max_memory_gib", max_memory_gib)
2554
+ if max_vcpu is not None:
2555
+ pulumi.set(__self__, "max_vcpu", max_vcpu)
2556
+ if min_memory_gib is not None:
2557
+ pulumi.set(__self__, "min_memory_gib", min_memory_gib)
2558
+ if min_vcpu is not None:
2559
+ pulumi.set(__self__, "min_vcpu", min_vcpu)
2560
+
2561
+ @_builtins.property
2562
+ @pulumi.getter(name="excludeFamilies")
2563
+ def exclude_families(self) -> Optional[Sequence[_builtins.str]]:
2564
+ """
2565
+ Types belonging to a family from the ExcludeFamilies will not be available for scaling (asterisk wildcard is also supported). For example, C* will exclude instance types from these families: c5, c4, c4a, etc.
2566
+ """
2567
+ return pulumi.get(self, "exclude_families")
2568
+
2569
+ @_builtins.property
2570
+ @pulumi.getter(name="includeFamilies")
2571
+ def include_families(self) -> Optional[Sequence[_builtins.str]]:
2572
+ """
2573
+ Types belonging to a family from the IncludeFamilies will be available for scaling (asterisk wildcard is also supported). For example, C* will include instance types from these families: c5, c4, c4a, etc.
2574
+ """
2575
+ return pulumi.get(self, "include_families")
2576
+
2577
+ @_builtins.property
2578
+ @pulumi.getter(name="maxMemoryGib")
2579
+ def max_memory_gib(self) -> Optional[_builtins.float]:
2580
+ """
2581
+ Maximum amount of Memory (GiB).
2582
+ """
2583
+ return pulumi.get(self, "max_memory_gib")
2584
+
2585
+ @_builtins.property
2586
+ @pulumi.getter(name="maxVcpu")
2587
+ def max_vcpu(self) -> Optional[_builtins.int]:
2588
+ """
2589
+ Maximum number of vcpus available.
2590
+ """
2591
+ return pulumi.get(self, "max_vcpu")
2592
+
2593
+ @_builtins.property
2594
+ @pulumi.getter(name="minMemoryGib")
2595
+ def min_memory_gib(self) -> Optional[_builtins.float]:
2596
+ """
2597
+ Minimum amount of Memory (GiB).
2598
+ """
2599
+ return pulumi.get(self, "min_memory_gib")
2600
+
2601
+ @_builtins.property
2602
+ @pulumi.getter(name="minVcpu")
2603
+ def min_vcpu(self) -> Optional[_builtins.int]:
2604
+ """
2605
+ Minimum number of vcpus available.
2606
+ """
2607
+ return pulumi.get(self, "min_vcpu")
2608
+
2609
+
2503
2610
  @pulumi.output_type
2504
2611
  class OceanLaunchSpecLabel(dict):
2505
2612
  def __init__(__self__, *,
@@ -24,7 +24,9 @@ class OceanRightSizingRuleArgs:
24
24
  recommendation_application_intervals: pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationIntervalArgs']]],
25
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,
29
+ downside_only: Optional[pulumi.Input[_builtins.bool]] = None,
28
30
  exclude_preliminary_recommendations: Optional[pulumi.Input[_builtins.bool]] = None,
29
31
  ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
30
32
  recommendation_application_boundaries: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationBoundaryArgs']]]] = None,
@@ -39,8 +41,12 @@ class OceanRightSizingRuleArgs:
39
41
  pulumi.set(__self__, "rule_name", rule_name)
40
42
  if attach_workloads is not None:
41
43
  pulumi.set(__self__, "attach_workloads", attach_workloads)
44
+ if auto_apply_definitions is not None:
45
+ pulumi.set(__self__, "auto_apply_definitions", auto_apply_definitions)
42
46
  if detach_workloads is not None:
43
47
  pulumi.set(__self__, "detach_workloads", detach_workloads)
48
+ if downside_only is not None:
49
+ pulumi.set(__self__, "downside_only", downside_only)
44
50
  if exclude_preliminary_recommendations is not None:
45
51
  pulumi.set(__self__, "exclude_preliminary_recommendations", exclude_preliminary_recommendations)
46
52
  if ocean_id is not None:
@@ -83,6 +89,15 @@ class OceanRightSizingRuleArgs:
83
89
  def attach_workloads(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAttachWorkloadArgs']]]]):
84
90
  pulumi.set(self, "attach_workloads", value)
85
91
 
92
+ @_builtins.property
93
+ @pulumi.getter(name="autoApplyDefinitions")
94
+ def auto_apply_definitions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAutoApplyDefinitionArgs']]]]:
95
+ return pulumi.get(self, "auto_apply_definitions")
96
+
97
+ @auto_apply_definitions.setter
98
+ def auto_apply_definitions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAutoApplyDefinitionArgs']]]]):
99
+ pulumi.set(self, "auto_apply_definitions", value)
100
+
86
101
  @_builtins.property
87
102
  @pulumi.getter(name="detachWorkloads")
88
103
  def detach_workloads(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleDetachWorkloadArgs']]]]:
@@ -92,6 +107,15 @@ class OceanRightSizingRuleArgs:
92
107
  def detach_workloads(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleDetachWorkloadArgs']]]]):
93
108
  pulumi.set(self, "detach_workloads", value)
94
109
 
110
+ @_builtins.property
111
+ @pulumi.getter(name="downsideOnly")
112
+ def downside_only(self) -> Optional[pulumi.Input[_builtins.bool]]:
113
+ return pulumi.get(self, "downside_only")
114
+
115
+ @downside_only.setter
116
+ def downside_only(self, value: Optional[pulumi.Input[_builtins.bool]]):
117
+ pulumi.set(self, "downside_only", value)
118
+
95
119
  @_builtins.property
96
120
  @pulumi.getter(name="excludePreliminaryRecommendations")
97
121
  def exclude_preliminary_recommendations(self) -> Optional[pulumi.Input[_builtins.bool]]:
@@ -160,7 +184,9 @@ class OceanRightSizingRuleArgs:
160
184
  class _OceanRightSizingRuleState:
161
185
  def __init__(__self__, *,
162
186
  attach_workloads: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAttachWorkloadArgs']]]] = None,
187
+ auto_apply_definitions: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAutoApplyDefinitionArgs']]]] = None,
163
188
  detach_workloads: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleDetachWorkloadArgs']]]] = None,
189
+ downside_only: Optional[pulumi.Input[_builtins.bool]] = None,
164
190
  exclude_preliminary_recommendations: Optional[pulumi.Input[_builtins.bool]] = None,
165
191
  ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
166
192
  recommendation_application_boundaries: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleRecommendationApplicationBoundaryArgs']]]] = None,
@@ -175,8 +201,12 @@ class _OceanRightSizingRuleState:
175
201
  """
176
202
  if attach_workloads is not None:
177
203
  pulumi.set(__self__, "attach_workloads", attach_workloads)
204
+ if auto_apply_definitions is not None:
205
+ pulumi.set(__self__, "auto_apply_definitions", auto_apply_definitions)
178
206
  if detach_workloads is not None:
179
207
  pulumi.set(__self__, "detach_workloads", detach_workloads)
208
+ if downside_only is not None:
209
+ pulumi.set(__self__, "downside_only", downside_only)
180
210
  if exclude_preliminary_recommendations is not None:
181
211
  pulumi.set(__self__, "exclude_preliminary_recommendations", exclude_preliminary_recommendations)
182
212
  if ocean_id is not None:
@@ -205,6 +235,15 @@ class _OceanRightSizingRuleState:
205
235
  def attach_workloads(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAttachWorkloadArgs']]]]):
206
236
  pulumi.set(self, "attach_workloads", value)
207
237
 
238
+ @_builtins.property
239
+ @pulumi.getter(name="autoApplyDefinitions")
240
+ def auto_apply_definitions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAutoApplyDefinitionArgs']]]]:
241
+ return pulumi.get(self, "auto_apply_definitions")
242
+
243
+ @auto_apply_definitions.setter
244
+ def auto_apply_definitions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleAutoApplyDefinitionArgs']]]]):
245
+ pulumi.set(self, "auto_apply_definitions", value)
246
+
208
247
  @_builtins.property
209
248
  @pulumi.getter(name="detachWorkloads")
210
249
  def detach_workloads(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleDetachWorkloadArgs']]]]:
@@ -214,6 +253,15 @@ class _OceanRightSizingRuleState:
214
253
  def detach_workloads(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OceanRightSizingRuleDetachWorkloadArgs']]]]):
215
254
  pulumi.set(self, "detach_workloads", value)
216
255
 
256
+ @_builtins.property
257
+ @pulumi.getter(name="downsideOnly")
258
+ def downside_only(self) -> Optional[pulumi.Input[_builtins.bool]]:
259
+ return pulumi.get(self, "downside_only")
260
+
261
+ @downside_only.setter
262
+ def downside_only(self, value: Optional[pulumi.Input[_builtins.bool]]):
263
+ pulumi.set(self, "downside_only", value)
264
+
217
265
  @_builtins.property
218
266
  @pulumi.getter(name="excludePreliminaryRecommendations")
219
267
  def exclude_preliminary_recommendations(self) -> Optional[pulumi.Input[_builtins.bool]]:
@@ -303,7 +351,9 @@ class OceanRightSizingRule(pulumi.CustomResource):
303
351
  resource_name: str,
304
352
  opts: Optional[pulumi.ResourceOptions] = None,
305
353
  attach_workloads: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleAttachWorkloadArgs', 'OceanRightSizingRuleAttachWorkloadArgsDict']]]]] = None,
354
+ auto_apply_definitions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleAutoApplyDefinitionArgs', 'OceanRightSizingRuleAutoApplyDefinitionArgsDict']]]]] = None,
306
355
  detach_workloads: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleDetachWorkloadArgs', 'OceanRightSizingRuleDetachWorkloadArgsDict']]]]] = None,
356
+ downside_only: Optional[pulumi.Input[_builtins.bool]] = None,
307
357
  exclude_preliminary_recommendations: Optional[pulumi.Input[_builtins.bool]] = None,
308
358
  ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
309
359
  recommendation_application_boundaries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationBoundaryArgs', 'OceanRightSizingRuleRecommendationApplicationBoundaryArgsDict']]]]] = None,
@@ -343,7 +393,9 @@ class OceanRightSizingRule(pulumi.CustomResource):
343
393
  resource_name: str,
344
394
  opts: Optional[pulumi.ResourceOptions] = None,
345
395
  attach_workloads: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleAttachWorkloadArgs', 'OceanRightSizingRuleAttachWorkloadArgsDict']]]]] = None,
396
+ auto_apply_definitions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleAutoApplyDefinitionArgs', 'OceanRightSizingRuleAutoApplyDefinitionArgsDict']]]]] = None,
346
397
  detach_workloads: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleDetachWorkloadArgs', 'OceanRightSizingRuleDetachWorkloadArgsDict']]]]] = None,
398
+ downside_only: Optional[pulumi.Input[_builtins.bool]] = None,
347
399
  exclude_preliminary_recommendations: Optional[pulumi.Input[_builtins.bool]] = None,
348
400
  ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
349
401
  recommendation_application_boundaries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationBoundaryArgs', 'OceanRightSizingRuleRecommendationApplicationBoundaryArgsDict']]]]] = None,
@@ -363,7 +415,9 @@ class OceanRightSizingRule(pulumi.CustomResource):
363
415
  __props__ = OceanRightSizingRuleArgs.__new__(OceanRightSizingRuleArgs)
364
416
 
365
417
  __props__.__dict__["attach_workloads"] = attach_workloads
418
+ __props__.__dict__["auto_apply_definitions"] = auto_apply_definitions
366
419
  __props__.__dict__["detach_workloads"] = detach_workloads
420
+ __props__.__dict__["downside_only"] = downside_only
367
421
  __props__.__dict__["exclude_preliminary_recommendations"] = exclude_preliminary_recommendations
368
422
  __props__.__dict__["ocean_id"] = ocean_id
369
423
  __props__.__dict__["recommendation_application_boundaries"] = recommendation_application_boundaries
@@ -388,7 +442,9 @@ class OceanRightSizingRule(pulumi.CustomResource):
388
442
  id: pulumi.Input[str],
389
443
  opts: Optional[pulumi.ResourceOptions] = None,
390
444
  attach_workloads: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleAttachWorkloadArgs', 'OceanRightSizingRuleAttachWorkloadArgsDict']]]]] = None,
445
+ auto_apply_definitions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleAutoApplyDefinitionArgs', 'OceanRightSizingRuleAutoApplyDefinitionArgsDict']]]]] = None,
391
446
  detach_workloads: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleDetachWorkloadArgs', 'OceanRightSizingRuleDetachWorkloadArgsDict']]]]] = None,
447
+ downside_only: Optional[pulumi.Input[_builtins.bool]] = None,
392
448
  exclude_preliminary_recommendations: Optional[pulumi.Input[_builtins.bool]] = None,
393
449
  ocean_id: Optional[pulumi.Input[_builtins.str]] = None,
394
450
  recommendation_application_boundaries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OceanRightSizingRuleRecommendationApplicationBoundaryArgs', 'OceanRightSizingRuleRecommendationApplicationBoundaryArgsDict']]]]] = None,
@@ -411,7 +467,9 @@ class OceanRightSizingRule(pulumi.CustomResource):
411
467
  __props__ = _OceanRightSizingRuleState.__new__(_OceanRightSizingRuleState)
412
468
 
413
469
  __props__.__dict__["attach_workloads"] = attach_workloads
470
+ __props__.__dict__["auto_apply_definitions"] = auto_apply_definitions
414
471
  __props__.__dict__["detach_workloads"] = detach_workloads
472
+ __props__.__dict__["downside_only"] = downside_only
415
473
  __props__.__dict__["exclude_preliminary_recommendations"] = exclude_preliminary_recommendations
416
474
  __props__.__dict__["ocean_id"] = ocean_id
417
475
  __props__.__dict__["recommendation_application_boundaries"] = recommendation_application_boundaries
@@ -428,11 +486,21 @@ class OceanRightSizingRule(pulumi.CustomResource):
428
486
  def attach_workloads(self) -> pulumi.Output[Optional[Sequence['outputs.OceanRightSizingRuleAttachWorkload']]]:
429
487
  return pulumi.get(self, "attach_workloads")
430
488
 
489
+ @_builtins.property
490
+ @pulumi.getter(name="autoApplyDefinitions")
491
+ def auto_apply_definitions(self) -> pulumi.Output[Optional[Sequence['outputs.OceanRightSizingRuleAutoApplyDefinition']]]:
492
+ return pulumi.get(self, "auto_apply_definitions")
493
+
431
494
  @_builtins.property
432
495
  @pulumi.getter(name="detachWorkloads")
433
496
  def detach_workloads(self) -> pulumi.Output[Optional[Sequence['outputs.OceanRightSizingRuleDetachWorkload']]]:
434
497
  return pulumi.get(self, "detach_workloads")
435
498
 
499
+ @_builtins.property
500
+ @pulumi.getter(name="downsideOnly")
501
+ def downside_only(self) -> pulumi.Output[Optional[_builtins.bool]]:
502
+ return pulumi.get(self, "downside_only")
503
+
436
504
  @_builtins.property
437
505
  @pulumi.getter(name="excludePreliminaryRecommendations")
438
506
  def exclude_preliminary_recommendations(self) -> pulumi.Output[Optional[_builtins.bool]]:
@@ -65,6 +65,7 @@ __all__ = [
65
65
  'OceanRightSizingRuleAttachWorkloadNamespace',
66
66
  'OceanRightSizingRuleAttachWorkloadNamespaceLabel',
67
67
  'OceanRightSizingRuleAttachWorkloadNamespaceWorkload',
68
+ 'OceanRightSizingRuleAutoApplyDefinition',
68
69
  'OceanRightSizingRuleDetachWorkload',
69
70
  'OceanRightSizingRuleDetachWorkloadNamespace',
70
71
  'OceanRightSizingRuleDetachWorkloadNamespaceLabel',
@@ -2585,6 +2586,35 @@ class OceanRightSizingRuleAttachWorkloadNamespaceWorkload(dict):
2585
2586
  return pulumi.get(self, "workload_name")
2586
2587
 
2587
2588
 
2589
+ @pulumi.output_type
2590
+ class OceanRightSizingRuleAutoApplyDefinition(dict):
2591
+ def __init__(__self__, *,
2592
+ enabled: Optional[_builtins.bool] = None,
2593
+ labels: Optional[Mapping[str, _builtins.str]] = None,
2594
+ namespaces: Optional[Sequence[_builtins.str]] = None):
2595
+ if enabled is not None:
2596
+ pulumi.set(__self__, "enabled", enabled)
2597
+ if labels is not None:
2598
+ pulumi.set(__self__, "labels", labels)
2599
+ if namespaces is not None:
2600
+ pulumi.set(__self__, "namespaces", namespaces)
2601
+
2602
+ @_builtins.property
2603
+ @pulumi.getter
2604
+ def enabled(self) -> Optional[_builtins.bool]:
2605
+ return pulumi.get(self, "enabled")
2606
+
2607
+ @_builtins.property
2608
+ @pulumi.getter
2609
+ def labels(self) -> Optional[Mapping[str, _builtins.str]]:
2610
+ return pulumi.get(self, "labels")
2611
+
2612
+ @_builtins.property
2613
+ @pulumi.getter
2614
+ def namespaces(self) -> Optional[Sequence[_builtins.str]]:
2615
+ return pulumi.get(self, "namespaces")
2616
+
2617
+
2588
2618
  @pulumi.output_type
2589
2619
  class OceanRightSizingRuleDetachWorkload(dict):
2590
2620
  def __init__(__self__, *,
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "spotinst",
4
- "version": "3.125.0-alpha.1759907052"
4
+ "version": "3.126.0-alpha.1759993216"
5
5
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulumi_spotinst
3
- Version: 3.125.0a1759907052
3
+ Version: 3.126.0a1759993216
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=BzCo3tF9pcPPX7nz-qlVl7wyTNY5CgZSNxzEMic_iz4,242041
2
+ pulumi_spotinst/_inputs.py,sha256=Uq6RXu8Nvgy6GBUXy1flnDaSqYnW0Tuy9ECU_o6cSVQ,244158
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,10 +8,10 @@ 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=5xW5szvbyDPDcslS0rb-FZNTTdM51_lviJDk2IzTCG4,31843
12
- pulumi_spotinst/outputs.py,sha256=Rss2Edcf6Y2Y5DTXWUMfoYIuVNv_M4Nn-EdtpjTMizM,193797
11
+ pulumi_spotinst/ocean_right_sizing_rule.py,sha256=j-p697fdrX1BBjd6N8jsoJy_mjeLL4caXsgypL94YSs,35984
12
+ pulumi_spotinst/outputs.py,sha256=rNpMHBsJqEFYxj42gDWyQisnynqmEMBXJ6YCmUhGMi0,194852
13
13
  pulumi_spotinst/provider.py,sha256=FEjU0etSWrJlMWHpU0GNv18xgOjcxUbHQKkqj1z6ov0,8816
14
- pulumi_spotinst/pulumi-plugin.json,sha256=3mAuOBNgO1t4mRv9t4mzbR1KTCNspMPOCya3Y7jlT0M,86
14
+ pulumi_spotinst/pulumi-plugin.json,sha256=S7ysOJRjNXxlKuoPkJ0OR-pWD9KK6BN9-sZ5q-s8EZo,86
15
15
  pulumi_spotinst/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  pulumi_spotinst/stateful_node_azure.py,sha256=5va42CW56xGKyALV4WpfV55BI1feYH9c4KTT5AUhNiU,142477
17
17
  pulumi_spotinst/subscription.py,sha256=WQXMOJYjm4DrTfxZ2VhzDi5aeJdkjEul8MeEtVBi4Fg,28774
@@ -46,12 +46,12 @@ pulumi_spotinst/gcp/_inputs.py,sha256=QkxvxD25ZBK7clpn7ltLafmjmhaQJkDbdiBUdjqHlH
46
46
  pulumi_spotinst/gcp/elastigroup.py,sha256=AS2pdjWeRfDuywLqkvarg18Ik5TWAN7wLMSqITzjC9g,124414
47
47
  pulumi_spotinst/gcp/outputs.py,sha256=5zf1bgRclSAjkavtXQFos1eV23jGbFJ5vF0ZC_yAj3A,62653
48
48
  pulumi_spotinst/gke/__init__.py,sha256=1N01YAyfVw7EkjfqgCu7F0BlOC8nJl4kuGrSUCSAEXY,453
49
- pulumi_spotinst/gke/_inputs.py,sha256=9Xf1Dw9SJYJBgehVrn3JLF-HEyG-OV9UraGybBhQQrM,166424
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=LZKjqHzRy1PJXvZK8WozhRJmMR4oEHwG5gj2_0dhfV4,71615
52
+ pulumi_spotinst/gke/ocean_launch_spec.py,sha256=YYiYoBoyjOgUnHmqwkt_bsrHp-CmgB6K-UgADR7Bs4E,75536
53
53
  pulumi_spotinst/gke/ocean_launch_spec_import.py,sha256=V8zRzgH_yiBbBX4zpZ_KyGhewFIXUshshERBNcqB7cE,9180
54
- pulumi_spotinst/gke/outputs.py,sha256=2ddlRr5TX3z6R_w1RssCNtD8k_zFxBKd1QJO18wAa0k,128064
54
+ pulumi_spotinst/gke/outputs.py,sha256=NIKagwuNwEtiOAM5BEEtdzzKUPuS0dZnq6JNCDNIZbk,132789
55
55
  pulumi_spotinst/oceancd/__init__.py,sha256=L8V4GflT2iyGQ1SIpOVYgQdjRkgjo9_y2UmXtLaXb3M,451
56
56
  pulumi_spotinst/oceancd/_inputs.py,sha256=IYIPwaz7Mw9UuxdB8mY68_IhFb9U3lCOZigFPB5dyrQ,179048
57
57
  pulumi_spotinst/oceancd/outputs.py,sha256=_S1Jjxbo0mdAZMdl4cJlkZG7ZQZnjzhQyW4EHgJD0vI,140324
@@ -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.125.0a1759907052.dist-info/METADATA,sha256=mjA_qQ5OugH5Ti-UM9nXPDwOoxGawujOygjAgQsmtcM,2724
75
- pulumi_spotinst-3.125.0a1759907052.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
76
- pulumi_spotinst-3.125.0a1759907052.dist-info/top_level.txt,sha256=B1HTsr4PliwgyZPJ-9Cmg9PELboV_GusiFDrxBSVHeI,16
77
- pulumi_spotinst-3.125.0a1759907052.dist-info/RECORD,,
74
+ pulumi_spotinst-3.126.0a1759993216.dist-info/METADATA,sha256=AenZsEFwMZ9IEeeKkYeVdq7eVDDcx-lwhd4FT5kYOX8,2724
75
+ pulumi_spotinst-3.126.0a1759993216.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
76
+ pulumi_spotinst-3.126.0a1759993216.dist-info/top_level.txt,sha256=B1HTsr4PliwgyZPJ-9Cmg9PELboV_GusiFDrxBSVHeI,16
77
+ pulumi_spotinst-3.126.0a1759993216.dist-info/RECORD,,