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

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

/*
 *  Copyright 2024 Morpheus Data, LLC.
 *
 * Licensed under the PLUGIN CORE SOURCE LICENSE (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     https://raw.githubusercontent.com/gomorpheus/morpheus-plugin-core/v1.0.x/LICENSE
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.morpheusdata.model;

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

import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @deprecated
 * Use {@link Workload} instead
 */
@Deprecated
public class Container extends MorpheusModel {
	@JsonSerialize(using= ModelAsIdOnlySerializer.class)
	protected Account account;
	protected Instance instance;
	protected String internalName;
	protected String displayName;
	protected String category;
//	public ContainerType containerType;
//	public ContainerTypeSet containerTypeSet;
protected ComputeServer server;
//	public InstanceAction action;
//	public ServicePlan plan;
//	public ComputeZonePool resourcePool;
protected String apiKey;
	protected Date dateCreated;
	protected Date lastUpdated;
	protected Boolean statsEnabled = true;
	protected Status status = Status.pending;
	protected String statusMessage;
	protected String errorMessage;
//	public Status userStatus;
//	public Status scheduleStatus;
protected String environmentPrefix;
	protected String lastStats;
	protected String configs;
	protected String rawData;
	protected String runtimeInfo;
//	public ComputeAclChain chain;
protected String containerVersion; //copied in on create so it never changes;
	protected String repositoryImage; //copied in on create so it never changes;
	protected String planCategory;
	protected String hostname;
	protected String domainName;
	protected Boolean volumeCreated = false;
	protected Boolean containerCreated = false;
	protected Long maxStorage;
	protected Long maxMemory;
	protected Long maxCores;
	protected Long coresPerSocket;
	protected Long maxCpu;
	protected Long usedStorage;
	protected Long usedMemory;
	protected Float usedCpu;
	protected Long provisionTime = 0L;
	//Optional Meta;
//	public AppDeploy appDeploy;
//	public NetworkLoadBalancerInstance networkLoadBalancerInstance;
	protected Network network;
//	public NetworkSubnet subnet;
//	public NetworkGroup networkGroup;
protected String configGroup;
	protected String configId;
	protected String configRole;
	protected String configSettings;
	protected String configTags;
	protected String inventoryExternalRef;
	protected Long inventoryServiceId;
	protected String changeManagementExtId;
	protected Long changeManagementServiceId;
	//ips for virtual networking;
	protected String internalIp;
	protected String externalIp;
	//external mapping;
	protected String internalId; //id of the pod;
	protected String externalId; //id of the container;
	protected String uniqueId; //id to the container engine;
	protected String controlId; //id in the scheduler;
	protected String monitorId; //id of the monitor;
	protected String serviceId; //id of the service;
	protected String deploymentId; //id of the spec used to deploy;
	protected String iacId; //id for infrastructure as code integrations;
	protected String specType; //tracking mapping to scheduler;
	protected String specId;
	protected String resourceLevel = "app";
	//pricing estimates;
	protected Double hourlyPrice = 0D;
	protected Double hourlyCost = 0D;
	protected Double runningMultiplier = 0D;
	protected Double runningPrice;
	protected Double runningCost;
	protected String serviceUrls;  // take priority over ipAddress stuff;
	protected Boolean inService = true;
	protected String itemSource = "user";
	protected Boolean managed = true;
	protected String uuid;

//	static hasMany = [files:ContainerFile, mounts:ContainerMount, ports:ContainerPort, logs:ContainerLog,
//	configMaps:ContainerConfig, volumes:StorageVolume]

	// TODO: implement parsing config
	public Map getConfigProperty(String prop) {
		return Collections.emptyMap();
	}

	void setServerId(Long id) {
		this.server = new ComputeServer();
		this.server.id = id;
	}

	void setNetworkId(Long id) {
		this.network = new Network();
		this.network.id = id;
	}

	void setInstanceId(Long id) {
		this.instance = new Instance();
		this.instance.id = id;
	}

	public Account getAccount() {
		return account;
	}

	public Instance getInstance() {
		return instance;
	}

	public String getInternalName() {
		return internalName;
	}

	public String getDisplayName() {
		return displayName;
	}

	public String getCategory() {
		return category;
	}

	public ComputeServer getServer() {
		return server;
	}

	public String getApiKey() {
		return apiKey;
	}

	public Date getDateCreated() {
		return dateCreated;
	}

