本文整理匯總了TypeScript中@spinnaker/core.InfrastructureCaches類的典型用法代碼示例。如果您正苦於以下問題:TypeScript InfrastructureCaches類的具體用法?TypeScript InfrastructureCaches怎麽用?TypeScript InfrastructureCaches使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了InfrastructureCaches類的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: listAddresses
public listAddresses(region?: string): IPromise<IGceAddress[]> {
if (region) {
return this.listAddresses(null /* region */).then(addresses =>
addresses.filter(address => address.region === region),
);
} else {
return SearchService.search<IAddressSearchResults>(
{ q: '', type: 'addresses', allowShortQuery: 'true' },
InfrastructureCaches.get('addresses'),
)
.then((searchResults: ISearchResults<IAddressSearchResults>) => {
if (searchResults && searchResults.results) {
return searchResults.results
.filter(result => result.provider === 'gce')
.map(result => {
const address = JSON.parse(result.address) as IGceAddress;
address.account = result.account;
address.region = result.region;
return address;
});
} else {
return [];
}
})
.catch(() => [] as IGceAddress[]);
}
}
示例2: onTaskComplete
public onTaskComplete(loadBalancer: IGceLoadBalancer): void {
InfrastructureCaches.clearCache('healthCheck');
this.application.getDataSource('loadBalancers').refresh();
this.application
.getDataSource('loadBalancers')
.onNextRefresh(this.$scope, () => this.onApplicationRefresh(loadBalancer));
}
示例3: listHealthChecks
public listHealthChecks(type?: string): ng.IPromise<IGceHealthCheck[]> {
if (type) {
return this.listHealthChecks().then(healthChecks =>
healthChecks.filter(healthCheck => healthCheck.healthCheckType === type),
);
} else {
return SearchService.search(
{ q: '', type: 'healthChecks', allowShortQuery: 'true' },
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: listCertificates
public listCertificates(): IPromise<IGceCertificate[]> {
return SearchService.search<IGceCertificate>(
{ q: '', type: 'sslCertificates', allowShortQuery: 'true' },
InfrastructureCaches.get('certificates'),
)
.then((searchResults: ISearchResults<IGceCertificate>) => {
if (searchResults && searchResults.results) {
return searchResults.results.filter(certificate => certificate.provider === 'gce');
} else {
return [];
}
})
.catch(() => []);
}