public override void ExecuteCmdlet()
        {
            //Get Namespace Authorization Rule
            if (ParameterSetName == NamespaceAuthoRuleParameterSet)
            {
                if (!string.IsNullOrEmpty(Name))
                {
                    // Get a Namespace AuthorizationRule
                    PSAuthorizationRuleAttributes authRule = Client.GetNamespaceAuthorizationRule(ResourceGroupName, Namespace, Name);
                    WriteObject(authRule);
                }
                else
                {
                    // Get all Namespace AuthorizationRules
                    IEnumerable <PSAuthorizationRuleAttributes> authRuleList = Client.ListNamespaceAuthorizationRules(ResourceGroupName, Namespace);
                    WriteObject(authRuleList, true);
                }
            }


            // Get WcfRelay authorizationRule
            if (ParameterSetName == WcfRelayAuthoRuleParameterSet)
            {
                if (!string.IsNullOrEmpty(Name))
                {
                    // Get a WcfRelay AuthorizationRule
                    PSAuthorizationRuleAttributes authRule = Client.GetWcfRelayAuthorizationRules(ResourceGroupName, Namespace, WcfRelay, Name);
                    WriteObject(authRule);
                }
                else
                {
                    // Get all WcfRelay AuthorizationRules
                    IEnumerable <PSAuthorizationRuleAttributes> authRuleList = Client.ListWcfRelayAuthorizationRules(ResourceGroupName, Namespace, WcfRelay);
                    WriteObject(authRuleList, true);
                }
            }

            // Get HybridConnection authorizationRule
            if (ParameterSetName == HybridConnectionAuthoRuleParameterSet)
            {
                if (!string.IsNullOrEmpty(Name))
                {
                    // Get a HybridConnection AuthorizationRule
                    PSAuthorizationRuleAttributes authRule = Client.GetHybridConnectionsAuthorizationRules(ResourceGroupName, Namespace, HybridConnection, Name);
                    WriteObject(authRule);
                }
                else
                {
                    // Get all HybridConnection AuthorizationRules
                    IEnumerable <PSAuthorizationRuleAttributes> authRuleList = Client.ListHybridConnectionsAuthorizationRules(ResourceGroupName, Namespace, HybridConnection);
                    WriteObject(authRuleList, true);
                }
            }
        }
        public override void ExecuteCmdlet()
        {
            PSAuthorizationRuleAttributes sasRule = new PSAuthorizationRuleAttributes();

            if (InputObject != null)
            {
                sasRule = InputObject;
            }
            else
            {
                sasRule.Rights = new List <string>();
                if (Rights != null && Rights.Length > 0)
                {
                    foreach (string test in Rights)
                    {
                        sasRule.Rights.Add(test);
                    }
                }
            }

            // update Namespace Authorization Rule
            if (ParameterSetName == NamespaceAuthoRuleParameterSet)
            {
                if (ShouldProcess(target: sasRule.Name, action: string.Format(Resources.UpdateNamespaceAuthorizationrule, Name, Namespace)))
                {
                    WriteObject(Client.CreateOrUpdateNamespaceAuthorizationRules(ResourceGroupName, Namespace, Name, sasRule));
                }
            }


            // Update WcfRelay authorizationRule
            if (ParameterSetName == WcfRelayAuthoRuleParameterSet)
            {
                if (ShouldProcess(target: sasRule.Name, action: string.Format(Resources.UpdateWcfRelayAuthorizationrule, Name, WcfRelay)))
                {
                    WriteObject(Client.CreateOrUpdateWcfRelayAuthorizationRules(ResourceGroupName, Namespace, WcfRelay, Name, sasRule));
                }
            }

            // Update HybridConnection authorizationRule
            if (ParameterSetName == HybridConnectionAuthoRuleParameterSet)
            {
                if (ShouldProcess(target: sasRule.Name, action: string.Format(Resources.UpdateHybirdconnectionAuthorizationrule, Name, HybridConnection)))
                {
                    WriteObject(Client.CreateOrUpdateHybridConnectionsAuthorizationRules(ResourceGroupName, Namespace, HybridConnection, Name, sasRule));
                }
            }
        }
        public PSAuthorizationRuleAttributes CreateOrUpdateHybridConnectionsAuthorizationRules(string resourceGroupName, string namespaceName, string hybridConnectionsName, string authorizationRuleName, PSAuthorizationRuleAttributes parameters)
        {
            var parameter1 = new AuthorizationRule()
            {
                Rights = parameters.Rights.Select(x => Enum.Parse(typeof(AccessRights), x))
                         .Cast <AccessRights?>()
                         .ToList()
            };


            var response = Client.HybridConnections.CreateOrUpdateAuthorizationRule(resourceGroupName, namespaceName, hybridConnectionsName, authorizationRuleName, parameter1);

            return(new PSAuthorizationRuleAttributes(response));
        }