awsideman


Nameawsideman JSON
Version 0.1.0a1 PyPI version JSON
download
home_pageNone
SummaryAWS Identity Center Manager - A CLI tool for managing AWS Identity Center operations
upload_time2025-08-24 14:38:07
maintainerNone
docs_urlNone
authorErhan Vikyol
requires_python<4.0,>=3.9
licenseMIT
keywords aws identity-center iam cli management
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ๐Ÿš€ awsideman - AWS Identity Center Manager

> **"Because humans shouldn't have to think like machines"**

> โš ๏ธ **ALPHA RELEASE WARNING** โš ๏ธ
>
> **This is an alpha release (v0.1.0-alpha.1) and is not recommended for production use.**
> - Breaking changes may occur in future releases
> - Some features may be incomplete or unstable
> - Please report any issues you encounter
> - Feedback and contributions are welcome!

A powerful, open-source CLI tool that transforms AWS Identity Center (SSO) management from complex, error-prone tasks into intuitive, human-friendly operations. Built for teams who value **simplicity**, **safety**, and **scalability**.

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
[![Poetry](https://img.shields.io/badge/dependency%20management-poetry-blue.svg)](https://python-poetry.org/)

## ๐ŸŽฏ **Why awsideman?**

Managing AWS Identity Center at scale is complex. awsideman makes it simple.

**Traditional AWS CLI approach:**
```bash
# โŒ Complex, error-prone
aws sso-admin create-account-assignment \
  --instance-arn "arn:aws:sso:::instance/ssoins-xxxxxxxxxxxxxxxxx" \
  --target-id "xxxxxxxxxxxx" \
  --target-type "AWS_ACCOUNT" \
  --permission-set-arn "arn:aws:sso:::permissionSet/ps-xxxxxxxxxxxxxxxxx" \
  --principal-type "USER" \
  --principal-id "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
```

**awsideman approach:**
```bash
# โœ… Simple, intuitive
awsideman assignment assign ReadOnlyAccess john.doe --account Production
```

## ๐ŸŒŸ **Key Features**

### **๐ŸŽญ Human-Friendly Interface**
- **Use names, not IDs**: Work with `john.doe` instead of UUIDs
- **Intuitive commands**: Natural language-style operations
- **Auto-discovery**: Automatically detects and configures your SSO environment
- **Smart suggestions**: Context-aware command completion and hints

### **๐Ÿ”’ Enterprise-Grade Safety**
- **Dry-run mode**: Preview all changes before execution
- **Confirmation prompts**: Built-in safeguards for destructive operations
- **Comprehensive validation**: Catch errors before they reach AWS
- **Full audit logging**: Complete operation history for compliance

### **โšก Performance & Scale**
- **Intelligent caching**: Up to 90% reduction in API calls
- **Bulk operations**: Process hundreds of assignments efficiently
- **Parallel processing**: Configurable concurrency for optimal performance
- **Progress tracking**: Real-time feedback for long-running operations

### **๐Ÿ› ๏ธ Powerful Management**
- **Multi-account operations**: Manage access across your entire AWS organization
- **Advanced filtering**: Target resources by tags, OUs, patterns, and more
- **Permission cloning**: Copy access patterns between users and groups
- **Backup & restore**: Complete SSO configuration backup and recovery
- **Multiple profile/SSO support**: Manage multiple AWS organizations and Identity Centers from a single tool

## ๐Ÿš€ **Major Use Cases**

### **1. User Lifecycle Management**
```bash
# Onboard new employee
awsideman assignment assign DeveloperAccess new.employee --filter "tag:Environment=Development"

# Offboard departing employee
awsideman assignment revoke-all former.employee --dry-run
awsideman assignment revoke-all former.employee --confirm
```

### **2. Bulk Operations**
```bash
# Bulk assign from CSV
awsideman bulk assign assignments.csv --dry-run

# Bulk operations with filtering
awsideman assignment assign ReadOnlyAccess AuditorsGroup --filter "tag:Compliance=Required"
```

### **3. Access Reviews & Compliance**
```bash
# Generate access reports
awsideman access-review user john.doe --format csv --output user_access.csv
awsideman access-review account Production --since 2024-01-01

# Permission set analysis
awsideman access-review permission-set AdminAccess --show-assignments
```

### **4. Backup & Disaster Recovery**
```bash
# Create comprehensive backups
awsideman backup create --type full --encrypt
awsideman backup create --type incremental --since yesterday

# Restore from backup
awsideman restore --backup-id backup-20240101 --dry-run
```

### **5. Permission Copying**
```bash
# Copy permissions between users
awsideman copy --from user:john.doe --to user:jane.smith

# Copy permissions between groups
awsideman copy --from group:developers --to group:qa-team

# Copy permissions from user to group
awsideman copy --from user:senior.dev --to group:junior-developers

# Copy with filtering (exclude admin access)
awsideman copy --from user:admin.user --to user:new.employee \
  --exclude-permission-sets "AdminAccess,BillingAccess"

# Copy with account filtering
awsideman copy --from group:production-team --to group:staging-team \
  --include-accounts "123456789012,987654321098"
```

### **6. Permission Set Cloning**
```bash
# Clone a permission set with a new name
awsideman clone --name PowerUserAccess --to DeveloperAccess

# Clone with custom description
awsideman clone --name PowerUserAccess --to DeveloperAccess \
  --description "Developer access with limited permissions"

# Preview clone operation before executing
awsideman clone --name PowerUserAccess --to DeveloperAccess --preview
```

### **7. Multi-Organization Management**
```bash
# Synchronize user access across environments
awsideman assignment assign DeveloperAccess john.doe \
  --profile dev-org --account DevelopmentAccount
awsideman assignment assign DeveloperAccess john.doe \
  --profile prod-org --account ProductionAccount

# Cross-organization backup and restore
awsideman backup create --profile production --type full
awsideman backup create --profile development --type full
awsideman backup sync production-backup development-backup

# Manage multiple client environments
awsideman user create client1.admin --profile client1-production
awsideman assignment assign AdminAccess client1.admin \
  --profile client1-production --account Client1Main
```

## ๐Ÿ› ๏ธ **Installation & Setup**

### **Prerequisites**
- Python 3.10 or higher
- Poetry (for dependency management)
- AWS CLI configured with appropriate credentials

### **Installation**

#### **Option 1: Install Alpha Release (Recommended for Testing)**
```bash
# Install the latest alpha version
pip install awsideman==0.1.0-alpha.1

# Or with Poetry
poetry add awsideman@0.1.0-alpha.1

# Verify installation
awsideman --help
```

#### **Option 2: Install from Source (Development)**
```bash
# Clone the repository
git clone https://github.com/vikyol/awsideman.git
cd awsideman

# Install dependencies
poetry install

# Activate the environment
poetry shell

# Verify installation
awsideman --help
```

### **Quick Configuration**
```bash
# Auto-detect your SSO environment
awsideman info

# Configure AWS profile (if needed)
awsideman profile add my-profile --region us-east-1

# Test connectivity
awsideman user list --limit 5
```

## ๐Ÿ“– **Configuration Options**

awsideman is highly configurable to fit your organization's needs:

### **Cache Configuration**
```yaml
# ~/.awsideman/config.yaml
cache:
  backend: filesystem  # or redis, s3
  ttl: 3600           # Cache TTL in seconds
  encryption: true    # Encrypt cached data
  max_size: 1000      # Maximum cache entries
```

### **Performance Tuning**
```yaml
performance:
  batch_size: 50      # Bulk operation batch size
  max_workers: 10     # Parallel processing workers
  retry_attempts: 3   # API retry attempts
  backoff_factor: 2   # Exponential backoff multiplier
```

### **Security Settings**
```yaml
security:
  require_confirmation: true  # Require confirmation for destructive ops
  audit_logging: true        # Enable comprehensive audit logs
  keyring_integration: true  # Use OS keyring for credentials
```

### **Profile Management**
```yaml
profiles:
  default: production        # Default profile to use
  aliases:
    prod: production         # Short aliases for profiles
    dev: development
    stage: staging
  cross_org_operations: true  # Enable cross-organization features
  profile_switching: true     # Allow runtime profile switching
```

## ๐ŸŽฏ **Advanced Features**

### **Template System**
Create reusable access templates:
```yaml
# templates/developer-access.yaml
name: "Developer Access Template"
assignments:
  - permission_set: "DeveloperAccess"
    accounts:
      - filter: "tag:Environment=Development"
      - filter: "tag:Environment=Staging"
  - permission_set: "ReadOnlyAccess"
    accounts:
      - filter: "tag:Environment=Production"
```

```bash
awsideman templates apply developer-access.yaml --principal john.doe
```

### **Multi-Account Operations**
```bash
# Cross-account permission management
awsideman assignment assign ReadOnlyAccess auditor \
  --ou-filter "Root/Production" \
  --batch-size 20 \
  --continue-on-error

# Organization-wide access reviews
awsideman access-review organization --export-format json
```

### **Multiple Profile/SSO Support**
Manage multiple AWS organizations and Identity Centers from a single tool:

```bash
# Work with different AWS profiles
awsideman user list --profile production
awsideman user list --profile development
awsideman user list --profile staging

# Cross-organization operations
awsideman assignment assign ReadOnlyAccess john.doe \
  --profile production \
  --account ProductionAccount

# Compare configurations across organizations
awsideman backup create --profile production --type full
awsideman backup create --profile development --type full
awsideman backup compare production-backup development-backup

# Bulk operations across multiple organizations
awsideman bulk assign cross-org-assignments.csv \
  --profile production \
  --continue-on-error
```

**Perfect for:**
- **Multi-tenant environments**: Manage separate AWS organizations for different clients
- **DevOps teams**: Handle development, staging, and production environments
- **Consultants**: Manage multiple client AWS environments from one tool
- **Enterprise**: Centralized management of subsidiary or regional AWS organizations

### **Rollback System**
```bash
# All operations are tracked for rollback
awsideman rollback list
awsideman rollback apply operation-12345 --dry-run
```

## ๐Ÿงช **Development & Testing**

### **Running Tests**
```bash
# Run all tests
poetry run pytest

# Run specific test categories
poetry run pytest tests/unit/
poetry run pytest tests/integration/

# Run with coverage
poetry run pytest --cov=src/awsideman
```

### **Code Quality**
```bash
# Format code
poetry run black src/ tests/

# Lint code
poetry run ruff check --fix

# Type checking
poetry run mypy src/

# Run all quality checks
poetry run pre-commit run --all-files
```

## ๏ฟฝ๏ธ **Archiotecture & Design**

awsideman is built with modern software engineering principles:

- **Modular Architecture**: Clean separation of concerns for maintainability
- **Plugin System**: Extensible cache backends and storage systems
- **Type Safety**: Full mypy compliance for robust development
- **Comprehensive Testing**: 1000+ tests ensuring reliability
- **Performance Optimized**: Intelligent caching and parallel processing

## ๐Ÿ“Š **Performance**

- **Single Assignment**: ~2 seconds (vs 5-10 seconds with AWS CLI)
- **Bulk Operations**: 100 assignments in ~30 seconds
- **Cache Hit Rate**: 90%+ for repeated operations
- **Memory Usage**: <100MB for typical operations

## ๐Ÿค **Contributing**

We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.

### **Getting Started**
```bash
# Fork the repository and clone your fork
git clone https://github.com/your-username/awsideman.git
cd awsideman

# Set up development environment
poetry install
poetry run pre-commit install

# Run tests to ensure everything works
poetry run pytest
```

### **Development Guidelines**
- **Focus on one change per PR**: Keep changes small and focused
- **Write tests**: All new features should include comprehensive tests
- **Follow code style**: Use `black`, `ruff`, and `mypy` for code quality
- **Update documentation**: Help others understand your changes

### **Submitting Changes**
1. Create a feature branch: `git checkout -b feature/amazing-feature`
2. Make your changes and add tests
3. Run quality checks: `poetry run pre-commit run --all-files`
4. Commit your changes: `git commit -m 'Add amazing feature'`
5. Push to your fork: `git push origin feature/amazing-feature`
6. Open a Pull Request

## ๐Ÿ“š **Documentation**

Comprehensive documentation is available:

- **[Getting Started Guide](docs/getting-started.md)** - Step-by-step setup
- **[Configuration Reference](CONFIGURATION.md)** - All configuration options
- **[Command Reference](docs/)** - Complete CLI documentation
- **[Examples](examples/)** - Real-world usage patterns
- **[API Documentation](docs/api/)** - Internal API reference
- **[Contributing Guide](CONTRIBUTING.md)** - How to contribute

## ๐Ÿ› **Support & Issues**

- **Bug Reports**: [GitHub Issues](https://github.com/your-org/awsideman/issues)
- **Feature Requests**: [GitHub Discussions](https://github.com/your-org/awsideman/discussions)
- **Documentation**: Check the `docs/` directory
- **Examples**: Browse the `examples/` directory

## ๐Ÿ”’ **Security**

Security is a top priority:

- **Credential Security**: Uses AWS credential chain, never stores credentials
- **Encryption**: AES-256 encryption for cached data
- **Audit Logging**: Comprehensive operation logging
- **Validation**: Input validation and sanitization
- **Least Privilege**: Follows AWS security best practices

Report security issues privately to the maintainers.

## ๐Ÿ“„ **License**

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## ๐Ÿ™ **Acknowledgments**

- Built with โค๏ธ for the AWS community
- Inspired by the need for human-friendly AWS tooling
- Thanks to all contributors and users who make this project better

---

**Ready to simplify your AWS Identity Center management?**

```bash
# Quick start with alpha release
pip install awsideman==0.1.0-alpha.1
awsideman info

# Or from source
git clone https://github.com/vikyol/awsideman.git
cd awsideman
poetry install
awsideman info
```

**Star โญ this repository if awsideman helps you manage AWS Identity Center more effectively!**


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "awsideman",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": "aws, identity-center, iam, cli, management",
    "author": "Erhan Vikyol",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/0e/c7/36529fd50ffb6b171cb1796c0622db0d718c642a3db7b28a858bfd68e758/awsideman-0.1.0a1.tar.gz",
    "platform": null,
    "description": "# \ud83d\ude80 awsideman - AWS Identity Center Manager\n\n> **\"Because humans shouldn't have to think like machines\"**\n\n> \u26a0\ufe0f **ALPHA RELEASE WARNING** \u26a0\ufe0f\n>\n> **This is an alpha release (v0.1.0-alpha.1) and is not recommended for production use.**\n> - Breaking changes may occur in future releases\n> - Some features may be incomplete or unstable\n> - Please report any issues you encounter\n> - Feedback and contributions are welcome!\n\nA powerful, open-source CLI tool that transforms AWS Identity Center (SSO) management from complex, error-prone tasks into intuitive, human-friendly operations. Built for teams who value **simplicity**, **safety**, and **scalability**.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)\n[![Poetry](https://img.shields.io/badge/dependency%20management-poetry-blue.svg)](https://python-poetry.org/)\n\n## \ud83c\udfaf **Why awsideman?**\n\nManaging AWS Identity Center at scale is complex. awsideman makes it simple.\n\n**Traditional AWS CLI approach:**\n```bash\n# \u274c Complex, error-prone\naws sso-admin create-account-assignment \\\n  --instance-arn \"arn:aws:sso:::instance/ssoins-xxxxxxxxxxxxxxxxx\" \\\n  --target-id \"xxxxxxxxxxxx\" \\\n  --target-type \"AWS_ACCOUNT\" \\\n  --permission-set-arn \"arn:aws:sso:::permissionSet/ps-xxxxxxxxxxxxxxxxx\" \\\n  --principal-type \"USER\" \\\n  --principal-id \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n```\n\n**awsideman approach:**\n```bash\n# \u2705 Simple, intuitive\nawsideman assignment assign ReadOnlyAccess john.doe --account Production\n```\n\n## \ud83c\udf1f **Key Features**\n\n### **\ud83c\udfad Human-Friendly Interface**\n- **Use names, not IDs**: Work with `john.doe` instead of UUIDs\n- **Intuitive commands**: Natural language-style operations\n- **Auto-discovery**: Automatically detects and configures your SSO environment\n- **Smart suggestions**: Context-aware command completion and hints\n\n### **\ud83d\udd12 Enterprise-Grade Safety**\n- **Dry-run mode**: Preview all changes before execution\n- **Confirmation prompts**: Built-in safeguards for destructive operations\n- **Comprehensive validation**: Catch errors before they reach AWS\n- **Full audit logging**: Complete operation history for compliance\n\n### **\u26a1 Performance & Scale**\n- **Intelligent caching**: Up to 90% reduction in API calls\n- **Bulk operations**: Process hundreds of assignments efficiently\n- **Parallel processing**: Configurable concurrency for optimal performance\n- **Progress tracking**: Real-time feedback for long-running operations\n\n### **\ud83d\udee0\ufe0f Powerful Management**\n- **Multi-account operations**: Manage access across your entire AWS organization\n- **Advanced filtering**: Target resources by tags, OUs, patterns, and more\n- **Permission cloning**: Copy access patterns between users and groups\n- **Backup & restore**: Complete SSO configuration backup and recovery\n- **Multiple profile/SSO support**: Manage multiple AWS organizations and Identity Centers from a single tool\n\n## \ud83d\ude80 **Major Use Cases**\n\n### **1. User Lifecycle Management**\n```bash\n# Onboard new employee\nawsideman assignment assign DeveloperAccess new.employee --filter \"tag:Environment=Development\"\n\n# Offboard departing employee\nawsideman assignment revoke-all former.employee --dry-run\nawsideman assignment revoke-all former.employee --confirm\n```\n\n### **2. Bulk Operations**\n```bash\n# Bulk assign from CSV\nawsideman bulk assign assignments.csv --dry-run\n\n# Bulk operations with filtering\nawsideman assignment assign ReadOnlyAccess AuditorsGroup --filter \"tag:Compliance=Required\"\n```\n\n### **3. Access Reviews & Compliance**\n```bash\n# Generate access reports\nawsideman access-review user john.doe --format csv --output user_access.csv\nawsideman access-review account Production --since 2024-01-01\n\n# Permission set analysis\nawsideman access-review permission-set AdminAccess --show-assignments\n```\n\n### **4. Backup & Disaster Recovery**\n```bash\n# Create comprehensive backups\nawsideman backup create --type full --encrypt\nawsideman backup create --type incremental --since yesterday\n\n# Restore from backup\nawsideman restore --backup-id backup-20240101 --dry-run\n```\n\n### **5. Permission Copying**\n```bash\n# Copy permissions between users\nawsideman copy --from user:john.doe --to user:jane.smith\n\n# Copy permissions between groups\nawsideman copy --from group:developers --to group:qa-team\n\n# Copy permissions from user to group\nawsideman copy --from user:senior.dev --to group:junior-developers\n\n# Copy with filtering (exclude admin access)\nawsideman copy --from user:admin.user --to user:new.employee \\\n  --exclude-permission-sets \"AdminAccess,BillingAccess\"\n\n# Copy with account filtering\nawsideman copy --from group:production-team --to group:staging-team \\\n  --include-accounts \"123456789012,987654321098\"\n```\n\n### **6. Permission Set Cloning**\n```bash\n# Clone a permission set with a new name\nawsideman clone --name PowerUserAccess --to DeveloperAccess\n\n# Clone with custom description\nawsideman clone --name PowerUserAccess --to DeveloperAccess \\\n  --description \"Developer access with limited permissions\"\n\n# Preview clone operation before executing\nawsideman clone --name PowerUserAccess --to DeveloperAccess --preview\n```\n\n### **7. Multi-Organization Management**\n```bash\n# Synchronize user access across environments\nawsideman assignment assign DeveloperAccess john.doe \\\n  --profile dev-org --account DevelopmentAccount\nawsideman assignment assign DeveloperAccess john.doe \\\n  --profile prod-org --account ProductionAccount\n\n# Cross-organization backup and restore\nawsideman backup create --profile production --type full\nawsideman backup create --profile development --type full\nawsideman backup sync production-backup development-backup\n\n# Manage multiple client environments\nawsideman user create client1.admin --profile client1-production\nawsideman assignment assign AdminAccess client1.admin \\\n  --profile client1-production --account Client1Main\n```\n\n## \ud83d\udee0\ufe0f **Installation & Setup**\n\n### **Prerequisites**\n- Python 3.10 or higher\n- Poetry (for dependency management)\n- AWS CLI configured with appropriate credentials\n\n### **Installation**\n\n#### **Option 1: Install Alpha Release (Recommended for Testing)**\n```bash\n# Install the latest alpha version\npip install awsideman==0.1.0-alpha.1\n\n# Or with Poetry\npoetry add awsideman@0.1.0-alpha.1\n\n# Verify installation\nawsideman --help\n```\n\n#### **Option 2: Install from Source (Development)**\n```bash\n# Clone the repository\ngit clone https://github.com/vikyol/awsideman.git\ncd awsideman\n\n# Install dependencies\npoetry install\n\n# Activate the environment\npoetry shell\n\n# Verify installation\nawsideman --help\n```\n\n### **Quick Configuration**\n```bash\n# Auto-detect your SSO environment\nawsideman info\n\n# Configure AWS profile (if needed)\nawsideman profile add my-profile --region us-east-1\n\n# Test connectivity\nawsideman user list --limit 5\n```\n\n## \ud83d\udcd6 **Configuration Options**\n\nawsideman is highly configurable to fit your organization's needs:\n\n### **Cache Configuration**\n```yaml\n# ~/.awsideman/config.yaml\ncache:\n  backend: filesystem  # or redis, s3\n  ttl: 3600           # Cache TTL in seconds\n  encryption: true    # Encrypt cached data\n  max_size: 1000      # Maximum cache entries\n```\n\n### **Performance Tuning**\n```yaml\nperformance:\n  batch_size: 50      # Bulk operation batch size\n  max_workers: 10     # Parallel processing workers\n  retry_attempts: 3   # API retry attempts\n  backoff_factor: 2   # Exponential backoff multiplier\n```\n\n### **Security Settings**\n```yaml\nsecurity:\n  require_confirmation: true  # Require confirmation for destructive ops\n  audit_logging: true        # Enable comprehensive audit logs\n  keyring_integration: true  # Use OS keyring for credentials\n```\n\n### **Profile Management**\n```yaml\nprofiles:\n  default: production        # Default profile to use\n  aliases:\n    prod: production         # Short aliases for profiles\n    dev: development\n    stage: staging\n  cross_org_operations: true  # Enable cross-organization features\n  profile_switching: true     # Allow runtime profile switching\n```\n\n## \ud83c\udfaf **Advanced Features**\n\n### **Template System**\nCreate reusable access templates:\n```yaml\n# templates/developer-access.yaml\nname: \"Developer Access Template\"\nassignments:\n  - permission_set: \"DeveloperAccess\"\n    accounts:\n      - filter: \"tag:Environment=Development\"\n      - filter: \"tag:Environment=Staging\"\n  - permission_set: \"ReadOnlyAccess\"\n    accounts:\n      - filter: \"tag:Environment=Production\"\n```\n\n```bash\nawsideman templates apply developer-access.yaml --principal john.doe\n```\n\n### **Multi-Account Operations**\n```bash\n# Cross-account permission management\nawsideman assignment assign ReadOnlyAccess auditor \\\n  --ou-filter \"Root/Production\" \\\n  --batch-size 20 \\\n  --continue-on-error\n\n# Organization-wide access reviews\nawsideman access-review organization --export-format json\n```\n\n### **Multiple Profile/SSO Support**\nManage multiple AWS organizations and Identity Centers from a single tool:\n\n```bash\n# Work with different AWS profiles\nawsideman user list --profile production\nawsideman user list --profile development\nawsideman user list --profile staging\n\n# Cross-organization operations\nawsideman assignment assign ReadOnlyAccess john.doe \\\n  --profile production \\\n  --account ProductionAccount\n\n# Compare configurations across organizations\nawsideman backup create --profile production --type full\nawsideman backup create --profile development --type full\nawsideman backup compare production-backup development-backup\n\n# Bulk operations across multiple organizations\nawsideman bulk assign cross-org-assignments.csv \\\n  --profile production \\\n  --continue-on-error\n```\n\n**Perfect for:**\n- **Multi-tenant environments**: Manage separate AWS organizations for different clients\n- **DevOps teams**: Handle development, staging, and production environments\n- **Consultants**: Manage multiple client AWS environments from one tool\n- **Enterprise**: Centralized management of subsidiary or regional AWS organizations\n\n### **Rollback System**\n```bash\n# All operations are tracked for rollback\nawsideman rollback list\nawsideman rollback apply operation-12345 --dry-run\n```\n\n## \ud83e\uddea **Development & Testing**\n\n### **Running Tests**\n```bash\n# Run all tests\npoetry run pytest\n\n# Run specific test categories\npoetry run pytest tests/unit/\npoetry run pytest tests/integration/\n\n# Run with coverage\npoetry run pytest --cov=src/awsideman\n```\n\n### **Code Quality**\n```bash\n# Format code\npoetry run black src/ tests/\n\n# Lint code\npoetry run ruff check --fix\n\n# Type checking\npoetry run mypy src/\n\n# Run all quality checks\npoetry run pre-commit run --all-files\n```\n\n## \ufffd\ufe0f **Archiotecture & Design**\n\nawsideman is built with modern software engineering principles:\n\n- **Modular Architecture**: Clean separation of concerns for maintainability\n- **Plugin System**: Extensible cache backends and storage systems\n- **Type Safety**: Full mypy compliance for robust development\n- **Comprehensive Testing**: 1000+ tests ensuring reliability\n- **Performance Optimized**: Intelligent caching and parallel processing\n\n## \ud83d\udcca **Performance**\n\n- **Single Assignment**: ~2 seconds (vs 5-10 seconds with AWS CLI)\n- **Bulk Operations**: 100 assignments in ~30 seconds\n- **Cache Hit Rate**: 90%+ for repeated operations\n- **Memory Usage**: <100MB for typical operations\n\n## \ud83e\udd1d **Contributing**\n\nWe welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.\n\n### **Getting Started**\n```bash\n# Fork the repository and clone your fork\ngit clone https://github.com/your-username/awsideman.git\ncd awsideman\n\n# Set up development environment\npoetry install\npoetry run pre-commit install\n\n# Run tests to ensure everything works\npoetry run pytest\n```\n\n### **Development Guidelines**\n- **Focus on one change per PR**: Keep changes small and focused\n- **Write tests**: All new features should include comprehensive tests\n- **Follow code style**: Use `black`, `ruff`, and `mypy` for code quality\n- **Update documentation**: Help others understand your changes\n\n### **Submitting Changes**\n1. Create a feature branch: `git checkout -b feature/amazing-feature`\n2. Make your changes and add tests\n3. Run quality checks: `poetry run pre-commit run --all-files`\n4. Commit your changes: `git commit -m 'Add amazing feature'`\n5. Push to your fork: `git push origin feature/amazing-feature`\n6. Open a Pull Request\n\n## \ud83d\udcda **Documentation**\n\nComprehensive documentation is available:\n\n- **[Getting Started Guide](docs/getting-started.md)** - Step-by-step setup\n- **[Configuration Reference](CONFIGURATION.md)** - All configuration options\n- **[Command Reference](docs/)** - Complete CLI documentation\n- **[Examples](examples/)** - Real-world usage patterns\n- **[API Documentation](docs/api/)** - Internal API reference\n- **[Contributing Guide](CONTRIBUTING.md)** - How to contribute\n\n## \ud83d\udc1b **Support & Issues**\n\n- **Bug Reports**: [GitHub Issues](https://github.com/your-org/awsideman/issues)\n- **Feature Requests**: [GitHub Discussions](https://github.com/your-org/awsideman/discussions)\n- **Documentation**: Check the `docs/` directory\n- **Examples**: Browse the `examples/` directory\n\n## \ud83d\udd12 **Security**\n\nSecurity is a top priority:\n\n- **Credential Security**: Uses AWS credential chain, never stores credentials\n- **Encryption**: AES-256 encryption for cached data\n- **Audit Logging**: Comprehensive operation logging\n- **Validation**: Input validation and sanitization\n- **Least Privilege**: Follows AWS security best practices\n\nReport security issues privately to the maintainers.\n\n## \ud83d\udcc4 **License**\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\ude4f **Acknowledgments**\n\n- Built with \u2764\ufe0f for the AWS community\n- Inspired by the need for human-friendly AWS tooling\n- Thanks to all contributors and users who make this project better\n\n---\n\n**Ready to simplify your AWS Identity Center management?**\n\n```bash\n# Quick start with alpha release\npip install awsideman==0.1.0-alpha.1\nawsideman info\n\n# Or from source\ngit clone https://github.com/vikyol/awsideman.git\ncd awsideman\npoetry install\nawsideman info\n```\n\n**Star \u2b50 this repository if awsideman helps you manage AWS Identity Center more effectively!**\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "AWS Identity Center Manager - A CLI tool for managing AWS Identity Center operations",
    "version": "0.1.0a1",
    "project_urls": {
        "Homepage": "https://floccus.se/awsideman",
        "Repository": "https://github.com/vikyol/awsideman"
    },
    "split_keywords": [
        "aws",
        " identity-center",
        " iam",
        " cli",
        " management"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ac53754068bf4029adcb151cac54c0b353492cf24c7a9edd1b2644607384abba",
                "md5": "92e15480cd7cc95ccafc8269c476c6d4",
                "sha256": "74cee41c56ce46934bcbef613ee4945fa62a403bfbd4ebc9e619486857b9e517"
            },
            "downloads": -1,
            "filename": "awsideman-0.1.0a1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "92e15480cd7cc95ccafc8269c476c6d4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 729605,
            "upload_time": "2025-08-24T14:38:05",
            "upload_time_iso_8601": "2025-08-24T14:38:05.826420Z",
            "url": "https://files.pythonhosted.org/packages/ac/53/754068bf4029adcb151cac54c0b353492cf24c7a9edd1b2644607384abba/awsideman-0.1.0a1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0ec736529fd50ffb6b171cb1796c0622db0d718c642a3db7b28a858bfd68e758",
                "md5": "6afd8a90adfe6ecb7f0ca6382d0f4620",
                "sha256": "d4b608c63875b14b2671f634293441dedcf162f071cfb2259bd3225c15e04751"
            },
            "downloads": -1,
            "filename": "awsideman-0.1.0a1.tar.gz",
            "has_sig": false,
            "md5_digest": "6afd8a90adfe6ecb7f0ca6382d0f4620",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 588825,
            "upload_time": "2025-08-24T14:38:07",
            "upload_time_iso_8601": "2025-08-24T14:38:07.154117Z",
            "url": "https://files.pythonhosted.org/packages/0e/c7/36529fd50ffb6b171cb1796c0622db0d718c642a3db7b28a858bfd68e758/awsideman-0.1.0a1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-24 14:38:07",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "vikyol",
    "github_project": "awsideman",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "awsideman"
}
        
Elapsed time: 2.00871s