content: // Licensed to the Apache Software Foundation (ASF) under one
  // or more contributor license agreements.  See the NOTICE file
  // distributed with this work for additional information
  // regarding copyright ownership.  The ASF licenses this file
  // to you under the Apache License, Version 2.0 (the
  // "License"); you may not use this file except in compliance
  // with the License.  You may obtain a copy of the License at
  //
  //   http://www.apache.org/licenses/LICENSE-2.0
  //
  // Unless required by applicable law or agreed to in writing,
  // software distributed under the License is distributed on an
  // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  // KIND, either express or implied.  See the License for the
  // specific language governing permissions and limitations
  // under the License.
  //
  package com.cloud.ucs.manager;
  
  import com.cloud.utils.xmlobject.XmlObject;
  
  public class UcsCommands {
      public static String loginCmd(String username, String password) {
          XmlObject cmd = new XmlObject("aaaLogin");
          cmd.putElement("inName", username);
          cmd.putElement("inPassword", password);
          return cmd.dump();
      }
  
      public static String refreshCmd(String username, String password, String cookie) {
          XmlObject cmd = new XmlObject("aaaRefresh");
          cmd.putElement("inName", username);
          cmd.putElement("inPassword", password);
          cmd.putElement("inCookie", cookie);
          return cmd.dump();
      }
  
      public static String listComputeBlades(String cookie) {
          XmlObject cmd = new XmlObject("configResolveClass");
          cmd.putElement("classId", "computeBlade");
          cmd.putElement("cookie", cookie);
          cmd.putElement("inHierarchical", "false");
          return cmd.dump();
      }
  
      public static String listProfiles(String cookie) {
          XmlObject cmd = new XmlObject("configFindDnsByClassId");
          cmd.putElement("classId", "lsServer");
          cmd.putElement("cookie", cookie);
          return cmd.dump();
      }
  
      public static String cloneProfile(String cookie, String srcDn, String newProfileName) {
          XmlObject cmd = new XmlObject("lsClone");
          cmd.putElement("cookie", cookie);
          cmd.putElement("dn", srcDn);
          cmd.putElement("inTargetOrg", "org-root");
          cmd.putElement("inServerName", newProfileName);
          cmd.putElement("inHierarchical", "false");
          return cmd.dump();
      }
  
      public static String configResolveDn(String cookie, String dn) {
          XmlObject cmd = new XmlObject("configResolveDn");
          cmd.putElement("cookie", cookie);
          cmd.putElement("dn", dn);
          return cmd.toString();
      }
  
      public static String associateProfileToBlade(String cookie, String profileDn, String bladeDn) {
          XmlObject cmd =
              new XmlObject("configConfMos").putElement("cookie", cookie)
                  .putElement("inHierarchical", "true")
                  .putElement(
                      "inConfigs",
                      new XmlObject("inConfigs").putElement(
                          "pair",
                          new XmlObject("pair").putElement("key", profileDn).putElement(
                              "lsServer",
                              new XmlObject("lsServer").putElement("agentPolicyName", "")
                                  .putElement("biosProfileName", "")
                                  .putElement("bootPolicyName", "")
                                  .putElement("descr", "")
                                  .putElement("dn", profileDn)
                                  .putElement("dynamicConPolicyName", "")
                                  .putElement("extIPState", "none")
                                  .putElement("hostFwPolicyName", "")
                                  .putElement("identPoolName", "")
                                  .putElement("localDiskPolicyName", "")
                                  .putElement("maintPolicyName", "")
                                  .putElement("mgmtAccessPolicyName", "")
                                  .putElement("mgmtFwPolicyName", "")
                                  .putElement("powerPolicyName", "")
                                  .putElement("scrubPolicyName", "")
                                  .putElement("solPolicyName", "")
                                  .putElement("srcTemplName", "")
                                  .putElement("statsPolicyName", "default")
                                  .putElement("status", "")
                                  .putElement("usrLbl", "")
                                  .putElement("uuid", "")
                                  .putElement("vconProfileName", "")
                                  .putElement("lsBinding",
                                      new XmlObject("lsBinding").putElement("pnDn", bladeDn).putElement("restrictMigration", "no").putElement("rn", "pn")))));
  
          return cmd.dump();
      }
  }
  