All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.morpheusdata.model.Replication Maven / Gradle / Ivy

package com.morpheusdata.model;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import java.util.Date;
import com.morpheusdata.model.serializers.ModelAsIdOnlySerializer;

public class Replication extends MorpheusModel {

	@JsonSerialize(using=ModelAsIdOnlySerializer.class)
	protected Account account;
	@JsonSerialize(using=ModelAsIdOnlySerializer.class)
	protected User createdBy;
	protected String name;
	@JsonSerialize(using=ModelAsIdOnlySerializer.class)
	protected BackupProvider backupProvider;
	@JsonSerialize(using=ModelAsIdOnlySerializer.class)
	protected ReplicationType replicationType;
	@JsonSerialize(using=ModelAsIdOnlySerializer.class)
	protected ReplicationSite replicationSite;
	@JsonSerialize(using=ModelAsIdOnlySerializer.class)
	protected ReplicationGroup replicationGroup;
	protected String replicationSetId;
	protected Boolean active = true;
	protected Boolean enabled = true;
	//execution
	protected Date lastReplication;
	protected Long replicationLag = 0l;
	protected String lastStatus;
	//source
	protected Long containerId;
	protected Long instanceId;
	protected Long computeServerId;
	protected Long containerTypeId;
	protected Long instanceLayoutId;
	protected Long servicePlanId;
	protected Long zoneId;
	protected Long siteId;
	protected Long sourceProviderId;
	//target
	protected Long targetContainerId;
	protected Long targetInstanceId;
	protected Long targetComputeServerId;
	protected Long targetContainerTypeId;
	protected Long targetInstanceLayoutId;
	protected Long targetServicePlanId;
	protected Long targetZoneId;
	protected Long targetSiteId;
	protected Long targetProviderId;
	protected String targetHost;
	protected Integer targetPort;
	protected String targetUsername;
	protected String targetPassword;
	protected String targetName;
	protected String targetCustom;
	protected Boolean targetIncremental;
	//executor
	protected String sshHost;
	protected Integer sshPort;
	protected String sshUsername;
	protected String sshPassword;
	//stats
	protected Long targetSize;
	protected Long backupSize;
	protected String targetPath;
	protected String volumePath;
	protected String targetBucket;
	protected String targetArchive;
	protected Boolean compressed = false;
	//metrics
	protected Long targetLag = 0l;
	protected Long maxStorage;
	protected Long usedStorage;
	protected Long throughput;
	protected Integer iops;
	protected String status;
	protected String subStatus;
	protected Double statusPercent;
	protected String statusMessage;
	protected Date lastFailover;
	protected String priority;
	protected Integer entityCount;
	//general
	protected Long sourceGroupId;
	protected String internalId;
	protected String externalId;
	protected String replicationConfig;
	protected Date dateCreated;
	protected Date lastUpdated;

	public Account getAccount() {
		return account;
	}

	public void setAccount(Account account) {
		markDirty("account", account, this.account);
		this.account = account;
	}

	public User getCreatedBy() {
		return createdBy;
	}

	public void setCreatedBy(User createdBy) {
		this.createdBy = createdBy;
		markDirty("createdBy", createdBy);
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy