code: func (cl *Client) SetIAMPolicy(c context.Context, resource string, p Policy) (*Policy, error) {
  	var request struct {
  		Policy *Policy `json:"policy"`
  	}
  	request.Policy = &p
  	response := &Policy{}
  	if err := cl.iamAPIRequest(c, resource, "setIamPolicy", &request, response); err != nil {
  		return nil, err
  	}
  	return response, nil
  }
docs: // SetIAMPolicy replaces an IAM policy of a resource.
  //
  // Returns a new policy (with Etag field updated).