func DownloadAgent()

in common/utils.go [73:99]


func DownloadAgent(client *s3.Client, cliArgs *cli.CliArgs) *string {

	arch := cliArgs.TargetPlatform.Arch

	// map target arch to the s3 bucket
	if cliArgs.TargetPlatform.Arch == constants.AMD64 || cliArgs.TargetPlatform.Arch == constants.X86_64 || cliArgs.TargetPlatform.Arch == constants.X64 {
		arch = constants.X64
	} else if cliArgs.TargetPlatform.Arch == constants.I386 || cliArgs.TargetPlatform.Arch == constants.X86 {
		arch = constants.X86
	} else if cliArgs.TargetPlatform.Arch == constants.ARM64 || cliArgs.TargetPlatform.Arch == constants.ARMV8 {
		arch = constants.ARMV8
	}

	agentBucket := fmt.Sprintf("sagemaker-edge-release-store-us-west-2-%s-%s", cliArgs.TargetPlatform.Os, arch)
	s3Prefix := "Releases/"
	release := GetAgentRelease(client, &agentBucket, &s3Prefix)
	agentFile := aws.DownloadFileFromS3(client, &agentBucket, &release.s3Location)
	if strings.HasSuffix(*agentFile, "gz") {
		untar(agentFile, &cliArgs.AgentDirectory)
	} else if strings.HasSuffix(*agentFile, "zip") {
		unzip(agentFile, &cliArgs.AgentDirectory)
	} else {
		log.Fatal("Unsupported agent format!")
	}

	return agentFile
}