package acsgroups

type AccessGroupItem struct {
	Name    string `json:"display_name"`
	ID      string `json:"id"`
	Comment string `json:"comment"`
}

type AccessGroupList struct {
	AccessGroups []AccessGroup
}

type AccessGroup struct {
	ID                    string                `json:"id"`
	DisplayName           string                `json:"display_name"`
	Comment               string                `json:"comment"`
	CreatedAt             string                `json:"created_at"`
	UpdatedAt             string                `json:"updated_at"`
	NetObjectAccessGroup  NetObjectAccessGroup  `json:"net_object_access_group"`
	DefaultSecurityPolicy DefaultSecurityPolicy `json:"default_security_policy"`
}

type NetObjectAccessGroup struct {
	ID            string `json:"id"`
	VersionID     int64  `json:"version_id"`
	AccessGroupID string `json:"access_group_id"`
}

type DefaultSecurityPolicy struct {
	ID                     string `json:"id"`
	DisplayName            string `json:"display_name"`
	Description            string `json:"description"`
	VersionID              int64  `json:"version_id"`
	AccessGroupID          string `json:"access_group_id"`
	DefaultAclDrop         string `json:"default_acl_drop"`
	DefaultOpenSessionDrop bool   `json:"default_open_session_drop"`
}

type User struct {
	Name   string `json:"display_name"`
	ID     string `json:"id"`
	RoleID string `json:"role_id"`
	Login  string `json:"login"`
}

type UsersList struct {
	Users []User
}
