本文整理汇总了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'
}));
});
示例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'
});
});
示例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'
]);
}
});
示例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'
});
});
示例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,
});
});
示例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'
}));
}
});