com.amazonaws.services.appstream.AmazonAppStream Maven / Gradle / Ivy
Show all versions of aws-java-sdk-appstream Show documentation
/*
* Copyright 2012-2017 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.appstream;
import javax.annotation.Generated;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.appstream.model.*;
import com.amazonaws.services.appstream.waiters.AmazonAppStreamWaiters;
/**
* Interface for accessing Amazon AppStream.
*
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.appstream.AbstractAmazonAppStream} instead.
*
*
* Amazon AppStream 2.0
*
* API documentation for Amazon AppStream 2.0.
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AmazonAppStream {
/**
* 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 = "appstream2";
/**
* Overrides the default endpoint for this client ("appstream2.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: "appstream2.us-east-1.amazonaws.com") or a full URL, including the
* protocol (ex: "appstream2.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:
* http://developer.amazonwebservices.com/connect/entry.jspa?externalID=3912
*
* 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: "appstream2.us-east-1.amazonaws.com") or a full URL, including the protocol (ex:
* "appstream2.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 AmazonAppStream#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);
/**
*
* Associate a fleet to a stack.
*
*
* @param associateFleetRequest
* @return Result of the AssociateFleet operation returned by the service.
* @throws LimitExceededException
* The requested limit exceeds the permitted limit for an account.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws ConcurrentModificationException
* An API error occurred. Wait a few minutes and try again.
* @throws IncompatibleImageException
* The image does not support storage connectors.
* @sample AmazonAppStream.AssociateFleet
* @see AWS API
* Documentation
*/
AssociateFleetResult associateFleet(AssociateFleetRequest associateFleetRequest);
/**
*
* Creates a new fleet.
*
*
* @param createFleetRequest
* Contains the parameters for the new fleet to create.
* @return Result of the CreateFleet operation returned by the service.
* @throws ResourceAlreadyExistsException
* The specified resource already exists.
* @throws ResourceNotAvailableException
* The specified resource exists and is not in use, but isn't available.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws LimitExceededException
* The requested limit exceeds the permitted limit for an account.
* @throws InvalidRoleException
* The specified role is invalid.
* @throws ConcurrentModificationException
* An API error occurred. Wait a few minutes and try again.
* @sample AmazonAppStream.CreateFleet
* @see AWS API
* Documentation
*/
CreateFleetResult createFleet(CreateFleetRequest createFleetRequest);
/**
*
* Create a new stack.
*
*
* @param createStackRequest
* @return Result of the CreateStack operation returned by the service.
* @throws LimitExceededException
* The requested limit exceeds the permitted limit for an account.
* @throws ResourceAlreadyExistsException
* The specified resource already exists.
* @throws ConcurrentModificationException
* An API error occurred. Wait a few minutes and try again.
* @throws InvalidRoleException
* The specified role is invalid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws InvalidParameterCombinationException
* Indicates an incorrect combination of parameters, or a missing parameter.
* @sample AmazonAppStream.CreateStack
* @see AWS API
* Documentation
*/
CreateStackResult createStack(CreateStackRequest createStackRequest);
/**
*
* Creates a URL to start an AppStream 2.0 streaming session for a user. By default, the URL is valid only for 1
* minute from the time that it is generated.
*
*
* @param createStreamingURLRequest
* @return Result of the CreateStreamingURL operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws ResourceNotAvailableException
* The specified resource exists and is not in use, but isn't available.
* @throws OperationNotPermittedException
* The attempted operation is not permitted.
* @throws InvalidParameterCombinationException
* Indicates an incorrect combination of parameters, or a missing parameter.
* @sample AmazonAppStream.CreateStreamingURL
* @see AWS
* API Documentation
*/
CreateStreamingURLResult createStreamingURL(CreateStreamingURLRequest createStreamingURLRequest);
/**
*
* Deletes a fleet.
*
*
* @param deleteFleetRequest
* @return Result of the DeleteFleet operation returned by the service.
* @throws ResourceInUseException
* The specified resource is in use.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws ConcurrentModificationException
* An API error occurred. Wait a few minutes and try again.
* @sample AmazonAppStream.DeleteFleet
* @see AWS API
* Documentation
*/
DeleteFleetResult deleteFleet(DeleteFleetRequest deleteFleetRequest);
/**
*
* Deletes the stack. After this operation completes, the environment can no longer be activated, and any
* reservations made for the stack are released.
*
*
* @param deleteStackRequest
* @return Result of the DeleteStack operation returned by the service.
* @throws ResourceInUseException
* The specified resource is in use.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws ConcurrentModificationException
* An API error occurred. Wait a few minutes and try again.
* @sample AmazonAppStream.DeleteStack
* @see AWS API
* Documentation
*/
DeleteStackResult deleteStack(DeleteStackRequest deleteStackRequest);
/**
*
* If fleet names are provided, this operation describes the specified fleets; otherwise, all the fleets in the
* account are described.
*
*
* @param describeFleetsRequest
* @return Result of the DescribeFleets operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AmazonAppStream.DescribeFleets
* @see AWS API
* Documentation
*/
DescribeFleetsResult describeFleets(DescribeFleetsRequest describeFleetsRequest);
/**
*
* Describes the images. If a list of names is not provided, all images in your account are returned. This operation
* does not return a paginated result.
*
*
* @param describeImagesRequest
* @return Result of the DescribeImages operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AmazonAppStream.DescribeImages
* @see AWS API
* Documentation
*/
DescribeImagesResult describeImages(DescribeImagesRequest describeImagesRequest);
/**
*
* Describes the streaming sessions for a stack and a fleet. If a user ID is provided, this operation returns
* streaming sessions for only that user. Pass this value for the nextToken
parameter in a subsequent
* call to this operation to retrieve the next set of items. If an authentication type is not provided, the
* operation defaults to users authenticated using a streaming URL.
*
*
* @param describeSessionsRequest
* @return Result of the DescribeSessions operation returned by the service.
* @throws InvalidParameterCombinationException
* Indicates an incorrect combination of parameters, or a missing parameter.
* @sample AmazonAppStream.DescribeSessions
* @see AWS API
* Documentation
*/
DescribeSessionsResult describeSessions(DescribeSessionsRequest describeSessionsRequest);
/**
*
* If stack names are not provided, this operation describes the specified stacks; otherwise, all stacks in the
* account are described. Pass the nextToken
value in a subsequent call to this operation to retrieve
* the next set of items.
*
*
* @param describeStacksRequest
* @return Result of the DescribeStacks operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @sample AmazonAppStream.DescribeStacks
* @see AWS API
* Documentation
*/
DescribeStacksResult describeStacks(DescribeStacksRequest describeStacksRequest);
/**
*
* Disassociates a fleet from a stack.
*
*
* @param disassociateFleetRequest
* @return Result of the DisassociateFleet operation returned by the service.
* @throws ResourceInUseException
* The specified resource is in use.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws ConcurrentModificationException
* An API error occurred. Wait a few minutes and try again.
* @sample AmazonAppStream.DisassociateFleet
* @see AWS
* API Documentation
*/
DisassociateFleetResult disassociateFleet(DisassociateFleetRequest disassociateFleetRequest);
/**
*
* This operation immediately stops a streaming session.
*
*
* @param expireSessionRequest
* @return Result of the ExpireSession operation returned by the service.
* @sample AmazonAppStream.ExpireSession
* @see AWS API
* Documentation
*/
ExpireSessionResult expireSession(ExpireSessionRequest expireSessionRequest);
/**
*
* Lists all fleets associated with the stack.
*
*
* @param listAssociatedFleetsRequest
* @return Result of the ListAssociatedFleets operation returned by the service.
* @sample AmazonAppStream.ListAssociatedFleets
* @see AWS
* API Documentation
*/
ListAssociatedFleetsResult listAssociatedFleets(ListAssociatedFleetsRequest listAssociatedFleetsRequest);
/**
*
* Lists all stacks to which the specified fleet is associated.
*
*
* @param listAssociatedStacksRequest
* @return Result of the ListAssociatedStacks operation returned by the service.
* @sample AmazonAppStream.ListAssociatedStacks
* @see AWS
* API Documentation
*/
ListAssociatedStacksResult listAssociatedStacks(ListAssociatedStacksRequest listAssociatedStacksRequest);
/**
*
* Starts a fleet.
*
*
* @param startFleetRequest
* @return Result of the StartFleet operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws OperationNotPermittedException
* The attempted operation is not permitted.
* @throws LimitExceededException
* The requested limit exceeds the permitted limit for an account.
* @throws ConcurrentModificationException
* An API error occurred. Wait a few minutes and try again.
* @sample AmazonAppStream.StartFleet
* @see AWS API
* Documentation
*/
StartFleetResult startFleet(StartFleetRequest startFleetRequest);
/**
*
* Stops a fleet.
*
*
* @param stopFleetRequest
* @return Result of the StopFleet operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws ConcurrentModificationException
* An API error occurred. Wait a few minutes and try again.
* @sample AmazonAppStream.StopFleet
* @see AWS API
* Documentation
*/
StopFleetResult stopFleet(StopFleetRequest stopFleetRequest);
/**
*
* Updates an existing fleet. All the attributes except the fleet name can be updated in the STOPPED state.
* When a fleet is in the RUNNING state, only DisplayName
and ComputeCapacity
can
* be updated. A fleet cannot be updated in a status of STARTING or STOPPING.
*
*
* @param updateFleetRequest
* @return Result of the UpdateFleet operation returned by the service.
* @throws ResourceInUseException
* The specified resource is in use.
* @throws LimitExceededException
* The requested limit exceeds the permitted limit for an account.
* @throws InvalidRoleException
* The specified role is invalid.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws ResourceNotAvailableException
* The specified resource exists and is not in use, but isn't available.
* @throws InvalidParameterCombinationException
* Indicates an incorrect combination of parameters, or a missing parameter.
* @throws ConcurrentModificationException
* An API error occurred. Wait a few minutes and try again.
* @throws IncompatibleImageException
* The image does not support storage connectors.
* @sample AmazonAppStream.UpdateFleet
* @see AWS API
* Documentation
*/
UpdateFleetResult updateFleet(UpdateFleetRequest updateFleetRequest);
/**
*
* Updates the specified fields in the stack with the specified name.
*
*
* @param updateStackRequest
* @return Result of the UpdateStack operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource was not found.
* @throws ResourceInUseException
* The specified resource is in use.
* @throws InvalidRoleException
* The specified role is invalid.
* @throws InvalidParameterCombinationException
* Indicates an incorrect combination of parameters, or a missing parameter.
* @throws LimitExceededException
* The requested limit exceeds the permitted limit for an account.
* @throws IncompatibleImageException
* The image does not support storage connectors.
* @sample AmazonAppStream.UpdateStack
* @see AWS API
* Documentation
*/
UpdateStackResult updateStack(UpdateStackRequest updateStackRequest);
/**
* Shuts down this client object, releasing any resources that might be held open. This is an optional method, and
* callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client
* has been shutdown, it should not be used to make any more requests.
*/
void shutdown();
/**
* Returns additional metadata for a previously executed successful request, typically used for debugging issues
* where a service isn't acting as expected. This data isn't considered part of the result data returned by an
* operation, so it's available through this separate, diagnostic interface.
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing a request.
*
* @param request
* The originally executed request.
*
* @return The response metadata for the specified request, or null if none is available.
*/
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
AmazonAppStreamWaiters waiters();
}