in services/library/src/main/java/com/google/cloud/pso/bq_snapshot_manager/entities/backup_policy/BackupPolicy.java [47:73]
public BackupPolicy(BackupPolicy.BackupPolicyBuilder builder) throws IllegalArgumentException {
List<BackupPolicyFields> missingFields = validate(builder);
if (!missingFields.isEmpty()) {
throw new IllegalArgumentException(
String.format("Backup policy is invalid for backup method '%s'. The following fields are missing %s",
builder.method,
missingFields
)
);
}
this.cron = builder.cron;
this.method = builder.method;
this.timeTravelOffsetDays = builder.timeTravelOffsetDays;
this.bigQuerySnapshotExpirationDays = builder.bigQuerySnapshotExpirationDays;
this.backupStorageProject = builder.backupStorageProject;
this.backupOperationProject = builder.backupOperationProject;
this.bigQuerySnapshotStorageDataset = builder.bigQuerySnapshotStorageDataset;
this.gcsSnapshotStorageLocation = builder.gcsSnapshotStorageLocation;
this.gcsExportFormat = builder.gcsExportFormat;
this.gcsCsvDelimiter = builder.gcsCsvDelimiter;
this.gcsCsvExportHeader = builder.gcsCsvExportHeader;
this.gcsUseAvroLogicalTypes = builder.gcsUseAvroLogicalTypes;
this.configSource = builder.configSource;
}