Search in sources :

Example 1 with JobCloneSpec

use of org.apache.cloudstack.backup.veeam.api.JobCloneSpec in project cloudstack by apache.

the class VeeamClient method cloneVeeamJob.

public boolean cloneVeeamJob(final Job parentJob, final String clonedJobName) {
    LOG.debug("Trying to clone veeam job: " + parentJob.getUid() + " with backup uuid: " + clonedJobName);
    try {
        final Ref repositoryRef = listBackupRepository(parentJob.getBackupServerId(), parentJob.getName());
        if (repositoryRef == null) {
            throw new CloudRuntimeException(String.format("Failed to clone backup job because couldn't find any " + "repository associated with backup job [id: %s, uid: %s, backupServerId: %s, name: %s].", parentJob.getId(), parentJob.getUid(), parentJob.getBackupServerId(), parentJob.getName()));
        }
        final BackupJobCloneInfo cloneInfo = new BackupJobCloneInfo();
        cloneInfo.setJobName(clonedJobName);
        cloneInfo.setFolderName(clonedJobName);
        cloneInfo.setRepositoryUid(repositoryRef.getUid());
        final JobCloneSpec cloneSpec = new JobCloneSpec(cloneInfo);
        final HttpResponse response = post(String.format("/jobs/%s?action=clone", parentJob.getId()), cloneSpec);
        return checkTaskStatus(response);
    } catch (final Exception e) {
        LOG.warn("Exception caught while trying to clone Veeam job:", e);
    }
    return false;
}
Also used : Ref(org.apache.cloudstack.backup.veeam.api.Ref) JobCloneSpec(org.apache.cloudstack.backup.veeam.api.JobCloneSpec) CloudRuntimeException(com.cloud.utils.exception.CloudRuntimeException) HttpResponse(org.apache.http.HttpResponse) BackupJobCloneInfo(org.apache.cloudstack.backup.veeam.api.BackupJobCloneInfo) URISyntaxException(java.net.URISyntaxException) KeyManagementException(java.security.KeyManagementException) NoSuchAlgorithmException(java.security.NoSuchAlgorithmException) ServerApiException(org.apache.cloudstack.api.ServerApiException) CloudRuntimeException(com.cloud.utils.exception.CloudRuntimeException) ConnectTimeoutException(org.apache.http.conn.ConnectTimeoutException) SocketTimeoutException(java.net.SocketTimeoutException) IOException(java.io.IOException)

Aggregations

CloudRuntimeException (com.cloud.utils.exception.CloudRuntimeException)1 IOException (java.io.IOException)1 SocketTimeoutException (java.net.SocketTimeoutException)1 URISyntaxException (java.net.URISyntaxException)1 KeyManagementException (java.security.KeyManagementException)1 NoSuchAlgorithmException (java.security.NoSuchAlgorithmException)1 ServerApiException (org.apache.cloudstack.api.ServerApiException)1 BackupJobCloneInfo (org.apache.cloudstack.backup.veeam.api.BackupJobCloneInfo)1 JobCloneSpec (org.apache.cloudstack.backup.veeam.api.JobCloneSpec)1 Ref (org.apache.cloudstack.backup.veeam.api.Ref)1 HttpResponse (org.apache.http.HttpResponse)1 ConnectTimeoutException (org.apache.http.conn.ConnectTimeoutException)1