public override void ExecuteApiManagementCmdlet()
        {
            string resourceGroupName;
            string serviceName;
            string gatewayId;

            if (ParameterSetName.Equals(ByInputObjectParameterSet))
            {
                resourceGroupName = InputObject.ResourceGroupName;
                serviceName       = InputObject.ServiceName;
                gatewayId         = InputObject.GatewayId;
            }
            else if (ParameterSetName.Equals(ByResourceIdParameterSet))
            {
                var gateway = new PsApiManagementGateway(ResourceId);
                resourceGroupName = gateway.ResourceGroupName;
                serviceName       = gateway.ServiceName;
                gatewayId         = gateway.GatewayId;
            }
            else
            {
                resourceGroupName = Context.ResourceGroupName;
                serviceName       = Context.ServiceName;
                gatewayId         = GatewayId;
            }

            var actionDescription = string.Format(CultureInfo.CurrentCulture, Resources.GatewayRemoveDescription, gatewayId);
            var actionWarning     = string.Format(CultureInfo.CurrentCulture, Resources.GatewayRemoveWarning, gatewayId);

            // Do nothing if force is not specified and user cancelled the operation
            if (!ShouldProcess(
                    actionDescription,
                    actionWarning,
                    Resources.ShouldProcessCaption))
            {
                return;
            }

            Client.GatewayRemove(resourceGroupName, serviceName, gatewayId);

            if (PassThru.IsPresent)
            {
                WriteObject(true);
            }
        }
        public override void ExecuteApiManagementCmdlet()
        {
            string resourceGroupName;
            string serviceName;
            string gatewayId;

            if (ParameterSetName.Equals(ByInputObjectParameterSet))
            {
                resourceGroupName = InputObject.ResourceGroupName;
                serviceName       = InputObject.ServiceName;
                gatewayId         = InputObject.GatewayId;
            }
            else if (ParameterSetName.Equals(ExpandedParameterSet))
            {
                resourceGroupName = Context.ResourceGroupName;
                serviceName       = Context.ServiceName;
                gatewayId         = GatewayId;
            }
            else
            {
                var gateway = new PsApiManagementGateway(ResourceId);
                resourceGroupName = gateway.ResourceGroupName;
                serviceName       = gateway.ServiceName;
                gatewayId         = gateway.GatewayId;
            }


            if (ShouldProcess(GatewayId, Resources.SetGateway))
            {
                Client.GatewaySet(resourceGroupName, serviceName, gatewayId, Description, LocationData, InputObject);

                if (PassThru)
                {
                    var @gateway = Client.GatewayById(resourceGroupName, serviceName, gatewayId);
                    WriteObject(@gateway);
                }
            }
        }