Esempio n. 1
0
        async IAsyncEnumerable <ListStateMachinesResponse> IPaginator <ListStateMachinesResponse> .PaginateAsync(CancellationToken cancellationToken = default)
        {
            if (Interlocked.Exchange(ref _isPaginatorInUse, 1) != 0)
            {
                throw new System.InvalidOperationException("Paginator has already been consumed and cannot be reused. Please create a new instance.");
            }
            var nextToken = _request.NextToken;
            ListStateMachinesResponse response;

            do
            {
                _request.NextToken = nextToken;
                response           = await _client.ListStateMachinesAsync(_request, cancellationToken).ConfigureAwait(false);

                nextToken = response.NextToken;
                cancellationToken.ThrowIfCancellationRequested();
                yield return(response);
            }while (nextToken != null);
        }
        protected override async Task <IEnumerable <StateMachineListItem> > FetchResources()
        {
            var    results = new List <IEnumerable <StateMachineListItem> >();
            string marker  = null;

            do
            {
                var response = await _amazonStepFunctions.ListStateMachinesAsync(
                    new ListStateMachinesRequest
                {
                    NextToken = marker
                });

                results.Add(response.StateMachines);
                marker = response.NextToken;
            }while (!string.IsNullOrEmpty(marker));

            return(results.SelectMany(x => x).ToList());
        }
 private Amazon.StepFunctions.Model.ListStateMachinesResponse CallAWSServiceOperation(IAmazonStepFunctions client, Amazon.StepFunctions.Model.ListStateMachinesRequest request)
 {
     Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Step Functions", "ListStateMachines");
     try
     {
         #if DESKTOP
         return(client.ListStateMachines(request));
         #elif CORECLR
         return(client.ListStateMachinesAsync(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;
     }
 }