MCPcopy
hub / github.com/segmentio/kafka-go / DeleteACLs

Method DeleteACLs

deleteacls.go:60–114  ·  view source on GitHub ↗

DeleteACLs sends ACLs deletion request to a kafka broker and returns the response.

(ctx context.Context, req *DeleteACLsRequest)

Source from the content-addressed store, hash-verified

58// DeleteACLs sends ACLs deletion request to a kafka broker and returns the
59// response.
60func (c *Client) DeleteACLs(ctx context.Context, req *DeleteACLsRequest) (*DeleteACLsResponse, error) {
61 filters := make([]deleteacls.RequestFilter, 0, len(req.Filters))
62
63 for _, filter := range req.Filters {
64 filters = append(filters, deleteacls.RequestFilter{
65 ResourceTypeFilter: int8(filter.ResourceTypeFilter),
66 ResourceNameFilter: filter.ResourceNameFilter,
67 ResourcePatternTypeFilter: int8(filter.ResourcePatternTypeFilter),
68 PrincipalFilter: filter.PrincipalFilter,
69 HostFilter: filter.HostFilter,
70 Operation: int8(filter.Operation),
71 PermissionType: int8(filter.PermissionType),
72 })
73 }
74
75 m, err := c.roundTrip(ctx, req.Addr, &deleteacls.Request{
76 Filters: filters,
77 })
78 if err != nil {
79 return nil, fmt.Errorf("kafka.(*Client).DeleteACLs: %w", err)
80 }
81
82 res := m.(*deleteacls.Response)
83
84 results := make([]DeleteACLsResult, 0, len(res.FilterResults))
85
86 for _, result := range res.FilterResults {
87 matchingACLs := make([]DeleteACLsMatchingACLs, 0, len(result.MatchingACLs))
88
89 for _, matchingACL := range result.MatchingACLs {
90 matchingACLs = append(matchingACLs, DeleteACLsMatchingACLs{
91 Error: makeError(matchingACL.ErrorCode, matchingACL.ErrorMessage),
92 ResourceType: ResourceType(matchingACL.ResourceType),
93 ResourceName: matchingACL.ResourceName,
94 ResourcePatternType: PatternType(matchingACL.ResourcePatternType),
95 Principal: matchingACL.Principal,
96 Host: matchingACL.Host,
97 Operation: ACLOperationType(matchingACL.Operation),
98 PermissionType: ACLPermissionType(matchingACL.PermissionType),
99 })
100 }
101
102 results = append(results, DeleteACLsResult{
103 Error: makeError(result.ErrorCode, result.ErrorMessage),
104 MatchingACLs: matchingACLs,
105 })
106 }
107
108 ret := &DeleteACLsResponse{
109 Throttle: makeDuration(res.ThrottleTimeMs),
110 Results: results,
111 }
112
113 return ret, nil
114}

Callers 1

TestClientDeleteACLsFunction · 0.80

Calls 7

roundTripMethod · 0.95
makeErrorFunction · 0.85
ResourceTypeTypeAlias · 0.85
PatternTypeTypeAlias · 0.85
ACLOperationTypeTypeAlias · 0.85
ACLPermissionTypeTypeAlias · 0.85
makeDurationFunction · 0.85

Tested by 1

TestClientDeleteACLsFunction · 0.64