本文整理汇总了TypeScript中core/cache/infrastructureCaches.service.InfrastructureCacheService类的典型用法代码示例。如果您正苦于以下问题:TypeScript service.InfrastructureCacheService类的具体用法?TypeScript service.InfrastructureCacheService怎么用?TypeScript service.InfrastructureCacheService使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了service.InfrastructureCacheService类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: it
it('should remove all items from the specified cache', () => {
let cache: ICache = infrastructureCache.get('credentials');
expect(cache).toBeUndefined();
cacheInitializer.initialize().then(() => {
cache = infrastructureCache.get('credentials');
expect(cache).toBeDefined();
expect(cache.keys().length).toBe(0);
const key = 'myTestCacheKey';
const value = 'myTestCacheValue';
cache.put(key, value);
expect(cache.keys().length).toBe(1);
expect(cache.get(key)).toBe(value);
cacheInitializer.refreshCache('credentials').then((result: any[]) => {
expect(flatten(result)).toEqual(keys.account);
cache = infrastructureCache.get('credentials');
expect(cache.keys().length).toBe(0);
});
initialized = true;
});
$root.$digest();
expect(initialized).toBeTruthy();
});
示例2: getAllSecurityGroups
public getAllSecurityGroups(): IPromise<ISecurityGroupsByAccountSourceData> {
// Because these are cached in local storage, we unfortunately need to remove the moniker, as it triples the size
// of the object being stored, which blows out our LS quota for a sufficiently large footprint
const cache = this.infrastructureCaches.get('securityGroups');
const cached = !!cache ? cache.get('allGroups') : null;
if (cached) {
return this.$q.resolve(cached);
}
return this.API.one('securityGroups').useCache().get()
.then((groupsByAccount: ISecurityGroupsByAccountSourceData) => {
Object.keys(groupsByAccount).forEach(account => {
Object.keys(groupsByAccount[account]).forEach(provider => {
Object.keys(groupsByAccount[account][provider]).forEach(region => {
groupsByAccount[account][provider][region].forEach(group => {
delete group.moniker;
})
})
})
});
if (cache) {
cache.put('allGroups', groupsByAccount);
}
return groupsByAccount;
});
}
示例3: listHealthChecks
public listHealthChecks (type?: string): ng.IPromise<IGceHealthCheck[]> {
if (type) {
return this.listHealthChecks().then(healthChecks => healthChecks.filter(healthCheck => healthCheck.healthCheckType === type));
} else {
return this.searchService
.search({q: '', type: 'healthChecks'}, this.infrastructureCaches.get('healthChecks'))
.then((searchResults: ISearchResults<IHealthCheckSearchResults>) => {
if (searchResults && searchResults.results) {
const healthChecks = searchResults.results.filter(result => result.provider === 'gce')
.map(result => {
const healthCheck = JSON.parse(result.healthCheck) as IGceHealthCheck;
healthCheck.account = result.account;
return healthCheck;
});
return uniqWith(healthChecks, (checkA: IGceHealthCheck, checkB: IGceHealthCheck) => {
return checkA.name === checkB.name && checkA.healthCheckType === checkB.healthCheckType &&
checkA.account === checkB.account;
});
} else {
return [];
}
})
.catch(() => []);
}
}
示例4: deleteLoadBalancer
public deleteLoadBalancer(command: ILoadBalancerDeleteCommand, application: Application): ng.IPromise<ITask> {
command.type = 'deleteLoadBalancer';
this.infrastructureCaches.clearCache('loadBalancers');
return this.taskExecutor.executeTask({
job: [command],
application: application,
description: `Delete load balancer: ${command.loadBalancerName}`
});
}
示例5: listCertificates
public listCertificates(): IPromise<IGceCertificate[]> {
return this.searchService
.search<IGceCertificate>({q: '', type: 'sslCertificates'}, this.infrastructureCaches.get('certificates'))
.then((searchResults: ISearchResults<IGceCertificate>) => {
if (searchResults && searchResults.results) {
return searchResults.results.filter(certificate => certificate.provider === 'gce');
} else {
return [];
}
})
.catch(() => []);
}
示例6: upsertLoadBalancer
public upsertLoadBalancer(command: ILoadBalancerUpsertCommand, application: Application, descriptor: string, params: any = {}): ng.IPromise<ITask> {
Object.assign(command, params);
command.type = 'upsertLoadBalancer';
this.infrastructureCaches.clearCache('loadBalancers');
return this.taskExecutor.executeTask({
job: [command],
application: application,
description: `${descriptor} Load Balancer: ${command['name']}`,
});
}
示例7: deleteSecurityGroup
public deleteSecurityGroup(securityGroup: ISecurityGroup,
application: Application,
params: ISecurityGroupJob): IPromise<ITask> {
params.type = 'deleteSecurityGroup';
params.securityGroupName = securityGroup.name;
params.regions = [securityGroup.region];
params.credentials = securityGroup.accountId;
const operation: IPromise<ITask> = this.taskExecutor.executeTask({
job: [params],
application: application,
description: `Delete Security Group: ${securityGroup.name}`
});
this.infrastructureCaches.clearCache('securityGroups');
return operation;
}
示例8: upsertSecurityGroup
public upsertSecurityGroup(securityGroup: ISecurityGroup,
application: Application,
description: string,
params: any = {}): IPromise<ITask> {
params.type = 'upsertSecurityGroup';
params.credentials = securityGroup.credentials || securityGroup.accountName;
const job: ISecurityGroupJob = Object.assign(securityGroup, params);
const operation: IPromise<ITask> = this.taskExecutor.executeTask({
job: [job],
application: application,
description: `${description} Security Group: ${securityGroup.name}`
});
this.infrastructureCaches.clearCache('securityGroups');
return operation;
}
示例9: expect
cacheInitializer.initialize().then(() => {
cache = infrastructureCache.get('credentials');
expect(cache).toBeDefined();
expect(cache.keys().length).toBe(0);
const key = 'myTestCacheKey';
const value = 'myTestCacheValue';
cache.put(key, value);
expect(cache.keys().length).toBe(1);
expect(cache.get(key)).toBe(value);
cacheInitializer.refreshCache('credentials').then((result: any[]) => {
expect(flatten(result)).toEqual(keys.account);
cache = infrastructureCache.get('credentials');
expect(cache.keys().length).toBe(0);
});
initialized = true;
});
示例10: listHealthChecks
public listHealthChecks (type?: string): ng.IPromise<IGceHealthCheck[]> {
if (type) {
return this.listHealthChecks()
.then((healthChecks: IGceHealthCheck[]) => {
return healthChecks
.filter((healthCheck) => healthCheck.healthCheckType === type);
});
} else {
return this.API
.all('search')
.useCache(this.infrastructureCaches.get('healthChecks'))
.getList({q: '', type: 'healthChecks'})
.then((searchEndPointWrapper: any[]) => {
let healthCheckWrappers = searchEndPointWrapper[0].results;
return healthCheckWrappers.map((wrapper: any) => {
wrapper.healthCheck = JSON.parse(wrapper.healthCheck);
wrapper.healthCheck.account = wrapper.account;
return wrapper.healthCheck as IGceHealthCheck;
});
});
}
}