/
deployment_backuper.go
40 lines (35 loc) · 1.02 KB
/
deployment_backuper.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package factory
import (
"time"
"github.com/cloudfoundry-incubator/bosh-backup-and-restore/backup"
"github.com/cloudfoundry-incubator/bosh-backup-and-restore/bosh"
"github.com/cloudfoundry-incubator/bosh-backup-and-restore/executor"
"github.com/cloudfoundry-incubator/bosh-backup-and-restore/orchestrator"
"github.com/cloudfoundry-incubator/bosh-backup-and-restore/orderer"
boshlog "github.com/cloudfoundry/bosh-utils/logger"
)
func BuildDeploymentBackuper(
target,
username,
password,
caCert string,
withManifest bool,
logger boshlog.Logger,
timestamp string,
) (*orchestrator.Backuper, error) {
boshClient, err := BuildBoshClient(target, username, password, caCert, logger)
if err != nil {
return nil, err
}
execr := executor.NewParallelExecutor()
return orchestrator.NewBackuper(
backup.BackupDirectoryManager{},
logger,
bosh.NewDeploymentManager(boshClient, logger, withManifest),
orderer.NewKahnBackupLockOrderer(),
execr,
time.Now,
orchestrator.NewArtifactCopier(execr, logger),
timestamp,
), nil
}