| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352 |
- // 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
- // CacheKeyRule is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.CacheKeyRule.
- type CacheKeyRule struct {
- RulePaths []string `json:"rule_paths"`
- RuleType string `json:"rule_type"`
- FullUrlCache bool `json:"full_url_cache"`
- IgnoreCase bool `json:"ignore_case"`
- QueryString CacheKeyRuleQueryString `json:"query_string"`
- RuleTag string `json:"rule_tag"`
- }
- // CacheKeyRuleQueryString is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.CacheKeyRuleQueryString.
- type CacheKeyRuleQueryString struct {
- Enabled bool `json:"enabled"`
- Action string `json:"action"`
- Value string `json:"value"`
- }
- // 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"`
- }
- // ElasticSearchAccessInfo is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.ElasticSearchAccessInfo.
- type ElasticSearchAccessInfo struct {
- Domain string `json:"domain"`
- PrivateDomain string `json:"private_domain"`
- Vip string `json:"vip"`
- Port int `json:"port"`
- PrivatePort int `json:"private_port"`
- KibanaUrl string `json:"kibana_url"`
- KibanaPrivateUrl string `json:"kibana_private_url"`
- }
- // RefererRule is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.RefererRule.
- type RefererRule struct {
- // 规则类型:
- // all:所有文件生效
- // file:指定文件后缀生效
- // directory:指定路径生效
- // path:指定绝对路径生效
- RuleType string `json:"rule_type"`
- RulePaths []string `json:"rule_paths"`
- RefererType string `json:"referer_type"`
- Referers []string `json:"referers"`
- AllowEmpty *bool `json:"allow_empty"`
- }
- // RuleCacheConfig is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.RuleCacheConfig.
- type RuleCacheConfig struct {
- Cache *struct {
- Enabled bool
- CacheTime int
- CompareMaxAge bool
- IgnoreCacheControl bool
- IgnoreSetCookie bool
- } `json:"cache"`
- NoCache *struct {
- Enabled bool
- Revalidate bool
- } `json:"no_cache"`
- FollowOrigin *struct {
- Enabled bool
- HeuristicCache struct {
- Enabled bool
- CacheConfig struct {
- HeuristicCacheTimeSwitch bool
- HeuristicCacheTime int
- }
- }
- } `json:"follow_origin"`
- }
- // SCDNCache is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.SCDNCache.
- type SCDNCache struct {
- RuleCache []SCacheRuleCache `json:"rule_cache"`
- }
- // SCDNCacheKeys is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.SCDNCacheKeys.
- type SCDNCacheKeys struct {
- // 开启关闭忽略参数
- Enabled *bool `json:"enabled"`
- // 是否忽略大小
- IgnoreCase *bool `json:"ignore_case"`
- // 分路径缓存键配置
- KeyRules []CacheKeyRule `json:"key_rules"`
- }
- // SCDNForceRedirect is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.SCDNForceRedirect.
- type SCDNForceRedirect struct {
- // 访问强制跳转配置开关
- Enabled *bool `json:"enabled"`
- // 访问强制跳转类型
- // enmu: http, https
- RedirectType string `json:"redirect_type"`
- }
- // SCDNHttps is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.SCDNHttps.
- type SCDNHttps struct {
- // https 配置开关
- Enabled *bool `json:"enabled"`
- // http2 配置开关
- Http2 *bool `json:"http2"`
- }
- // SCDNMaxAge is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.SCDNMaxAge.
- type SCDNMaxAge struct {
- Enabled *bool `json:"enabled"`
- MaxAgeRules []SMaxAgeRule `json:"max_age_rules"`
- }
- // SCDNRangeOriginPull is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.SCDNRangeOriginPull.
- type SCDNRangeOriginPull struct {
- Enabled *bool `json:"enabled"`
- RangeOriginPullRules []SRangeOriginPullRule `json:"range_origin_pull_rules"`
- }
- // SCDNReferer is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.SCDNReferer.
- type SCDNReferer struct {
- // 是否开启防盗链
- Enabled *bool `json:"enabled"`
- RefererRules []RefererRule `json:"referer_rules"`
- }
- // SCacheRuleCache is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.SCacheRuleCache.
- type SCacheRuleCache struct {
- RulePaths []string `json:"rule_paths"`
- RuleType string `json:"rule_type"`
- Priority int `json:"priority"`
- CacheConfig *RuleCacheConfig `json:"cache_config"`
- }
- // 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 {
- // 源站类型
- // domain: 域名类型, cos:对象存储源站, ip:IP 列表作为源站
- // enmu: domain, cos, ip
- // required: true
- Type string `json:"type"`
- // 源站地址
- Origin string `json:"origin"`
- // 回主源站时 Host 头部
- ServerName string `json:"server_name"`
- // 回源协议
- // enmu: http, follow, https
- 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"`
- }
- // SMaxAgeRule is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.SMaxAgeRule.
- type SMaxAgeRule struct {
- MaxAgeType string `json:"max_age_type"`
- MaxAgeContents []string `json:"max_age_contents"`
- MaxAgeTime int `json:"max_age_time"`
- FollowOrigin bool `json:"follow_origin"`
- }
- // SRangeOriginPullRule is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.SRangeOriginPullRule.
- type SRangeOriginPullRule struct {
- Enabled bool `json:"enabled"`
- RuleType string `json:"rule_type"`
- RulePaths []string `json:"rule_paths"`
- }
- // SSubAccount is an autogenerated struct via yunion.io/x/cloudmux/pkg/cloudprovider.SSubAccount.
- type SSubAccount struct {
- Id string `json:"id"`
- // 若Account不为空,可不传
- Name string `json:"name"`
- // 描述信息
- Desc string `json:"desc"`
- // 输入必填,若为空,需要指定子账号名称
- 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"`
- // volcengine
- Region string `json:"region"`
- 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 []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
|