]> andersk Git - moira.git/commitdiff
Support for account numbers.
authorzacheiss <zacheiss>
Tue, 21 Aug 2001 05:49:20 +0000 (05:49 +0000)
committerzacheiss <zacheiss>
Tue, 21 Aug 2001 05:49:20 +0000 (05:49 +0000)
clients/stella/stella.c

index 2c7f3ee3363147f4312afc19d3e8140e36afe183..873384a803737b74fa22157dc71db4df9d163620 100644 (file)
@@ -51,7 +51,7 @@ struct string_list {
 /* flags from command line */
 int info_flag, update_flag, create_flag, delete_flag, list_map_flag;
 int update_alias_flag, update_map_flag, verbose, noauth;
-int list_container_flag, update_container_flag, unformatted_flag;
+int list_container_flag, update_container_flag;
 
 struct string_list *alias_add_queue, *alias_remove_queue;
 struct string_list *map_add_queue, *map_remove_queue;
@@ -60,14 +60,14 @@ struct string_list *container_add_queue, *container_remove_queue;
 char *hostname, *whoami;
 
 char *newname, *address, *network, *h_status, *vendor, *model;
-char *os, *location, *contact, *billing_contact, *adm_cmt, *op_cmt;
+char *os, *location, *contact, *billing_contact, *account_number;
+char *adm_cmt, *op_cmt;
 
 struct owner_type *owner;
 
 void usage(char **argv);
 int store_host_info(int argc, char **argv, void *hint);
 void show_host_info(char **argv);
-void show_host_info_unformatted(char **argv);
 int show_machine_in_cluster(int argc, char **argv, void *hint);
 int show_machine_in_container(int argc, char **argv, void *hint);
 struct owner_type *parse_member(char *s);
@@ -87,7 +87,8 @@ int main(int argc, char **argv)
   update_alias_flag = verbose = noauth = 0;
   list_container_flag = update_container_flag = 0;
   newname = address = network = h_status = vendor = model = NULL;
-  os = location = contact = billing_contact = adm_cmt = op_cmt = NULL;
+  os = location = contact = billing_contact = account_number = adm_cmt = NULL;
+  op_cmt = NULL;
   owner = NULL;
   alias_add_queue = alias_remove_queue = NULL;
   map_add_queue = map_remove_queue = NULL;
@@ -206,6 +207,14 @@ int main(int argc, char **argv)
            } else
              usage(argv);
          }
+         else if (argis("an", "accountnumber")) {
+           if (arg - argv < argc - 1) {
+             arg++;
+             update_flag++;
+             account_number = *arg;
+           } else
+             usage(argv);
+         }
          else if (argis("ac", "admcmt")) {
            if (arg - argv < argc - 1) {
              arg++;
@@ -276,8 +285,6 @@ int main(int argc, char **argv)
          }
          else if (argis("lcn", "listcontainer"))
            list_container_flag++;
-         else if (argis("u", "unformatted"))
-           unformatted_flag++;
          else if (argis("n", "noauth"))
            noauth++;
          else if (argis("v", "verbose"))
@@ -312,7 +319,7 @@ int main(int argc, char **argv)
   }
 
   /* fire up Moira */
