| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308 |
- // Copyright 2019 Yunion
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- package service
- import (
- "yunion.io/x/onecloud/pkg/appsrv"
- "yunion.io/x/onecloud/pkg/appsrv/dispatcher"
- app_common "yunion.io/x/onecloud/pkg/cloudcommon/app"
- "yunion.io/x/onecloud/pkg/cloudcommon/db"
- "yunion.io/x/onecloud/pkg/cloudcommon/db/proxy"
- "yunion.io/x/onecloud/pkg/cloudcommon/db/quotas"
- "yunion.io/x/onecloud/pkg/cloudcommon/db/taskman"
- "yunion.io/x/onecloud/pkg/compute/capabilities"
- "yunion.io/x/onecloud/pkg/compute/misc"
- "yunion.io/x/onecloud/pkg/compute/models"
- baremetalmodels "yunion.io/x/onecloud/pkg/compute/models/baremetal"
- "yunion.io/x/onecloud/pkg/compute/options"
- "yunion.io/x/onecloud/pkg/compute/specs"
- "yunion.io/x/onecloud/pkg/compute/sshkeys"
- "yunion.io/x/onecloud/pkg/compute/usages"
- )
- func InitHandlers(app *appsrv.Application, isSlave bool) {
- db.InitAllManagers()
- models.InitGuestNetworkTrafficLog()
- db.RegistUserCredCacheUpdater()
- db.AddScopeResourceCountHandler("", app)
- if !isSlave {
- db.AddHistoryDataCleanHandler("", app)
- }
- quotas.AddQuotaHandler(&models.QuotaManager.SQuotaBaseManager, "", app, isSlave)
- quotas.AddQuotaHandler(&models.RegionQuotaManager.SQuotaBaseManager, "", app, isSlave)
- quotas.AddQuotaHandler(&models.ZoneQuotaManager.SQuotaBaseManager, "", app, isSlave)
- quotas.AddQuotaHandler(&models.ProjectQuotaManager.SQuotaBaseManager, "", app, isSlave)
- quotas.AddQuotaHandler(&models.DomainQuotaManager.SQuotaBaseManager, "", app, isSlave)
- quotas.AddQuotaHandler(&models.InfrasQuotaManager.SQuotaBaseManager, "", app, isSlave)
- usages.AddUsageHandler("", app)
- usages.AddHistoryUsageHandler("", app)
- capabilities.AddCapabilityHandler("", app)
- specs.AddSpecHandler("", app)
- sshkeys.AddSshKeysHandler("", app)
- taskman.AddTaskHandler("", app, isSlave)
- misc.AddMiscHandler("", app)
- app_common.ExportOptionsHandler(app, &options.Options)
- for _, manager := range []db.IModelManager{
- taskman.TaskManager,
- taskman.SubTaskManager,
- taskman.TaskObjectManager,
- taskman.ArchivedTaskManager,
- db.UserCacheManager,
- db.TenantCacheManager,
- db.SharedResourceManager,
- db.I18nManager,
- models.GuestcdromManager,
- models.GuestFloppyManager,
- models.NetInterfaceManager,
- models.NetworkAdditionalWireManager,
- models.QuotaManager,
- models.QuotaUsageManager,
- models.QuotaPendingUsageManager,
- models.ZoneQuotaManager,
- models.ZoneUsageManager,
- models.ZonePendingUsageManager,
- models.RegionQuotaManager,
- models.RegionUsageManager,
- models.RegionPendingUsageManager,
- models.ProjectQuotaManager,
- models.ProjectUsageManager,
- models.ProjectPendingUsageManager,
- models.DomainQuotaManager,
- models.DomainUsageManager,
- models.DomainPendingUsageManager,
- models.InfrasQuotaManager,
- models.InfrasUsageManager,
- models.InfrasPendingUsageManager,
- models.CloudproviderCapabilityManager,
- models.ScalingTimerManager,
- models.ScalingAlarmManager,
- models.ScalingGroupGuestManager,
- models.ScalingGroupNetworkManager,
- models.CloudimageManager,
- models.WafRuleStatementManager,
- models.LoadbalancerSecurityGroupManager,
- models.HostFileJointsManager,
- models.SnapshotPolicyDiskManager,
- } {
- db.RegisterModelManager(manager)
- }
- for _, manager := range []db.IModelManager{
- db.OpsLog,
- db.Metadata,
- proxy.ProxySettingManager,
- models.BucketManager,
- models.CloudaccountManager,
- models.CloudproviderManager,
- models.CloudregionManager,
- models.ZoneManager,
- models.VpcManager,
- models.WireManager,
- models.StorageManager,
- models.StoragecacheManager,
- models.CachedimageManager,
- models.HostManager,
- models.HostDmesgLogManager,
- models.SchedtagManager,
- models.GuestManager,
- models.GetContainerManager(),
- models.GroupManager,
- models.DiskManager,
- models.NetworkManager,
- models.NetworkAddressManager,
- models.NetworkIpMacManager,
- models.ReservedipManager,
- models.KeypairManager,
- models.IsolatedDeviceManager,
- models.IsolatedDeviceModelManager,
- models.SecurityGroupManager,
- models.SecurityGroupRuleManager,
- models.ElasticipManager,
- models.NatGatewayManager,
- models.NatDEntryManager,
- models.NatSEntryManager,
- models.InstanceSnapshotManager,
- models.SnapshotManager,
- models.SnapshotPolicyManager,
- models.SnapshotPolicyResourceManager,
- models.BaremetalagentManager,
- models.LoadbalancerManager,
- models.LoadbalancerListenerManager,
- models.LoadbalancerListenerRuleManager,
- models.LoadbalancerBackendGroupManager,
- models.LoadbalancerBackendManager,
- models.LoadbalancerCertificateManager,
- models.LoadbalancerAclManager,
- models.LoadbalancerAgentManager,
- models.LoadbalancerClusterManager,
- models.LoadbalancerHealthCheckManager,
- models.RouteTableManager,
- models.RouteTableAssociationManager,
- models.RouteTableRouteSetManager,
- models.InterVpcNetworkRouteSetManager,
- models.GuestScreenDumpManager,
- models.BillingResourceCheckManager,
- models.GuestnetworksecgroupManager,
- models.SchedpolicyManager,
- models.DynamicschedtagManager,
- models.ServerSkuManager,
- models.ExternalProjectManager,
- models.NetworkInterfaceManager,
- models.DBInstanceManager,
- models.DBInstanceBackupManager,
- models.DBInstanceParameterManager,
- models.DBInstanceDatabaseManager,
- models.DBInstanceAccountManager,
- models.DBInstancePrivilegeManager,
- models.DBInstanceSkuManager,
- models.ElasticcacheManager,
- models.ElasticcacheAclManager,
- models.ElasticcacheAccountManager,
- models.ElasticcacheParameterManager,
- models.ElasticcacheBackupManager,
- models.ElasticcacheSkuManager,
- models.GlobalVpcManager,
- models.GuestTemplateManager,
- models.ServiceCatalogManager,
- models.CloudproviderQuotaManager,
- models.ScalingGroupManager,
- models.ScalingPolicyManager,
- models.ScalingActivityManager,
- models.PolicyDefinitionManager,
- models.PolicyAssignmentManager,
- models.DnsZoneManager,
- models.DnsRecordManager,
- models.VpcPeeringConnectionManager,
- models.InterVpcNetworkManager,
- models.NatSkuManager,
- models.NasSkuManager,
- models.FileSystemManager,
- models.AccessGroupManager,
- models.AccessGroupRuleManager,
- models.MountTargetManager,
- models.ProjectMappingManager,
- models.WafRuleGroupManager,
- models.WafIPSetManager,
- models.WafRegexSetManager,
- models.WafInstanceManager,
- models.WafRuleManager,
- models.MongoDBManager,
- models.ElasticSearchManager,
- models.KafkaManager,
- models.AppManager,
- models.AppEnvironmentManager,
- models.CDNDomainManager,
- models.KubeClusterManager,
- models.KubeNodeManager,
- models.KubeNodePoolManager,
- models.BackupStorageManager,
- models.DiskBackupManager,
- models.InstanceBackupManager,
- models.IPv6GatewayManager,
- models.TablestoreManager,
- models.NetTapServiceManager,
- models.NetTapFlowManager,
- models.ModelartsPoolManager,
- models.ModelartsPoolSkuManager,
- models.MiscResourceManager,
- models.SSLCertificateManager,
- baremetalmodels.BaremetalProfileManager,
- models.HostFileManager,
- models.AiGatewayManager,
- models.GuestNetworkTrafficLogManager,
- } {
- db.RegisterModelManager(manager)
- handler := db.NewModelHandler(manager)
- dispatcher.AddModelDispatcher("", app, handler, isSlave)
- }
- for _, manager := range []db.IJointModelManager{
- models.HostwireManagerDeprecated,
- models.HostnetworkManager,
- models.HoststorageManager,
- models.HostBackupstorageManager,
- models.HostschedtagManager,
- models.HostIsolatedDeviceModelManager,
- models.StorageschedtagManager,
- models.NetworkschedtagManager,
- models.CloudproviderschedtagManager,
- models.ZoneschedtagManager,
- models.CloudregionschedtagManager,
- models.GuestnetworkManager,
- models.GuestsecgroupManager,
- models.LoadbalancernetworkManager,
- models.GuestdiskManager,
- models.GroupnetworkManager,
- models.GroupguestManager,
- models.StoragecachedimageManager,
- models.CloudproviderRegionManager,
- models.DBInstanceNetworkManager,
- models.NetworkinterfacenetworkManager,
- models.InstanceSnapshotJointManager,
- models.DnsZoneVpcManager,
- models.DBInstanceSecgroupManager,
- models.ElasticcachesecgroupManager,
- models.InterVpcNetworkVpcManager,
- models.InstanceBackupJointManager,
- } {
- db.RegisterModelManager(manager)
- handler := db.NewJointModelHandler(manager)
- dispatcher.AddJointModelDispatcher("", app, handler, isSlave)
- }
- }
|