public static loadEnvironments()

in services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.model.ts [59:149]


  public static loadEnvironments(data: Array<any>) {
    if (data) {

      return data.map((value) => {
        const exploratory = value.exploratory.map(el => {
          const provider = el.cloud_provider.toLowerCase();
          const billing = value.exploratoryBilling.filter(res => res.name === el.exploratory_name)[0];
          return new ExploratoryModel(
            provider,
            el.exploratory_name,
            el.template_name,
            el.image,
            el.status,
            el.shape,
            el.computational_resources,
            el.up_time,
            el.exploratory_url,
            value.shared[el.endpoint].edge_node_ip,
            el.private_ip,
            el.exploratory_user,
            el.exploratory_pass,
            value.shared[el.endpoint][DICTIONARY[provider].bucket_name],
            value.shared[el.endpoint][DICTIONARY[provider].shared_bucket_name],
            el.error_message,
            billing ? billing.total_cost : '',
            billing ? billing.currency : '',
            billing,
            el.libs,
            value.shared[el.endpoint][DICTIONARY[provider].user_storage_account_name],
            value.shared[el.endpoint][DICTIONARY[provider].shared_storage_account_name],
            value.shared[el.endpoint][DICTIONARY[provider].datalake_name],
            value.shared[el.endpoint][DICTIONARY[provider].datalake_user_directory_name],
            value.shared[el.endpoint][DICTIONARY[provider].datalake_shared_directory_name],
            el.project,
            el.endpoint,
            el.tags,
            value.shared[el.endpoint].status,
            !!el.computational_resources.filter(resource => resource.status !== 'terminated' && resource.status !== 'failed').length,
            el.gpu_type,
            el.gpu_count
          );
        });

        const odahu = value.odahu.map(el => {
          let provider;
          if (el.cloud_provider) {
            provider = el.cloud_provider.toLowerCase();
          } else {
            provider = 'azure';
          }
          return new ExploratoryModel(
            provider,
            el.name,
            el.template_name,
            el.image,
            el.status.toLowerCase(),
            'odahu cluster',
            [],
            el.up_time,
            el.urls,
            value.shared[el.endpoint].edge_node_ip,
            el.private_ip,
            el.exploratory_user,
            el.exploratory_pass,
            el.grafana_admin,
            el.grafana_pass,
            el.error_message,
            el[DICTIONARY[provider].billing.cost],
            el[DICTIONARY[provider].billing.currencyCode],
            [],
            [],
            '',
            '',
            '',
            '',
            '',
            el.project,
            el.endpoint,
            el.tags,
            '',
            false,
          ); });
        return {
          project: value.project,
          exploratory: [...exploratory, ...odahu],
          endpoints: value.endpoints,
          projectEndpoints: value.shared
        };
      });
    }
  }