# Interface IdA1AdminPermission

All Superinterfaces:
  `com.io7m.cedarbridge.runtime.api.CBSerializableType`

All Known Implementing Classes:
  `IdA1AdminPermission.AdminBan, IdA1AdminPermission.AdminCreate, IdA1AdminPermission.AdminDelete, IdA1AdminPermission.AdminRead, IdA1AdminPermission.AdminWriteCredentials, IdA1AdminPermission.AdminWriteCredentialsSelf, IdA1AdminPermission.AdminWriteEmail, IdA1AdminPermission.AdminWriteEmailSelf, IdA1AdminPermission.AdminWritePermissions, IdA1AdminPermission.AdminWritePermissionsSelf, IdA1AdminPermission.AuditRead, IdA1AdminPermission.MailTest, IdA1AdminPermission.MaintenanceMode, IdA1AdminPermission.UserBan, IdA1AdminPermission.UserCreate, IdA1AdminPermission.UserDelete, IdA1AdminPermission.UserRead, IdA1AdminPermission.UserWriteCredentials, IdA1AdminPermission.UserWriteEmail`

public sealed interface IdA1AdminPermission extends com.io7m.cedarbridge.runtime.api.CBSerializableType permits IdA1AdminPermission.AdminBan, IdA1AdminPermission.AdminCreate, IdA1AdminPermission.AdminDelete, IdA1AdminPermission.AdminWriteCredentials, IdA1AdminPermission.AdminWriteCredentialsSelf, IdA1AdminPermission.AdminWriteEmail, IdA1AdminPermission.AdminWriteEmailSelf, IdA1AdminPermission.AdminWritePermissions, IdA1AdminPermission.AdminWritePermissionsSelf, IdA1AdminPermission.AdminRead, IdA1AdminPermission.AuditRead, IdA1AdminPermission.UserDelete, IdA1AdminPermission.UserCreate, IdA1AdminPermission.UserWriteCredentials, IdA1AdminPermission.UserWriteEmail, IdA1AdminPermission.UserRead, IdA1AdminPermission.UserBan, IdA1AdminPermission.MailTest, IdA1AdminPermission.MaintenanceMode
An admin permission.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static final record`
  `IdA1AdminPermission.AdminBan`
  A permission that allows for banning admins.
  `static final record`
  `IdA1AdminPermission.AdminCreate`
  A permission that allows for creating admins.
  `static final record`
  `IdA1AdminPermission.AdminDelete`
  A permission that allows for deleting admins.
  `static final record`
  `IdA1AdminPermission.AdminRead`
  A permission that allows reading admins.
  `static final record`
  `IdA1AdminPermission.AdminWriteCredentials`
  A permission that allows updating admin credentials.
  `static final record`
  `IdA1AdminPermission.AdminWriteCredentialsSelf`
  A permission that allows an admin to update its own credentials.
  `static final record`
  `IdA1AdminPermission.AdminWriteEmail`
  A permission that allows updating admin emails.
  `static final record`
  `IdA1AdminPermission.AdminWriteEmailSelf`
  A permission that allows an admin to update its own emails.
  `static final record`
  `IdA1AdminPermission.AdminWritePermissions`
  A permission that allows updating admin permissions.
  `static final record`
  `IdA1AdminPermission.AdminWritePermissionsSelf`
  A permission that allows an admin to update its own permissions.
  `static final record`
  `IdA1AdminPermission.AuditRead`
  A permission that allows reading the audit log.
  `static final record`
  `IdA1AdminPermission.MailTest`
  A permission that allows for sending test mail.
  `static final record`
  `IdA1AdminPermission.MaintenanceMode`
  A permission that allows for changing the server's maintenance mode.
  `static final record`
  `IdA1AdminPermission.UserBan`
  A permission that allows for banning users.
  `static final record`
  `IdA1AdminPermission.UserCreate`
  A permission that allows creating users.
  `static final record`
  `IdA1AdminPermission.UserDelete`
  A permission that allows deleting users.
  `static final record`
  `IdA1AdminPermission.UserRead`
  A permission that allows reading users.
  `static final record`
  `IdA1AdminPermission.UserWriteCredentials`
  A permission that allows updating user credentials.
  `static final record`
  `IdA1AdminPermission.UserWriteEmail`
  A permission that allows updating user emails.

- ## Method Summary

  Static Methods
  Modifier and Type
  Method
  Description
  `static IdA1AdminPermission`
  `deserialize(com.io7m.cedarbridge.runtime.api.CBSerializationContextType $context)`
  Deserialize a value of type IdA1AdminPermission.
  `static void`
  `serialize(com.io7m.cedarbridge.runtime.api.CBSerializationContextType $context, IdA1AdminPermission $x)`
  Serialize a value of type IdA1AdminPermission.

- ## Method Details

  - ### serialize

    static void serialize(com.io7m.cedarbridge.runtime.api.CBSerializationContextType $context, IdA1AdminPermission $x) throws IOException
    Serialize a value of type IdA1AdminPermission.
    Parameters:
      `$context` - The serialization context.
      `$x` - The value to be serialized.
    Throws:
      `IOException`

  - ### deserialize

    static IdA1AdminPermission deserialize(com.io7m.cedarbridge.runtime.api.CBSerializationContextType $context) throws IOException
    Deserialize a value of type IdA1AdminPermission.
    Parameters:
      `$context` - The serialization context.
    Returns:
      A value of type IdA1AdminPermission.
    Throws:
      `IOException`