-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Amazon AppStream SDK.
--   
--   The types from this library are intended to be used with
--   <a>amazonka</a>, which provides mechanisms for specifying AuthN/AuthZ
--   information, sending requests, and receiving responses.
--   
--   Lenses are used for constructing and manipulating types, due to the
--   depth of nesting of AWS types and transparency regarding
--   de/serialisation into more palatable Haskell values. The provided
--   lenses should be compatible with any of the major lens libraries such
--   as <a>lens</a> or <a>lens-family-core</a>.
--   
--   See <a>Network.AWS.AppStream</a> or <a>the AWS documentation</a> to
--   get started.
@package amazonka-appstream
@version 1.4.5


module Network.AWS.AppStream.Types

-- | API version <tt>2016-12-01</tt> of the Amazon AppStream SDK
--   configuration.
appStream :: Service

-- | The specified role is invalid.
_InvalidRoleException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified resource already exists.
_ResourceAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The attempted operation is not permitted.
_OperationNotPermittedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified resource was not found.
_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified resource exists and is not in use, but isn't available.
_ResourceNotAvailableException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The requested limit exceeds the permitted limit for an account.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified resource is in use.
_ResourceInUseException :: AsError a => Getting (First ServiceError) a ServiceError
data FleetErrorCode
IAMServiceRoleIsMissing :: FleetErrorCode
IAMServiceRoleMissingDescribeSubnetAction :: FleetErrorCode
IAMServiceRoleMissingEniCreateAction :: FleetErrorCode
IAMServiceRoleMissingEniDeleteAction :: FleetErrorCode
IAMServiceRoleMissingEniDescribeAction :: FleetErrorCode
ImageNotFound :: FleetErrorCode
InternalServiceError :: FleetErrorCode
InvalidSubnetConfiguration :: FleetErrorCode
NetworkInterfaceLimitExceeded :: FleetErrorCode
SubnetHasInsufficientIPAddresses :: FleetErrorCode
SubnetNotFound :: FleetErrorCode
data FleetState
Running :: FleetState
Starting :: FleetState
Stopped :: FleetState
Stopping :: FleetState
data ImageState
ISAvailable :: ImageState
ISDeleting :: ImageState
ISFailed :: ImageState
ISPending :: ImageState
data ImageStateChangeReasonCode
ImageBuilderNotAvailable :: ImageStateChangeReasonCode
InternalError :: ImageStateChangeReasonCode
data PlatformType
Windows :: PlatformType

-- | Possible values for the state of a streaming session.
data SessionState
Active :: SessionState
Expired :: SessionState
Pending :: SessionState
data VisibilityType
Private :: VisibilityType
Public :: VisibilityType

-- | An entry for a single application in the application catalog.
--   
--   <i>See:</i> <a>application</a> smart constructor.
data Application

-- | Creates a value of <a>Application</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aEnabled</a> - An application can be disabled after image
--   creation if there is a problem.</li>
--   <li><a>aLaunchPath</a> - The path to the application executable in the
--   instance.</li>
--   <li><a>aLaunchParameters</a> - A list of arguments that are passed to
--   the application at launch.</li>
--   <li><a>aName</a> - The unique identifier for the application.</li>
--   <li><a>aDisplayName</a> - The name of the application shown to the end
--   users.</li>
--   <li><a>aMetadata</a> - Additional attributes that describes the
--   application.</li>
--   <li><a>aIconURL</a> - The URL for the application icon. This URL may
--   be time-limited.</li>
--   </ul>
application :: Application

-- | An application can be disabled after image creation if there is a
--   problem.
aEnabled :: Lens' Application (Maybe Bool)

-- | The path to the application executable in the instance.
aLaunchPath :: Lens' Application (Maybe Text)

-- | A list of arguments that are passed to the application at launch.
aLaunchParameters :: Lens' Application (Maybe Text)

-- | The unique identifier for the application.
aName :: Lens' Application (Maybe Text)

-- | The name of the application shown to the end users.
aDisplayName :: Lens' Application (Maybe Text)

-- | Additional attributes that describes the application.
aMetadata :: Lens' Application (HashMap Text Text)

-- | The URL for the application icon. This URL may be time-limited.
aIconURL :: Lens' Application (Maybe Text)

-- | The capacity configuration for the fleet.
--   
--   <i>See:</i> <a>computeCapacity</a> smart constructor.
data ComputeCapacity

-- | Creates a value of <a>ComputeCapacity</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccDesiredInstances</a> - The desired number of streaming
--   instances.</li>
--   </ul>
computeCapacity :: Int -> ComputeCapacity

-- | The desired number of streaming instances.
ccDesiredInstances :: Lens' ComputeCapacity Int

-- | The capacity information for the fleet.
--   
--   <i>See:</i> <a>computeCapacityStatus</a> smart constructor.
data ComputeCapacityStatus

-- | Creates a value of <a>ComputeCapacityStatus</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccsInUse</a> - The number of instances that are being used for
--   streaming.</li>
--   <li><a>ccsRunning</a> - The total number of simultaneous streaming
--   instances that are running.</li>
--   <li><a>ccsAvailable</a> - The number of currently available instances
--   that can be used to stream sessions.</li>
--   <li><a>ccsDesired</a> - The desired number of streaming
--   instances.</li>
--   </ul>
computeCapacityStatus :: Int -> ComputeCapacityStatus

-- | The number of instances that are being used for streaming.
ccsInUse :: Lens' ComputeCapacityStatus (Maybe Int)

-- | The total number of simultaneous streaming instances that are running.
ccsRunning :: Lens' ComputeCapacityStatus (Maybe Int)

-- | The number of currently available instances that can be used to stream
--   sessions.
ccsAvailable :: Lens' ComputeCapacityStatus (Maybe Int)

-- | The desired number of streaming instances.
ccsDesired :: Lens' ComputeCapacityStatus Int

-- | Contains the parameters for a fleet.
--   
--   <i>See:</i> <a>fleet</a> smart constructor.
data Fleet

-- | Creates a value of <a>Fleet</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fDisconnectTimeoutInSeconds</a> - The time after disconnection
--   when a session is considered to have ended. When a user reconnects
--   after a disconnection, the user is connected to the same session and
--   instance within this time interval.</li>
--   <li><a>fMaxUserDurationInSeconds</a> - The maximum time during which a
--   streaming session can run.</li>
--   <li><a>fCreatedTime</a> - The time at which the fleet was
--   created.</li>
--   <li><a>fVPCConfig</a> - The VPC configuration for the fleet.</li>
--   <li><a>fFleetErrors</a> - The list of fleet errors is appended to this
--   list.</li>
--   <li><a>fDisplayName</a> - The name displayed to end users on the
--   AppStream 2.0 portal.</li>
--   <li><a>fDescription</a> - The description displayed to end users on
--   the AppStream 2.0 portal.</li>
--   <li><a>fARN</a> - The ARN for the fleet.</li>
--   <li><a>fName</a> - The name of the fleet.</li>
--   <li><a>fImageName</a> - The image used by the fleet.</li>
--   <li><a>fInstanceType</a> - The instance type of compute resources for
--   the fleet. The fleet instances are launched from this instance
--   type.</li>
--   <li><a>fComputeCapacityStatus</a> - The capacity information for the
--   fleet.</li>
--   <li><a>fState</a> - The current state for the fleet.</li>
--   </ul>
fleet :: Text -> Text -> Text -> Text -> ComputeCapacityStatus -> FleetState -> Fleet

-- | The time after disconnection when a session is considered to have
--   ended. When a user reconnects after a disconnection, the user is
--   connected to the same session and instance within this time interval.
fDisconnectTimeoutInSeconds :: Lens' Fleet (Maybe Int)

-- | The maximum time during which a streaming session can run.
fMaxUserDurationInSeconds :: Lens' Fleet (Maybe Int)

-- | The time at which the fleet was created.
fCreatedTime :: Lens' Fleet (Maybe UTCTime)

-- | The VPC configuration for the fleet.
fVPCConfig :: Lens' Fleet (Maybe VPCConfig)

-- | The list of fleet errors is appended to this list.
fFleetErrors :: Lens' Fleet [FleetError]

-- | The name displayed to end users on the AppStream 2.0 portal.
fDisplayName :: Lens' Fleet (Maybe Text)

-- | The description displayed to end users on the AppStream 2.0 portal.
fDescription :: Lens' Fleet (Maybe Text)

-- | The ARN for the fleet.
fARN :: Lens' Fleet Text

-- | The name of the fleet.
fName :: Lens' Fleet Text

-- | The image used by the fleet.
fImageName :: Lens' Fleet Text

-- | The instance type of compute resources for the fleet. The fleet
--   instances are launched from this instance type.
fInstanceType :: Lens' Fleet Text

-- | The capacity information for the fleet.
fComputeCapacityStatus :: Lens' Fleet ComputeCapacityStatus

-- | The current state for the fleet.
fState :: Lens' Fleet FleetState

-- | The details of the fleet error.
--   
--   <i>See:</i> <a>fleetError</a> smart constructor.
data FleetError

-- | Creates a value of <a>FleetError</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>feErrorCode</a> - The error code for the fleet error.</li>
--   <li><a>feErrorMessage</a> - The error message generated when the fleet
--   has errors.</li>
--   </ul>
fleetError :: FleetError

-- | The error code for the fleet error.
feErrorCode :: Lens' FleetError (Maybe FleetErrorCode)

-- | The error message generated when the fleet has errors.
feErrorMessage :: Lens' FleetError (Maybe Text)

-- | New streaming instances are booted from images. The image stores the
--   application catalog and is connected to fleets.
--   
--   <i>See:</i> <a>image</a> smart constructor.
data Image

-- | Creates a value of <a>Image</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iState</a> - The image starts in the <b>PENDING</b> state, and
--   then moves to <b>AVAILABLE</b> if image creation succeeds and
--   <b>FAILED</b> if image creation has failed.</li>
--   <li><a>iPlatform</a> - The operating system platform of the
--   image.</li>
--   <li><a>iStateChangeReason</a> - The reason why the last state change
--   occurred.</li>
--   <li><a>iARN</a> - The ARN for the image.</li>
--   <li><a>iCreatedTime</a> - The timestamp when the image was
--   created.</li>
--   <li><a>iVisibility</a> - The visibility of an image to the user;
--   images can be public or private.</li>
--   <li><a>iBaseImageARN</a> - The source image ARN from which this image
--   was created.</li>
--   <li><a>iDisplayName</a> - The display name for the image.</li>
--   <li><a>iDescription</a> - A meaningful description for the image.</li>
--   <li><a>iApplications</a> - The applications associated with an
--   image.</li>
--   <li><a>iName</a> - The unique identifier for the image.</li>
--   </ul>
image :: Text -> Image

-- | The image starts in the <b>PENDING</b> state, and then moves to
--   <b>AVAILABLE</b> if image creation succeeds and <b>FAILED</b> if image
--   creation has failed.
iState :: Lens' Image (Maybe ImageState)

-- | The operating system platform of the image.
iPlatform :: Lens' Image (Maybe PlatformType)

-- | The reason why the last state change occurred.
iStateChangeReason :: Lens' Image (Maybe ImageStateChangeReason)

-- | The ARN for the image.
iARN :: Lens' Image (Maybe Text)

