// 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 regiondrivers import ( "context" api "yunion.io/x/onecloud/pkg/apis/compute" "yunion.io/x/onecloud/pkg/compute/models" "yunion.io/x/onecloud/pkg/httperrors" "yunion.io/x/onecloud/pkg/mcclient" ) type SCloudflareRegionDriver struct { SManagedVirtualizationRegionDriver } func init() { driver := SCloudflareRegionDriver{} models.RegisterRegionDriver(&driver) } func (self *SCloudflareRegionDriver) GetProvider() string { return api.CLOUD_PROVIDER_CLOUDFLARE } func (self *SCloudflareRegionDriver) IsSupportLoadbalancerListenerRuleRedirect() bool { return true } func (self *SCloudflareRegionDriver) ValidateCreateLoadbalancerListenerRuleData(ctx context.Context, userCred mcclient.TokenCredential, ownerId mcclient.IIdentityProvider, input *api.LoadbalancerListenerRuleCreateInput) (*api.LoadbalancerListenerRuleCreateInput, error) { return input, nil } func (self *SCloudflareRegionDriver) ValidateCreateLoadbalancerBackendData(ctx context.Context, userCred mcclient.TokenCredential, lb *models.SLoadbalancer, lbbg *models.SLoadbalancerBackendGroup, input *api.LoadbalancerBackendCreateInput) (*api.LoadbalancerBackendCreateInput, error) { if input.BackendType != api.LB_BACKEND_ADDRESS { return nil, httperrors.NewUnsupportOperationError("internal error: unexpected backend type %s", input.BackendType) } return input, nil }