Configuration
The Community DevOps Agent API supports flexible configuration through environment variables, configuration files, and programmatic setup.
Environment Variables
The library supports configuration through environment variables for flexible deployment:
Variable |
Description |
Default |
Required |
|---|---|---|---|
|
Your DevOps Agent space UUID |
None |
Yes (for API calls) |
|
AWS region for API calls |
|
No |
|
AWS CLI profile to use |
Default profile |
No |
|
User ID for chat messages UUID |
|
No |
|
Polling interval in seconds |
|
No |
|
Default pagination limit |
|
No |
|
Default timeout in seconds |
|
No |
|
Maximum number of status checks |
|
No |
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
Configuration Class
AWS Credentials
The library uses standard AWS credential resolution:
Environment variables:
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEYShared credentials file:
~/.aws/credentialsAWS CLI configuration:
~/.aws/configIAM roles: For EC2 instances, Lambda functions, etc.
Boto3 credential providers: Custom credential providers
Service Registration
The library automatically registers the community-devops-agent service with boto3 on import. You can check if registration was successful:
import devopsagent_api
if devopsagent_api.is_service_registered():
print("Service registered successfully")
else:
print("Service registration failed")
Advanced Configuration
For advanced use cases, you can configure boto3 directly:
import boto3
import devopsagent_api
# Configure boto3 session
session = boto3.Session(
region_name='us-west-2',
profile_name='dev'
)
# Create client with custom session
client = session.client('community-devops-agent')
Troubleshooting
Configuration Not Found
If configuration values are not being picked up:
# Check environment variables
env | grep -E "(AGENT_SPACE_ID|AWS_REGION)"
# Check AWS credentials
aws sts get-caller-identity
Service Registration Issues
If the service fails to register:
import devopsagent_api
import logging
logging.basicConfig(level=logging.DEBUG)
import devopsagent_api # This will show debug logs
Permission Issues
Ensure your AWS credentials have the necessary permissions for the DevOps Agent API.