-- | The timestamp when the image was created.
iCreatedTime :: Lens' Image (Maybe UTCTime)

-- | The visibility of an image to the user; images can be public or
--   private.
iVisibility :: Lens' Image (Maybe VisibilityType)

-- | The source image ARN from which this image was created.
iBaseImageARN :: Lens' Image (Maybe Text)

-- | The display name for the image.
iDisplayName :: Lens' Image (Maybe Text)

-- | A meaningful description for the image.
iDescription :: Lens' Image (Maybe Text)

-- | The applications associated with an image.
iApplications :: Lens' Image [Application]

-- | The unique identifier for the image.
iName :: Lens' Image Text

-- | The reason why the last state change occurred.
--   
--   <i>See:</i> <a>imageStateChangeReason</a> smart constructor.
data ImageStateChangeReason

-- | Creates a value of <a>ImageStateChangeReason</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iscrCode</a> - The state change reason code of the image.</li>
--   <li><a>iscrMessage</a> - The state change reason message to the end
--   user.</li>
--   </ul>
imageStateChangeReason :: ImageStateChangeReason

-- | The state change reason code of the image.
iscrCode :: Lens' ImageStateChangeReason (Maybe ImageStateChangeReasonCode)

-- | The state change reason message to the end user.
iscrMessage :: Lens' ImageStateChangeReason (Maybe Text)

-- | Contains the parameters for a streaming session.
--   
--   <i>See:</i> <a>session</a> smart constructor.
data Session

-- | Creates a value of <a>Session</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sId</a> - The unique ID for a streaming session.</li>
--   <li><a>sUserId</a> - The identifier of the user for whom the session
--   was created.</li>
--   <li><a>sStackName</a> - The name of the stack for which the streaming
--   session was created.</li>
--   <li><a>sFleetName</a> - The name of the fleet for which the streaming
--   session was created.</li>
--   <li><a>sState</a> - The current state of the streaming session.</li>
--   </ul>
session :: Text -> Text -> Text -> Text -> SessionState -> Session

-- | The unique ID for a streaming session.
sId :: Lens' Session Text

-- | The identifier of the user for whom the session was created.
sUserId :: Lens' Session Text

-- | The name of the stack for which the streaming session was created.
sStackName :: Lens' Session Text

-- | The name of the fleet for which the streaming session was created.
sFleetName :: Lens' Session Text

-- | The current state of the streaming session.
sState :: Lens' Session SessionState

-- | Details about a stack.
--   
--   <i>See:</i> <a>stack</a> smart constructor.
data Stack

-- | Creates a value of <a>Stack</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sARN</a> - The ARN of the stack.</li>
--   <li><a>sCreatedTime</a> - The timestamp when the stack was
--   created.</li>
--   <li><a>sDisplayName</a> - A display name for the stack.</li>
--   <li><a>sDescription</a> - A meaningful description for the stack.</li>
--   <li><a>sName</a> - The unique identifier of the stack.</li>
--   </ul>
stack :: Text -> Stack

-- | The ARN of the stack.
sARN :: Lens' Stack (Maybe Text)

-- | The timestamp when the stack was created.
sCreatedTime :: Lens' Stack (Maybe UTCTime)

-- | A display name for the stack.
sDisplayName :: Lens' Stack (Maybe Text)

-- | A meaningful description for the stack.
sDescription :: Lens' Stack (Maybe Text)

-- | The unique identifier of the stack.
sName :: Lens' Stack Text

-- | The VPC in which the fleet is launched.
--   
--   <i>See:</i> <a>vpcConfig</a> smart constructor.
data VPCConfig

-- | Creates a value of <a>VPCConfig</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vcSubnetIds</a> - The list of subnets to which a network
--   interface is established from the fleet instance.</li>
--   </ul>
vpcConfig :: NonEmpty Text -> VPCConfig

-- | The list of subnets to which a network interface is established from
--   the fleet instance.
vcSubnetIds :: Lens' VPCConfig (NonEmpty Text)


-- | Updates an existing fleet. All the attributes except the fleet name
--   can be updated in the <b>STOPPED</b> state. Only
--   <b>ComputeCapacity</b> and <b>ImageName</b> can be updated in any
--   other state.
module Network.AWS.AppStream.UpdateFleet

-- | Creates a value of <a>UpdateFleet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ufDisconnectTimeoutInSeconds</a> - The time after disconnection
--   when a session is considered to have ended. When the user reconnects
--   after a disconnection, the user is connected to the same instance
--   within this time interval.</li>
--   <li><a>ufMaxUserDurationInSeconds</a> - The maximum time during which
--   a streaming session can run.</li>
--   <li><a>ufDeleteVPCConfig</a> - Delete the VPC association for the
--   specified fleet.</li>
--   <li><a>ufInstanceType</a> - The instance type of compute resources for
--   the fleet. Fleet instances are launched from this instance type.</li>
--   <li><a>ufVPCConfig</a> - The VPC configuration for the fleet.</li>
--   <li><a>ufDisplayName</a> - The name displayed to end users on the
--   AppStream 2.0 portal.</li>
--   <li><a>ufImageName</a> - The image name from which a fleet is
--   created.</li>
--   <li><a>ufDescription</a> - The description displayed to end users on
--   the AppStream 2.0 portal.</li>
--   <li><a>ufComputeCapacity</a> - The parameters for the capacity
--   allocated to the fleet.</li>
--   <li><a>ufName</a> - The name of the fleet.</li>
--   </ul>
updateFleet :: Text -> UpdateFleet

-- | <i>See:</i> <a>updateFleet</a> smart constructor.
data UpdateFleet

-- | The time after disconnection when a session is considered to have
--   ended. When the user reconnects after a disconnection, the user is
--   connected to the same instance within this time interval.
ufDisconnectTimeoutInSeconds :: Lens' UpdateFleet (Maybe Int)

-- | The maximum time during which a streaming session can run.
ufMaxUserDurationInSeconds :: Lens' UpdateFleet (Maybe Int)

-- | Delete the VPC association for the specified fleet.
ufDeleteVPCConfig :: Lens' UpdateFleet (Maybe Bool)

-- | The instance type of compute resources for the fleet. Fleet instances
--   are launched from this instance type.
ufInstanceType :: Lens' UpdateFleet (Maybe Text)

-- | The VPC configuration for the fleet.
ufVPCConfig :: Lens' UpdateFleet (Maybe VPCConfig)

-- | The name displayed to end users on the AppStream 2.0 portal.
ufDisplayName :: Lens' UpdateFleet (Maybe Text)

-- | The image name from which a fleet is created.
ufImageName :: Lens' UpdateFleet (Maybe Text)

-- | The description displayed to end users on the AppStream 2.0 portal.
ufDescription :: Lens' UpdateFleet (Maybe Text)

-- | The parameters for the capacity allocated to the fleet.
ufComputeCapacity :: Lens' UpdateFleet (Maybe ComputeCapacity)

-- | The name of the fleet.
ufName :: Lens' UpdateFleet Text

-- | Creates a value of <a>UpdateFleetResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ufrsFleet</a> - A list of fleet details.</li>
--   <li><a>ufrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateFleetResponse :: Int -> UpdateFleetResponse

-- | <i>See:</i> <a>updateFleetResponse</a> smart constructor.
data UpdateFleetResponse

-- | A list of fleet details.
ufrsFleet :: Lens' UpdateFleetResponse (Maybe Fleet)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ufrsResponseStatus :: Lens' UpdateFleetResponse Int
instance GHC.Generics.Generic Network.AWS.AppStream.UpdateFleet.UpdateFleetResponse
instance Data.Data.Data Network.AWS.AppStream.UpdateFleet.UpdateFleetResponse
instance GHC.Show.Show Network.AWS.AppStream.UpdateFleet.UpdateFleetResponse
instance GHC.Read.Read Network.AWS.AppStream.UpdateFleet.UpdateFleetResponse
instance GHC.Classes.Eq Network.AWS.AppStream.UpdateFleet.UpdateFleetResponse
instance GHC.Generics.Generic Network.AWS.AppStream.UpdateFleet.UpdateFleet
instance Data.Data.Data Network.AWS.AppStream.UpdateFleet.UpdateFleet
instance GHC.Show.Show Network.AWS.AppStream.UpdateFleet.UpdateFleet
instance GHC.Read.Read Network.AWS.AppStream.UpdateFleet.UpdateFleet
instance GHC.Classes.Eq Network.AWS.AppStream.UpdateFleet.UpdateFleet
instance Network.AWS.Types.AWSRequest Network.AWS.AppStream.UpdateFleet.UpdateFleet
instance Data.Hashable.Class.Hashable Network.AWS.AppStream.UpdateFleet.UpdateFleet
instance Control.DeepSeq.NFData Network.AWS.AppStream.UpdateFleet.UpdateFleet
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.AppStream.UpdateFleet.UpdateFleet
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.AppStream.UpdateFleet.UpdateFleet
instance Network.AWS.Data.Path.ToPath Network.AWS.AppStream.UpdateFleet.UpdateFleet
instance Network.AWS.Data.Query.ToQuery Network.AWS.AppStream.UpdateFleet.UpdateFleet
instance Control.DeepSeq.NFData Network.AWS.AppStream.UpdateFleet.UpdateFleetResponse


-- | Updates the specified fields in the stack with the specified name.
module Network.AWS.AppStream.UpdateStack

-- | Creates a value of <a>UpdateStack</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>usDisplayName</a> - The name displayed to end users on the
--   AppStream 2.0 portal.</li>
--   <li><a>usDescription</a> - The description displayed to end users on
--   the AppStream 2.0 portal.</li>
--   <li><a>usName</a> - The name of the stack to update.</li>
--   </ul>
updateStack :: Text -> UpdateStack

-- | <i>See:</i> <a>updateStack</a> smart constructor.
data UpdateStack

-- | The name displayed to end users on the AppStream 2.0 portal.
usDisplayName :: Lens' UpdateStack (Maybe Text)

-- | The description displayed to end users on the AppStream 2.0 portal.
usDescription :: Lens' UpdateStack (Maybe Text)

-- | The name of the stack to update.
usName :: Lens' UpdateStack Text

-- | Creates a value of <a>UpdateStackResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>usrsStack</a> - A list of stack details.</li>
--   <li><a>usrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateStackResponse :: Int -> UpdateStackResponse

-- | <i>See:</i> <a>updateStackResponse</a> smart constructor.
data UpdateStackResponse

