from myos.user import Useruser = User(name="wup22514")# Get user detailsprint(user.name) # Usernameprint(user.id) # User IDprint(user.email) # Email addressprint(user.description) # User description
user = User(name="wup22514")# Get all projects for this userprojects = user.projectsprint(f"User has access to {len(projects)} projects")for project in projects: print(f"Project: {project.name}") print(f"ID: {project.id}")
Example Output
User has access to 2 projectsProject: J-C-Bejar-Scratch-SpaceID: 5b37be0037c94b69a35e72cb2da8b016Project: Tier-1 Prod InternalID: 22547d0eef6445ff9febfedec9b4da4a
The projects property uses role assignments to determine project access. According to the source code comments, this implementation may need refinement.
Retrieve all servers created by a user across all projects:
user = User(name="wup22514")# Get all servers created by this userservers = user.serversprint(f"User has created {len(servers)} servers")for server in servers: print(f"Server: {server.name}") print(f"ID: {server.id}") print(f"Status: {server.status}") print("---")
Example Output
User has created 2 serversServer: vwn-gpu-2025-12-17-13-17-19-0ID: 4027da2e-c42b-411b-88f7-cc41f431959aStatus: ACTIVE---Server: vwn-gpu-2025-12-17-11-17-48-0ID: 9734feb4-b6b4-443d-847b-b3887230662cStatus: ACTIVE---
The servers property searches across all projects, making it useful for auditing user resource usage.
Here’s a comprehensive example showing how to work with users:
from myos.user import Userfrom myos.cloud import Cloud# Initialize user with custom cloud configcloud = Cloud()user = User(name="wup22514", domain_name="stfc", cloud=cloud)# Display user informationprint(f"User Information:")print(f" Name: {user.name}")print(f" ID: {user.id}")print(f" Email: {user.email}")print(f" Domain: {user.domain.name}")# List all projectsprint(f"\nProjects ({len(user.projects)}):")for project in user.projects: print(f" - {project.name}") # You can further traverse to project servers project_servers = project.servers print(f" Servers in project: {len(project_servers)}")# List all servers created by userprint(f"\nServers created by user ({len(user.servers)}):")for server in user.servers: print(f" - {server.name} ({server.status})") # Traverse to server's hypervisor hypervisor = server.hypervisor print(f" Running on: {hypervisor.hostname}")