44
55from .._models import BaseModel
66
7- __all__ = ["CloudEnvironmentConfig" , "GitHubRepo" ]
7+ __all__ = ["CloudEnvironmentConfig" , "GitHubRepo" , "Providers" , "ProvidersAws" , "ProvidersGcp" ]
88
99
1010class GitHubRepo (BaseModel ):
@@ -15,6 +15,36 @@ class GitHubRepo(BaseModel):
1515 """GitHub repository name"""
1616
1717
18+ class ProvidersAws (BaseModel ):
19+ """AWS IAM role assumption settings"""
20+
21+ role_arn : str
22+ """AWS IAM role ARN to assume"""
23+
24+
25+ class ProvidersGcp (BaseModel ):
26+ """GCP Workload Identity Federation settings"""
27+
28+ project_number : str
29+ """GCP project number"""
30+
31+ workload_identity_federation_pool_id : str
32+ """Workload Identity Federation pool ID"""
33+
34+ workload_identity_federation_provider_id : str
35+ """Workload Identity Federation provider ID"""
36+
37+
38+ class Providers (BaseModel ):
39+ """Optional cloud provider configurations for automatic auth"""
40+
41+ aws : Optional [ProvidersAws ] = None
42+ """AWS IAM role assumption settings"""
43+
44+ gcp : Optional [ProvidersGcp ] = None
45+ """GCP Workload Identity Federation settings"""
46+
47+
1848class CloudEnvironmentConfig (BaseModel ):
1949 """Configuration for a cloud environment used by scheduled agents"""
2050
@@ -30,5 +60,8 @@ class CloudEnvironmentConfig(BaseModel):
3060 name : Optional [str ] = None
3161 """Human-readable name for the environment"""
3262
63+ providers : Optional [Providers ] = None
64+ """Optional cloud provider configurations for automatic auth"""
65+
3366 setup_commands : Optional [List [str ]] = None
3467 """Shell commands to run during environment setup"""
0 commit comments