	public Date getLastUpdated() {
		return lastUpdated;
	}

	public Boolean getStatsEnabled() {
		return statsEnabled;
	}

	public com.morpheusdata.model.Container.Status getStatus() {
		return status;
	}

	public String getStatusMessage() {
		return statusMessage;
	}

	public String getErrorMessage() {
		return errorMessage;
	}

	public String getEnvironmentPrefix() {
		return environmentPrefix;
	}

	public String getLastStats() {
		return lastStats;
	}

	public String getConfigs() {
		return configs;
	}

	public String getRawData() {
		return rawData;
	}

	public String getRuntimeInfo() {
		return runtimeInfo;
	}

	public String getContainerVersion() {
		return containerVersion;
	}

	public String getRepositoryImage() {
		return repositoryImage;
	}

	public String getPlanCategory() {
		return planCategory;
	}

	public String getHostname() {
		return hostname;
	}

	public String getDomainName() {
		return domainName;
	}

	public Boolean getVolumeCreated() {
		return volumeCreated;
	}

	public Boolean getContainerCreated() {
		return containerCreated;
	}

	public Long getMaxStorage() {
		return maxStorage;
	}

	public Long getMaxMemory() {
		return maxMemory;
	}

	public Long getMaxCores() {
		return maxCores;
	}

	public Long getCoresPerSocket() {
		return coresPerSocket;
	}

	public Long getMaxCpu() {
		return maxCpu;
	}

	public Long getUsedStorage() {
		return usedStorage;
	}

	public Long getUsedMemory() {
		return usedMemory;
	}

	public Float getUsedCpu() {
		return usedCpu;
	}

	public Long getProvisionTime() {
		return provisionTime;
	}

	public Network getNetwork() {
		return network;
	}

	public String getConfigGroup() {
		return configGroup;
	}

	public String getConfigId() {
		return configId;
	}

	public String getConfigRole() {
		return configRole;
	}

	public String getConfigSettings() {
		return configSettings;
	}

	public String getConfigTags() {
		return configTags;
	}

	public String getInventoryExternalRef() {
		return inventoryExternalRef;
	}

	public Long getInventoryServiceId() {
		return inventoryServiceId;
	}

	public String getChangeManagementExtId() {
		return changeManagementExtId;
	}

	public Long getChangeManagementServiceId() {
		return changeManagementServiceId;
	}

	public String getInternalIp() {
		return internalIp;
	}

	public String getExternalIp() {
		return externalIp;
	}

	public String getInternalId() {
		return internalId;
	}

	public String getExternalId() {
		return externalId;
	}

	public String getUniqueId() {
		return uniqueId;
	}

	public String getControlId() {
		return controlId;
	}

	public String getMonitorId() {
		return monitorId;
	}

	public String getServiceId() {
		return serviceId;
	}

	public String getDeploymentId() {
		return deploymentId;
	}

	public String getIacId() {
		return iacId;
	}

	public String getSpecType() {
		return specType;
	}

	public String getSpecId() {
		return specId;
	}

	public String getResourceLevel() {
		return resourceLevel;
	}

	public Double getHourlyPrice() {
		return hourlyPrice;
	}

	public Double getHourlyCost() {
		return hourlyCost;
	}

	public Double getRunningMultiplier() {
		return runningMultiplier;
	}

	public Double getRunningPrice() {
		return runningPrice;
	}

	public Double getRunningCost() {
		return runningCost;
	}

	public String getServiceUrls() {
		return serviceUrls;
	}

	public Boolean getInService() {
		return inService;
	}

	public String getItemSource() {
		return itemSource;
	}

	public Boolean getManaged() {
		return managed;
	}

	public String getUuid() {
		return uuid;
	}

	public enum Status {
		deploying,
		running,
		stopped,
		suspended,
		failed,
		pending,
		expired,
		stopping,
		starting,
		suspending,
		warning,
		unknown
	}
	public void setAccount(Account account) {
		this.account = account;
		markDirty("account", account);
	}

	public void setInstance(Instance instance) {
		this.instance = instance;
		markDirty("instance", instance);
	}

	public void setInternalName(String internalName) {
		this.internalName = internalName;
		markDirty("internalName", internalName);
	}

	public void setDisplayName(String displayName) {
		this.displayName = displayName;
		markDirty("displayName", displayName);
	}

	public void setCategory(String category) {
		this.category = category;
		markDirty("category", category);
	}

