Community DevOps Agent API - boto3 Service Integration
A Python client library that provides native boto3 integration for AWS DevOps services. This library registers multiple custom boto3 services, enabling familiar AWS SDK patterns for DevOps operations.
🎉 NEW: AWS DevOps Agent Control Plane Service Integration
✅ Fully Functional: The library now includes complete boto3 integration for the AWS DevOps Agent Control Plane service (community-aidevops), providing access to Agent Spaces, Service Associations, and Operator Applications.
🚀 Key Features:
- 23 API Operations across Agent Spaces, Associations, Services, and Operators
- Native boto3 Client:
boto3.client('community-aidevops', region_name='us-east-1') - Full Pagination Support with automatic paginators
- Comprehensive Error Handling with specific exception types
- Production Ready with proper endpoint configuration
📋 Available Operations:
- Agent Space Operations (5):
create_agent_space,get_agent_space,update_agent_space,delete_agent_space,list_agent_spaces - Association Operations (3):
associate_service,disassociate_service,get_association - Service Operations (9):
register_service,deregister_service,get_service,list_services,search_service_accessible_resource, etc. - Operator Operations (4):
enable_operator_app,disable_operator_app,update_operator_app_teams,get_operator_app_teams
🔧 Quick Start with DevOps Agent Control Plane:
import devopsagent_api # Registers all services
import boto3
# Create client for AWS DevOps Agent Control Plane
client = boto3.client('community-aidevops', region_name='us-east-1')
# List agent spaces
response = client.list_agent_spaces()
for space in response['agentSpaces']:
print(f"Agent Space: {space['name']} (ID: {space['agentSpaceId']})")
# Create a new agent space
response = client.create_agent_space(
name='my-devops-space',
description='Development operations workspace'
)
print(f"Created agent space: {response['agentSpace']['agentSpaceId']}")
📋 Service Overview
This library provides boto3 integration for two AWS DevOps services:
1. Community DevOps Agent (community-devops-agent)
- Service: Original DevOps Agent API for task management, goals, and recommendations
- API Version: 2025-12-09
- Use Case: AI-powered DevOps operations and automation
2. AWS DevOps Agent Control Plane (community-aidevops)
- Service: AWS DevOps Agent Control Plane for managing agent spaces and service associations
- API Version: 2018-05-10
- Use Case: Infrastructure management for DevOps agents and service integrations
🚀 Quick Start
Basic Usage
import devopsagent_api # Registers the service
import boto3
# Create a client using standard boto3 patterns
client = boto3.client('community-devops-agent', region_name='us-east-1')
# List tasks with filtering
response = client.list_tasks(
agentSpaceId='your-agent-space-uuid',
filter={'status': ['IN_PROGRESS', 'PENDING_START']}
)
for task in response['tasks']:
print(f"Task: {task['title']} - Status: {task['status']}")
Using Configuration Module (Recommended)
import devopsagent_api # Registers the service
from examples.config import get_config
# Get configuration with environment variable support
config = get_config()
# Create configured client
client = config.get_client()
# List tasks using configured settings
response = client.list_tasks(
agentSpaceId=config.agent_space_id,
filter={'status': ['IN_PROGRESS', 'PENDING_START']}
)
for task in response['tasks']:
print(f"Task: {task['title']} - Status: {task['status']}")
📦 Installation
From PyPI (Recommended)
pip install devopsagent-api
From Source
git clone https://github.com/stefansaftic/community-devops-agent.git
cd devopsagent-api
pip install -e .
Development Installation
pip install -e ".[dev]"
🔧 Requirements
- Python 3.8+
- AWS credentials configured (via AWS CLI, environment variables, or IAM roles)
- Access to AWS DevOps Agent service
⚙️ Configuration
Environment Variables
The library supports configuration through environment variables for flexible deployment:
| Variable | Description | Default | Required |
|---|---|---|---|
AGENT_SPACE_ID |
Your DevOps Agent space UUID | None | Yes (for API calls) |
AWS_REGION |
AWS region for API calls | us-east-1 |
No |
AWS_PROFILE |
AWS CLI profile to use | Default profile | No |
USER_ID |
User ID for chat messages UUID | 4be32b4a-9675-4dc0-97ff-7126ad28457c |
No |
POLL_INTERVAL |
Polling interval in seconds | 2 |
No |
DEFAULT_LIMIT |
Default pagination limit | 10 |
No |
TIMEOUT_SECONDS |
Default timeout in seconds | 60 |
No |
MAX_CHECKS |
Maximum number of status checks | 10 |
No |
AWS Credentials Setup
Option 1: AWS CLI (Recommended)
aws configure
# Enter your AWS Access Key ID, Secret Access Key, and default region
Option 2: Environment Variables
export AWS_ACCESS_KEY_ID=your-access-key
export AWS_SECRET_ACCESS_KEY=your-secret-key
export AWS_REGION=us-east-1
Option 3: AWS Credentials File
# ~/.aws/credentials
[default]
aws_access_key_id = your-access-key
aws_secret_access_key = your-secret-key
# ~/.aws/config
[default]
region = us-east-1
Configuration Module
All examples use a centralized configuration module (examples/config.py) that provides:
- Dynamic service discovery: Automatically detects available waiters, paginators, and operations
- Environment variable support: All configuration values can be overridden via environment variables
- Validation: Checks for required settings and service registration
- Consistent defaults: Sensible defaults for all configuration options
Usage:
from examples.config import get_config
config = get_config()
config.print_configuration() # Shows current settings
client = config.get_client() # Creates configured boto3 client
📚 Documentation
- API Reference
- Examples - Complete examples with configuration module usage
🎯 Features
Native boto3 Integration
- Standard boto3 client creation:
boto3.client('community-devops-agent') - Automatic pagination with
client.get_paginator() - Waiters for long-running operations:
client.get_waiter() - Built-in retry logic and error handling
Complete API Coverage
- Task Management: Create, list, get, and update tasks
- Goal Management: Automated workflow management
- Recommendation Engine: AI-generated improvement suggestions
- Journal API: Execution history and investigation records
- Topology API: GraphQL infrastructure discovery
- Support Integration: AWS Support case management
Type Safety & Validation
- Full Pydantic model validation
- Type hints throughout the codebase
- IDE autocomplete support
- Runtime data validation
🛠️ Development
Setup Development Environment
# Clone the repository
git clone https://github.com/stefansaftic/community-devops-agent.git
cd devopsagent-api
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run linting
black devopsagent_api/
flake8 devopsagent_api/
mypy devopsagent_api/
Project Structure
community-devops-agent/
├── devopsagent_api/ # Main library package
│ ├── __init__.py # Service registration & exports
│ ├── auth.py # Custom credential provider
│ ├── models.py # Pydantic data models
│ ├── exceptions.py # Custom exception classes
│ ├── data/ # boto3 service model data
│ │ ├── community-devops-agent/ # Original DevOps Agent API
│ │ │ └── 2025-12-09/ # API version directory
│ │ │ ├── service-2.json
│ │ │ ├── paginators-1.json
│ │ │ ├── waiters-2.json
│ │ │ └── endpoint-rule-set-1.json
│ │ └── community-aidevops/ # AWS DevOps Agent Control Plane
│ │ └── 2018-05-10/ # API version directory
│ │ ├── service-2.json
│ │ ├── paginators-1.json
│ │ ├── waiters-2.json
│ │ └── endpoint-rule-set-1.json
│ └── loaders/ # Custom service loader
├── examples/ # Usage examples
│ ├── list_agent_spaces.py # NEW: DevOps Agent Control Plane example
│ └── ... # Other examples
├── tests/ # Test suite
├── docs/ # Sphinx documentation
├── devopsagent_api.egg-info/ # Package metadata
├── test_venv/ # Test virtual environment
├── LICENSE # Apache 2.0 license
├── requirements.txt # Python dependencies
├── pyproject.toml # Modern Python packaging
├── setup.py # Traditional packaging
├── README.md # This file
├── publish.py # Publishing utilities
├── .readthedocs.yaml # ReadTheDocs configuration
└── .gitignore # Git ignore patterns
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details.
Development Workflow
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Make your changes and add tests
- Run the test suite:
pytest - Format code:
black devopsagent_api/ - Check types:
mypy devopsagent_api/ - Submit a pull request
📄 License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
🙏 Acknowledgments
This library is built upon the AWS DevOps Agent API and integrates with the boto3 ecosystem to provide a seamless experience for AWS developers.
📞 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: ReadTheDocs
Note: This is a community-built client library for the AWS DevOps Agent API. It is not an official AWS product.
Release files for devopsagent-api 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| devopsagent_api-1.0.3.tar.gz | 47.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| devopsagent_api-1.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 94.0 kB
Release files / devopsagent_api-1.0.3.tar.gz
| Download URL | devopsagent_api-1.0.3.tar.gz |
|---|---|
| Size | 47.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3e8d4a6d470db2529e7156e8a323e79cdbd46b37d70cb7bc5cc3059dd7193348
|
|
BLAKE2b-256 checksum How to use checksums |
e59c2af59f1cd4677e958c6724d78907818f09d5f78289997e286f95bfedf70c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Release files / devopsagent_api-1.0.3-py3-none-any.whl
| Download URL | devopsagent_api-1.0.3-py3-none-any.whl |
|---|---|
| Size | 46.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
29cb9297768258713f84c9a89f66a14030291d5ae54d9870c57eae89f4e1d6aa
|
|
BLAKE2b-256 checksum How to use checksums |
7b4e8d183157c19fc4595959e82e0009f693c3f2401095d6c9e669de9fc2792d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|