<?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: conditional logic in workflows? in Active IQ Unified Manager Discussions</title>
    <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/conditional-logic-in-workflows/m-p/64513#M13423</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Peter,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That was a long one to keep track of but let me try to break it down.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The purpose is to setup a new NFS export on a qtree that will be created. It will be created in either:&lt;/P&gt;&lt;P&gt;1) Existing Shared volume&lt;/P&gt;&lt;P&gt;2) New shared volume&lt;/P&gt;&lt;P&gt;3) New Unshared volume.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So there will be a user input to determine whether the share would be in a "shared" or "unshared" vol.&lt;/P&gt;&lt;P&gt;I would use a function to determine the volume name prefix. Would be the most elegant solution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What else I would do (You can consider it):&lt;/P&gt;&lt;P&gt;Create 2 createVolume commands, one for shared and one for unshared.&lt;/P&gt;&lt;P&gt;You know according to size whether a shared or unshared is needed, and you can set the enable flag accordingly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the unshared, just create the volume (Search for existing and use nextNamePadded to increment name).&lt;/P&gt;&lt;P&gt;In the shared, do the same (Create or find and create the succeeding one).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do my ideas make any sense?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yaron&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 30 Aug 2011 21:48:41 GMT</pubDate>
    <dc:creator>yaronh</dc:creator>
    <dc:date>2011-08-30T21:48:41Z</dc:date>
    <item>
      <title>conditional logic in workflows?</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/conditional-logic-in-workflows/m-p/64507#M13422</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi folks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i need to put some conditional logic in a workflow.&amp;nbsp; hopefully someone can show me a better way than i have devised...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;here are the rules&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;i'm creating a new NFS export.&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;the export will be at the qtree level.&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;i have two types of volumes "shared" and "unshared"&lt;/LI&gt;&lt;LI&gt;if the new export is requested to be &amp;gt;1000GB, i will put the qtree into a "shared" volume&lt;UL&gt;&lt;LI&gt;if there is no existing shared volume, or if the existing volumes have no spare capacity, i will create a new "shared" volume&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;if the new export is &amp;gt;=1000GB, i will always create a new "unshared" volume&lt;/LI&gt;&lt;LI&gt;any new volumes will be named incrementally (eg if vol_shared_001 exists, next volume is vol_shared_002)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;here is my FindChart right now:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG src="http://community.netapp.com/legacyfs/online/12304_Screen+shot+2011-08-24+at+2.24.42+PM.png" width="450" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in a previous FindChart i set the prefix for the volume name as follows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; theVolPrefix =&amp;gt;&amp;nbsp; 'pwl_' + (( $Size &amp;gt;= defaultNewSharedVolSizeGB ) ? '_unshared' : '_shared') + snapLabel&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;this means i should get a prefix&amp;nbsp; like:&amp;nbsp; "pwl_unshared_nosnap_"&amp;nbsp;&amp;nbsp; or&amp;nbsp; "pwl_shared_nosnap_"&amp;nbsp; or suchlike&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the giveTrueIfValuesMatch&amp;nbsp;&amp;nbsp; finder basically does this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;accept two values (in this case&amp;nbsp; theVolPrefix&amp;nbsp;&amp;nbsp; and&amp;nbsp; 'pwl_'&amp;nbsp; + '_shared'&amp;nbsp; + snapLabel )&lt;/LI&gt;&lt;LI&gt;pass to a custom filter which does the following query:&amp;nbsp;&amp;nbsp; select ip from storage.array where '${value1}' = '${value2}' ;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;...in other words i'm using a bogus sql query to act as an "if" compare. &lt;SPAN __jive_emoticon_name="silly" __jive_macro_name="emoticon" class="jive_macro jive_emote" src="https://community.netapp.com/4.5.5/images/emoticons/silly.gif"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the two Defines in the workflow set the same variable (newVolume)&amp;nbsp; and differ only in the volume name.&amp;nbsp; &lt;/P&gt;&lt;P&gt;(the first is&amp;nbsp;&amp;nbsp; nextNamePadded(previousVolume.name) , the second is&amp;nbsp; theVolPrefix + '001'&amp;nbsp;&amp;nbsp; )&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ideally i would work the logic so that i just set a string variable&amp;nbsp; (e.g. newVolumeName)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i'm starting to this i might be able to work around the need to have multiple Defines (which would help for maintenance), but i can't work out how avoid an "IF" conditional around the size of the volume.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;any thoughts or comments?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jun 2025 06:47:21 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/conditional-logic-in-workflows/m-p/64507#M13422</guid>
      <dc:creator>pwl</dc:creator>
      <dc:date>2025-06-05T06:47:21Z</dc:date>
    </item>
    <item>
      <title>Re: conditional logic in workflows?</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/conditional-logic-in-workflows/m-p/64513#M13423</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Peter,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That was a long one to keep track of but let me try to break it down.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The purpose is to setup a new NFS export on a qtree that will be created. It will be created in either:&lt;/P&gt;&lt;P&gt;1) Existing Shared volume&lt;/P&gt;&lt;P&gt;2) New shared volume&lt;/P&gt;&lt;P&gt;3) New Unshared volume.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So there will be a user input to determine whether the share would be in a "shared" or "unshared" vol.&lt;/P&gt;&lt;P&gt;I would use a function to determine the volume name prefix. Would be the most elegant solution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What else I would do (You can consider it):&lt;/P&gt;&lt;P&gt;Create 2 createVolume commands, one for shared and one for unshared.&lt;/P&gt;&lt;P&gt;You know according to size whether a shared or unshared is needed, and you can set the enable flag accordingly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the unshared, just create the volume (Search for existing and use nextNamePadded to increment name).&lt;/P&gt;&lt;P&gt;In the shared, do the same (Create or find and create the succeeding one).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do my ideas make any sense?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yaron&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Aug 2011 21:48:41 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/conditional-logic-in-workflows/m-p/64513#M13423</guid>
      <dc:creator>yaronh</dc:creator>
      <dc:date>2011-08-30T21:48:41Z</dc:date>
    </item>
    <item>
      <title>conditional logic in workflows?</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/conditional-logic-in-workflows/m-p/64521#M13424</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Peter,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did that answer your question? Or at least provide a good direction?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yarong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Sep 2011 21:48:19 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/conditional-logic-in-workflows/m-p/64521#M13424</guid>
      <dc:creator>yaronh</dc:creator>
      <dc:date>2011-09-22T21:48:19Z</dc:date>
    </item>
  </channel>
</rss>