-  status = mrcl_connect(server, "stella", 7, !noauth);
+  status = mrcl_connect(server, "stella", 8, !noauth);
   if (status == MRCL_AUTH_ERROR)
     {
       com_err(whoami, 0, "Try the -noauth flag if you don't "
@@ -327,7 +334,7 @@ int main(int argc, char **argv)
       char *argv[30];
       int cnt;
 
-      for (cnt = 0; cnt < 16; cnt++) {
+      for (cnt = 0; cnt < 17; cnt++) {
        argv[cnt] = "";
       }
 
@@ -345,60 +352,62 @@ int main(int argc, char **argv)
        argv[5] = contact;
       if (billing_contact)
        argv[6] = billing_contact;
+      if (account_number)
+       argv[7] = account_number;
       /* The use field always gets set to "0" */
-      argv[7] = "0";
+      argv[8] = "0";
       if (h_status)
-       argv[8] = h_status;
+       argv[9] = h_status;
       else
-       argv[8] = "1";
+       argv[9] = "1";
       if (network)
-       argv[9] = network;
+       argv[10] = network;
       if (address)
-       argv[10] = address;
+       argv[11] = address;
       else
-       argv[10] = "unique";
+       argv[11] = "unique";
       if (adm_cmt)
-       argv[13] = adm_cmt;
+       argv[14] = adm_cmt;
       if (op_cmt)
-       argv[14] = op_cmt;
+       argv[15] = op_cmt;
 
       if (owner)
        {
-         argv[12] = owner->name;
+         argv[13] = owner->name;
          switch (owner->type)
            {
            case M_ANY:
            case M_USER:
-             argv[11] = "USER";
-             status = wrap_mr_query("add_host", 15, argv, NULL, NULL);
+             argv[12] = "USER";
+             status = wrap_mr_query("add_host", 16, argv, NULL, NULL);
              if (owner->type != M_ANY || status != MR_USER)
                break;
 
            case M_LIST:
-             argv[11] = "LIST";
-             status = wrap_mr_query("add_host", 15, argv, NULL, NULL);
+             argv[12] = "LIST";
+             status = wrap_mr_query("add_host", 16, argv, NULL, NULL);
              break;
 
            case M_KERBEROS:
-             argv[11] = "KERBEROS";
-             status = mrcl_validate_kerberos_member(argv[12], &argv[12]);
+             argv[12] = "KERBEROS";
+             status = mrcl_validate_kerberos_member(argv[13], &argv[13]);
              if (mrcl_get_message())
                mrcl_com_err(whoami);
-             status = wrap_mr_query("add_host", 15, argv, NULL, NULL);
+             status = wrap_mr_query("add_host", 16, argv, NULL, NULL);
              break;
 
            case M_NONE:
-             argv[11] = "NONE";
-             status = wrap_mr_query("add_host", 15, argv, NULL, NULL);
+             argv[12] = "NONE";
+             status = wrap_mr_query("add_host", 16, argv, NULL, NULL);
              break;
            }
        }
       else
        {
-         argv[11] = "NONE";
          argv[12] = "NONE";
+         argv[13] = "NONE";
 
-         status = wrap_mr_query("add_host", 15, argv, NULL, NULL);
+         status = wrap_mr_query("add_host", 16, argv, NULL, NULL);
        }
 
       if (status)
@@ -411,7 +420,7 @@ int main(int argc, char **argv)
   else if (update_flag)
     {
       char *old_argv[30];
-      char *argv[16];
+      char *argv[17];
       char *args[5];
 
       args[0] = canonicalize_hostname(strdup(hostname));
@@ -433,12 +442,13 @@ int main(int argc, char **argv)
       argv[7] = old_argv[6];
       argv[8] = old_argv[7];
       argv[9] = old_argv[8];
-      argv[10] = old_argv[10];
+      argv[10] = old_argv[9];
       argv[11] = old_argv[11];
       argv[12] = old_argv[12];
       argv[13] = old_argv[13];
       argv[14] = old_argv[14];
       argv[15] = old_argv[15];
+      argv[16] = old_argv[16];
 
       argv[0] = canonicalize_hostname(strdup(hostname));
       if (newname)
@@ -455,50 +465,52 @@ int main(int argc, char **argv)
        argv[6] = contact;
       if (billing_contact)
        argv[7] = billing_contact;
+      if (account_number)
+       argv[8] = account_number;
       if (h_status)
-       argv[9] = h_status;
+       argv[10] = h_status;
       if (network)
-       argv[10] = network;
+       argv[11] = network;
       if (address)
-       argv[11] = address;
+       argv[12] = address;
       if (adm_cmt)
-       argv[14] = adm_cmt;
+       argv[15] = adm_cmt;
       if (op_cmt)
-       argv[15] = op_cmt;
+       argv[16] = op_cmt;
 
       if (owner)
        {
-         argv[13] = owner->name;
+         argv[14] = owner->name;
          switch (owner->type)
            {
            case M_ANY:
            case M_USER:
-             argv[12] = "USER";
-             status = wrap_mr_query("update_host", 16, argv, NULL, NULL);
+             argv[13] = "USER";
+             status = wrap_mr_query("update_host", 17, argv, NULL, NULL);
              if (owner->type != M_ANY || status != MR_USER)
                break;
 
            case M_LIST:
-             argv[12] = "LIST";
-             status = wrap_mr_query("update_host", 16, argv, NULL, NULL);
+             argv[13] = "LIST";
+             status = wrap_mr_query("update_host", 17, argv, NULL, NULL);
              break;
 
            case M_KERBEROS:
-             argv[12] = "KERBEROS";
-             status = mrcl_validate_kerberos_member(argv[13], &argv[13]);
+             argv[13] = "KERBEROS";
+             status = mrcl_validate_kerberos_member(argv[14], &argv[14]);
              if (mrcl_get_message())
                mrcl_com_err(whoami);
-             status = wrap_mr_query("update_host", 16, argv, NULL, NULL);
+             status = wrap_mr_query("update_host", 17, argv, NULL, NULL);
              break;
 
            case M_NONE:
-             argv[12] = "NONE";
-             status = wrap_mr_query("update_host", 16, argv, NULL, NULL);
+             argv[13] = "NONE";
+             status = wrap_mr_query("update_host", 17, argv, NULL, NULL);
              break;
            }
        }
       else
-       status = wrap_mr_query("update_host", 16, argv, NULL, NULL);
+       status = wrap_mr_query("update_host", 17, argv, NULL, NULL);
 
       if (status)
        com_err(whoami, status, "while updating host.");
@@ -644,10 +656,7 @@ int main(int argc, char **argv)
       com_err(whoami, status, "while getting host information");
       exit(1);
     }
-    if (unformatted_flag)
-      show_host_info_unformatted(argv);
-    else
-      show_host_info(argv);
+    show_host_info(argv);
   }
 
   /* list cluster mappings if needed */
@@ -717,18 +726,18 @@ void usage(char **argv)
          "-c   | -contact contact");
   fprintf(stderr, USAGE_OPTIONS_FORMAT, "-ac  | -admcmt adm_cmt",
          "-bc  | -billingcontact billing_contact");
-  fprintf(stderr, USAGE_OPTIONS_FORMAT, "-A   | -address address",
-         "-N   | -network network");
-  fprintf(stderr, USAGE_OPTIONS_FORMAT, "-am  | -addmap cluster",
-         "-dm  | deletemap cluster");
-  fprintf(stderr, USAGE_OPTIONS_FORMAT, "-acn | -addcontainer container",
-         "-dcn | -deletecontainer container");
-  fprintf(stderr, USAGE_OPTIONS_FORMAT, "-lm  | -listmap",
-         "-lcn | -listcontainer");
-  fprintf(stderr, USAGE_OPTIONS_FORMAT, "-u   | -unformatted",
-         "-v   | -verbose");
-  fprintf(stderr, USAGE_OPTIONS_FORMAT, "-n   | -noauth", 
-         "-db  | -database host[:port]");
+  fprintf(stderr, USAGE_OPTIONS_FORMAT, "-an  | -accountnumber account_number",          "-A   | -address address");
+  fprintf(stderr, USAGE_OPTIONS_FORMAT, "-N   | -network network",
+         "-am  | -addmap cluster");
+  fprintf(stderr, USAGE_OPTIONS_FORMAT, "-dm  | deletemap cluster",
+         "-acn | -addcontainer container");
+  fprintf(stderr, USAGE_OPTIONS_FORMAT, "-dcn | -deletecontainer container",
+         "-lm  | -listmap");
+  fprintf(stderr, USAGE_OPTIONS_FORMAT, "-lcn | -listcontainer",
+         "-u   | -unformatted");
+  fprintf(stderr, USAGE_OPTIONS_FORMAT, "-v   | -verbose",
+         "-n   | -noauth");
+  fprintf(stderr, "  %-39s\n" , "-db  | -database host[:port]");
   exit(1);
 }
 
