diff --git a/src/main/cpp/proxy_types.cpp b/src/main/cpp/proxy_types.cpp
index a055b48..4a626f5 100644
--- a/src/main/cpp/proxy_types.cpp
+++ b/src/main/cpp/proxy_types.cpp
@@ -70,7 +70,11 @@
   SystemPermission::CREATE_USER,
   SystemPermission::DROP_USER,
   SystemPermission::ALTER_USER,
-  SystemPermission::SYSTEM
+  SystemPermission::SYSTEM,
+  SystemPermission::CREATE_NAMESPACE,
+  SystemPermission::DROP_NAMESPACE,
+  SystemPermission::ALTER_NAMESPACE,
+  SystemPermission::OBTAIN_DELEGATION_TOKEN
 };
 const char* _kSystemPermissionNames[] = {
   "GRANT",
@@ -80,9 +84,13 @@
   "CREATE_USER",
   "DROP_USER",
   "ALTER_USER",
-  "SYSTEM"
+  "SYSTEM",
+  "CREATE_NAMESPACE",
+  "DROP_NAMESPACE",
+  "ALTER_NAMESPACE",
+  "OBTAIN_DELEGATION_TOKEN"
 };
-const std::map<int, const char*> _SystemPermission_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(8, _kSystemPermissionValues, _kSystemPermissionNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+const std::map<int, const char*> _SystemPermission_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(12, _kSystemPermissionValues, _kSystemPermissionNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
 
 int _kScanTypeValues[] = {
   ScanType::SINGLE,
diff --git a/src/main/cpp/proxy_types.h b/src/main/cpp/proxy_types.h
index 569de88..c0169ef 100644
--- a/src/main/cpp/proxy_types.h
+++ b/src/main/cpp/proxy_types.h
@@ -68,7 +68,11 @@
     CREATE_USER = 4,
     DROP_USER = 5,
     ALTER_USER = 6,
-    SYSTEM = 7
+    SYSTEM = 7,
+    CREATE_NAMESPACE = 8,
+    DROP_NAMESPACE = 9,
+    ALTER_NAMESPACE = 10,
+    OBTAIN_DELEGATION_TOKEN = 11
   };
 };
 
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/SystemPermission.java b/src/main/java/org/apache/accumulo/proxy/thrift/SystemPermission.java
index 929b83a..6ebb69a 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/SystemPermission.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/SystemPermission.java
@@ -35,7 +35,11 @@
   CREATE_USER(4),
   DROP_USER(5),
   ALTER_USER(6),
-  SYSTEM(7);
+  SYSTEM(7),
+  CREATE_NAMESPACE(8),
+  DROP_NAMESPACE(9),
+  ALTER_NAMESPACE(10),
+  OBTAIN_DELEGATION_TOKEN(11);
 
   private final int value;
 
@@ -72,6 +76,14 @@
         return ALTER_USER;
       case 7:
         return SYSTEM;
+      case 8:
+        return CREATE_NAMESPACE;
+      case 9:
+        return DROP_NAMESPACE;
+      case 10:
+        return ALTER_NAMESPACE;
+      case 11:
+        return OBTAIN_DELEGATION_TOKEN;
       default:
         return null;
     }
diff --git a/src/main/python/ttypes.py b/src/main/python/ttypes.py
index 9444f71..a748c0a 100644
--- a/src/main/python/ttypes.py
+++ b/src/main/python/ttypes.py
@@ -91,6 +91,10 @@
   DROP_USER = 5
   ALTER_USER = 6
   SYSTEM = 7
+  CREATE_NAMESPACE = 8
+  DROP_NAMESPACE = 9
+  ALTER_NAMESPACE = 10
+  OBTAIN_DELEGATION_TOKEN = 11
 
   _VALUES_TO_NAMES = {
     0: "GRANT",
@@ -101,6 +105,10 @@
     5: "DROP_USER",
     6: "ALTER_USER",
     7: "SYSTEM",
+    8: "CREATE_NAMESPACE",
+    9: "DROP_NAMESPACE",
+    10: "ALTER_NAMESPACE",
+    11: "OBTAIN_DELEGATION_TOKEN",
   }
 
   _NAMES_TO_VALUES = {
@@ -112,6 +120,10 @@
     "DROP_USER": 5,
     "ALTER_USER": 6,
     "SYSTEM": 7,
+    "CREATE_NAMESPACE": 8,
+    "DROP_NAMESPACE": 9,
+    "ALTER_NAMESPACE": 10,
+    "OBTAIN_DELEGATION_TOKEN": 11,
   }
 
 class ScanType:
diff --git a/src/main/ruby/proxy_types.rb b/src/main/ruby/proxy_types.rb
index 57306d1..522c80c 100644
--- a/src/main/ruby/proxy_types.rb
+++ b/src/main/ruby/proxy_types.rb
@@ -52,8 +52,12 @@
     DROP_USER = 5
     ALTER_USER = 6
     SYSTEM = 7
-    VALUE_MAP = {0 => "GRANT", 1 => "CREATE_TABLE", 2 => "DROP_TABLE", 3 => "ALTER_TABLE", 4 => "CREATE_USER", 5 => "DROP_USER", 6 => "ALTER_USER", 7 => "SYSTEM"}
-    VALID_VALUES = Set.new([GRANT, CREATE_TABLE, DROP_TABLE, ALTER_TABLE, CREATE_USER, DROP_USER, ALTER_USER, SYSTEM]).freeze
+    CREATE_NAMESPACE = 8
+    DROP_NAMESPACE = 9
+    ALTER_NAMESPACE = 10
+    OBTAIN_DELEGATION_TOKEN = 11
+    VALUE_MAP = {0 => "GRANT", 1 => "CREATE_TABLE", 2 => "DROP_TABLE", 3 => "ALTER_TABLE", 4 => "CREATE_USER", 5 => "DROP_USER", 6 => "ALTER_USER", 7 => "SYSTEM", 8 => "CREATE_NAMESPACE", 9 => "DROP_NAMESPACE", 10 => "ALTER_NAMESPACE", 11 => "OBTAIN_DELEGATION_TOKEN"}
+    VALID_VALUES = Set.new([GRANT, CREATE_TABLE, DROP_TABLE, ALTER_TABLE, CREATE_USER, DROP_USER, ALTER_USER, SYSTEM, CREATE_NAMESPACE, DROP_NAMESPACE, ALTER_NAMESPACE, OBTAIN_DELEGATION_TOKEN]).freeze
   end
 
   module ScanType
