@@ -99,7 +99,7 @@ func resourceProjectMemberCreate(d *schema.ResourceData, m interface{}) error {
9999 )
100100
101101 if err != nil {
102- return fmt .Errorf ("Project member creation failed" )
102+ return fmt .Errorf ("project member creation failed" )
103103 }
104104
105105 listResp , err := apiClient .Products .GetProjectsProjectIDMembers (
@@ -109,7 +109,7 @@ func resourceProjectMemberCreate(d *schema.ResourceData, m interface{}) error {
109109 )
110110
111111 if err != nil {
112- return fmt .Errorf ("Project member loading failed" )
112+ return fmt .Errorf ("project member loading failed" )
113113 }
114114
115115 var foundMember * models.ProjectMemberEntity
@@ -124,23 +124,40 @@ func resourceProjectMemberCreate(d *schema.ResourceData, m interface{}) error {
124124 return fmt .Errorf ("could not find member %s" , groupName )
125125 }
126126
127- if err := resourceProjectMemberRefresh (d , foundMember ); err != nil {
127+ groupRef , err := apiClient .Products .GetUsergroupsGroupID (
128+ products .NewGetUsergroupsGroupIDParams ().
129+ WithGroupID (foundMember .EntityID ),
130+ nil ,
131+ )
132+
133+ if err != nil {
134+ return fmt .Errorf ("could not find member %s reference, error %v" , groupName , err )
135+ }
136+
137+ if err := resourceProjectMemberRefresh (d , foundMember , groupRef .Payload .GroupType ); err != nil {
128138 return err
129139 }
130140
131141 return nil
132142}
133143
134- func resourceProjectMemberRefresh (d * schema.ResourceData , r * models.ProjectMemberEntity ) error {
144+ func resourceProjectMemberRefresh (d * schema.ResourceData , r * models.ProjectMemberEntity , groupType int64 ) error {
135145 d .SetId (fmt .Sprintf ("%d/%d" , r .ProjectID , r .ID ))
136146
137147 roleName := roleId2Name [r .RoleID ]
138148 if err := d .Set ("role" , roleName ); err != nil {
139149 return err
140150 }
151+ usergroupTypeName := groupTypeNum2Name [groupType ]
152+ if err := d .Set ("group_type" , usergroupTypeName ); err != nil {
153+ return err
154+ }
141155 if err := d .Set ("group_name" , r .EntityName ); err != nil {
142156 return err
143157 }
158+ if err := d .Set ("project_id" , r .ProjectID ); err != nil {
159+ return err
160+ }
144161
145162 return nil
146163}
@@ -183,7 +200,17 @@ func resourceProjectMemberRead(d *schema.ResourceData, m interface{}) error {
183200 return err
184201 }
185202
186- if err := resourceProjectMemberRefresh (d , resp .Payload ); err != nil {
203+ groupRef , err := apiClient .Products .GetUsergroupsGroupID (
204+ products .NewGetUsergroupsGroupIDParams ().
205+ WithGroupID (resp .Payload .EntityID ),
206+ nil ,
207+ )
208+
209+ if err != nil {
210+ return fmt .Errorf ("could not find member reference for ID %d, error %v" , memberID , err )
211+ }
212+
213+ if err := resourceProjectMemberRefresh (d , resp .Payload , groupRef .Payload .GroupType ); err != nil {
187214 return err
188215 }
189216
0 commit comments