<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: NSX-T API - Add a Group with Multiple Tags in VMware NSX Discussions</title>
    <link>https://communities.vmware.com/t5/VMware-NSX-Discussions/NSX-T-API-Add-a-Group-with-Multiple-Tags/m-p/2993822#M17037</link>
    <description>&lt;P&gt;It should be possible (the Terraform provider supports it at least).&lt;/P&gt;&lt;P&gt;Make sure you have the syntax completely correct. Based on the output there, you'll need both expression AND expressions in your body.&lt;/P&gt;</description>
    <pubDate>Wed, 01 Nov 2023 23:15:54 GMT</pubDate>
    <dc:creator>EvertAM</dc:creator>
    <dc:date>2023-11-01T23:15:54Z</dc:date>
    <item>
      <title>NSX-T API - Add a Group with Multiple Tags</title>
      <link>https://communities.vmware.com/t5/VMware-NSX-Discussions/NSX-T-API-Add-a-Group-with-Multiple-Tags/m-p/2975133#M16573</link>
      <description>&lt;DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;Wondering has anyone been able to achieve this? I've built a powershell script that goes and adds a group to NSX with one tag and this works fine below is the structure.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;$body = @{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"expression" = @(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;@{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"member_type" = "VirtualMachine"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"value" = "test|simple"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"key" = "Tag"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"operator" = "EQUALS"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"resource_type" = "Condition"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"description" = "Simple"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"display_name" = "Simple"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"_revision" = 0&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;The problem arises when I try and add more than one tag. I can't find anything in the documentation. I've queried against the API to see how the data is structure in NSX and it returns the below (sensitive info removed)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"expression": [&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"expressions": [&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"member_type": "VirtualMachine",&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"key": "Tag",&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"operator": "EQUALS",&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"scope_operator": "EQUALS",&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"value": "test|simple"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;},&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"conjunction_operator": "AND",&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"resource_type": "ConjunctionOperator"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;},&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"member_type": "VirtualMachine",&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"key": "Tag",&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"operator": "EQUALS",&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"scope_operator": "EQUALS",&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;"value": "sample|tag&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;I've built queries structured similarly to this request but it seems the it's not a valid expression so wondering how anyone has been able to implement this or if it is at all possible?&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 29 Jun 2023 19:27:42 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-NSX-Discussions/NSX-T-API-Add-a-Group-with-Multiple-Tags/m-p/2975133#M16573</guid>
      <dc:creator>bmcb555</dc:creator>
      <dc:date>2023-06-29T19:27:42Z</dc:date>
    </item>
    <item>
      <title>Re: NSX-T API - Add a Group with Multiple Tags</title>
      <link>https://communities.vmware.com/t5/VMware-NSX-Discussions/NSX-T-API-Add-a-Group-with-Multiple-Tags/m-p/2980983#M16726</link>
      <description>&lt;P&gt;Having read the API documentation in it's fullest, it does not support&amp;nbsp;&lt;SPAN&gt;Conjunction Operator, hopefully be added in the future&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 05 Aug 2023 20:20:03 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-NSX-Discussions/NSX-T-API-Add-a-Group-with-Multiple-Tags/m-p/2980983#M16726</guid>
      <dc:creator>bmcb555</dc:creator>
      <dc:date>2023-08-05T20:20:03Z</dc:date>
    </item>
    <item>
      <title>Re: NSX-T API - Add a Group with Multiple Tags</title>
      <link>https://communities.vmware.com/t5/VMware-NSX-Discussions/NSX-T-API-Add-a-Group-with-Multiple-Tags/m-p/2993099#M17028</link>
      <description>&lt;P&gt;I'm not sure if this is exactly what you are trying to do, but I was able to create a new group with two expressions using the NSX-T REST API. I'm using a direct rest call from vRO, but the principle should be the same for PowerCLI&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;var expression = [];
expression.push({
    "member_type": "VirtualMachine",
    "value": "tag-1",
    "key": "Tag",
    "operator": "EQUALS",
    "resource_type": "Condition"
})

// Not Adding a ConjunctionOperator to the expression list will make the API Call Fail
// The expression array index lenght must always be odd
expression.push({
    "conjunction_operator": "AND",
    "resource_type": "ConjunctionOperator"
});

expression.push({

    "member_type": "VirtualMachine",
    "value": "tag-2",
    "key": "Tag",
    "operator": "EQUALS",
    "resource_type": "Condition"
})

// expression.length == 3
var group = {
    "expression": expression,
    "display_name": "NewGroup",
    "description": "Testing Gropu Creation with multiple expressions"
};

var content = JSON.stringify(group);
System.log("Request Body is: " + content);

var restHost = System.getModule("com.domain.basic").getConfigurationElementAttributeValueWithPath("Domain", "NSXT", "restHost");
var restRequest = restHost.createRequest("PUT", "policy/api/v1/infra/domains/{yourdomain]/groups/NewGroup", content);
restRequest.contentType = "application/json";

var requestResponse = restRequest.execute();&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the result of the API Call in NSX-T&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="groupcreate.jpg" style="width: 999px;"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/104179iB54DB1D7ED45942B/image-size/large/is-moderation-mode/true?v=v2&amp;amp;px=999" role="button" title="groupcreate.jpg" alt="groupcreate.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 27 Oct 2023 19:31:05 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-NSX-Discussions/NSX-T-API-Add-a-Group-with-Multiple-Tags/m-p/2993099#M17028</guid>
      <dc:creator>vlarocco</dc:creator>
      <dc:date>2023-10-27T19:31:05Z</dc:date>
    </item>
    <item>
      <title>Re: NSX-T API - Add a Group with Multiple Tags</title>
      <link>https://communities.vmware.com/t5/VMware-NSX-Discussions/NSX-T-API-Add-a-Group-with-Multiple-Tags/m-p/2993822#M17037</link>
      <description>&lt;P&gt;It should be possible (the Terraform provider supports it at least).&lt;/P&gt;&lt;P&gt;Make sure you have the syntax completely correct. Based on the output there, you'll need both expression AND expressions in your body.&lt;/P&gt;</description>
      <pubDate>Wed, 01 Nov 2023 23:15:54 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/VMware-NSX-Discussions/NSX-T-API-Add-a-Group-with-Multiple-Tags/m-p/2993822#M17037</guid>
      <dc:creator>EvertAM</dc:creator>
      <dc:date>2023-11-01T23:15:54Z</dc:date>
    </item>
  </channel>
</rss>

