feat: add additional iam and pct tools
All checks were successful
Deploy to OCIWP / deploy (push) Successful in 6m31s
All checks were successful
Deploy to OCIWP / deploy (push) Successful in 6m31s
This commit is contained in:
@@ -26,4 +26,20 @@ public interface SystemStatusUseCase {
|
||||
@McpTool(name = "iam_session_status", title = "세션 상태 조회", description = "모의 세션 상태를 조회합니다.")
|
||||
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_SESSION_STATUS")
|
||||
SystemStatusResponse getSessionStatus(SystemStatusRequest request);
|
||||
|
||||
@McpTool(name = "iam_identity_provider_list", title = "인증 제공자 목록 조회", description = "모의 인증 제공자 목록을 조회합니다.")
|
||||
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_IDENTITY_PROVIDER_LIST")
|
||||
SystemStatusResponse getIdentityProviderList(SystemStatusRequest request);
|
||||
|
||||
@McpTool(name = "iam_security_event_list", title = "보안 이벤트 목록 조회", description = "모의 보안 이벤트 목록을 조회합니다.")
|
||||
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_SECURITY_EVENT_LIST")
|
||||
SystemStatusResponse getSecurityEventList(SystemStatusRequest request);
|
||||
|
||||
@McpTool(name = "iam_privilege_change_history", title = "권한 변경 이력 조회", description = "모의 권한 변경 이력을 조회합니다.")
|
||||
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_PRIVILEGE_CHANGE_HISTORY")
|
||||
SystemStatusResponse getPrivilegeChangeHistory(SystemStatusRequest request);
|
||||
|
||||
@McpTool(name = "iam_user_group_list", title = "사용자 그룹 목록 조회", description = "모의 사용자 그룹 목록을 조회합니다.")
|
||||
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_USER_GROUP_LIST")
|
||||
SystemStatusResponse getUserGroupList(SystemStatusRequest request);
|
||||
}
|
||||
|
||||
@@ -13,6 +13,10 @@ public class SystemStatusUseCaseImpl implements SystemStatusUseCase {
|
||||
@Override public SystemStatusResponse getDeploymentVersion(SystemStatusRequest request) { return getSystemStatus(request); }
|
||||
@Override public SystemStatusResponse getAccessPolicy(SystemStatusRequest request) { return getSystemStatus(request); }
|
||||
@Override public SystemStatusResponse getSessionStatus(SystemStatusRequest request) { return getSystemStatus(request); }
|
||||
@Override public SystemStatusResponse getIdentityProviderList(SystemStatusRequest request) { return getSystemStatus(request); }
|
||||
@Override public SystemStatusResponse getSecurityEventList(SystemStatusRequest request) { return getSystemStatus(request); }
|
||||
@Override public SystemStatusResponse getPrivilegeChangeHistory(SystemStatusRequest request) { return getSystemStatus(request); }
|
||||
@Override public SystemStatusResponse getUserGroupList(SystemStatusRequest request) { return getSystemStatus(request); }
|
||||
@Override
|
||||
public SystemStatusResponse getSystemStatus(SystemStatusRequest request) {
|
||||
SystemStatusResponse response = new SystemStatusResponse();
|
||||
|
||||
@@ -29,4 +29,20 @@ public interface SystemNoticeUseCase {
|
||||
@McpTool(name = "pct_notice_category", title = "공지 분류 조회", description = "모의 공지 분류 정보를 조회합니다.")
|
||||
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_NOTICE_CATEGORY")
|
||||
SystemNoticeResponse getNoticeCategory(SystemNoticeRequest request);
|
||||
|
||||
@McpTool(name = "pct_incident_list", title = "장애 목록 조회", description = "모의 장애 목록을 조회합니다.")
|
||||
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_INCIDENT_LIST")
|
||||
SystemNoticeResponse getIncidentList(SystemNoticeRequest request);
|
||||
|
||||
@McpTool(name = "pct_change_request_list", title = "변경 요청 목록 조회", description = "모의 변경 요청 목록을 조회합니다.")
|
||||
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_CHANGE_REQUEST_LIST")
|
||||
SystemNoticeResponse getChangeRequestList(SystemNoticeRequest request);
|
||||
|
||||
@McpTool(name = "pct_operation_calendar", title = "운영 일정 조회", description = "모의 운영 일정을 조회합니다.")
|
||||
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_OPERATION_CALENDAR")
|
||||
SystemNoticeResponse getOperationCalendar(SystemNoticeRequest request);
|
||||
|
||||
@McpTool(name = "pct_service_request_status", title = "서비스 요청 상태 조회", description = "모의 서비스 요청 상태를 조회합니다.")
|
||||
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_SERVICE_REQUEST_STATUS")
|
||||
SystemNoticeResponse getServiceRequestStatus(SystemNoticeRequest request);
|
||||
}
|
||||
|
||||
@@ -14,6 +14,10 @@ public class SystemNoticeUseCaseImpl implements SystemNoticeUseCase {
|
||||
@Override public SystemNoticeResponse getAlertList(SystemNoticeRequest request) { return mockResponse(); }
|
||||
@Override public SystemNoticeResponse getNoticeDetail(SystemNoticeRequest request) { return mockResponse(); }
|
||||
@Override public SystemNoticeResponse getNoticeCategory(SystemNoticeRequest request) { return mockResponse(); }
|
||||
@Override public SystemNoticeResponse getIncidentList(SystemNoticeRequest request) { return mockResponse(); }
|
||||
@Override public SystemNoticeResponse getChangeRequestList(SystemNoticeRequest request) { return mockResponse(); }
|
||||
@Override public SystemNoticeResponse getOperationCalendar(SystemNoticeRequest request) { return mockResponse(); }
|
||||
@Override public SystemNoticeResponse getServiceRequestStatus(SystemNoticeRequest request) { return mockResponse(); }
|
||||
|
||||
private SystemNoticeResponse mockResponse() {
|
||||
SystemNoticeResponse.Notice notice = new SystemNoticeResponse.Notice();
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
{"resultCode":"SUCCESS","data":"{\"toolName\":\"iam_identity_provider_list\",\"title\":\"인증 제공자 목록 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\",\"checkedAt\":\"2026-08-13T09:00:00+09:00\"}"}
|
||||
@@ -0,0 +1 @@
|
||||
{"resultCode":"SUCCESS","data":"{\"toolName\":\"iam_privilege_change_history\",\"title\":\"권한 변경 이력 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\",\"checkedAt\":\"2026-08-13T09:00:00+09:00\"}"}
|
||||
@@ -0,0 +1 @@
|
||||
{"resultCode":"SUCCESS","data":"{\"toolName\":\"iam_security_event_list\",\"title\":\"보안 이벤트 목록 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\",\"checkedAt\":\"2026-08-13T09:00:00+09:00\"}"}
|
||||
@@ -0,0 +1 @@
|
||||
{"resultCode":"SUCCESS","data":"{\"toolName\":\"iam_user_group_list\",\"title\":\"사용자 그룹 목록 조회\",\"systemName\":\"AX Hub IAM\",\"environment\":\"개발\",\"status\":\"정상\",\"checkedAt\":\"2026-08-13T09:00:00+09:00\"}"}
|
||||
@@ -0,0 +1 @@
|
||||
{"resultCode":"SUCCESS","data":"{\"toolName\":\"pct_change_request_list\",\"title\":\"변경 요청 목록 조회\",\"notices\":[{\"title\":\"변경 요청 목록 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"}
|
||||
@@ -0,0 +1 @@
|
||||
{"resultCode":"SUCCESS","data":"{\"toolName\":\"pct_incident_list\",\"title\":\"장애 목록 조회\",\"notices\":[{\"title\":\"장애 목록 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"}
|
||||
@@ -0,0 +1 @@
|
||||
{"resultCode":"SUCCESS","data":"{\"toolName\":\"pct_operation_calendar\",\"title\":\"운영 일정 조회\",\"notices\":[{\"title\":\"운영 일정 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"}
|
||||
@@ -0,0 +1 @@
|
||||
{"resultCode":"SUCCESS","data":"{\"toolName\":\"pct_service_request_status\",\"title\":\"서비스 요청 상태 조회\",\"notices\":[{\"title\":\"서비스 요청 상태 조회\",\"priority\":\"보통\",\"publishedDate\":\"2026-08-13\"}]}"}
|
||||
@@ -0,0 +1,22 @@
|
||||
name: iam_identity_provider_list
|
||||
display_name: 인증 제공자 목록 조회
|
||||
version: 1.0.0
|
||||
category_key: iam
|
||||
description:
|
||||
function: 모의 인증 제공자 목록 조회 정보를 조회합니다.
|
||||
when_to_use: 인증 제공자 목록 조회 확인이 필요할 때 사용합니다.
|
||||
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
|
||||
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
|
||||
display_description: 인증 제공자 목록 조회 정보를 조회합니다.
|
||||
example_queries: ["인증 제공자 목록 조회 정보를 보여줘", "인증 제공자 목록 조회을 확인해줘", "현재 인증 제공자 목록 조회을 알려줘"]
|
||||
read_only: true
|
||||
destructive: false
|
||||
idempotent: true
|
||||
parameters_schema:
|
||||
type: object
|
||||
properties:
|
||||
environment: {type: string, description: 조회 조건}
|
||||
additionalProperties: false
|
||||
tags: [iam, 조회, mock]
|
||||
required_env_keys: []
|
||||
owner_org: MCP_TOOL
|
||||
@@ -0,0 +1,22 @@
|
||||
name: iam_privilege_change_history
|
||||
display_name: 권한 변경 이력 조회
|
||||
version: 1.0.0
|
||||
category_key: iam
|
||||
description:
|
||||
function: 모의 권한 변경 이력 조회 정보를 조회합니다.
|
||||
when_to_use: 권한 변경 이력 조회 확인이 필요할 때 사용합니다.
|
||||
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
|
||||
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
|
||||
display_description: 권한 변경 이력 조회 정보를 조회합니다.
|
||||
example_queries: ["권한 변경 이력 조회 정보를 보여줘", "권한 변경 이력 조회을 확인해줘", "현재 권한 변경 이력 조회을 알려줘"]
|
||||
read_only: true
|
||||
destructive: false
|
||||
idempotent: true
|
||||
parameters_schema:
|
||||
type: object
|
||||
properties:
|
||||
environment: {type: string, description: 조회 조건}
|
||||
additionalProperties: false
|
||||
tags: [iam, 조회, mock]
|
||||
required_env_keys: []
|
||||
owner_org: MCP_TOOL
|
||||
@@ -0,0 +1,22 @@
|
||||
name: iam_security_event_list
|
||||
display_name: 보안 이벤트 목록 조회
|
||||
version: 1.0.0
|
||||
category_key: iam
|
||||
description:
|
||||
function: 모의 보안 이벤트 목록 조회 정보를 조회합니다.
|
||||
when_to_use: 보안 이벤트 목록 조회 확인이 필요할 때 사용합니다.
|
||||
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
|
||||
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
|
||||
display_description: 보안 이벤트 목록 조회 정보를 조회합니다.
|
||||
example_queries: ["보안 이벤트 목록 조회 정보를 보여줘", "보안 이벤트 목록 조회을 확인해줘", "현재 보안 이벤트 목록 조회을 알려줘"]
|
||||
read_only: true
|
||||
destructive: false
|
||||
idempotent: true
|
||||
parameters_schema:
|
||||
type: object
|
||||
properties:
|
||||
environment: {type: string, description: 조회 조건}
|
||||
additionalProperties: false
|
||||
tags: [iam, 조회, mock]
|
||||
required_env_keys: []
|
||||
owner_org: MCP_TOOL
|
||||
@@ -0,0 +1,22 @@
|
||||
name: iam_user_group_list
|
||||
display_name: 사용자 그룹 목록 조회
|
||||
version: 1.0.0
|
||||
category_key: iam
|
||||
description:
|
||||
function: 모의 사용자 그룹 목록 조회 정보를 조회합니다.
|
||||
when_to_use: 사용자 그룹 목록 조회 확인이 필요할 때 사용합니다.
|
||||
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
|
||||
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
|
||||
display_description: 사용자 그룹 목록 조회 정보를 조회합니다.
|
||||
example_queries: ["사용자 그룹 목록 조회 정보를 보여줘", "사용자 그룹 목록 조회을 확인해줘", "현재 사용자 그룹 목록 조회을 알려줘"]
|
||||
read_only: true
|
||||
destructive: false
|
||||
idempotent: true
|
||||
parameters_schema:
|
||||
type: object
|
||||
properties:
|
||||
environment: {type: string, description: 조회 조건}
|
||||
additionalProperties: false
|
||||
tags: [iam, 조회, mock]
|
||||
required_env_keys: []
|
||||
owner_org: MCP_TOOL
|
||||
@@ -0,0 +1,22 @@
|
||||
name: pct_change_request_list
|
||||
display_name: 변경 요청 목록 조회
|
||||
version: 1.0.0
|
||||
category_key: pct
|
||||
description:
|
||||
function: 모의 변경 요청 목록 조회 정보를 조회합니다.
|
||||
when_to_use: 변경 요청 목록 조회 확인이 필요할 때 사용합니다.
|
||||
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
|
||||
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
|
||||
display_description: 변경 요청 목록 조회 정보를 조회합니다.
|
||||
example_queries: ["변경 요청 목록 조회 정보를 보여줘", "변경 요청 목록 조회을 확인해줘", "현재 변경 요청 목록 조회을 알려줘"]
|
||||
read_only: true
|
||||
destructive: false
|
||||
idempotent: true
|
||||
parameters_schema:
|
||||
type: object
|
||||
properties:
|
||||
category: {type: string, description: 조회 조건}
|
||||
additionalProperties: false
|
||||
tags: [pct, 조회, mock]
|
||||
required_env_keys: []
|
||||
owner_org: MCP_TOOL
|
||||
@@ -0,0 +1,22 @@
|
||||
name: pct_incident_list
|
||||
display_name: 장애 목록 조회
|
||||
version: 1.0.0
|
||||
category_key: pct
|
||||
description:
|
||||
function: 모의 장애 목록 조회 정보를 조회합니다.
|
||||
when_to_use: 장애 목록 조회 확인이 필요할 때 사용합니다.
|
||||
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
|
||||
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
|
||||
display_description: 장애 목록 조회 정보를 조회합니다.
|
||||
example_queries: ["장애 목록 조회 정보를 보여줘", "장애 목록 조회을 확인해줘", "현재 장애 목록 조회을 알려줘"]
|
||||
read_only: true
|
||||
destructive: false
|
||||
idempotent: true
|
||||
parameters_schema:
|
||||
type: object
|
||||
properties:
|
||||
category: {type: string, description: 조회 조건}
|
||||
additionalProperties: false
|
||||
tags: [pct, 조회, mock]
|
||||
required_env_keys: []
|
||||
owner_org: MCP_TOOL
|
||||
@@ -0,0 +1,22 @@
|
||||
name: pct_operation_calendar
|
||||
display_name: 운영 일정 조회
|
||||
version: 1.0.0
|
||||
category_key: pct
|
||||
description:
|
||||
function: 모의 운영 일정 조회 정보를 조회합니다.
|
||||
when_to_use: 운영 일정 조회 확인이 필요할 때 사용합니다.
|
||||
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
|
||||
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
|
||||
display_description: 운영 일정 조회 정보를 조회합니다.
|
||||
example_queries: ["운영 일정 조회 정보를 보여줘", "운영 일정 조회을 확인해줘", "현재 운영 일정 조회을 알려줘"]
|
||||
read_only: true
|
||||
destructive: false
|
||||
idempotent: true
|
||||
parameters_schema:
|
||||
type: object
|
||||
properties:
|
||||
category: {type: string, description: 조회 조건}
|
||||
additionalProperties: false
|
||||
tags: [pct, 조회, mock]
|
||||
required_env_keys: []
|
||||
owner_org: MCP_TOOL
|
||||
@@ -0,0 +1,22 @@
|
||||
name: pct_service_request_status
|
||||
display_name: 서비스 요청 상태 조회
|
||||
version: 1.0.0
|
||||
category_key: pct
|
||||
description:
|
||||
function: 모의 서비스 요청 상태 조회 정보를 조회합니다.
|
||||
when_to_use: 서비스 요청 상태 조회 확인이 필요할 때 사용합니다.
|
||||
when_not_to_use: 정보 변경이나 실행 작업에는 사용하지 않습니다.
|
||||
io_limits: 모의 조회 데이터만 반환하며 외부 시스템을 변경하지 않습니다.
|
||||
display_description: 서비스 요청 상태 조회 정보를 조회합니다.
|
||||
example_queries: ["서비스 요청 상태 조회 정보를 보여줘", "서비스 요청 상태 조회을 확인해줘", "현재 서비스 요청 상태 조회을 알려줘"]
|
||||
read_only: true
|
||||
destructive: false
|
||||
idempotent: true
|
||||
parameters_schema:
|
||||
type: object
|
||||
properties:
|
||||
category: {type: string, description: 조회 조건}
|
||||
additionalProperties: false
|
||||
tags: [pct, 조회, mock]
|
||||
required_env_keys: []
|
||||
owner_org: MCP_TOOL
|
||||
@@ -57,7 +57,7 @@ class SystemMockToolResourcesTest {
|
||||
ToolDefinitionRepository repository = new ToolDefinitionRepository(new ObjectMapper(new YAMLFactory()),
|
||||
new DefaultResourceLoader(), "classpath*:tool-definitions/**/*.yml");
|
||||
|
||||
assertEquals(42, repository.findAll().size());
|
||||
assertEquals(50, repository.findAll().size());
|
||||
assertTrue(repository.findAll().values().stream().allMatch(definition ->
|
||||
"iam".equals(definition.categoryKey()) || "pct".equals(definition.categoryKey())));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user