(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:KUBE_ROOT) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:55) command_list: (command.CommandList children: [(C {(dirname)} {(DQ (${ Id.VSub_Name BASH_SOURCE))})] ) ) (/..) } spids: [54] ) ] ) (C {(source)} {(DQ (${ Id.VSub_Name KUBE_ROOT) (/cluster/skeleton/util.sh))}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (braced_var_sub token: (Token id: Id.VSub_Name val: KUBERNETES_CONFORMANCE_TEST span_id: 85 ) suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:(word.Empty)) ) ) } ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:91) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:KUBERNETES_PROVIDER) op: assign_op.Equal rhs: {(DQ )} spids: [96] ) ] ) ] spids: [77 93] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:KUBERNETES_PROVIDER) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: (Token id:Id.VSub_Name val:KUBERNETES_PROVIDER span_id:106) suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{(gce)}) ) ) } spids: [103] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PROVIDER_VARS) op: assign_op.Equal rhs: {(DQ )} spids: [127] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PROVIDER_UTILS) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name KUBE_ROOT) (/cluster/) (${ Id.VSub_Name KUBERNETES_PROVIDER) (/util.sh) ) } spids: [132] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(-f)} {(${ Id.VSub_Name PROVIDER_UTILS)} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:155) ) ] action: [(C {(source)} {(DQ (${ Id.VSub_Name PROVIDER_UTILS))})] spids: [144 157] ) ] ) (command.ShFunction name: kubeconfig-federation-context body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_z child: { (DQ (braced_var_sub token: (Token id:Id.VSub_Number val:1 span_id:210) suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:(word.Empty)) ) ) } ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:216) ) ] action: [ (C {(echo)} {(DQ ('zone parameter is required'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:228) arg_word: {(1)} ) ] spids: [202 218] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CLUSTER_CONTEXT) op: assign_op.Equal rhs: { (DQ (federation-e2e-) (${ Id.VSub_Name KUBERNETES_PROVIDER) (-) (${ Id.VSub_Number 1) ) } spids: [236] ) ] ) ] ) ) (command.ShFunction name: set-federation-zone-vars body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:zone) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number '$1'))} spids: [264] ) ] ) (C {(kubeconfig-federation-context)} {(DQ (${ Id.VSub_Name zone))}) (C {(export)} {(Id.Lit_VarLike 'OVERRIDE_CONTEXT=') (DQ (${ Id.VSub_Name CLUSTER_CONTEXT))}) (C {(echo)} {(DQ ('Setting zone vars to: ') ($ Id.VSub_DollarName '$OVERRIDE_CONTEXT'))}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$KUBERNETES_PROVIDER'))} right: {(DQ (gce))} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:312) ) ] action: [ (C {(export)} {(Id.Lit_VarLike 'CLUSTER_NAME=') (DQ (${ Id.VSub_Name zone))}) (C {(export)} {(Id.Lit_VarLike 'KUBE_GCE_ZONE=') (DQ (${ Id.VSub_Name zone))}) (C {(export)} {(Id.Lit_VarLike 'KUBE_GCE_INSTANCE_PREFIX=') (DQ (${ Id.VSub_Name USER) (-) (${ Id.VSub_Name zone)) } ) ] spids: [297 313] ) (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$KUBERNETES_PROVIDER'))} right: {(DQ (gke))} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:391) ) ] action: [ (C {(export)} {(Id.Lit_VarLike 'CLUSTER_NAME=') (DQ (${ Id.VSub_Name USER) (-) (${ Id.VSub_Name zone)) } ) ] spids: [376 392] ) (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$KUBERNETES_PROVIDER'))} right: {(DQ (aws))} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:426) ) ] action: [ (C {(export)} {(Id.Lit_VarLike 'KUBE_AWS_ZONE=') (DQ ($ Id.VSub_DollarName '$zone'))} ) (C {(export)} {(Id.Lit_VarLike 'KUBE_AWS_INSTANCE_PREFIX=') (DQ (${ Id.VSub_Name USER) (-) (${ Id.VSub_Name zone)) } ) (C {(source)} {(DQ (${ Id.VSub_Name KUBE_ROOT) (/cluster/aws/util.sh))}) ] spids: [411 427] ) ] else_action: [ (C {(echo)} { (DQ ('Provider ') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:491) ) (${ Id.VSub_Name KUBERNETES_PROVIDER) (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:495) ) (' is not supported') ) } ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:500) arg_word: {(1)} ) ] ) ] ) ) ] )