|
| 1 | +// THIS FILE IS GENERATED BY api-generator, DO NOT EDIT DIRECTLY! |
| 2 | + |
| 3 | +package apis |
| 4 | + |
| 5 | +import ( |
| 6 | + "context" |
| 7 | + auth "github.com/qiniu/go-sdk/v7/auth" |
| 8 | + deletegroup "github.com/qiniu/go-sdk/v7/iam/apis/delete_group" |
| 9 | + uplog "github.com/qiniu/go-sdk/v7/internal/uplog" |
| 10 | + errors "github.com/qiniu/go-sdk/v7/storagev2/errors" |
| 11 | + httpclient "github.com/qiniu/go-sdk/v7/storagev2/http_client" |
| 12 | + region "github.com/qiniu/go-sdk/v7/storagev2/region" |
| 13 | + uptoken "github.com/qiniu/go-sdk/v7/storagev2/uptoken" |
| 14 | + "strings" |
| 15 | + "time" |
| 16 | +) |
| 17 | + |
| 18 | +type innerDeleteGroupRequest deletegroup.Request |
| 19 | + |
| 20 | +func (path *innerDeleteGroupRequest) buildPath() ([]string, error) { |
| 21 | + allSegments := make([]string, 0, 1) |
| 22 | + if path.Alias != "" { |
| 23 | + allSegments = append(allSegments, path.Alias) |
| 24 | + } else { |
| 25 | + return nil, errors.MissingRequiredFieldError{Name: "Alias"} |
| 26 | + } |
| 27 | + return allSegments, nil |
| 28 | +} |
| 29 | + |
| 30 | +type DeleteGroupRequest = deletegroup.Request |
| 31 | +type DeleteGroupResponse = deletegroup.Response |
| 32 | + |
| 33 | +// 删除用户分组 |
| 34 | +func (iam *Iam) DeleteGroup(ctx context.Context, request *DeleteGroupRequest, options *Options) (*DeleteGroupResponse, error) { |
| 35 | + if options == nil { |
| 36 | + options = &Options{} |
| 37 | + } |
| 38 | + innerRequest := (*innerDeleteGroupRequest)(request) |
| 39 | + serviceNames := []region.ServiceName{region.ServiceApi} |
| 40 | + if innerRequest.Credentials == nil && iam.client.GetCredentials() == nil { |
| 41 | + return nil, errors.MissingRequiredFieldError{Name: "Credentials"} |
| 42 | + } |
| 43 | + pathSegments := make([]string, 0, 4) |
| 44 | + pathSegments = append(pathSegments, "iam", "v1", "groups") |
| 45 | + if segments, err := innerRequest.buildPath(); err != nil { |
| 46 | + return nil, err |
| 47 | + } else { |
| 48 | + pathSegments = append(pathSegments, segments...) |
| 49 | + } |
| 50 | + path := "/" + strings.Join(pathSegments, "/") |
| 51 | + var rawQuery string |
| 52 | + uplogInterceptor, err := uplog.NewRequestUplog("deleteGroup", "", "", func() (string, error) { |
| 53 | + credentials := innerRequest.Credentials |
| 54 | + if credentials == nil { |
| 55 | + credentials = iam.client.GetCredentials() |
| 56 | + } |
| 57 | + putPolicy, err := uptoken.NewPutPolicy("", time.Now().Add(time.Hour)) |
| 58 | + if err != nil { |
| 59 | + return "", err |
| 60 | + } |
| 61 | + return uptoken.NewSigner(putPolicy, credentials).GetUpToken(ctx) |
| 62 | + }) |
| 63 | + if err != nil { |
| 64 | + return nil, err |
| 65 | + } |
| 66 | + req := httpclient.Request{Method: "DELETE", ServiceNames: serviceNames, Path: path, RawQuery: rawQuery, Endpoints: options.OverwrittenEndpoints, Region: options.OverwrittenRegion, Interceptors: []httpclient.Interceptor{uplogInterceptor}, AuthType: auth.TokenQiniu, Credentials: innerRequest.Credentials, OnRequestProgress: options.OnRequestProgress} |
| 67 | + if options.OverwrittenEndpoints == nil && options.OverwrittenRegion == nil && iam.client.GetRegions() == nil { |
| 68 | + bucketHosts := httpclient.DefaultBucketHosts() |
| 69 | + |
| 70 | + req.Region = iam.client.GetAllRegions() |
| 71 | + if req.Region == nil { |
| 72 | + if options.OverwrittenBucketHosts != nil { |
| 73 | + if bucketHosts, err = options.OverwrittenBucketHosts.GetEndpoints(ctx); err != nil { |
| 74 | + return nil, err |
| 75 | + } |
| 76 | + } |
| 77 | + 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()} |
| 78 | + if hostRetryConfig := iam.client.GetHostRetryConfig(); hostRetryConfig != nil { |
| 79 | + allRegionsOptions.RetryMax = hostRetryConfig.RetryMax |
| 80 | + allRegionsOptions.Backoff = hostRetryConfig.Backoff |
| 81 | + } |
| 82 | + credentials := innerRequest.Credentials |
| 83 | + if credentials == nil { |
| 84 | + credentials = iam.client.GetCredentials() |
| 85 | + } |
| 86 | + if req.Region, err = region.NewAllRegionsProvider(credentials, bucketHosts, &allRegionsOptions); err != nil { |
| 87 | + return nil, err |
| 88 | + } |
| 89 | + } |
| 90 | + } |
| 91 | + resp, err := iam.client.Do(ctx, &req) |
| 92 | + if err != nil { |
| 93 | + return nil, err |
| 94 | + } |
| 95 | + return &DeleteGroupResponse{}, resp.Body.Close() |
| 96 | +} |
0 commit comments