import { set } from 'lodash'; import * as React from 'react'; import { CheckboxInput, HelpField, NumberInput } from '@spinnaker/core'; import type { IUpsertScalingPolicyCommand } from '../ScalingPolicyWriter'; import './TargetTrackingAdditionalSettings.less'; export interface ITargetTrackingAdditionalSettingsProps { command: IUpsertScalingPolicyCommand; cooldowns?: boolean; policyName?: string; updateCommand: (command: IUpsertScalingPolicyCommand) => void; } export const TargetTrackingAdditionalSettings = ({ command, cooldowns, policyName, updateCommand, }: ITargetTrackingAdditionalSettingsProps) => { const setCommandField = (path: string, value: number) => { const newCommand = { ...command }; set(newCommand, path, value); updateCommand(newCommand); }; const scaleInDisabled = command.targetTrackingConfiguration?.disableScaleIn; return (
This option disables scale-downs for the target tracking policy, while keeping the scale-ups. This means that ASG will not scale down unless you explicitly set up a separate step policy to scale it down.
This is useful when you have special requirements, such as gradual or delayed scale-down.