当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript ApplicationDataSourceRegistry.registerDataSource方法代码示例

本文整理汇总了TypeScript中core/application/service/ApplicationDataSourceRegistry.ApplicationDataSourceRegistry.registerDataSource方法的典型用法代码示例。如果您正苦于以下问题:TypeScript ApplicationDataSourceRegistry.registerDataSource方法的具体用法?TypeScript ApplicationDataSourceRegistry.registerDataSource怎么用?TypeScript ApplicationDataSourceRegistry.registerDataSource使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在core/application/service/ApplicationDataSourceRegistry.ApplicationDataSourceRegistry的用法示例。


在下文中一共展示了ApplicationDataSourceRegistry.registerDataSource方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1:

  ($q: IQService, loadBalancerReader: LoadBalancerReader) => {
    const loadLoadBalancers = (application: Application) => {
      return loadBalancerReader.loadLoadBalancers(application.name);
    };

    const addLoadBalancers = (_application: Application, loadBalancers: ILoadBalancer[]) => {
      return $q.when(loadBalancers);
    };

    const addTags = (application: Application) => {
      EntityTagsReader.addTagsToLoadBalancers(application);
    };

    ApplicationDataSourceRegistry.registerDataSource({
      key: 'loadBalancers',
      sref: '.insight.loadBalancers',
      category: INFRASTRUCTURE_KEY,
      optional: true,
      icon: 'fa fa-xs fa-fw icon-sitemap',
      loader: loadLoadBalancers,
      onLoad: addLoadBalancers,
      afterLoad: addTags,
      providerField: 'cloudProvider',
      credentialsField: 'account',
      regionField: 'region',
      description: 'Traffic distribution management between servers',
    });
  },
开发者ID:mizzy,项目名称:deck,代码行数:28,代码来源:loadBalancer.dataSource.ts

示例2:

  (securityGroupReader: SecurityGroupReader) => {
    const loadSecurityGroups = (application: Application) => {
      return securityGroupReader.loadSecurityGroupsByApplicationName(application.name);
    };

    const addSecurityGroups = (application: Application, securityGroups: ISecurityGroup[]) => {
      return securityGroupReader.getApplicationSecurityGroups(application, securityGroups);
    };

    const addTags = (application: Application) => {
      return EntityTagsReader.addTagsToSecurityGroups(application);
    };

    ApplicationDataSourceRegistry.registerDataSource({
      key: 'securityGroups',
      label: 'Firewalls',
      category: INFRASTRUCTURE_KEY,
      sref: '.insight.firewalls',
      optional: true,
      icon: 'fa fa-xs fa-fw fa-lock',
      loader: loadSecurityGroups,
      onLoad: addSecurityGroups,
      afterLoad: addTags,
      providerField: 'provider',
      credentialsField: 'accountName',
      regionField: 'region',
      description: 'Network traffic access management',
    });
  },
开发者ID:emjburns,项目名称:deck,代码行数:29,代码来源:securityGroup.dataSource.ts

示例3: module

module(ENTITY_TAGS_DATA_SOURCE, [LOAD_BALANCER_READ_SERVICE]).run(($q: IQService) => {
  if (!SETTINGS.feature.entityTags) {
    return;
  }
  const loadEntityTags = (application: Application) => {
    return EntityTagsReader.getAllEntityTagsForApplication(application.name);
  };

  const addEntityTags = (_application: Application, data: IEntityTags[]) => {
    return $q.when(data);
  };

  const addTagsToEntities = (application: Application) => {
    application
      .getDataSource('serverGroups')
      .ready()
      .then(() => EntityTagsReader.addTagsToServerGroups(application), noop);
    application
      .getDataSource('loadBalancers')
      .ready()
      .then(() => EntityTagsReader.addTagsToLoadBalancers(application), noop);
    application
      .getDataSource('securityGroups')
      .ready()
      .then(() => EntityTagsReader.addTagsToSecurityGroups(application), noop);
  };

  ApplicationDataSourceRegistry.registerDataSource({
    key: 'entityTags',
    visible: false,
    loader: loadEntityTags,
    onLoad: addEntityTags,
    afterLoad: addTagsToEntities,
  });
});
开发者ID:mizzy,项目名称:deck,代码行数:35,代码来源:entityTags.dataSource.ts

示例4:

  ($q: IQService) => {
    if (!SETTINGS.feature.entityTags) {
      return;
    }
    const loadEntityTags = (application: Application) => {
      return EntityTagsReader.getAllEntityTagsForApplication(application.name);
    };

    const addEntityTags = (_application: Application, data: IEntityTags[]) => {
      return $q.when(data);
    };

    const addTagsToEntities = (application: Application) => {
      application
        .getDataSource('serverGroups')
        .ready()
        .then(() => EntityTagsReader.addTagsToServerGroups(application), noop);
      application
        .getDataSource('serverGroupManagers')
        .ready()
        .then(() => EntityTagsReader.addTagsToServerGroupManagers(application), noop);
      application
        .getDataSource('loadBalancers')
        .ready()
        .then(() => EntityTagsReader.addTagsToLoadBalancers(application), noop);
      application
        .getDataSource('securityGroups')
        .ready()
        .then(() => EntityTagsReader.addTagsToSecurityGroups(application), noop);
      application
        .getDataSource('executions')
        .ready()
        .then(() => EntityTagsReader.addTagsToExecutions(application), noop);
      application
        .getDataSource('pipelineConfigs')
        .ready()
        .then(() => EntityTagsReader.addTagsToPipelines(application), noop);
    };

    ApplicationDataSourceRegistry.registerDataSource({
      key: 'entityTags',
      visible: false,
      loader: loadEntityTags,
      onLoad: addEntityTags,
      afterLoad: addTagsToEntities,
    });
  },
开发者ID:emjburns,项目名称:deck,代码行数:47,代码来源:entityTags.dataSource.ts


注:本文中的core/application/service/ApplicationDataSourceRegistry.ApplicationDataSourceRegistry.registerDataSource方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。