當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript applicationDataSource.registry.ApplicationDataSourceRegistry類代碼示例

本文整理匯總了TypeScript中core/application/service/applicationDataSource.registry.ApplicationDataSourceRegistry的典型用法代碼示例。如果您正苦於以下問題:TypeScript registry.ApplicationDataSourceRegistry類的具體用法?TypeScript registry.ApplicationDataSourceRegistry怎麽用?TypeScript registry.ApplicationDataSourceRegistry使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了registry.ApplicationDataSourceRegistry類的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: addTags

]).run(($q: IQService, applicationDataSourceRegistry: ApplicationDataSourceRegistry, loadBalancerReader: LoadBalancerReader, entityTagsReader: EntityTagsReader) => {
  const loadLoadBalancers = (application: Application) => {
    return loadBalancerReader.loadLoadBalancers(application.name);
  };

  const addLoadBalancers = (_application: Application, loadBalancers: ILoadBalancer[]) => {
    return addTags(loadBalancers);
  };

  const addTags = (loadBalancers: ILoadBalancer[]) => {
    if (!SETTINGS.feature.entityTags) {
      return $q.when(loadBalancers);
    }
    const entityIds = loadBalancers.map(lb => lb.name);
    return entityTagsReader.getAllEntityTags('loadBalancer', entityIds).then(tags => {
      loadBalancers.forEach(loadBalancer => {
        loadBalancer.entityTags = tags.find(t => t.entityRef.entityId === loadBalancer.name &&
        t.entityRef.account === loadBalancer.account &&
        t.entityRef.region === loadBalancer.region);
      });
      return loadBalancers;
    });
  };

  applicationDataSourceRegistry.registerDataSource(new DataSourceConfig({
    key: 'loadBalancers',
    optional: true,
    loader: loadLoadBalancers,
    onLoad: addLoadBalancers,
    providerField: 'cloudProvider',
    credentialsField: 'account',
    regionField: 'region',
    description: 'Traffic distribution management between servers'
  }));
});
開發者ID:jcwest,項目名稱:deck,代碼行數:35,代碼來源:loadBalancer.dataSource.ts

示例2:

  .run((applicationDataSourceRegistry: ApplicationDataSourceRegistry,
        securityGroupReader: SecurityGroupReader,
        entityTagsReader: EntityTagsReader) => {

    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',
      optional: true,
      loader: loadSecurityGroups,
      onLoad: addSecurityGroups,
      afterLoad: addTags,
      providerField: 'provider',
      credentialsField: 'accountName',
      regionField: 'region',
      description: 'Network traffic access management'
    });
  });
開發者ID:robfletcher,項目名稱:deck,代碼行數:28,代碼來源:securityGroup.dataSource.ts

示例3: require

  .run((cloudProviderRegistry: CloudProviderRegistry,
        applicationDataSourceRegistry: ApplicationDataSourceRegistry) => {

    if (NetflixSettings.feature.netflixMode) {
      cloudProviderRegistry.overrideValue(
        'aws',
        'instance.detailsTemplateUrl',
        require('./instance/aws/instanceDetails.html')
      );
      cloudProviderRegistry.overrideValue(
        'aws',
        'instance.detailsController',
        'netflixAwsInstanceDetailsCtrl'
      );
      cloudProviderRegistry.overrideValue(
        'aws',
        'serverGroup.detailsTemplateUrl',
        require('./serverGroup/awsServerGroupDetails.html')
      );
      cloudProviderRegistry.overrideValue(
        'titus',
        'instance.detailsTemplateUrl',
        require('./instance/titus/instanceDetails.html')
      );
      cloudProviderRegistry.overrideValue(
        'titus',
        'instance.detailsController',
        'netflixTitusInstanceDetailsCtrl'
      );
      applicationDataSourceRegistry.setDataSourceOrder([
        'ci', 'executions', 'serverGroups', 'loadBalancers', 'securityGroups', 'properties', 'analytics', 'tasks', 'config'
      ]);
    }
  });
開發者ID:brujoand,項目名稱:deck,代碼行數:34,代碼來源:netflix.module.ts

示例4:

]).run(($q: IQService, applicationDataSourceRegistry: ApplicationDataSourceRegistry, loadBalancerReader: LoadBalancerReader, entityTagsReader: EntityTagsReader) => {
  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',
    optional: true,
    loader: loadLoadBalancers,
    onLoad: addLoadBalancers,
    afterLoad: addTags,
    providerField: 'cloudProvider',
    credentialsField: 'account',
    regionField: 'region',
    description: 'Traffic distribution management between servers'
  });
});
開發者ID:robfletcher,項目名稱:deck,代碼行數:25,代碼來源:loadBalancer.dataSource.ts

示例5:

]).run(($q: IQService, applicationDataSourceRegistry: ApplicationDataSourceRegistry, entityTagsReader: EntityTagsReader) => {
  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:robfletcher,項目名稱:deck,代碼行數:26,代碼來源:entityTags.dataSource.ts

示例6: DataSourceConfig

 .run((applicationDataSourceRegistry: ApplicationDataSourceRegistry) => {
   if (NetflixSettings.feature.tableau) {
     applicationDataSourceRegistry.registerDataSource(new DataSourceConfig({
       key: 'analytics',
       sref: '.analytics',
       optIn: true,
       optional: true,
       description: 'Pipeline and task statistics'
     }));
   }
 });
開發者ID:brujoand,項目名稱:deck,代碼行數:11,代碼來源:tableau.dataSource.ts


注:本文中的core/application/service/applicationDataSource.registry.ApplicationDataSourceRegistry類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。