@@ -989,11 +989,22 @@ func resourceStorageTransferJobCreate(d *schema.ResourceData, meta interface{})
989989 ServiceAccount : d .Get ("service_account" ).(string ),
990990 }
991991
992+ billingProject := project
993+
994+ // err == nil indicates that the billing_project value was found
995+ if bp , err := tpgresource .GetBillingProject (d , config ); err == nil {
996+ billingProject = bp
997+ }
998+
992999 var res * storagetransfer.TransferJob
9931000
9941001 err = transport_tpg .Retry (transport_tpg.RetryOptions {
9951002 RetryFunc : func () error {
996- res , err = config .NewStorageTransferClient (userAgent ).TransferJobs .Create (transferJob ).Do ()
1003+ createCall := config .NewStorageTransferClient (userAgent ).TransferJobs .Create (transferJob )
1004+ if config .UserProjectOverride {
1005+ createCall .Header ().Add ("X-Goog-User-Project" , billingProject )
1006+ }
1007+ res , err = createCall .Do ()
9971008 return err
9981009 },
9991010 })
@@ -1025,8 +1036,19 @@ func resourceStorageTransferJobRead(d *schema.ResourceData, meta interface{}) er
10251036 return err
10261037 }
10271038
1039+ billingProject := project
1040+ // err == nil indicates that the billing_project value was found
1041+ if bp , err := tpgresource .GetBillingProject (d , config ); err == nil {
1042+ billingProject = bp
1043+ }
1044+
10281045 name := d .Get ("name" ).(string )
1029- res , err := config .NewStorageTransferClient (userAgent ).TransferJobs .Get (name , project ).Do ()
1046+ readCall := config .NewStorageTransferClient (userAgent ).TransferJobs .Get (name , project )
1047+ if config .UserProjectOverride {
1048+ readCall .Header ().Add ("X-Goog-User-Project" , billingProject )
1049+ }
1050+
1051+ res , err := readCall .Do ()
10301052 if err != nil {
10311053 return transport_tpg .HandleNotFoundError (err , d , fmt .Sprintf ("Transfer Job %q" , name ))
10321054 }
@@ -1184,7 +1206,18 @@ func resourceStorageTransferJobUpdate(d *schema.ResourceData, meta interface{})
11841206
11851207 updateRequest .UpdateTransferJobFieldMask = strings .Join (fieldMask , "," )
11861208
1187- res , err := config .NewStorageTransferClient (userAgent ).TransferJobs .Patch (d .Get ("name" ).(string ), updateRequest ).Do ()
1209+ billingProject := project
1210+ // err == nil indicates that the billing_project value was found
1211+ if bp , err := tpgresource .GetBillingProject (d , config ); err == nil {
1212+ billingProject = bp
1213+ }
1214+
1215+ updateCall := config .NewStorageTransferClient (userAgent ).TransferJobs .Patch (d .Get ("name" ).(string ), updateRequest )
1216+ if config .UserProjectOverride {
1217+ updateCall .Header ().Add ("X-Goog-User-Project" , billingProject )
1218+ }
1219+
1220+ res , err := updateCall .Do ()
11881221 if err != nil {
11891222 return err
11901223 }
@@ -1220,10 +1253,21 @@ func resourceStorageTransferJobDelete(d *schema.ResourceData, meta interface{})
12201253
12211254 updateRequest .UpdateTransferJobFieldMask = fieldMask
12221255
1256+ billingProject := project
1257+
1258+ // err == nil indicates that the billing_project value was found
1259+ if bp , err := tpgresource .GetBillingProject (d , config ); err == nil {
1260+ billingProject = bp
1261+ }
1262+
12231263 // Update transfer job with status set to DELETE
12241264 log .Printf ("[DEBUG] Setting status to DELETE for: %v\n \n " , transferJobName )
12251265 err = retry .Retry (1 * time .Minute , func () * retry.RetryError {
1226- _ , err := config .NewStorageTransferClient (userAgent ).TransferJobs .Patch (transferJobName , updateRequest ).Do ()
1266+ deleteCall := config .NewStorageTransferClient (userAgent ).TransferJobs .Patch (transferJobName , updateRequest )
1267+ if config .UserProjectOverride {
1268+ deleteCall .Header ().Add ("X-Goog-User-Project" , billingProject )
1269+ }
1270+ _ , err := deleteCall .Do ()
12271271 if err != nil {
12281272 return retry .RetryableError (err )
12291273 }
0 commit comments