/// <summary> /// Initiates the asynchronous execution of the ListStacks operation. /// <seealso cref="Amazon.CloudFormation.IAmazonCloudFormation.ListStacks"/> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the ListStacks operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public Task <ListStacksResponse> ListStacksAsync(ListStacksRequest request, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new ListStacksRequestMarshaller(); var unmarshaller = ListStacksResponseUnmarshaller.GetInstance(); return(Invoke <IRequest, ListStacksRequest, ListStacksResponse>(request, marshaller, unmarshaller, signer, cancellationToken)); }
internal ListStacksResponse ListStacks(ListStacksRequest request) { var marshaller = new ListStacksRequestMarshaller(); var unmarshaller = ListStacksResponseUnmarshaller.Instance; return(Invoke <ListStacksRequest, ListStacksResponse>(request, marshaller, unmarshaller)); }
/// <summary> /// <para> Returns the summary information for stacks whose status matches the specified StackStatusFilter. Summary information for stacks that /// have been deleted is kept for 90 days after the stack is deleted. If no StackStatusFilter is specified, summary information for all stacks /// is returned (including existing stacks and stacks that have been deleted). </para> /// </summary> /// /// <param name="listStacksRequest">Container for the necessary parameters to execute the ListStacks service method on /// AmazonCloudFormation.</param> /// /// <returns>The response from the ListStacks service method, as returned by AmazonCloudFormation.</returns> /// public ListStacksResponse ListStacks(ListStacksRequest listStacksRequest) { IRequest <ListStacksRequest> request = new ListStacksRequestMarshaller().Marshall(listStacksRequest); ListStacksResponse response = Invoke <ListStacksRequest, ListStacksResponse> (request, this.signer, ListStacksResponseUnmarshaller.GetInstance()); return(response); }
protected override void ProcessRecord() { base.ProcessRecord(); ListStacksRequest request; try { request = new ListStacksRequest { OpcRequestId = OpcRequestId, CompartmentId = CompartmentId, Id = Id, LifecycleState = LifecycleState, DisplayName = DisplayName, SortBy = SortBy, SortOrder = SortOrder, Limit = Limit, Page = Page }; IEnumerable <ListStacksResponse> responses = GetRequestDelegate().Invoke(request); foreach (var item in responses) { response = item; WriteOutput(response, response.Items, true); } FinishProcessing(response); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }
public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems) { AmazonCloudFormationConfig config = new AmazonCloudFormationConfig(); config.RegionEndpoint = region; ConfigureClient(config); AmazonCloudFormationClient client = new AmazonCloudFormationClient(creds, config); ListStacksResponse resp = new ListStacksResponse(); do { ListStacksRequest req = new ListStacksRequest { NextToken = resp.NextToken }; resp = client.ListStacks(req); CheckError(resp.HttpStatusCode, "200"); foreach (var obj in resp.StackSummaries) { AddObject(obj); } }while (!string.IsNullOrEmpty(resp.NextToken)); }
public static List <Stack> GetActiveStacks() { AmazonCloudFormationClient client = new AmazonCloudFormationClient(RegionEndpoint.USEast1); ListStacksRequest listStacksRequest = new ListStacksRequest(); listStacksRequest.StackStatusFilter.Add("CREATE_IN_PROGRESS"); listStacksRequest.StackStatusFilter.Add("CREATE_FAILED"); listStacksRequest.StackStatusFilter.Add("CREATE_COMPLETE"); listStacksRequest.StackStatusFilter.Add("ROLLBACK_IN_PROGRESS"); listStacksRequest.StackStatusFilter.Add("ROLLBACK_FAILED"); listStacksRequest.StackStatusFilter.Add("ROLLBACK_COMPLETE"); listStacksRequest.StackStatusFilter.Add("DELETE_IN_PROGRESS"); listStacksRequest.StackStatusFilter.Add("DELETE_FAILED"); listStacksRequest.StackStatusFilter.Add("UPDATE_IN_PROGRESS"); listStacksRequest.StackStatusFilter.Add("UPDATE_COMPLETE_CLEANUP_IN_PROGRESS"); listStacksRequest.StackStatusFilter.Add("UPDATE_COMPLETE"); listStacksRequest.StackStatusFilter.Add("UPDATE_ROLLBACK_IN_PROGRESS"); listStacksRequest.StackStatusFilter.Add("UPDATE_ROLLBACK_FAILED"); listStacksRequest.StackStatusFilter.Add("UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS"); listStacksRequest.StackStatusFilter.Add("UPDATE_ROLLBACK_COMPLETE"); var response = client.ListStacks(listStacksRequest); List <Stack> returnValue = new List <Stack>(); response.StackSummaries.ForEach(s => returnValue.Add(new Stack(s.StackName))); return(returnValue); }
/// <summary> /// Initiates the asynchronous execution of the ListStacks operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the ListStacks operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public Task <ListStacksResponse> ListStacksAsync(ListStacksRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new ListStacksRequestMarshaller(); var unmarshaller = ListStacksResponseUnmarshaller.Instance; return(InvokeAsync <ListStacksRequest, ListStacksResponse>(request, marshaller, unmarshaller, cancellationToken)); }
ListStacksResponse GetStackSummaries(string nextToken = null) { ListStacksResponse result = null; using (AmazonCloudFormationClient CFclient = new AmazonCloudFormationClient()) { ListStacksRequest rq = new ListStacksRequest(); rq.NextToken = nextToken; result = CFclient.ListStacks(rq); } return(result); }
/// <summary> /// <para>Returns the summary information for stacks whose status matches the specified StackStatusFilter. Summary information for stacks that /// have been deleted is kept for 90 days after the stack is deleted. If no StackStatusFilter is specified, summary information for all stacks /// is returned (including existing stacks and stacks that have been deleted).</para> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the ListStacks service method on /// AmazonCloudFormation.</param> /// /// <returns>The response from the ListStacks service method, as returned by AmazonCloudFormation.</returns> public ListStacksResponse ListStacks(ListStacksRequest request) { var task = ListStacksAsync(request); try { return(task.Result); } catch (AggregateException e) { ExceptionDispatchInfo.Capture(e.InnerException).Throw(); return(null); } }
/// <summary> /// Creates a new enumerable which will iterate over the responses received from the ListStacks operation. This enumerable /// will fetch more data from the server as needed. /// </summary> /// <param name="request">The request object containing the details to send</param> /// <param name="retryConfiguration">The configuration for retrying, may be null</param> /// <param name="cancellationToken">The cancellation token object</param> /// <returns>The enumerator, which supports a simple iteration over a collection of a specified type</returns> public IEnumerable <ListStacksResponse> ListStacksResponseEnumerator(ListStacksRequest request, Common.Retry.RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default) { return(new Common.Utils.ResponseEnumerable <ListStacksRequest, ListStacksResponse>( response => response.OpcNextPage, input => { if (!string.IsNullOrEmpty(input)) { request.Page = input; } return request; }, request => client.ListStacks(request, retryConfiguration, cancellationToken) )); }
protected override void ProcessRecord() { base.ProcessRecord(); ListStacksRequest request; try { request = new ListStacksRequest { OpcRequestId = OpcRequestId, CompartmentId = CompartmentId, Id = Id, LifecycleState = LifecycleState, DisplayName = DisplayName, SortBy = SortBy, SortOrder = SortOrder, Limit = Limit, Page = Page }; IEnumerable <ListStacksResponse> responses = GetRequestDelegate().Invoke(request); foreach (var item in responses) { response = item; WriteOutput(response, response.Items, true); } if (!ParameterSetName.Equals(AllPageSet) && !ParameterSetName.Equals(LimitSet) && response.OpcNextPage != null) { WriteWarning("This operation supports pagination and not all resources were returned. Re-run using the -All option to auto paginate and list all resources."); } FinishProcessing(response); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }
private async Task List(string tier) { var cfClient = new AmazonCloudFormationClient(); var request = new ListStacksRequest { StackStatusFilter = new List <string> { "CREATE_IN_PROGRESS", "CREATE_FAILED", "CREATE_COMPLETE", "ROLLBACK_IN_PROGRESS", "ROLLBACK_FAILED", "ROLLBACK_COMPLETE", "DELETE_IN_PROGRESS", "DELETE_FAILED", // "DELETE_COMPLETE", "UPDATE_IN_PROGRESS", "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS", "UPDATE_COMPLETE", "UPDATE_ROLLBACK_IN_PROGRESS", "UPDATE_ROLLBACK_FAILED", "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS", "UPDATE_ROLLBACK_COMPLETE", "REVIEW_IN_PROGRESS" } }; // fetch all stacks var prefix = $"{tier}-"; var stacks = new List <StackSummary>(); do { var response = await cfClient.ListStacksAsync(request); stacks.AddRange(response.StackSummaries.Where(summary => summary.StackName.StartsWith(prefix, StringComparison.Ordinal))); request.NextToken = response.NextToken; } while(request.NextToken != null); // sort and format output if (stacks.Any()) { var moduleNameWidth = stacks.Max(stack => stack.StackName.Length) + 4 - prefix.Length; var statusWidth = stacks.Max(stack => stack.StackStatus.ToString().Length) + 4; Console.WriteLine(); Console.WriteLine($"{"MODULE".PadRight(moduleNameWidth)}{"STATUS".PadRight(statusWidth)}DATE"); foreach (var summary in stacks.Select(stack => new { ModuleName = stack.StackName.Substring(prefix.Length), StackStatus = stack.StackStatus, Date = (stack.LastUpdatedTime > stack.CreationTime) ? stack.LastUpdatedTime : stack.CreationTime }).OrderBy(summary => summary.Date)) { Console.WriteLine($"{summary.ModuleName.PadRight(moduleNameWidth)}{("[" + summary.StackStatus + "]").PadRight(statusWidth)}{summary.Date:yyyy-MM-dd HH:mm:ss}"); } Console.WriteLine(); Console.WriteLine($"Found {stacks.Count:N0} modules for deployment tier '{tier}'"); } else { Console.WriteLine(); Console.WriteLine($"Found no modules for deployment tier '{tier}'"); } }