Add initial support for conditions

This commit is contained in:
Knut-Erik Johnsen 2024-10-17 15:07:49 +02:00
parent 4bebc4a60b
commit 7bac463211
2 changed files with 7 additions and 3 deletions

View File

@ -54,11 +54,14 @@ public abstract class CrossplaneCompositeFunctionBase extends FunctionRunnerServ
responseBuilder.setRequirements(requirements); responseBuilder.setRequirements(requirements);
} }
if (! crossplaneFunctionResponse.results().isEmpty()) { if (! crossplaneFunctionResponse.results().isEmpty()) {
responseBuilder.addAllResults(crossplaneFunctionResponse.results()); responseBuilder.addAllResults(crossplaneFunctionResponse.results());
} }
if (! crossplaneFunctionResponse.conditions().isEmpty()) {
responseBuilder.addAllConditions(crossplaneFunctionResponse.conditions());
}
if (desiredBuilder.getResourcesCount() > 0) { if (desiredBuilder.getResourcesCount() > 0) {
responseBuilder.setDesired(desiredBuilder.build()); responseBuilder.setDesired(desiredBuilder.build());
} }

View File

@ -1,5 +1,6 @@
package io.crossplane.compositefunctions.base; package io.crossplane.compositefunctions.base;
import io.crossplane.compositefunctions.protobuf.v1.Condition;
import io.crossplane.compositefunctions.protobuf.v1.ResourceSelector; import io.crossplane.compositefunctions.protobuf.v1.ResourceSelector;
import io.crossplane.compositefunctions.protobuf.v1.Result; import io.crossplane.compositefunctions.protobuf.v1.Result;
@ -16,7 +17,7 @@ import java.util.Map;
*/ */
public record CrossplaneFunctionResponse(Map<String, Object> desiredResources, public record CrossplaneFunctionResponse(Map<String, Object> desiredResources,
Map<String, ResourceSelector> resourceSelectors, Map<String, ResourceSelector> resourceSelectors,
List<Result> results) { List<Result> results, List<Condition> conditions) {
// //
// //
@ -26,6 +27,6 @@ public record CrossplaneFunctionResponse(Map<String, Object> desiredResources,
* Create an empty response with all fields initiated * Create an empty response with all fields initiated
*/ */
public CrossplaneFunctionResponse() { public CrossplaneFunctionResponse() {
this(new HashMap<>(), new HashMap<>(), new ArrayList<>()); this(new HashMap<>(), new HashMap<>(), new ArrayList<>(), new ArrayList<>());
} }
} }