-- | A list of stack details.
usrsStack :: Lens' UpdateStackResponse (Maybe Stack)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
usrsResponseStatus :: Lens' UpdateStackResponse Int
instance GHC.Generics.Generic Network.AWS.AppStream.UpdateStack.UpdateStackResponse
instance Data.Data.Data Network.AWS.AppStream.UpdateStack.UpdateStackResponse
instance GHC.Show.Show Network.AWS.AppStream.UpdateStack.UpdateStackResponse
instance GHC.Read.Read Network.AWS.AppStream.UpdateStack.UpdateStackResponse
instance GHC.Classes.Eq Network.AWS.AppStream.UpdateStack.UpdateStackResponse
instance GHC.Generics.Generic Network.AWS.AppStream.UpdateStack.UpdateStack
instance Data.Data.Data Network.AWS.AppStream.UpdateStack.UpdateStack
instance GHC.Show.Show Network.AWS.AppStream.UpdateStack.UpdateStack
instance GHC.Read.Read Network.AWS.AppStream.UpdateStack.UpdateStack
instance GHC.Classes.Eq Network.AWS.AppStream.UpdateStack.UpdateStack
instance Network.AWS.Types.AWSRequest Network.AWS.AppStream.UpdateStack.UpdateStack
instance Data.Hashable.Class.Hashable Network.AWS.AppStream.UpdateStack.UpdateStack
instance Control.DeepSeq.NFData Network.AWS.AppStream.UpdateStack.UpdateStack
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.AppStream.UpdateStack.UpdateStack
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.AppStream.UpdateStack.UpdateStack
instance Network.AWS.Data.Path.ToPath Network.AWS.AppStream.UpdateStack.UpdateStack
instance Network.AWS.Data.Query.ToQuery Network.AWS.AppStream.UpdateStack.UpdateStack
instance Control.DeepSeq.NFData Network.AWS.AppStream.UpdateStack.UpdateStackResponse


module Network.AWS.AppStream.Waiters


-- | Stops a fleet.
module Network.AWS.AppStream.StopFleet

-- | Creates a value of <a>StopFleet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sfName</a> - The name of the fleet to stop.</li>
--   </ul>
stopFleet :: Text -> StopFleet

-- | <i>See:</i> <a>stopFleet</a> smart constructor.
data StopFleet

-- | The name of the fleet to stop.
sfName :: Lens' StopFleet Text

-- | Creates a value of <a>StopFleetResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
stopFleetResponse :: Int -> StopFleetResponse

-- | <i>See:</i> <a>stopFleetResponse</a> smart constructor.
data StopFleetResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
srsResponseStatus :: Lens' StopFleetResponse Int
instance GHC.Generics.Generic Network.AWS.AppStream.StopFleet.StopFleetResponse
instance Data.Data.Data Network.AWS.AppStream.StopFleet.StopFleetResponse
instance GHC.Show.Show Network.AWS.AppStream.StopFleet.StopFleetResponse
instance GHC.Read.Read Network.AWS.AppStream.StopFleet.StopFleetResponse
instance GHC.Classes.Eq Network.AWS.AppStream.StopFleet.StopFleetResponse
instance GHC.Generics.Generic Network.AWS.AppStream.StopFleet.StopFleet
instance Data.Data.Data Network.AWS.AppStream.StopFleet.StopFleet
instance GHC.Show.Show Network.AWS.AppStream.StopFleet.StopFleet
instance GHC.Read.Read Network.AWS.AppStream.StopFleet.StopFleet
instance GHC.Classes.Eq Network.AWS.AppStream.StopFleet.StopFleet
instance Network.AWS.Types.AWSRequest Network.AWS.AppStream.StopFleet.StopFleet
instance Data.Hashable.Class.Hashable Network.AWS.AppStream.StopFleet.StopFleet
instance Control.DeepSeq.NFData Network.AWS.AppStream.StopFleet.StopFleet
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.AppStream.StopFleet.StopFleet
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.AppStream.StopFleet.StopFleet
instance Network.AWS.Data.Path.ToPath Network.AWS.AppStream.StopFleet.StopFleet
instance Network.AWS.Data.Query.ToQuery Network.AWS.AppStream.StopFleet.StopFleet
instance Control.DeepSeq.NFData Network.AWS.AppStream.StopFleet.StopFleetResponse


-- | Starts a fleet.
module Network.AWS.AppStream.StartFleet

-- | Creates a value of <a>StartFleet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>staName</a> - The name of the fleet to start.</li>
--   </ul>
startFleet :: Text -> StartFleet

-- | <i>See:</i> <a>startFleet</a> smart constructor.
data StartFleet

-- | The name of the fleet to start.
staName :: Lens' StartFleet Text

-- | Creates a value of <a>StartFleetResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sfrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
startFleetResponse :: Int -> StartFleetResponse

-- | <i>See:</i> <a>startFleetResponse</a> smart constructor.
data StartFleetResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
sfrsResponseStatus :: Lens' StartFleetResponse Int
instance GHC.Generics.Generic Network.AWS.AppStream.StartFleet.StartFleetResponse
instance Data.Data.Data Network.AWS.AppStream.StartFleet.StartFleetResponse
instance GHC.Show.Show Network.AWS.AppStream.StartFleet.StartFleetResponse
instance GHC.Read.Read Network.AWS.AppStream.StartFleet.StartFleetResponse
instance GHC.Classes.Eq Network.AWS.AppStream.StartFleet.StartFleetResponse
instance GHC.Generics.Generic Network.AWS.AppStream.StartFleet.StartFleet
instance Data.Data.Data Network.AWS.AppStream.StartFleet.StartFleet
instance GHC.Show.Show Network.AWS.AppStream.StartFleet.StartFleet
instance GHC.Read.Read Network.AWS.AppStream.StartFleet.StartFleet
instance GHC.Classes.Eq Network.AWS.AppStream.StartFleet.StartFleet
instance Network.AWS.Types.AWSRequest Network.AWS.AppStream.StartFleet.StartFleet
instance Data.Hashable.Class.Hashable Network.AWS.AppStream.StartFleet.StartFleet
instance Control.DeepSeq.NFData Network.AWS.AppStream.StartFleet.StartFleet
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.AppStream.StartFleet.StartFleet
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.AppStream.StartFleet.StartFleet
instance Network.AWS.Data.Path.ToPath Network.AWS.AppStream.StartFleet.StartFleet
instance Network.AWS.Data.Query.ToQuery Network.AWS.AppStream.StartFleet.StartFleet
instance Control.DeepSeq.NFData Network.AWS.AppStream.StartFleet.StartFleetResponse


-- | Lists all stacks to which the specified fleet is associated.
module Network.AWS.AppStream.ListAssociatedStacks

-- | Creates a value of <a>ListAssociatedStacks</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lasNextToken</a> - The pagination token to use to retrieve the
--   next page of results for this operation. If this value is null, it
--   retrieves the first page.</li>
--   <li><a>lasFleetName</a> - The name of the fleet whose associated
--   stacks are listed.</li>
--   </ul>
listAssociatedStacks :: Text -> ListAssociatedStacks

-- | <i>See:</i> <a>listAssociatedStacks</a> smart constructor.
data ListAssociatedStacks

-- | The pagination token to use to retrieve the next page of results for
--   this operation. If this value is null, it retrieves the first page.
lasNextToken :: Lens' ListAssociatedStacks (Maybe Text)

-- | The name of the fleet whose associated stacks are listed.
lasFleetName :: Lens' ListAssociatedStacks Text

-- | Creates a value of <a>ListAssociatedStacksResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lasrsNextToken</a> - The pagination token to use to retrieve
--   the next page of results for this operation. If there are no more
--   pages, this value is null.</li>
--   <li><a>lasrsNames</a> - The names of associated stacks.</li>
--   <li><a>lasrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listAssociatedStacksResponse :: Int -> ListAssociatedStacksResponse

-- | The response from a successful operation.
--   
--   <i>See:</i> <a>listAssociatedStacksResponse</a> smart constructor.
data ListAssociatedStacksResponse

-- | The pagination token to use to retrieve the next page of results for
--   this operation. If there are no more pages, this value is null.
lasrsNextToken :: Lens' ListAssociatedStacksResponse (Maybe Text)

-- | The names of associated stacks.
lasrsNames :: Lens' ListAssociatedStacksResponse [Text]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lasrsResponseStatus :: Lens' ListAssociatedStacksResponse Int
instance GHC.Generics.Generic Network.AWS.AppStream.ListAssociatedStacks.ListAssociatedStacksResponse
instance Data.Data.Data Network.AWS.AppStream.ListAssociatedStacks.ListAssociatedStacksResponse
instance GHC.Show.Show Network.AWS.AppStream.ListAssociatedStacks.ListAssociatedStacksResponse
instance GHC.Read.Read Network.AWS.AppStream.ListAssociatedStacks.ListAssociatedStacksResponse
instance GHC.Classes.Eq Network.AWS.AppStream.ListAssociatedStacks.ListAssociatedStacksResponse
instance GHC.Generics.Generic Network.AWS.AppStream.ListAssociatedStacks.ListAssociatedStacks
instance Data.Data.Data Network.AWS.AppStream.ListAssociatedStacks.ListAssociatedStacks
instance GHC.Show.Show Network.AWS.AppStream.ListAssociatedStacks.ListAssociatedStacks
instance GHC.Read.Read Network.AWS.AppStream.ListAssociatedStacks.ListAssociatedStacks
instance GHC.Classes.Eq Network.AWS.AppStream.ListAssociatedStacks.ListAssociatedStacks
instance Network.AWS.Types.AWSRequest Network.AWS.AppStream.ListAssociatedStacks.ListAssociatedStacks
instance Data.Hashable.Class.Hashable Network.AWS.AppStream.ListAssociatedStacks.ListAssociatedStacks
instance Control.DeepSeq.NFData Network.AWS.AppStream.ListAssociatedStacks.ListAssociatedStacks
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.AppStream.ListAssociatedStacks.ListAssociatedStacks
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.AppStream.ListAssociatedStacks.ListAssociatedStacks
instance Network.AWS.Data.Path.ToPath Network.AWS.AppStream.ListAssociatedStacks.ListAssociatedStacks
instance Network.AWS.Data.Query.ToQuery Network.AWS.AppStream.ListAssociatedStacks.ListAssociatedStacks
instance Control.DeepSeq.NFData Network.AWS.AppStream.ListAssociatedStacks.ListAssociatedStacksResponse


-- | Lists all fleets associated with the stack.
module Network.AWS.AppStream.ListAssociatedFleets

-- | Creates a value of <a>ListAssociatedFleets</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lafNextToken</a> - The pagination token to use to retrieve the
--   next page of results for this operation. If this value is null, it
--   retrieves the first page.</li>
--   <li><a>lafStackName</a> - The name of the stack whose associated
--   fleets are listed.</li>
--   </ul>
listAssociatedFleets :: Text -> ListAssociatedFleets

-- | <i>See:</i> <a>listAssociatedFleets</a> smart constructor.
data ListAssociatedFleets

-- | The pagination token to use to retrieve the next page of results for
--   this operation. If this value is null, it retrieves the first page.
lafNextToken :: Lens' ListAssociatedFleets (Maybe Text)

-- | The name of the stack whose associated fleets are listed.
lafStackName :: Lens' ListAssociatedFleets Text

-- | Creates a value of <a>ListAssociatedFleetsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lafrsNextToken</a> - The pagination token to use to retrieve
--   the next page of results for this operation. If there are no more
--   pages, this value is null.</li>
--   <li><a>lafrsNames</a> - The names of associated fleets.</li>
--   <li><a>lafrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listAssociatedFleetsResponse :: Int -> ListAssociatedFleetsResponse

-- | The response from a successful operation.
--   
--   <i>See:</i> <a>listAssociatedFleetsResponse</a> smart constructor.
data ListAssociatedFleetsResponse

-- | The pagination token to use to retrieve the next page of results for
--   this operation. If there are no more pages, this value is null.
lafrsNextToken :: Lens' ListAssociatedFleetsResponse (Maybe Text)

