Python client library for AWS DevOps Agent API using boto3
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file devopsagent_api-1.0.3.tar.gz.
File metadata
- Download URL: devopsagent_api-1.0.3.tar.gz
- Upload date:
- Size: 47.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e8d4a6d470db2529e7156e8a323e79cdbd46b37d70cb7bc5cc3059dd7193348
|
|
| MD5 |
1a83fa79c7fc90c6a8267b0209c286d6
|
|
| BLAKE2b-256 |
e59c2af59f1cd4677e958c6724d78907818f09d5f78289997e286f95bfedf70c
|
File details
Details for the file devopsagent_api-1.0.3-py3-none-any.whl.
File metadata
- Download URL: devopsagent_api-1.0.3-py3-none-any.whl
- Upload date:
- Size: 46.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29cb9297768258713f84c9a89f66a14030291d5ae54d9870c57eae89f4e1d6aa
|
|
| MD5 |
90d559c990356d65dc9e14d646bfbe21
|
|
| BLAKE2b-256 |
7b4e8d183157c19fc4595959e82e0009f693c3f2401095d6c9e669de9fc2792d
|