github.com/qiniu/go-sdk/v7@v7.27.0/iam/apis/api_delete_group_users.go (about) 1 // THIS FILE IS GENERATED BY api-generator, DO NOT EDIT DIRECTLY! 2 3 package apis 4 5 import ( 6 "context" 7 "encoding/json" 8 "net/http" 9 "strings" 10 "time" 11 12 auth "github.com/qiniu/go-sdk/v7/auth" 13 deletegroupusers "github.com/qiniu/go-sdk/v7/iam/apis/delete_group_users" 14 uplog "github.com/qiniu/go-sdk/v7/internal/uplog" 15 errors "github.com/qiniu/go-sdk/v7/storagev2/errors" 16 httpclient "github.com/qiniu/go-sdk/v7/storagev2/http_client" 17 region "github.com/qiniu/go-sdk/v7/storagev2/region" 18 uptoken "github.com/qiniu/go-sdk/v7/storagev2/uptoken" 19 ) 20 21 type innerDeleteGroupUsersRequest deletegroupusers.Request 22 23 func (path *innerDeleteGroupUsersRequest) buildPath() ([]string, error) { 24 allSegments := make([]string, 0, 1) 25 if path.Alias != "" { 26 allSegments = append(allSegments, path.Alias) 27 } else { 28 return nil, errors.MissingRequiredFieldError{Name: "Alias"} 29 } 30 return allSegments, nil 31 } 32 33 func (j *innerDeleteGroupUsersRequest) MarshalJSON() ([]byte, error) { 34 return json.Marshal((*deletegroupusers.Request)(j)) 35 } 36 37 func (j *innerDeleteGroupUsersRequest) UnmarshalJSON(data []byte) error { 38 return json.Unmarshal(data, (*deletegroupusers.Request)(j)) 39 } 40 41 type ( 42 DeleteGroupUsersRequest = deletegroupusers.Request 43 DeleteGroupUsersResponse = deletegroupusers.Response 44 ) 45 46 // 从用户分组中删除 IAM 子账号 47 func (iam *Iam) DeleteGroupUsers(ctx context.Context, request *DeleteGroupUsersRequest, options *Options) (*DeleteGroupUsersResponse, error) { 48 if options == nil { 49 options = &Options{} 50 } 51 innerRequest := (*innerDeleteGroupUsersRequest)(request) 52 serviceNames := []region.ServiceName{region.ServiceApi} 53 if innerRequest.Credentials == nil && iam.client.GetCredentials() == nil { 54 return nil, errors.MissingRequiredFieldError{Name: "Credentials"} 55 } 56 pathSegments := make([]string, 0, 5) 57 pathSegments = append(pathSegments, "iam", "v1", "groups") 58 if segments, err := innerRequest.buildPath(); err != nil { 59 return nil, err 60 } else { 61 pathSegments = append(pathSegments, segments...) 62 } 63 pathSegments = append(pathSegments, "users") 64 path := "/" + strings.Join(pathSegments, "/") 65 var rawQuery string 66 headers := http.Header{} 67 body, err := httpclient.GetJsonRequestBody(&innerRequest) 68 if err != nil { 69 return nil, err 70 } 71 uplogInterceptor, err := uplog.NewRequestUplog("deleteGroupUsers", "", "", func() (string, error) { 72 credentials := innerRequest.Credentials 73 if credentials == nil { 74 credentials = iam.client.GetCredentials() 75 } 76 putPolicy, err := uptoken.NewPutPolicy("", time.Now().Add(time.Hour)) 77 if err != nil { 78 return "", err 79 } 80 return uptoken.NewSigner(putPolicy, credentials).GetUpToken(ctx) 81 }) 82 if err != nil { 83 return nil, err 84 } 85 req := httpclient.Request{Method: "DELETE", ServiceNames: serviceNames, Path: path, RawQuery: rawQuery, Endpoints: options.OverwrittenEndpoints, Region: options.OverwrittenRegion, Interceptors: []httpclient.Interceptor{uplogInterceptor}, Header: headers, AuthType: auth.TokenQiniu, Credentials: innerRequest.Credentials, RequestBody: body, OnRequestProgress: options.OnRequestProgress} 86 if options.OverwrittenEndpoints == nil && options.OverwrittenRegion == nil && iam.client.GetRegions() == nil { 87 bucketHosts := httpclient.DefaultBucketHosts() 88 89 req.Region = iam.client.GetAllRegions() 90 if req.Region == nil { 91 if options.OverwrittenBucketHosts != nil { 92 if bucketHosts, err = options.OverwrittenBucketHosts.GetEndpoints(ctx); err != nil { 93 return nil, err 94 } 95 } 96 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()} 97 if hostRetryConfig := iam.client.GetHostRetryConfig(); hostRetryConfig != nil { 98 allRegionsOptions.RetryMax = hostRetryConfig.RetryMax 99 allRegionsOptions.Backoff = hostRetryConfig.Backoff 100 } 101 credentials := innerRequest.Credentials 102 if credentials == nil { 103 credentials = iam.client.GetCredentials() 104 } 105 if req.Region, err = region.NewAllRegionsProvider(credentials, bucketHosts, &allRegionsOptions); err != nil { 106 return nil, err 107 } 108 } 109 } 110 resp, err := iam.client.Do(ctx, &req) 111 if err != nil { 112 return nil, err 113 } 114 return &DeleteGroupUsersResponse{}, resp.Body.Close() 115 }