-- | The names of associated fleets.
lafrsNames :: Lens' ListAssociatedFleetsResponse [Text]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lafrsResponseStatus :: Lens' ListAssociatedFleetsResponse Int
instance GHC.Generics.Generic Network.AWS.AppStream.ListAssociatedFleets.ListAssociatedFleetsResponse
instance Data.Data.Data Network.AWS.AppStream.ListAssociatedFleets.ListAssociatedFleetsResponse
instance GHC.Show.Show Network.AWS.AppStream.ListAssociatedFleets.ListAssociatedFleetsResponse
instance GHC.Read.Read Network.AWS.AppStream.ListAssociatedFleets.ListAssociatedFleetsResponse
instance GHC.Classes.Eq Network.AWS.AppStream.ListAssociatedFleets.ListAssociatedFleetsResponse
instance GHC.Generics.Generic Network.AWS.AppStream.ListAssociatedFleets.ListAssociatedFleets
instance Data.Data.Data Network.AWS.AppStream.ListAssociatedFleets.ListAssociatedFleets
instance GHC.Show.Show Network.AWS.AppStream.ListAssociatedFleets.ListAssociatedFleets
instance GHC.Read.Read Network.AWS.AppStream.ListAssociatedFleets.ListAssociatedFleets
instance GHC.Classes.Eq Network.AWS.AppStream.ListAssociatedFleets.ListAssociatedFleets
instance Network.AWS.Types.AWSRequest Network.AWS.AppStream.ListAssociatedFleets.ListAssociatedFleets
instance Data.Hashable.Class.Hashable Network.AWS.AppStream.ListAssociatedFleets.ListAssociatedFleets
instance Control.DeepSeq.NFData Network.AWS.AppStream.ListAssociatedFleets.ListAssociatedFleets
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.AppStream.ListAssociatedFleets.ListAssociatedFleets
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.AppStream.ListAssociatedFleets.ListAssociatedFleets
instance Network.AWS.Data.Path.ToPath Network.AWS.AppStream.ListAssociatedFleets.ListAssociatedFleets
instance Network.AWS.Data.Query.ToQuery Network.AWS.AppStream.ListAssociatedFleets.ListAssociatedFleets
instance Control.DeepSeq.NFData Network.AWS.AppStream.ListAssociatedFleets.ListAssociatedFleetsResponse


-- | This operation immediately stops a streaming session.
module Network.AWS.AppStream.ExpireSession

-- | Creates a value of <a>ExpireSession</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>esSessionId</a> - The unique identifier of the streaming
--   session to be stopped.</li>
--   </ul>
expireSession :: Text -> ExpireSession

-- | <i>See:</i> <a>expireSession</a> smart constructor.
data ExpireSession

-- | The unique identifier of the streaming session to be stopped.
esSessionId :: Lens' ExpireSession Text

-- | Creates a value of <a>ExpireSessionResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>esrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
expireSessionResponse :: Int -> ExpireSessionResponse

-- | <i>See:</i> <a>expireSessionResponse</a> smart constructor.
data ExpireSessionResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
esrsResponseStatus :: Lens' ExpireSessionResponse Int
instance GHC.Generics.Generic Network.AWS.AppStream.ExpireSession.ExpireSessionResponse
instance Data.Data.Data Network.AWS.AppStream.ExpireSession.ExpireSessionResponse
instance GHC.Show.Show Network.AWS.AppStream.ExpireSession.ExpireSessionResponse
instance GHC.Read.Read Network.AWS.AppStream.ExpireSession.ExpireSessionResponse
instance GHC.Classes.Eq Network.AWS.AppStream.ExpireSession.ExpireSessionResponse
instance GHC.Generics.Generic Network.AWS.AppStream.ExpireSession.ExpireSession
instance Data.Data.Data Network.AWS.AppStream.ExpireSession.ExpireSession
instance GHC.Show.Show Network.AWS.AppStream.ExpireSession.ExpireSession
instance GHC.Read.Read Network.AWS.AppStream.ExpireSession.ExpireSession
instance GHC.Classes.Eq Network.AWS.AppStream.ExpireSession.ExpireSession
instance Network.AWS.Types.AWSRequest Network.AWS.AppStream.ExpireSession.ExpireSession
instance Data.Hashable.Class.Hashable Network.AWS.AppStream.ExpireSession.ExpireSession
instance Control.DeepSeq.NFData Network.AWS.AppStream.ExpireSession.ExpireSession
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.AppStream.ExpireSession.ExpireSession
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.AppStream.ExpireSession.ExpireSession
instance Network.AWS.Data.Path.ToPath Network.AWS.AppStream.ExpireSession.ExpireSession
instance Network.AWS.Data.Query.ToQuery Network.AWS.AppStream.ExpireSession.ExpireSession
instance Control.DeepSeq.NFData Network.AWS.AppStream.ExpireSession.ExpireSessionResponse


-- | Disassociates a fleet from a stack.
module Network.AWS.AppStream.DisassociateFleet

-- | Creates a value of <a>DisassociateFleet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dfFleetName</a> - The name of the fleet to disassociate.</li>
--   <li><a>dfStackName</a> - The name of the stack with which the fleet is
--   associated.</li>
--   </ul>
disassociateFleet :: Text -> Text -> DisassociateFleet

-- | <i>See:</i> <a>disassociateFleet</a> smart constructor.
data DisassociateFleet

-- | The name of the fleet to disassociate.
dfFleetName :: Lens' DisassociateFleet Text

-- | The name of the stack with which the fleet is associated.
dfStackName :: Lens' DisassociateFleet Text

-- | Creates a value of <a>DisassociateFleetResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
disassociateFleetResponse :: Int -> DisassociateFleetResponse

-- | <i>See:</i> <a>disassociateFleetResponse</a> smart constructor.
data DisassociateFleetResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
drsResponseStatus :: Lens' DisassociateFleetResponse Int
instance GHC.Generics.Generic Network.AWS.AppStream.DisassociateFleet.DisassociateFleetResponse
instance Data.Data.Data Network.AWS.AppStream.DisassociateFleet.DisassociateFleetResponse
instance GHC.Show.Show Network.AWS.AppStream.DisassociateFleet.DisassociateFleetResponse
instance GHC.Read.Read Network.AWS.AppStream.DisassociateFleet.DisassociateFleetResponse
instance GHC.Classes.Eq Network.AWS.AppStream.DisassociateFleet.DisassociateFleetResponse
instance GHC.Generics.Generic Network.AWS.AppStream.DisassociateFleet.DisassociateFleet
instance Data.Data.Data Network.AWS.AppStream.DisassociateFleet.DisassociateFleet
instance GHC.Show.Show Network.AWS.AppStream.DisassociateFleet.DisassociateFleet
instance GHC.Read.Read Network.AWS.AppStream.DisassociateFleet.DisassociateFleet
instance GHC.Classes.Eq Network.AWS.AppStream.DisassociateFleet.DisassociateFleet
instance Network.AWS.Types.AWSRequest Network.AWS.AppStream.DisassociateFleet.DisassociateFleet
instance Data.Hashable.Class.Hashable Network.AWS.AppStream.DisassociateFleet.DisassociateFleet
instance Control.DeepSeq.NFData Network.AWS.AppStream.DisassociateFleet.DisassociateFleet
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.AppStream.DisassociateFleet.DisassociateFleet
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.AppStream.DisassociateFleet.DisassociateFleet
instance Network.AWS.Data.Path.ToPath Network.AWS.AppStream.DisassociateFleet.DisassociateFleet
instance Network.AWS.Data.Query.ToQuery Network.AWS.AppStream.DisassociateFleet.DisassociateFleet
instance Control.DeepSeq.NFData Network.AWS.AppStream.DisassociateFleet.DisassociateFleetResponse


-- | If stack names are not provided, this operation describes the
--   specified stacks; otherwise, all stacks in the account are described.
--   Pass the <tt>nextToken</tt> value in a subsequent call to this
--   operation to retrieve the next set of items.
module Network.AWS.AppStream.DescribeStacks

-- | Creates a value of <a>DescribeStacks</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dNextToken</a> - The pagination token to use to retrieve the
--   next page of results for this operation. If this value is null, it
--   retrieves the first page.</li>
--   <li><a>dNames</a> - The stack names to describe. Use null to describe
--   all the stacks for the AWS account.</li>
--   </ul>
describeStacks :: DescribeStacks

-- | <i>See:</i> <a>describeStacks</a> smart constructor.
data DescribeStacks

-- | The pagination token to use to retrieve the next page of results for
--   this operation. If this value is null, it retrieves the first page.
dNextToken :: Lens' DescribeStacks (Maybe Text)

-- | The stack names to describe. Use null to describe all the stacks for
--   the AWS account.
dNames :: Lens' DescribeStacks [Text]

-- | Creates a value of <a>DescribeStacksResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>desrsNextToken</a> - The pagination token to use to retrieve
--   the next page of results for this operation. If there are no more
--   pages, this value is null.</li>
--   <li><a>desrsStacks</a> - The list of stack details.</li>
--   <li><a>desrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeStacksResponse :: Int -> DescribeStacksResponse

-- | <i>See:</i> <a>describeStacksResponse</a> smart constructor.
data DescribeStacksResponse

-- | The pagination token to use to retrieve the next page of results for
--   this operation. If there are no more pages, this value is null.
desrsNextToken :: Lens' DescribeStacksResponse (Maybe Text)

-- | The list of stack details.
desrsStacks :: Lens' DescribeStacksResponse [Stack]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
desrsResponseStatus :: Lens' DescribeStacksResponse Int
instance GHC.Generics.Generic Network.AWS.AppStream.DescribeStacks.DescribeStacksResponse
instance Data.Data.Data Network.AWS.AppStream.DescribeStacks.DescribeStacksResponse
instance GHC.Show.Show Network.AWS.AppStream.DescribeStacks.DescribeStacksResponse
instance GHC.Read.Read Network.AWS.AppStream.DescribeStacks.DescribeStacksResponse
instance GHC.Classes.Eq Network.AWS.AppStream.DescribeStacks.DescribeStacksResponse
instance GHC.Generics.Generic Network.AWS.AppStream.DescribeStacks.DescribeStacks
instance Data.Data.Data Network.AWS.AppStream.DescribeStacks.DescribeStacks
instance GHC.Show.Show Network.AWS.AppStream.DescribeStacks.DescribeStacks
instance GHC.Read.Read Network.AWS.AppStream.DescribeStacks.DescribeStacks
instance GHC.Classes.Eq Network.AWS.AppStream.DescribeStacks.DescribeStacks
instance Network.AWS.Types.AWSRequest Network.AWS.AppStream.DescribeStacks.DescribeStacks
instance Data.Hashable.Class.Hashable Network.AWS.AppStream.DescribeStacks.DescribeStacks
instance Control.DeepSeq.NFData Network.AWS.AppStream.DescribeStacks.DescribeStacks
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.AppStream.DescribeStacks.DescribeStacks
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.AppStream.DescribeStacks.DescribeStacks
instance Network.AWS.Data.Path.ToPath Network.AWS.AppStream.DescribeStacks.DescribeStacks
instance Network.AWS.Data.Query.ToQuery Network.AWS.AppStream.DescribeStacks.DescribeStacks
instance Control.DeepSeq.NFData Network.AWS.AppStream.DescribeStacks.DescribeStacksResponse


