/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.elasticbeanstalk; import javax.annotation.Generated; import com.amazonaws.*; import com.amazonaws.regions.*; import com.amazonaws.services.elasticbeanstalk.model.*; import com.amazonaws.services.elasticbeanstalk.waiters.AWSElasticBeanstalkWaiters; /** * Interface for accessing Elastic Beanstalk. *

* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.elasticbeanstalk.AbstractAWSElasticBeanstalk} instead. *

*

* AWS Elastic Beanstalk *

* AWS Elastic Beanstalk makes it easy for you to create, deploy, and manage scalable, fault-tolerant applications * running on the Amazon Web Services cloud. *

*

* For more information about this product, go to the AWS Elastic * Beanstalk details page. The location of the latest AWS Elastic Beanstalk WSDL is https://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl. To install the Software * Development Kits (SDKs), Integrated Development Environment (IDE) Toolkits, and command line tools that enable you to * access the API, go to Tools for Amazon Web Services. *

*

* Endpoints *

*

* For a list of region-specific endpoints that AWS Elastic Beanstalk supports, go to Regions and Endpoints in * the Amazon Web Services Glossary. *

*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AWSElasticBeanstalk { /** * The region metadata service name for computing region endpoints. You can use this value to retrieve metadata * (such as supported regions) of the service. * * @see RegionUtils#getRegionsForService(String) */ String ENDPOINT_PREFIX = "elasticbeanstalk"; /** * Overrides the default endpoint for this client ("https://elasticbeanstalk.us-east-1.amazonaws.com"). Callers can * use this method to control which AWS region they want to work with. *

* Callers can pass in just the endpoint (ex: "elasticbeanstalk.us-east-1.amazonaws.com") or a full URL, including * the protocol (ex: "https://elasticbeanstalk.us-east-1.amazonaws.com"). If the protocol is not specified here, the * default protocol from this client's {@link ClientConfiguration} will be used, which by default is HTTPS. *

* For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available * endpoints for all AWS services, see: https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-region-selection.html#region-selection- * choose-endpoint *

* This method is not threadsafe. An endpoint should be configured when the client is created and before any * service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in * transit or retrying. * * @param endpoint * The endpoint (ex: "elasticbeanstalk.us-east-1.amazonaws.com") or a full URL, including the protocol (ex: * "https://elasticbeanstalk.us-east-1.amazonaws.com") of the region specific AWS endpoint this client will * communicate with. * @deprecated use {@link AwsClientBuilder#setEndpointConfiguration(AwsClientBuilder.EndpointConfiguration)} for * example: * {@code builder.setEndpointConfiguration(new EndpointConfiguration(endpoint, signingRegion));} */ @Deprecated void setEndpoint(String endpoint); /** * An alternative to {@link AWSElasticBeanstalk#setEndpoint(String)}, sets the regional endpoint for this client's * service calls. Callers can use this method to control which AWS region they want to work with. *

* By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the * {@link ClientConfiguration} supplied at construction. *

* This method is not threadsafe. A region should be configured when the client is created and before any service * requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit * or retrying. * * @param region * The region this client will communicate with. See {@link Region#getRegion(com.amazonaws.regions.Regions)} * for accessing a given region. Must not be null and must be a region where the service is available. * * @see Region#getRegion(com.amazonaws.regions.Regions) * @see Region#createClient(Class, com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration) * @see Region#isServiceSupported(String) * @deprecated use {@link AwsClientBuilder#setRegion(String)} */ @Deprecated void setRegion(Region region); /** *

* Cancels in-progress environment configuration update or application version deployment. *

* * @param abortEnvironmentUpdateRequest * @return Result of the AbortEnvironmentUpdate operation returned by the service. * @throws InsufficientPrivilegesException * The specified account does not have sufficient privileges for one or more AWS services. * @sample AWSElasticBeanstalk.AbortEnvironmentUpdate * @see AWS API Documentation */ AbortEnvironmentUpdateResult abortEnvironmentUpdate(AbortEnvironmentUpdateRequest abortEnvironmentUpdateRequest); /** * Simplified method form for invoking the AbortEnvironmentUpdate operation. * * @see #abortEnvironmentUpdate(AbortEnvironmentUpdateRequest) */ AbortEnvironmentUpdateResult abortEnvironmentUpdate(); /** *

* Applies a scheduled managed action immediately. A managed action can be applied only if its status is * Scheduled. Get the status and action ID of a managed action with * DescribeEnvironmentManagedActions. *

* * @param applyEnvironmentManagedActionRequest * Request to execute a scheduled managed action immediately. * @return Result of the ApplyEnvironmentManagedAction operation returned by the service. * @throws ElasticBeanstalkServiceException * A generic service exception has occurred. * @throws ManagedActionInvalidStateException * Cannot modify the managed action in its current state. * @sample AWSElasticBeanstalk.ApplyEnvironmentManagedAction * @see AWS API Documentation */ ApplyEnvironmentManagedActionResult applyEnvironmentManagedAction(ApplyEnvironmentManagedActionRequest applyEnvironmentManagedActionRequest); /** *

* Add or change the operations role used by an environment. After this call is made, Elastic Beanstalk uses the * associated operations role for permissions to downstream services during subsequent calls acting on this * environment. For more information, see Operations roles in the * AWS Elastic Beanstalk Developer Guide. *

* * @param associateEnvironmentOperationsRoleRequest * Request to add or change the operations role used by an environment. * @return Result of the AssociateEnvironmentOperationsRole operation returned by the service. * @throws InsufficientPrivilegesException * The specified account does not have sufficient privileges for one or more AWS services. * @sample AWSElasticBeanstalk.AssociateEnvironmentOperationsRole * @see AWS API Documentation */ AssociateEnvironmentOperationsRoleResult associateEnvironmentOperationsRole( AssociateEnvironmentOperationsRoleRequest associateEnvironmentOperationsRoleRequest); /** *

* Checks if the specified CNAME is available. *

* * @param checkDNSAvailabilityRequest * Results message indicating whether a CNAME is available. * @return Result of the CheckDNSAvailability operation returned by the service. * @sample AWSElasticBeanstalk.CheckDNSAvailability * @see AWS API Documentation */ CheckDNSAvailabilityResult checkDNSAvailability(CheckDNSAvailabilityRequest checkDNSAvailabilityRequest); /** *

* Create or update a group of environments that each run a separate component of a single application. Takes a list * of version labels that specify application source bundles for each of the environments to create or update. The * name of each environment and other required information must be included in the source bundles in an environment * manifest named env.yaml. See Compose * Environments for details. *

* * @param composeEnvironmentsRequest * Request to create or update a group of environments. * @return Result of the ComposeEnvironments operation returned by the service. * @throws TooManyEnvironmentsException * The specified account has reached its limit of environments. * @throws InsufficientPrivilegesException * The specified account does not have sufficient privileges for one or more AWS services. * @sample AWSElasticBeanstalk.ComposeEnvironments * @see AWS API Documentation */ ComposeEnvironmentsResult composeEnvironments(ComposeEnvironmentsRequest composeEnvironmentsRequest); /** *

* Creates an application that has one configuration template named default and no application * versions. *

* * @param createApplicationRequest * Request to create an application. * @return Result of the CreateApplication operation returned by the service. * @throws TooManyApplicationsException * The specified account has reached its limit of applications. * @sample AWSElasticBeanstalk.CreateApplication * @see AWS API Documentation */ CreateApplicationResult createApplication(CreateApplicationRequest createApplicationRequest); /** *

* Creates an application version for the specified application. You can create an application version from a source * bundle in Amazon S3, a commit in AWS CodeCommit, or the output of an AWS CodeBuild build as follows: *

*

* Specify a commit in an AWS CodeCommit repository with SourceBuildInformation. *

*

* Specify a build in an AWS CodeBuild with SourceBuildInformation and BuildConfiguration. *

*

* Specify a source bundle in S3 with SourceBundle *

*

* Omit both SourceBuildInformation and SourceBundle to use the default sample * application. *

* *

* After you create an application version with a specified Amazon S3 bucket and key location, you can't change that * Amazon S3 location. If you change the Amazon S3 location, you receive an exception when you attempt to launch an * environment from the application version. *

*
* * @param createApplicationVersionRequest * @return Result of the CreateApplicationVersion operation returned by the service. * @throws TooManyApplicationsException * The specified account has reached its limit of applications. * @throws TooManyApplicationVersionsException * The specified account has reached its limit of application versions. * @throws InsufficientPrivilegesException * The specified account does not have sufficient privileges for one or more AWS services. * @throws S3LocationNotInServiceRegionException * The specified S3 bucket does not belong to the S3 region in which the service is running. The following * regions are supported:

*