bayesline.api.CreateACLEntry#

pydantic model bayesline.api.CreateACLEntry#

Request model for creating a new ACL entry.

Show JSON schema
{
   "title": "CreateACLEntry",
   "description": "Request model for creating a new ACL entry.",
   "type": "object",
   "properties": {
      "resource_type": {
         "$ref": "#/$defs/ResourceType"
      },
      "resource_id": {
         "title": "Resource Id",
         "type": "integer"
      },
      "principal_type": {
         "$ref": "#/$defs/PrincipalType"
      },
      "principal_id": {
         "title": "Principal Id",
         "type": "string"
      },
      "permission_level": {
         "$ref": "#/$defs/PermissionLevel"
      },
      "granted_by": {
         "title": "Granted By",
         "type": "string"
      },
      "expires_at": {
         "anyOf": [
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Expires At"
      }
   },
   "$defs": {
      "PermissionLevel": {
         "description": "Permission levels for resource access.",
         "enum": [
            "read",
            "write",
            "delete",
            "admin"
         ],
         "title": "PermissionLevel",
         "type": "string"
      },
      "PrincipalType": {
         "description": "Types of principals that can be granted permissions.",
         "enum": [
            "user",
            "group",
            "role"
         ],
         "title": "PrincipalType",
         "type": "string"
      },
      "ResourceType": {
         "description": "Types of resources that can be protected by ACL.",
         "enum": [
            "setting"
         ],
         "title": "ResourceType",
         "type": "string"
      }
   },
   "required": [
      "resource_type",
      "resource_id",
      "principal_type",
      "principal_id",
      "permission_level",
      "granted_by"
   ]
}

Config:
  • frozen: bool = True

Fields:
  • expires_at (datetime.datetime | None)

  • granted_by (str)

  • permission_level (bayesline.api._src.acl_models.PermissionLevel)

  • principal_id (str)

  • principal_type (bayesline.api._src.acl_models.PrincipalType)

  • resource_id (int)

  • resource_type (bayesline.api._src.acl_models.ResourceType)

field resource_type: ResourceType [Required]#
field resource_id: int [Required]#
field principal_type: PrincipalType [Required]#
field principal_id: str [Required]#
field permission_level: PermissionLevel [Required]#
field granted_by: str [Required]#
field expires_at: datetime | None = None#