-- | 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 <tt>nextToken</tt> parameter in a
--   subsequent call to this operation to retrieve the next set of items.
module Network.AWS.AppStream.DescribeSessions

-- | Creates a value of <a>DescribeSessions</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsUserId</a> - The user for whom to list sessions. Use null to
--   describe all the sessions for the stack and fleet.</li>
--   <li><a>dsNextToken</a> - The pagination token to use to retrieve the
--   next page of results for this operation. If this value is null, it
--   retrieves the first page.</li>
--   <li><a>dsLimit</a> - The size of each page of results. The default
--   value is 20 and the maximum supported value is 50.</li>
--   <li><a>dsStackName</a> - The name of the stack for which to list
--   sessions.</li>
--   <li><a>dsFleetName</a> - The name of the fleet for which to list
--   sessions.</li>
--   </ul>
describeSessions :: Text -> Text -> DescribeSessions

-- | <i>See:</i> <a>describeSessions</a> smart constructor.
data DescribeSessions

-- | The user for whom to list sessions. Use null to describe all the
--   sessions for the stack and fleet.
dsUserId :: Lens' DescribeSessions (Maybe Text)

-- | The pagination token to use to retrieve the next page of results for
--   this operation. If this value is null, it retrieves the first page.
dsNextToken :: Lens' DescribeSessions (Maybe Text)

-- | The size of each page of results. The default value is 20 and the
--   maximum supported value is 50.
dsLimit :: Lens' DescribeSessions (Maybe Int)

-- | The name of the stack for which to list sessions.
dsStackName :: Lens' DescribeSessions Text

-- | The name of the fleet for which to list sessions.
dsFleetName :: Lens' DescribeSessions Text

-- | Creates a value of <a>DescribeSessionsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dssrsNextToken</a> - The pagination token to use to retrieve
--   the next page of results for this operation. If there are no more
--   pages, this value is null.</li>
--   <li><a>dssrsSessions</a> - The list of streaming sessions.</li>
--   <li><a>dssrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeSessionsResponse :: Int -> DescribeSessionsResponse

-- | <i>See:</i> <a>describeSessionsResponse</a> smart constructor.
data DescribeSessionsResponse

-- | The pagination token to use to retrieve the next page of results for
--   this operation. If there are no more pages, this value is null.
dssrsNextToken :: Lens' DescribeSessionsResponse (Maybe Text)

-- | The list of streaming sessions.
dssrsSessions :: Lens' DescribeSessionsResponse [Session]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dssrsResponseStatus :: Lens' DescribeSessionsResponse Int
instance GHC.Generics.Generic Network.AWS.AppStream.DescribeSessions.DescribeSessionsResponse
instance Data.Data.Data Network.AWS.AppStream.DescribeSessions.DescribeSessionsResponse
instance GHC.Show.Show Network.AWS.AppStream.DescribeSessions.DescribeSessionsResponse
instance GHC.Read.Read Network.AWS.AppStream.DescribeSessions.DescribeSessionsResponse
instance GHC.Classes.Eq Network.AWS.AppStream.DescribeSessions.DescribeSessionsResponse
instance GHC.Generics.Generic Network.AWS.AppStream.DescribeSessions.DescribeSessions
instance Data.Data.Data Network.AWS.AppStream.DescribeSessions.DescribeSessions
instance GHC.Show.Show Network.AWS.AppStream.DescribeSessions.DescribeSessions
instance GHC.Read.Read Network.AWS.AppStream.DescribeSessions.DescribeSessions
instance GHC.Classes.Eq Network.AWS.AppStream.DescribeSessions.DescribeSessions
instance Network.AWS.Types.AWSRequest Network.AWS.AppStream.DescribeSessions.DescribeSessions
instance Data.Hashable.Class.Hashable Network.AWS.AppStream.DescribeSessions.DescribeSessions
instance Control.DeepSeq.NFData Network.AWS.AppStream.DescribeSessions.DescribeSessions
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.AppStream.DescribeSessions.DescribeSessions
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.AppStream.DescribeSessions.DescribeSessions
instance Network.AWS.Data.Path.ToPath Network.AWS.AppStream.DescribeSessions.DescribeSessions
instance Network.AWS.Data.Query.ToQuery Network.AWS.AppStream.DescribeSessions.DescribeSessions
instance Control.DeepSeq.NFData Network.AWS.AppStream.DescribeSessions.DescribeSessionsResponse


-- | 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.
module Network.AWS.AppStream.DescribeImages

-- | Creates a value of <a>DescribeImages</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>diNames</a> - A specific list of images to describe.</li>
--   </ul>
describeImages :: DescribeImages

-- | <i>See:</i> <a>describeImages</a> smart constructor.
data DescribeImages

-- | A specific list of images to describe.
diNames :: Lens' DescribeImages [Text]

-- | Creates a value of <a>DescribeImagesResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dirsImages</a> - The list of images.</li>
--   <li><a>dirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeImagesResponse :: Int -> DescribeImagesResponse

-- | <i>See:</i> <a>describeImagesResponse</a> smart constructor.
data DescribeImagesResponse

-- | The list of images.
dirsImages :: Lens' DescribeImagesResponse [Image]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dirsResponseStatus :: Lens' DescribeImagesResponse Int
instance GHC.Generics.Generic Network.AWS.AppStream.DescribeImages.DescribeImagesResponse
instance Data.Data.Data Network.AWS.AppStream.DescribeImages.DescribeImagesResponse
instance GHC.Show.Show Network.AWS.AppStream.DescribeImages.DescribeImagesResponse
instance GHC.Read.Read Network.AWS.AppStream.DescribeImages.DescribeImagesResponse
instance GHC.Classes.Eq Network.AWS.AppStream.DescribeImages.DescribeImagesResponse
instance GHC.Generics.Generic Network.AWS.AppStream.DescribeImages.DescribeImages
instance Data.Data.Data Network.AWS.AppStream.DescribeImages.DescribeImages
instance GHC.Show.Show Network.AWS.AppStream.DescribeImages.DescribeImages
instance GHC.Read.Read Network.AWS.AppStream.DescribeImages.DescribeImages
instance GHC.Classes.Eq Network.AWS.AppStream.DescribeImages.DescribeImages
instance Network.AWS.Types.AWSRequest Network.AWS.AppStream.DescribeImages.DescribeImages
instance Data.Hashable.Class.Hashable Network.AWS.AppStream.DescribeImages.DescribeImages
instance Control.DeepSeq.NFData Network.AWS.AppStream.DescribeImages.DescribeImages
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.AppStream.DescribeImages.DescribeImages
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.AppStream.DescribeImages.DescribeImages
instance Network.AWS.Data.Path.ToPath Network.AWS.AppStream.DescribeImages.DescribeImages
instance Network.AWS.Data.Query.ToQuery Network.AWS.AppStream.DescribeImages.DescribeImages
instance Control.DeepSeq.NFData Network.AWS.AppStream.DescribeImages.DescribeImagesResponse


-- | If fleet names are provided, this operation describes the specified
--   fleets; otherwise, all the fleets in the account are described.
module Network.AWS.AppStream.DescribeFleets

-- | Creates a value of <a>DescribeFleets</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dfNextToken</a> - The pagination token to use to retrieve the
--   next page of results for this operation. If this value is null, it
--   retrieves the first page.</li>
--   <li><a>dfNames</a> - The fleet names to describe. Use null to describe
--   all the fleets for the AWS account.</li>
--   </ul>
describeFleets :: DescribeFleets

-- | <i>See:</i> <a>describeFleets</a> smart constructor.
data DescribeFleets

-- | The pagination token to use to retrieve the next page of results for
--   this operation. If this value is null, it retrieves the first page.
dfNextToken :: Lens' DescribeFleets (Maybe Text)

-- | The fleet names to describe. Use null to describe all the fleets for
--   the AWS account.
dfNames :: Lens' DescribeFleets [Text]

-- | Creates a value of <a>DescribeFleetsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dfsrsNextToken</a> - The pagination token to use to retrieve
--   the next page of results for this operation. If there are no more
--   pages, this value is null.</li>
--   <li><a>dfsrsFleets</a> - The list of fleet details.</li>
--   <li><a>dfsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeFleetsResponse :: Int -> DescribeFleetsResponse

-- | <i>See:</i> <a>describeFleetsResponse</a> smart constructor.
data DescribeFleetsResponse

-- | The pagination token to use to retrieve the next page of results for
--   this operation. If there are no more pages, this value is null.
dfsrsNextToken :: Lens' DescribeFleetsResponse (Maybe Text)

-- | The list of fleet details.
dfsrsFleets :: Lens' DescribeFleetsResponse [Fleet]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dfsrsResponseStatus :: Lens' DescribeFleetsResponse Int
instance GHC.Generics.Generic Network.AWS.AppStream.DescribeFleets.DescribeFleetsResponse
instance Data.Data.Data Network.AWS.AppStream.DescribeFleets.DescribeFleetsResponse
instance GHC.Show.Show Network.AWS.AppStream.DescribeFleets.DescribeFleetsResponse
instance GHC.Read.Read Network.AWS.AppStream.DescribeFleets.DescribeFleetsResponse
instance GHC.Classes.Eq Network.AWS.AppStream.DescribeFleets.DescribeFleetsResponse
instance GHC.Generics.Generic Network.AWS.AppStream.DescribeFleets.DescribeFleets
instance Data.Data.Data Network.AWS.AppStream.DescribeFleets.DescribeFleets
instance GHC.Show.Show Network.AWS.AppStream.DescribeFleets.DescribeFleets
instance GHC.Read.Read Network.AWS.AppStream.DescribeFleets.DescribeFleets
instance GHC.Classes.Eq Network.AWS.AppStream.DescribeFleets.DescribeFleets
instance Network.AWS.Types.AWSRequest Network.AWS.AppStream.DescribeFleets.DescribeFleets
instance Data.Hashable.Class.Hashable Network.AWS.AppStream.DescribeFleets.DescribeFleets
instance Control.DeepSeq.NFData Network.AWS.AppStream.DescribeFleets.DescribeFleets
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.AppStream.DescribeFleets.DescribeFleets
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.AppStream.DescribeFleets.DescribeFleets
instance Network.AWS.Data.Path.ToPath Network.AWS.AppStream.DescribeFleets.DescribeFleets
instance Network.AWS.Data.Query.ToQuery Network.AWS.AppStream.DescribeFleets.DescribeFleets
instance Control.DeepSeq.NFData Network.AWS.AppStream.DescribeFleets.DescribeFleetsResponse


-- | Deletes the stack. After this operation completes, the environment can
--   no longer be activated, and any reservations made for the stack are
--   released.
module Network.AWS.AppStream.DeleteStack

-- | Creates a value of <a>DeleteStack</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsName</a> - The name of the stack to delete.</li>
--   </ul>
deleteStack :: Text -> DeleteStack

-- | <i>See:</i> <a>deleteStack</a> smart constructor.
data DeleteStack

-- | The name of the stack to delete.
dsName :: Lens' DeleteStack Text

-- | Creates a value of <a>DeleteStackResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteStackResponse :: Int -> DeleteStackResponse

