From 712c6d005ef1dda4320df6dd1534d414f3af6612 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E8=BD=A9?= Date: Sun, 24 Nov 2024 13:23:48 +0800 Subject: [PATCH] fix(region): optimized zettakit (#21673) --- pkg/cloudmon/providerdriver/zettakit.go | 35 +++++++++++++++++++++++++ pkg/compute/regiondrivers/zettakit.go | 8 ++++++ 2 files changed, 43 insertions(+) create mode 100644 pkg/cloudmon/providerdriver/zettakit.go diff --git a/pkg/cloudmon/providerdriver/zettakit.go b/pkg/cloudmon/providerdriver/zettakit.go new file mode 100644 index 00000000000..e69625dab0f --- /dev/null +++ b/pkg/cloudmon/providerdriver/zettakit.go @@ -0,0 +1,35 @@ +// 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 providerdriver + +import ( + api "yunion.io/x/onecloud/pkg/apis/compute" +) + +type ZettaKitCollect struct { + SCollectByResourceIdDriver +} + +func (self *ZettaKitCollect) GetProvider() string { + return api.CLOUD_PROVIDER_ZETTAKIT +} + +func (self *ZettaKitCollect) IsSupportMetrics() bool { + return true +} + +func init() { + Register(&ZettaKitCollect{}) +} diff --git a/pkg/compute/regiondrivers/zettakit.go b/pkg/compute/regiondrivers/zettakit.go index 6cb4de7ee98..ffb82c1e670 100644 --- a/pkg/compute/regiondrivers/zettakit.go +++ b/pkg/compute/regiondrivers/zettakit.go @@ -15,6 +15,8 @@ package regiondrivers import ( + "yunion.io/x/sqlchemy" + api "yunion.io/x/onecloud/pkg/apis/compute" "yunion.io/x/onecloud/pkg/compute/models" ) @@ -39,3 +41,9 @@ func (self *SZettaKitRegionDriver) IsSupportedElasticcacheSecgroup() bool { func (self *SZettaKitRegionDriver) GetMaxElasticcacheSecurityGroupCount() int { return 1 } + +func (self *SZettaKitRegionDriver) GetSecurityGroupFilter(vpc *models.SVpc) (func(q *sqlchemy.SQuery) *sqlchemy.SQuery, error) { + return func(q *sqlchemy.SQuery) *sqlchemy.SQuery { + return q.Equals("cloudregion_id", vpc.CloudregionId).Equals("manager_id", vpc.ManagerId) + }, nil +}