func fetchScanSpec()

in start-scan/main.go [87:113]


func fetchScanSpec(configbucket, scanid string) (ScanSpec, error) {
	ss := ScanSpec{}
	cfg, err := config.LoadDefaultConfig(context.TODO())
	if err != nil {
		return ss, err
	}

	// Create an S3 Client with the config
	client := s3.NewFromConfig(cfg)

	// Create an uploader passing it the client
	downloader := manager.NewDownloader(client)

	buf := aws.NewWriteAtBuffer([]byte{})
	_, err = downloader.Download(context.TODO(), buf, &s3.GetObjectInput{
		Bucket: aws.String(configbucket),
		Key:    aws.String(scanid + ".json"),
	})
	if err != nil {
		return ss, err
	}
	err = json.Unmarshal(buf.Bytes(), &ss)
	if err != nil {
		return ss, err
	}
	return ss, nil
}