public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems) { AmazonDevOpsGuruConfig config = new AmazonDevOpsGuruConfig(); config.RegionEndpoint = region; ConfigureClient(config); AmazonDevOpsGuruClient client = new AmazonDevOpsGuruClient(creds, config); ListNotificationChannelsResponse resp = new ListNotificationChannelsResponse(); do { ListNotificationChannelsRequest req = new ListNotificationChannelsRequest { NextToken = resp.NextToken }; resp = client.ListNotificationChannels(req); CheckError(resp.HttpStatusCode, "200"); foreach (var obj in resp.Channels) { AddObject(obj); } }while (!string.IsNullOrEmpty(resp.NextToken)); }
/// <summary>Snippet for ListNotificationChannelsAsync</summary> public async Task ListNotificationChannelsAsync_RequestObject() { // Snippet: ListNotificationChannelsAsync(ListNotificationChannelsRequest,CallSettings) // Create client NotificationChannelServiceClient notificationChannelServiceClient = await NotificationChannelServiceClient.CreateAsync(); // Initialize request argument(s) ListNotificationChannelsRequest request = new ListNotificationChannelsRequest { ProjectName = new ProjectName("[PROJECT]"), }; // Make the request PagedAsyncEnumerable <ListNotificationChannelsResponse, NotificationChannel> response = notificationChannelServiceClient.ListNotificationChannelsAsync(request); // Iterate over all response items, lazily performing RPCs as required await response.ForEachAsync((NotificationChannel item) => { // Do something with each item Console.WriteLine(item); }); // Or iterate over pages (of server-defined size), performing one RPC per page await response.AsRawResponses().ForEachAsync((ListNotificationChannelsResponse page) => { // Do something with each page of items Console.WriteLine("A page of results:"); foreach (NotificationChannel item in page) { Console.WriteLine(item); } }); // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required int pageSize = 10; Page <NotificationChannel> singlePage = await response.ReadPageAsync(pageSize); // Do something with the page of items Console.WriteLine($"A page of {pageSize} results (unless it's the final page):"); foreach (NotificationChannel item in singlePage) { Console.WriteLine(item); } // Store the pageToken, for when the next page is required. string nextPageToken = singlePage.NextPageToken; // End snippet }