floci-io/floci · error · AwsException
InvalidActionDeclarationException
InvalidActionDeclarationException
Error message
Provider ${provider} is not available in Floci CodePipeline What it means
Error "Provider ${provider} is not available in Floci CodePipeline" thrown in floci-io/floci.
Source
Thrown at src/main/java/io/github/hectorvent/floci/services/codepipeline/CodePipelineService.java:788
JsonNode action, ActionExecution state) throws InterruptedException {
String category = state.getCategory();
String owner = state.getOwner();
String provider = state.getProvider();
if ("Approval".equals(category) && "Manual".equals(provider)) {
waitForApproval(execution, state);
return;
}
if (!"AWS".equals(owner)) {
waitForCustomJob(pipeline, execution, action, state);
return;
}
switch (provider) {
case "S3" -> executeS3(execution, action, state);
case "CodeBuild" -> executeCodeBuild(execution, action, state);
case "CodeDeploy" -> executeCodeDeploy(execution, action, state);
case "Lambda" -> executeLambda(execution, action, state);
case "CodePipeline" -> executeNestedPipeline(execution, action, state);
default -> throw new AwsException("InvalidActionDeclarationException",
"Provider " + provider + " is not available in Floci CodePipeline", 400);
}
}
private void executeS3(CodePipelineExecution execution, JsonNode action, ActionExecution state) {
JsonNode config = action.path("configuration");
if ("Source".equals(state.getCategory())) {
String bucket = config.path("S3Bucket").asText(config.path("BucketName").asText(null));
String key = config.path("S3ObjectKey").asText(config.path("ObjectKey").asText(null));
S3Object object = s3Service.getObject(bucket, key);
for (JsonNode artifact : action.path("outputArtifacts")) {
runtimeArtifacts.put(artifactKey(execution, artifact.path("name").asText()), object.getData());
}
Map<String, Object> revision = new LinkedHashMap<>();
revision.put("name", state.getActionName());
revision.put("revisionId", object.getVersionId() != null ? object.getVersionId() : object.getETag());
revision.put("revisionChangeIdentifier", object.getETag());
revision.put("revisionSummary", bucket + "/" + key);View on GitHub (pinned to 62ff490619)
Solutions
- Use a provider supported by Floci CodePipeline, e.g. CodeBuild.
When it happens
Trigger: Thrown at src/main/java/io/github/hectorvent/floci/services/codepipeline/CodePipelineService.java:788 when the library encounters an invalid state.
Common situations: Occurs when a pipeline stage references an action provider not implemented by Floci. Use a supported provider such as CodeBuild or S3.
AI-assisted analysis of floci-io/floci@62ff490619 (2026-08-14).
Data as JSON: /api/errors/12a757044018cca3.
Report an issue: GitHub.