/// <summary> /// Retrieves the CloudWatch alarm history for the alarm name passed /// to the method. /// </summary> /// <param name="client">An initialized CloudWatch client object.</param> /// <param name="alarmName">The CloudWatch alarm for which to retrieve /// history information.</param> public static async Task DescribeAlarmHistoriesAsync(IAmazonCloudWatch client, string alarmName) { var request = new DescribeAlarmHistoryRequest { AlarmName = "ALARM_NAME", EndDateUtc = DateTime.Today, HistoryItemType = HistoryItemType.Action, MaxRecords = 1, StartDateUtc = DateTime.Today.Subtract(TimeSpan.FromDays(30)), }; var response = new DescribeAlarmHistoryResponse(); do { response = await client.DescribeAlarmHistoryAsync(request); foreach (var item in response.AlarmHistoryItems) { Console.WriteLine(item.AlarmName); Console.WriteLine(item.HistorySummary); Console.WriteLine(); } request.NextToken = response.NextToken; } while (!string.IsNullOrEmpty(response.NextToken)); }
async IAsyncEnumerable <DescribeAlarmHistoryResponse> IPaginator <DescribeAlarmHistoryResponse> .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; DescribeAlarmHistoryResponse response; do { _request.NextToken = nextToken; response = await _client.DescribeAlarmHistoryAsync(_request, cancellationToken).ConfigureAwait(false); nextToken = response.NextToken; cancellationToken.ThrowIfCancellationRequested(); yield return(response); }while (nextToken != null); }
private Amazon.CloudWatch.Model.DescribeAlarmHistoryResponse CallAWSServiceOperation(IAmazonCloudWatch client, Amazon.CloudWatch.Model.DescribeAlarmHistoryRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon CloudWatch", "DescribeAlarmHistory"); try { #if DESKTOP return(client.DescribeAlarmHistory(request)); #elif CORECLR return(client.DescribeAlarmHistoryAsync(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; } }