	public void setServer(ComputeServer server) {
		this.server = server;
		markDirty("server", server);
	}

	public void setApiKey(String apiKey) {
		this.apiKey = apiKey;
		markDirty("apiKey", apiKey);
	}

	public void setDateCreated(Date dateCreated) {
		this.dateCreated = dateCreated;
		markDirty("dateCreated", dateCreated);
	}

	public void setLastUpdated(Date lastUpdated) {
		this.lastUpdated = lastUpdated;
		markDirty("lastUpdated", lastUpdated);
	}

	public void setStatsEnabled(Boolean statsEnabled) {
		this.statsEnabled = statsEnabled;
		markDirty("statsEnabled", statsEnabled);
	}

	public void setStatus(com.morpheusdata.model.Container.Status status) {
		this.status = status;
		markDirty("status", status);
	}

	public void setStatusMessage(String statusMessage) {
		this.statusMessage = statusMessage;
		markDirty("statusMessage", statusMessage);
	}

	public void setErrorMessage(String errorMessage) {
		this.errorMessage = errorMessage;
		markDirty("errorMessage", errorMessage);
	}

	public void setEnvironmentPrefix(String environmentPrefix) {
		this.environmentPrefix = environmentPrefix;
		markDirty("environmentPrefix", environmentPrefix);
	}

	public void setLastStats(String lastStats) {
		this.lastStats = lastStats;
		markDirty("lastStats", lastStats);
	}

	public void setConfigs(String configs) {
		this.configs = configs;
		markDirty("configs", configs);
	}

	public void setRawData(String rawData) {
		this.rawData = rawData;
		markDirty("rawData", rawData);
	}

	public void setRuntimeInfo(String runtimeInfo) {
		this.runtimeInfo = runtimeInfo;
		markDirty("runtimeInfo", runtimeInfo);
	}

	public void setContainerVersion(String containerVersion) {
		this.containerVersion = containerVersion;
		markDirty("containerVersion", containerVersion);
	}

	public void setRepositoryImage(String repositoryImage) {
		this.repositoryImage = repositoryImage;
		markDirty("repositoryImage", repositoryImage);
	}

	public void setPlanCategory(String planCategory) {
		this.planCategory = planCategory;
		markDirty("planCategory", planCategory);
	}

	public void setHostname(String hostname) {
		this.hostname = hostname;
		markDirty("hostname", hostname);
	}

	public void setDomainName(String domainName) {
		this.domainName = domainName;
		markDirty("domainName", domainName);
	}

	public void setVolumeCreated(Boolean volumeCreated) {
		this.volumeCreated = volumeCreated;
		markDirty("volumeCreated", volumeCreated);
	}

	public void setContainerCreated(Boolean containerCreated) {
		this.containerCreated = containerCreated;
		markDirty("containerCreated", containerCreated);
	}

	public void setMaxStorage(Long maxStorage) {
		this.maxStorage = maxStorage;
		markDirty("maxStorage", maxStorage);
	}

	public void setMaxMemory(Long maxMemory) {
		this.maxMemory = maxMemory;
		markDirty("maxMemory", maxMemory);
	}

	public void setMaxCores(Long maxCores) {
		this.maxCores = maxCores;
		markDirty("maxCores", maxCores);
	}

	public void setCoresPerSocket(Long coresPerSocket) {
		this.coresPerSocket = coresPerSocket;
		markDirty("coresPerSocket", coresPerSocket);
	}

	public void setMaxCpu(Long maxCpu) {
		this.maxCpu = maxCpu;
		markDirty("maxCpu", maxCpu);
	}

	public void setUsedStorage(Long usedStorage) {
		this.usedStorage = usedStorage;
		markDirty("usedStorage", usedStorage);
	}

	public void setUsedMemory(Long usedMemory) {
		this.usedMemory = usedMemory;
		markDirty("usedMemory", usedMemory);
	}

	public void setUsedCpu(Float usedCpu) {
		this.usedCpu = usedCpu;
		markDirty("usedCpu", usedCpu);
	}

	public void setProvisionTime(Long provisionTime) {
		this.provisionTime = provisionTime;
		markDirty("provisionTime", provisionTime);
	}

	public void setNetwork(Network network) {
		this.network = network;
		markDirty("network", network);
	}

	public void setConfigGroup(String configGroup) {
		this.configGroup = configGroup;
		markDirty("configGroup", configGroup);
	}

