src/server/pfs/server/server.go
func NewBlockAPIServer(dir string, cacheBytes int64, backend string, etcdAddress string) (BlockAPIServer, error) {
	switch backend {
	case MinioBackendEnvVar:
		// S3 compatible doesn't like leading slashes
		if len(dir) > 0 && dir[0] == '/' {
			dir = dir[1:]
		}
		blockAPIServer, err := newMinioBlockAPIServer(dir, cacheBytes, etcdAddress)
		if err != nil {
			return nil, err
		}
		return blockAPIServer, nil
	case AmazonBackendEnvVar:
		// amazon doesn't like leading slashes
		if len(dir) > 0 && dir[0] == '/' {
			dir = dir[1:]
		}
		blockAPIServer, err := newAmazonBlockAPIServer(dir, cacheBytes, etcdAddress)
		if err != nil {
			return nil, err
		}
		return blockAPIServer, nil
	case GoogleBackendEnvVar:
		// TODO figure out if google likes leading slashses
		blockAPIServer, err := newGoogleBlockAPIServer(dir, cacheBytes, etcdAddress)
		if err != nil {
			return nil, err
		}
		return blockAPIServer, nil
	case MicrosoftBackendEnvVar:
		blockAPIServer, err := newMicrosoftBlockAPIServer(dir, cacheBytes, etcdAddress)
		if err != nil {
			return nil, err
		}
		return blockAPIServer, nil
	case LocalBackendEnvVar:
		fallthrough
	default:
		blockAPIServer, err := newLocalBlockAPIServer(dir, cacheBytes, etcdAddress)
		if err != nil {
			return nil, err
		}
		return blockAPIServer, nil
	}
}
func NewBlockAPIServer(dir string, cacheBytes int64, backend string, etcdAddress string) (BlockAPIServer, error) {
	switch backend {
	case MinioBackendEnvVar:
		// S3 compatible doesn't like leading slashes
		if len(dir) > 0 && dir[0] == '/' {
			dir = dir[1:]
		}
		blockAPIServer, err := newMinioBlockAPIServer(dir, cacheBytes, etcdAddress)
		if err != nil {
			return nil, err
		}
		return blockAPIServer, nil
	case AmazonBackendEnvVar:
		// amazon doesn't like leading slashes
		if len(dir) > 0 && dir[0] == '/' {
			dir = dir[1:]
		}
		blockAPIServer, err := newAmazonBlockAPIServer(dir, cacheBytes, etcdAddress)
		if err != nil {
			return nil, err
		}
		return blockAPIServer, nil
	case GoogleBackendEnvVar:
		// TODO figure out if google likes leading slashses
		blockAPIServer, err := newGoogleBlockAPIServer(dir, cacheBytes, etcdAddress)
		if err != nil {
			return nil, err
		}
		return blockAPIServer, nil
	case MicrosoftBackendEnvVar:
		blockAPIServer, err := newMicrosoftBlockAPIServer(dir, cacheBytes, etcdAddress)
		if err != nil {
			return nil, err
		}
		return blockAPIServer, nil
	case LocalBackendEnvVar:
		fallthrough
	default:
		blockAPIServer, err := newLocalBlockAPIServer(dir, cacheBytes, etcdAddress)
		if err != nil {
			return nil, err
		}
		return blockAPIServer, nil
	}
}
func NewBlockAPIServer ( dir string , cacheBytes int64 , backend string , etcdAddress string ) ( BlockAPIServer , error ) { switch backend { case MinioBackendEnvVar : // S3 compatible doesn't like leading slashes if len ( dir ) > 0 && dir [ 0 ] == '/' { dir = dir [ 1 : ] } blockAPIServer , err := newMinioBlockAPIServer ( dir , cacheBytes , etcdAddress ) if err != nil { return nil , err } return blockAPIServer , nil case AmazonBackendEnvVar : // amazon doesn't like leading slashes if len ( dir ) > 0 && dir [ 0 ] == '/' { dir = dir [ 1 : ] } blockAPIServer , err := newAmazonBlockAPIServer ( dir , cacheBytes , etcdAddress ) if err != nil { return nil , err } return blockAPIServer , nil case GoogleBackendEnvVar : // TODO figure out if google likes leading slashses blockAPIServer , err := newGoogleBlockAPIServer ( dir , cacheBytes , etcdAddress ) if err != nil { return nil , err } return blockAPIServer , nil case MicrosoftBackendEnvVar : blockAPIServer , err := newMicrosoftBlockAPIServer ( dir , cacheBytes , etcdAddress ) if err != nil { return nil , err } return blockAPIServer , nil case LocalBackendEnvVar : fallthrough default : blockAPIServer , err := newLocalBlockAPIServer ( dir , cacheBytes , etcdAddress ) if err != nil { return nil , err } return blockAPIServer , nil } }
// NewBlockAPIServer creates a BlockAPIServer using the credentials it finds in
// the environment
NewBlockAPIServer creates a BlockAPIServer using the credentials it finds in the environment