mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-05-07 22:24:32 +08:00
201 lines
7.5 KiB
Go
201 lines
7.5 KiB
Go
// 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.
|
||
|
||
// Code generated by model-api-gen. DO NOT EDIT.
|
||
|
||
package cloudprovider
|
||
|
||
import "yunion.io/x/cloudmux/pkg/cloudprovider"
|
||
|
||
// DefaultAction is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.DefaultAction.
|
||
type DefaultAction struct {
|
||
// Allow, Block, Log, Count, Alert, Detection, Prevention
|
||
Action string `json:"action"`
|
||
// 仅Action为Allow时生效
|
||
InsertHeaders map[string]string `json:"insert_headers"`
|
||
// 仅Action为Block时生效
|
||
Response string `json:"response"`
|
||
// 仅Action为Block时生效
|
||
ResponseCode *int `json:"response_code"`
|
||
// 仅Action为Block时生效
|
||
ResponseHeaders map[string]string `json:"response_headers"`
|
||
}
|
||
|
||
// SCdnDomain is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.SCdnDomain.
|
||
type SCdnDomain struct {
|
||
// cdn加速域名
|
||
Domain string `json:"domain"`
|
||
// 状态 rejected(域名未审核)|processing(部署中)|online|offline
|
||
Status string `json:"status"`
|
||
// 区域 mainland|overseas|global
|
||
Area string `json:"area"`
|
||
// cdn Cname
|
||
Cname string `json:"cname"`
|
||
// 源站
|
||
Origin string `json:"origin"`
|
||
// 源站类型 domain|ip|bucket
|
||
OriginType string `json:"origin_type"`
|
||
}
|
||
|
||
// SCdnOrigin is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.SCdnOrigin.
|
||
type SCdnOrigin struct {
|
||
Type string `json:"type"`
|
||
Origin string `json:"origin"`
|
||
ServerName string `json:"server_name"`
|
||
Protocol string `json:"protocol"`
|
||
Path string `json:"path"`
|
||
Port int `json:"port"`
|
||
Enabled string `json:"enabled"`
|
||
Priority int `json:"priority"`
|
||
}
|
||
|
||
// SCdnOrigins is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.SCdnOrigins.
|
||
type SCdnOrigins []SCdnOrigin
|
||
|
||
// SExcludeRule is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.SExcludeRule.
|
||
type SExcludeRule struct {
|
||
Name string `json:"name"`
|
||
}
|
||
|
||
// SExcludeRules is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.SExcludeRules.
|
||
type SExcludeRules []SExcludeRule
|
||
|
||
// SGeographicInfo is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.SGeographicInfo.
|
||
type SGeographicInfo struct {
|
||
// 纬度
|
||
// example: 26.647003
|
||
Latitude float32 `json:"latitude"`
|
||
// 经度
|
||
// example: 106.630211
|
||
Longitude float32 `json:"longitude"`
|
||
// 城市
|
||
// example: Guiyang
|
||
City string `json:"city"`
|
||
// 国家代码
|
||
// example: CN
|
||
CountryCode string `json:"country_code"`
|
||
}
|
||
|
||
// SSubAccount is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.SSubAccount.
|
||
type SSubAccount struct {
|
||
// 若Account不为空,可不传
|
||
Name string `json:"name"`
|
||
// 输入必填,若为空,需要指定子账号名称
|
||
Account string `json:"account"`
|
||
HealthStatus string `json:"health_status"`
|
||
// 云端服务健康状态。例如欠费、项目冻结都属于不健康状态。
|
||
DefaultProjectId string `json:"default_project_id"`
|
||
}
|
||
|
||
// SWafStatement is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.SWafStatement.
|
||
type SWafStatement struct {
|
||
// 管理规则组名称
|
||
ManagedRuleGroupName string `json:"managed_rule_group_name"`
|
||
// 不包含的规则列表
|
||
ExcludeRules *SExcludeRules `json:"exclude_rules"`
|
||
// 表达式类别
|
||
// enmu: ByteMatch, GeoMatch, IPSet, LabelMatch, ManagedRuleGroup, Rate, RegexSet, RuleGroup, Size, SqliMatch, XssMatch
|
||
Type string `json:"type"`
|
||
// 是否取反操作, 仅对Azure生效
|
||
Negation bool `json:"negation"`
|
||
// 操作类型
|
||
// enum: EQ, NE, LE, LT, GE, GT
|
||
Operator string `json:"operator"`
|
||
// 匹配字段
|
||
// enmu: Body, JsonBody, Query, Method, Header, UriPath, PostArgs, Cookie
|
||
MatchField string `json:"match_field"`
|
||
// 匹配字段的key
|
||
MatchFieldKey string `json:"match_field_key"`
|
||
// 匹配字段的值列表
|
||
MatchFieldValues *TWafMatchFieldValues `json:"match_field_values"`
|
||
// 进行转换操作
|
||
// enmu: CompressWithSpace, HtmlEntityDecode, Lowercase, CmdLine, UrlDecode, Trim, UrlEncode, RemoveNulls
|
||
Transformations *TextTransformations `json:"transformations"`
|
||
ForwardedIPHeader string `json:"forwarded_ip_header"`
|
||
// 搜索字段, 仅Aws有用
|
||
SearchString string `json:"search_string"`
|
||
IPSetId string `json:"ip_set_id"`
|
||
// 正则表达式Id, 目前只读
|
||
RegexSetId string `json:"regex_set_id"`
|
||
// 自定义规则组Id, 目前只读
|
||
RuleGroupId string `json:"rule_group_id"`
|
||
}
|
||
|
||
// ServerVncInput is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.ServerVncInput.
|
||
type ServerVncInput struct {
|
||
// 是否使用原生vnc控制台,此选项仅对openstack有效
|
||
// default: false
|
||
Origin bool `json:"origin"`
|
||
}
|
||
|
||
// ServerVncOutput is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.ServerVncOutput.
|
||
type ServerVncOutput struct {
|
||
Id string `json:"id"`
|
||
// baremetal
|
||
HostId string `json:"host_id"`
|
||
Zone string `json:"zone"`
|
||
// kvm host ip
|
||
Host string `json:"host"`
|
||
Protocol string `json:"protocol"`
|
||
Port int64 `json:"port"`
|
||
Url string `json:"url"`
|
||
InstanceId string `json:"instance_id"`
|
||
InstanceName string `json:"instance_name"`
|
||
Password string `json:"password"`
|
||
VncPassword string `json:"vnc_password"`
|
||
OsName string `json:"os_name"`
|
||
// cloudpods
|
||
ApiServer string `json:"api_server"`
|
||
ConnectParams string `json:"connect_params"`
|
||
Session string `json:"session"`
|
||
Hypervisor string `json:"hypervisor"`
|
||
}
|
||
|
||
// SubAccounts is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.SubAccounts.
|
||
type SubAccounts struct {
|
||
// 若输出则是全量子账号列表,若输入,代表允许同步的子账号
|
||
Accounts []cloudprovider.SSubAccount `json:"accounts"`
|
||
// 若输出是云账号查询到的区域列表,若输入,代表允许同步的区域
|
||
Cloudregions []struct {
|
||
Id string
|
||
Name string
|
||
Status string
|
||
} `json:"cloudregions"`
|
||
}
|
||
|
||
// TWafAction is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.TWafAction.
|
||
type TWafAction string
|
||
|
||
// TWafMatchField is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.TWafMatchField.
|
||
type TWafMatchField string
|
||
|
||
// TWafMatchFieldValues is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.TWafMatchFieldValues.
|
||
type TWafMatchFieldValues []string
|
||
|
||
// TWafOperator is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.TWafOperator.
|
||
type TWafOperator string
|
||
|
||
// TWafStatementType is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.TWafStatementType.
|
||
type TWafStatementType string
|
||
|
||
// TWafTextTransformation is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.TWafTextTransformation.
|
||
type TWafTextTransformation string
|
||
|
||
// TextTransformations is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.TextTransformations.
|
||
type TextTransformations []TWafTextTransformation
|
||
|
||
// WafAddresses is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.WafAddresses.
|
||
type WafAddresses []string
|
||
|
||
// WafRegexPatterns is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.WafRegexPatterns.
|
||
type WafRegexPatterns []string
|