import React from 'react'; import { CollapsibleSection, DeckRuntimeContext } from '@spinnaker/core'; import { HelpField } from '@spinnaker/core'; import type { IAmazonServerGroupDetailsSectionProps } from './IAmazonServerGroupDetailsSectionProps'; import { EditAsgAdvancedSettingsModal } from '../advancedSettings'; import { AWSProviderSettings } from '../../../aws.settings'; export class AdvancedSettingsDetailsSection extends React.Component { public static contextType = DeckRuntimeContext; public declare context: React.ContextType; private editAdvancedSettings = (): void => { const { app: application, serverGroup } = this.props; EditAsgAdvancedSettingsModal.show({ application, serverGroup }, this.context.services); }; public render(): JSX.Element { const { serverGroup } = this.props; const asg = serverGroup.asg; return (
Cooldown
{asg.defaultCooldown} seconds
{asg.enabledMetrics.length > 0 && [
Enabled Metrics
,
{asg.enabledMetrics.map((m) => m.metric).join(', ')}
, ]}
Health Check Type
{asg.healthCheckType}
Grace Period
{asg.healthCheckGracePeriod} seconds
Termination Policies
{asg.terminationPolicies.join(', ')}
{asg.capacityRebalance && [
Capacity Rebalance
,
{`${asg.capacityRebalance}`}
, ]}
{AWSProviderSettings.adHocInfraWritesEnabled && ( Edit Advanced Settings )}
); } }