Skip to content

Commit 464fde5

Browse files
committed
BedrockAgentCoreControl: initial support with Agent Runtime CRUD
Implements 14 operations: - CreateAgentRuntime, GetAgentRuntime, UpdateAgentRuntime, DeleteAgentRuntime, ListAgentRuntimes, ListAgentRuntimeVersions - CreateAgentRuntimeEndpoint, GetAgentRuntimeEndpoint, UpdateAgentRuntimeEndpoint, DeleteAgentRuntimeEndpoint, ListAgentRuntimeEndpoints - TagResource, UntagResource, ListTagsForResource
1 parent a6b7b4f commit 464fde5

File tree

9 files changed

+1128
-0
lines changed

9 files changed

+1128
-0
lines changed

moto/backend_index.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@
3131
("batch", re.compile("https?://batch\\.(.+)\\.amazonaws.com")),
3232
("bedrock", re.compile("https?://bedrock\\.(.+)\\.amazonaws\\.com")),
3333
("bedrockagent", re.compile("https?://bedrock-agent\\.(.+)\\.amazonaws\\.com")),
34+
(
35+
"bedrockagentcorecontrol",
36+
re.compile("https?://bedrock-agentcore-control\\.(.+)\\.amazonaws\\.com"),
37+
),
3438
("budgets", re.compile("https?://budgets\\.amazonaws\\.com")),
3539
("ce", re.compile("https?://ce\\.(.+)\\.amazonaws\\.com")),
3640
("clouddirectory", re.compile("https?://clouddirectory\\.(.+)\\.amazonaws\\.com")),

moto/backends.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
from moto.batch.models import BatchBackend
2525
from moto.bedrock.models import BedrockBackend
2626
from moto.bedrockagent.models import AgentsforBedrockBackend
27+
from moto.bedrockagentcorecontrol.models import BedrockAgentCoreControlBackend
2728
from moto.budgets.models import BudgetsBackend
2829
from moto.ce.models import CostExplorerBackend
2930
from moto.clouddirectory.models import CloudDirectoryBackend
@@ -217,6 +218,7 @@ def get_service_from_url(url: str) -> Optional[str]:
217218
"Literal['batch']",
218219
"Literal['bedrock']",
219220
"Literal['bedrock-agent']",
221+
"Literal['bedrock-agentcore-control']",
220222
"Literal['budgets']",
221223
"Literal['ce']",
222224
"Literal['clouddirectory']",
@@ -411,6 +413,10 @@ def get_backend(
411413
name: "Literal['bedrock-agent']",
412414
) -> "BackendDict[AgentsforBedrockBackend]": ...
413415
@overload
416+
def get_backend(
417+
name: "Literal['bedrock-agentcore-control']",
418+
) -> "BackendDict[BedrockAgentCoreControlBackend]": ...
419+
@overload
414420
def get_backend(name: "Literal['budgets']") -> "BackendDict[BudgetsBackend]": ...
415421
@overload
416422
def get_backend(name: "Literal['ce']") -> "BackendDict[CostExplorerBackend]": ...
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from .models import bedrockagentcorecontrol_backends # noqa: F401
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
"""BedrockAgentCoreControl exceptions."""
2+
3+
from moto.core.exceptions import JsonRESTError
4+
5+
6+
class BedrockAgentCoreControlClientError(JsonRESTError):
7+
code = 400
8+
9+
10+
class ResourceNotFoundException(BedrockAgentCoreControlClientError):
11+
code = 404
12+
13+
def __init__(self, message: str) -> None:
14+
super().__init__("ResourceNotFoundException", message)
15+
16+
17+
class ConflictException(BedrockAgentCoreControlClientError):
18+
code = 409
19+
20+
def __init__(self, message: str) -> None:
21+
super().__init__("ConflictException", message)
22+
23+
24+
class ValidationException(BedrockAgentCoreControlClientError):
25+
def __init__(self, message: str) -> None:
26+
super().__init__("ValidationException", message)

0 commit comments

Comments
 (0)