(CommandList children: [ (C {(set)} {(-e)}) (FuncDef name: print_usage body: (BraceGroup children: [ (C {(echo)} {(DQ ('This script helps copy a GCE image from a source to a target project'))}) (C {(echo)} {(-e)} { (DQ (Lit_Other '\\') ('nUsage:') (Lit_Other '\\') (n) ($ VSub_Number '$0') (' <from-image-name> <from-project-name> <to-project-name> <to-image-name>') (Lit_Other '\\') (n) ) } ) ] spids: [64] ) spids: [60 63] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-ne)} {(4)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(print_usage)}) (C {(exit)} {(1)})] spids: [16777215 105] ) ] spids: [16777215 115] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FROM_IMAGE) op: Equal rhs: {($ VSub_Number '$1')} spids: [118] ) ] spids: [118] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FROM_PROJECT) op: Equal rhs: {($ VSub_Number '$2')} spids: [121] ) ] spids: [121] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TO_PROJECT) op: Equal rhs: {($ VSub_Number '$3')} spids: [124] ) ] spids: [124] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TO_IMAGE) op: Equal rhs: {($ VSub_Number '$4')} spids: [127] ) ] spids: [127] ) (C {(echo)} { (DQ ('Copying image ') ($ VSub_Name '$FROM_IMAGE') (' from project ') ($ VSub_Name '$FROM_PROJECT') (' to project ') ($ VSub_Name '$TO_PROJECT') (' as image ') ($ VSub_Name '$TO_IMAGE') (...) ) } ) (C {(gcloud)} {(compute)} {(--project)} {($ VSub_Name '$TO_PROJECT')} {(disks)} {(create)} {($ VSub_Name '$TO_IMAGE')} {(--image) (Lit_Other '=') (https) (Lit_Other ':') (//www.googleapis.com/compute/v1/projects/) ($ VSub_Name '$FROM_PROJECT') (/global/images/) ($ VSub_Name '$FROM_IMAGE') } ) (C {(gcloud)} {(compute)} {(--project)} {($ VSub_Name '$TO_PROJECT')} {(images)} {(create)} {($ VSub_Name '$TO_IMAGE')} {(--source-disk) (Lit_Other '=') ($ VSub_Name '$TO_IMAGE')} {(--description) (Lit_Other '=') (DQ ('Cloned from projects/') ($ VSub_Number '$2') (/global/images/) ($ VSub_Number '$1') (' by ') ($ VSub_Name '$USER') (' on ') (CommandSubPart command_list: (CommandList children:[(C {(date)})]) left_token: <Left_CommandSub '$('> spids: [200 202] ) ) } ) (C {(gcloud)} {(-q)} {(compute)} {(--project)} {($ VSub_Name '$TO_PROJECT')} {(disks)} {(delete)} {($ VSub_Name '$TO_IMAGE')} ) ] )