]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
rgw-admin: remove old manual command parsing code
authorYehuda Sadeh <yehuda@redhat.com>
Thu, 10 Oct 2019 17:50:03 +0000 (10:50 -0700)
committerYehuda Sadeh <yehuda@redhat.com>
Tue, 28 Jan 2020 18:20:35 +0000 (10:20 -0800)
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
src/rgw/rgw_admin.cc

index 60faa87f1fa1b9b7862226b074c9e83c7daf73c2..8caeeb4206e9bb694d40cdf57f5dd2126c2fa6fa 100644 (file)
@@ -669,6 +669,7 @@ std::vector<cmd_def> all_cmds = {
   { "zonegroup placement modify", OPT_ZONEGROUP_PLACEMENT_MODIFY },
   { "zonegroup placement rm", OPT_ZONEGROUP_PLACEMENT_RM },
   { "zonegroup placement list", OPT_ZONEGROUP_PLACEMENT_LIST },
+  { "zonegroup placement get", OPT_ZONEGROUP_PLACEMENT_GET },
   { "zonegroup placement default", OPT_ZONEGROUP_PLACEMENT_DEFAULT },
   { "zone create", OPT_ZONE_CREATE },
   { "zone delete", OPT_ZONE_DELETE },
@@ -682,6 +683,7 @@ std::vector<cmd_def> all_cmds = {
   { "zone placement modify", OPT_ZONE_PLACEMENT_MODIFY },
   { "zone placement rm", OPT_ZONE_PLACEMENT_RM },
   { "zone placement list", OPT_ZONE_PLACEMENT_LIST },
+  { "zone placement get", OPT_ZONE_PLACEMENT_GET },
   { "caps add", OPT_CAPS_ADD },
   { "caps rm", OPT_CAPS_RM },
   { "metadata get [*]", OPT_METADATA_GET },
@@ -768,527 +770,6 @@ std::vector<cmd_def> all_cmds = {
 };
 
 
-static int get_cmd(const char *cmd, const char *prev_cmd, const char *prev_prev_cmd, bool *need_more)
-{
-  using ceph::util::match_str;
-
-  *need_more = false;
-  // NOTE: please keep the checks in alphabetical order !!!
-  if (strcmp(cmd, "bi") == 0 ||
-      strcmp(cmd, "bilog") == 0 ||
-      strcmp(cmd, "buckets") == 0 ||
-      strcmp(cmd, "caps") == 0 ||
-      strcmp(cmd, "data") == 0 ||
-      strcmp(cmd, "datalog") == 0 ||
-      strcmp(cmd, "error") == 0 ||
-      strcmp(cmd, "event") == 0 ||
-      strcmp(cmd, "expire-stale") == 0 ||
-      strcmp(cmd, "gc") == 0 ||
-      strcmp(cmd, "global") == 0 ||
-      strcmp(cmd, "key") == 0 ||
-      strcmp(cmd, "log") == 0 ||
-      strcmp(cmd, "lc") == 0 ||
-      strcmp(cmd, "mdlog") == 0 ||
-      strcmp(cmd, "metadata") == 0 ||
-      strcmp(cmd, "mfa") == 0 ||
-      strcmp(cmd, "notification") == 0 ||
-      strcmp(cmd, "object") == 0 ||
-      strcmp(cmd, "objects") == 0 ||
-      strcmp(cmd, "olh") == 0 ||
-      strcmp(cmd, "orphans") == 0 ||
-      strcmp(cmd, "period") == 0 ||
-      strcmp(cmd, "placement") == 0 ||
-      strcmp(cmd, "pool") == 0 ||
-      strcmp(cmd, "pools") == 0 ||
-      strcmp(cmd, "pubsub") == 0 ||
-      strcmp(cmd, "quota") == 0 ||
-      strcmp(cmd, "realm") == 0 ||
-      strcmp(cmd, "role") == 0 ||
-      strcmp(cmd, "role-policy") == 0 ||
-      strcmp(cmd, "stale-instances") == 0 ||
-      strcmp(cmd, "sub") == 0 ||
-      strcmp(cmd, "subuser") == 0 ||
-      strcmp(cmd, "sync") == 0 ||
-      strcmp(cmd, "topic") == 0 ||
-      strcmp(cmd, "topics") == 0 ||
-      strcmp(cmd, "usage") == 0 ||
-      strcmp(cmd, "user") == 0 ||
-      strcmp(cmd, "zone") == 0 ||
-      strcmp(cmd, "zonegroup") == 0 ||
-      strcmp(cmd, "zonegroups") == 0) {
-    *need_more = true;
-    return 0;
-  }
-
-  /*
-   * can do both radosgw-admin bucket reshard, and radosgw-admin reshard bucket
-   */
-  if (strcmp(cmd, "reshard") == 0 &&
-      !(prev_cmd && strcmp(prev_cmd, "bucket") == 0)) {
-    *need_more = true;
-    return 0;
-  }
-  if (strcmp(cmd, "bucket") == 0 &&
-      !(prev_cmd && strcmp(prev_cmd, "reshard") == 0)) {
-    *need_more = true;
-    return 0;
-  }
-
-  if (strcmp(cmd, "policy") == 0)
-    return OPT_POLICY;
-
-  if (!prev_cmd)
-    return -EINVAL;
-
-  if (strcmp(prev_cmd, "user") == 0) {
-    if (strcmp(cmd, "create") == 0)
-      return OPT_USER_CREATE;
-    if (strcmp(cmd, "info") == 0)
-      return OPT_USER_INFO;
-    if (strcmp(cmd, "modify") == 0)
-      return OPT_USER_MODIFY;
-    if (strcmp(cmd, "rename") == 0)
-      return OPT_USER_RENAME;
-    if (strcmp(cmd, "rm") == 0)
-      return OPT_USER_RM;
-    if (strcmp(cmd, "suspend") == 0)
-      return OPT_USER_SUSPEND;
-    if (strcmp(cmd, "enable") == 0)
-      return OPT_USER_ENABLE;
-    if (strcmp(cmd, "check") == 0)
-      return OPT_USER_CHECK;
-    if (strcmp(cmd, "stats") == 0)
-      return OPT_USER_STATS;
-    if (strcmp(cmd, "list") == 0)
-      return OPT_USER_LIST;
-  } else if (strcmp(prev_cmd, "subuser") == 0) {
-    if (strcmp(cmd, "create") == 0)
-      return OPT_SUBUSER_CREATE;
-    if (strcmp(cmd, "modify") == 0)
-      return OPT_SUBUSER_MODIFY;
-    if (strcmp(cmd, "rm") == 0)
-      return OPT_SUBUSER_RM;
-  } else if (strcmp(prev_cmd, "key") == 0) {
-    if (strcmp(cmd, "create") == 0)
-      return OPT_KEY_CREATE;
-    if (strcmp(cmd, "rm") == 0)
-      return OPT_KEY_RM;
-  } else if (strcmp(prev_cmd, "buckets") == 0) {
-    if (strcmp(cmd, "list") == 0)
-      return OPT_BUCKETS_LIST;
-  } else if (strcmp(prev_cmd, "bucket") == 0) {
-    if (strcmp(cmd, "list") == 0)
-      return OPT_BUCKETS_LIST;
-    if (strcmp(cmd, "link") == 0)
-      return OPT_BUCKET_LINK;
-    if (strcmp(cmd, "unlink") == 0)
-      return OPT_BUCKET_UNLINK;
-    if (strcmp(cmd, "stats") == 0)
-      return OPT_BUCKET_STATS;
-    if (strcmp(cmd, "rm") == 0)
-      return OPT_BUCKET_RM;
-    if (strcmp(cmd, "chown") == 0)
-      return OPT_BUCKET_CHOWN;
-    if (strcmp(cmd, "rewrite") == 0)
-      return OPT_BUCKET_REWRITE;
-    if (strcmp(cmd, "reshard") == 0)
-      return OPT_BUCKET_RESHARD;
-    if (strcmp(cmd, "check") == 0)
-      return OPT_BUCKET_CHECK;
-    if (strcmp(cmd, "sync") == 0) {
-      *need_more = true;
-      return 0;
-    }
-    if (strcmp(cmd, "limit") == 0) {
-      *need_more = true;
-      return 0;
-    }
-  } else if (prev_prev_cmd && strcmp(prev_prev_cmd, "bucket") == 0) {
-    if (strcmp(prev_cmd, "sync") == 0) {
-      if (strcmp(cmd, "status") == 0)
-        return OPT_BUCKET_SYNC_STATUS;
-      if (strcmp(cmd, "markers") == 0)
-        return OPT_BUCKET_SYNC_MARKERS;
-      if (strcmp(cmd, "init") == 0)
-        return OPT_BUCKET_SYNC_INIT;
-      if (strcmp(cmd, "run") == 0)
-        return OPT_BUCKET_SYNC_RUN;
-      if (strcmp(cmd, "disable") == 0)
-        return OPT_BUCKET_SYNC_DISABLE;
-      if (strcmp(cmd, "enable") == 0)
-        return OPT_BUCKET_SYNC_ENABLE;
-    } else if ((strcmp(prev_cmd, "limit") == 0) &&
-              (strcmp(cmd, "check") == 0)) {
-      return OPT_BUCKET_LIMIT_CHECK;
-    }
-  } else if (strcmp(prev_cmd, "log") == 0) {
-    if (strcmp(cmd, "list") == 0)
-      return OPT_LOG_LIST;
-    if (strcmp(cmd, "show") == 0)
-      return OPT_LOG_SHOW;
-    if (strcmp(cmd, "rm") == 0)
-      return OPT_LOG_RM;
-  } else if (strcmp(prev_cmd, "usage") == 0) {
-    if (strcmp(cmd, "show") == 0)
-      return OPT_USAGE_SHOW;
-    if (strcmp(cmd, "trim") == 0)
-      return OPT_USAGE_TRIM;
-    if (strcmp(cmd, "clear") == 0)
-      return OPT_USAGE_CLEAR;
-  } else if (strcmp(prev_cmd, "caps") == 0) {
-    if (strcmp(cmd, "add") == 0)
-      return OPT_CAPS_ADD;
-    if (strcmp(cmd, "rm") == 0)
-      return OPT_CAPS_RM;
-  } else if (strcmp(prev_cmd, "pool") == 0) {
-    if (strcmp(cmd, "add") == 0)
-      return OPT_POOL_ADD;
-    if (strcmp(cmd, "rm") == 0)
-      return OPT_POOL_RM;
-    if (strcmp(cmd, "list") == 0)
-      return OPT_POOLS_LIST;
-  } else if (strcmp(prev_cmd, "pools") == 0) {
-    if (strcmp(cmd, "list") == 0)
-      return OPT_POOLS_LIST;
-  } else if (strcmp(prev_cmd, "object") == 0) {
-    if (strcmp(cmd, "put") == 0)
-      return OPT_OBJECT_PUT;
-    if (strcmp(cmd, "rm") == 0)
-      return OPT_OBJECT_RM;
-    if (strcmp(cmd, "unlink") == 0)
-      return OPT_OBJECT_UNLINK;
-    if (strcmp(cmd, "stat") == 0)
-      return OPT_OBJECT_STAT;
-    if (strcmp(cmd, "rewrite") == 0)
-      return OPT_OBJECT_REWRITE;
-  } else if (strcmp(prev_cmd, "objects") == 0) {
-    if (strcmp(cmd, "expire") == 0)
-      return OPT_OBJECTS_EXPIRE;
-  } else if ((prev_prev_cmd && strcmp(prev_prev_cmd, "objects") == 0) &&
-            (strcmp(prev_cmd, "expire-stale") == 0)) {
-    if (strcmp(cmd, "list") == 0)
-      return OPT_OBJECTS_EXPIRE_STALE_LIST;
-    if (strcmp(cmd, "rm") == 0)
-      return OPT_OBJECTS_EXPIRE_STALE_RM;
-  } else if (strcmp(prev_cmd, "olh") == 0) {
-    if (strcmp(cmd, "get") == 0)
-      return OPT_OLH_GET;
-    if (strcmp(cmd, "readlog") == 0)
-      return OPT_OLH_READLOG;
-  } else if (strcmp(prev_cmd, "bi") == 0) {
-    if (strcmp(cmd, "get") == 0)
-      return OPT_BI_GET;
-    if (strcmp(cmd, "put") == 0)
-      return OPT_BI_PUT;
-    if (strcmp(cmd, "list") == 0)
-      return OPT_BI_LIST;
-    if (strcmp(cmd, "purge") == 0)
-      return OPT_BI_PURGE;
-  } else if ((prev_prev_cmd && strcmp(prev_prev_cmd, "global") == 0) &&
-            (strcmp(prev_cmd, "quota") == 0)) {
-    if (strcmp(cmd, "get") == 0)
-      return OPT_GLOBAL_QUOTA_GET;
-    if (strcmp(cmd, "set") == 0)
-      return OPT_GLOBAL_QUOTA_SET;
-    if (strcmp(cmd, "enable") == 0)
-      return OPT_GLOBAL_QUOTA_ENABLE;
-    if (strcmp(cmd, "disable") == 0)
-      return OPT_GLOBAL_QUOTA_DISABLE;
-  } else if (strcmp(prev_cmd, "period") == 0) {
-    if (match_str(cmd, "rm", "delete"))
-      return OPT_PERIOD_DELETE;
-    if (strcmp(cmd, "get") == 0)
-      return OPT_PERIOD_GET;
-    if (strcmp(cmd, "get-current") == 0)
-      return OPT_PERIOD_GET_CURRENT;
-    if (strcmp(cmd, "pull") == 0)
-      return OPT_PERIOD_PULL;
-    if (strcmp(cmd, "push") == 0)
-      return OPT_PERIOD_PUSH;
-    if (strcmp(cmd, "list") == 0)
-      return OPT_PERIOD_LIST;
-    if (strcmp(cmd, "update") == 0)
-      return OPT_PERIOD_UPDATE;
-    if (strcmp(cmd, "commit") == 0)
-      return OPT_PERIOD_COMMIT;
-  } else if (strcmp(prev_cmd, "realm") == 0) {
-    if (strcmp(cmd, "create") == 0)
-      return OPT_REALM_CREATE;
-    if (match_str(cmd, "rm", "delete"))
-      return OPT_REALM_DELETE;
-    if (strcmp(cmd, "get") == 0)
-      return OPT_REALM_GET;
-    if (strcmp(cmd, "get-default") == 0)
-      return OPT_REALM_GET_DEFAULT;
-    if (strcmp(cmd, "list") == 0)
-      return OPT_REALM_LIST;
-    if (strcmp(cmd, "list-periods") == 0)
-      return OPT_REALM_LIST_PERIODS;
-    if (strcmp(cmd, "rename") == 0)
-      return OPT_REALM_RENAME;
-    if (strcmp(cmd, "set") == 0)
-      return OPT_REALM_SET;
-    if (strcmp(cmd, "default") == 0)
-      return OPT_REALM_DEFAULT;
-    if (strcmp(cmd, "pull") == 0)
-      return OPT_REALM_PULL;
-  } else if ((prev_prev_cmd && strcmp(prev_prev_cmd, "zonegroup") == 0) &&
-            (strcmp(prev_cmd, "placement") == 0)) {
-    if (strcmp(cmd, "add") == 0)
-      return OPT_ZONEGROUP_PLACEMENT_ADD;
-    if (strcmp(cmd, "modify") == 0)
-      return OPT_ZONEGROUP_PLACEMENT_MODIFY;
-    if (strcmp(cmd, "rm") == 0)
-      return OPT_ZONEGROUP_PLACEMENT_RM;
-    if (strcmp(cmd, "list") == 0)
-      return OPT_ZONEGROUP_PLACEMENT_LIST;
-    if (strcmp(cmd, "get") == 0)
-      return OPT_ZONEGROUP_PLACEMENT_GET;
-    if (strcmp(cmd, "default") == 0)
-      return OPT_ZONEGROUP_PLACEMENT_DEFAULT;
-  } else if (strcmp(prev_cmd, "zonegroup") == 0) {
-    if (strcmp(cmd, "add") == 0)
-      return OPT_ZONEGROUP_ADD;
-    if (strcmp(cmd, "create")== 0)
-      return OPT_ZONEGROUP_CREATE;
-    if (strcmp(cmd, "default") == 0)
-      return OPT_ZONEGROUP_DEFAULT;
-    if (strcmp(cmd, "delete") == 0)
-      return OPT_ZONEGROUP_DELETE;
-    if (strcmp(cmd, "get") == 0)
-      return OPT_ZONEGROUP_GET;
-    if (strcmp(cmd, "modify") == 0)
-      return OPT_ZONEGROUP_MODIFY;
-    if (strcmp(cmd, "list") == 0)
-      return OPT_ZONEGROUP_LIST;
-    if (strcmp(cmd, "set") == 0)
-      return OPT_ZONEGROUP_SET;
-    if (match_str(cmd, "rm", "remove"))
-      return OPT_ZONEGROUP_REMOVE;
-    if (strcmp(cmd, "rename") == 0)
-      return OPT_ZONEGROUP_RENAME;
-  } else if (strcmp(prev_cmd, "quota") == 0) {
-    if (strcmp(cmd, "set") == 0)
-      return OPT_QUOTA_SET;
-    if (strcmp(cmd, "enable") == 0)
-      return OPT_QUOTA_ENABLE;
-    if (strcmp(cmd, "disable") == 0)
-      return OPT_QUOTA_DISABLE;
-  } else if (strcmp(prev_cmd, "zonegroups") == 0) {
-    if (strcmp(cmd, "list") == 0)
-      return OPT_ZONEGROUP_LIST;
-  } else if ((prev_prev_cmd && strcmp(prev_prev_cmd, "zone") == 0) &&
-            (strcmp(prev_cmd, "placement") == 0)) {
-    if (strcmp(cmd, "add") == 0)
-      return OPT_ZONE_PLACEMENT_ADD;
-    if (strcmp(cmd, "modify") == 0)
-      return OPT_ZONE_PLACEMENT_MODIFY;
-    if (strcmp(cmd, "rm") == 0)
-      return OPT_ZONE_PLACEMENT_RM;
-    if (strcmp(cmd, "list") == 0)
-      return OPT_ZONE_PLACEMENT_LIST;
-    if (strcmp(cmd, "get") == 0)
-      return OPT_ZONE_PLACEMENT_GET;
-  } else if (strcmp(prev_cmd, "zone") == 0) {
-    if (match_str(cmd, "rm", "delete"))
-      return OPT_ZONE_DELETE;
-    if (strcmp(cmd, "create") == 0)
-      return OPT_ZONE_CREATE;
-    if (strcmp(cmd, "get") == 0)
-      return OPT_ZONE_GET;
-    if (strcmp(cmd, "set") == 0)
-      return OPT_ZONE_SET;
-    if (strcmp(cmd, "list") == 0)
-      return OPT_ZONE_LIST;
-    if (strcmp(cmd, "modify") == 0)
-      return OPT_ZONE_MODIFY;
-    if (strcmp(cmd, "rename") == 0)
-      return OPT_ZONE_RENAME;
-    if (strcmp(cmd, "default") == 0)
-      return OPT_ZONE_DEFAULT;
-  } else if (strcmp(prev_cmd, "zones") == 0) {
-    if (strcmp(cmd, "list") == 0)
-      return OPT_ZONE_LIST;
-  } else if (strcmp(prev_cmd, "gc") == 0) {
-    if (strcmp(cmd, "list") == 0)
-      return OPT_GC_LIST;
-    if (strcmp(cmd, "process") == 0)
-      return OPT_GC_PROCESS;
-  } else if (strcmp(prev_cmd, "lc") == 0) {
-    if (strcmp(cmd, "list") == 0)
-      return OPT_LC_LIST;
-    if (strcmp(cmd, "get") == 0)
-      return OPT_LC_GET;
-    if (strcmp(cmd, "process") == 0)
-      return OPT_LC_PROCESS;
-  } else if ((prev_prev_cmd && strcmp(prev_prev_cmd, "lc") == 0) &&
-            strcmp(prev_cmd, "reshard") == 0) {
-    if (strcmp(cmd, "fix") == 0)
-      return OPT_LC_RESHARD_FIX;
-  } else if (strcmp(prev_cmd, "orphans") == 0) {
-    if (strcmp(cmd, "find") == 0)
-      return OPT_ORPHANS_FIND;
-    if (strcmp(cmd, "finish") == 0)
-      return OPT_ORPHANS_FINISH;
-    if (strcmp(cmd, "list-jobs") == 0)
-      return OPT_ORPHANS_LIST_JOBS;
-  } else if (strcmp(prev_cmd, "metadata") == 0) {
-    if (strcmp(cmd, "get") == 0)
-      return OPT_METADATA_GET;
-    if (strcmp(cmd, "put") == 0)
-      return OPT_METADATA_PUT;
-    if (strcmp(cmd, "rm") == 0)
-      return OPT_METADATA_RM;
-    if (strcmp(cmd, "list") == 0)
-      return OPT_METADATA_LIST;
-    if (strcmp(cmd, "sync") == 0) {
-      *need_more = true;
-      return 0;
-    }
-  } else if ((prev_prev_cmd && strcmp(prev_prev_cmd, "metadata") == 0) &&
-            (strcmp(prev_cmd, "sync") == 0)) {
-    if (strcmp(cmd, "status") == 0)
-      return OPT_METADATA_SYNC_STATUS;
-    if (strcmp(cmd, "init") == 0)
-      return OPT_METADATA_SYNC_INIT;
-    if (strcmp(cmd, "run") == 0)
-      return OPT_METADATA_SYNC_RUN;
-  } else if ((prev_prev_cmd && strcmp(prev_prev_cmd, "sync") == 0) &&
-            (strcmp(prev_cmd, "error") == 0)) {
-    if (strcmp(cmd, "list") == 0)
-      return OPT_SYNC_ERROR_LIST;
-    if (strcmp(cmd, "trim") == 0)
-      return OPT_SYNC_ERROR_TRIM; 
-  } else if (strcmp(prev_cmd, "mdlog") == 0) {
-    if (strcmp(cmd, "list") == 0)
-      return OPT_MDLOG_LIST;
-    if (strcmp(cmd, "autotrim") == 0)
-      return OPT_MDLOG_AUTOTRIM;
-    if (strcmp(cmd, "trim") == 0)
-      return OPT_MDLOG_TRIM;
-    if (strcmp(cmd, "fetch") == 0)
-      return OPT_MDLOG_FETCH;
-    if (strcmp(cmd, "status") == 0)
-      return OPT_MDLOG_STATUS;
-  } else if (strcmp(prev_cmd, "bilog") == 0) {
-    if (strcmp(cmd, "list") == 0)
-      return OPT_BILOG_LIST;
-    if (strcmp(cmd, "trim") == 0)
-      return OPT_BILOG_TRIM;
-    if (strcmp(cmd, "status") == 0)
-      return OPT_BILOG_STATUS;
-    if (strcmp(cmd, "autotrim") == 0)
-      return OPT_BILOG_AUTOTRIM;
-  } else if (strcmp(prev_cmd, "data") == 0) {
-    if (strcmp(cmd, "sync") == 0) {
-      *need_more = true;
-      return 0;
-    }
-  } else if (strcmp(prev_cmd, "datalog") == 0) {
-    if (strcmp(cmd, "list") == 0)
-      return OPT_DATALOG_LIST;
-    if (strcmp(cmd, "autotrim") == 0)
-      return OPT_DATALOG_AUTOTRIM;
-    if (strcmp(cmd, "trim") == 0)
-      return OPT_DATALOG_TRIM;
-    if (strcmp(cmd, "status") == 0)
-      return OPT_DATALOG_STATUS;
-  } else if ((prev_prev_cmd && strcmp(prev_prev_cmd, "data") == 0) &&
-            (strcmp(prev_cmd, "sync") == 0)) {
-    if (strcmp(cmd, "status") == 0)
-      return OPT_DATA_SYNC_STATUS;
-    if (strcmp(cmd, "init") == 0)
-      return OPT_DATA_SYNC_INIT;
-    if (strcmp(cmd, "run") == 0)
-      return OPT_DATA_SYNC_RUN;
-  } else if (strcmp(prev_cmd, "sync") == 0) {
-    if (strcmp(cmd, "status") == 0)
-      return OPT_SYNC_STATUS;
-  } else if (strcmp(prev_cmd, "role") == 0) {
-    if (strcmp(cmd, "create") == 0)
-      return OPT_ROLE_CREATE;
-    if (strcmp(cmd, "rm") == 0)
-      return OPT_ROLE_DELETE;
-    if (strcmp(cmd, "get") == 0)
-      return OPT_ROLE_GET;
-    if (strcmp(cmd, "modify") == 0)
-      return OPT_ROLE_MODIFY;
-    if (strcmp(cmd, "list") == 0)
-      return OPT_ROLE_LIST;
-  } else if (strcmp(prev_cmd, "role-policy") == 0) {
-    if (strcmp(cmd, "put") == 0)
-      return OPT_ROLE_POLICY_PUT;
-    if (strcmp(cmd, "list") == 0)
-      return OPT_ROLE_POLICY_LIST;
-    if (strcmp(cmd, "get") == 0)
-      return OPT_ROLE_POLICY_GET;
-    if (match_str(cmd, "rm", "delete"))
-      return OPT_ROLE_POLICY_DELETE;
-  } else if (strcmp(prev_cmd, "reshard") == 0) {
-    if (strcmp(cmd, "bucket") == 0)
-      return OPT_BUCKET_RESHARD;
-    if (strcmp(cmd, "add") == 0)
-      return OPT_RESHARD_ADD;
-    if (strcmp(cmd, "list") == 0)
-      return OPT_RESHARD_LIST;
-    if (strcmp(cmd, "status") == 0)
-      return OPT_RESHARD_STATUS;
-    if (strcmp(cmd, "process") == 0)
-      return OPT_RESHARD_PROCESS;
-    if (strcmp(cmd, "cancel") == 0)
-      return OPT_RESHARD_CANCEL;
-  } else if (strcmp(prev_cmd, "mfa") == 0) {
-    if (strcmp(cmd, "create") == 0)
-      return OPT_MFA_CREATE;
-    if (strcmp(cmd, "remove") == 0)
-      return OPT_MFA_REMOVE;
-    if (strcmp(cmd, "get") == 0)
-      return OPT_MFA_GET;
-    if (strcmp(cmd, "list") == 0)
-      return OPT_MFA_LIST;
-    if (strcmp(cmd, "check") == 0)
-      return OPT_MFA_CHECK;
-    if (strcmp(cmd, "resync") == 0)
-      return OPT_MFA_RESYNC;
-  } else if ((prev_prev_cmd && strcmp(prev_prev_cmd, "reshard") == 0) &&
-            (strcmp(prev_cmd, "stale-instances") == 0)) {
-    if (strcmp(cmd, "list") == 0)
-      return OPT_RESHARD_STALE_INSTANCES_LIST;
-    if (match_str(cmd, "rm", "delete"))
-      return OPT_RESHARD_STALE_INSTANCES_DELETE;
-  } else if (prev_prev_cmd && strcmp(prev_prev_cmd, "pubsub") == 0) {
-    if (strcmp(prev_cmd, "topics") == 0) {
-      if (strcmp(cmd, "list") == 0)
-        return OPT_PUBSUB_TOPICS_LIST;
-    } else if (strcmp(prev_cmd, "topic") == 0) {
-      if (strcmp(cmd, "create") == 0)
-        return OPT_PUBSUB_TOPIC_CREATE;
-      if (strcmp(cmd, "get") == 0)
-        return OPT_PUBSUB_TOPIC_GET;
-      if (strcmp(cmd, "rm") == 0)
-        return OPT_PUBSUB_TOPIC_RM;
-    } else if (strcmp(prev_cmd, "notification") == 0) {
-      if (strcmp(cmd, "create") == 0)
-        return OPT_PUBSUB_NOTIFICATION_CREATE;
-      if (strcmp(cmd, "rm") == 0)
-        return OPT_PUBSUB_NOTIFICATION_RM;
-    } else if (strcmp(prev_cmd, "sub") == 0) {
-      if (strcmp(cmd, "get") == 0)
-        return OPT_PUBSUB_SUB_GET;
-      if (strcmp(cmd, "create") == 0)
-        return OPT_PUBSUB_SUB_CREATE;
-      if (strcmp(cmd, "rm") == 0)
-        return OPT_PUBSUB_SUB_RM;
-      if (strcmp(cmd, "pull") == 0)
-        return OPT_PUBSUB_SUB_PULL;
-    } else if (strcmp(prev_cmd, "event") == 0) {
-      if (strcmp(cmd, "rm") == 0)
-        return OPT_PUBSUB_EVENT_RM;
-    }
-  }
-  return -EINVAL;
-}
-
 BIIndexType get_bi_index_type(const string& type_str) {
   if (type_str == "plain")
     return BIIndexType::Plain;