github.com/chnsz/golangsdk@v0.0.0-20240506093406-85a3fbfa605b/openstack/waf_hw/v1/premium_domains/results.go (about)

     1  /*
     2   Copyright (c) Huawei Technologies Co., Ltd. 2021. All rights reserved.
     3  */
     4  
     5  package premium_domains
     6  
     7  type CreatePremiumHostRst struct {
     8  	Id        string `json:"id"`
     9  	PolicyId  string `json:"policyid"`
    10  	HostName  string `json:"hostname"`
    11  	DomainId  string `json:"domainid"`
    12  	ProjectId string `json:"projectid"`
    13  	Protocol  string `json:"protocol"`
    14  }
    15  
    16  type PremiumHost struct {
    17  	Id                  string               `json:"id"`
    18  	HostName            string               `json:"hostname"`
    19  	Protocol            string               `json:"protocol"`
    20  	Servers             []Server             `json:"server"`
    21  	Proxy               bool                 `json:"proxy"`
    22  	Locked              int                  `json:"locked"`
    23  	Timestamp           int64                `json:"timestamp"`
    24  	Tls                 string               `json:"tls"`
    25  	Cipher              string               `json:"cipher"`
    26  	Extend              map[string]string    `json:"extend"`
    27  	Flag                map[string]string    `json:"flag"`
    28  	Description         string               `json:"description"`
    29  	PolicyId            string               `json:"policyid"`
    30  	DomainId            string               `json:"domainid"`
    31  	ProjectId           string               `json:"projectid"`
    32  	EnterpriseProjectId string               `json:"enterprise_project_id"`
    33  	CertificateId       string               `json:"certificateid"`
    34  	CertificateName     string               `json:"certificatename"`
    35  	ProtectStatus       int                  `json:"protect_status"`
    36  	AccessStatus        int                  `json:"access_status"`
    37  	WebTag              string               `json:"web_tag"`
    38  	BlockPage           DomainBlockPage      `json:"block_page"`
    39  	TrafficMark         DomainTrafficMark    `json:"traffic_mark"`
    40  	CircuitBreaker      DomainCircuitBreaker `json:"circuit_breaker"`
    41  	TimeoutConfig       DomainTimeoutConfig  `json:"timeout_config"`
    42  	ForwardHeaderMap    map[string]string    `json:"forward_header_map"`
    43  	AccessProgress      []AccessProgress     `json:"access_progress"`
    44  
    45  	// Deprecated
    46  	AccessCode string `json:"access_code"`
    47  	// Deprecated
    48  	Mode string `json:"mode"`
    49  	// Deprecated
    50  	PoolIds []string `json:"pool_ids"`
    51  }
    52  
    53  type SimplePremiumHost struct {
    54  	Id            string            `json:"id"`
    55  	Hostname      string            `json:"hostname"`
    56  	PolicyId      string            `json:"policyid"`
    57  	ProtectStatus int               `json:"protect_status"`
    58  	AccessStatus  int               `json:"access_status"`
    59  	Flag          map[string]string `json:"flag"`
    60  	Mode          string            `json:"mode"`
    61  	PoolIds       []string          `json:"pool_ids"`
    62  }
    63  
    64  type DomainBlockPage struct {
    65  	Template    string           `json:"template"`
    66  	CustomPage  DomainCustomPage `json:"custom_page"`
    67  	RedirectUrl string           `json:"redirect_url"`
    68  }
    69  
    70  type DomainCustomPage struct {
    71  	StatusCode  string `json:"status_code"`
    72  	ContentType string `json:"content_type"`
    73  	Content     string `json:"content"`
    74  }
    75  
    76  type DomainTrafficMark struct {
    77  	Sip    []string `json:"sip"`
    78  	Cookie string   `json:"cookie"`
    79  	Params string   `json:"params"`
    80  }
    81  
    82  type DomainCircuitBreaker struct {
    83  	Switch           bool    `json:"switch"`
    84  	DeadNum          int     `json:"dead_num"`
    85  	DeadRatio        float64 `json:"dead_ratio"`
    86  	BlockTime        int     `json:"block_time"`
    87  	SuperpositionNum int     `json:"superposition_num"`
    88  	SuspendNum       int     `json:"suspend_num"`
    89  	SusBlockTime     int     `json:"sus_block_time"`
    90  }
    91  
    92  type DomainTimeoutConfig struct {
    93  	ConnectTimeout int `json:"connect_timeout"`
    94  	SendTimeout    int `json:"send_timeout"`
    95  	ReadTimeout    int `json:"read_timeout"`
    96  }
    97  
    98  type AccessProgress struct {
    99  	Step   int `json:"step"`
   100  	Status int `json:"status"`
   101  }
   102  
   103  type PremiumHostList struct {
   104  	Total int                 `json:"total"`
   105  	Items []SimplePremiumHost `json:"items"`
   106  }
   107  
   108  type PremiumHostProtectStatus struct {
   109  	KeepPolicy bool
   110  }