(List (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS errexit]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS nounset]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS pipefail]} ) (= scope= flags=0 words=[] bindings=[('KUBE_ROOT', {[ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub BASH_SOURCE]]})] [LIT_CHARS /../..]})]) (Com {[LIT_CHARS source]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /cluster/kube-util.sh]]} ) (Com {[LIT_CHARS source]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /cluster/lib/logging.sh]]} ) (= scope= flags=2 words=[] bindings=[('KUBE_ANYWHERE_FEDERATION_IMAGE', {[DQ [LIT_CHARS gcr.io/madhusudancs-containers/kubernetes-anywhere-federation]]})]) (= scope= flags=2 words=[] bindings=[('KUBE_ANYWHERE_FEDERATION_VERSION', {[DQ [LIT_CHARS v0.9.0]]})]) (= scope= flags=2 words=[] bindings=[('KUBE_ANYWHERE_FEDERATION_CHARTS_IMAGE', {[DQ [LIT_CHARS gcr.io/madhusudancs-containers/federation-charts]]})]) (= scope= flags=2 words=[] bindings=[('KUBE_ANYWHERE_FEDERATION_CHARTS_VERSION', {[DQ [LIT_CHARS v0.9.1]]})]) (= scope= flags=2 words=[] bindings=[('GOOGLE_APPLICATION_CREDENTIALS', {[DQ [VarSub GOOGLE_APPLICATION_CREDENTIALS test_op=VS_TEST_COLON_HYPHEN {[VarSub HOME] [LIT_SLASH /] [LIT_CHARS .config] [LIT_SLASH /] [LIT_CHARS gcloud] [LIT_SLASH /] [LIT_CHARS application_default_credentials.json]}]]})]) (= scope= flags=2 words=[] bindings=[('KUBE_CONFIG_DIR', {[DQ [VarSub KUBE_CONFIG_DIR test_op=VS_TEST_COLON_HYPHEN {[VarSub HOME] [LIT_SLASH /] [LIT_CHARS .kube]}]]})]) (= scope= flags=2 words=[] bindings=[('KUBE_CONFIG', {[DQ [VarSub KUBE_CONFIG test_op=VS_TEST_COLON_HYPHEN {[VarSub HOME] [LIT_SLASH /] [LIT_CHARS .kube] [LIT_SLASH /] [LIT_CHARS config]}]]})]) (FunctionDef pull_installer [] (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Pulling installer images"]]} ) (Com {[LIT_CHARS docker]} {[LIT_CHARS pull]} {[DQ [VarSub KUBE_ANYWHERE_FEDERATION_IMAGE][LIT_CHARS ":"][VarSub KUBE_ANYWHERE_FEDERATION_VERSION]]} ) (Com {[LIT_CHARS docker]} {[LIT_CHARS pull]} {[DQ [VarSub KUBE_ANYWHERE_FEDERATION_CHARTS_IMAGE][LIT_CHARS ":"][VarSub KUBE_ANYWHERE_FEDERATION_CHARTS_VERSION]]} ) ) ) (FunctionDef ensure_files [] (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Ensure provider is supported"]]} ) (If (DBracket {B? LOGICAL_BINARY_AND {B2 BINARY_STRING_NOT_EQUAL {[DQ [VarSub KUBERNETES_PROVIDER test_op=VS_TEST_COLON_HYPHEN {}]]} {[DQ [LIT_CHARS gce]]}} {B2 BINARY_STRING_NOT_EQUAL {[DQ [VarSub KUBERNETES_PROVIDER test_op=VS_TEST_COLON_HYPHEN {}]]} {[DQ [LIT_CHARS gke]]}}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Supported providers: "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS gce][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ", "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS gke][\ LIT_ESCAPED_CHAR "\\\""]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Ensure credential files exist"]]} ) (If (DBracket {B! {B1 UNARY_FILE_f {[DQ [VarSub GOOGLE_APPLICATION_CREDENTIALS]]}}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Please ensure Google credentials file "][\ LIT_ESCAPED_CHAR "\\\""]] [VarSub GOOGLE_APPLICATION_CREDENTIALS] [DQ [\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " exists."]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (If (DBracket {B! {B1 UNARY_FILE_f {[DQ [VarSub KUBE_CONFIG]]}}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Please ensure kubeconfig file "][\ LIT_ESCAPED_CHAR "\\\""]] [VarSub KUBE_CONFIG] [DQ [\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " exists."]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) ) ) (FunctionDef kube_action [] (List (Com {[LIT_OTHER ":"]} {[DQ [VarSub FEDERATION_OUTPUT_ROOT test_op=VS_TEST_COLON_QMARK {[LIT_CHARS "must be set"]}]]} ) (= scope= flags=0 words=[{[LIT_CHARS -r]}] bindings=[('action', {[DQ [VarSub 1 test_op=VS_TEST_COLON_HYPHEN {}]]})]) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Action: "][VarSub action][LIT_CHARS " clusters"]]} ) (Com {[LIT_CHARS docker]} {[LIT_CHARS run]} {[LIT_CHARS --user] [LIT_DBRACKET_LIKE "="] [DQ [ComSub (Com {[LIT_CHARS id]} {[LIT_CHARS -u]})][LIT_CHARS ":"][ComSub (Com {[LIT_CHARS id]} {[LIT_CHARS -g]})]]} {[LIT_CHARS -m]} {[LIT_CHARS 12G]} {[LIT_CHARS -v]} {[DQ [VarSub GOOGLE_APPLICATION_CREDENTIALS][LIT_CHARS ":/.config/gcloud/application_default_credentials.json:ro"]]} {[LIT_CHARS -v]} {[DQ [VarSub KUBE_CONFIG_DIR][LIT_CHARS ":/.kube"]]} {[LIT_CHARS -v]} {[DQ [VarSub FEDERATION_OUTPUT_ROOT][LIT_CHARS ":/_output"]]} {[DQ [VarSub KUBE_ANYWHERE_FEDERATION_IMAGE][LIT_CHARS ":"][VarSub KUBE_ANYWHERE_FEDERATION_VERSION]]} {[DQ [VarSub action]]} ) ) ) (FunctionDef federation_action [] (List (Com {[LIT_OTHER ":"]} {[DQ [VarSub FEDERATION_OUTPUT_ROOT test_op=VS_TEST_COLON_QMARK {[LIT_CHARS "must be set"]}]]} ) (= scope= flags=0 words=[{[LIT_CHARS -r]}] bindings=[('action', {[DQ [VarSub 1 test_op=VS_TEST_COLON_HYPHEN {}]]})]) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Action: "][VarSub action][LIT_CHARS " federation components"]]} ) (Com {[LIT_CHARS docker]} {[LIT_CHARS run]} {[LIT_CHARS -m]} {[LIT_CHARS 12G]} {[LIT_CHARS -v]} {[DQ [VarSub GOOGLE_APPLICATION_CREDENTIALS][LIT_CHARS ":/root/.config/gcloud/application_default_credentials.json:ro"]]} {[LIT_CHARS -v]} {[DQ [VarSub KUBE_CONFIG][LIT_CHARS ":/root/.kube/config"]]} {[LIT_CHARS -v]} {[DQ [VarSub FEDERATION_OUTPUT_ROOT][LIT_CHARS ":/_output"]]} {[DQ [VarSub KUBE_ANYWHERE_FEDERATION_CHARTS_IMAGE][LIT_CHARS ":"][VarSub KUBE_ANYWHERE_FEDERATION_CHARTS_VERSION]]} {[DQ [VarSub action]]} ) ) ) (FunctionDef redeploy_federation [] (List (Com {[LIT_OTHER ":"]} {[DQ [VarSub FEDERATION_OUTPUT_ROOT test_op=VS_TEST_COLON_QMARK {[LIT_CHARS "must be set"]}]]} ) (= scope= flags=0 words=[{[LIT_CHARS -r]}] bindings=[('action', {[DQ [VarSub 1 test_op=VS_TEST_COLON_HYPHEN {}]]})]) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [VarSub action][LIT_CHARS " federation components"]]} ) (Com {[LIT_CHARS docker]} {[LIT_CHARS run]} {[LIT_CHARS -m]} {[LIT_CHARS 12G]} {[LIT_CHARS -v]} {[DQ [VarSub KUBE_CONFIG][LIT_CHARS ":/root/.kube/config:ro"]]} {[LIT_CHARS -v]} {[DQ [VarSub FEDERATION_OUTPUT_ROOT][LIT_CHARS ":/_output"]]} {[DQ [VarSub KUBE_ANYWHERE_FEDERATION_CHARTS_IMAGE][LIT_CHARS ":"][VarSub KUBE_ANYWHERE_FEDERATION_CHARTS_VERSION]]} {[DQ [VarSub action]]} ) ) ) (= scope= flags=2 words=[] bindings=[('ACTION', {[DQ [VarSub 1 test_op=VS_TEST_COLON_HYPHEN {}]]})]) (Case to_match={[DQ [VarSub ACTION]]}, pat_word_list=[[{[DQ ]}], [{[DQ [LIT_CHARS init]]}], [{[DQ [LIT_CHARS deploy_clusters]]}], [{[DQ [LIT_CHARS deploy_federation]]}], [{[DQ [LIT_CHARS destroy_federation]]}], [{[DQ [LIT_CHARS destroy_clusters]]}], [{[DQ [LIT_CHARS redeploy_federation]]}]] (List (Com {[LIT_CHARS echo]} {[SQ ] [DQ [VarSub ACTION]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) (Com {[LIT_CHARS pull_installer]} ) (List (Com {[LIT_CHARS ensure_files]} ) (Com {[LIT_CHARS kube_action]} {[LIT_CHARS deploy]} ) ) (List (Com {[LIT_CHARS ensure_files]} ) (Com {[LIT_CHARS federation_action]} {[LIT_CHARS deploy]} ) ) (Com {[LIT_CHARS federation_action]} {[LIT_CHARS destroy]} ) (Com {[LIT_CHARS kube_action]} {[LIT_CHARS destroy]} ) (Com {[LIT_CHARS redeploy_federation]} ) ) )