From 90709ab704d1525c5510b839a0888a067d8ab2b0 Mon Sep 17 00:00:00 2001 From: Qu Xuan Date: Mon, 23 Nov 2020 16:25:55 +0800 Subject: [PATCH] fix(region): add saml auth for capability --- pkg/cloudprovider/consts.go | 1 + pkg/compute/models/capabilities.go | 5 +++++ pkg/multicloud/aws/aws.go | 1 + pkg/multicloud/huawei/huawei.go | 1 + pkg/multicloud/qcloud/qcloud.go | 1 + 5 files changed, 9 insertions(+) diff --git a/pkg/cloudprovider/consts.go b/pkg/cloudprovider/consts.go index e67adc1d9e..8ee16254f1 100644 --- a/pkg/cloudprovider/consts.go +++ b/pkg/cloudprovider/consts.go @@ -53,6 +53,7 @@ const ( CLOUD_CAPABILITY_DNSZONE = "dnszone" CLOUD_CAPABILITY_PUBLIC_IP = "public_ip" CLOUD_CAPABILITY_INTERVPCNETWORK = "intervpcnetwork" + CLOUD_CAPABILITY_SAML_AUTH = "saml_auth" // 是否支持SAML 2.0 ) const ( diff --git a/pkg/compute/models/capabilities.go b/pkg/compute/models/capabilities.go index 66d1fb2750..a6b31fcd81 100644 --- a/pkg/compute/models/capabilities.go +++ b/pkg/compute/models/capabilities.go @@ -48,6 +48,9 @@ type SCapabilities struct { DisabledRdsEngineBrands []string `json:",allowempty"` CloudIdBrands []string `json:",allowempty"` DisabledCloudIdBrands []string `json:",allowempty"` + // 支持SAML 2.0 + SamlAuthBrands []string `json:",allowempty"` + DisabledSamlAuthBrands []string `json:",allowempty"` PublicIpBrands []string `json:",allowempty"` NetworkManageBrands []string `json:",allowempty"` DisabledNetworkManageBrands []string `json:",allowempty"` @@ -273,6 +276,7 @@ func getBrands(region *SCloudregion, zone *SZone, domainId string, capa *SCapabi capa.CloudIdBrands, _ = CloudaccountManager.getBrandsOfCapability(region, zone, domainId, tristate.True, cloudprovider.CLOUD_CAPABILITY_CLOUDID) capa.PublicIpBrands, _ = CloudaccountManager.getBrandsOfCapability(region, zone, domainId, tristate.True, cloudprovider.CLOUD_CAPABILITY_PUBLIC_IP) capa.LoadbalancerEngineBrands, _ = CloudaccountManager.getBrandsOfCapability(region, zone, domainId, tristate.True, cloudprovider.CLOUD_CAPABILITY_LOADBALANCER) + capa.SamlAuthBrands, _ = CloudaccountManager.getBrandsOfCapability(region, zone, domainId, tristate.True, cloudprovider.CLOUD_CAPABILITY_SAML_AUTH) if utils.IsInStringArray(api.HYPERVISOR_KVM, capa.Hypervisors) || utils.IsInStringArray(api.HYPERVISOR_BAREMETAL, capa.Hypervisors) { capa.Brands = append(capa.Brands, api.ONECLOUD_BRAND_ONECLOUD) @@ -291,6 +295,7 @@ func getBrands(region *SCloudregion, zone *SZone, domainId string, capa *SCapabi capa.DisabledNetworkManageBrands, _ = CloudaccountManager.getBrandsOfCapability(region, zone, domainId, tristate.False, cloudprovider.CLOUD_CAPABILITY_NETWORK) capa.DisabledObjectStorageBrands, _ = CloudaccountManager.getBrandsOfCapability(region, zone, domainId, tristate.False, cloudprovider.CLOUD_CAPABILITY_OBJECTSTORE) capa.DisabledCloudIdBrands, _ = CloudaccountManager.getBrandsOfCapability(region, zone, domainId, tristate.False, cloudprovider.CLOUD_CAPABILITY_CLOUDID) + capa.DisabledSamlAuthBrands, _ = CloudaccountManager.getBrandsOfCapability(region, zone, domainId, tristate.False, cloudprovider.CLOUD_CAPABILITY_SAML_AUTH) return } diff --git a/pkg/multicloud/aws/aws.go b/pkg/multicloud/aws/aws.go index ca33f622b8..5d76c2ab38 100644 --- a/pkg/multicloud/aws/aws.go +++ b/pkg/multicloud/aws/aws.go @@ -513,6 +513,7 @@ func (self *SAwsClient) GetCapabilities() []string { // cloudprovider.CLOUD_CAPABILITY_EVENT, cloudprovider.CLOUD_CAPABILITY_CLOUDID, cloudprovider.CLOUD_CAPABILITY_DNSZONE, + cloudprovider.CLOUD_CAPABILITY_SAML_AUTH, } return caps } diff --git a/pkg/multicloud/huawei/huawei.go b/pkg/multicloud/huawei/huawei.go index 825c379319..9fd30e657e 100644 --- a/pkg/multicloud/huawei/huawei.go +++ b/pkg/multicloud/huawei/huawei.go @@ -496,6 +496,7 @@ func (self *SHuaweiClient) GetCapabilities() []string { cloudprovider.CLOUD_CAPABILITY_CACHE, cloudprovider.CLOUD_CAPABILITY_EVENT, cloudprovider.CLOUD_CAPABILITY_CLOUDID, + cloudprovider.CLOUD_CAPABILITY_SAML_AUTH, } // huawei objectstore is shared across projects(subscriptions) // to avoid multiple project access the same bucket diff --git a/pkg/multicloud/qcloud/qcloud.go b/pkg/multicloud/qcloud/qcloud.go index f307f3f11d..3e47c44054 100644 --- a/pkg/multicloud/qcloud/qcloud.go +++ b/pkg/multicloud/qcloud/qcloud.go @@ -968,6 +968,7 @@ func (self *SQcloudClient) GetCapabilities() []string { cloudprovider.CLOUD_CAPABILITY_DNSZONE, cloudprovider.CLOUD_CAPABILITY_PUBLIC_IP, cloudprovider.CLOUD_CAPABILITY_INTERVPCNETWORK, + cloudprovider.CLOUD_CAPABILITY_SAML_AUTH, } return caps }