diff --git a/.changelog/2577.txt b/.changelog/2577.txt new file mode 100644 index 0000000000..6220a04b64 --- /dev/null +++ b/.changelog/2577.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +Added support for `namespace_selector` field in `PodAffinityTerm` to enhance pod affinity and anti-affinity rules, allowing selection of namespaces based on label selectors. +``` \ No newline at end of file diff --git a/kubernetes/structure_label_selector.go b/kubernetes/structure_label_selector.go index eaaeab9b24..8dac60fc75 100644 --- a/kubernetes/structure_label_selector.go +++ b/kubernetes/structure_label_selector.go @@ -66,15 +66,13 @@ func expandNamespaceSelector(n []interface{}) *metav1.LabelSelector { return &metav1.LabelSelector{} } - in, ok := n[0].(map[string]interface{}) - if !ok { - return &metav1.LabelSelector{} - } + in := n[0].(map[string]interface{}) obj := &metav1.LabelSelector{} if v, ok := in["match_labels"].(map[string]interface{}); ok && len(v) > 0 { obj.MatchLabels = expandStringMap(v) } + //We are using labelSelector metav1, due to NamespaceSelector not existing as a type in metav1 if v, ok := in["match_expressions"].([]interface{}); ok && len(v) > 0 { obj.MatchExpressions = expandLabelSelectorRequirement(v) }