@@ -746,16 +755,6 @@ int show_alias_info(int argc, char **argv, void *hint)
   return MR_CONT;
 }
 
-int show_alias_info_unformatted(int argc, char **argv, void *hint)
-{
-  if(!show_has_aliases++)
-    printf("Alias:            %s", argv[0]);
-  else
-    printf(", %s", argv[0]);
-
-  return MR_CONT;
-}
-
 static char *states[] = {
   "Reserved (0)",
   "Active (1)",
@@ -821,7 +820,8 @@ void show_host_info(char **argv)
         argv[M_CONTACT]);
   printf("OS:       %-16s    Billing Contact: %s\n", argv[M_OS], 
         argv[M_BILL_CONTACT]);
-  printf("\nOpt: %s\n", argv[M_USE]);
+  printf("Opt:      %-16s    Account Number:  %s\n", argv[M_USE],
+        argv[M_ACCT_NUMBER]);
   printf("\nAdm cmt: %s\n", argv[M_ACOMMENT]);
   printf("Op cmt:  %s\n", argv[M_OCOMMENT]);
   printf("\n");
@@ -829,46 +829,6 @@ void show_host_info(char **argv)
   printf("Last mod by %s at %s with %s.\n", argv[M_MODBY], argv[M_MODTIME], argv[M_MODWITH]);
 }
 
