package tools

func AWS() *aws {
	return &aws{}
}

type (
	aws struct{}
	s3  struct {
		aws *aws
	}
	ec2 struct {
		aws *aws
	}
)

func (t *aws) S3() *s3   { return &s3{aws: t} }
func (t *aws) EC2() *ec2 { return &ec2{aws: t} }

func (t *s3) Put(src, dst string) error  { return nil }
func (t *s3) Get(src, dst string) error  { return nil }
func (t *s3) List(path string) error { return nil }

func (t *ec2) Create() error    { return nil }
func (t *ec2) Stop() error      { return nil }
func (t *ec2) Start() error     { return nil }
func (t *ec2) Terminate() error { return nil }
