diff --git a/src/main/cpp/proxy_types.cpp b/src/main/cpp/proxy_types.cpp
index 09c2d9c..87ef7ac 100644
--- a/src/main/cpp/proxy_types.cpp
+++ b/src/main/cpp/proxy_types.cpp
@@ -73,7 +73,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",
@@ -83,9 +87,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 _kNamespacePermissionValues[] = {
   NamespacePermission::READ,
diff --git a/src/main/cpp/proxy_types.h b/src/main/cpp/proxy_types.h
index e5daf2e..6c02404 100644
--- a/src/main/cpp/proxy_types.h
+++ b/src/main/cpp/proxy_types.h
@@ -70,7 +70,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 6f4b549..6671dec 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 87a977d..3f9ec9c 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 NamespacePermission:
diff --git a/src/main/ruby/proxy_types.rb b/src/main/ruby/proxy_types.rb
index e542df6..ddf8a18 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 NamespacePermission
diff --git a/src/main/thrift/proxy.thrift b/src/main/thrift/proxy.thrift
index 3814c44..e15990c 100644
--- a/src/main/thrift/proxy.thrift
+++ b/src/main/thrift/proxy.thrift
@@ -131,6 +131,10 @@
   DROP_USER = 5,
   ALTER_USER = 6,
   SYSTEM = 7,
+  CREATE_NAMESPACE = 8,
+  DROP_NAMESPACE = 9,
+  ALTER_NAMESPACE = 10,
+  OBTAIN_DELEGATION_TOKEN = 11,
 }
 
 enum NamespacePermission {
