{"record":{"id":"3bacc4664ead22c0","repo":"floci-io/floci","slug":"unsupportedoperation","errorCode":"UnsupportedOperation","errorMessage":"Operation {} is not supported.","messagePattern":"Operation (.+?) is not supported\\.","errorType":"error_code","errorClass":"AwsException","httpStatus":400,"severity":"error","filePath":"src/main/java/io/github/hectorvent/floci/services/cloudcontrol/CloudControlJsonHandler.java","lineNumber":35,"sourceCode":"\n    @Inject\n    public CloudControlJsonHandler(CloudControlService service, ObjectMapper mapper) {\n        this.service = service;\n        this.mapper = mapper;\n    }\n\n    public Response handle(String action, JsonNode request, String region) {\n        return switch (action) {\n            case \"ListResources\" -> listResources(request, region);\n            case \"GetResource\" -> getResource(request, region);\n            case \"CreateResource\" -> progressResponse(\n                    service.createResource(region, required(request, \"TypeName\"),\n                            request.path(\"DesiredState\").asText(null)));\n            case \"DeleteResource\" -> progressResponse(\n                    service.deleteResource(region, required(request, \"TypeName\"), required(request, \"Identifier\")));\n            case \"GetResourceRequestStatus\" -> progressResponse(\n                    service.requestStatus(requestToken(request)));\n            default -> throw new AwsException(\"UnsupportedOperation\",\n                    \"Operation \" + action + \" is not supported.\", 400);\n        };\n    }\n\n    private Response getResource(JsonNode request, String region) {\n        String typeName = required(request, \"TypeName\");\n        String identifier = required(request, \"Identifier\");\n        CloudControlService.ResourceDescription resource = service.getResource(region, typeName, identifier);\n        ObjectNode response = mapper.createObjectNode();\n        response.put(\"TypeName\", typeName);\n        ObjectNode desc = response.putObject(\"ResourceDescription\");\n        desc.put(\"Identifier\", resource.identifier());\n        desc.put(\"Properties\", resource.properties());\n        return Response.ok(response).build();\n    }\n\n    private Response progressResponse(CloudControlService.ProgressEvent event) {\n        ObjectNode response = mapper.createObjectNode();","sourceCodeStart":17,"sourceCodeEnd":53,"githubUrl":"https://github.com/floci-io/floci/blob/62ff490619e7bd3554597c28c704081b4c15add5/src/main/java/io/github/hectorvent/floci/services/cloudcontrol/CloudControlJsonHandler.java#L17-L53","documentation":"Error \"Operation {} is not supported.\" thrown in floci-io/floci.","triggerScenarios":"Thrown at src/main/java/io/github/hectorvent/floci/services/cloudcontrol/CloudControlJsonHandler.java:35 when the library encounters an invalid state.","commonSituations":"Occurs when an unsupported CloudControl operation name is sent via X-Amz-Target. Use supported operations such as CreateResource, GetResource, UpdateResource, DeleteResource, or ListResources.","solutions":["Use a supported CloudControl operation: CreateResource, GetResource, UpdateResource, DeleteResource, ListResources, ListResourceRequests, or GetResourceRequestStatus."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"62ff490619e7bd3554597c28c704081b4c15add5","analyzedAt":"2026-08-14T14:25:23.764Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}