-- | <i>See:</i> <a>deleteStackResponse</a> smart constructor.
data DeleteStackResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dsrsResponseStatus :: Lens' DeleteStackResponse Int
instance GHC.Generics.Generic Network.AWS.AppStream.DeleteStack.DeleteStackResponse
instance Data.Data.Data Network.AWS.AppStream.DeleteStack.DeleteStackResponse
instance GHC.Show.Show Network.AWS.AppStream.DeleteStack.DeleteStackResponse
instance GHC.Read.Read Network.AWS.AppStream.DeleteStack.DeleteStackResponse
instance GHC.Classes.Eq Network.AWS.AppStream.DeleteStack.DeleteStackResponse
instance GHC.Generics.Generic Network.AWS.AppStream.DeleteStack.DeleteStack
instance Data.Data.Data Network.AWS.AppStream.DeleteStack.DeleteStack
instance GHC.Show.Show Network.AWS.AppStream.DeleteStack.DeleteStack
instance GHC.Read.Read Network.AWS.AppStream.DeleteStack.DeleteStack
instance GHC.Classes.Eq Network.AWS.AppStream.DeleteStack.DeleteStack
instance Network.AWS.Types.AWSRequest Network.AWS.AppStream.DeleteStack.DeleteStack
instance Data.Hashable.Class.Hashable Network.AWS.AppStream.DeleteStack.DeleteStack
instance Control.DeepSeq.NFData Network.AWS.AppStream.DeleteStack.DeleteStack
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.AppStream.DeleteStack.DeleteStack
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.AppStream.DeleteStack.DeleteStack
instance Network.AWS.Data.Path.ToPath Network.AWS.AppStream.DeleteStack.DeleteStack
instance Network.AWS.Data.Query.ToQuery Network.AWS.AppStream.DeleteStack.DeleteStack
instance Control.DeepSeq.NFData Network.AWS.AppStream.DeleteStack.DeleteStackResponse


-- | Deletes a fleet.
module Network.AWS.AppStream.DeleteFleet

-- | Creates a value of <a>DeleteFleet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dfName</a> - The name of the fleet to be deleted.</li>
--   </ul>
deleteFleet :: Text -> DeleteFleet

-- | <i>See:</i> <a>deleteFleet</a> smart constructor.
data DeleteFleet

-- | The name of the fleet to be deleted.
dfName :: Lens' DeleteFleet Text

-- | Creates a value of <a>DeleteFleetResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dfrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteFleetResponse :: Int -> DeleteFleetResponse

-- | <i>See:</i> <a>deleteFleetResponse</a> smart constructor.
data DeleteFleetResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dfrsResponseStatus :: Lens' DeleteFleetResponse Int
instance GHC.Generics.Generic Network.AWS.AppStream.DeleteFleet.DeleteFleetResponse
instance Data.Data.Data Network.AWS.AppStream.DeleteFleet.DeleteFleetResponse
instance GHC.Show.Show Network.AWS.AppStream.DeleteFleet.DeleteFleetResponse
instance GHC.Read.Read Network.AWS.AppStream.DeleteFleet.DeleteFleetResponse
instance GHC.Classes.Eq Network.AWS.AppStream.DeleteFleet.DeleteFleetResponse
instance GHC.Generics.Generic Network.AWS.AppStream.DeleteFleet.DeleteFleet
instance Data.Data.Data Network.AWS.AppStream.DeleteFleet.DeleteFleet
instance GHC.Show.Show Network.AWS.AppStream.DeleteFleet.DeleteFleet
instance GHC.Read.Read Network.AWS.AppStream.DeleteFleet.DeleteFleet
instance GHC.Classes.Eq Network.AWS.AppStream.DeleteFleet.DeleteFleet
instance Network.AWS.Types.AWSRequest Network.AWS.AppStream.DeleteFleet.DeleteFleet
instance Data.Hashable.Class.Hashable Network.AWS.AppStream.DeleteFleet.DeleteFleet
instance Control.DeepSeq.NFData Network.AWS.AppStream.DeleteFleet.DeleteFleet
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.AppStream.DeleteFleet.DeleteFleet
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.AppStream.DeleteFleet.DeleteFleet
instance Network.AWS.Data.Path.ToPath Network.AWS.AppStream.DeleteFleet.DeleteFleet
instance Network.AWS.Data.Query.ToQuery Network.AWS.AppStream.DeleteFleet.DeleteFleet
instance Control.DeepSeq.NFData Network.AWS.AppStream.DeleteFleet.DeleteFleetResponse


-- | 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.
module Network.AWS.AppStream.CreateStreamingURL

-- | Creates a value of <a>CreateStreamingURL</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csuSessionContext</a> - The sessionContext of the streaming
--   URL.</li>
--   <li><a>csuApplicationId</a> - The ID of the application that must be
--   launched after the session starts.</li>
--   <li><a>csuValidity</a> - The validity duration of the URL in seconds.
--   After this duration, the URL returned by this operation becomes
--   invalid.</li>
--   <li><a>csuStackName</a> - The stack for which the URL is
--   generated.</li>
--   <li><a>csuFleetName</a> - The fleet for which the URL is
--   generated.</li>
--   <li><a>csuUserId</a> - A unique user ID for whom the URL is
--   generated.</li>
--   </ul>
createStreamingURL :: Text -> Text -> Text -> CreateStreamingURL

-- | <i>See:</i> <a>createStreamingURL</a> smart constructor.
data CreateStreamingURL

-- | The sessionContext of the streaming URL.
csuSessionContext :: Lens' CreateStreamingURL (Maybe Text)

-- | The ID of the application that must be launched after the session
--   starts.
csuApplicationId :: Lens' CreateStreamingURL (Maybe Text)

-- | The validity duration of the URL in seconds. After this duration, the
--   URL returned by this operation becomes invalid.
csuValidity :: Lens' CreateStreamingURL (Maybe Integer)

-- | The stack for which the URL is generated.
csuStackName :: Lens' CreateStreamingURL Text

-- | The fleet for which the URL is generated.
csuFleetName :: Lens' CreateStreamingURL Text

-- | A unique user ID for whom the URL is generated.
csuUserId :: Lens' CreateStreamingURL Text

-- | Creates a value of <a>CreateStreamingURLResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csursStreamingURL</a> - The URL to start the AppStream 2.0
--   streaming session.</li>
--   <li><a>csursExpires</a> - Elapsed seconds after the Unix epoch, at
--   which time this URL expires.</li>
--   <li><a>csursResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createStreamingURLResponse :: Int -> CreateStreamingURLResponse

-- | <i>See:</i> <a>createStreamingURLResponse</a> smart constructor.
data CreateStreamingURLResponse

-- | The URL to start the AppStream 2.0 streaming session.
csursStreamingURL :: Lens' CreateStreamingURLResponse (Maybe Text)

-- | Elapsed seconds after the Unix epoch, at which time this URL expires.
csursExpires :: Lens' CreateStreamingURLResponse (Maybe UTCTime)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
csursResponseStatus :: Lens' CreateStreamingURLResponse Int
instance GHC.Generics.Generic Network.AWS.AppStream.CreateStreamingURL.CreateStreamingURLResponse
instance Data.Data.Data Network.AWS.AppStream.CreateStreamingURL.CreateStreamingURLResponse
instance GHC.Show.Show Network.AWS.AppStream.CreateStreamingURL.CreateStreamingURLResponse
instance GHC.Read.Read Network.AWS.AppStream.CreateStreamingURL.CreateStreamingURLResponse
instance GHC.Classes.Eq Network.AWS.AppStream.CreateStreamingURL.CreateStreamingURLResponse
instance GHC.Generics.Generic Network.AWS.AppStream.CreateStreamingURL.CreateStreamingURL
instance Data.Data.Data Network.AWS.AppStream.CreateStreamingURL.CreateStreamingURL
instance GHC.Show.Show Network.AWS.AppStream.CreateStreamingURL.CreateStreamingURL
instance GHC.Read.Read Network.AWS.AppStream.CreateStreamingURL.CreateStreamingURL
instance GHC.Classes.Eq Network.AWS.AppStream.CreateStreamingURL.CreateStreamingURL
instance Network.AWS.Types.AWSRequest Network.AWS.AppStream.CreateStreamingURL.CreateStreamingURL
instance Data.Hashable.Class.Hashable Network.AWS.AppStream.CreateStreamingURL.CreateStreamingURL
instance Control.DeepSeq.NFData Network.AWS.AppStream.CreateStreamingURL.CreateStreamingURL
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.AppStream.CreateStreamingURL.CreateStreamingURL
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.AppStream.CreateStreamingURL.CreateStreamingURL
instance Network.AWS.Data.Path.ToPath Network.AWS.AppStream.CreateStreamingURL.CreateStreamingURL
instance Network.AWS.Data.Query.ToQuery Network.AWS.AppStream.CreateStreamingURL.CreateStreamingURL
instance Control.DeepSeq.NFData Network.AWS.AppStream.CreateStreamingURL.CreateStreamingURLResponse


-- | Create a new stack.
module Network.AWS.AppStream.CreateStack

-- | Creates a value of <a>CreateStack</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csDisplayName</a> - The name displayed to end users on the
--   AppStream 2.0 portal.</li>
--   <li><a>csDescription</a> - The description displayed to end users on
--   the AppStream 2.0 portal.</li>
--   <li><a>csName</a> - The unique identifier for this stack.</li>
--   </ul>
createStack :: Text -> CreateStack

-- | <i>See:</i> <a>createStack</a> smart constructor.
data CreateStack

-- | The name displayed to end users on the AppStream 2.0 portal.
csDisplayName :: Lens' CreateStack (Maybe Text)

-- | The description displayed to end users on the AppStream 2.0 portal.
csDescription :: Lens' CreateStack (Maybe Text)

-- | The unique identifier for this stack.
csName :: Lens' CreateStack Text

-- | Creates a value of <a>CreateStackResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csrsStack</a> - The details for the created stack.</li>
--   <li><a>csrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createStackResponse :: Int -> CreateStackResponse

-- | <i>See:</i> <a>createStackResponse</a> smart constructor.
data CreateStackResponse

-- | The details for the created stack.
csrsStack :: Lens' CreateStackResponse (Maybe Stack)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
csrsResponseStatus :: Lens' CreateStackResponse Int
instance GHC.Generics.Generic Network.AWS.AppStream.CreateStack.CreateStackResponse
instance Data.Data.Data Network.AWS.AppStream.CreateStack.CreateStackResponse
instance GHC.Show.Show Network.AWS.AppStream.CreateStack.CreateStackResponse
instance GHC.Read.Read Network.AWS.AppStream.CreateStack.CreateStackResponse
instance GHC.Classes.Eq Network.AWS.AppStream.CreateStack.CreateStackResponse
instance GHC.Generics.Generic Network.AWS.AppStream.CreateStack.CreateStack
instance Data.Data.Data Network.AWS.AppStream.CreateStack.CreateStack
instance GHC.Show.Show Network.AWS.AppStream.CreateStack.CreateStack
instance GHC.Read.Read Network.AWS.AppStream.CreateStack.CreateStack
instance GHC.Classes.Eq Network.AWS.AppStream.CreateStack.CreateStack
instance Network.AWS.Types.AWSRequest Network.AWS.AppStream.CreateStack.CreateStack
instance Data.Hashable.Class.Hashable Network.AWS.AppStream.CreateStack.CreateStack
instance Control.DeepSeq.NFData Network.AWS.AppStream.CreateStack.CreateStack
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.AppStream.CreateStack.CreateStack
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.AppStream.CreateStack.CreateStack
instance Network.AWS.Data.Path.ToPath Network.AWS.AppStream.CreateStack.CreateStack
instance Network.AWS.Data.Query.ToQuery Network.AWS.AppStream.CreateStack.CreateStack
instance Control.DeepSeq.NFData Network.AWS.AppStream.CreateStack.CreateStackResponse


