Blame cmd/osbuild-upload-aws/main.go

Packit Service 4d2de5
package main
Packit Service 4d2de5
Packit Service 4d2de5
import (
Packit Service 4d2de5
	"flag"
Packit Service 4d2de5
	"fmt"
Packit Service 4d2de5
Packit Service 4d2de5
	"github.com/aws/aws-sdk-go/aws"
Packit Service 4d2de5
	"github.com/osbuild/osbuild-composer/internal/upload/awsupload"
Packit Service 4d2de5
)
Packit Service 4d2de5
Packit Service 4d2de5
func main() {
Packit Service 4d2de5
	var accessKeyID string
Packit Service 4d2de5
	var secretAccessKey string
Packit Service 4d2de5
	var region string
Packit Service 4d2de5
	var bucketName string
Packit Service 4d2de5
	var keyName string
Packit Service 4d2de5
	var filename string
Packit Service 4d2de5
	var imageName string
Packit Service 4d2de5
	flag.StringVar(&accessKeyID, "access-key-id", "", "access key ID")
Packit Service 4d2de5
	flag.StringVar(&secretAccessKey, "secret-access-key", "", "secret access key")
Packit Service 4d2de5
	flag.StringVar(&region, "region", "", "target region")
Packit Service 4d2de5
	flag.StringVar(&bucketName, "bucket", "", "target S3 bucket name")
Packit Service 4d2de5
	flag.StringVar(&keyName, "key", "", "target S3 key name")
Packit Service 4d2de5
	flag.StringVar(&filename, "image", "", "image file to upload")
Packit Service 4d2de5
	flag.StringVar(&imageName, "name", "", "AMI name")
Packit Service 4d2de5
	flag.Parse()
Packit Service 4d2de5
Packit Service 4d2de5
	a, err := awsupload.New(region, accessKeyID, secretAccessKey)
Packit Service 4d2de5
	if err != nil {
Packit Service 4d2de5
		println(err.Error())
Packit Service 4d2de5
		return
Packit Service 4d2de5
	}
Packit Service 4d2de5
Packit Service 4d2de5
	uploadOutput, err := a.Upload(filename, bucketName, keyName)
Packit Service 4d2de5
	if err != nil {
Packit Service 4d2de5
		println(err.Error())
Packit Service 4d2de5
		return
Packit Service 4d2de5
	}
Packit Service 4d2de5
Packit Service 4d2de5
	fmt.Printf("file uploaded to %s\n", aws.StringValue(&uploadOutput.Location))
Packit Service 4d2de5
Packit Service 4d2de5
	ami, err := a.Register(imageName, bucketName, keyName)
Packit Service 4d2de5
	if err != nil {
Packit Service 4d2de5
		println(err.Error())
Packit Service 4d2de5
		return
Packit Service 4d2de5
	}
Packit Service 4d2de5
Packit Service 4d2de5
	fmt.Printf("AMI registered: %s\n", aws.StringValue(ami))
Packit Service 4d2de5
}