(CommandList
  children: [
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other "[")} {(DQ ($ VSub_Pound "$#"))} {(-ne)} {(5)} {(Lit_Other "]")})
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(echo)} 
              {
                (DQ 
                  (
"Must pass in 5 parameters in order: <token> <IP of local machine> <region> <VIP IP> <Ceph S3 Host IP>"
                  )
                )
              }
            )
            (C {(exit)} {(1)})
          ]
          spids: [-1 69]
        )
      ]
      spids: [-1 83]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:TOKEN) op:Equal rhs:{($ VSub_Number "$1")} spids:[86])]
      spids: [86]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:IP) op:Equal rhs:{($ VSub_Number "$2")} spids:[89])]
      spids: [89]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:KEYSTONE_REGION)
          op: Equal
          rhs: {($ VSub_Number "$3")}
          spids: [92]
        )
      ]
      spids: [92]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:KEYSTONE_HOST)
          op: Equal
          rhs: {($ VSub_Number "$4")}
          spids: [95]
        )
      ]
      spids: [95]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CEPH_S3_HOST)
          op: Equal
          rhs: {($ VSub_Number "$5")}
          spids: [98]
        )
      ]
      spids: [98]
    )
    (C {(export)} {(Lit_VarLike "OS_SERVICE_TOKEN=") (${ VSub_Name TOKEN)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other "[")} {(${ VSub_Name IP)} {(Lit_Other "=")} {(${ VSub_Name KEYSTONE_HOST)} 
                  {(Lit_Other "]")}
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(export)} 
              {(Lit_VarLike "OS_SERVICE_ENDPOINT=") 
                (DQ ("https://") (${ VSub_Name IP) (":35357/v2.0"))
              }
            )
          ]
          spids: [-1 127]
        )
      ]
      else_action: [
        (C {(export)} 
          {(Lit_VarLike "OS_SERVICE_ENDPOINT=") (DQ ("http://") (${ VSub_Name IP) (":35357/v2.0"))}
        )
      ]
      spids: [141 155]
    )
    (FuncDef
      name: get_field
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(read)} {(-ra)} {(COL)}]
              more_env: [(env_pair name:IFS val:{(SQ <"|">)} spids:[185])]
            )
            (C {(echo)} 
              {
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (C {(trim)} 
                          {
                            (BracedVarSub
                              token: <VSub_Name COL>
                              bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Number "$1")}))
                              spids: [202 207]
                            )
                          }
                        )
                      ]
                    )
                  left_token: <Left_CommandSub "$(">
                  spids: [199 208]
                )
              }
            )
          ]
          spids: [174]
        )
      spids: [170 173]
    )
    (FuncDef
      name: trim
      body: 
        (BraceGroup
          children: [
            (C {(echo)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: 
                    (PatSub
                      pat: {("[[:blank:]]")}
                      replace: {}
                      do_all: True
                      do_prefix: False
                      do_suffix: False
                    )
                  spids: [226 232]
                )
              }
            )
          ]
          spids: [221]
        )
      spids: [217 220]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:check)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [(C {(keystone)} {(service-list)}) (C {(grep)} {(SQ <compute>)})]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [266 278]
              )
            }
          spids: [265]
        )
      ]
      spids: [265]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name check)}))
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMPUTE_SERVICE)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(keystone)} {(service-create)} {(--name)} 
                                    {(SQ <"Computer Service">)} {(--type)} {(compute)} {(--description)} {(SQ <"OpenStack Compute Service">)}
                                  )
                                  (C {(grep)} {(DQ (" id "))})
                                  (C {(get_field)} {(2)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [297 331]
                      )
                    }
                  spids: [296]
                )
              ]
              spids: [296]
            )
          ]
          spids: [-1 293]
        )
      ]
      spids: [-1 333]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:check)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [(C {(keystone)} {(service-list)}) (C {(grep)} {(SQ <volume>)})]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [337 349]
              )
            }
          spids: [336]
        )
      ]
      spids: [336]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name check)}))
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:VOLUME_SERVICE)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(keystone)} {(service-create)} {(--name)} {(SQ <"Volume Service">)} 
                                    {(--type)} {(volume)} {(--description)} {(SQ <"OpenStack Volume Service">)}
                                  )
                                  (C {(grep)} {(DQ (" id "))})
                                  (C {(get_field)} {(2)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [368 402]
                      )
                    }
                  spids: [367]
                )
              ]
              spids: [367]
            )
          ]
          spids: [-1 364]
        )
      ]
      spids: [-1 404]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:check)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [(C {(keystone)} {(service-list)}) (C {(grep)} {(SQ <object-store>)})]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [408 420]
              )
            }
          spids: [407]
        )
      ]
      spids: [407]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name check)}))
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OBJECT_SERVICE)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(keystone)} {(service-create)} {(--name)} 
                                    {(SQ <"Object Store Service">)} {(--type)} {(object-store)} {(--description)} {(SQ <"OpenStack Object Storage Service">)}
                                  )
                                  (C {(grep)} {(DQ (" id "))})
                                  (C {(get_field)} {(2)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [439 473]
                      )
                    }
                  spids: [438]
                )
              ]
              spids: [438]
            )
          ]
          spids: [-1 435]
        )
      ]
      spids: [-1 475]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:check)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [(C {(keystone)} {(service-list)}) (C {(grep)} {(SQ <image>)})]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [479 491]
              )
            }
          spids: [478]
        )
      ]
      spids: [478]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name check)}))
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IMAGE_SERVICE)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(keystone)} {(service-create)} {(--name)} {(SQ <"Image Service">)} 
                                    {(--type)} {(image)} {(--description)} {(SQ <"OpenStack Image Service">)}
                                  )
                                  (C {(grep)} {(DQ (" id "))})
                                  (C {(get_field)} {(2)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [510 544]
                      )
                    }
                  spids: [509]
                )
              ]
              spids: [509]
            )
          ]
          spids: [-1 506]
        )
      ]
      spids: [-1 546]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:check)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [(C {(keystone)} {(service-list)}) (C {(grep)} {(SQ <identity>)})]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [550 562]
              )
            }
          spids: [549]
        )
      ]
      spids: [549]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name check)}))
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IDENTITY_SERVICE)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(keystone)} {(service-create)} {(--name)} {(SQ <keystone>)} 
                                    {(--type)} {(identity)} {(--description)} {(SQ <"OpenStack Identity">)}
                                  )
                                  (C {(grep)} {(DQ (" id "))})
                                  (C {(get_field)} {(2)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [585 619]
                      )
                    }
                  spids: [584]
                )
              ]
              spids: [584]
            )
          ]
          spids: [-1 577]
        )
      ]
      spids: [-1 621]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:check)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [(C {(keystone)} {(service-list)}) (C {(grep)} {(SQ <ec2>)})]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [625 637]
              )
            }
          spids: [624]
        )
      ]
      spids: [624]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name check)}))
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:EC2_SERVICE)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(keystone)} {(service-create)} {(--name)} {(SQ <"EC2 Service">)} 
                                    {(--type)} {(ec2)} {(--description)} {(SQ <"OpenStack EC2 service">)}
                                  )
                                  (C {(grep)} {(DQ (" id "))})
                                  (C {(get_field)} {(2)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [656 690]
                      )
                    }
                  spids: [655]
                )
              ]
              spids: [655]
            )
          ]
          spids: [-1 652]
        )
      ]
      spids: [-1 692]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:check)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [(C {(keystone)} {(service-list)}) (C {(grep)} {(SQ <orchestration>)})]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [696 708]
              )
            }
          spids: [695]
        )
      ]
      spids: [695]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name check)}))
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ORCHESTRATION_SERVICE)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(keystone)} {(service-create)} {(--name)} 
                                    {(SQ <"Orchestration Service">)} {(--type)} {(orchestration)} {(--description)} {(SQ <"OpenStack Orchestration service">)}
                                  )
                                  (C {(grep)} {(DQ (" id "))})
                                  (C {(get_field)} {(2)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [727 761]
                      )
                    }
                  spids: [726]
                )
              ]
              spids: [726]
            )
          ]
          spids: [-1 723]
        )
      ]
      spids: [-1 763]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:check)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [(C {(keystone)} {(service-list)}) (C {(grep)} {(SQ <cloudformation>)})]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [767 779]
              )
            }
          spids: [766]
        )
      ]
      spids: [766]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name check)}))
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CLOUD_FORMATION_SERVICE)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(keystone)} {(service-create)} {(--name)} 
                                    {(SQ <"Cloudformation Service">)} {(--type)} {(cloudformation)} {(--description)} {(SQ <"OpenStack Cloudformation service">)}
                                  )
                                  (C {(grep)} {(DQ (" id "))})
                                  (C {(get_field)} {(2)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [798 832]
                      )
                    }
                  spids: [797]
                )
              ]
              spids: [797]
            )
          ]
          spids: [-1 794]
        )
      ]
      spids: [-1 834]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: (BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name COMPUTE_SERVICE)})
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [(C {(echo)} {(SQ <"Compute Service exists or not created.">)})]
          spids: [-1 853]
        )
      ]
      else_action: [
        (C {(keystone)} {(endpoint-create)} {(--region)} {(${ VSub_Name KEYSTONE_REGION)} {(--service-id)} 
          {(${ VSub_Name COMPUTE_SERVICE)} {(--publicurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8774/v1.1/$(tenant_id)s">)} 
          {(--adminurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8774/v1.1/$(tenant_id)s">)} {(--internalurl)} 
          {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8774/v1.1/$(tenant_id)s">)}
        )
      ]
      spids: [862 917]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name VOLUME_SERVICE)}))
              terminator: <Op_Semi ";">
            )
          ]
          action: [(C {(echo)} {(SQ <"Volume Service exists or not created.">)})]
          spids: [-1 933]
        )
      ]
      else_action: [
        (C {(keystone)} {(endpoint-create)} {(--region)} {(${ VSub_Name KEYSTONE_REGION)} {(--service-id)} 
          {(${ VSub_Name VOLUME_SERVICE)} {(--publicurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8776/v1/$(tenant_id)s">)} 
          {(--adminurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8776/v1/$(tenant_id)s">)} {(--internalurl)} 
          {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8776/v1/$(tenant_id)s">)}
        )
      ]
      spids: [942 997]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name OBJECT_SERVICE)}))
              terminator: <Op_Semi ";">
            )
          ]
          action: [(C {(echo)} {(SQ <"Object Service exists or not created.">)})]
          spids: [-1 1013]
        )
      ]
      else_action: [
        (C {(keystone)} {(endpoint-create)} {(--region)} {(${ VSub_Name KEYSTONE_REGION)} {(--service-id)} 
          {(${ VSub_Name OBJECT_SERVICE)} {(--publicurl)} {(SQ <"http://">) (${ VSub_Name CEPH_S3_HOST) (SQ </swift/v1>)} {(--adminurl)} 
          {(SQ <"http://">) (${ VSub_Name CEPH_S3_HOST) (SQ </swift/v1>)} {(--internalurl)} {(SQ <"http://">) (${ VSub_Name CEPH_S3_HOST) (SQ </swift/v1>)}
        )
      ]
      spids: [1022 1077]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name IMAGE_SERVICE)}))
              terminator: <Op_Semi ";">
            )
          ]
          action: [(C {(echo)} {(SQ <"Image Service exists or not created.">)})]
          spids: [-1 1093]
        )
      ]
      else_action: [
        (C {(keystone)} {(endpoint-create)} {(--region)} {(${ VSub_Name KEYSTONE_REGION)} {(--service-id)} 
          {(${ VSub_Name IMAGE_SERVICE)} {(--publicurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":9292/v1">)} {(--adminurl)} 
          {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":9292/v1">)} {(--internalurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":9292/v1">)}
        )
      ]
      spids: [1102 1157]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: (BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name IDENTITY_SERVICE)})
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [(C {(echo)} {(SQ <"Identity Service exists or not created.">)})]
          spids: [-1 1173]
        )
      ]
      else_action: [
        (C {(keystone)} {(endpoint-create)} {(--region)} {(${ VSub_Name KEYSTONE_REGION)} {(--service-id)} 
          {(${ VSub_Name IDENTITY_SERVICE)} {(--publicurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":5000/v2.0">)} {(--adminurl)} 
          {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":35357/v2.0">)} {(--internalurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":5000/v2.0">)}
        )
      ]
      spids: [1182 1237]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name EC2_SERVICE)}))
              terminator: <Op_Semi ";">
            )
          ]
          action: [(C {(echo)} {(SQ <"EC2 Service exists or not created.">)})]
          spids: [-1 1253]
        )
      ]
      else_action: [
        (C {(keystone)} {(endpoint-create)} {(--region)} {(${ VSub_Name KEYSTONE_REGION)} {(--service-id)} 
          {(${ VSub_Name EC2_SERVICE)} {(--publicurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8773/services/Cloud">)} 
          {(--adminurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8773/services/Admin">)} {(--internalurl)} 
          {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8773/services/Cloud">)}
        )
      ]
      spids: [1262 1317]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: (BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name ORCHESTRATION_SERVICE)})
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [(C {(echo)} {(SQ <"Orchestration Service exists or not created.">)})]
          spids: [-1 1333]
        )
      ]
      else_action: [
        (C {(keystone)} {(endpoint-create)} {(--region)} {(${ VSub_Name KEYSTONE_REGION)} {(--service-id)} 
          {(${ VSub_Name ORCHESTRATION_SERVICE)} {(--publicurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8004/v1/$(tenant_id)s">)} 
          {(--adminurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8004/v1/$(tenant_id)s">)} {(--internalurl)} 
          {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8004/v1/$(tenant_id)s">)}
        )
      ]
      spids: [1342 1397]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: (BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name CLOUD_FORMATION_SERVICE)})
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [(C {(echo)} {(SQ <"Cloudformation Service exists or not created.">)})]
          spids: [-1 1413]
        )
      ]
      else_action: [
        (C {(keystone)} {(endpoint-create)} {(--region)} {(${ VSub_Name KEYSTONE_REGION)} {(--service-id)} 
          {(${ VSub_Name CLOUD_FORMATION_SERVICE)} {(--publicurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8000/v1">)} {(--adminurl)} 
          {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8000/v1">)} {(--internalurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8000/v1">)}
        )
      ]
      spids: [1422 1477]
    )
    (C {(unset)} {(OS_SERVICE_TOKEN)})
    (C {(unset)} {(OS_SERVICE_ENDPOINT)})
  ]
)