(List (If (Com {[LIT_OTHER "["]} {[DQ [VarSub #]]} {[LIT_CHARS -ne]} {[LIT_CHARS 5]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Must pass in 5 parameters in order: "]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('TOKEN', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('IP', {[VarSub 2]})]) (= scope= flags=0 words=[] bindings=[('KEYSTONE_REGION', {[VarSub 3]})]) (= scope= flags=0 words=[] bindings=[('KEYSTONE_HOST', {[VarSub 4]})]) (= scope= flags=0 words=[] bindings=[('CEPH_S3_HOST', {[VarSub 5]})]) (= scope= flags=1 words=[] bindings=[('OS_SERVICE_TOKEN', {[VarSub TOKEN]})]) (If (Com {[LIT_OTHER "["]} {[VarSub IP]} {[LIT_OTHER "="]} {[VarSub KEYSTONE_HOST]} {[LIT_OTHER "]"]}) (= scope= flags=1 words=[] bindings=[('OS_SERVICE_ENDPOINT', {[DQ [LIT_CHARS "https://"][VarSub IP][LIT_CHARS ":35357/v2.0"]]})]) (ElseTrue) (= scope= flags=1 words=[] bindings=[('OS_SERVICE_ENDPOINT', {[DQ [LIT_CHARS "http://"][VarSub IP][LIT_CHARS ":35357/v2.0"]]})]) ) (FunctionDef get_field [] (List (Com {[LIT_CHARS read]} {[LIT_CHARS -ra]} {[LIT_CHARS COL]} more_env=[('IFS', {[SQ ]})] ) (Com {[LIT_CHARS echo]} {[ComSub (Com {[LIT_CHARS trim]} {[VarSub COL bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub 1]}})]})]}) ) ) (FunctionDef trim [] (Com {[LIT_CHARS echo]} {[VarSub 1 transform_ops=[PatSub {[LIT_CHARS "[[:blank:]]"]} {} do_all]]}) ) (= scope= flags=0 words=[] bindings=[('check', {[ComSub (Pipeline (Com {[LIT_CHARS keystone]} {[LIT_CHARS service-list]}) (Com {[LIT_CHARS grep]} {[SQ ]}) )]})]) (If (DBracket {B1 UNARY_STRING_z {[VarSub check]}}) (= scope= flags=0 words=[] bindings=[('COMPUTE_SERVICE', {[ComSub (Pipeline (Com {[LIT_CHARS keystone]} {[LIT_CHARS service-create]} {[LIT_CHARS --name]} {[SQ ]} {[LIT_CHARS --type]} {[LIT_CHARS compute]} {[LIT_CHARS --description]} {[SQ ]}) (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS " id "]]}) (Com {[LIT_CHARS get_field]} {[LIT_CHARS 2]}) )]})]) ) (= scope= flags=0 words=[] bindings=[('check', {[ComSub (Pipeline (Com {[LIT_CHARS keystone]} {[LIT_CHARS service-list]}) (Com {[LIT_CHARS grep]} {[SQ ]}) )]})]) (If (DBracket {B1 UNARY_STRING_z {[VarSub check]}}) (= scope= flags=0 words=[] bindings=[('VOLUME_SERVICE', {[ComSub (Pipeline (Com {[LIT_CHARS keystone]} {[LIT_CHARS service-create]} {[LIT_CHARS --name]} {[SQ ]} {[LIT_CHARS --type]} {[LIT_CHARS volume]} {[LIT_CHARS --description]} {[SQ ]}) (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS " id "]]}) (Com {[LIT_CHARS get_field]} {[LIT_CHARS 2]}) )]})]) ) (= scope= flags=0 words=[] bindings=[('check', {[ComSub (Pipeline (Com {[LIT_CHARS keystone]} {[LIT_CHARS service-list]}) (Com {[LIT_CHARS grep]} {[SQ ]}) )]})]) (If (DBracket {B1 UNARY_STRING_z {[VarSub check]}}) (= scope= flags=0 words=[] bindings=[('OBJECT_SERVICE', {[ComSub (Pipeline (Com {[LIT_CHARS keystone]} {[LIT_CHARS service-create]} {[LIT_CHARS --name]} {[SQ ]} {[LIT_CHARS --type]} {[LIT_CHARS object-store]} {[LIT_CHARS --description]} {[SQ ]}) (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS " id "]]}) (Com {[LIT_CHARS get_field]} {[LIT_CHARS 2]}) )]})]) ) (= scope= flags=0 words=[] bindings=[('check', {[ComSub (Pipeline (Com {[LIT_CHARS keystone]} {[LIT_CHARS service-list]}) (Com {[LIT_CHARS grep]} {[SQ ]}) )]})]) (If (DBracket {B1 UNARY_STRING_z {[VarSub check]}}) (= scope= flags=0 words=[] bindings=[('IMAGE_SERVICE', {[ComSub (Pipeline (Com {[LIT_CHARS keystone]} {[LIT_CHARS service-create]} {[LIT_CHARS --name]} {[SQ ]} {[LIT_CHARS --type]} {[LIT_CHARS image]} {[LIT_CHARS --description]} {[SQ ]}) (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS " id "]]}) (Com {[LIT_CHARS get_field]} {[LIT_CHARS 2]}) )]})]) ) (= scope= flags=0 words=[] bindings=[('check', {[ComSub (Pipeline (Com {[LIT_CHARS keystone]} {[LIT_CHARS service-list]}) (Com {[LIT_CHARS grep]} {[SQ ]}) )]})]) (If (DBracket {B1 UNARY_STRING_z {[VarSub check]}}) (= scope= flags=0 words=[] bindings=[('IDENTITY_SERVICE', {[ComSub (Pipeline (Com {[LIT_CHARS keystone]} {[LIT_CHARS service-create]} {[LIT_CHARS --name]} {[SQ ]} {[LIT_CHARS --type]} {[LIT_CHARS identity]} {[LIT_CHARS --description]} {[SQ ]}) (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS " id "]]}) (Com {[LIT_CHARS get_field]} {[LIT_CHARS 2]}) )]})]) ) (= scope= flags=0 words=[] bindings=[('check', {[ComSub (Pipeline (Com {[LIT_CHARS keystone]} {[LIT_CHARS service-list]}) (Com {[LIT_CHARS grep]} {[SQ ]}) )]})]) (If (DBracket {B1 UNARY_STRING_z {[VarSub check]}}) (= scope= flags=0 words=[] bindings=[('EC2_SERVICE', {[ComSub (Pipeline (Com {[LIT_CHARS keystone]} {[LIT_CHARS service-create]} {[LIT_CHARS --name]} {[SQ ]} {[LIT_CHARS --type]} {[LIT_CHARS ec2]} {[LIT_CHARS --description]} {[SQ ]}) (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS " id "]]}) (Com {[LIT_CHARS get_field]} {[LIT_CHARS 2]}) )]})]) ) (= scope= flags=0 words=[] bindings=[('check', {[ComSub (Pipeline (Com {[LIT_CHARS keystone]} {[LIT_CHARS service-list]}) (Com {[LIT_CHARS grep]} {[SQ ]}) )]})]) (If (DBracket {B1 UNARY_STRING_z {[VarSub check]}}) (= scope= flags=0 words=[] bindings=[('ORCHESTRATION_SERVICE', {[ComSub (Pipeline (Com {[LIT_CHARS keystone]} {[LIT_CHARS service-create]} {[LIT_CHARS --name]} {[SQ ]} {[LIT_CHARS --type]} {[LIT_CHARS orchestration]} {[LIT_CHARS --description]} {[SQ ]}) (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS " id "]]}) (Com {[LIT_CHARS get_field]} {[LIT_CHARS 2]}) )]})]) ) (= scope= flags=0 words=[] bindings=[('check', {[ComSub (Pipeline (Com {[LIT_CHARS keystone]} {[LIT_CHARS service-list]}) (Com {[LIT_CHARS grep]} {[SQ ]}) )]})]) (If (DBracket {B1 UNARY_STRING_z {[VarSub check]}}) (= scope= flags=0 words=[] bindings=[('CLOUD_FORMATION_SERVICE', {[ComSub (Pipeline (Com {[LIT_CHARS keystone]} {[LIT_CHARS service-create]} {[LIT_CHARS --name]} {[SQ ]} {[LIT_CHARS --type]} {[LIT_CHARS cloudformation]} {[LIT_CHARS --description]} {[SQ ]}) (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS " id "]]}) (Com {[LIT_CHARS get_field]} {[LIT_CHARS 2]}) )]})]) ) (If (DBracket {B1 UNARY_STRING_z {[VarSub COMPUTE_SERVICE]}}) (Com {[LIT_CHARS echo]} {[SQ ]}) (ElseTrue) (Com {[LIT_CHARS keystone]} {[LIT_CHARS endpoint-create]} {[LIT_CHARS --region]} {[VarSub KEYSTONE_REGION]} {[LIT_CHARS --service-id]} {[VarSub COMPUTE_SERVICE]} {[LIT_CHARS --publicurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]} {[LIT_CHARS --adminurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]} {[LIT_CHARS --internalurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]}) ) (If (DBracket {B1 UNARY_STRING_z {[VarSub VOLUME_SERVICE]}}) (Com {[LIT_CHARS echo]} {[SQ ]}) (ElseTrue) (Com {[LIT_CHARS keystone]} {[LIT_CHARS endpoint-create]} {[LIT_CHARS --region]} {[VarSub KEYSTONE_REGION]} {[LIT_CHARS --service-id]} {[VarSub VOLUME_SERVICE]} {[LIT_CHARS --publicurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]} {[LIT_CHARS --adminurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]} {[LIT_CHARS --internalurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]}) ) (If (DBracket {B1 UNARY_STRING_z {[VarSub OBJECT_SERVICE]}}) (Com {[LIT_CHARS echo]} {[SQ ]}) (ElseTrue) (Com {[LIT_CHARS keystone]} {[LIT_CHARS endpoint-create]} {[LIT_CHARS --region]} {[VarSub KEYSTONE_REGION]} {[LIT_CHARS --service-id]} {[VarSub OBJECT_SERVICE]} {[LIT_CHARS --publicurl]} {[SQ ] [VarSub CEPH_S3_HOST] [SQ ]} {[LIT_CHARS --adminurl]} {[SQ ] [VarSub CEPH_S3_HOST] [SQ ]} {[LIT_CHARS --internalurl]} {[SQ ] [VarSub CEPH_S3_HOST] [SQ ]}) ) (If (DBracket {B1 UNARY_STRING_z {[VarSub IMAGE_SERVICE]}}) (Com {[LIT_CHARS echo]} {[SQ ]}) (ElseTrue) (Com {[LIT_CHARS keystone]} {[LIT_CHARS endpoint-create]} {[LIT_CHARS --region]} {[VarSub KEYSTONE_REGION]} {[LIT_CHARS --service-id]} {[VarSub IMAGE_SERVICE]} {[LIT_CHARS --publicurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]} {[LIT_CHARS --adminurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]} {[LIT_CHARS --internalurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]}) ) (If (DBracket {B1 UNARY_STRING_z {[VarSub IDENTITY_SERVICE]}}) (Com {[LIT_CHARS echo]} {[SQ ]}) (ElseTrue) (Com {[LIT_CHARS keystone]} {[LIT_CHARS endpoint-create]} {[LIT_CHARS --region]} {[VarSub KEYSTONE_REGION]} {[LIT_CHARS --service-id]} {[VarSub IDENTITY_SERVICE]} {[LIT_CHARS --publicurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]} {[LIT_CHARS --adminurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]} {[LIT_CHARS --internalurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]}) ) (If (DBracket {B1 UNARY_STRING_z {[VarSub EC2_SERVICE]}}) (Com {[LIT_CHARS echo]} {[SQ ]}) (ElseTrue) (Com {[LIT_CHARS keystone]} {[LIT_CHARS endpoint-create]} {[LIT_CHARS --region]} {[VarSub KEYSTONE_REGION]} {[LIT_CHARS --service-id]} {[VarSub EC2_SERVICE]} {[LIT_CHARS --publicurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]} {[LIT_CHARS --adminurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]} {[LIT_CHARS --internalurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]}) ) (If (DBracket {B1 UNARY_STRING_z {[VarSub ORCHESTRATION_SERVICE]}}) (Com {[LIT_CHARS echo]} {[SQ ]}) (ElseTrue) (Com {[LIT_CHARS keystone]} {[LIT_CHARS endpoint-create]} {[LIT_CHARS --region]} {[VarSub KEYSTONE_REGION]} {[LIT_CHARS --service-id]} {[VarSub ORCHESTRATION_SERVICE]} {[LIT_CHARS --publicurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]} {[LIT_CHARS --adminurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]} {[LIT_CHARS --internalurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]}) ) (If (DBracket {B1 UNARY_STRING_z {[VarSub CLOUD_FORMATION_SERVICE]}}) (Com {[LIT_CHARS echo]} {[SQ ]}) (ElseTrue) (Com {[LIT_CHARS keystone]} {[LIT_CHARS endpoint-create]} {[LIT_CHARS --region]} {[VarSub KEYSTONE_REGION]} {[LIT_CHARS --service-id]} {[VarSub CLOUD_FORMATION_SERVICE]} {[LIT_CHARS --publicurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]} {[LIT_CHARS --adminurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]} {[LIT_CHARS --internalurl]} {[SQ ] [VarSub KEYSTONE_HOST] [SQ ]}) ) (Com {[LIT_CHARS unset]} {[LIT_CHARS OS_SERVICE_TOKEN]}) (Com {[LIT_CHARS unset]} {[LIT_CHARS OS_SERVICE_ENDPOINT]}) )