@@ -1827,7 +1827,7 @@ func (me *DayuService) SetSession(ctx context.Context, resourceType string, reso
18271827 return
18281828}
18291829
1830- func (me * DayuService ) DescribeL7RulesV2 (ctx context.Context , business string , offset int , limit int , extendParams map [string ]interface {}) (rules []* dayu.NewL7RuleEntry , healths []* dayu.L7RuleHealth , errRet error ) {
1830+ func (me * DayuService ) DescribeL7RulesV2 (ctx context.Context , business string , extendParams map [string ]interface {}) (rules []* dayu.NewL7RuleEntry , healths []* dayu.L7RuleHealth , errRet error ) {
18311831 logId := getLogId (ctx )
18321832 request := dayu .NewDescribleNewL7RulesRequest ()
18331833
@@ -1850,32 +1850,46 @@ func (me *DayuService) DescribeL7RulesV2(ctx context.Context, business string, o
18501850 request .Domain = & domain
18511851 }
18521852 }
1853- offsetUint64 := uint64 (offset )
1854- request .Offset = & offsetUint64
1855- limitUint64 := uint64 (limit )
1856- request .Limit = & limitUint64
1857- var response * dayu.DescribleNewL7RulesResponse
1858- errRet = resource .Retry (readRetryTimeout , func () * resource.RetryError {
1853+ if v , ok := extendParams ["ip" ]; ok {
1854+ ip := v .(string )
1855+ if ip != "" {
1856+ request .Ip = & ip
1857+ }
1858+ }
1859+
1860+ var (
1861+ offset uint64 = 0
1862+ limit uint64 = 20
1863+ )
1864+
1865+ for {
1866+ request .Offset = & offset
1867+ request .Limit = & limit
18591868 ratelimit .Check (request .GetAction ())
1860- response , errRet = me .client .UseDayuClient ().DescribleNewL7Rules (request )
1869+ response , err : = me .client .UseDayuClient ().DescribleNewL7Rules (request )
18611870
1862- if e , ok := errRet .(* sdkError.TencentCloudSDKError ); ok {
1863- if e .GetCode () == "InternalError.ClusterNotFound" {
1864- return nil
1865- }
1871+ if err != nil {
1872+ log .Printf ("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n " ,
1873+ logId , request .GetAction (), request .ToJsonString (), err .Error ())
1874+ errRet = err
1875+ return
18661876 }
1867- if errRet != nil {
1868- return resource .RetryableError (errRet )
1877+ log .Printf ("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n " ,
1878+ logId , request .GetAction (), request .ToJsonString (), response .ToJsonString ())
1879+
1880+ if response == nil || len (response .Response .Rules ) < 1 {
1881+ break
18691882 }
1870- return nil
1871- })
1872- if errRet != nil {
1873- return
1883+
1884+ rules = append (rules , response .Response .Rules ... )
1885+ healths = append (healths , response .Response .Healths ... )
1886+ if len (response .Response .Rules ) < int (limit ) {
1887+ break
1888+ }
1889+
1890+ offset += limit
18741891 }
1875- rules = response .Response .Rules
1876- healths = response .Response .Healths
18771892 return
1878-
18791893}
18801894
18811895func (me * DayuService ) CreateL7RuleV2 (ctx context.Context , business string , resourceId string , resourceIp string , ruleList []interface {}) (errRet error ) {
0 commit comments