func()

in pkg/selector/aggregates.go [84:112]


func (itf Selector) TransformFlexible(filters Filters) (Filters, error) {
	if filters.Flexible == nil {
		return filters, nil
	}
	if filters.CPUArchitecture == nil {
		filters.CPUArchitecture = aws.String("x86_64")
	}
	if filters.BareMetal == nil {
		filters.BareMetal = aws.Bool(false)
	}
	if filters.Fpga == nil {
		filters.Fpga = aws.Bool(false)
	}

	if filters.AllowList == nil {
		baseAllowedInstanceTypes, err := regexp.Compile("^[cmr][3-9][ag]?\\..*$|^a[1-9]\\..*$|^t[2-9]\\..*$")
		if err != nil {
			return filters, err
		}
		filters.AllowList = baseAllowedInstanceTypes
	}

	if filters.VCpusRange == nil && filters.MemoryRange == nil {
		defaultVcpus := 4
		filters.VCpusRange = &IntRangeFilter{LowerBound: defaultVcpus, UpperBound: defaultVcpus}
	}

	return filters, nil
}