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 = "모의 세션 상태를 조회합니다.")
|
@McpTool(name = "iam_session_status", title = "세션 상태 조회", description = "모의 세션 상태를 조회합니다.")
|
||||||
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_SESSION_STATUS")
|
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_SESSION_STATUS")
|
||||||
SystemStatusResponse getSessionStatus(SystemStatusRequest request);
|
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 getDeploymentVersion(SystemStatusRequest request) { return getSystemStatus(request); }
|
||||||
@Override public SystemStatusResponse getAccessPolicy(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 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
|
@Override
|
||||||
public SystemStatusResponse getSystemStatus(SystemStatusRequest request) {
|
public SystemStatusResponse getSystemStatus(SystemStatusRequest request) {
|
||||||
SystemStatusResponse response = new SystemStatusResponse();
|
SystemStatusResponse response = new SystemStatusResponse();
|
||||||
|
|||||||
@@ -29,4 +29,20 @@ public interface SystemNoticeUseCase {
|
|||||||
@McpTool(name = "pct_notice_category", title = "공지 분류 조회", description = "모의 공지 분류 정보를 조회합니다.")
|
@McpTool(name = "pct_notice_category", title = "공지 분류 조회", description = "모의 공지 분류 정보를 조회합니다.")
|
||||||
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_NOTICE_CATEGORY")
|
@GrowToolHint(requiresApproval = false, categoryKey = "pct", mappingId = "DIRECT_PCT_NOTICE_CATEGORY")
|
||||||
SystemNoticeResponse getNoticeCategory(SystemNoticeRequest request);
|
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 getAlertList(SystemNoticeRequest request) { return mockResponse(); }
|
||||||
@Override public SystemNoticeResponse getNoticeDetail(SystemNoticeRequest request) { return mockResponse(); }
|
@Override public SystemNoticeResponse getNoticeDetail(SystemNoticeRequest request) { return mockResponse(); }
|
||||||
@Override public SystemNoticeResponse getNoticeCategory(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() {
|
private SystemNoticeResponse mockResponse() {
|
||||||
SystemNoticeResponse.Notice notice = new SystemNoticeResponse.Notice();
|
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()),
|
ToolDefinitionRepository repository = new ToolDefinitionRepository(new ObjectMapper(new YAMLFactory()),
|
||||||
new DefaultResourceLoader(), "classpath*:tool-definitions/**/*.yml");
|
new DefaultResourceLoader(), "classpath*:tool-definitions/**/*.yml");
|
||||||
|
|
||||||
assertEquals(42, repository.findAll().size());
|
assertEquals(50, repository.findAll().size());
|
||||||
assertTrue(repository.findAll().values().stream().allMatch(definition ->
|
assertTrue(repository.findAll().values().stream().allMatch(definition ->
|
||||||
"iam".equals(definition.categoryKey()) || "pct".equals(definition.categoryKey())));
|
"iam".equals(definition.categoryKey()) || "pct".equals(definition.categoryKey())));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user