...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package admin
19
20 import (
21 "context"
22
23 "cloud.google.com/go/iam"
24 "cloud.google.com/go/iam/apiv1/iampb"
25 )
26
27
28 func (c *IamClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest) (*iam.Policy, error) {
29 policy, err := c.getIamPolicy(ctx, req)
30 if err != nil {
31 return nil, err
32 }
33 return &iam.Policy{InternalProto: policy}, nil
34 }
35
36
37 type SetIamPolicyRequest struct {
38 Resource string
39 Policy *iam.Policy
40 }
41
42
43 func (c *IamClient) SetIamPolicy(ctx context.Context, req *SetIamPolicyRequest) (*iam.Policy, error) {
44 preq := &iampb.SetIamPolicyRequest{
45 Resource: req.Resource,
46 Policy: req.Policy.InternalProto,
47 }
48 policy, err := c.setIamPolicy(ctx, preq)
49 if err != nil {
50 return nil, err
51 }
52 return &iam.Policy{InternalProto: policy}, nil
53 }
54
View as plain text