github.com/qiniu/go-sdk/v7@v7.27.0/iam/apis/api_get_audits.go (about) 1 // THIS FILE IS GENERATED BY api-generator, DO NOT EDIT DIRECTLY! 2 3 package apis 4 5 import ( 6 "context" 7 "net/http" 8 "net/url" 9 "strconv" 10 "strings" 11 "time" 12 13 auth "github.com/qiniu/go-sdk/v7/auth" 14 getaudits "github.com/qiniu/go-sdk/v7/iam/apis/get_audits" 15 uplog "github.com/qiniu/go-sdk/v7/internal/uplog" 16 errors "github.com/qiniu/go-sdk/v7/storagev2/errors" 17 httpclient "github.com/qiniu/go-sdk/v7/storagev2/http_client" 18 region "github.com/qiniu/go-sdk/v7/storagev2/region" 19 uptoken "github.com/qiniu/go-sdk/v7/storagev2/uptoken" 20 ) 21 22 type innerGetAuditsRequest getaudits.Request 23 24 func (query *innerGetAuditsRequest) buildQuery() (url.Values, error) { 25 allQuery := make(url.Values) 26 if query.Iuid != 0 { 27 allQuery.Set("iuid", strconv.FormatInt(query.Iuid, 10)) 28 } 29 if query.Service != "" { 30 allQuery.Set("service", query.Service) 31 } 32 if query.Action != "" { 33 allQuery.Set("action", query.Action) 34 } 35 if query.Resource != "" { 36 allQuery.Set("resource", query.Resource) 37 } 38 if query.StartTime != "" { 39 allQuery.Set("start_time", query.StartTime) 40 } 41 if query.EndTime != "" { 42 allQuery.Set("end_time", query.EndTime) 43 } 44 if query.Marker != "" { 45 allQuery.Set("marker", query.Marker) 46 } 47 if query.Limit != 0 { 48 allQuery.Set("limit", strconv.FormatInt(query.Limit, 10)) 49 } 50 return allQuery, nil 51 } 52 53 type ( 54 GetAuditsRequest = getaudits.Request 55 GetAuditsResponse = getaudits.Response 56 ) 57 58 // 查询审计日志列表 59 func (iam *Iam) GetAudits(ctx context.Context, request *GetAuditsRequest, options *Options) (*GetAuditsResponse, error) { 60 if options == nil { 61 options = &Options{} 62 } 63 innerRequest := (*innerGetAuditsRequest)(request) 64 serviceNames := []region.ServiceName{region.ServiceApi} 65 if innerRequest.Credentials == nil && iam.client.GetCredentials() == nil { 66 return nil, errors.MissingRequiredFieldError{Name: "Credentials"} 67 } 68 pathSegments := make([]string, 0, 3) 69 pathSegments = append(pathSegments, "iam", "v1", "audits") 70 path := "/" + strings.Join(pathSegments, "/") 71 var rawQuery string 72 if query, err := innerRequest.buildQuery(); err != nil { 73 return nil, err 74 } else { 75 rawQuery += query.Encode() 76 } 77 headers := http.Header{} 78 uplogInterceptor, err := uplog.NewRequestUplog("getAudits", "", "", func() (string, error) { 79 credentials := innerRequest.Credentials 80 if credentials == nil { 81 credentials = iam.client.GetCredentials() 82 } 83 putPolicy, err := uptoken.NewPutPolicy("", time.Now().Add(time.Hour)) 84 if err != nil { 85 return "", err 86 } 87 return uptoken.NewSigner(putPolicy, credentials).GetUpToken(ctx) 88 }) 89 if err != nil { 90 return nil, err 91 } 92 req := httpclient.Request{Method: "GET", ServiceNames: serviceNames, Path: path, RawQuery: rawQuery, Endpoints: options.OverwrittenEndpoints, Region: options.OverwrittenRegion, Interceptors: []httpclient.Interceptor{uplogInterceptor}, Header: headers, AuthType: auth.TokenQiniu, Credentials: innerRequest.Credentials, BufferResponse: true, OnRequestProgress: options.OnRequestProgress} 93 if options.OverwrittenEndpoints == nil && options.OverwrittenRegion == nil && iam.client.GetRegions() == nil { 94 bucketHosts := httpclient.DefaultBucketHosts() 95 96 req.Region = iam.client.GetAllRegions() 97 if req.Region == nil { 98 if options.OverwrittenBucketHosts != nil { 99 if bucketHosts, err = options.OverwrittenBucketHosts.GetEndpoints(ctx); err != nil { 100 return nil, err 101 } 102 } 103 allRegionsOptions := region.AllRegionsProviderOptions{UseInsecureProtocol: iam.client.UseInsecureProtocol(), HostFreezeDuration: iam.client.GetHostFreezeDuration(), Resolver: iam.client.GetResolver(), Chooser: iam.client.GetChooser(), BeforeSign: iam.client.GetBeforeSignCallback(), AfterSign: iam.client.GetAfterSignCallback(), SignError: iam.client.GetSignErrorCallback(), BeforeResolve: iam.client.GetBeforeResolveCallback(), AfterResolve: iam.client.GetAfterResolveCallback(), ResolveError: iam.client.GetResolveErrorCallback(), BeforeBackoff: iam.client.GetBeforeBackoffCallback(), AfterBackoff: iam.client.GetAfterBackoffCallback(), BeforeRequest: iam.client.GetBeforeRequestCallback(), AfterResponse: iam.client.GetAfterResponseCallback()} 104 if hostRetryConfig := iam.client.GetHostRetryConfig(); hostRetryConfig != nil { 105 allRegionsOptions.RetryMax = hostRetryConfig.RetryMax 106 allRegionsOptions.Backoff = hostRetryConfig.Backoff 107 } 108 credentials := innerRequest.Credentials 109 if credentials == nil { 110 credentials = iam.client.GetCredentials() 111 } 112 if req.Region, err = region.NewAllRegionsProvider(credentials, bucketHosts, &allRegionsOptions); err != nil { 113 return nil, err 114 } 115 } 116 } 117 var respBody GetAuditsResponse 118 if err := iam.client.DoAndAcceptJSON(ctx, &req, &respBody); err != nil { 119 return nil, err 120 } 121 return &respBody, nil 122 }