@@ -73,6 +73,12 @@ resources of that resource. A maximum of 50 email addresses are allowed.`,
7373 },
7474 Set : schema .HashString ,
7575 },
76+ "project" : {
77+ Type : schema .TypeString ,
78+ Optional : true ,
79+ Deprecated : "Deprecated in favor of `project_id`" ,
80+ Description : `Deprecated in favor of 'project_id'` ,
81+ },
7682 "enrolled_ancestor" : {
7783 Type : schema .TypeBool ,
7884 Computed : true ,
@@ -81,13 +87,7 @@ resources of that resource. A maximum of 50 email addresses are allowed.`,
8187 "name" : {
8288 Type : schema .TypeString ,
8389 Computed : true ,
84- Description : `The resource name of the settings. Format is "projects/{project_id/accessApprovalSettings"` ,
85- },
86- "project" : {
87- Type : schema .TypeString ,
88- Optional : true ,
89- Computed : true ,
90- ForceNew : true ,
90+ Description : `The resource name of the settings. Format is "projects/{project_id}/accessApprovalSettings"` ,
9191 },
9292 },
9393 UseJSONNumber : true ,
@@ -143,21 +143,21 @@ func resourceAccessApprovalProjectSettingsCreate(d *schema.ResourceData, meta in
143143 } else if v , ok := d .GetOkExists ("enrolled_services" ); ! isEmptyValue (reflect .ValueOf (enrolledServicesProp )) && (ok || ! reflect .DeepEqual (v , enrolledServicesProp )) {
144144 obj ["enrolledServices" ] = enrolledServicesProp
145145 }
146+ projectProp , err := expandAccessApprovalProjectSettingsProject (d .Get ("project" ), d , config )
147+ if err != nil {
148+ return err
149+ } else if v , ok := d .GetOkExists ("project" ); ! isEmptyValue (reflect .ValueOf (projectProp )) && (ok || ! reflect .DeepEqual (v , projectProp )) {
150+ obj ["project" ] = projectProp
151+ }
146152
147- url , err := replaceVars (d , config , "{{AccessApprovalBasePath}}projects/{{project }}/accessApprovalSettings" )
153+ url , err := replaceVars (d , config , "{{AccessApprovalBasePath}}projects/{{project_id }}/accessApprovalSettings" )
148154 if err != nil {
149155 return err
150156 }
151157
152158 log .Printf ("[DEBUG] Creating new ProjectSettings: %#v" , obj )
153159 billingProject := ""
154160
155- project , err := getProject (d , config )
156- if err != nil {
157- return fmt .Errorf ("Error fetching project for ProjectSettings: %s" , err )
158- }
159- billingProject = project
160-
161161 // err == nil indicates that the billing_project value was found
162162 if bp , err := getBillingProject (d , config ); err == nil {
163163 billingProject = bp
@@ -172,6 +172,10 @@ func resourceAccessApprovalProjectSettingsCreate(d *schema.ResourceData, meta in
172172 if d .HasChange ("enrolled_services" ) {
173173 updateMask = append (updateMask , "enrolledServices" )
174174 }
175+
176+ if d .HasChange ("project" ) {
177+ updateMask = append (updateMask , "project" )
178+ }
175179 // updateMask is a URL parameter but not present in the schema, so replaceVars
176180 // won't set it
177181 url , err = addQueryParams (url , map [string ]string {"updateMask" : strings .Join (updateMask , "," )})
@@ -187,7 +191,7 @@ func resourceAccessApprovalProjectSettingsCreate(d *schema.ResourceData, meta in
187191 }
188192
189193 // Store the ID now
190- id , err := replaceVars (d , config , "projects/{{project }}/accessApprovalSettings" )
194+ id , err := replaceVars (d , config , "projects/{{project_id }}/accessApprovalSettings" )
191195 if err != nil {
192196 return fmt .Errorf ("Error constructing id: %s" , err )
193197 }
@@ -205,19 +209,13 @@ func resourceAccessApprovalProjectSettingsRead(d *schema.ResourceData, meta inte
205209 return err
206210 }
207211
208- url , err := replaceVars (d , config , "{{AccessApprovalBasePath}}projects/{{project }}/accessApprovalSettings" )
212+ url , err := replaceVars (d , config , "{{AccessApprovalBasePath}}projects/{{project_id }}/accessApprovalSettings" )
209213 if err != nil {
210214 return err
211215 }
212216
213217 billingProject := ""
214218
215- project , err := getProject (d , config )
216- if err != nil {
217- return fmt .Errorf ("Error fetching project for ProjectSettings: %s" , err )
218- }
219- billingProject = project
220-
221219 // err == nil indicates that the billing_project value was found
222220 if bp , err := getBillingProject (d , config ); err == nil {
223221 billingProject = bp
@@ -228,10 +226,6 @@ func resourceAccessApprovalProjectSettingsRead(d *schema.ResourceData, meta inte
228226 return handleNotFoundError (err , d , fmt .Sprintf ("AccessApprovalProjectSettings %q" , d .Id ()))
229227 }
230228
231- if err := d .Set ("project" , project ); err != nil {
232- return fmt .Errorf ("Error reading ProjectSettings: %s" , err )
233- }
234-
235229 if err := d .Set ("name" , flattenAccessApprovalProjectSettingsName (res ["name" ], d , config )); err != nil {
236230 return fmt .Errorf ("Error reading ProjectSettings: %s" , err )
237231 }
@@ -244,6 +238,9 @@ func resourceAccessApprovalProjectSettingsRead(d *schema.ResourceData, meta inte
244238 if err := d .Set ("enrolled_ancestor" , flattenAccessApprovalProjectSettingsEnrolledAncestor (res ["enrolledAncestor" ], d , config )); err != nil {
245239 return fmt .Errorf ("Error reading ProjectSettings: %s" , err )
246240 }
241+ if err := d .Set ("project" , flattenAccessApprovalProjectSettingsProject (res ["project" ], d , config )); err != nil {
242+ return fmt .Errorf ("Error reading ProjectSettings: %s" , err )
243+ }
247244
248245 return nil
249246}
@@ -257,12 +254,6 @@ func resourceAccessApprovalProjectSettingsUpdate(d *schema.ResourceData, meta in
257254
258255 billingProject := ""
259256
260- project , err := getProject (d , config )
261- if err != nil {
262- return fmt .Errorf ("Error fetching project for ProjectSettings: %s" , err )
263- }
264- billingProject = project
265-
266257 obj := make (map [string ]interface {})
267258 notificationEmailsProp , err := expandAccessApprovalProjectSettingsNotificationEmails (d .Get ("notification_emails" ), d , config )
268259 if err != nil {
@@ -276,8 +267,14 @@ func resourceAccessApprovalProjectSettingsUpdate(d *schema.ResourceData, meta in
276267 } else if v , ok := d .GetOkExists ("enrolled_services" ); ! isEmptyValue (reflect .ValueOf (v )) && (ok || ! reflect .DeepEqual (v , enrolledServicesProp )) {
277268 obj ["enrolledServices" ] = enrolledServicesProp
278269 }
270+ projectProp , err := expandAccessApprovalProjectSettingsProject (d .Get ("project" ), d , config )
271+ if err != nil {
272+ return err
273+ } else if v , ok := d .GetOkExists ("project" ); ! isEmptyValue (reflect .ValueOf (v )) && (ok || ! reflect .DeepEqual (v , projectProp )) {
274+ obj ["project" ] = projectProp
275+ }
279276
280- url , err := replaceVars (d , config , "{{AccessApprovalBasePath}}projects/{{project }}/accessApprovalSettings" )
277+ url , err := replaceVars (d , config , "{{AccessApprovalBasePath}}projects/{{project_id }}/accessApprovalSettings" )
281278 if err != nil {
282279 return err
283280 }
@@ -292,6 +289,10 @@ func resourceAccessApprovalProjectSettingsUpdate(d *schema.ResourceData, meta in
292289 if d .HasChange ("enrolled_services" ) {
293290 updateMask = append (updateMask , "enrolledServices" )
294291 }
292+
293+ if d .HasChange ("project" ) {
294+ updateMask = append (updateMask , "project" )
295+ }
295296 // updateMask is a URL parameter but not present in the schema, so replaceVars
296297 // won't set it
297298 url , err = addQueryParams (url , map [string ]string {"updateMask" : strings .Join (updateMask , "," )})
@@ -326,7 +327,7 @@ func resourceAccessApprovalProjectSettingsDelete(d *schema.ResourceData, meta in
326327 obj ["notificationEmails" ] = []string {}
327328 obj ["enrolledServices" ] = []string {}
328329
329- url , err := replaceVars (d , config , "{{AccessApprovalBasePath}}projects/{{project }}/accessApprovalSettings" )
330+ url , err := replaceVars (d , config , "{{AccessApprovalBasePath}}projects/{{project_id }}/accessApprovalSettings" )
330331 if err != nil {
331332 return err
332333 }
@@ -358,14 +359,14 @@ func resourceAccessApprovalProjectSettingsDelete(d *schema.ResourceData, meta in
358359func resourceAccessApprovalProjectSettingsImport (d * schema.ResourceData , meta interface {}) ([]* schema.ResourceData , error ) {
359360 config := meta .(* Config )
360361 if err := parseImportId ([]string {
361- "projects/(?P<project >[^/]+)/accessApprovalSettings" ,
362- "(?P<project >[^/]+)" ,
362+ "projects/(?P<project_id >[^/]+)/accessApprovalSettings" ,
363+ "(?P<project_id >[^/]+)" ,
363364 }, d , config ); err != nil {
364365 return nil , err
365366 }
366367
367368 // Replace import id for the resource id
368- id , err := replaceVars (d , config , "projects/{{project }}/accessApprovalSettings" )
369+ id , err := replaceVars (d , config , "projects/{{project_id }}/accessApprovalSettings" )
369370 if err != nil {
370371 return nil , fmt .Errorf ("Error constructing id: %s" , err )
371372 }
@@ -416,6 +417,10 @@ func flattenAccessApprovalProjectSettingsEnrolledAncestor(v interface{}, d *sche
416417 return v
417418}
418419
420+ func flattenAccessApprovalProjectSettingsProject (v interface {}, d * schema.ResourceData , config * Config ) interface {} {
421+ return v
422+ }
423+
419424func expandAccessApprovalProjectSettingsNotificationEmails (v interface {}, d TerraformResourceData , config * Config ) (interface {}, error ) {
420425 v = v .(* schema.Set ).List ()
421426 return v , nil
@@ -458,3 +463,7 @@ func expandAccessApprovalProjectSettingsEnrolledServicesCloudProduct(v interface
458463func expandAccessApprovalProjectSettingsEnrolledServicesEnrollmentLevel (v interface {}, d TerraformResourceData , config * Config ) (interface {}, error ) {
459464 return v , nil
460465}
466+
467+ func expandAccessApprovalProjectSettingsProject (v interface {}, d TerraformResourceData , config * Config ) (interface {}, error ) {
468+ return v , nil
469+ }
0 commit comments