/// <summary> /// <para>Returns descriptions for existing environments.</para> /// </summary> /// /// <param name="describeEnvironmentsRequest">Container for the necessary parameters to execute the DescribeEnvironments service method on /// AmazonElasticBeanstalk.</param> /// /// <returns>The response from the DescribeEnvironments service method, as returned by AmazonElasticBeanstalk.</returns> /// public DescribeEnvironmentsResponse DescribeEnvironments(DescribeEnvironmentsRequest describeEnvironmentsRequest) { IRequest <DescribeEnvironmentsRequest> request = new DescribeEnvironmentsRequestMarshaller().Marshall(describeEnvironmentsRequest); DescribeEnvironmentsResponse response = Invoke <DescribeEnvironmentsRequest, DescribeEnvironmentsResponse> (request, this.signer, DescribeEnvironmentsResponseUnmarshaller.GetInstance()); return(response); }
public async Task <List <EnvironmentDescription> > ListOfElasticBeanstalkEnvironments(string?applicationName) { var beanstalkClient = _awsClientFactory.GetAWSClient <IAmazonElasticBeanstalk>(); var environments = new List <EnvironmentDescription>(); if (string.IsNullOrEmpty(applicationName)) { return(environments); } var request = new DescribeEnvironmentsRequest { ApplicationName = applicationName }; do { var response = await beanstalkClient.DescribeEnvironmentsAsync(request); request.NextToken = response.NextToken; environments.AddRange(response.Environments); } while (!string.IsNullOrEmpty(request.NextToken)); return(environments); }
/// <summary> /// Gets information about AWS Cloud9 development environments. /// </summary> /// <param name="request">Container for the necessary parameters to execute the DescribeEnvironments service method.</param> /// /// <returns>The response from the DescribeEnvironments service method, as returned by Cloud9.</returns> /// <exception cref="Amazon.Cloud9.Model.BadRequestException"> /// The target request is invalid. /// </exception> /// <exception cref="Amazon.Cloud9.Model.ConflictException"> /// A conflict occurred. /// </exception> /// <exception cref="Amazon.Cloud9.Model.ForbiddenException"> /// An access permissions issue occurred. /// </exception> /// <exception cref="Amazon.Cloud9.Model.InternalServerErrorException"> /// An internal server error occurred. /// </exception> /// <exception cref="Amazon.Cloud9.Model.LimitExceededException"> /// A service limit was exceeded. /// </exception> /// <exception cref="Amazon.Cloud9.Model.NotFoundException"> /// The target resource cannot be found. /// </exception> /// <exception cref="Amazon.Cloud9.Model.TooManyRequestsException"> /// Too many service requests were made over the given time period. /// </exception> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironments">REST API Reference for DescribeEnvironments Operation</seealso> public virtual DescribeEnvironmentsResponse DescribeEnvironments(DescribeEnvironmentsRequest request) { var marshaller = DescribeEnvironmentsRequestMarshaller.Instance; var unmarshaller = DescribeEnvironmentsResponseUnmarshaller.Instance; return(Invoke <DescribeEnvironmentsRequest, DescribeEnvironmentsResponse>(request, marshaller, unmarshaller)); }
/// <summary> /// Initiates the asynchronous execution of the DescribeEnvironments operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the DescribeEnvironments 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> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironments">REST API Reference for DescribeEnvironments Operation</seealso> public virtual Task <DescribeEnvironmentsResponse> DescribeEnvironmentsAsync(DescribeEnvironmentsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = DescribeEnvironmentsRequestMarshaller.Instance; var unmarshaller = DescribeEnvironmentsResponseUnmarshaller.Instance; return(InvokeAsync <DescribeEnvironmentsRequest, DescribeEnvironmentsResponse>(request, marshaller, unmarshaller, cancellationToken)); }
internal virtual DescribeEnvironmentsResponse DescribeEnvironments(DescribeEnvironmentsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeEnvironmentsRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeEnvironmentsResponseUnmarshaller.Instance; return(Invoke <DescribeEnvironmentsResponse>(request, options)); }
// GET: Beanstalk public async Task <ActionResult> Index() { DescribeEnvironmentsResponse environmentsDescription; var activeEnvironmentsTask = this.clientRepository.GetActiveEnvironments(); using (AmazonElasticBeanstalkClient client = new AmazonElasticBeanstalkClient(RegionEndpoint.EUWest1)) { DescribeEnvironmentsRequest request = new DescribeEnvironmentsRequest(); environmentsDescription = await client.DescribeEnvironmentsAsync(request); } var environments = environmentsDescription.Environments; environments.RemoveAll(x => x.Status == EnvironmentStatus.Terminated || x.Status == EnvironmentStatus.Terminating); var activeEnvironments = await activeEnvironmentsTask; BeanstalkGroupViewModel[] viewModels = new BeanstalkGroupViewModel[HomeController.BeanstalkGroups.Length + 1]; for (int i = 0; i < HomeController.BeanstalkGroups.Length; i++) { viewModels[i] = new BeanstalkGroupViewModel(HomeController.BeanstalkGroups[i]); for (int j = environments.Count - 1; j >= 0; j--) { if (environments[j].EnvironmentName.StartsWith(HomeController.BeanstalkGroups[i], StringComparison.OrdinalIgnoreCase)) { // add something var obj = Convert(environments[j]); obj.HasBeanpole = activeEnvironments.ContainsKey(obj.EnvironmentName); viewModels[i].Environments.Add(obj); environments.RemoveAt(j); } } } var unknownGroup = new BeanstalkGroupViewModel("Unknown"); for (int i = 0; i < environments.Count; i++) { unknownGroup.Environments.Add(Convert(environments[i])); } viewModels[viewModels.Length - 1] = unknownGroup; for (int i = 0; i < viewModels.Length; i++) { viewModels[i].Environments.Sort((x, y) => StringComparer.OrdinalIgnoreCase.Compare(x.EnvironmentName, y.EnvironmentName)); } return(View(viewModels)); }
/// <summary> /// 获取租户下环境列表 /// </summary> /// <param name="req"><see cref="DescribeEnvironmentsRequest"/></param> /// <returns><see cref="DescribeEnvironmentsResponse"/></returns> public DescribeEnvironmentsResponse DescribeEnvironmentsSync(DescribeEnvironmentsRequest req) { JsonResponseModel <DescribeEnvironmentsResponse> rsp = null; try { var strResp = this.InternalRequestSync(req, "DescribeEnvironments"); rsp = JsonConvert.DeserializeObject <JsonResponseModel <DescribeEnvironmentsResponse> >(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return(rsp.Response); }
public async Task<List<EnvironmentDescription>> ListOfElasticBeanstalkEnvironments(OrchestratorSession session, string applicationName) { var beanstalkClient = _awsClientFactory.GetAWSClient<IAmazonElasticBeanstalk>(session.AWSCredentials, session.AWSRegion); var environments = new List<EnvironmentDescription>(); var request = new DescribeEnvironmentsRequest { ApplicationName = applicationName }; do { var response = await beanstalkClient.DescribeEnvironmentsAsync(request); request.NextToken = response.NextToken; environments.AddRange(response.Environments); } while (!string.IsNullOrEmpty(request.NextToken)); return environments; }
public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems) { AmazonElasticBeanstalkConfig config = new AmazonElasticBeanstalkConfig(); config.RegionEndpoint = region; ConfigureClient(config); AmazonElasticBeanstalkClient client = new AmazonElasticBeanstalkClient(creds, config); DescribeEnvironmentsResponse resp = new DescribeEnvironmentsResponse(); DescribeEnvironmentsRequest req = new DescribeEnvironmentsRequest { }; resp = client.DescribeEnvironments(req); CheckError(resp.HttpStatusCode, "200"); foreach (var obj in resp.Environments) { AddObject(obj); } }
private async Task <bool> DoesEnvironmentExist(string applicationName, string environmentName) { var request = new DescribeEnvironmentsRequest { ApplicationName = applicationName }; request.EnvironmentNames.Add(environmentName); var response = await this.EBClient.DescribeEnvironmentsAsync(request); if (response.Environments.Where(x => x.Status != EnvironmentStatus.Terminated && x.Status != EnvironmentStatus.Terminating).Count() != 1) { return(false); } var environment = response.Environments[0]; if (environment.Status == EnvironmentStatus.Terminated || environment.Status == EnvironmentStatus.Terminating) { return(false); } return(true); }
private async Task <bool> WaitForDeploymentCompletionAsync(string applicationName, string environmentName, DateTime startingEventDate) { var requestEnvironment = new DescribeEnvironmentsRequest { ApplicationName = applicationName, EnvironmentNames = new List <string> { environmentName } }; var requestEvents = new DescribeEventsRequest { ApplicationName = applicationName, EnvironmentName = environmentName, StartTime = startingEventDate }; var success = true; var lastPrintedEventDate = startingEventDate; EnvironmentDescription environment = new EnvironmentDescription(); do { Thread.Sleep(5000); var responseEnvironments = await this.EBClient.DescribeEnvironmentsAsync(requestEnvironment); if (responseEnvironments.Environments.Count == 0) { throw new ElasticBeanstalkExceptions("Failed to find environment when waiting for deployment completion", ElasticBeanstalkExceptions.EBCode.FailedToFindEnvironment); } environment = responseEnvironments.Environments[0]; requestEvents.StartTime = lastPrintedEventDate; var responseEvents = await this.EBClient.DescribeEventsAsync(requestEvents); if (responseEvents.Events.Count > 0) { for (int i = responseEvents.Events.Count - 1; i >= 0; i--) { var evnt = responseEvents.Events[i]; if (evnt.EventDate <= lastPrintedEventDate) { continue; } this.Logger?.WriteLine(evnt.EventDate.ToLocalTime() + " " + evnt.Severity + " " + evnt.Message); if (evnt.Message.StartsWith("Failed to deploy application", StringComparison.OrdinalIgnoreCase) || evnt.Message.StartsWith("Failed to launch environment", StringComparison.OrdinalIgnoreCase) || evnt.Message.StartsWith("Error occurred during build: Command hooks failed", StringComparison.OrdinalIgnoreCase)) { success = false; } } lastPrintedEventDate = responseEvents.Events[0].EventDate; } } while (environment.Status == EnvironmentStatus.Launching || environment.Status == EnvironmentStatus.Updating); if (success) { this.Logger?.WriteLine("Environment update complete: http://{0}/", environment.EndpointURL); } return(success); }