-- | Creates a new fleet.
module Network.AWS.AppStream.CreateFleet

-- | Creates a value of <a>CreateFleet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfDisconnectTimeoutInSeconds</a> - The time after disconnection
--   when a session is considered to have ended. If a user who got
--   disconnected reconnects within this timeout interval, the user is
--   connected back to his/her previous session.</li>
--   <li><a>cfMaxUserDurationInSeconds</a> - The maximum time up to which a
--   streaming session can run.</li>
--   <li><a>cfVPCConfig</a> - The VPC configuration for the fleet.</li>
--   <li><a>cfDisplayName</a> - The display name of the fleet.</li>
--   <li><a>cfDescription</a> - The description of the fleet.</li>
--   <li><a>cfName</a> - A unique identifier for the fleet.</li>
--   <li><a>cfImageName</a> - Unique name of the image used by the
--   fleet.</li>
--   <li><a>cfInstanceType</a> - The instance type of compute resources for
--   the fleet. Fleet instances are launched from this instance type.</li>
--   <li><a>cfComputeCapacity</a> - The parameters for the capacity
--   allocated to the fleet.</li>
--   </ul>
createFleet :: Text -> Text -> Text -> ComputeCapacity -> CreateFleet

-- | Contains the parameters for the new fleet to create.
--   
--   <i>See:</i> <a>createFleet</a> smart constructor.
data CreateFleet

-- | The time after disconnection when a session is considered to have
--   ended. If a user who got disconnected reconnects within this timeout
--   interval, the user is connected back to his/her previous session.
cfDisconnectTimeoutInSeconds :: Lens' CreateFleet (Maybe Int)

-- | The maximum time up to which a streaming session can run.
cfMaxUserDurationInSeconds :: Lens' CreateFleet (Maybe Int)

-- | The VPC configuration for the fleet.
cfVPCConfig :: Lens' CreateFleet (Maybe VPCConfig)

-- | The display name of the fleet.
cfDisplayName :: Lens' CreateFleet (Maybe Text)

-- | The description of the fleet.
cfDescription :: Lens' CreateFleet (Maybe Text)

-- | A unique identifier for the fleet.
cfName :: Lens' CreateFleet Text

-- | Unique name of the image used by the fleet.
cfImageName :: Lens' CreateFleet Text

-- | The instance type of compute resources for the fleet. Fleet instances
--   are launched from this instance type.
cfInstanceType :: Lens' CreateFleet Text

-- | The parameters for the capacity allocated to the fleet.
cfComputeCapacity :: Lens' CreateFleet ComputeCapacity

-- | Creates a value of <a>CreateFleetResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfrsFleet</a> - The details for the created fleet.</li>
--   <li><a>cfrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createFleetResponse :: Int -> CreateFleetResponse

-- | <i>See:</i> <a>createFleetResponse</a> smart constructor.
data CreateFleetResponse

-- | The details for the created fleet.
cfrsFleet :: Lens' CreateFleetResponse (Maybe Fleet)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cfrsResponseStatus :: Lens' CreateFleetResponse Int
instance GHC.Generics.Generic Network.AWS.AppStream.CreateFleet.CreateFleetResponse
instance Data.Data.Data Network.AWS.AppStream.CreateFleet.CreateFleetResponse
instance GHC.Show.Show Network.AWS.AppStream.CreateFleet.CreateFleetResponse
instance GHC.Read.Read Network.AWS.AppStream.CreateFleet.CreateFleetResponse
instance GHC.Classes.Eq Network.AWS.AppStream.CreateFleet.CreateFleetResponse
instance GHC.Generics.Generic Network.AWS.AppStream.CreateFleet.CreateFleet
instance Data.Data.Data Network.AWS.AppStream.CreateFleet.CreateFleet
instance GHC.Show.Show Network.AWS.AppStream.CreateFleet.CreateFleet
instance GHC.Read.Read Network.AWS.AppStream.CreateFleet.CreateFleet
instance GHC.Classes.Eq Network.AWS.AppStream.CreateFleet.CreateFleet
instance Network.AWS.Types.AWSRequest Network.AWS.AppStream.CreateFleet.CreateFleet
instance Data.Hashable.Class.Hashable Network.AWS.AppStream.CreateFleet.CreateFleet
instance Control.DeepSeq.NFData Network.AWS.AppStream.CreateFleet.CreateFleet
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.AppStream.CreateFleet.CreateFleet
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.AppStream.CreateFleet.CreateFleet
instance Network.AWS.Data.Path.ToPath Network.AWS.AppStream.CreateFleet.CreateFleet
instance Network.AWS.Data.Query.ToQuery Network.AWS.AppStream.CreateFleet.CreateFleet
instance Control.DeepSeq.NFData Network.AWS.AppStream.CreateFleet.CreateFleetResponse


-- | Associate a fleet to a stack.
module Network.AWS.AppStream.AssociateFleet

-- | Creates a value of <a>AssociateFleet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>afFleetName</a> - The name of the fleet to associate.</li>
--   <li><a>afStackName</a> - The name of the stack to which the fleet is
--   associated.</li>
--   </ul>
associateFleet :: Text -> Text -> AssociateFleet

-- | <i>See:</i> <a>associateFleet</a> smart constructor.
data AssociateFleet

-- | The name of the fleet to associate.
afFleetName :: Lens' AssociateFleet Text

-- | The name of the stack to which the fleet is associated.
afStackName :: Lens' AssociateFleet Text

-- | Creates a value of <a>AssociateFleetResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>afrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
associateFleetResponse :: Int -> AssociateFleetResponse

-- | <i>See:</i> <a>associateFleetResponse</a> smart constructor.
data AssociateFleetResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
afrsResponseStatus :: Lens' AssociateFleetResponse Int
instance GHC.Generics.Generic Network.AWS.AppStream.AssociateFleet.AssociateFleetResponse
instance Data.Data.Data Network.AWS.AppStream.AssociateFleet.AssociateFleetResponse
instance GHC.Show.Show Network.AWS.AppStream.AssociateFleet.AssociateFleetResponse
instance GHC.Read.Read Network.AWS.AppStream.AssociateFleet.AssociateFleetResponse
instance GHC.Classes.Eq Network.AWS.AppStream.AssociateFleet.AssociateFleetResponse
instance GHC.Generics.Generic Network.AWS.AppStream.AssociateFleet.AssociateFleet
instance Data.Data.Data Network.AWS.AppStream.AssociateFleet.AssociateFleet
instance GHC.Show.Show Network.AWS.AppStream.AssociateFleet.AssociateFleet
instance GHC.Read.Read Network.AWS.AppStream.AssociateFleet.AssociateFleet
instance GHC.Classes.Eq Network.AWS.AppStream.AssociateFleet.AssociateFleet
instance Network.AWS.Types.AWSRequest Network.AWS.AppStream.AssociateFleet.AssociateFleet
instance Data.Hashable.Class.Hashable Network.AWS.AppStream.AssociateFleet.AssociateFleet
instance Control.DeepSeq.NFData Network.AWS.AppStream.AssociateFleet.AssociateFleet
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.AppStream.AssociateFleet.AssociateFleet
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.AppStream.AssociateFleet.AssociateFleet
instance Network.AWS.Data.Path.ToPath Network.AWS.AppStream.AssociateFleet.AssociateFleet
instance Network.AWS.Data.Query.ToQuery Network.AWS.AppStream.AssociateFleet.AssociateFleet
instance Control.DeepSeq.NFData Network.AWS.AppStream.AssociateFleet.AssociateFleetResponse


-- | <b>Amazon AppStream 2.0</b>
--   
--   API documentation for Amazon AppStream 2.0.
module Network.AWS.AppStream

-- | API version <tt>2016-12-01</tt> of the Amazon AppStream SDK
--   configuration.
appStream :: Service

-- | The specified role is invalid.
_InvalidRoleException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified resource already exists.
_ResourceAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The attempted operation is not permitted.
_OperationNotPermittedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified resource was not found.
_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified resource exists and is not in use, but isn't available.
_ResourceNotAvailableException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The requested limit exceeds the permitted limit for an account.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified resource is in use.
_ResourceInUseException :: AsError a => Getting (First ServiceError) a ServiceError
data FleetErrorCode
IAMServiceRoleIsMissing :: FleetErrorCode
IAMServiceRoleMissingDescribeSubnetAction :: FleetErrorCode
IAMServiceRoleMissingEniCreateAction :: FleetErrorCode
IAMServiceRoleMissingEniDeleteAction :: FleetErrorCode
IAMServiceRoleMissingEniDescribeAction :: FleetErrorCode
ImageNotFound :: FleetErrorCode
InternalServiceError :: FleetErrorCode
InvalidSubnetConfiguration :: FleetErrorCode
NetworkInterfaceLimitExceeded :: FleetErrorCode
SubnetHasInsufficientIPAddresses :: FleetErrorCode
SubnetNotFound :: FleetErrorCode
data FleetState
Running :: FleetState
Starting :: FleetState
Stopped :: FleetState
Stopping :: FleetState
data ImageState
ISAvailable :: ImageState
ISDeleting :: ImageState
ISFailed :: ImageState
ISPending :: ImageState
data ImageStateChangeReasonCode
ImageBuilderNotAvailable :: ImageStateChangeReasonCode
InternalError :: ImageStateChangeReasonCode
data PlatformType
Windows :: PlatformType

-- | Possible values for the state of a streaming session.
data SessionState
Active :: SessionState
Expired :: SessionState
Pending :: SessionState
data VisibilityType
Private :: VisibilityType
Public :: VisibilityType

-- | An entry for a single application in the application catalog.
--   
--   <i>See:</i> <a>application</a> smart constructor.
data Application

-- | Creates a value of <a>Application</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aEnabled</a> - An application can be disabled after image
--   creation if there is a problem.</li>
--   <li><a>aLaunchPath</a> - The path to the application executable in the
--   instance.</li>
--   <li><a>aLaunchParameters</a> - A list of arguments that are passed to
--   the application at launch.</li>
--   <li><a>aName</a> - The unique identifier for the application.</li>
--   <li><a>aDisplayName</a> - The name of the application shown to the end
--   users.</li>
--   <li><a>aMetadata</a> - Additional attributes that describes the
--   application.</li>
--   <li><a>aIconURL</a> - The URL for the application icon. This URL may
--   be time-limited.</li>
--   </ul>
application :: Application

-- | An application can be disabled after image creation if there is a
--   problem.
aEnabled :: Lens' Application (Maybe Bool)

-- | The path to the application executable in the instance.
aLaunchPath :: Lens' Application (Maybe Text)

-- | A list of arguments that are passed to the application at launch.
aLaunchParameters :: Lens' Application (Maybe Text)

-- | The unique identifier for the application.
aName :: Lens' Application (Maybe Text)

