package io.cattle.platform.core.constants; import io.cattle.platform.archaius.util.ArchaiusUtil; import io.cattle.platform.core.addon.ServicesPortRange; import io.cattle.platform.core.model.Account; import io.cattle.platform.core.util.ConstantsUtils; import io.cattle.platform.core.util.PortRangeSpec; import com.netflix.config.DynamicStringProperty; public class AccountConstants { /* * Read from config file to support upgrade scenario when default port range is not set on account */ private static final DynamicStringProperty ENV_PORT_RANGE = ArchaiusUtil .getString("environment.services.port.range"); public static final String TYPE = "account"; public static final String REGISTERED_AGENT_KIND = "registeredAgent"; public static final String AGENT_KIND = "agent"; public static final String SERVICE_KIND = "service"; public static final String USER_KIND = "user"; public static final String ADMIN_KIND = "admin"; public static final String SUPER_ADMIN_KIND = "superadmin"; public static final String PROJECT_KIND = "project"; public static final String FIELD_PORT_RANGE = "servicesPortRange"; public static final String FIELD_CREATED_STACKS = "createdStackIds"; public static final String FIELD_STARTED_STACKS = "startedStackIds"; public static final String FIELD_VERSION = "version"; public static final String FIELD_ACCOUNT_LINKS = "projectLinks"; public static final String FIELD_HOST_REMOVE_DELAY = "hostRemoveDelaySeconds"; public static final String FIELD_SCHEDULED_UPGRADE_DELAY = "scheduledUpgradeDelayMinutes"; public static final DynamicStringProperty ACCOUNT_VERSION = ArchaiusUtil.getString("account.version"); public static final String ACCOUNT_ID = ConstantsUtils.property(Account.class, "accountId"); public static final String SYSTEM_UUID = "system"; public static final String OPTION_CREATE_APIKEY = "createApiKey"; public static final String OPTION_CREATE_APIKEY_KIND = "createApiKeyKind"; public static final String FIELD_DEFAULT_NETWORK_ID = "defaultNetworkId"; public static final String FIELD_ALLOW_SYSTEM_ROLE = "allowSystemRole"; public static final String FIELD_VIRTUAL_MACHINE = "virtualMachine"; public static final String FIELD_ORCHESTRATION = "orchestration"; public static final String DATA_ACT_AS_RESOURCE_ACCOUNT = "actAsResourceAccount"; public static final String DATA_AGENT_OWNER_ID = "agentOwnerId"; public static final String DATA_ACT_AS_RESOURCE_ADMIN_ACCOUNT = "actAsResourceAdminAccount"; public static final String ACCOUNT_DEACTIVATE = "account.deactivate"; public static final String ACCOUNT_REMOVE = "account.remove"; public static final String AUTH_TYPE = "authType"; public static final String LAST_ADMIN_ACCOUNT = "LastAdminAccount"; public static final String ADMIN_REQUIRED_MESSAGE = "At least one admin account is required at all times"; public static final String ORC_KUBERNETES = "k8s"; public static final String ORC_KUBERNETES_DISPLAY = "kubernetes"; public static final String ORC_SWARM = "swarm"; public static final String ORC_MESOS = "mesos"; public static final String ORC_WINDOWS = "windows"; public static ServicesPortRange getDefaultServicesPortRange() { PortRangeSpec spec = new PortRangeSpec(ENV_PORT_RANGE.get()); return new ServicesPortRange(spec.getStartPort(), spec.getEndPort()); } }