Description
Describe the bug
Normally Conjunction was required only between "criteria"
Reproduction steps
You can see a Conjunction
the Result
# nsxt_policy_group.groups:
resource "nsxt_policy_group" "groups" {
display_name = "TEST"
conjunction {
operator = "OR"
}
criteria {
condition {
key = "Name"
member_type = "VirtualMachine"
operator = "EQUALS"
value = "TEST"
}
}
criteria {
ipaddress_expression {
ip_addresses = [
"1.1.1.1",
]
}
}
}
Expected behavior
The Conjuction was only expected between criteria, in the GUI interfaces you can set "AND" or "OR" after the second criteria "Membership Criteria"
the Expected
resource "nsxt_policy_group" "groups" {
display_name = "TEST"
criteria {
condition {
key = "Name"
member_type = "VirtualMachine"
operator = "EQUALS"
value = "TEST"
}
}
criteria {
ipaddress_expression {
ip_addresses = [
"1.1.1.1",
]
}
}
}
OR
resource "nsxt_policy_group" "groups" {
display_name = "TEST"
criteria {
condition {
key = "Name"
member_type = "VirtualMachine"
operator = "EQUALS"
value = "TEST"
}
}
ipaddress_expression {
ip_addresses = [
"1.1.1.1",
]
}
}
and if you want multiple "Membership Criteria"
resource "nsxt_policy_group" "groups" {
display_name = "TEST"
criteria {
condition {
key = "Name"
member_type = "VirtualMachine"
operator = "EQUALS"
value = "TEST"
}
conjunction {
operator = "OR"
}
condition {
key = "Name"
member_type = "VirtualMachine"
operator = "EQUALS"
value = "TEST2"
}
}
criteria {
ipaddress_expression {
ip_addresses = [
"1.1.1.1",
]
}
}
}
Additional context
If you edit the OR by AND between One Criteria "Condition" and "Ipaddress", is it impossible
│ Error: AND conjunctions must use the same types of criteria expressions, but got condition and ipaddress_expression
and the error is normal
If you use the AND operator
resource "nsxt_policy_group" "groups" {
display_name = "TEST"
criteria {
ipaddress_expression {
ip_addresses = [
"1.1.1.2",
]
}
}
conjunction {
operator = "AND"
}
criteria {
ipaddress_expression {
ip_addresses = [
"1.1.1.1",
]
}
}
}
its Dosent work
│ Error: Failed to update Group b92ffe4e-e5f9-4803-a5a1-15c4492ef3e8: The conjunction operator AND can only be used with condition expressions. (code 500302) Normal
If that
resource "nsxt_policy_group" "groups" {
display_name = "TEST"
criteria {
ipaddress_expression {
ip_addresses = [
"1.1.1.2",
]
}
}
conjunction {
operator = "OR"
}
criteria {
ipaddress_expression {
ip_addresses = [
"1.1.1.1",
]
}
}
}
its works OK but now without the Conjunction
resource "nsxt_policy_group" "groups" {
display_name = "TEST"
criteria {
ipaddress_expression {
ip_addresses = [
"1.1.1.2",
]
}
}
criteria {
ipaddress_expression {
ip_addresses = [
"1.1.1.1",
]
}
}
}
│ Error: Missing conjunction for criteria
Yes i know i can set the second ip and the same line but its for the demonstration
I dont want a default value to OR, but a good separation between "membership critera" who need OR or AND Operator and the other Critera