(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 (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("Usage:") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ($ VSub_Number "$0") (" <from-image-name> <from-project-name> <to-project-name> <to-image-name>") (EscapedLiteralPart token:<Lit_EscapedChar "\\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: [-1 103] ) ] spids: [-1 113] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FROM_IMAGE) op: Equal rhs: {($ VSub_Number "$1")} spids: [116] ) ] spids: [116] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FROM_PROJECT) op: Equal rhs: {($ VSub_Number "$2")} spids: [119] ) ] spids: [119] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TO_PROJECT) op: Equal rhs: {($ VSub_Number "$3")} spids: [122] ) ] spids: [122] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TO_IMAGE) op: Equal rhs: {($ VSub_Number "$4")} spids: [125] ) ] spids: [125] ) (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: [198 200] ) ) } ) (C {(gcloud)} {(-q)} {(compute)} {(--project)} {($ VSub_Name "$TO_PROJECT")} {(disks)} {(delete)} {($ VSub_Name "$TO_IMAGE")} ) ] )