public static PSVirtualNetworkRule Create(CognitiveServicesModels.VirtualNetworkRule virtualNetworkRule)
        {
            var result = new PSVirtualNetworkRule();

            result.Id    = virtualNetworkRule.Id;
            result.State = virtualNetworkRule.State;
            result.IgnoreMissingVnetServiceEndpoint = virtualNetworkRule.IgnoreMissingVnetServiceEndpoint == null?true:virtualNetworkRule.IgnoreMissingVnetServiceEndpoint.Value;
            return(result);
        }
        public static PSNetworkRuleSet Create(CognitiveServicesModels.NetworkRuleSet networkRuleSet)
        {
            var result = new PSNetworkRuleSet();

            if (networkRuleSet.DefaultAction != null)
            {
                result.DefaultAction = (PSNetWorkRuleDefaultActionEnum)Enum.Parse(typeof(PSNetWorkRuleDefaultActionEnum), networkRuleSet.DefaultAction);
            }
            else
            {
                result.DefaultAction = PSNetWorkRuleDefaultActionEnum.Deny;
            }


            var ipRules = new List <PSIpRule>();

            if (networkRuleSet.IpRules != null)
            {
                foreach (var ipRule in networkRuleSet.IpRules)
                {
                    ipRules.Add(PSIpRule.Create(ipRule));
                }
            }
            result.IpRules = ipRules.ToArray();

            var virtualNetworkRules = new List <PSVirtualNetworkRule>();

            if (networkRuleSet.VirtualNetworkRules != null)
            {
                foreach (var virtualNetworkRule in networkRuleSet.VirtualNetworkRules)
                {
                    virtualNetworkRules.Add(PSVirtualNetworkRule.Create(virtualNetworkRule));
                }
            }
            result.VirtualNetworkRules = virtualNetworkRules.ToArray();

            return(result);
        }