-void show_host_info_unformatted(char **argv)
-{
-  char tbuf[256];
-  char *args[3];
-  struct mqelem *elem = NULL;
-  int stat;
-
-  printf("Machine:          %s\n", argv[M_NAME]);
-  args[0] = "*";
-  args[1] = argv[M_NAME];
-  show_has_aliases = 0;
-  stat = wrap_mr_query("get_hostalias", 2, args, show_alias_info_unformatted, 
-                      &elem);
-  if (stat && stat != MR_NO_MATCH)
-    com_err(whoami, stat, "while getting aliases");
-  else
-    printf("\n");
-  printf("Address:          %s\n", argv[M_ADDR]);
-  printf("Network:          %s\n", argv[M_SUBNET]);
-  printf("Owner Type:       %s\n", argv[M_OWNER_TYPE]);
-  printf("Owner:            %s\n", argv[M_OWNER_NAME]);
-  printf("Status:           %s\n", MacState(atoi(argv[M_STAT])));
-  printf("Changed:          %s\n", argv[M_STAT_CHNG]);
-  printf("Use data:         %s\n", argv[M_INUSE]);
-  printf("Vendor:           %s\n", argv[M_VENDOR]);
-  printf("Model:            %s\n", argv[M_MODEL]);
-  printf("OS:               %s\n", argv[M_OS]);
-  printf("Location:         %s\n", argv[M_LOC]);
-  printf("Contact:          %s\n", argv[M_CONTACT]);
-  printf("Billing Contact:  %s\n", argv[M_BILL_CONTACT]);
-  printf("Opt:              %s\n", argv[M_USE]);
-  printf("Adm cmt:          %s\n", argv[M_ACOMMENT]);
-  printf("Op cmt:           %s\n", argv[M_OCOMMENT]);
-  printf("Created by:       %s\n", argv[M_CREATOR]);
-  printf("Created on:       %s\n", argv[M_CREATED]);
-  printf("Last mod by:      %s\n", argv[M_MODBY]);
-  printf("Last mod on:      %s\n", argv[M_MODTIME]);
-  printf("Last mod with:    %s\n", argv[M_MODWITH]);
-}
-
 int show_machine_in_cluster(int argc, char **argv, void *hint)
 {
   printf("Machine: %-30s Cluster: %-30s\n", argv[0], argv[1]);
This page took 0.18186 seconds and 5 git commands to generate.