1. Packages
  2. Spotinst Provider
  3. API Docs
  4. OceanRightSizingRule
Spotinst v3.126.0 published on Saturday, Nov 1, 2025 by Pulumi

spotinst.OceanRightSizingRule

Get Started
spotinst logo
Spotinst v3.126.0 published on Saturday, Nov 1, 2025 by Pulumi

    Manages a Spotinst Ocean right sizing rule resource.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as spotinst from "@pulumi/spotinst";
    
    const example = new spotinst.OceanRightSizingRule("example", {
        oceanId: "o-123456",
        ruleName: "test-rule",
        excludePreliminaryRecommendations: true,
        restartReplicas: "ALL_MANIFEST",
        recommendationApplicationHpas: [{
            allowHpaRecommendations: true,
        }],
        recommendationApplicationIntervals: [
            {
                repetitionBasis: "WEEKLY",
                weeklyRepetitionBases: [{
                    intervalDays: [
                        "MONDAY",
                        "WEDNESDAY",
                    ],
                    intervalHoursStartTime: "12:00",
                    intervalHoursEndTime: "14:00",
                }],
            },
            {
                repetitionBasis: "MONTHLY",
                monthlyRepetitionBases: [{
                    intervalMonths: [
                        2,
                        6,
                        9,
                    ],
                    weekOfTheMonths: [
                        "FIRST",
                        "LAST",
                    ],
                    weeklyRepetitionBases: [{
                        intervalDays: ["MONDAY"],
                        intervalHoursStartTime: "03:00",
                        intervalHoursEndTime: "04:00",
                    }],
                }],
            },
        ],
        recommendationApplicationBoundaries: [{
            cpuMin: 120,
            cpuMax: 190,
            memoryMin: 160,
            memoryMax: 190,
        }],
        recommendationApplicationMinThresholds: [{
            cpuPercentage: 0.412,
            memoryPercentage: 0.36,
        }],
        recommendationApplicationOverheadValues: [{
            cpuPercentage: 0.8,
            memoryPercentage: 0.5,
        }],
        autoApplyDefinitions: [{
            enabled: true,
            namespaces: [
                "kube-system",
                "spot-system",
            ],
            labels: {
                "k8s-app": "kube-proxy",
                "app.kubernetes.io/name": "metrics-server",
            },
        }],
    });
    
    import pulumi
    import pulumi_spotinst as spotinst
    
    example = spotinst.OceanRightSizingRule("example",
        ocean_id="o-123456",
        rule_name="test-rule",
        exclude_preliminary_recommendations=True,
        restart_replicas="ALL_MANIFEST",
        recommendation_application_hpas=[{
            "allow_hpa_recommendations": True,
        }],
        recommendation_application_intervals=[
            {
                "repetition_basis": "WEEKLY",
                "weekly_repetition_bases": [{
                    "interval_days": [
                        "MONDAY",
                        "WEDNESDAY",
                    ],
                    "interval_hours_start_time": "12:00",
                    "interval_hours_end_time": "14:00",
                }],
            },
            {
                "repetition_basis": "MONTHLY",
                "monthly_repetition_bases": [{
                    "interval_months": [
                        2,
                        6,
                        9,
                    ],
                    "week_of_the_months": [
                        "FIRST",
                        "LAST",
                    ],
                    "weekly_repetition_bases": [{
                        "interval_days": ["MONDAY"],
                        "interval_hours_start_time": "03:00",
                        "interval_hours_end_time": "04:00",
                    }],
                }],
            },
        ],
        recommendation_application_boundaries=[{
            "cpu_min": 120,
            "cpu_max": 190,
            "memory_min": 160,
            "memory_max": 190,
        }],
        recommendation_application_min_thresholds=[{
            "cpu_percentage": 0.412,
            "memory_percentage": 0.36,
        }],
        recommendation_application_overhead_values=[{
            "cpu_percentage": 0.8,
            "memory_percentage": 0.5,
        }],
        auto_apply_definitions=[{
            "enabled": True,
            "namespaces": [
                "kube-system",
                "spot-system",
            ],
            "labels": {
                "k8s-app": "kube-proxy",
                "app.kubernetes.io/name": "metrics-server",
            },
        }])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := spotinst.NewOceanRightSizingRule(ctx, "example", &spotinst.OceanRightSizingRuleArgs{
    			OceanId:                           pulumi.String("o-123456"),
    			RuleName:                          pulumi.String("test-rule"),
    			ExcludePreliminaryRecommendations: pulumi.Bool(true),
    			RestartReplicas:                   pulumi.String("ALL_MANIFEST"),
    			RecommendationApplicationHpas: spotinst.OceanRightSizingRuleRecommendationApplicationHpaArray{
    				&spotinst.OceanRightSizingRuleRecommendationApplicationHpaArgs{
    					AllowHpaRecommendations: pulumi.Bool(true),
    				},
    			},
    			RecommendationApplicationIntervals: spotinst.OceanRightSizingRuleRecommendationApplicationIntervalArray{
    				&spotinst.OceanRightSizingRuleRecommendationApplicationIntervalArgs{
    					RepetitionBasis: pulumi.String("WEEKLY"),
    					WeeklyRepetitionBases: spotinst.OceanRightSizingRuleRecommendationApplicationIntervalWeeklyRepetitionBaseArray{
    						&spotinst.OceanRightSizingRuleRecommendationApplicationIntervalWeeklyRepetitionBaseArgs{
    							IntervalDays: pulumi.StringArray{
    								pulumi.String("MONDAY"),
    								pulumi.String("WEDNESDAY"),
    							},
    							IntervalHoursStartTime: pulumi.String("12:00"),
    							IntervalHoursEndTime:   pulumi.String("14:00"),
    						},
    					},
    				},
    				&spotinst.OceanRightSizingRuleRecommendationApplicationIntervalArgs{
    					RepetitionBasis: pulumi.String("MONTHLY"),
    					MonthlyRepetitionBases: spotinst.OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseArray{
    						&spotinst.OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseArgs{
    							IntervalMonths: pulumi.IntArray{
    								pulumi.Int(2),
    								pulumi.Int(6),
    								pulumi.Int(9),
    							},
    							WeekOfTheMonths: pulumi.StringArray{
    								pulumi.String("FIRST"),
    								pulumi.String("LAST"),
    							},
    							WeeklyRepetitionBases: spotinst.OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseWeeklyRepetitionBaseArray{
    								&spotinst.OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseWeeklyRepetitionBaseArgs{
    									IntervalDays: pulumi.StringArray{
    										pulumi.String("MONDAY"),
    									},
    									IntervalHoursStartTime: pulumi.String("03:00"),
    									IntervalHoursEndTime:   pulumi.String("04:00"),
    								},
    							},
    						},
    					},
    				},
    			},
    			RecommendationApplicationBoundaries: spotinst.OceanRightSizingRuleRecommendationApplicationBoundaryArray{
    				&spotinst.OceanRightSizingRuleRecommendationApplicationBoundaryArgs{
    					CpuMin:    pulumi.Float64(120),
    					CpuMax:    pulumi.Float64(190),
    					MemoryMin: pulumi.Int(160),
    					MemoryMax: pulumi.Int(190),
    				},
    			},
    			RecommendationApplicationMinThresholds: spotinst.OceanRightSizingRuleRecommendationApplicationMinThresholdArray{
    				&spotinst.OceanRightSizingRuleRecommendationApplicationMinThresholdArgs{
    					CpuPercentage:    pulumi.Float64(0.412),
    					MemoryPercentage: pulumi.Float64(0.36),
    				},
    			},
    			RecommendationApplicationOverheadValues: spotinst.OceanRightSizingRuleRecommendationApplicationOverheadValueArray{
    				&spotinst.OceanRightSizingRuleRecommendationApplicationOverheadValueArgs{
    					CpuPercentage:    pulumi.Float64(0.8),
    					MemoryPercentage: pulumi.Float64(0.5),
    				},
    			},
    			AutoApplyDefinitions: spotinst.OceanRightSizingRuleAutoApplyDefinitionArray{
    				&spotinst.OceanRightSizingRuleAutoApplyDefinitionArgs{
    					Enabled: pulumi.Bool(true),
    					Namespaces: pulumi.StringArray{
    						pulumi.String("kube-system"),
    						pulumi.String("spot-system"),
    					},
    					Labels: pulumi.StringMap{
    						"k8s-app":                pulumi.String("kube-proxy"),
    						"app.kubernetes.io/name": pulumi.String("metrics-server"),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using SpotInst = Pulumi.SpotInst;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new SpotInst.OceanRightSizingRule("example", new()
        {
            OceanId = "o-123456",
            RuleName = "test-rule",
            ExcludePreliminaryRecommendations = true,
            RestartReplicas = "ALL_MANIFEST",
            RecommendationApplicationHpas = new[]
            {
                new SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationHpaArgs
                {
                    AllowHpaRecommendations = true,
                },
            },
            RecommendationApplicationIntervals = new[]
            {
                new SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationIntervalArgs
                {
                    RepetitionBasis = "WEEKLY",
                    WeeklyRepetitionBases = new[]
                    {
                        new SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationIntervalWeeklyRepetitionBaseArgs
                        {
                            IntervalDays = new[]
                            {
                                "MONDAY",
                                "WEDNESDAY",
                            },
                            IntervalHoursStartTime = "12:00",
                            IntervalHoursEndTime = "14:00",
                        },
                    },
                },
                new SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationIntervalArgs
                {
                    RepetitionBasis = "MONTHLY",
                    MonthlyRepetitionBases = new[]
                    {
                        new SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseArgs
                        {
                            IntervalMonths = new[]
                            {
                                2,
                                6,
                                9,
                            },
                            WeekOfTheMonths = new[]
                            {
                                "FIRST",
                                "LAST",
                            },
                            WeeklyRepetitionBases = new[]
                            {
                                new SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseWeeklyRepetitionBaseArgs
                                {
                                    IntervalDays = new[]
                                    {
                                        "MONDAY",
                                    },
                                    IntervalHoursStartTime = "03:00",
                                    IntervalHoursEndTime = "04:00",
                                },
                            },
                        },
                    },
                },
            },
            RecommendationApplicationBoundaries = new[]
            {
                new SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationBoundaryArgs
                {
                    CpuMin = 120,
                    CpuMax = 190,
                    MemoryMin = 160,
                    MemoryMax = 190,
                },
            },
            RecommendationApplicationMinThresholds = new[]
            {
                new SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationMinThresholdArgs
                {
                    CpuPercentage = 0.412,
                    MemoryPercentage = 0.36,
                },
            },
            RecommendationApplicationOverheadValues = new[]
            {
                new SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationOverheadValueArgs
                {
                    CpuPercentage = 0.8,
                    MemoryPercentage = 0.5,
                },
            },
            AutoApplyDefinitions = new[]
            {
                new SpotInst.Inputs.OceanRightSizingRuleAutoApplyDefinitionArgs
                {
                    Enabled = true,
                    Namespaces = new[]
                    {
                        "kube-system",
                        "spot-system",
                    },
                    Labels = 
                    {
                        { "k8s-app", "kube-proxy" },
                        { "app.kubernetes.io/name", "metrics-server" },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.spotinst.OceanRightSizingRule;
    import com.pulumi.spotinst.OceanRightSizingRuleArgs;
    import com.pulumi.spotinst.inputs.OceanRightSizingRuleRecommendationApplicationHpaArgs;
    import com.pulumi.spotinst.inputs.OceanRightSizingRuleRecommendationApplicationIntervalArgs;
    import com.pulumi.spotinst.inputs.OceanRightSizingRuleRecommendationApplicationBoundaryArgs;
    import com.pulumi.spotinst.inputs.OceanRightSizingRuleRecommendationApplicationMinThresholdArgs;
    import com.pulumi.spotinst.inputs.OceanRightSizingRuleRecommendationApplicationOverheadValueArgs;
    import com.pulumi.spotinst.inputs.OceanRightSizingRuleAutoApplyDefinitionArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new OceanRightSizingRule("example", OceanRightSizingRuleArgs.builder()
                .oceanId("o-123456")
                .ruleName("test-rule")
                .excludePreliminaryRecommendations(true)
                .restartReplicas("ALL_MANIFEST")
                .recommendationApplicationHpas(OceanRightSizingRuleRecommendationApplicationHpaArgs.builder()
                    .allowHpaRecommendations(true)
                    .build())
                .recommendationApplicationIntervals(            
                    OceanRightSizingRuleRecommendationApplicationIntervalArgs.builder()
                        .repetitionBasis("WEEKLY")
                        .weeklyRepetitionBases(OceanRightSizingRuleRecommendationApplicationIntervalWeeklyRepetitionBaseArgs.builder()
                            .intervalDays(                        
                                "MONDAY",
                                "WEDNESDAY")
                            .intervalHoursStartTime("12:00")
                            .intervalHoursEndTime("14:00")
                            .build())
                        .build(),
                    OceanRightSizingRuleRecommendationApplicationIntervalArgs.builder()
                        .repetitionBasis("MONTHLY")
                        .monthlyRepetitionBases(OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseArgs.builder()
                            .intervalMonths(                        
                                2,
                                6,
                                9)
                            .weekOfTheMonths(                        
                                "FIRST",
                                "LAST")
                            .weeklyRepetitionBases(OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseWeeklyRepetitionBaseArgs.builder()
                                .intervalDays("MONDAY")
                                .intervalHoursStartTime("03:00")
                                .intervalHoursEndTime("04:00")
                                .build())
                            .build())
                        .build())
                .recommendationApplicationBoundaries(OceanRightSizingRuleRecommendationApplicationBoundaryArgs.builder()
                    .cpuMin(120.0)
                    .cpuMax(190.0)
                    .memoryMin(160)
                    .memoryMax(190)
                    .build())
                .recommendationApplicationMinThresholds(OceanRightSizingRuleRecommendationApplicationMinThresholdArgs.builder()
                    .cpuPercentage(0.412)
                    .memoryPercentage(0.36)
                    .build())
                .recommendationApplicationOverheadValues(OceanRightSizingRuleRecommendationApplicationOverheadValueArgs.builder()
                    .cpuPercentage(0.8)
                    .memoryPercentage(0.5)
                    .build())
                .autoApplyDefinitions(OceanRightSizingRuleAutoApplyDefinitionArgs.builder()
                    .enabled(true)
                    .namespaces(                
                        "kube-system",
                        "spot-system")
                    .labels(Map.ofEntries(
                        Map.entry("k8s-app", "kube-proxy"),
                        Map.entry("app.kubernetes.io/name", "metrics-server")
                    ))
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: spotinst:OceanRightSizingRule
        properties:
          oceanId: o-123456
          ruleName: test-rule
          excludePreliminaryRecommendations: true
          restartReplicas: ALL_MANIFEST
          recommendationApplicationHpas:
            - allowHpaRecommendations: true
          recommendationApplicationIntervals:
            - repetitionBasis: WEEKLY
              weeklyRepetitionBases:
                - intervalDays:
                    - MONDAY
                    - WEDNESDAY
                  intervalHoursStartTime: 12:00
                  intervalHoursEndTime: 14:00
            - repetitionBasis: MONTHLY
              monthlyRepetitionBases:
                - intervalMonths:
                    - 2
                    - 6
                    - 9
                  weekOfTheMonths:
                    - FIRST
                    - LAST
                  weeklyRepetitionBases:
                    - intervalDays:
                        - MONDAY
                      intervalHoursStartTime: 03:00
                      intervalHoursEndTime: 04:00
          recommendationApplicationBoundaries:
            - cpuMin: 120
              cpuMax: 190
              memoryMin: 160
              memoryMax: 190
          recommendationApplicationMinThresholds:
            - cpuPercentage: 0.412
              memoryPercentage: 0.36
          recommendationApplicationOverheadValues:
            - cpuPercentage: 0.8
              memoryPercentage: 0.5
          autoApplyDefinitions:
            - enabled: true
              namespaces:
                - kube-system
                - spot-system
              labels:
                k8s-app: kube-proxy
                app.kubernetes.io/name: metrics-server
    

    Create OceanRightSizingRule Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new OceanRightSizingRule(name: string, args: OceanRightSizingRuleArgs, opts?: CustomResourceOptions);
    @overload
    def OceanRightSizingRule(resource_name: str,
                             args: OceanRightSizingRuleArgs,
                             opts: Optional[ResourceOptions] = None)
    
    @overload
    def OceanRightSizingRule(resource_name: str,
                             opts: Optional[ResourceOptions] = None,
                             recommendation_application_intervals: Optional[Sequence[OceanRightSizingRuleRecommendationApplicationIntervalArgs]] = None,
                             rule_name: Optional[str] = None,
                             recommendation_application_boundaries: Optional[Sequence[OceanRightSizingRuleRecommendationApplicationBoundaryArgs]] = None,
                             downside_only: Optional[bool] = None,
                             exclude_preliminary_recommendations: Optional[bool] = None,
                             ocean_id: Optional[str] = None,
                             attach_workloads: Optional[Sequence[OceanRightSizingRuleAttachWorkloadArgs]] = None,
                             recommendation_application_hpas: Optional[Sequence[OceanRightSizingRuleRecommendationApplicationHpaArgs]] = None,
                             detach_workloads: Optional[Sequence[OceanRightSizingRuleDetachWorkloadArgs]] = None,
                             recommendation_application_min_thresholds: Optional[Sequence[OceanRightSizingRuleRecommendationApplicationMinThresholdArgs]] = None,
                             recommendation_application_overhead_values: Optional[Sequence[OceanRightSizingRuleRecommendationApplicationOverheadValueArgs]] = None,
                             restart_replicas: Optional[str] = None,
                             auto_apply_definitions: Optional[Sequence[OceanRightSizingRuleAutoApplyDefinitionArgs]] = None)
    func NewOceanRightSizingRule(ctx *Context, name string, args OceanRightSizingRuleArgs, opts ...ResourceOption) (*OceanRightSizingRule, error)
    public OceanRightSizingRule(string name, OceanRightSizingRuleArgs args, CustomResourceOptions? opts = null)
    public OceanRightSizingRule(String name, OceanRightSizingRuleArgs args)
    public OceanRightSizingRule(String name, OceanRightSizingRuleArgs args, CustomResourceOptions options)
    
    type: spotinst:OceanRightSizingRule
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args OceanRightSizingRuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args OceanRightSizingRuleArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args OceanRightSizingRuleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args OceanRightSizingRuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args OceanRightSizingRuleArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var oceanRightSizingRuleResource = new SpotInst.OceanRightSizingRule("oceanRightSizingRuleResource", new()
    {
        RecommendationApplicationIntervals = new[]
        {
            new SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationIntervalArgs
            {
                RepetitionBasis = "string",
                MonthlyRepetitionBases = new[]
                {
                    new SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseArgs
                    {
                        IntervalMonths = new[]
                        {
                            0,
                        },
                        WeekOfTheMonths = new[]
                        {
                            "string",
                        },
                        WeeklyRepetitionBases = new[]
                        {
                            new SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseWeeklyRepetitionBaseArgs
                            {
                                IntervalDays = new[]
                                {
                                    "string",
                                },
                                IntervalHoursEndTime = "string",
                                IntervalHoursStartTime = "string",
                            },
                        },
                    },
                },
                WeeklyRepetitionBases = new[]
                {
                    new SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationIntervalWeeklyRepetitionBaseArgs
                    {
                        IntervalDays = new[]
                        {
                            "string",
                        },
                        IntervalHoursEndTime = "string",
                        IntervalHoursStartTime = "string",
                    },
                },
            },
        },
        RuleName = "string",
        RecommendationApplicationBoundaries = new[]
        {
            new SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationBoundaryArgs
            {
                CpuMax = 0,
                CpuMin = 0,
                MemoryMax = 0,
                MemoryMin = 0,
            },
        },
        DownsideOnly = false,
        ExcludePreliminaryRecommendations = false,
        OceanId = "string",
        AttachWorkloads = new[]
        {
            new SpotInst.Inputs.OceanRightSizingRuleAttachWorkloadArgs
            {
                Namespaces = new[]
                {
                    new SpotInst.Inputs.OceanRightSizingRuleAttachWorkloadNamespaceArgs
                    {
                        NamespaceName = "string",
                        Labels = new[]
                        {
                            new SpotInst.Inputs.OceanRightSizingRuleAttachWorkloadNamespaceLabelArgs
                            {
                                Key = "string",
                                Value = "string",
                            },
                        },
                        Workloads = new[]
                        {
                            new SpotInst.Inputs.OceanRightSizingRuleAttachWorkloadNamespaceWorkloadArgs
                            {
                                WorkloadType = "string",
                                RegexName = "string",
                                WorkloadName = "string",
                            },
                        },
                    },
                },
            },
        },
        RecommendationApplicationHpas = new[]
        {
            new SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationHpaArgs
            {
                AllowHpaRecommendations = false,
            },
        },
        DetachWorkloads = new[]
        {
            new SpotInst.Inputs.OceanRightSizingRuleDetachWorkloadArgs
            {
                Namespaces = new[]
                {
                    new SpotInst.Inputs.OceanRightSizingRuleDetachWorkloadNamespaceArgs
                    {
                        NamespaceName = "string",
                        Labels = new[]
                        {
                            new SpotInst.Inputs.OceanRightSizingRuleDetachWorkloadNamespaceLabelArgs
                            {
                                Key = "string",
                                Value = "string",
                            },
                        },
                        Workloads = new[]
                        {
                            new SpotInst.Inputs.OceanRightSizingRuleDetachWorkloadNamespaceWorkloadArgs
                            {
                                WorkloadType = "string",
                                RegexName = "string",
                                WorkloadName = "string",
                            },
                        },
                    },
                },
            },
        },
        RecommendationApplicationMinThresholds = new[]
        {
            new SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationMinThresholdArgs
            {
                CpuPercentage = 0,
                MemoryPercentage = 0,
            },
        },
        RecommendationApplicationOverheadValues = new[]
        {
            new SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationOverheadValueArgs
            {
                CpuPercentage = 0,
                MemoryPercentage = 0,
            },
        },
        RestartReplicas = "string",
        AutoApplyDefinitions = new[]
        {
            new SpotInst.Inputs.OceanRightSizingRuleAutoApplyDefinitionArgs
            {
                Enabled = false,
                Labels = 
                {
                    { "string", "string" },
                },
                Namespaces = new[]
                {
                    "string",
                },
            },
        },
    });
    
    example, err := spotinst.NewOceanRightSizingRule(ctx, "oceanRightSizingRuleResource", &spotinst.OceanRightSizingRuleArgs{
    	RecommendationApplicationIntervals: spotinst.OceanRightSizingRuleRecommendationApplicationIntervalArray{
    		&spotinst.OceanRightSizingRuleRecommendationApplicationIntervalArgs{
    			RepetitionBasis: pulumi.String("string"),
    			MonthlyRepetitionBases: spotinst.OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseArray{
    				&spotinst.OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseArgs{
    					IntervalMonths: pulumi.IntArray{
    						pulumi.Int(0),
    					},
    					WeekOfTheMonths: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					WeeklyRepetitionBases: spotinst.OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseWeeklyRepetitionBaseArray{
    						&spotinst.OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseWeeklyRepetitionBaseArgs{
    							IntervalDays: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							IntervalHoursEndTime:   pulumi.String("string"),
    							IntervalHoursStartTime: pulumi.String("string"),
    						},
    					},
    				},
    			},
    			WeeklyRepetitionBases: spotinst.OceanRightSizingRuleRecommendationApplicationIntervalWeeklyRepetitionBaseArray{
    				&spotinst.OceanRightSizingRuleRecommendationApplicationIntervalWeeklyRepetitionBaseArgs{
    					IntervalDays: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					IntervalHoursEndTime:   pulumi.String("string"),
    					IntervalHoursStartTime: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	RuleName: pulumi.String("string"),
    	RecommendationApplicationBoundaries: spotinst.OceanRightSizingRuleRecommendationApplicationBoundaryArray{
    		&spotinst.OceanRightSizingRuleRecommendationApplicationBoundaryArgs{
    			CpuMax:    pulumi.Float64(0),
    			CpuMin:    pulumi.Float64(0),
    			MemoryMax: pulumi.Int(0),
    			MemoryMin: pulumi.Int(0),
    		},
    	},
    	DownsideOnly:                      pulumi.Bool(false),
    	ExcludePreliminaryRecommendations: pulumi.Bool(false),
    	OceanId:                           pulumi.String("string"),
    	AttachWorkloads: spotinst.OceanRightSizingRuleAttachWorkloadArray{
    		&spotinst.OceanRightSizingRuleAttachWorkloadArgs{
    			Namespaces: spotinst.OceanRightSizingRuleAttachWorkloadNamespaceArray{
    				&spotinst.OceanRightSizingRuleAttachWorkloadNamespaceArgs{
    					NamespaceName: pulumi.String("string"),
    					Labels: spotinst.OceanRightSizingRuleAttachWorkloadNamespaceLabelArray{
    						&spotinst.OceanRightSizingRuleAttachWorkloadNamespaceLabelArgs{
    							Key:   pulumi.String("string"),
    							Value: pulumi.String("string"),
    						},
    					},
    					Workloads: spotinst.OceanRightSizingRuleAttachWorkloadNamespaceWorkloadArray{
    						&spotinst.OceanRightSizingRuleAttachWorkloadNamespaceWorkloadArgs{
    							WorkloadType: pulumi.String("string"),
    							RegexName:    pulumi.String("string"),
    							WorkloadName: pulumi.String("string"),
    						},
    					},
    				},
    			},
    		},
    	},
    	RecommendationApplicationHpas: spotinst.OceanRightSizingRuleRecommendationApplicationHpaArray{
    		&spotinst.OceanRightSizingRuleRecommendationApplicationHpaArgs{
    			AllowHpaRecommendations: pulumi.Bool(false),
    		},
    	},
    	DetachWorkloads: spotinst.OceanRightSizingRuleDetachWorkloadArray{
    		&spotinst.OceanRightSizingRuleDetachWorkloadArgs{
    			Namespaces: spotinst.OceanRightSizingRuleDetachWorkloadNamespaceArray{
    				&spotinst.OceanRightSizingRuleDetachWorkloadNamespaceArgs{
    					NamespaceName: pulumi.String("string"),
    					Labels: spotinst.OceanRightSizingRuleDetachWorkloadNamespaceLabelArray{
    						&spotinst.OceanRightSizingRuleDetachWorkloadNamespaceLabelArgs{
    							Key:   pulumi.String("string"),
    							Value: pulumi.String("string"),
    						},
    					},
    					Workloads: spotinst.OceanRightSizingRuleDetachWorkloadNamespaceWorkloadArray{
    						&spotinst.OceanRightSizingRuleDetachWorkloadNamespaceWorkloadArgs{
    							WorkloadType: pulumi.String("string"),
    							RegexName:    pulumi.String("string"),
    							WorkloadName: pulumi.String("string"),
    						},
    					},
    				},
    			},
    		},
    	},
    	RecommendationApplicationMinThresholds: spotinst.OceanRightSizingRuleRecommendationApplicationMinThresholdArray{
    		&spotinst.OceanRightSizingRuleRecommendationApplicationMinThresholdArgs{
    			CpuPercentage:    pulumi.Float64(0),
    			MemoryPercentage: pulumi.Float64(0),
    		},
    	},
    	RecommendationApplicationOverheadValues: spotinst.OceanRightSizingRuleRecommendationApplicationOverheadValueArray{
    		&spotinst.OceanRightSizingRuleRecommendationApplicationOverheadValueArgs{
    			CpuPercentage:    pulumi.Float64(0),
    			MemoryPercentage: pulumi.Float64(0),
    		},
    	},
    	RestartReplicas: pulumi.String("string"),
    	AutoApplyDefinitions: spotinst.OceanRightSizingRuleAutoApplyDefinitionArray{
    		&spotinst.OceanRightSizingRuleAutoApplyDefinitionArgs{
    			Enabled: pulumi.Bool(false),
    			Labels: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			Namespaces: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    })
    
    var oceanRightSizingRuleResource = new OceanRightSizingRule("oceanRightSizingRuleResource", OceanRightSizingRuleArgs.builder()
        .recommendationApplicationIntervals(OceanRightSizingRuleRecommendationApplicationIntervalArgs.builder()
            .repetitionBasis("string")
            .monthlyRepetitionBases(OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseArgs.builder()
                .intervalMonths(0)
                .weekOfTheMonths("string")
                .weeklyRepetitionBases(OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseWeeklyRepetitionBaseArgs.builder()
                    .intervalDays("string")
                    .intervalHoursEndTime("string")
                    .intervalHoursStartTime("string")
                    .build())
                .build())
            .weeklyRepetitionBases(OceanRightSizingRuleRecommendationApplicationIntervalWeeklyRepetitionBaseArgs.builder()
                .intervalDays("string")
                .intervalHoursEndTime("string")
                .intervalHoursStartTime("string")
                .build())
            .build())
        .ruleName("string")
        .recommendationApplicationBoundaries(OceanRightSizingRuleRecommendationApplicationBoundaryArgs.builder()
            .cpuMax(0.0)
            .cpuMin(0.0)
            .memoryMax(0)
            .memoryMin(0)
            .build())
        .downsideOnly(false)
        .excludePreliminaryRecommendations(false)
        .oceanId("string")
        .attachWorkloads(OceanRightSizingRuleAttachWorkloadArgs.builder()
            .namespaces(OceanRightSizingRuleAttachWorkloadNamespaceArgs.builder()
                .namespaceName("string")
                .labels(OceanRightSizingRuleAttachWorkloadNamespaceLabelArgs.builder()
                    .key("string")
                    .value("string")
                    .build())
                .workloads(OceanRightSizingRuleAttachWorkloadNamespaceWorkloadArgs.builder()
                    .workloadType("string")
                    .regexName("string")
                    .workloadName("string")
                    .build())
                .build())
            .build())
        .recommendationApplicationHpas(OceanRightSizingRuleRecommendationApplicationHpaArgs.builder()
            .allowHpaRecommendations(false)
            .build())
        .detachWorkloads(OceanRightSizingRuleDetachWorkloadArgs.builder()
            .namespaces(OceanRightSizingRuleDetachWorkloadNamespaceArgs.builder()
                .namespaceName("string")
                .labels(OceanRightSizingRuleDetachWorkloadNamespaceLabelArgs.builder()
                    .key("string")
                    .value("string")
                    .build())
                .workloads(OceanRightSizingRuleDetachWorkloadNamespaceWorkloadArgs.builder()
                    .workloadType("string")
                    .regexName("string")
                    .workloadName("string")
                    .build())
                .build())
            .build())
        .recommendationApplicationMinThresholds(OceanRightSizingRuleRecommendationApplicationMinThresholdArgs.builder()
            .cpuPercentage(0.0)
            .memoryPercentage(0.0)
            .build())
        .recommendationApplicationOverheadValues(OceanRightSizingRuleRecommendationApplicationOverheadValueArgs.builder()
            .cpuPercentage(0.0)
            .memoryPercentage(0.0)
            .build())
        .restartReplicas("string")
        .autoApplyDefinitions(OceanRightSizingRuleAutoApplyDefinitionArgs.builder()
            .enabled(false)
            .labels(Map.of("string", "string"))
            .namespaces("string")
            .build())
        .build());
    
    ocean_right_sizing_rule_resource = spotinst.OceanRightSizingRule("oceanRightSizingRuleResource",
        recommendation_application_intervals=[{
            "repetition_basis": "string",
            "monthly_repetition_bases": [{
                "interval_months": [0],
                "week_of_the_months": ["string"],
                "weekly_repetition_bases": [{
                    "interval_days": ["string"],
                    "interval_hours_end_time": "string",
                    "interval_hours_start_time": "string",
                }],
            }],
            "weekly_repetition_bases": [{
                "interval_days": ["string"],
                "interval_hours_end_time": "string",
                "interval_hours_start_time": "string",
            }],
        }],
        rule_name="string",
        recommendation_application_boundaries=[{
            "cpu_max": 0,
            "cpu_min": 0,
            "memory_max": 0,
            "memory_min": 0,
        }],
        downside_only=False,
        exclude_preliminary_recommendations=False,
        ocean_id="string",
        attach_workloads=[{
            "namespaces": [{
                "namespace_name": "string",
                "labels": [{
                    "key": "string",
                    "value": "string",
                }],
                "workloads": [{
                    "workload_type": "string",
                    "regex_name": "string",
                    "workload_name": "string",
                }],
            }],
        }],
        recommendation_application_hpas=[{
            "allow_hpa_recommendations": False,
        }],
        detach_workloads=[{
            "namespaces": [{
                "namespace_name": "string",
                "labels": [{
                    "key": "string",
                    "value": "string",
                }],
                "workloads": [{
                    "workload_type": "string",
                    "regex_name": "string",
                    "workload_name": "string",
                }],
            }],
        }],
        recommendation_application_min_thresholds=[{
            "cpu_percentage": 0,
            "memory_percentage": 0,
        }],
        recommendation_application_overhead_values=[{
            "cpu_percentage": 0,
            "memory_percentage": 0,
        }],
        restart_replicas="string",
        auto_apply_definitions=[{
            "enabled": False,
            "labels": {
                "string": "string",
            },
            "namespaces": ["string"],
        }])
    
    const oceanRightSizingRuleResource = new spotinst.OceanRightSizingRule("oceanRightSizingRuleResource", {
        recommendationApplicationIntervals: [{
            repetitionBasis: "string",
            monthlyRepetitionBases: [{
                intervalMonths: [0],
                weekOfTheMonths: ["string"],
                weeklyRepetitionBases: [{
                    intervalDays: ["string"],
                    intervalHoursEndTime: "string",
                    intervalHoursStartTime: "string",
                }],
            }],
            weeklyRepetitionBases: [{
                intervalDays: ["string"],
                intervalHoursEndTime: "string",
                intervalHoursStartTime: "string",
            }],
        }],
        ruleName: "string",
        recommendationApplicationBoundaries: [{
            cpuMax: 0,
            cpuMin: 0,
            memoryMax: 0,
            memoryMin: 0,
        }],
        downsideOnly: false,
        excludePreliminaryRecommendations: false,
        oceanId: "string",
        attachWorkloads: [{
            namespaces: [{
                namespaceName: "string",
                labels: [{
                    key: "string",
                    value: "string",
                }],
                workloads: [{
                    workloadType: "string",
                    regexName: "string",
                    workloadName: "string",
                }],
            }],
        }],
        recommendationApplicationHpas: [{
            allowHpaRecommendations: false,
        }],
        detachWorkloads: [{
            namespaces: [{
                namespaceName: "string",
                labels: [{
                    key: "string",
                    value: "string",
                }],
                workloads: [{
                    workloadType: "string",
                    regexName: "string",
                    workloadName: "string",
                }],
            }],
        }],
        recommendationApplicationMinThresholds: [{
            cpuPercentage: 0,
            memoryPercentage: 0,
        }],
        recommendationApplicationOverheadValues: [{
            cpuPercentage: 0,
            memoryPercentage: 0,
        }],
        restartReplicas: "string",
        autoApplyDefinitions: [{
            enabled: false,
            labels: {
                string: "string",
            },
            namespaces: ["string"],
        }],
    });
    
    type: spotinst:OceanRightSizingRule
    properties:
        attachWorkloads:
            - namespaces:
                - labels:
                    - key: string
                      value: string
                  namespaceName: string
                  workloads:
                    - regexName: string
                      workloadName: string
                      workloadType: string
        autoApplyDefinitions:
            - enabled: false
              labels:
                string: string
              namespaces:
                - string
        detachWorkloads:
            - namespaces:
                - labels:
                    - key: string
                      value: string
                  namespaceName: string
                  workloads:
                    - regexName: string
                      workloadName: string
                      workloadType: string
        downsideOnly: false
        excludePreliminaryRecommendations: false
        oceanId: string
        recommendationApplicationBoundaries:
            - cpuMax: 0
              cpuMin: 0
              memoryMax: 0
              memoryMin: 0
        recommendationApplicationHpas:
            - allowHpaRecommendations: false
        recommendationApplicationIntervals:
            - monthlyRepetitionBases:
                - intervalMonths:
                    - 0
                  weekOfTheMonths:
                    - string
                  weeklyRepetitionBases:
                    - intervalDays:
                        - string
                      intervalHoursEndTime: string
                      intervalHoursStartTime: string
              repetitionBasis: string
              weeklyRepetitionBases:
                - intervalDays:
                    - string
                  intervalHoursEndTime: string
                  intervalHoursStartTime: string
        recommendationApplicationMinThresholds:
            - cpuPercentage: 0
              memoryPercentage: 0
        recommendationApplicationOverheadValues:
            - cpuPercentage: 0
              memoryPercentage: 0
        restartReplicas: string
        ruleName: string
    

    OceanRightSizingRule Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The OceanRightSizingRule resource accepts the following input properties:

    RecommendationApplicationIntervals List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationInterval>
    Determines the Ocean Rightsizing rule recommendation application intervals.
    RuleName string
    The unique name of the rule.
    AttachWorkloads List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleAttachWorkload>
    AutoApplyDefinitions List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleAutoApplyDefinition>
    Ocean Rightsizing Rule Auto Apply Configuration.
    DetachWorkloads List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleDetachWorkload>
    DownsideOnly bool
    ExcludePreliminaryRecommendations bool
    Exclude preliminary recommendations (recommendations based on less than 4 full days of data).
    OceanId string
    Identifier of the Ocean cluster.
    RecommendationApplicationBoundaries List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationBoundary>
    Determines the Ocean Rightsizing rule recommendation application boundaries.
    RecommendationApplicationHpas List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationHpa>
    HPA Rightsizing Rule Recommendation Configuration
    RecommendationApplicationMinThresholds List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationMinThreshold>
    Determines the extent of difference between current request and recommendation to trigger a change in percentage.
    RecommendationApplicationOverheadValues List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationOverheadValue>
    Determines the Ocean Rightsizing rule recommendation application overhead values.
    RestartReplicas string
    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.
    RecommendationApplicationIntervals []OceanRightSizingRuleRecommendationApplicationIntervalArgs
    Determines the Ocean Rightsizing rule recommendation application intervals.
    RuleName string
    The unique name of the rule.
    AttachWorkloads []OceanRightSizingRuleAttachWorkloadArgs
    AutoApplyDefinitions []OceanRightSizingRuleAutoApplyDefinitionArgs
    Ocean Rightsizing Rule Auto Apply Configuration.
    DetachWorkloads []OceanRightSizingRuleDetachWorkloadArgs
    DownsideOnly bool
    ExcludePreliminaryRecommendations bool
    Exclude preliminary recommendations (recommendations based on less than 4 full days of data).
    OceanId string
    Identifier of the Ocean cluster.
    RecommendationApplicationBoundaries []OceanRightSizingRuleRecommendationApplicationBoundaryArgs
    Determines the Ocean Rightsizing rule recommendation application boundaries.
    RecommendationApplicationHpas []OceanRightSizingRuleRecommendationApplicationHpaArgs
    HPA Rightsizing Rule Recommendation Configuration
    RecommendationApplicationMinThresholds []OceanRightSizingRuleRecommendationApplicationMinThresholdArgs
    Determines the extent of difference between current request and recommendation to trigger a change in percentage.
    RecommendationApplicationOverheadValues []OceanRightSizingRuleRecommendationApplicationOverheadValueArgs
    Determines the Ocean Rightsizing rule recommendation application overhead values.
    RestartReplicas string
    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.
    recommendationApplicationIntervals List<OceanRightSizingRuleRecommendationApplicationInterval>
    Determines the Ocean Rightsizing rule recommendation application intervals.
    ruleName String
    The unique name of the rule.
    attachWorkloads List<OceanRightSizingRuleAttachWorkload>
    autoApplyDefinitions List<OceanRightSizingRuleAutoApplyDefinition>
    Ocean Rightsizing Rule Auto Apply Configuration.
    detachWorkloads List<OceanRightSizingRuleDetachWorkload>
    downsideOnly Boolean
    excludePreliminaryRecommendations Boolean
    Exclude preliminary recommendations (recommendations based on less than 4 full days of data).
    oceanId String
    Identifier of the Ocean cluster.
    recommendationApplicationBoundaries List<OceanRightSizingRuleRecommendationApplicationBoundary>
    Determines the Ocean Rightsizing rule recommendation application boundaries.
    recommendationApplicationHpas List<OceanRightSizingRuleRecommendationApplicationHpa>
    HPA Rightsizing Rule Recommendation Configuration
    recommendationApplicationMinThresholds List<OceanRightSizingRuleRecommendationApplicationMinThreshold>
    Determines the extent of difference between current request and recommendation to trigger a change in percentage.
    recommendationApplicationOverheadValues List<OceanRightSizingRuleRecommendationApplicationOverheadValue>
    Determines the Ocean Rightsizing rule recommendation application overhead values.
    restartReplicas String
    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.
    recommendationApplicationIntervals OceanRightSizingRuleRecommendationApplicationInterval[]
    Determines the Ocean Rightsizing rule recommendation application intervals.
    ruleName string
    The unique name of the rule.
    attachWorkloads OceanRightSizingRuleAttachWorkload[]
    autoApplyDefinitions OceanRightSizingRuleAutoApplyDefinition[]
    Ocean Rightsizing Rule Auto Apply Configuration.
    detachWorkloads OceanRightSizingRuleDetachWorkload[]
    downsideOnly boolean
    excludePreliminaryRecommendations boolean
    Exclude preliminary recommendations (recommendations based on less than 4 full days of data).
    oceanId string
    Identifier of the Ocean cluster.
    recommendationApplicationBoundaries OceanRightSizingRuleRecommendationApplicationBoundary[]
    Determines the Ocean Rightsizing rule recommendation application boundaries.
    recommendationApplicationHpas OceanRightSizingRuleRecommendationApplicationHpa[]
    HPA Rightsizing Rule Recommendation Configuration
    recommendationApplicationMinThresholds OceanRightSizingRuleRecommendationApplicationMinThreshold[]
    Determines the extent of difference between current request and recommendation to trigger a change in percentage.
    recommendationApplicationOverheadValues OceanRightSizingRuleRecommendationApplicationOverheadValue[]
    Determines the Ocean Rightsizing rule recommendation application overhead values.
    restartReplicas string
    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.
    recommendation_application_intervals Sequence[OceanRightSizingRuleRecommendationApplicationIntervalArgs]
    Determines the Ocean Rightsizing rule recommendation application intervals.
    rule_name str
    The unique name of the rule.
    attach_workloads Sequence[OceanRightSizingRuleAttachWorkloadArgs]
    auto_apply_definitions Sequence[OceanRightSizingRuleAutoApplyDefinitionArgs]
    Ocean Rightsizing Rule Auto Apply Configuration.
    detach_workloads Sequence[OceanRightSizingRuleDetachWorkloadArgs]
    downside_only bool
    exclude_preliminary_recommendations bool
    Exclude preliminary recommendations (recommendations based on less than 4 full days of data).
    ocean_id str
    Identifier of the Ocean cluster.
    recommendation_application_boundaries Sequence[OceanRightSizingRuleRecommendationApplicationBoundaryArgs]
    Determines the Ocean Rightsizing rule recommendation application boundaries.
    recommendation_application_hpas Sequence[OceanRightSizingRuleRecommendationApplicationHpaArgs]
    HPA Rightsizing Rule Recommendation Configuration
    recommendation_application_min_thresholds Sequence[OceanRightSizingRuleRecommendationApplicationMinThresholdArgs]
    Determines the extent of difference between current request and recommendation to trigger a change in percentage.
    recommendation_application_overhead_values Sequence[OceanRightSizingRuleRecommendationApplicationOverheadValueArgs]
    Determines the Ocean Rightsizing rule recommendation application overhead values.
    restart_replicas str
    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.
    recommendationApplicationIntervals List<Property Map>
    Determines the Ocean Rightsizing rule recommendation application intervals.
    ruleName String
    The unique name of the rule.
    attachWorkloads List<Property Map>
    autoApplyDefinitions List<Property Map>
    Ocean Rightsizing Rule Auto Apply Configuration.
    detachWorkloads List<Property Map>
    downsideOnly Boolean
    excludePreliminaryRecommendations Boolean
    Exclude preliminary recommendations (recommendations based on less than 4 full days of data).
    oceanId String
    Identifier of the Ocean cluster.
    recommendationApplicationBoundaries List<Property Map>
    Determines the Ocean Rightsizing rule recommendation application boundaries.
    recommendationApplicationHpas List<Property Map>
    HPA Rightsizing Rule Recommendation Configuration
    recommendationApplicationMinThresholds List<Property Map>
    Determines the extent of difference between current request and recommendation to trigger a change in percentage.
    recommendationApplicationOverheadValues List<Property Map>
    Determines the Ocean Rightsizing rule recommendation application overhead values.
    restartReplicas String
    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.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the OceanRightSizingRule resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing OceanRightSizingRule Resource

    Get an existing OceanRightSizingRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: OceanRightSizingRuleState, opts?: CustomResourceOptions): OceanRightSizingRule
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            attach_workloads: Optional[Sequence[OceanRightSizingRuleAttachWorkloadArgs]] = None,
            auto_apply_definitions: Optional[Sequence[OceanRightSizingRuleAutoApplyDefinitionArgs]] = None,
            detach_workloads: Optional[Sequence[OceanRightSizingRuleDetachWorkloadArgs]] = None,
            downside_only: Optional[bool] = None,
            exclude_preliminary_recommendations: Optional[bool] = None,
            ocean_id: Optional[str] = None,
            recommendation_application_boundaries: Optional[Sequence[OceanRightSizingRuleRecommendationApplicationBoundaryArgs]] = None,
            recommendation_application_hpas: Optional[Sequence[OceanRightSizingRuleRecommendationApplicationHpaArgs]] = None,
            recommendation_application_intervals: Optional[Sequence[OceanRightSizingRuleRecommendationApplicationIntervalArgs]] = None,
            recommendation_application_min_thresholds: Optional[Sequence[OceanRightSizingRuleRecommendationApplicationMinThresholdArgs]] = None,
            recommendation_application_overhead_values: Optional[Sequence[OceanRightSizingRuleRecommendationApplicationOverheadValueArgs]] = None,
            restart_replicas: Optional[str] = None,
            rule_name: Optional[str] = None) -> OceanRightSizingRule
    func GetOceanRightSizingRule(ctx *Context, name string, id IDInput, state *OceanRightSizingRuleState, opts ...ResourceOption) (*OceanRightSizingRule, error)
    public static OceanRightSizingRule Get(string name, Input<string> id, OceanRightSizingRuleState? state, CustomResourceOptions? opts = null)
    public static OceanRightSizingRule get(String name, Output<String> id, OceanRightSizingRuleState state, CustomResourceOptions options)
    resources:  _:    type: spotinst:OceanRightSizingRule    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AttachWorkloads List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleAttachWorkload>
    AutoApplyDefinitions List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleAutoApplyDefinition>
    Ocean Rightsizing Rule Auto Apply Configuration.
    DetachWorkloads List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleDetachWorkload>
    DownsideOnly bool
    ExcludePreliminaryRecommendations bool
    Exclude preliminary recommendations (recommendations based on less than 4 full days of data).
    OceanId string
    Identifier of the Ocean cluster.
    RecommendationApplicationBoundaries List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationBoundary>
    Determines the Ocean Rightsizing rule recommendation application boundaries.
    RecommendationApplicationHpas List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationHpa>
    HPA Rightsizing Rule Recommendation Configuration
    RecommendationApplicationIntervals List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationInterval>
    Determines the Ocean Rightsizing rule recommendation application intervals.
    RecommendationApplicationMinThresholds List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationMinThreshold>
    Determines the extent of difference between current request and recommendation to trigger a change in percentage.
    RecommendationApplicationOverheadValues List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationOverheadValue>
    Determines the Ocean Rightsizing rule recommendation application overhead values.
    RestartReplicas string
    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.
    RuleName string
    The unique name of the rule.
    AttachWorkloads []OceanRightSizingRuleAttachWorkloadArgs
    AutoApplyDefinitions []OceanRightSizingRuleAutoApplyDefinitionArgs
    Ocean Rightsizing Rule Auto Apply Configuration.
    DetachWorkloads []OceanRightSizingRuleDetachWorkloadArgs
    DownsideOnly bool
    ExcludePreliminaryRecommendations bool
    Exclude preliminary recommendations (recommendations based on less than 4 full days of data).
    OceanId string
    Identifier of the Ocean cluster.
    RecommendationApplicationBoundaries []OceanRightSizingRuleRecommendationApplicationBoundaryArgs
    Determines the Ocean Rightsizing rule recommendation application boundaries.
    RecommendationApplicationHpas []OceanRightSizingRuleRecommendationApplicationHpaArgs
    HPA Rightsizing Rule Recommendation Configuration
    RecommendationApplicationIntervals []OceanRightSizingRuleRecommendationApplicationIntervalArgs
    Determines the Ocean Rightsizing rule recommendation application intervals.
    RecommendationApplicationMinThresholds []OceanRightSizingRuleRecommendationApplicationMinThresholdArgs
    Determines the extent of difference between current request and recommendation to trigger a change in percentage.
    RecommendationApplicationOverheadValues []OceanRightSizingRuleRecommendationApplicationOverheadValueArgs
    Determines the Ocean Rightsizing rule recommendation application overhead values.
    RestartReplicas string
    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.
    RuleName string
    The unique name of the rule.
    attachWorkloads List<OceanRightSizingRuleAttachWorkload>
    autoApplyDefinitions List<OceanRightSizingRuleAutoApplyDefinition>
    Ocean Rightsizing Rule Auto Apply Configuration.
    detachWorkloads List<OceanRightSizingRuleDetachWorkload>
    downsideOnly Boolean
    excludePreliminaryRecommendations Boolean
    Exclude preliminary recommendations (recommendations based on less than 4 full days of data).
    oceanId String
    Identifier of the Ocean cluster.
    recommendationApplicationBoundaries List<OceanRightSizingRuleRecommendationApplicationBoundary>
    Determines the Ocean Rightsizing rule recommendation application boundaries.
    recommendationApplicationHpas List<OceanRightSizingRuleRecommendationApplicationHpa>
    HPA Rightsizing Rule Recommendation Configuration
    recommendationApplicationIntervals List<OceanRightSizingRuleRecommendationApplicationInterval>
    Determines the Ocean Rightsizing rule recommendation application intervals.
    recommendationApplicationMinThresholds List<OceanRightSizingRuleRecommendationApplicationMinThreshold>
    Determines the extent of difference between current request and recommendation to trigger a change in percentage.
    recommendationApplicationOverheadValues List<OceanRightSizingRuleRecommendationApplicationOverheadValue>
    Determines the Ocean Rightsizing rule recommendation application overhead values.
    restartReplicas String
    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.
    ruleName String
    The unique name of the rule.
    attachWorkloads OceanRightSizingRuleAttachWorkload[]
    autoApplyDefinitions OceanRightSizingRuleAutoApplyDefinition[]
    Ocean Rightsizing Rule Auto Apply Configuration.
    detachWorkloads OceanRightSizingRuleDetachWorkload[]
    downsideOnly boolean
    excludePreliminaryRecommendations boolean
    Exclude preliminary recommendations (recommendations based on less than 4 full days of data).
    oceanId string
    Identifier of the Ocean cluster.
    recommendationApplicationBoundaries OceanRightSizingRuleRecommendationApplicationBoundary[]
    Determines the Ocean Rightsizing rule recommendation application boundaries.
    recommendationApplicationHpas OceanRightSizingRuleRecommendationApplicationHpa[]
    HPA Rightsizing Rule Recommendation Configuration
    recommendationApplicationIntervals OceanRightSizingRuleRecommendationApplicationInterval[]
    Determines the Ocean Rightsizing rule recommendation application intervals.
    recommendationApplicationMinThresholds OceanRightSizingRuleRecommendationApplicationMinThreshold[]
    Determines the extent of difference between current request and recommendation to trigger a change in percentage.
    recommendationApplicationOverheadValues OceanRightSizingRuleRecommendationApplicationOverheadValue[]
    Determines the Ocean Rightsizing rule recommendation application overhead values.
    restartReplicas string
    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.
    ruleName string
    The unique name of the rule.
    attach_workloads Sequence[OceanRightSizingRuleAttachWorkloadArgs]
    auto_apply_definitions Sequence[OceanRightSizingRuleAutoApplyDefinitionArgs]
    Ocean Rightsizing Rule Auto Apply Configuration.
    detach_workloads Sequence[OceanRightSizingRuleDetachWorkloadArgs]
    downside_only bool
    exclude_preliminary_recommendations bool
    Exclude preliminary recommendations (recommendations based on less than 4 full days of data).
    ocean_id str
    Identifier of the Ocean cluster.
    recommendation_application_boundaries Sequence[OceanRightSizingRuleRecommendationApplicationBoundaryArgs]
    Determines the Ocean Rightsizing rule recommendation application boundaries.
    recommendation_application_hpas Sequence[OceanRightSizingRuleRecommendationApplicationHpaArgs]
    HPA Rightsizing Rule Recommendation Configuration
    recommendation_application_intervals Sequence[OceanRightSizingRuleRecommendationApplicationIntervalArgs]
    Determines the Ocean Rightsizing rule recommendation application intervals.
    recommendation_application_min_thresholds Sequence[OceanRightSizingRuleRecommendationApplicationMinThresholdArgs]
    Determines the extent of difference between current request and recommendation to trigger a change in percentage.
    recommendation_application_overhead_values Sequence[OceanRightSizingRuleRecommendationApplicationOverheadValueArgs]
    Determines the Ocean Rightsizing rule recommendation application overhead values.
    restart_replicas str
    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.
    rule_name str
    The unique name of the rule.
    attachWorkloads List<Property Map>
    autoApplyDefinitions List<Property Map>
    Ocean Rightsizing Rule Auto Apply Configuration.
    detachWorkloads List<Property Map>
    downsideOnly Boolean
    excludePreliminaryRecommendations Boolean
    Exclude preliminary recommendations (recommendations based on less than 4 full days of data).
    oceanId String
    Identifier of the Ocean cluster.
    recommendationApplicationBoundaries List<Property Map>
    Determines the Ocean Rightsizing rule recommendation application boundaries.
    recommendationApplicationHpas List<Property Map>
    HPA Rightsizing Rule Recommendation Configuration
    recommendationApplicationIntervals List<Property Map>
    Determines the Ocean Rightsizing rule recommendation application intervals.
    recommendationApplicationMinThresholds List<Property Map>
    Determines the extent of difference between current request and recommendation to trigger a change in percentage.
    recommendationApplicationOverheadValues List<Property Map>
    Determines the Ocean Rightsizing rule recommendation application overhead values.
    restartReplicas String
    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.
    ruleName String
    The unique name of the rule.

    Supporting Types

    OceanRightSizingRuleAttachWorkload, OceanRightSizingRuleAttachWorkloadArgs

    Namespaces []OceanRightSizingRuleAttachWorkloadNamespace
    List of namespaces that match the auto-apply rule.
    namespaces List<OceanRightSizingRuleAttachWorkloadNamespace>
    List of namespaces that match the auto-apply rule.
    namespaces OceanRightSizingRuleAttachWorkloadNamespace[]
    List of namespaces that match the auto-apply rule.
    namespaces Sequence[OceanRightSizingRuleAttachWorkloadNamespace]
    List of namespaces that match the auto-apply rule.
    namespaces List<Property Map>
    List of namespaces that match the auto-apply rule.

    OceanRightSizingRuleAttachWorkloadNamespace, OceanRightSizingRuleAttachWorkloadNamespaceArgs

    NamespaceName string
    Labels List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleAttachWorkloadNamespaceLabel>

    A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.

    <a id=<span pulumi-lang-nodejs=""attachWorkloads"" pulumi-lang-dotnet=""AttachWorkloads"" pulumi-lang-go=""attachWorkloads"" pulumi-lang-python=""attach_workloads"" pulumi-lang-yaml=""attachWorkloads"" pulumi-lang-java=""attachWorkloads"">"attach_workloads">

    Workloads List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleAttachWorkloadNamespaceWorkload>
    NamespaceName string
    Labels []OceanRightSizingRuleAttachWorkloadNamespaceLabel

    A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.

    <a id=<span pulumi-lang-nodejs=""attachWorkloads"" pulumi-lang-dotnet=""AttachWorkloads"" pulumi-lang-go=""attachWorkloads"" pulumi-lang-python=""attach_workloads"" pulumi-lang-yaml=""attachWorkloads"" pulumi-lang-java=""attachWorkloads"">"attach_workloads">

    Workloads []OceanRightSizingRuleAttachWorkloadNamespaceWorkload
    namespaceName String
    labels List<OceanRightSizingRuleAttachWorkloadNamespaceLabel>

    A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.

    <a id=<span pulumi-lang-nodejs=""attachWorkloads"" pulumi-lang-dotnet=""AttachWorkloads"" pulumi-lang-go=""attachWorkloads"" pulumi-lang-python=""attach_workloads"" pulumi-lang-yaml=""attachWorkloads"" pulumi-lang-java=""attachWorkloads"">"attach_workloads">

    workloads List<OceanRightSizingRuleAttachWorkloadNamespaceWorkload>
    namespaceName string
    labels OceanRightSizingRuleAttachWorkloadNamespaceLabel[]

    A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.

    <a id=<span pulumi-lang-nodejs=""attachWorkloads"" pulumi-lang-dotnet=""AttachWorkloads"" pulumi-lang-go=""attachWorkloads"" pulumi-lang-python=""attach_workloads"" pulumi-lang-yaml=""attachWorkloads"" pulumi-lang-java=""attachWorkloads"">"attach_workloads">

    workloads OceanRightSizingRuleAttachWorkloadNamespaceWorkload[]
    namespace_name str
    labels Sequence[OceanRightSizingRuleAttachWorkloadNamespaceLabel]

    A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.

    <a id=<span pulumi-lang-nodejs=""attachWorkloads"" pulumi-lang-dotnet=""AttachWorkloads"" pulumi-lang-go=""attachWorkloads"" pulumi-lang-python=""attach_workloads"" pulumi-lang-yaml=""attachWorkloads"" pulumi-lang-java=""attachWorkloads"">"attach_workloads">

    workloads Sequence[OceanRightSizingRuleAttachWorkloadNamespaceWorkload]
    namespaceName String
    labels List<Property Map>

    A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.

    <a id=<span pulumi-lang-nodejs=""attachWorkloads"" pulumi-lang-dotnet=""AttachWorkloads"" pulumi-lang-go=""attachWorkloads"" pulumi-lang-python=""attach_workloads"" pulumi-lang-yaml=""attachWorkloads"" pulumi-lang-java=""attachWorkloads"">"attach_workloads">

    workloads List<Property Map>

    OceanRightSizingRuleAttachWorkloadNamespaceLabel, OceanRightSizingRuleAttachWorkloadNamespaceLabelArgs

    Key string
    Value string
    Key string
    Value string
    key String
    value String
    key string
    value string
    key str
    value str
    key String
    value String

    OceanRightSizingRuleAttachWorkloadNamespaceWorkload, OceanRightSizingRuleAttachWorkloadNamespaceWorkloadArgs

    OceanRightSizingRuleAutoApplyDefinition, OceanRightSizingRuleAutoApplyDefinitionArgs

    Enabled bool
    Determines if auto apply is enabled.
    Labels Dictionary<string, string>

    A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.

    <a id=<span pulumi-lang-nodejs=""attachWorkloads"" pulumi-lang-dotnet=""AttachWorkloads"" pulumi-lang-go=""attachWorkloads"" pulumi-lang-python=""attach_workloads"" pulumi-lang-yaml=""attachWorkloads"" pulumi-lang-java=""attachWorkloads"">"attach_workloads">

    Namespaces List<string>
    List of namespaces that match the auto-apply rule.
    Enabled bool
    Determines if auto apply is enabled.
    Labels map[string]string

    A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.

    <a id=<span pulumi-lang-nodejs=""attachWorkloads"" pulumi-lang-dotnet=""AttachWorkloads"" pulumi-lang-go=""attachWorkloads"" pulumi-lang-python=""attach_workloads"" pulumi-lang-yaml=""attachWorkloads"" pulumi-lang-java=""attachWorkloads"">"attach_workloads">

    Namespaces []string
    List of namespaces that match the auto-apply rule.
    enabled Boolean
    Determines if auto apply is enabled.
    labels Map<String,String>

    A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.

    <a id=<span pulumi-lang-nodejs=""attachWorkloads"" pulumi-lang-dotnet=""AttachWorkloads"" pulumi-lang-go=""attachWorkloads"" pulumi-lang-python=""attach_workloads"" pulumi-lang-yaml=""attachWorkloads"" pulumi-lang-java=""attachWorkloads"">"attach_workloads">

    namespaces List<String>
    List of namespaces that match the auto-apply rule.
    enabled boolean
    Determines if auto apply is enabled.
    labels {[key: string]: string}

    A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.

    <a id=<span pulumi-lang-nodejs=""attachWorkloads"" pulumi-lang-dotnet=""AttachWorkloads"" pulumi-lang-go=""attachWorkloads"" pulumi-lang-python=""attach_workloads"" pulumi-lang-yaml=""attachWorkloads"" pulumi-lang-java=""attachWorkloads"">"attach_workloads">

    namespaces string[]
    List of namespaces that match the auto-apply rule.
    enabled bool
    Determines if auto apply is enabled.
    labels Mapping[str, str]

    A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.

    <a id=<span pulumi-lang-nodejs=""attachWorkloads"" pulumi-lang-dotnet=""AttachWorkloads"" pulumi-lang-go=""attachWorkloads"" pulumi-lang-python=""attach_workloads"" pulumi-lang-yaml=""attachWorkloads"" pulumi-lang-java=""attachWorkloads"">"attach_workloads">

    namespaces Sequence[str]
    List of namespaces that match the auto-apply rule.
    enabled Boolean
    Determines if auto apply is enabled.
    labels Map<String>

    A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.

    <a id=<span pulumi-lang-nodejs=""attachWorkloads"" pulumi-lang-dotnet=""AttachWorkloads"" pulumi-lang-go=""attachWorkloads"" pulumi-lang-python=""attach_workloads"" pulumi-lang-yaml=""attachWorkloads"" pulumi-lang-java=""attachWorkloads"">"attach_workloads">

    namespaces List<String>
    List of namespaces that match the auto-apply rule.

    OceanRightSizingRuleDetachWorkload, OceanRightSizingRuleDetachWorkloadArgs

    Namespaces []OceanRightSizingRuleDetachWorkloadNamespace
    List of namespaces that match the auto-apply rule.
    namespaces List<OceanRightSizingRuleDetachWorkloadNamespace>
    List of namespaces that match the auto-apply rule.
    namespaces OceanRightSizingRuleDetachWorkloadNamespace[]
    List of namespaces that match the auto-apply rule.
    namespaces Sequence[OceanRightSizingRuleDetachWorkloadNamespace]
    List of namespaces that match the auto-apply rule.
    namespaces List<Property Map>
    List of namespaces that match the auto-apply rule.

    OceanRightSizingRuleDetachWorkloadNamespace, OceanRightSizingRuleDetachWorkloadNamespaceArgs

    NamespaceName string
    Labels List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleDetachWorkloadNamespaceLabel>

    A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.

    <a id=<span pulumi-lang-nodejs=""attachWorkloads"" pulumi-lang-dotnet=""AttachWorkloads"" pulumi-lang-go=""attachWorkloads"" pulumi-lang-python=""attach_workloads"" pulumi-lang-yaml=""attachWorkloads"" pulumi-lang-java=""attachWorkloads"">"attach_workloads">

    Workloads List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleDetachWorkloadNamespaceWorkload>
    NamespaceName string
    Labels []OceanRightSizingRuleDetachWorkloadNamespaceLabel

    A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.

    <a id=<span pulumi-lang-nodejs=""attachWorkloads"" pulumi-lang-dotnet=""AttachWorkloads"" pulumi-lang-go=""attachWorkloads"" pulumi-lang-python=""attach_workloads"" pulumi-lang-yaml=""attachWorkloads"" pulumi-lang-java=""attachWorkloads"">"attach_workloads">

    Workloads []OceanRightSizingRuleDetachWorkloadNamespaceWorkload
    namespaceName String
    labels List<OceanRightSizingRuleDetachWorkloadNamespaceLabel>

    A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.

    <a id=<span pulumi-lang-nodejs=""attachWorkloads"" pulumi-lang-dotnet=""AttachWorkloads"" pulumi-lang-go=""attachWorkloads"" pulumi-lang-python=""attach_workloads"" pulumi-lang-yaml=""attachWorkloads"" pulumi-lang-java=""attachWorkloads"">"attach_workloads">

    workloads List<OceanRightSizingRuleDetachWorkloadNamespaceWorkload>
    namespaceName string
    labels OceanRightSizingRuleDetachWorkloadNamespaceLabel[]

    A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.

    <a id=<span pulumi-lang-nodejs=""attachWorkloads"" pulumi-lang-dotnet=""AttachWorkloads"" pulumi-lang-go=""attachWorkloads"" pulumi-lang-python=""attach_workloads"" pulumi-lang-yaml=""attachWorkloads"" pulumi-lang-java=""attachWorkloads"">"attach_workloads">

    workloads OceanRightSizingRuleDetachWorkloadNamespaceWorkload[]
    namespace_name str
    labels Sequence[OceanRightSizingRuleDetachWorkloadNamespaceLabel]

    A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.

    <a id=<span pulumi-lang-nodejs=""attachWorkloads"" pulumi-lang-dotnet=""AttachWorkloads"" pulumi-lang-go=""attachWorkloads"" pulumi-lang-python=""attach_workloads"" pulumi-lang-yaml=""attachWorkloads"" pulumi-lang-java=""attachWorkloads"">"attach_workloads">

    workloads Sequence[OceanRightSizingRuleDetachWorkloadNamespaceWorkload]
    namespaceName String
    labels List<Property Map>

    A set of key-value label pairs used to automatically apply this rule to all workloads in the cluster that match these labels.

    <a id=<span pulumi-lang-nodejs=""attachWorkloads"" pulumi-lang-dotnet=""AttachWorkloads"" pulumi-lang-go=""attachWorkloads"" pulumi-lang-python=""attach_workloads"" pulumi-lang-yaml=""attachWorkloads"" pulumi-lang-java=""attachWorkloads"">"attach_workloads">

    workloads List<Property Map>

    OceanRightSizingRuleDetachWorkloadNamespaceLabel, OceanRightSizingRuleDetachWorkloadNamespaceLabelArgs

    Key string
    Value string
    Key string
    Value string
    key String
    value String
    key string
    value string
    key str
    value str
    key String
    value String

    OceanRightSizingRuleDetachWorkloadNamespaceWorkload, OceanRightSizingRuleDetachWorkloadNamespaceWorkloadArgs

    OceanRightSizingRuleRecommendationApplicationBoundary, OceanRightSizingRuleRecommendationApplicationBoundaryArgs

    CpuMax double
    the maximal value of cpu in vCpu.
    CpuMin double
    the minimal value of cpu in vCpu.
    MemoryMax int
    the maximal value of memory in Gib.
    MemoryMin int
    the minimal value of memory in Gib.
    CpuMax float64
    the maximal value of cpu in vCpu.
    CpuMin float64
    the minimal value of cpu in vCpu.
    MemoryMax int
    the maximal value of memory in Gib.
    MemoryMin int
    the minimal value of memory in Gib.
    cpuMax Double
    the maximal value of cpu in vCpu.
    cpuMin Double
    the minimal value of cpu in vCpu.
    memoryMax Integer
    the maximal value of memory in Gib.
    memoryMin Integer
    the minimal value of memory in Gib.
    cpuMax number
    the maximal value of cpu in vCpu.
    cpuMin number
    the minimal value of cpu in vCpu.
    memoryMax number
    the maximal value of memory in Gib.
    memoryMin number
    the minimal value of memory in Gib.
    cpu_max float
    the maximal value of cpu in vCpu.
    cpu_min float
    the minimal value of cpu in vCpu.
    memory_max int
    the maximal value of memory in Gib.
    memory_min int
    the minimal value of memory in Gib.
    cpuMax Number
    the maximal value of cpu in vCpu.
    cpuMin Number
    the minimal value of cpu in vCpu.
    memoryMax Number
    the maximal value of memory in Gib.
    memoryMin Number
    the minimal value of memory in Gib.

    OceanRightSizingRuleRecommendationApplicationHpa, OceanRightSizingRuleRecommendationApplicationHpaArgs

    AllowHpaRecommendations bool
    Determines by the rule if recommendation application is allowed for workloads with HPA definition.
    AllowHpaRecommendations bool
    Determines by the rule if recommendation application is allowed for workloads with HPA definition.
    allowHpaRecommendations Boolean
    Determines by the rule if recommendation application is allowed for workloads with HPA definition.
    allowHpaRecommendations boolean
    Determines by the rule if recommendation application is allowed for workloads with HPA definition.
    allow_hpa_recommendations bool
    Determines by the rule if recommendation application is allowed for workloads with HPA definition.
    allowHpaRecommendations Boolean
    Determines by the rule if recommendation application is allowed for workloads with HPA definition.

    OceanRightSizingRuleRecommendationApplicationInterval, OceanRightSizingRuleRecommendationApplicationIntervalArgs

    RepetitionBasis string
    Valid values: "WEEKLY" "MONTHLY". The repetition basis.
    MonthlyRepetitionBases List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBase>
    Determines the Ocean Rightsizing rule monthly repetition basis.
    WeeklyRepetitionBases List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationIntervalWeeklyRepetitionBase>
    Determines the Ocean Rightsizing rule weekly repetition basis.
    RepetitionBasis string
    Valid values: "WEEKLY" "MONTHLY". The repetition basis.
    MonthlyRepetitionBases []OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBase
    Determines the Ocean Rightsizing rule monthly repetition basis.
    WeeklyRepetitionBases []OceanRightSizingRuleRecommendationApplicationIntervalWeeklyRepetitionBase
    Determines the Ocean Rightsizing rule weekly repetition basis.
    repetitionBasis String
    Valid values: "WEEKLY" "MONTHLY". The repetition basis.
    monthlyRepetitionBases List<OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBase>
    Determines the Ocean Rightsizing rule monthly repetition basis.
    weeklyRepetitionBases List<OceanRightSizingRuleRecommendationApplicationIntervalWeeklyRepetitionBase>
    Determines the Ocean Rightsizing rule weekly repetition basis.
    repetitionBasis string
    Valid values: "WEEKLY" "MONTHLY". The repetition basis.
    monthlyRepetitionBases OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBase[]
    Determines the Ocean Rightsizing rule monthly repetition basis.
    weeklyRepetitionBases OceanRightSizingRuleRecommendationApplicationIntervalWeeklyRepetitionBase[]
    Determines the Ocean Rightsizing rule weekly repetition basis.
    repetition_basis str
    Valid values: "WEEKLY" "MONTHLY". The repetition basis.
    monthly_repetition_bases Sequence[OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBase]
    Determines the Ocean Rightsizing rule monthly repetition basis.
    weekly_repetition_bases Sequence[OceanRightSizingRuleRecommendationApplicationIntervalWeeklyRepetitionBase]
    Determines the Ocean Rightsizing rule weekly repetition basis.
    repetitionBasis String
    Valid values: "WEEKLY" "MONTHLY". The repetition basis.
    monthlyRepetitionBases List<Property Map>
    Determines the Ocean Rightsizing rule monthly repetition basis.
    weeklyRepetitionBases List<Property Map>
    Determines the Ocean Rightsizing rule weekly repetition basis.

    OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBase, OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseArgs

    IntervalMonths List<int>
    Array of the months (in number), when we want to trigger the apply recommendations.
    WeekOfTheMonths List<string>
    Valid values: "FIRST" "SECOND" "THIRD" "FOURTH" "LAST". Array of the weeks in the month, when we want to trigger the apply recommendations.
    WeeklyRepetitionBases List<Pulumi.SpotInst.Inputs.OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseWeeklyRepetitionBase>
    Determines the Ocean Rightsizing rule weekly repetition basis.
    IntervalMonths []int
    Array of the months (in number), when we want to trigger the apply recommendations.
    WeekOfTheMonths []string
    Valid values: "FIRST" "SECOND" "THIRD" "FOURTH" "LAST". Array of the weeks in the month, when we want to trigger the apply recommendations.
    WeeklyRepetitionBases []OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseWeeklyRepetitionBase
    Determines the Ocean Rightsizing rule weekly repetition basis.
    intervalMonths List<Integer>
    Array of the months (in number), when we want to trigger the apply recommendations.
    weekOfTheMonths List<String>
    Valid values: "FIRST" "SECOND" "THIRD" "FOURTH" "LAST". Array of the weeks in the month, when we want to trigger the apply recommendations.
    weeklyRepetitionBases List<OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseWeeklyRepetitionBase>
    Determines the Ocean Rightsizing rule weekly repetition basis.
    intervalMonths number[]
    Array of the months (in number), when we want to trigger the apply recommendations.
    weekOfTheMonths string[]
    Valid values: "FIRST" "SECOND" "THIRD" "FOURTH" "LAST". Array of the weeks in the month, when we want to trigger the apply recommendations.
    weeklyRepetitionBases OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseWeeklyRepetitionBase[]
    Determines the Ocean Rightsizing rule weekly repetition basis.
    interval_months Sequence[int]
    Array of the months (in number), when we want to trigger the apply recommendations.
    week_of_the_months Sequence[str]
    Valid values: "FIRST" "SECOND" "THIRD" "FOURTH" "LAST". Array of the weeks in the month, when we want to trigger the apply recommendations.
    weekly_repetition_bases Sequence[OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseWeeklyRepetitionBase]
    Determines the Ocean Rightsizing rule weekly repetition basis.
    intervalMonths List<Number>
    Array of the months (in number), when we want to trigger the apply recommendations.
    weekOfTheMonths List<String>
    Valid values: "FIRST" "SECOND" "THIRD" "FOURTH" "LAST". Array of the weeks in the month, when we want to trigger the apply recommendations.
    weeklyRepetitionBases List<Property Map>
    Determines the Ocean Rightsizing rule weekly repetition basis.

    OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseWeeklyRepetitionBase, OceanRightSizingRuleRecommendationApplicationIntervalMonthlyRepetitionBaseWeeklyRepetitionBaseArgs

    IntervalDays List<string>
    Valid values: "SUNDAY" "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY". Array of the days of the week, when we want to trigger the apply recommendations.
    IntervalHoursEndTime string
    End time.
    IntervalHoursStartTime string
    Start time.
    IntervalDays []string
    Valid values: "SUNDAY" "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY". Array of the days of the week, when we want to trigger the apply recommendations.
    IntervalHoursEndTime string
    End time.
    IntervalHoursStartTime string
    Start time.
    intervalDays List<String>
    Valid values: "SUNDAY" "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY". Array of the days of the week, when we want to trigger the apply recommendations.
    intervalHoursEndTime String
    End time.
    intervalHoursStartTime String
    Start time.
    intervalDays string[]
    Valid values: "SUNDAY" "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY". Array of the days of the week, when we want to trigger the apply recommendations.
    intervalHoursEndTime string
    End time.
    intervalHoursStartTime string
    Start time.
    interval_days Sequence[str]
    Valid values: "SUNDAY" "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY". Array of the days of the week, when we want to trigger the apply recommendations.
    interval_hours_end_time str
    End time.
    interval_hours_start_time str
    Start time.
    intervalDays List<String>
    Valid values: "SUNDAY" "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY". Array of the days of the week, when we want to trigger the apply recommendations.
    intervalHoursEndTime String
    End time.
    intervalHoursStartTime String
    Start time.

    OceanRightSizingRuleRecommendationApplicationIntervalWeeklyRepetitionBase, OceanRightSizingRuleRecommendationApplicationIntervalWeeklyRepetitionBaseArgs

    IntervalDays List<string>
    Valid values: "SUNDAY" "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY". Array of the days of the week, when we want to trigger the apply recommendations.
    IntervalHoursEndTime string
    End time.
    IntervalHoursStartTime string
    Start time.
    IntervalDays []string
    Valid values: "SUNDAY" "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY". Array of the days of the week, when we want to trigger the apply recommendations.
    IntervalHoursEndTime string
    End time.
    IntervalHoursStartTime string
    Start time.
    intervalDays List<String>
    Valid values: "SUNDAY" "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY". Array of the days of the week, when we want to trigger the apply recommendations.
    intervalHoursEndTime String
    End time.
    intervalHoursStartTime String
    Start time.
    intervalDays string[]
    Valid values: "SUNDAY" "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY". Array of the days of the week, when we want to trigger the apply recommendations.
    intervalHoursEndTime string
    End time.
    intervalHoursStartTime string
    Start time.
    interval_days Sequence[str]
    Valid values: "SUNDAY" "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY". Array of the days of the week, when we want to trigger the apply recommendations.
    interval_hours_end_time str
    End time.
    interval_hours_start_time str
    Start time.
    intervalDays List<String>
    Valid values: "SUNDAY" "MONDAY" "TUESDAY" "WEDNESDAY" "THURSDAY" "FRIDAY" "SATURDAY". Array of the days of the week, when we want to trigger the apply recommendations.
    intervalHoursEndTime String
    End time.
    intervalHoursStartTime String
    Start time.

    OceanRightSizingRuleRecommendationApplicationMinThreshold, OceanRightSizingRuleRecommendationApplicationMinThresholdArgs

    OceanRightSizingRuleRecommendationApplicationOverheadValue, OceanRightSizingRuleRecommendationApplicationOverheadValueArgs

    Package Details

    Repository
    Spotinst pulumi/pulumi-spotinst
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the spotinst Terraform Provider.
    spotinst logo
    Spotinst v3.126.0 published on Saturday, Nov 1, 2025 by Pulumi
      Meet Neo: Your AI Platform Teammate