本文整理汇总了TypeScript中@spinnaker/core.Application.getDataSource方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Application.getDataSource方法的具体用法?TypeScript Application.getDataSource怎么用?TypeScript Application.getDataSource使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@spinnaker/core.Application
的用法示例。
在下文中一共展示了Application.getDataSource方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: onTaskComplete
public onTaskComplete(loadBalancer: IGceLoadBalancer): void {
InfrastructureCaches.clearCache('healthCheck');
this.application.getDataSource('loadBalancers').refresh();
this.application
.getDataSource('loadBalancers')
.onNextRefresh(this.$scope, () => this.onApplicationRefresh(loadBalancer));
}
示例2: populateTargetGroups
public static populateTargetGroups(
application: Application,
serverGroup: IAmazonServerGroup,
): IPromise<ITargetGroup[]> {
return $q
.all([AccountService.getAccountDetails(serverGroup.account), application.getDataSource('loadBalancers').ready()])
.then(data => {
const awsAccount = (data[0] && data[0].awsAccount) || serverGroup.account;
const loadBalancers: IAmazonApplicationLoadBalancer[] = application
.getDataSource('loadBalancers')
.data.filter(
lb => lb.loadBalancerType === 'application' || lb.loadBalancerType === 'network',
) as IAmazonApplicationLoadBalancer[];
const targetGroups = serverGroup.targetGroups
.map((targetGroupName: string) => {
const allTargetGroups = flatten(loadBalancers.map(lb => lb.targetGroups || []));
const targetGroup = allTargetGroups.find(
tg => tg.name === targetGroupName && tg.region === serverGroup.region && tg.account === awsAccount,
);
return this.buildTargetGroup(targetGroup, serverGroup);
})
.filter(tg => tg);
return targetGroups;
});
}
示例3: flatten
return application.getDataSource('loadBalancers').ready().then(() => {
const loadBalancers: IAmazonApplicationLoadBalancer[] = application.getDataSource('loadBalancers').data.filter((lb) => lb.loadBalancerType === 'application' || lb.loadBalancerType === 'network') as IAmazonApplicationLoadBalancer[];
const targetGroups = serverGroup.targetGroups.map((targetGroupName: string) => {
const allTargetGroups = flatten(loadBalancers.map((lb) => lb.targetGroups || []));
const targetGroup = allTargetGroups.find((tg) => tg.name === targetGroupName);
return this.buildTargetGroup(targetGroup, serverGroup);
}).filter((tg) => tg);
return targetGroups;
});
示例4: populateTargetGroups
public static populateTargetGroups(application: Application, serverGroup: IAmazonServerGroup): IPromise<ITargetGroup[]> {
return application.getDataSource('loadBalancers').ready().then(() => {
const loadBalancers: IAmazonApplicationLoadBalancer[] = application.getDataSource('loadBalancers').data.filter((lb) => lb.loadBalancerType === 'application') as IAmazonApplicationLoadBalancer[];
const targetGroups = serverGroup.targetGroups.map((targetGroupName: string) => {
const allTargetGroups = flatten(loadBalancers.map((lb) => lb.targetGroups || []));
const targetGroup = allTargetGroups.find((tg) => tg.name === targetGroupName);
return this.buildTargetGroup(targetGroup, serverGroup);
});
return targetGroups;
});
}
示例5: cloneDeep
return application.getDataSource('loadBalancers').ready().then(() => {
const upToDateLoadBalancer = application.getDataSource('loadBalancers').data.find((candidate: ILoadBalancer) => {
return candidate.name === loadBalancer.name &&
(candidate.account === loadBalancer.account || candidate.account === loadBalancer.credentials);
});
if (upToDateLoadBalancer) {
loadBalancer.serverGroups = cloneDeep(upToDateLoadBalancer.serverGroups);
}
return loadBalancer;
});
示例6: convertLoadBalancerForEditing
public convertLoadBalancerForEditing(loadBalancer: IAppengineLoadBalancer,
application: Application): ng.IPromise<IAppengineLoadBalancer> {
return application.getDataSource('loadBalancers').ready().then(() => {
const upToDateLoadBalancer = application.getDataSource('loadBalancers').data.find((candidate: ILoadBalancer) => {
return candidate.name === loadBalancer.name &&
(candidate.account === loadBalancer.account || candidate.account === loadBalancer.credentials);
});
if (upToDateLoadBalancer) {
loadBalancer.serverGroups = cloneDeep(upToDateLoadBalancer.serverGroups);
}
return loadBalancer;
});
}
示例7: get
return this.application.ready().then(() => {
this.application.getDataSource('serverGroups').data.forEach((serverGroup: IServerGroup) => {
if (has(serverGroup, 'providerMetadata.tags.length') &&
serverGroup.account === this.account &&
get(serverGroup, 'providerMetadata.networkName') === this.network) {
serverGroup.providerMetadata.tags.forEach((tag: string) => {
if (!this.serverGroupsIndexedByTag.get(tag)) {
this.serverGroupsIndexedByTag.set(tag, new Set<string>([serverGroup.name]));
} else {
this.serverGroupsIndexedByTag.get(tag).add(serverGroup.name);
}
});
}
});
});
示例8: flatten
.then(data => {
const awsAccount = (data[0] && data[0].awsAccount) || serverGroup.account;
const loadBalancers: IAmazonApplicationLoadBalancer[] = application
.getDataSource('loadBalancers')
.data.filter(
lb => lb.loadBalancerType === 'application' || lb.loadBalancerType === 'network',
) as IAmazonApplicationLoadBalancer[];
const targetGroups = serverGroup.targetGroups
.map((targetGroupName: string) => {
const allTargetGroups = flatten(loadBalancers.map(lb => lb.targetGroups || []));
const targetGroup = allTargetGroups.find(
tg => tg.name === targetGroupName && tg.region === serverGroup.region && tg.account === awsAccount,
);
return this.buildTargetGroup(targetGroup, serverGroup);
})
.filter(tg => tg);
return targetGroups;
});