Skip to content

Commit b09a35b

Browse files
committed
feat: builder for kubernetes dependent configuration (#2054)
Signed-off-by: Attila Mészáros <[email protected]>
1 parent 5ed3371 commit b09a35b

File tree

2 files changed

+21
-7
lines changed

2 files changed

+21
-7
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResourceConfig.java

+7-6
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,20 @@ public class KubernetesDependentResourceConfig<R> {
1818

1919
private Set<String> namespaces;
2020
private String labelSelector;
21-
private boolean namespacesWereConfigured;
22-
private boolean createResourceOnlyIfNotExistingWithSSA;
23-
private ResourceDiscriminator<R, ?> resourceDiscriminator;
24-
private Boolean useSSA;
21+
private final boolean namespacesWereConfigured;
22+
private final boolean createResourceOnlyIfNotExistingWithSSA;
23+
private final ResourceDiscriminator<R, ?> resourceDiscriminator;
24+
private final Boolean useSSA;
2525

2626
private final OnAddFilter<R> onAddFilter;
2727
private final OnUpdateFilter<R> onUpdateFilter;
2828
private final OnDeleteFilter<R> onDeleteFilter;
2929
private final GenericFilter<R> genericFilter;
3030

3131
public KubernetesDependentResourceConfig() {
32-
this(Constants.SAME_AS_CONTROLLER_NAMESPACES_SET, NO_VALUE_SET, true,false,
33-
null, null,
32+
this(Constants.SAME_AS_CONTROLLER_NAMESPACES_SET, NO_VALUE_SET, true,
33+
DEFAULT_CREATE_RESOURCE_ONLY_IF_NOT_EXISTING_WITH_SSA,
34+
null, null, null,
3435
null, null, null);
3536
}
3637

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResourceConfigBuilder.java

+14-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ public final class KubernetesDependentResourceConfigBuilder<R> {
1313

1414
private Set<String> namespaces = Constants.SAME_AS_CONTROLLER_NAMESPACES_SET;
1515
private String labelSelector;
16+
private boolean createResourceOnlyIfNotExistingWithSSA;
1617
private ResourceDiscriminator<R, ?> resourceDiscriminator;
18+
private Boolean useSSA;
1719
private OnAddFilter<R> onAddFilter;
1820
private OnUpdateFilter<R> onUpdateFilter;
1921
private OnDeleteFilter<R> onDeleteFilter;
@@ -35,12 +37,23 @@ public KubernetesDependentResourceConfigBuilder<R> withLabelSelector(String labe
3537
return this;
3638
}
3739

40+
public KubernetesDependentResourceConfigBuilder<R> withCreateResourceOnlyIfNotExistingWithSSA(
41+
boolean createResourceOnlyIfNotExistingWithSSA) {
42+
this.createResourceOnlyIfNotExistingWithSSA = createResourceOnlyIfNotExistingWithSSA;
43+
return this;
44+
}
45+
3846
public KubernetesDependentResourceConfigBuilder<R> withResourceDiscriminator(
3947
ResourceDiscriminator<R, ?> resourceDiscriminator) {
4048
this.resourceDiscriminator = resourceDiscriminator;
4149
return this;
4250
}
4351

52+
public KubernetesDependentResourceConfigBuilder<R> withUseSSA(Boolean useSSA) {
53+
this.useSSA = useSSA;
54+
return this;
55+
}
56+
4457
public KubernetesDependentResourceConfigBuilder<R> withOnAddFilter(OnAddFilter<R> onAddFilter) {
4558
this.onAddFilter = onAddFilter;
4659
return this;
@@ -66,7 +79,7 @@ public KubernetesDependentResourceConfigBuilder<R> withGenericFilter(
6679

6780
public KubernetesDependentResourceConfig<R> build() {
6881
return new KubernetesDependentResourceConfig<>(namespaces, labelSelector, false,
69-
resourceDiscriminator, onAddFilter,
82+
createResourceOnlyIfNotExistingWithSSA, resourceDiscriminator, useSSA, onAddFilter,
7083
onUpdateFilter, onDeleteFilter, genericFilter);
7184
}
7285
}

0 commit comments

Comments
 (0)