protected addInstanceScaleDefaults()

in projects/alloydb-autoscaler/src/autoscaler-core/poller/config-parser.ts [104:148]


  protected addInstanceScaleDefaults(
    instanceConfig: FlatInstanceConfiguration
  ): ScalingConfig {
    return {
      units:
        instanceConfig?.units ??
        this.defaultInstanceConfig.scalingConfig?.units,
      minSize:
        instanceConfig?.minSize ??
        this.defaultInstanceConfig?.scalingConfig?.minSize,
      maxSize:
        instanceConfig?.maxSize ??
        this.defaultInstanceConfig?.scalingConfig?.maxSize,
      scalingMethod:
        instanceConfig?.scalingMethod ??
        this.defaultInstanceConfig?.scalingConfig?.scalingMethod,
      scalingProfile:
        instanceConfig?.scalingProfile ??
        this.defaultInstanceConfig?.scalingConfig?.scalingProfile,
      scalingRules:
        instanceConfig?.scalingRules ??
        this.defaultInstanceConfig?.scalingConfig?.scalingRules,
      stepSize:
        instanceConfig?.stepSize ??
        this.defaultInstanceConfig?.scalingConfig?.stepSize,
      scaleInLimit:
        instanceConfig?.scaleInLimit ??
        this.defaultInstanceConfig?.scalingConfig?.scaleInLimit,
      scaleOutLimit:
        instanceConfig?.scaleOutLimit ??
        this.defaultInstanceConfig?.scalingConfig?.scaleOutLimit,
      scaleInCoolingMinutes:
        instanceConfig?.scaleInCoolingMinutes ??
        this.defaultInstanceConfig?.scalingConfig?.scaleInCoolingMinutes,
      scaleOutCoolingMinutes:
        instanceConfig?.scaleOutCoolingMinutes ??
        this.defaultInstanceConfig?.scalingConfig?.scaleOutCoolingMinutes,
      scalerPubSubTopic:
        instanceConfig?.scalerPubSubTopic ??
        this.defaultInstanceConfig?.scalingConfig?.scalerPubSubTopic,
      downstreamPubSubTopic:
        instanceConfig?.downstreamPubSubTopic ??
        this.defaultInstanceConfig?.scalingConfig?.downstreamPubSubTopic,
    } as ScalingConfig;
  }