import { FleioId, IBaseFleioObjectModel } from '../../base-model/base-fleio-object.model';
import { IClusterTemplateModel } from '@fleio-api/openstack/model/cluster-template.model';
import { IProjectModel } from '@fleio-api/openstack/project/model/project.model';
import { IClientModel } from '@fleio-api/client-user/model/client.model';

export interface IClusterModel extends IBaseFleioObjectModel {
  api_address: string;
  client: IClientModel;
  cluster_template: IClusterTemplateModel;
  create_timeout: number;
  created_at: Date;
  discovery_url: string;
  display_status: string;
  faults: any;
  flavor_display?: string;
  flavor_id: string;
  fleio_project_id: FleioId;
  health_status: string;
  keypair: string;
  labels: string;
  master_addresses: string;
  master_count: number;
  master_flavor_display?: string;
  master_flavor_id: string;
  name: string;
  node_addresses: string;
  node_count: number;
  project: IProjectModel;
  region: string;
  stack_id: string;
  status: string;
  status_reason: string;
  sync_version: number;
  under_task: boolean;
  updated_at: Date;
}
