// 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