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

Method DescribeACLs

describeacls.go:61–107  ·  view source on GitHub ↗
(ctx context.Context, req *DescribeACLsRequest)

Source from the content-addressed store, hash-verified

59}
60
61func (c *Client) DescribeACLs(ctx context.Context, req *DescribeACLsRequest) (*DescribeACLsResponse, error) {
62 m, err := c.roundTrip(ctx, req.Addr, &describeacls.Request{
63 Filter: describeacls.ACLFilter{
64 ResourceTypeFilter: int8(req.Filter.ResourceTypeFilter),
65 ResourceNameFilter: req.Filter.ResourceNameFilter,
66 ResourcePatternTypeFilter: int8(req.Filter.ResourcePatternTypeFilter),
67 PrincipalFilter: req.Filter.PrincipalFilter,
68 HostFilter: req.Filter.HostFilter,
69 Operation: int8(req.Filter.Operation),
70 PermissionType: int8(req.Filter.PermissionType),
71 },
72 })
73 if err != nil {
74 return nil, fmt.Errorf("kafka.(*Client).DescribeACLs: %w", err)
75 }
76
77 res := m.(*describeacls.Response)
78 resources := make([]ACLResource, len(res.Resources))
79
80 for resourceIdx, respResource := range res.Resources {
81 descriptions := make([]ACLDescription, len(respResource.ACLs))
82
83 for descriptionIdx, respDescription := range respResource.ACLs {
84 descriptions[descriptionIdx] = ACLDescription{
85 Principal: respDescription.Principal,
86 Host: respDescription.Host,
87 Operation: ACLOperationType(respDescription.Operation),
88 PermissionType: ACLPermissionType(respDescription.PermissionType),
89 }
90 }
91
92 resources[resourceIdx] = ACLResource{
93 ResourceType: ResourceType(respResource.ResourceType),
94 ResourceName: respResource.ResourceName,
95 PatternType: PatternType(respResource.PatternType),
96 ACLs: descriptions,
97 }
98 }
99
100 ret := &DescribeACLsResponse{
101 Throttle: makeDuration(res.ThrottleTimeMs),
102 Error: makeError(res.ErrorCode, res.ErrorMessage),
103 Resources: resources,
104 }
105
106 return ret, nil
107}

Callers 2

TestClientDeleteACLsFunction · 0.80
TestClientDescribeACLsFunction · 0.80

Calls 7

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

Tested by 2

TestClientDeleteACLsFunction · 0.64
TestClientDescribeACLsFunction · 0.64