-- | The name of the application shown to the end users.
aDisplayName :: Lens' Application (Maybe Text)

-- | Additional attributes that describes the application.
aMetadata :: Lens' Application (HashMap Text Text)

-- | The URL for the application icon. This URL may be time-limited.
aIconURL :: Lens' Application (Maybe Text)

-- | The capacity configuration for the fleet.
--   
--   <i>See:</i> <a>computeCapacity</a> smart constructor.
data ComputeCapacity

-- | Creates a value of <a>ComputeCapacity</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccDesiredInstances</a> - The desired number of streaming
--   instances.</li>
--   </ul>
computeCapacity :: Int -> ComputeCapacity

-- | The desired number of streaming instances.
ccDesiredInstances :: Lens' ComputeCapacity Int

-- | The capacity information for the fleet.
--   
--   <i>See:</i> <a>computeCapacityStatus</a> smart constructor.
data ComputeCapacityStatus

-- | Creates a value of <a>ComputeCapacityStatus</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccsInUse</a> - The number of instances that are being used for
--   streaming.</li>
--   <li><a>ccsRunning</a> - The total number of simultaneous streaming
--   instances that are running.</li>
--   <li><a>ccsAvailable</a> - The number of currently available instances
--   that can be used to stream sessions.</li>
--   <li><a>ccsDesired</a> - The desired number of streaming
--   instances.</li>
--   </ul>
computeCapacityStatus :: Int -> ComputeCapacityStatus

-- | The number of instances that are being used for streaming.
ccsInUse :: Lens' ComputeCapacityStatus (Maybe Int)

-- | The total number of simultaneous streaming instances that are running.
ccsRunning :: Lens' ComputeCapacityStatus (Maybe Int)

-- | The number of currently available instances that can be used to stream
--   sessions.
ccsAvailable :: Lens' ComputeCapacityStatus (Maybe Int)

-- | The desired number of streaming instances.
ccsDesired :: Lens' ComputeCapacityStatus Int

-- | Contains the parameters for a fleet.
--   
--   <i>See:</i> <a>fleet</a> smart constructor.
data Fleet

-- | Creates a value of <a>Fleet</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fDisconnectTimeoutInSeconds</a> - The time after disconnection
--   when a session is considered to have ended. When a user reconnects
--   after a disconnection, the user is connected to the same session and
--   instance within this time interval.</li>
--   <li><a>fMaxUserDurationInSeconds</a> - The maximum time during which a
--   streaming session can run.</li>
--   <li><a>fCreatedTime</a> - The time at which the fleet was
--   created.</li>
--   <li><a>fVPCConfig</a> - The VPC configuration for the fleet.</li>
--   <li><a>fFleetErrors</a> - The list of fleet errors is appended to this
--   list.</li>
--   <li><a>fDisplayName</a> - The name displayed to end users on the
--   AppStream 2.0 portal.</li>
--   <li><a>fDescription</a> - The description displayed to end users on
--   the AppStream 2.0 portal.</li>
--   <li><a>fARN</a> - The ARN for the fleet.</li>
--   <li><a>fName</a> - The name of the fleet.</li>
--   <li><a>fImageName</a> - The image used by the fleet.</li>
--   <li><a>fInstanceType</a> - The instance type of compute resources for
--   the fleet. The fleet instances are launched from this instance
--   type.</li>
--   <li><a>fComputeCapacityStatus</a> - The capacity information for the
--   fleet.</li>
--   <li><a>fState</a> - The current state for the fleet.</li>
--   </ul>
fleet :: Text -> Text -> Text -> Text -> ComputeCapacityStatus -> FleetState -> Fleet

-- | The time after disconnection when a session is considered to have
--   ended. When a user reconnects after a disconnection, the user is
--   connected to the same session and instance within this time interval.
fDisconnectTimeoutInSeconds :: Lens' Fleet (Maybe Int)

-- | The maximum time during which a streaming session can run.
fMaxUserDurationInSeconds :: Lens' Fleet (Maybe Int)

-- | The time at which the fleet was created.
fCreatedTime :: Lens' Fleet (Maybe UTCTime)

-- | The VPC configuration for the fleet.
fVPCConfig :: Lens' Fleet (Maybe VPCConfig)

-- | The list of fleet errors is appended to this list.
fFleetErrors :: Lens' Fleet [FleetError]

-- | The name displayed to end users on the AppStream 2.0 portal.
fDisplayName :: Lens' Fleet (Maybe Text)

-- | The description displayed to end users on the AppStream 2.0 portal.
fDescription :: Lens' Fleet (Maybe Text)

-- | The ARN for the fleet.
fARN :: Lens' Fleet Text

-- | The name of the fleet.
fName :: Lens' Fleet Text

-- | The image used by the fleet.
fImageName :: Lens' Fleet Text

-- | The instance type of compute resources for the fleet. The fleet
--   instances are launched from this instance type.
fInstanceType :: Lens' Fleet Text

-- | The capacity information for the fleet.
fComputeCapacityStatus :: Lens' Fleet ComputeCapacityStatus

-- | The current state for the fleet.
fState :: Lens' Fleet FleetState

-- | The details of the fleet error.
--   
--   <i>See:</i> <a>fleetError</a> smart constructor.
data FleetError

-- | Creates a value of <a>FleetError</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>feErrorCode</a> - The error code for the fleet error.</li>
--   <li><a>feErrorMessage</a> - The error message generated when the fleet
--   has errors.</li>
--   </ul>
fleetError :: FleetError

-- | The error code for the fleet error.
feErrorCode :: Lens' FleetError (Maybe FleetErrorCode)

-- | The error message generated when the fleet has errors.
feErrorMessage :: Lens' FleetError (Maybe Text)

-- | New streaming instances are booted from images. The image stores the
--   application catalog and is connected to fleets.
--   
--   <i>See:</i> <a>image</a> smart constructor.
data Image

-- | Creates a value of <a>Image</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iState</a> - The image starts in the <b>PENDING</b> state, and
--   then moves to <b>AVAILABLE</b> if image creation succeeds and
--   <b>FAILED</b> if image creation has failed.</li>
--   <li><a>iPlatform</a> - The operating system platform of the
--   image.</li>
--   <li><a>iStateChangeReason</a> - The reason why the last state change
--   occurred.</li>
--   <li><a>iARN</a> - The ARN for the image.</li>
--   <li><a>iCreatedTime</a> - The timestamp when the image was
--   created.</li>
--   <li><a>iVisibility</a> - The visibility of an image to the user;
--   images can be public or private.</li>
--   <li><a>iBaseImageARN</a> - The source image ARN from which this image
--   was created.</li>
--   <li><a>iDisplayName</a> - The display name for the image.</li>
--   <li><a>iDescription</a> - A meaningful description for the image.</li>
--   <li><a>iApplications</a> - The applications associated with an
--   image.</li>
--   <li><a>iName</a> - The unique identifier for the image.</li>
--   </ul>
image :: Text -> Image

-- | The image starts in the <b>PENDING</b> state, and then moves to
--   <b>AVAILABLE</b> if image creation succeeds and <b>FAILED</b> if image
--   creation has failed.
iState :: Lens' Image (Maybe ImageState)

-- | The operating system platform of the image.
iPlatform :: Lens' Image (Maybe PlatformType)

-- | The reason why the last state change occurred.
iStateChangeReason :: Lens' Image (Maybe ImageStateChangeReason)

-- | The ARN for the image.
iARN :: Lens' Image (Maybe Text)

-- | The timestamp when the image was created.
iCreatedTime :: Lens' Image (Maybe UTCTime)

-- | The visibility of an image to the user; images can be public or
--   private.
iVisibility :: Lens' Image (Maybe VisibilityType)

-- | The source image ARN from which this image was created.
iBaseImageARN :: Lens' Image (Maybe Text)

-- | The display name for the image.
iDisplayName :: Lens' Image (Maybe Text)

-- | A meaningful description for the image.
iDescription :: Lens' Image (Maybe Text)

-- | The applications associated with an image.
iApplications :: Lens' Image [Application]

-- | The unique identifier for the image.
iName :: Lens' Image Text

-- | The reason why the last state change occurred.
--   
--   <i>See:</i> <a>imageStateChangeReason</a> smart constructor.
data ImageStateChangeReason

-- | Creates a value of <a>ImageStateChangeReason</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iscrCode</a> - The state change reason code of the image.</li>
--   <li><a>iscrMessage</a> - The state change reason message to the end
--   user.</li>
--   </ul>
imageStateChangeReason :: ImageStateChangeReason

-- | The state change reason code of the image.
iscrCode :: Lens' ImageStateChangeReason (Maybe ImageStateChangeReasonCode)

-- | The state change reason message to the end user.
iscrMessage :: Lens' ImageStateChangeReason (Maybe Text)

-- | Contains the parameters for a streaming session.
--   
--   <i>See:</i> <a>session</a> smart constructor.
data Session

-- | Creates a value of <a>Session</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sId</a> - The unique ID for a streaming session.</li>
--   <li><a>sUserId</a> - The identifier of the user for whom the session
--   was created.</li>
--   <li><a>sStackName</a> - The name of the stack for which the streaming
--   session was created.</li>
--   <li><a>sFleetName</a> - The name of the fleet for which the streaming
--   session was created.</li>
--   <li><a>sState</a> - The current state of the streaming session.</li>
--   </ul>
session :: Text -> Text -> Text -> Text -> SessionState -> Session

-- | The unique ID for a streaming session.
sId :: Lens' Session Text

-- | The identifier of the user for whom the session was created.
sUserId :: Lens' Session Text

-- | The name of the stack for which the streaming session was created.
sStackName :: Lens' Session Text

-- | The name of the fleet for which the streaming session was created.
sFleetName :: Lens' Session Text

-- | The current state of the streaming session.
sState :: Lens' Session SessionState

-- | Details about a stack.
--   
--   <i>See:</i> <a>stack</a> smart constructor.
data Stack

-- | Creates a value of <a>Stack</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sARN</a> - The ARN of the stack.</li>
--   <li><a>sCreatedTime</a> - The timestamp when the stack was
--   created.</li>
--   <li><a>sDisplayName</a> - A display name for the stack.</li>
--   <li><a>sDescription</a> - A meaningful description for the stack.</li>
--   <li><a>sName</a> - The unique identifier of the stack.</li>
--   </ul>
stack :: Text -> Stack

-- | The ARN of the stack.
sARN :: Lens' Stack (Maybe Text)

-- | The timestamp when the stack was created.
sCreatedTime :: Lens' Stack (Maybe UTCTime)

-- | A display name for the stack.
sDisplayName :: Lens' Stack (Maybe Text)

-- | A meaningful description for the stack.
sDescription :: Lens' Stack (Maybe Text)

-- | The unique identifier of the stack.
sName :: Lens' Stack Text

-- | The VPC in which the fleet is launched.
--   
--   <i>See:</i> <a>vpcConfig</a> smart constructor.
data VPCConfig

-- | Creates a value of <a>VPCConfig</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vcSubnetIds</a> - The list of subnets to which a network
--   interface is established from the fleet instance.</li>
--   </ul>
vpcConfig :: NonEmpty Text -> VPCConfig

-- | The list of subnets to which a network interface is established from
--   the fleet instance.
vcSubnetIds :: Lens' VPCConfig (NonEmpty Text)
