本文整理汇总了TypeScript中@spinnaker/core.Application类的典型用法代码示例。如果您正苦于以下问题:TypeScript Application类的具体用法?TypeScript Application怎么用?TypeScript Application使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Application类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: 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;
});
}
示例6: 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;
});
示例7: makeManifestRefresher
public makeManifestRefresher(app: Application, $scope: IScope, params: IManifestParams, container: IManifestContainer) {
this.updateManifest(params, container);
app.onRefresh($scope, () => this.updateManifest(params, container));
}
示例8:
mock.inject(($q: IQService, $rootScope: IScope) => {
const $scope = $rootScope.$new();
// The application model implicitly depends on a bunch of Angular things, which is why
// we need the Angular mock environment (even though we're testing a React component).
application = ApplicationModelBuilder.createApplicationForTests(
'app',
{
key: 'serverGroups',
loader: () =>
$q.resolve([
// Replica sets in same cluster, no manager.
{
name: 'replicaSet my-replicaSet-v002',
region: 'default',
category: 'serverGroup',
account: 'my-k8s-account',
cloudProvider: 'kubernetes',
cluster: 'replicaSet my-replicaSet',
},
{
name: 'replicaSet my-replicaSet-v001',
region: 'default',
category: 'serverGroup',
account: 'my-k8s-account',
cloudProvider: 'kubernetes',
cluster: 'replicaSet my-replicaSet',
},
// Replica set managed by deployment.
{
name: 'replicaSet my-managed-replicaSet-v001',
region: 'default',
category: 'serverGroup',
account: 'my-k8s-account',
cloudProvider: 'kubernetes',
cluster: 'deployment my-deployment',
serverGroupManagers: [{ name: 'deployment my-deployment' }],
},
]),
onLoad: (_app: Application, data: any) => $q.resolve(data),
},
{
key: 'serverGroupManagers',
loader: () =>
$q.resolve([
{
name: 'deployment my-deployment',
region: 'default',
account: 'my-k8s-account',
cloudProvider: 'kubernetes',
},
]),
onLoad: (_app: Application, data: any) => $q.resolve(data),
},
{
key: 'securityGroups',
loader: () => $q.resolve([]),
onLoad: (_app: Application, data: any) => $q.resolve(data),
},
{
key: 'loadBalancers',
loader: () => $q.resolve([]),
onLoad: (_app: Application, data: any) => $q.resolve(data),
},
);
application.refresh();
$scope.$digest();
}),
示例9: 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;
});
示例10: 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);
}
});
}
});
});