/**
 * devopness API
 * Devopness API - Painless essential DevOps to everyone
 *
 * The version of the OpenAPI document: latest
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { ActionRelation } from './action-relation';
import { CloudOsVersionCode } from './cloud-os-version-code';
import { CredentialRelation } from './credential-relation';
import { EnvironmentRelation } from './environment-relation';
import { OperatingSystemVersion } from './operating-system-version';
import { ProjectRelation } from './project-relation';
import { ServerBlueprint } from './server-blueprint';
import { ServerCloudServiceCode } from './server-cloud-service-code';
import { ServerProvisionInput } from './server-provision-input';
import { ServerStatus } from './server-status';
import { UserRelation } from './user-relation';
/**
 *
 * @export
 * @interface Server
 */
export interface Server {
    /**
     * The unique id of the given record
     * @type {number}
     * @memberof Server
     */
    id: number;
    /**
     * The id of the user who created the server and to whom the server belongs
     * @type {number}
     * @memberof Server
     */
    created_by: number;
    /**
     * The server\'s name
     * @type {string}
     * @memberof Server
     */
    name: string;
    /**
     * The server\'s hostname
     * @type {string}
     * @memberof Server
     */
    hostname: string;
    /**
     * The name of the server\'s provider.
     * @type {string}
     * @memberof Server
     */
    provider_name: string;
    /**
     * The human readable version of the provider\'s name
     * @type {string}
     * @memberof Server
     */
    provider_name_human_readable: string;
    /**
     *
     * @type {ServerCloudServiceCode}
     * @memberof Server
     */
    cloud_service_code: ServerCloudServiceCode;
    /**
     * Public ipv4 address for server access
     * @type {string}
     * @memberof Server
     */
    ip_address?: string;
    /**
     * The network port to which the SSH daemon is listening to SSH connections on the server
     * @type {number}
     * @memberof Server
     */
    ssh_port: number;
    /**
     *
     * @type {OperatingSystemVersion}
     * @memberof Server
     */
    os: OperatingSystemVersion;
    /**
     *
     * @type {CloudOsVersionCode}
     * @memberof Server
     */
    os_version_code: CloudOsVersionCode | null;
    /**
     * Tells if the server is active or not
     * @type {boolean}
     * @memberof Server
     */
    active: boolean;
    /**
     *
     * @type {ServerStatus}
     * @memberof Server
     */
    status: ServerStatus;
    /**
     * Maximum number of actions that can run in parallel on this server. `0` means no limit of simultaneous actions. `1` means just a single action will be started at a time to run on this server,
     * @type {number}
     * @memberof Server
     */
    max_parallel_actions: number;
    /**
     *
     * @type {ServerBlueprint}
     * @memberof Server
     */
    blueprint: ServerBlueprint;
    /**
     *
     * @type {ServerProvisionInput}
     * @memberof Server
     */
    provision_input: ServerProvisionInput;
    /**
     *
     * @type {UserRelation}
     * @memberof Server
     */
    created_by_user: UserRelation | null;
    /**
     *
     * @type {ProjectRelation}
     * @memberof Server
     */
    project: ProjectRelation | null;
    /**
     *
     * @type {ActionRelation}
     * @memberof Server
     */
    last_action: ActionRelation | null;
    /**
     *
     * @type {EnvironmentRelation}
     * @memberof Server
     */
    environment: EnvironmentRelation | null;
    /**
     *
     * @type {CredentialRelation}
     * @memberof Server
     */
    credential: CredentialRelation | null;
    /**
     * The date and time when the record was created
     * @type {string}
     * @memberof Server
     */
    created_at: string;
    /**
     * The date and time when the record was last updated
     * @type {string}
     * @memberof Server
     */
    updated_at: string;
}
