本文整理汇总了TypeScript中core/cloudProvider/cloudProvider.registry.CloudProviderRegistry类的典型用法代码示例。如果您正苦于以下问题:TypeScript registry.CloudProviderRegistry类的具体用法?TypeScript registry.CloudProviderRegistry怎么用?TypeScript registry.CloudProviderRegistry使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了registry.CloudProviderRegistry类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: 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'
]);
}
});
示例2: require
.config((cloudProviderRegistryProvider: CloudProviderRegistry) => {
cloudProviderRegistryProvider.registerProvider('appengine', {
name: 'App Engine',
cache: {
configurer: 'appengineCacheConfigurer',
},
instance: {
detailsTemplateUrl: require('./instance/details/details.html'),
detailsController: 'appengineInstanceDetailsCtrl',
},
serverGroup: {
transformer: 'appengineServerGroupTransformer',
detailsController: 'appengineServerGroupDetailsCtrl',
detailsTemplateUrl: require('./serverGroup/details/details.html'),
commandBuilder: 'appengineServerGroupCommandBuilder',
cloneServerGroupController: 'appengineCloneServerGroupCtrl',
cloneServerGroupTemplateUrl: require('./serverGroup/configure/wizard/serverGroupWizard.html'),
skipUpstreamStageCheck: true,
},
loadBalancer: {
transformer: 'appengineLoadBalancerTransformer',
createLoadBalancerTemplateUrl: require('./loadBalancer/configure/wizard/wizard.html'),
createLoadBalancerController: 'appengineLoadBalancerWizardCtrl',
detailsTemplateUrl: require('./loadBalancer/details/details.html'),
detailsController: 'appengineLoadBalancerDetailsCtrl',
},
logo: {
path: require('./logo/appengine.logo.svg'),
},
});
});
示例3:
($stateParams: IStandaloneInstanceDetailsState,
cloudProviderRegistry: CloudProviderRegistry) => {
return cloudProviderRegistry.getValue($stateParams.provider, 'instance.detailsController');
}],
示例4:
.config((cloudProviderRegistryProvider: CloudProviderRegistry) => {
SETTINGS.providers.example = { defaults: { account: 'test' }, resetToOriginal: () => {} };
SETTINGS.providers.example2 = { defaults: { account: 'test' }, resetToOriginal: () => {} };
cloudProviderRegistryProvider.registerProvider('example', {name: 'example'});
cloudProviderRegistryProvider.registerProvider('example2', {name: 'example2'});
});
示例5:
this.providerSelectionService.selectProvider(this.$scope.application).then((selectedProvider: string) => {
let config = this.cloudProviderRegistry.getValue(selectedProvider, 'serverGroup');
this.$uibModal.open({
templateUrl: config.cloneServerGroupTemplateUrl,
controller: `${config.cloneServerGroupController} as ctrl`,
size: 'lg',
resolve: {
title: () => 'Add Isolated Testing Target Cluster',
application: () => this.$scope.application,
serverGroupCommand: () => this.buildServerGroupCommand(selectedProvider),
}
}).result.then((command: any) => this.applyCommandToStage(command));
});
示例6: editLoadBalancer
public editLoadBalancer(index: number) {
let config = this.cloudProviderRegistry.getValue('appengine', 'loadBalancer');
this.$uibModal.open({
templateUrl: config.createLoadBalancerTemplateUrl,
controller: `${config.createLoadBalancerController} as ctrl`,
size: 'lg',
resolve: {
application: () => this.$scope.application,
loadBalancer: () => cloneDeep(this.$scope.stage.loadBalancers[index]),
isNew: () => false,
forPipelineConfig: () => true,
}
}).result.then((updatedLoadBalancer: ILoadBalancer) => {
this.$scope.stage.loadBalancers[index] = updatedLoadBalancer;
});
}
示例7: uniq
return this.accountService.getAllAccountDetailsForProvider(provider).then(accounts => {
const versions = uniq(accounts.map((a) => a.providerVersion)
.filter((v) => !isNil(v)));
if (versions.length === 0) {
return this.cloudProviderRegistry.getProvider(provider).providerVersion
} else if (versions.length === 1) {
return versions[0];
} else {
return this.$uibModal.open({
templateUrl: require('./versionSelector.html'),
controller: 'versionSelectorCtrl as ctrl',
resolve: {
versionOptions: () => versions
}
}).result;
}
});
示例8: editCluster
public editCluster(cluster: any, index: number): void {
cluster.provider = cluster.provider || 'aws';
let config = this.cloudProviderRegistry.getValue(cluster.provider, 'serverGroup');
this.$uibModal.open({
templateUrl: config.cloneServerGroupTemplateUrl,
controller: `${config.cloneServerGroupController} as ctrl`,
size: 'lg',
resolve: {
title: () => 'Configure Isolated Testing Target Cluster',
application: () => this.$scope.application,
serverGroupCommand: () => {
return this.serverGroupCommandBuilder.buildServerGroupCommandFromPipeline(this.$scope.application, cluster)
.then((command: any) => this.configureServerGroupCommandForEditing(command));
}
}
}).result.then((command: any) => {
this.stage.clusters[index] = this.awsServerGroupTransformer.convertServerGroupCommandToDeployConfiguration(command);
});
}
示例9: uniq
reducedProviders = uniq(reducedProviders.map((providerName) => {
const providerFeature = this.cloudProviderRegistry.getProvider(providerName)[feature] || {};
return providerFeature.useProvider || providerName;
}));