private Amazon.WAF.Model.GetRateBasedRuleManagedKeysResponse CallAWSServiceOperation(IAmazonWAF client, Amazon.WAF.Model.GetRateBasedRuleManagedKeysRequest request)
 {
     Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS WAF", "GetRateBasedRuleManagedKeys");
     try
     {
         #if DESKTOP
         return client.GetRateBasedRuleManagedKeys(request);
         #elif CORECLR
         return client.GetRateBasedRuleManagedKeysAsync(request).GetAwaiter().GetResult();
         #else
                 #error "Unknown build edition"
         #endif
     }
     catch (AmazonServiceException exc)
     {
         var webException = exc.InnerException as System.Net.WebException;
         if (webException != null)
         {
             throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException);
         }
         throw;
     }
 }
 public object Execute(ExecutorContext context)
 {
     var cmdletContext = context as CmdletContext;
     #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute
     var useParameterSelect = this.Select.StartsWith("^") || this.PassThru.IsPresent;
     #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute
     
     // create request and set iteration invariants
     var request = new Amazon.WAF.Model.GetRateBasedRuleManagedKeysRequest();
     
     if (cmdletContext.RuleId != null)
     {
         request.RuleId = cmdletContext.RuleId;
     }
     
     // Initialize loop variant and commence piping
     var _nextToken = cmdletContext.NextMarker;
     var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.NextMarker));
     
     var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint);
     do
     {
         request.NextMarker = _nextToken;
         
         CmdletOutput output;
         
         try
         {
             
             var response = CallAWSServiceOperation(client, request);
             
             object pipelineOutput = null;
             if (!useParameterSelect)
             {
                 pipelineOutput = cmdletContext.Select(response, this);
             }
             output = new CmdletOutput
             {
                 PipelineOutput = pipelineOutput,
                 ServiceResponse = response
             };
             
             _nextToken = response.NextMarker;
         }
         catch (Exception e)
         {
             output = new CmdletOutput { ErrorResponse = e };
         }
         
         ProcessOutput(output);
         
     } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken));
     
     if (useParameterSelect)
     {
         WriteObject(cmdletContext.Select(null, this));
     }
     
     
     return null;
 }