/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 ĠJ uni per ĠNetworks , ĠInc . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ Ċ package Ġnet . j uni per . contr ail . v ro . workflows . custom Ċ Ċ import Ġnet . j uni per . contr ail . api . types . Action ListType Ċ import Ġnet . j uni per . contr ail . api . types . Address Type Ċ import Ġnet . j uni per . contr ail . api . types . Network Policy Ċ import Ġnet . j uni per . contr ail . api . types . Policy Rule Type Ċ import Ġnet . j uni per . contr ail . api . types . Project Ċ import Ġnet . j uni per . contr ail . api . types . SecurityGroup Ċ import Ġnet . j uni per . contr ail . api . types . Service Instance Ċ import Ġnet . j uni per . contr ail . api . types . Virtual Network Ċ import Ġnet . j uni per . contr ail . v ro . config . constants . add Rule To Network Policy Workflow Name Ċ import Ġnet . j uni per . contr ail . v ro . config . constants . edit Rule Of Network Policy Workflow Name Ċ import Ġnet . j uni per . contr ail . v ro . config . constants . remove Rule From Network Policy Workflow Name Ċ import Ġnet . j uni per . contr ail . v ro . config . constants . item Ċ import Ġnet . j uni per . contr ail . v ro . config . network Policy Rules Ċ import Ġnet . j uni per . contr ail . v ro . schema . Schema Ċ import Ġnet . j uni per . contr ail . v ro . schema . property Description Ċ import Ġnet . j uni per . contr ail . v ro . schema . simple Type Constraints Ċ import Ġnet . j uni per . contr ail . v ro . workflows . dsl . From Boolean Parameter Ċ import Ġnet . j uni per . contr ail . v ro . workflows . dsl . FromString Parameter Ċ import Ġnet . j uni per . contr ail . v ro . workflows . dsl . Presentation Parameters Builder Ċ import Ġnet . j uni per . contr ail . v ro . workflows . dsl . When NonNull Ċ import Ġnet . j uni per . contr ail . v ro . workflows . dsl . Workflow Definition Ċ import Ġnet . j uni per . contr ail . v ro . workflows . dsl . action Call To Ċ import Ġnet . j uni per . contr ail . v ro . workflows . dsl . and Ċ import Ġnet . j uni per . contr ail . v ro . workflows . dsl . or Ċ import Ġnet . j uni per . contr ail . v ro . workflows . model . array Ċ import Ġnet . j uni per . contr ail . v ro . workflows . model . boolean Ċ import Ġnet . j uni per . contr ail . v ro . workflows . model . number Ċ import Ġnet . j uni per . contr ail . v ro . workflows . model . reference Ċ import Ġnet . j uni per . contr ail . v ro . workflows . model . string Ċ import Ġnet . j uni per . contr ail . v ro . workflows . util . property Description Ċ import Ġnet . j uni per . contr ail . v ro . workflows . util . relation Description Ċ Ċ private Ġval Ġsource Virtual Network Type Ġ= Ġ" src Virtual Network Type " Ċ private Ġval Ġdestination Virtual Network Type Ġ= Ġ" dst Virtual Network Type " Ċ private Ġval Ġsource Address Type ParameterName Ġ= Ġ" src Address Type " Ċ private Ġval Ġdestination Address Type ParameterName Ġ= Ġ" dst Address Type " Ċ private Ġval Ġdefine Services ParameterName Ġ= Ġ" define Services " Ċ private Ġval Ġdefine Mirror ParameterName Ġ= Ġ" define Mirror " Ċ private Ġval Ġmirror Type ParameterName Ġ= Ġ" mirror Type " Ċ // ĠThere Ġis Ġno Ġinformation Ġabout Ġprotocols Ġin Ġthe Ġschema Ċ private Ġval Ġdefault Port Ġ= Ġ" any " Ċ private Ġval Ġdefault Protocol Ġ= Ġ" any " Ċ private Ġval Ġallowed Protocols Ġ= ĠlistOf (" any ", Ġ" tcp ", Ġ" udp ", Ġ" icmp ", Ġ" icmp 6 ") Ċ private Ġval Ġdefault Address Type Ġ= Ġ" Network " Ċ private Ġval Ġallowed Address Types Ġ= ĠlistOf (" CIDR ", Ġ" Network ", Ġ" Policy ", Ġ" Security ĠGroup ") Ċ private Ġval Ġdefault Mirror Type Ġ= Ġ" Analyzer ĠInstance " Ċ private Ġval Ġallowed Mirror Types Ġ= ĠlistOf (" Analyzer ĠInstance ", Ġ" NIC ĠAss isted ", Ġ" Analyzer ĠIP ") Ċ private Ġval Ġdefault J uni per Header Option Ġ= Ġ" enabled " Ċ private Ġval Ġallowed J uni per Header Options Ġ= ĠlistOf (" enabled ", Ġ" disabled ") Ċ private Ġval Ġdefault N ex th op Mode Ġ= Ġ" dynamic " Ċ private Ġval Ġallowed N ex th op Modes Ġ= ĠlistOf (" dynamic ", Ġ" static ") Ċ private Ġval Ġdefault Network Type Ġ= Ġ" any " Ċ private Ġval Ġallowed Network Types Ġ= ĠlistOf (" any ", Ġ" local ", Ġ" reference ") Ċ Ċ internal Ġfun Ġadd Rule To Policy Workflow ( schema : ĠSchema ): ĠWorkflow Definition Ġ= ĊĠĠĠ Ġcustom Workflow < Network Policy >( add Rule To Network Policy Workflow Name ). with Script File (" add Rule To Policy ") Ġ{ ĊĠĠĠĠĠĠĠ Ġstep (" Network ĠPolicy ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparameter ( item , Ġreference < Network Policy >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġrelation Description < Project , ĠNetwork Policy >( schema ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġpolicy Rule Parameters ( schema , Ġitem , Ġfalse ) ĊĠĠĠ Ġ} Ċ Ċ internal Ġfun Ġedit Policy Rule Workflow ( schema : ĠSchema ): ĠWorkflow Definition Ġ= ĊĠĠĠ Ġcustom Workflow < Network Policy >( edit Rule Of Network Policy Workflow Name ). with Script File (" edit Policy Rule ") Ġ{ ĊĠĠĠĠĠĠĠ Ġstep (" Network ĠPolicy ĠRule ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparameter ( item , Ġreference < Network Policy >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġrelation Description < Project , ĠNetwork Policy >( schema ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparameter ( rule , Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠWhen NonNull ( item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Rule Ġto Ġedit " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpredefined Answers From Ġ= Ġaction Call To ( network Policy Rules ). parameter ( item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalid When Ġ= Ġis Single Address Network Policy Rule Of ( item ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġpolicy Rule Parameters ( schema , Ġrule , Ġtrue ) ĊĠĠĠ Ġ} Ċ Ċ private Ġfun ĠPresentation Parameters Builder . policy Rule Parameters ( schema : ĠSchema , Ġvisibility Dependency Field : ĠString , Ġload Current Values : ĠBoolean ) Ġ{ ĊĠĠĠ Ġstep (" Basic ĠProperties ") Ġ{ ĊĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠWhen NonNull ( visibility Dependency Field ) ĊĠĠĠĠĠĠĠ Ġparameter (" simple Action ", Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġproperty Description < Action ListType >( schema ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadditional Qual ifiers Ġ+= Ġschema . simple Type Constraints < Action ListType >(" simple Action ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" protocol ", Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġproperty Description < Policy Rule Type >( schema ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue Ġ= Ġdefault Protocol ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpredefined Answers Ġ= Ġallowed Protocols ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" direction ", Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdirection Ġhas Ġno Ġdescription Ġin Ġthe Ġschema ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Direction " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadditional Qual ifiers Ġ+= Ġschema . simple Type Constraints < Policy Rule Type >(" direction ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġstep (" Addresses ") Ġ{ ĊĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠWhen NonNull ( visibility Dependency Field ) ĊĠĠĠĠĠĠĠ Ġparameter ( source Address Type ParameterName , Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Traffic ĠSource " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue Ġ= Ġdefault Address Type ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpredefined Answers Ġ= Ġallowed Address Types ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" src Subnet ", Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġschema . property Description < Address Type >(" subnet ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠFrom String Parameter ( source Address Type ParameterName , Ġ" CIDR ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter ( source Virtual Network Type , Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Type Ġof Ġsource Ġnetwork Ġaddress " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠFrom String Parameter ( source Address Type ParameterName , Ġ" Network ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue Ġ= Ġdefault Network Type ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpredefined Answers Ġ= Ġallowed Network Types ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" src Virtual Network ", Ġreference < Virtual Network >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġschema . property Description < Address Type >(" virtual _ network ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠFrom String Parameter ( source Virtual Network Type , Ġ" reference ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" src Network Policy ", Ġreference < Network Policy >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġschema . property Description < Address Type >(" network - policy ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠFrom String Parameter ( source Address Type ParameterName , Ġ" Policy ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" src SecurityGroup ", Ġreference < SecurityGroup >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġschema . property Description < Address Type >(" security - group ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠFrom String Parameter ( source Address Type ParameterName , Ġ" Security ĠGroup ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" src Ports ", Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġproperty Description < Policy Rule Type >( schema ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue Ġ= Ġdefault Port ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter ( destination Address Type ParameterName , Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Traffic ĠDestination " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue Ġ= Ġdefault Address Type ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpredefined Answers Ġ= Ġallowed Address Types ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" dst Subnet ", Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġschema . property Description < Address Type >(" subnet ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠFrom String Parameter ( destination Address Type ParameterName , Ġ" CIDR ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter ( destination Virtual Network Type , Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Type Ġof Ġdestination Ġnetwork Ġaddress " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠFrom String Parameter ( destination Address Type ParameterName , Ġ" Network ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue Ġ= Ġdefault Network Type ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpredefined Answers Ġ= Ġallowed Network Types ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" dst Virtual Network ", Ġreference < Virtual Network >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġschema . property Description < Address Type >(" virtual _ network ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠFrom String Parameter ( destination Virtual Network Type , Ġ" reference ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" dst Network Policy ", Ġreference < Network Policy >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġschema . property Description < Address Type >(" network - policy ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠFrom String Parameter ( destination Address Type ParameterName , Ġ" Policy ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" dst SecurityGroup ", Ġreference < SecurityGroup >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġschema . property Description < Address Type >(" security - group ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠFrom String Parameter ( destination Address Type ParameterName , Ġ" Security ĠGroup ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" dst Ports ", Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġproperty Description < Policy Rule Type >( schema ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue Ġ= Ġdefault Port ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġstep (" Advanced ĠOptions ") Ġ{ ĊĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠWhen NonNull ( visibility Dependency Field ) ĊĠĠĠĠĠĠĠ Ġparameter (" log ", Ġboolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġproperty Description < Action ListType >( schema ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter ( define Services ParameterName , Ġboolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Services " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġparameter ( define Mirror ParameterName , Ġboolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Mirror " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġstep (" Services ") Ġ{ ĊĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠFrom Boolean Parameter ( define Services ParameterName ) ĊĠĠĠĠĠĠĠ Ġparameter (" services ", Ġarray ( reference < Service Instance > ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Service Ġinstances " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġstep (" Mirror ") Ġ{ ĊĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠFrom Boolean Parameter ( define Mirror ParameterName ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmirror Is Analyzer Instance Ġ= ĠFrom String Parameter ( mirror Type ParameterName , Ġ" Analyzer ĠInstance ") ĊĠĠĠĠĠĠĠ Ġval Ġmirror Is Analyzer Ip Ġ= ĠFrom String Parameter ( mirror Type ParameterName , Ġ" Analyzer ĠIP ") ĊĠĠĠĠĠĠĠ Ġval Ġmirror Is N ic Ass isted Ġ= ĠFrom String Parameter ( mirror Type ParameterName , Ġ" NIC ĠAss isted ") ĊĠĠĠĠĠĠĠ Ġval Ġj uni per Header Is Disabled Ġ= ĠFrom String Parameter (" mirror J uni per Header ", Ġ" disabled ") ĊĠĠĠĠĠĠĠ Ġval Ġnext Hop Mode Is Static Ġ= ĠFrom String Parameter (" mirror N ex th op Mode ", Ġ" static ") ĊĊĠĠĠĠĠĠĠ Ġparameter ( mirror Type ParameterName , Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Mirror ĠType " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue Ġ= Ġdefault Mirror Type ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpredefined Answers Ġ= Ġallowed Mirror Types ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" mirror Analyzer Instance ", Ġreference < Service Instance >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Analyzer ĠInstance " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġmirror Is Analyzer Instance ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" mirror Analyzer Name ", Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Analyzer ĠName " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġmirror Is N ic Ass isted Ġor Ġmirror Is Analyzer Ip ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" mirror N ic Ass isted Vlan ", Ġnumber ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" NIC ĠAss isted ĠVL AN " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmax Ġ= Ġ 4 0 9 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġmirror Is N ic Ass isted ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" mirror Analyzer IP ", Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Analyzer ĠIP " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġmirror Is Analyzer Ip ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" mirror Analyzer Mac ", Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Analyzer ĠMAC " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġmirror Is Analyzer Ip ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" mirror Udp Port ", Ġnumber ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" UDP ĠPort " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġmirror Is Analyzer Ip ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" mirror J uni per Header ", Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" J uni per ĠHeader " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue Ġ= Ġdefault J uni per Header Option ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpredefined Answers Ġ= Ġallowed J uni per Header Options ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġmirror Is Analyzer Ip ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" mirror Routing Instance ", Ġreference < Virtual Network >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Routing ĠInstance " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġmirror Is Analyzer Ip Ġand Ġj uni per Header Is Disabled ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" mirror N ex th op Mode ", Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" N ex th op ĠMode " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue Ġ= Ġdefault N ex th op Mode ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpredefined Answers Ġ= Ġallowed N ex th op Modes ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġmirror Is Analyzer Ip ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" mirror V te p Dest Ip ", Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" V TE P ĠDest ĠIP " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġmirror Is Analyzer Ip Ġand Ġnext Hop Mode Is Static ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" mirror V te p Dest Mac ", Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" V TE P ĠDest ĠMAC " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġmirror Is Analyzer Ip Ġand Ġnext Hop Mode Is Static ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter (" mirror V ni ", Ġnumber ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Vx LAN ĠID " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġmirror Is Analyzer Ip Ġand Ġnext Hop Mode Is Static ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( load Current Values ) Ġdata Binding Ġ= Ġrule Property Data Binding () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġfun Ġremove Policy Rule Workflow ( schema : ĠSchema ): ĠWorkflow Definition Ġ= ĊĠĠĠ Ġcustom Workflow < Network Policy >( remove Rule From Network Policy Workflow Name ). with Script File (" remove Rule From Policy ") Ġ{ ĊĠĠĠĠĠĠĠ Ġparameter ( item , Ġreference < Network Policy >()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġrelation Description < Project , ĠNetwork Policy >( schema ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġparameter ( rule , Ġstring ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠWhen NonNull ( item ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Rule Ġto Ġremove " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmandatory Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpredefined Answers From Ġ= Ġaction Call To ( network Policy Rules ). parameter ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}