	public void setConfigId(String configId) {
		this.configId = configId;
		markDirty("configId", configId);
	}

	public void setConfigRole(String configRole) {
		this.configRole = configRole;
		markDirty("configRole", configRole);
	}

	public void setConfigSettings(String configSettings) {
		this.configSettings = configSettings;
		markDirty("configSettings", configSettings);
	}

	public void setConfigTags(String configTags) {
		this.configTags = configTags;
		markDirty("configTags", configTags);
	}

	public void setInventoryExternalRef(String inventoryExternalRef) {
		this.inventoryExternalRef = inventoryExternalRef;
		markDirty("inventoryExternalRef", inventoryExternalRef);
	}

	public void setInventoryServiceId(Long inventoryServiceId) {
		this.inventoryServiceId = inventoryServiceId;
		markDirty("inventoryServiceId", inventoryServiceId);
	}

	public void setChangeManagementExtId(String changeManagementExtId) {
		this.changeManagementExtId = changeManagementExtId;
		markDirty("changeManagementExtId", changeManagementExtId);
	}

	public void setChangeManagementServiceId(Long changeManagementServiceId) {
		this.changeManagementServiceId = changeManagementServiceId;
		markDirty("changeManagementServiceId", changeManagementServiceId);
	}

	public void setInternalIp(String internalIp) {
		this.internalIp = internalIp;
		markDirty("internalIp", internalIp);
	}

	public void setExternalIp(String externalIp) {
		this.externalIp = externalIp;
		markDirty("externalIp", externalIp);
	}

	public void setInternalId(String internalId) {
		this.internalId = internalId;
		markDirty("internalId", internalId);
	}

	public void setExternalId(String externalId) {
		this.externalId = externalId;
		markDirty("externalId", externalId);
	}

	public void setUniqueId(String uniqueId) {
		this.uniqueId = uniqueId;
		markDirty("uniqueId", uniqueId);
	}

	public void setControlId(String controlId) {
		this.controlId = controlId;
		markDirty("controlId", controlId);
	}

	public void setMonitorId(String monitorId) {
		this.monitorId = monitorId;
		markDirty("monitorId", monitorId);
	}

	public void setServiceId(String serviceId) {
		this.serviceId = serviceId;
		markDirty("serviceId", serviceId);
	}

	public void setDeploymentId(String deploymentId) {
		this.deploymentId = deploymentId;
		markDirty("deploymentId", deploymentId);
	}

	public void setIacId(String iacId) {
		this.iacId = iacId;
		markDirty("iacId", iacId);
	}

	public void setSpecType(String specType) {
		this.specType = specType;
		markDirty("specType", specType);
	}

	public void setSpecId(String specId) {
		this.specId = specId;
		markDirty("specId", specId);
	}

	public void setResourceLevel(String resourceLevel) {
		this.resourceLevel = resourceLevel;
		markDirty("resourceLevel", resourceLevel);
	}

	public void setHourlyPrice(Double hourlyPrice) {
		this.hourlyPrice = hourlyPrice;
		markDirty("hourlyPrice", hourlyPrice);
	}

	public void setHourlyCost(Double hourlyCost) {
		this.hourlyCost = hourlyCost;
		markDirty("hourlyCost", hourlyCost);
	}

	public void setRunningMultiplier(Double runningMultiplier) {
		this.runningMultiplier = runningMultiplier;
		markDirty("runningMultiplier", runningMultiplier);
	}

	public void setRunningPrice(Double runningPrice) {
		this.runningPrice = runningPrice;
		markDirty("runningPrice", runningPrice);
	}

	public void setRunningCost(Double runningCost) {
		this.runningCost = runningCost;
		markDirty("runningCost", runningCost);
	}

	public void setServiceUrls(String serviceUrls) {
		this.serviceUrls = serviceUrls;
		markDirty("serviceUrls", serviceUrls);
	}

	public void setInService(Boolean inService) {
		this.inService = inService;
		markDirty("inService", inService);
	}

	public void setItemSource(String itemSource) {
		this.itemSource = itemSource;
		markDirty("itemSource", itemSource);
	}

	public void setManaged(Boolean managed) {
		this.managed = managed;
		markDirty("managed", managed);
	}

	public void setUuid(String uuid) {
		this.uuid = uuid;
		markDirty("uuid", uuid);
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy