-- 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.6.1


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 image does not support storage connectors.
_IncompatibleImageException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An API error occurred. Wait a few minutes and try again.
_ConcurrentModificationException :: AsError a => Getting (First ServiceError) a ServiceError

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

-- | The resource cannot be created because your AWS account is suspended.
--   For assistance, contact AWS Support.
_InvalidAccountStatusException :: AsError a => Getting (First ServiceError) a ServiceError

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

-- | Indicates an incorrect combination of parameters, or a missing
--   parameter.
_InvalidParameterCombinationException :: 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 AuthenticationType
API :: AuthenticationType
Saml :: AuthenticationType
Userpool :: AuthenticationType

-- | The fleet attribute.
data FleetAttribute
DomainJoinInfo :: FleetAttribute
VPCConfiguration :: FleetAttribute
VPCConfigurationSecurityGroupIds :: FleetAttribute
data FleetErrorCode
DomainJoinErrorAccessDenied :: FleetErrorCode
DomainJoinErrorDsMachineAccountQuotaExceeded :: FleetErrorCode
DomainJoinErrorFileNotFound :: FleetErrorCode
DomainJoinErrorInvalidParameter :: FleetErrorCode
DomainJoinErrorLogonFailure :: FleetErrorCode
DomainJoinErrorMoreData :: FleetErrorCode
DomainJoinErrorNoSuchDomain :: FleetErrorCode
DomainJoinErrorNotSupported :: FleetErrorCode
DomainJoinInternalServiceError :: FleetErrorCode
DomainJoinNerrInvalidWorkgroupName :: FleetErrorCode
DomainJoinNerrPasswordExpired :: FleetErrorCode
DomainJoinNerrWorkstationNotStarted :: FleetErrorCode
IAMServiceRoleIsMissing :: FleetErrorCode
IAMServiceRoleMissingDescribeSecurityGroupsAction :: FleetErrorCode
IAMServiceRoleMissingDescribeSubnetAction :: FleetErrorCode
IAMServiceRoleMissingEniCreateAction :: FleetErrorCode
IAMServiceRoleMissingEniDeleteAction :: FleetErrorCode
IAMServiceRoleMissingEniDescribeAction :: FleetErrorCode
IgwNotAttached :: FleetErrorCode
ImageNotFound :: FleetErrorCode
InternalServiceError :: FleetErrorCode
InvalidSubnetConfiguration :: FleetErrorCode
NetworkInterfaceLimitExceeded :: FleetErrorCode
SecurityGroupsNotFound :: FleetErrorCode
SubnetHasInsufficientIPAddresses :: FleetErrorCode
SubnetNotFound :: FleetErrorCode
data FleetState
Running :: FleetState
Starting :: FleetState
Stopped :: FleetState
Stopping :: FleetState
data FleetType
AlwaysOn :: FleetType
OnDemand :: FleetType
data ImageBuilderState
IBSDeleting :: ImageBuilderState
IBSFailed :: ImageBuilderState
IBSPending :: ImageBuilderState
IBSRebooting :: ImageBuilderState
IBSRunning :: ImageBuilderState
IBSSnapshotting :: ImageBuilderState
IBSStopped :: ImageBuilderState
IBSStopping :: ImageBuilderState
IBSUpdatingAgent :: ImageBuilderState
data ImageBuilderStateChangeReasonCode
ImageUnavailable :: ImageBuilderStateChangeReasonCode
InternalError :: ImageBuilderStateChangeReasonCode
data ImageState
ISAvailable :: ImageState
ISCopying :: ImageState
ISDeleting :: ImageState
ISFailed :: ImageState
ISPending :: ImageState
data ImageStateChangeReasonCode
ISCRCImageBuilderNotAvailable :: ImageStateChangeReasonCode
ISCRCImageCopyFailure :: ImageStateChangeReasonCode
ISCRCInternalError :: ImageStateChangeReasonCode
data PlatformType
Windows :: PlatformType

-- | Possible values for the state of a streaming session.
data SessionState
Active :: SessionState
Expired :: SessionState
Pending :: SessionState
data StackAttribute
FeedbackURL :: StackAttribute
RedirectURL :: StackAttribute
StorageConnectors :: StackAttribute
ThemeName :: StackAttribute
data StackErrorCode
SECInternalServiceError :: StackErrorCode
SECStorageConnectorError :: StackErrorCode

-- | The type of storage connector.
data StorageConnectorType
Homefolders :: StorageConnectorType
data VisibilityType
Private :: VisibilityType
Public :: VisibilityType

-- | Describes an 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> - If there is a problem, the application can be
--   disabled after image creation.</li>
--   <li><a>aLaunchPath</a> - The path to the application executable in the
--   instance.</li>
--   <li><a>aLaunchParameters</a> - The arguments that are passed to the
--   application at launch.</li>
--   <li><a>aName</a> - The name of the application.</li>
--   <li><a>aDisplayName</a> - The application name for display.</li>
--   <li><a>aMetadata</a> - Additional attributes that describe the
--   application.</li>
--   <li><a>aIconURL</a> - The URL for the application icon. This URL might
--   be time-limited.</li>
--   </ul>
application :: Application

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

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

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

-- | The name of the application.
aName :: Lens' Application (Maybe Text)

-- | The application name for display.
aDisplayName :: Lens' Application (Maybe Text)

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

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

-- | Describes the capacity for a 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

-- | Describes the capacity status for a 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 in use 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 in use 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

-- | Configuration information for the directory used to join domains.
--   
--   <i>See:</i> <a>directoryConfig</a> smart constructor.
data DirectoryConfig

-- | Creates a value of <a>DirectoryConfig</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>dcCreatedTime</a> - The time the directory configuration was
--   created.</li>
--   <li><a>dcServiceAccountCredentials</a> - The credentials for the
--   service account used by the streaming instance to connect to the
--   directory.</li>
--   <li><a>dcOrganizationalUnitDistinguishedNames</a> - The distinguished
--   names of the organizational units for computer accounts.</li>
--   <li><a>dcDirectoryName</a> - The fully qualified name of the directory
--   (for example, corp.example.com).</li>
--   </ul>
directoryConfig :: Text -> DirectoryConfig

-- | The time the directory configuration was created.
dcCreatedTime :: Lens' DirectoryConfig (Maybe UTCTime)

-- | The credentials for the service account used by the streaming instance
--   to connect to the directory.
dcServiceAccountCredentials :: Lens' DirectoryConfig (Maybe ServiceAccountCredentials)

-- | The distinguished names of the organizational units for computer
--   accounts.
dcOrganizationalUnitDistinguishedNames :: Lens' DirectoryConfig [Text]

-- | The fully qualified name of the directory (for example,
--   corp.example.com).
dcDirectoryName :: Lens' DirectoryConfig Text

-- | Contains the information needed to join a Microsoft Active Directory
--   domain.
--   
--   <i>See:</i> <a>domainJoinInfo</a> smart constructor.
data DomainJoinInfo

-- | Creates a value of <a>DomainJoinInfo</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>djiOrganizationalUnitDistinguishedName</a> - The distinguished
--   name of the organizational unit for computer accounts.</li>
--   <li><a>djiDirectoryName</a> - The fully qualified name of the
--   directory (for example, corp.example.com).</li>
--   </ul>
domainJoinInfo :: DomainJoinInfo

-- | The distinguished name of the organizational unit for computer
--   accounts.
djiOrganizationalUnitDistinguishedName :: Lens' DomainJoinInfo (Maybe Text)

-- | The fully qualified name of the directory (for example,
--   corp.example.com).
djiDirectoryName :: Lens' DomainJoinInfo (Maybe Text)

-- | 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>fDomainJoinInfo</a> - The information needed to join a
--   Microsoft Active Directory domain.</li>
--   <li><a>fDisconnectTimeoutInSeconds</a> - The time after disconnection
--   when a session is considered to have ended, in seconds. If a user who
--   was disconnected reconnects within this time interval, the user is
--   connected to their previous session. Specify a value between 60 and
--   57600.</li>
--   <li><a>fMaxUserDurationInSeconds</a> - The maximum time that a
--   streaming session can run, in seconds. Specify a value between 600 and
--   57600.</li>
--   <li><a>fCreatedTime</a> - The time the fleet was created.</li>
--   <li><a>fFleetType</a> - The fleet type. * ALWAYS_ON * Provides users
--   with instant-on access to their apps. You are charged for all running
--   instances in your fleet, even if no users are streaming apps. *
--   ON_DEMAND * Provide users with access to applications after they
--   connect, which takes one to two minutes. You are charged for instance
--   streaming when users are connected and a small hourly fee for
--   instances that are not streaming apps.</li>
--   <li><a>fVPCConfig</a> - The VPC configuration for the fleet.</li>
--   <li><a>fFleetErrors</a> - The fleet errors.</li>
--   <li><a>fDisplayName</a> - The fleet name for display.</li>
--   <li><a>fEnableDefaultInternetAccess</a> - Indicates whether default
--   internet access is enabled for the fleet.</li>
--   <li><a>fDescription</a> - The description for display.</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 name of the image used to create the
--   fleet.</li>
--   <li><a>fInstanceType</a> - The instance type to use when launching
--   fleet instances.</li>
--   <li><a>fComputeCapacityStatus</a> - The capacity status 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 information needed to join a Microsoft Active Directory domain.
fDomainJoinInfo :: Lens' Fleet (Maybe DomainJoinInfo)

-- | The time after disconnection when a session is considered to have
--   ended, in seconds. If a user who was disconnected reconnects within
--   this time interval, the user is connected to their previous session.
--   Specify a value between 60 and 57600.
fDisconnectTimeoutInSeconds :: Lens' Fleet (Maybe Int)

-- | The maximum time that a streaming session can run, in seconds. Specify
--   a value between 600 and 57600.
fMaxUserDurationInSeconds :: Lens' Fleet (Maybe Int)

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

-- | The fleet type. * ALWAYS_ON * Provides users with instant-on access to
--   their apps. You are charged for all running instances in your fleet,
--   even if no users are streaming apps. * ON_DEMAND * Provide users with
--   access to applications after they connect, which takes one to two
--   minutes. You are charged for instance streaming when users are
--   connected and a small hourly fee for instances that are not streaming
--   apps.
fFleetType :: Lens' Fleet (Maybe FleetType)

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

-- | The fleet errors.
fFleetErrors :: Lens' Fleet [FleetError]

-- | The fleet name for display.
fDisplayName :: Lens' Fleet (Maybe Text)

-- | Indicates whether default internet access is enabled for the fleet.
fEnableDefaultInternetAccess :: Lens' Fleet (Maybe Bool)

-- | The description for display.
fDescription :: Lens' Fleet (Maybe Text)

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

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

-- | The name of the image used to create the fleet.
fImageName :: Lens' Fleet Text

-- | The instance type to use when launching fleet instances.
fInstanceType :: Lens' Fleet Text

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

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

-- | Describes a 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.</li>
--   <li><a>feErrorMessage</a> - The error message.</li>
--   </ul>
fleetError :: FleetError

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

-- | The error message.
feErrorMessage :: Lens' FleetError (Maybe Text)

-- | Describes an image.
--   
--   <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 <tt>PENDING</tt> state. If
--   image creation succeeds, the state is <tt>AVAILABLE</tt> . If image
--   creation fails, the state is <tt>FAILED</tt> .</li>
--   <li><a>iPlatform</a> - The operating system platform of the
--   image.</li>
--   <li><a>iPublicBaseImageReleasedDate</a> - The release date of the
--   public base image. For private images, this date is the release date
--   of the base image from which the image was created.</li>
--   <li><a>iStateChangeReason</a> - The reason why the last state change
--   occurred.</li>
--   <li><a>iARN</a> - The ARN of the image.</li>
--   <li><a>iCreatedTime</a> - The time the image was created.</li>
--   <li><a>iImageBuilderSupported</a> - Indicates whether an image builder
--   can be launched from this image.</li>
--   <li><a>iVisibility</a> - Indicates whether the image is public or
--   private.</li>
--   <li><a>iBaseImageARN</a> - The ARN of the image from which this image
--   was created.</li>
--   <li><a>iDisplayName</a> - The image name for display.</li>
--   <li><a>iDescription</a> - The description for display.</li>
--   <li><a>iAppstreamAgentVersion</a> - The version of the AppStream 2.0
--   agent to use for instances that are launched from this image.</li>
--   <li><a>iApplications</a> - The applications associated with the
--   image.</li>
--   <li><a>iName</a> - The name of the image.</li>
--   </ul>
image :: Text -> Image

-- | The image starts in the <tt>PENDING</tt> state. If image creation
--   succeeds, the state is <tt>AVAILABLE</tt> . If image creation fails,
--   the state is <tt>FAILED</tt> .
iState :: Lens' Image (Maybe ImageState)

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

-- | The release date of the public base image. For private images, this
--   date is the release date of the base image from which the image was
--   created.
iPublicBaseImageReleasedDate :: Lens' Image (Maybe UTCTime)

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

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

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

-- | Indicates whether an image builder can be launched from this image.
iImageBuilderSupported :: Lens' Image (Maybe Bool)

-- | Indicates whether the image is public or private.
iVisibility :: Lens' Image (Maybe VisibilityType)

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

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

-- | The description for display.
iDescription :: Lens' Image (Maybe Text)

-- | The version of the AppStream 2.0 agent to use for instances that are
--   launched from this image.
iAppstreamAgentVersion :: Lens' Image (Maybe Text)

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

-- | The name of the image.
iName :: Lens' Image Text

-- | Describes a streaming instance used for editing an image. New images
--   are created from a snapshot through an image builder.
--   
--   <i>See:</i> <a>imageBuilder</a> smart constructor.
data ImageBuilder

-- | Creates a value of <a>ImageBuilder</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>ibDomainJoinInfo</a> - The information needed to join a
--   Microsoft Active Directory domain.</li>
--   <li><a>ibState</a> - The state of the image builder.</li>
--   <li><a>ibPlatform</a> - The operating system platform of the image
--   builder.</li>
--   <li><a>ibStateChangeReason</a> - The reason why the last state change
--   occurred.</li>
--   <li><a>ibARN</a> - The ARN for the image builder.</li>
--   <li><a>ibCreatedTime</a> - The time stamp when the image builder was
--   created.</li>
--   <li><a>ibImageBuilderErrors</a> - The image builder errors.</li>
--   <li><a>ibInstanceType</a> - The instance type for the image
--   builder.</li>
--   <li><a>ibVPCConfig</a> - The VPC configuration of the image
--   builder.</li>
--   <li><a>ibImageARN</a> - The ARN of the image from which this builder
--   was created.</li>
--   <li><a>ibDisplayName</a> - The image builder name for display.</li>
--   <li><a>ibEnableDefaultInternetAccess</a> - Enables or disables default
--   internet access for the image builder.</li>
--   <li><a>ibDescription</a> - The description for display.</li>
--   <li><a>ibAppstreamAgentVersion</a> - The version of the AppStream 2.0
--   agent that is currently being used by this image builder.</li>
--   <li><a>ibName</a> - The name of the image builder.</li>
--   </ul>
imageBuilder :: Text -> ImageBuilder

-- | The information needed to join a Microsoft Active Directory domain.
ibDomainJoinInfo :: Lens' ImageBuilder (Maybe DomainJoinInfo)

-- | The state of the image builder.
ibState :: Lens' ImageBuilder (Maybe ImageBuilderState)

-- | The operating system platform of the image builder.
ibPlatform :: Lens' ImageBuilder (Maybe PlatformType)

-- | The reason why the last state change occurred.
ibStateChangeReason :: Lens' ImageBuilder (Maybe ImageBuilderStateChangeReason)

-- | The ARN for the image builder.
ibARN :: Lens' ImageBuilder (Maybe Text)

-- | The time stamp when the image builder was created.
ibCreatedTime :: Lens' ImageBuilder (Maybe UTCTime)

-- | The image builder errors.
ibImageBuilderErrors :: Lens' ImageBuilder [ResourceError]

-- | The instance type for the image builder.
ibInstanceType :: Lens' ImageBuilder (Maybe Text)

-- | The VPC configuration of the image builder.
ibVPCConfig :: Lens' ImageBuilder (Maybe VPCConfig)

-- | The ARN of the image from which this builder was created.
ibImageARN :: Lens' ImageBuilder (Maybe Text)

-- | The image builder name for display.
ibDisplayName :: Lens' ImageBuilder (Maybe Text)

-- | Enables or disables default internet access for the image builder.
ibEnableDefaultInternetAccess :: Lens' ImageBuilder (Maybe Bool)

-- | The description for display.
ibDescription :: Lens' ImageBuilder (Maybe Text)

-- | The version of the AppStream 2.0 agent that is currently being used by
--   this image builder.
ibAppstreamAgentVersion :: Lens' ImageBuilder (Maybe Text)

-- | The name of the image builder.
ibName :: Lens' ImageBuilder Text

-- | Describes the reason why the last image builder state change occurred.
--   
--   <i>See:</i> <a>imageBuilderStateChangeReason</a> smart constructor.
data ImageBuilderStateChangeReason

-- | Creates a value of <a>ImageBuilderStateChangeReason</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>ibscrCode</a> - The state change reason code.</li>
--   <li><a>ibscrMessage</a> - The state change reason message.</li>
--   </ul>
imageBuilderStateChangeReason :: ImageBuilderStateChangeReason

-- | The state change reason code.
ibscrCode :: Lens' ImageBuilderStateChangeReason (Maybe ImageBuilderStateChangeReasonCode)

-- | The state change reason message.
ibscrMessage :: Lens' ImageBuilderStateChangeReason (Maybe Text)

-- | Describes the reason why the last image 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.</li>
--   <li><a>iscrMessage</a> - The state change reason message.</li>
--   </ul>
imageStateChangeReason :: ImageStateChangeReason

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

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

-- | Describes a resource error.
--   
--   <i>See:</i> <a>resourceError</a> smart constructor.
data ResourceError

-- | Creates a value of <a>ResourceError</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>reErrorCode</a> - The error code.</li>
--   <li><a>reErrorMessage</a> - The error message.</li>
--   <li><a>reErrorTimestamp</a> - The time the error occurred.</li>
--   </ul>
resourceError :: ResourceError

-- | The error code.
reErrorCode :: Lens' ResourceError (Maybe FleetErrorCode)

-- | The error message.
reErrorMessage :: Lens' ResourceError (Maybe Text)

-- | The time the error occurred.
reErrorTimestamp :: Lens' ResourceError (Maybe UTCTime)

-- | Describes the credentials for the service account used by the
--   streaming instance to connect to the directory.
--   
--   <i>See:</i> <a>serviceAccountCredentials</a> smart constructor.
data ServiceAccountCredentials

-- | Creates a value of <a>ServiceAccountCredentials</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>sacAccountName</a> - The user name of the account. This account
--   must have the following privileges: create computer objects, join
--   computers to the domain, and change/reset the password on descendant
--   computer objects for the organizational units specified.</li>
--   <li><a>sacAccountPassword</a> - The password for the account.</li>
--   </ul>
serviceAccountCredentials :: Text -> Text -> ServiceAccountCredentials

-- | The user name of the account. This account must have the following
--   privileges: create computer objects, join computers to the domain, and
--   change/reset the password on descendant computer objects for the
--   organizational units specified.
sacAccountName :: Lens' ServiceAccountCredentials Text

-- | The password for the account.
sacAccountPassword :: Lens' ServiceAccountCredentials Text

-- | Describes 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>sAuthenticationType</a> - The authentication method. The user
--   is authenticated using a streaming URL (<tt>API</tt> ) or SAML
--   federation (<tt>SAML</tt> ).</li>
--   <li><a>sId</a> - The ID of the 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 the streaming
--   session.</li>
--   <li><a>sFleetName</a> - The name of the fleet for the streaming
--   session.</li>
--   <li><a>sState</a> - The current state of the streaming session.</li>
--   </ul>
session :: Text -> Text -> Text -> Text -> SessionState -> Session

-- | The authentication method. The user is authenticated using a streaming
--   URL (<tt>API</tt> ) or SAML federation (<tt>SAML</tt> ).
sAuthenticationType :: Lens' Session (Maybe AuthenticationType)

-- | The ID of the 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 the streaming session.
sStackName :: Lens' Session Text

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

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

-- | Describes 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>sFeedbackURL</a> - The URL that users are redirected to after
--   they click the Send Feedback link. If no URL is specified, no Send
--   Feedback link is displayed.</li>
--   <li><a>sARN</a> - The ARN of the stack.</li>
--   <li><a>sCreatedTime</a> - The time the stack was created.</li>
--   <li><a>sStorageConnectors</a> - The storage connectors to enable.</li>
--   <li><a>sDisplayName</a> - The stack name for display.</li>
--   <li><a>sStackErrors</a> - The errors for the stack.</li>
--   <li><a>sDescription</a> - The description for display.</li>
--   <li><a>sRedirectURL</a> - The URL that users are redirected to after
--   their streaming session ends.</li>
--   <li><a>sName</a> - The name of the stack.</li>
--   </ul>
stack :: Text -> Stack

-- | The URL that users are redirected to after they click the Send
--   Feedback link. If no URL is specified, no Send Feedback link is
--   displayed.
sFeedbackURL :: Lens' Stack (Maybe Text)

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

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

-- | The storage connectors to enable.
sStorageConnectors :: Lens' Stack [StorageConnector]

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

-- | The errors for the stack.
sStackErrors :: Lens' Stack [StackError]

-- | The description for display.
sDescription :: Lens' Stack (Maybe Text)

-- | The URL that users are redirected to after their streaming session
--   ends.
sRedirectURL :: Lens' Stack (Maybe Text)

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

-- | Describes a stack error.
--   
--   <i>See:</i> <a>stackError</a> smart constructor.
data StackError

-- | Creates a value of <a>StackError</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>seErrorCode</a> - The error code.</li>
--   <li><a>seErrorMessage</a> - The error message.</li>
--   </ul>
stackError :: StackError

-- | The error code.
seErrorCode :: Lens' StackError (Maybe StackErrorCode)

-- | The error message.
seErrorMessage :: Lens' StackError (Maybe Text)

-- | Describes a storage connector.
--   
--   <i>See:</i> <a>storageConnector</a> smart constructor.
data StorageConnector

-- | Creates a value of <a>StorageConnector</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>scResourceIdentifier</a> - The ARN of the storage
--   connector.</li>
--   <li><a>scConnectorType</a> - The type of storage connector.</li>
--   </ul>
storageConnector :: StorageConnectorType -> StorageConnector

-- | The ARN of the storage connector.
scResourceIdentifier :: Lens' StorageConnector (Maybe Text)

-- | The type of storage connector.
scConnectorType :: Lens' StorageConnector StorageConnectorType

-- | Describes VPC configuration information.
--   
--   <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>vcSecurityGroupIds</a> - The security groups for the
--   fleet.</li>
--   <li><a>vcSubnetIds</a> - The subnets to which a network interface is
--   established from the fleet instance.</li>
--   </ul>
vpcConfig :: VPCConfig

-- | The security groups for the fleet.
vcSecurityGroupIds :: Lens' VPCConfig [Text]

-- | The subnets to which a network interface is established from the fleet
--   instance.
vcSubnetIds :: Lens' VPCConfig [Text]


-- | Adds or overwrites one or more tags for the specified AppStream 2.0
--   resource. You can tag AppStream 2.0 image builders, images, fleets,
--   and stacks.
--   
--   Each tag consists of a key and an optional value. If a resource
--   already has a tag with the same key, this operation updates its value.
--   
--   To list the current tags for your resources, use
--   <tt>ListTagsForResource</tt> . To disassociate tags from your
--   resources, use <tt>UntagResource</tt> .
--   
--   For more information about tags, see <a>Tagging Your Resources</a> in
--   the <i>Amazon AppStream 2.0 Developer Guide</i> .
module Network.AWS.AppStream.TagResource

-- | Creates a value of <a>TagResource</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>trResourceARN</a> - The Amazon Resource Name (ARN) of the
--   resource.</li>
--   <li><a>trTags</a> - The tags to associate. A tag is a key-value pair
--   (the value is optional). For example, <tt>Environment=Test</tt> , or,
--   if you do not specify a value, <tt>Environment=</tt> . If you do not
--   specify a value, we set the value to an empty string.</li>
--   </ul>
tagResource :: Text -> TagResource

-- | <i>See:</i> <a>tagResource</a> smart constructor.
data TagResource

-- | The Amazon Resource Name (ARN) of the resource.
trResourceARN :: Lens' TagResource Text

-- | The tags to associate. A tag is a key-value pair (the value is
--   optional). For example, <tt>Environment=Test</tt> , or, if you do not
--   specify a value, <tt>Environment=</tt> . If you do not specify a
--   value, we set the value to an empty string.
trTags :: Lens' TagResource (HashMap Text Text)

-- | Creates a value of <a>TagResourceResponse</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>trrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
tagResourceResponse :: Int -> TagResourceResponse

-- | <i>See:</i> <a>tagResourceResponse</a> smart constructor.
data TagResourceResponse

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


-- | Stops the specified image builder.
module Network.AWS.AppStream.StopImageBuilder

-- | Creates a value of <a>StopImageBuilder</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>stoName</a> - The name of the image builder.</li>
--   </ul>
stopImageBuilder :: Text -> StopImageBuilder

-- | <i>See:</i> <a>stopImageBuilder</a> smart constructor.
data StopImageBuilder

-- | The name of the image builder.
stoName :: Lens' StopImageBuilder Text

-- | Creates a value of <a>StopImageBuilderResponse</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>sibrsImageBuilder</a> - Information about the image
--   builder.</li>
--   <li><a>sibrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
stopImageBuilderResponse :: Int -> StopImageBuilderResponse

-- | <i>See:</i> <a>stopImageBuilderResponse</a> smart constructor.
data StopImageBuilderResponse

-- | Information about the image builder.
sibrsImageBuilder :: Lens' StopImageBuilderResponse (Maybe ImageBuilder)

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


-- | Stops the specified 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.</li>
--   </ul>
stopFleet :: Text -> StopFleet

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

-- | The name of the fleet.
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>storsResponseStatus</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>
storsResponseStatus :: 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 Control.DeepSeq.NFData Network.AWS.AppStream.StopFleet.StopFleetResponse
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


-- | Starts the specified image builder.
module Network.AWS.AppStream.StartImageBuilder

-- | Creates a value of <a>StartImageBuilder</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>sibAppstreamAgentVersion</a> - The version of the AppStream 2.0
--   agent to use for this image builder. To use the latest version of the
--   AppStream 2.0 agent, specify [LATEST].</li>
--   <li><a>sibName</a> - The name of the image builder.</li>
--   </ul>
startImageBuilder :: Text -> StartImageBuilder

-- | <i>See:</i> <a>startImageBuilder</a> smart constructor.
data StartImageBuilder

-- | The version of the AppStream 2.0 agent to use for this image builder.
--   To use the latest version of the AppStream 2.0 agent, specify
--   [LATEST].
sibAppstreamAgentVersion :: Lens' StartImageBuilder (Maybe Text)

-- | The name of the image builder.
sibName :: Lens' StartImageBuilder Text

-- | Creates a value of <a>StartImageBuilderResponse</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>srsImageBuilder</a> - Information about the image builder.</li>
--   <li><a>srsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
startImageBuilderResponse :: Int -> StartImageBuilderResponse

-- | <i>See:</i> <a>startImageBuilderResponse</a> smart constructor.
data StartImageBuilderResponse

-- | Information about the image builder.
srsImageBuilder :: Lens' StartImageBuilderResponse (Maybe ImageBuilder)

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


-- | Starts the specified 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.</li>
--   </ul>
startFleet :: Text -> StartFleet

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

-- | The name of the fleet.
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 Control.DeepSeq.NFData Network.AWS.AppStream.StartFleet.StartFleetResponse
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


-- | Lists the tags for the specified AppStream 2.0 resource. You can tag
--   AppStream 2.0 image builders, images, fleets, and stacks.
--   
--   For more information about tags, see <a>Tagging Your Resources</a> in
--   the <i>Amazon AppStream 2.0 Developer Guide</i> .
module Network.AWS.AppStream.ListTagsForResource

-- | Creates a value of <a>ListTagsForResource</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>ltfrResourceARN</a> - The Amazon Resource Name (ARN) of the
--   resource.</li>
--   </ul>
listTagsForResource :: Text -> ListTagsForResource

-- | <i>See:</i> <a>listTagsForResource</a> smart constructor.
data ListTagsForResource

-- | The Amazon Resource Name (ARN) of the resource.
ltfrResourceARN :: Lens' ListTagsForResource Text

-- | Creates a value of <a>ListTagsForResourceResponse</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>ltfrrsTags</a> - The information about the tags.</li>
--   <li><a>ltfrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listTagsForResourceResponse :: Int -> ListTagsForResourceResponse

-- | <i>See:</i> <a>listTagsForResourceResponse</a> smart constructor.
data ListTagsForResourceResponse

-- | The information about the tags.
ltfrrsTags :: Lens' ListTagsForResourceResponse (HashMap Text Text)

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


-- | Lists the stacks associated with the specified fleet.
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.</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.
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 the stacks.</li>
--   <li><a>lasrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listAssociatedStacksResponse :: Int -> ListAssociatedStacksResponse

-- | <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 the 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 Control.DeepSeq.NFData Network.AWS.AppStream.ListAssociatedStacks.ListAssociatedStacksResponse
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


-- | Lists the fleets associated with the specified 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.</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.
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 the fleets.</li>
--   <li><a>lafrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listAssociatedFleetsResponse :: Int -> ListAssociatedFleetsResponse

-- | <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 the 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 Control.DeepSeq.NFData Network.AWS.AppStream.ListAssociatedFleets.ListAssociatedFleetsResponse
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


-- | Stops the specified 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 ID of the streaming session.</li>
--   </ul>
expireSession :: Text -> ExpireSession

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

-- | The ID of the streaming session.
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 Control.DeepSeq.NFData Network.AWS.AppStream.ExpireSession.ExpireSessionResponse
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


-- | Disassociates the specified fleet from the specified 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.</li>
--   <li><a>dfStackName</a> - The name of the stack.</li>
--   </ul>
disassociateFleet :: Text -> Text -> DisassociateFleet

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

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

-- | The name of the stack.
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 Control.DeepSeq.NFData Network.AWS.AppStream.DisassociateFleet.DisassociateFleetResponse
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


-- | Describes the specified stacks or all stacks in the account.
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 names of the stacks to describe.</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 names of the stacks to describe.
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> - Information about the stacks.</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)

-- | Information about the stacks.
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 Control.DeepSeq.NFData Network.AWS.AppStream.DescribeStacks.DescribeStacksResponse
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


-- | Describes the streaming sessions for the specified stack and fleet. If
--   a user ID is provided, only the streaming sessions for only that user
--   are returned. If an authentication type is not provided, the default
--   is to authenticate users using a streaming URL.
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 ID.</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 value is 50.</li>
--   <li><a>dsAuthenticationType</a> - The authentication method. Specify
--   <tt>API</tt> for a user authenticated using a streaming URL or
--   <tt>SAML</tt> for a SAML federated user. The default is to
--   authenticate users using a streaming URL.</li>
--   <li><a>dsStackName</a> - The name of the stack. This value is
--   case-sensitive.</li>
--   <li><a>dsFleetName</a> - The name of the fleet. This value is
--   case-sensitive.</li>
--   </ul>
describeSessions :: Text -> Text -> DescribeSessions

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

-- | The user ID.
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 value is 50.
dsLimit :: Lens' DescribeSessions (Maybe Int)

-- | The authentication method. Specify <tt>API</tt> for a user
--   authenticated using a streaming URL or <tt>SAML</tt> for a SAML
--   federated user. The default is to authenticate users using a streaming
--   URL.
dsAuthenticationType :: Lens' DescribeSessions (Maybe AuthenticationType)

-- | The name of the stack. This value is case-sensitive.
dsStackName :: Lens' DescribeSessions Text

-- | The name of the fleet. This value is case-sensitive.
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> - Information about the 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)

-- | Information about the 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 Control.DeepSeq.NFData Network.AWS.AppStream.DescribeSessions.DescribeSessionsResponse
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


-- | Describes the specified images or all images in the account.
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> - The names of the images to describe.</li>
--   </ul>
describeImages :: DescribeImages

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

-- | The names of the 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>disrsImages</a> - Information about the images.</li>
--   <li><a>disrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeImagesResponse :: Int -> DescribeImagesResponse

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

-- | Information about the images.
disrsImages :: Lens' DescribeImagesResponse [Image]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
disrsResponseStatus :: 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 Control.DeepSeq.NFData Network.AWS.AppStream.DescribeImages.DescribeImagesResponse
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


-- | Describes the specified image builders or all image builders in the
--   account.
module Network.AWS.AppStream.DescribeImageBuilders

-- | Creates a value of <a>DescribeImageBuilders</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>dibNextToken</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>dibNames</a> - The names of the image builders to
--   describe.</li>
--   <li><a>dibMaxResults</a> - The maximum size of each page of
--   results.</li>
--   </ul>
describeImageBuilders :: DescribeImageBuilders

-- | <i>See:</i> <a>describeImageBuilders</a> smart constructor.
data DescribeImageBuilders

-- | 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.
dibNextToken :: Lens' DescribeImageBuilders (Maybe Text)

-- | The names of the image builders to describe.
dibNames :: Lens' DescribeImageBuilders [Text]

-- | The maximum size of each page of results.
dibMaxResults :: Lens' DescribeImageBuilders (Maybe Int)

-- | Creates a value of <a>DescribeImageBuildersResponse</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>dibsrsImageBuilders</a> - Information about the image
--   builders.</li>
--   <li><a>dibsrsNextToken</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>dibsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeImageBuildersResponse :: Int -> DescribeImageBuildersResponse

-- | <i>See:</i> <a>describeImageBuildersResponse</a> smart constructor.
data DescribeImageBuildersResponse

-- | Information about the image builders.
dibsrsImageBuilders :: Lens' DescribeImageBuildersResponse [ImageBuilder]

-- | 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.
dibsrsNextToken :: Lens' DescribeImageBuildersResponse (Maybe Text)

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


-- | Describes the specified fleets or all fleets in the account.
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 names of the fleets to describe.</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 names of the fleets to describe.
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> - Information about the fleets.</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)

-- | Information about the fleets.
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 Control.DeepSeq.NFData Network.AWS.AppStream.DescribeFleets.DescribeFleetsResponse
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


-- | Describes the specified directory configurations. Note that although
--   the response syntax in this topic includes the account password, this
--   password is not returned in the actual response.
module Network.AWS.AppStream.DescribeDirectoryConfigs

-- | Creates a value of <a>DescribeDirectoryConfigs</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>ddcNextToken</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>ddcDirectoryNames</a> - The directory names.</li>
--   <li><a>ddcMaxResults</a> - The maximum size of each page of
--   results.</li>
--   </ul>
describeDirectoryConfigs :: DescribeDirectoryConfigs

-- | <i>See:</i> <a>describeDirectoryConfigs</a> smart constructor.
data DescribeDirectoryConfigs

-- | 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.
ddcNextToken :: Lens' DescribeDirectoryConfigs (Maybe Text)

-- | The directory names.
ddcDirectoryNames :: Lens' DescribeDirectoryConfigs [Text]

-- | The maximum size of each page of results.
ddcMaxResults :: Lens' DescribeDirectoryConfigs (Maybe Int)

-- | Creates a value of <a>DescribeDirectoryConfigsResponse</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>ddcrsNextToken</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>ddcrsDirectoryConfigs</a> - Information about the directory
--   configurations. Note that although the response syntax in this topic
--   includes the account password, this password is not returned in the
--   actual response.</li>
--   <li><a>ddcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDirectoryConfigsResponse :: Int -> DescribeDirectoryConfigsResponse

-- | <i>See:</i> <a>describeDirectoryConfigsResponse</a> smart constructor.
data DescribeDirectoryConfigsResponse

-- | 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.
ddcrsNextToken :: Lens' DescribeDirectoryConfigsResponse (Maybe Text)

-- | Information about the directory configurations. Note that although the
--   response syntax in this topic includes the account password, this
--   password is not returned in the actual response.
ddcrsDirectoryConfigs :: Lens' DescribeDirectoryConfigsResponse [DirectoryConfig]

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


-- | Deletes the specified 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.</li>
--   </ul>
deleteStack :: Text -> DeleteStack

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

-- | The name of the stack.
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 Control.DeepSeq.NFData Network.AWS.AppStream.DeleteStack.DeleteStackResponse
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


-- | Deletes the specified image builder and releases the capacity.
module Network.AWS.AppStream.DeleteImageBuilder

-- | Creates a value of <a>DeleteImageBuilder</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>dibName</a> - The name of the image builder.</li>
--   </ul>
deleteImageBuilder :: Text -> DeleteImageBuilder

-- | <i>See:</i> <a>deleteImageBuilder</a> smart constructor.
data DeleteImageBuilder

-- | The name of the image builder.
dibName :: Lens' DeleteImageBuilder Text

-- | Creates a value of <a>DeleteImageBuilderResponse</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>dibrsImageBuilder</a> - Information about the image
--   builder.</li>
--   <li><a>dibrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteImageBuilderResponse :: Int -> DeleteImageBuilderResponse

-- | <i>See:</i> <a>deleteImageBuilderResponse</a> smart constructor.
data DeleteImageBuilderResponse

-- | Information about the image builder.
dibrsImageBuilder :: Lens' DeleteImageBuilderResponse (Maybe ImageBuilder)

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


-- | Deletes the specified image. You cannot delete an image that is
--   currently in use. After you delete an image, you cannot provision new
--   capacity using the image.
module Network.AWS.AppStream.DeleteImage

-- | Creates a value of <a>DeleteImage</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>diName</a> - The name of the image.</li>
--   </ul>
deleteImage :: Text -> DeleteImage

-- | <i>See:</i> <a>deleteImage</a> smart constructor.
data DeleteImage

-- | The name of the image.
diName :: Lens' DeleteImage Text

-- | Creates a value of <a>DeleteImageResponse</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>dirsImage</a> - Information about the image.</li>
--   <li><a>dirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteImageResponse :: Int -> DeleteImageResponse

-- | <i>See:</i> <a>deleteImageResponse</a> smart constructor.
data DeleteImageResponse

-- | Information about the image.
dirsImage :: Lens' DeleteImageResponse (Maybe Image)

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


-- | Deletes the specified 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.</li>
--   </ul>
deleteFleet :: Text -> DeleteFleet

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

-- | The name of the fleet.
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 Control.DeepSeq.NFData Network.AWS.AppStream.DeleteFleet.DeleteFleetResponse
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


-- | Deletes the specified directory configuration.
module Network.AWS.AppStream.DeleteDirectoryConfig

-- | Creates a value of <a>DeleteDirectoryConfig</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>ddcDirectoryName</a> - The name of the directory
--   configuration.</li>
--   </ul>
deleteDirectoryConfig :: Text -> DeleteDirectoryConfig

-- | <i>See:</i> <a>deleteDirectoryConfig</a> smart constructor.
data DeleteDirectoryConfig

-- | The name of the directory configuration.
ddcDirectoryName :: Lens' DeleteDirectoryConfig Text

-- | Creates a value of <a>DeleteDirectoryConfigResponse</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>delrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteDirectoryConfigResponse :: Int -> DeleteDirectoryConfigResponse

-- | <i>See:</i> <a>deleteDirectoryConfigResponse</a> smart constructor.
data DeleteDirectoryConfigResponse

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


-- | Creates a URL to start a streaming session for the specified user.
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 session context. For more
--   information, see <a>Session Context</a> in the <i>Amazon AppStream 2.0
--   Developer Guide</i> .</li>
--   <li><a>csuApplicationId</a> - The name of the application to launch
--   after the session starts. This is the name that you specified as
--   <b>Name</b> in the Image Assistant.</li>
--   <li><a>csuValidity</a> - The time that the streaming URL will be
--   valid, in seconds. Specify a value between 1 and 604800 seconds. The
--   default is 60 seconds.</li>
--   <li><a>csuStackName</a> - The name of the stack.</li>
--   <li><a>csuFleetName</a> - The name of the fleet.</li>
--   <li><a>csuUserId</a> - The ID of the user.</li>
--   </ul>
createStreamingURL :: Text -> Text -> Text -> CreateStreamingURL

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

-- | The session context. For more information, see <a>Session Context</a>
--   in the <i>Amazon AppStream 2.0 Developer Guide</i> .
csuSessionContext :: Lens' CreateStreamingURL (Maybe Text)

-- | The name of the application to launch after the session starts. This
--   is the name that you specified as <b>Name</b> in the Image Assistant.
csuApplicationId :: Lens' CreateStreamingURL (Maybe Text)

-- | The time that the streaming URL will be valid, in seconds. Specify a
--   value between 1 and 604800 seconds. The default is 60 seconds.
csuValidity :: Lens' CreateStreamingURL (Maybe Integer)

-- | The name of the stack.
csuStackName :: Lens' CreateStreamingURL Text

-- | The name of the fleet.
csuFleetName :: Lens' CreateStreamingURL Text

-- | The ID of the user.
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> - The elapsed time, in seconds after the Unix
--   epoch, when 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)

-- | The elapsed time, in seconds after the Unix epoch, when 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 Control.DeepSeq.NFData Network.AWS.AppStream.CreateStreamingURL.CreateStreamingURLResponse
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


-- | Creates a 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>csFeedbackURL</a> - The URL that users are redirected to after
--   they click the Send Feedback link. If no URL is specified, no Send
--   Feedback link is displayed.</li>
--   <li><a>csStorageConnectors</a> - The storage connectors to
--   enable.</li>
--   <li><a>csDisplayName</a> - The stack name for display.</li>
--   <li><a>csDescription</a> - The description for display.</li>
--   <li><a>csRedirectURL</a> - The URL that users are redirected to after
--   their streaming session ends.</li>
--   <li><a>csName</a> - The name of the stack.</li>
--   </ul>
createStack :: Text -> CreateStack

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

-- | The URL that users are redirected to after they click the Send
--   Feedback link. If no URL is specified, no Send Feedback link is
--   displayed.
csFeedbackURL :: Lens' CreateStack (Maybe Text)

-- | The storage connectors to enable.
csStorageConnectors :: Lens' CreateStack [StorageConnector]

-- | The stack name for display.
csDisplayName :: Lens' CreateStack (Maybe Text)

-- | The description for display.
csDescription :: Lens' CreateStack (Maybe Text)

-- | The URL that users are redirected to after their streaming session
--   ends.
csRedirectURL :: Lens' CreateStack (Maybe Text)

-- | The name of the 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> - Information about the 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

-- | Information about the 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 Control.DeepSeq.NFData Network.AWS.AppStream.CreateStack.CreateStackResponse
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


-- | Creates a URL to start an image builder streaming session.
module Network.AWS.AppStream.CreateImageBuilderStreamingURL

-- | Creates a value of <a>CreateImageBuilderStreamingURL</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>cibsuValidity</a> - The time that the streaming URL will be
--   valid, in seconds. Specify a value between 1 and 604800 seconds. The
--   default is 3600 seconds.</li>
--   <li><a>cibsuName</a> - The name of the image builder.</li>
--   </ul>
createImageBuilderStreamingURL :: Text -> CreateImageBuilderStreamingURL

-- | <i>See:</i> <a>createImageBuilderStreamingURL</a> smart constructor.
data CreateImageBuilderStreamingURL

-- | The time that the streaming URL will be valid, in seconds. Specify a
--   value between 1 and 604800 seconds. The default is 3600 seconds.
cibsuValidity :: Lens' CreateImageBuilderStreamingURL (Maybe Integer)

-- | The name of the image builder.
cibsuName :: Lens' CreateImageBuilderStreamingURL Text

-- | Creates a value of <a>CreateImageBuilderStreamingURLResponse</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>cibsursStreamingURL</a> - The URL to start the AppStream 2.0
--   streaming session.</li>
--   <li><a>cibsursExpires</a> - The elapsed time, in seconds after the
--   Unix epoch, when this URL expires.</li>
--   <li><a>cibsursResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createImageBuilderStreamingURLResponse :: Int -> CreateImageBuilderStreamingURLResponse

-- | <i>See:</i> <a>createImageBuilderStreamingURLResponse</a> smart
--   constructor.
data CreateImageBuilderStreamingURLResponse

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

-- | The elapsed time, in seconds after the Unix epoch, when this URL
--   expires.
cibsursExpires :: Lens' CreateImageBuilderStreamingURLResponse (Maybe UTCTime)

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


-- | Creates an image builder.
--   
--   The initial state of the builder is <tt>PENDING</tt> . When it is
--   ready, the state is <tt>RUNNING</tt> .
module Network.AWS.AppStream.CreateImageBuilder

-- | Creates a value of <a>CreateImageBuilder</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>cibDomainJoinInfo</a> - The information needed to join a
--   Microsoft Active Directory domain.</li>
--   <li><a>cibVPCConfig</a> - The VPC configuration for the image builder.
--   You can specify only one subnet.</li>
--   <li><a>cibDisplayName</a> - The image builder name for display.</li>
--   <li><a>cibEnableDefaultInternetAccess</a> - Enables or disables
--   default internet access for the image builder.</li>
--   <li><a>cibDescription</a> - The description for display.</li>
--   <li><a>cibAppstreamAgentVersion</a> - The version of the AppStream 2.0
--   agent to use for this image builder. To use the latest version of the
--   AppStream 2.0 agent, specify [LATEST].</li>
--   <li><a>cibName</a> - A unique name for the image builder.</li>
--   <li><a>cibImageName</a> - The name of the image used to create the
--   builder.</li>
--   <li><a>cibInstanceType</a> - The instance type to use when launching
--   the image builder.</li>
--   </ul>
createImageBuilder :: Text -> Text -> Text -> CreateImageBuilder

-- | <i>See:</i> <a>createImageBuilder</a> smart constructor.
data CreateImageBuilder

-- | The information needed to join a Microsoft Active Directory domain.
cibDomainJoinInfo :: Lens' CreateImageBuilder (Maybe DomainJoinInfo)

-- | The VPC configuration for the image builder. You can specify only one
--   subnet.
cibVPCConfig :: Lens' CreateImageBuilder (Maybe VPCConfig)

-- | The image builder name for display.
cibDisplayName :: Lens' CreateImageBuilder (Maybe Text)

-- | Enables or disables default internet access for the image builder.
cibEnableDefaultInternetAccess :: Lens' CreateImageBuilder (Maybe Bool)

-- | The description for display.
cibDescription :: Lens' CreateImageBuilder (Maybe Text)

-- | The version of the AppStream 2.0 agent to use for this image builder.
--   To use the latest version of the AppStream 2.0 agent, specify
--   [LATEST].
cibAppstreamAgentVersion :: Lens' CreateImageBuilder (Maybe Text)

-- | A unique name for the image builder.
cibName :: Lens' CreateImageBuilder Text

-- | The name of the image used to create the builder.
cibImageName :: Lens' CreateImageBuilder Text

-- | The instance type to use when launching the image builder.
cibInstanceType :: Lens' CreateImageBuilder Text

-- | Creates a value of <a>CreateImageBuilderResponse</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>cibrsImageBuilder</a> - Information about the image
--   builder.</li>
--   <li><a>cibrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createImageBuilderResponse :: Int -> CreateImageBuilderResponse

-- | <i>See:</i> <a>createImageBuilderResponse</a> smart constructor.
data CreateImageBuilderResponse

-- | Information about the image builder.
cibrsImageBuilder :: Lens' CreateImageBuilderResponse (Maybe ImageBuilder)

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


-- | Creates a 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>cfDomainJoinInfo</a> - The information needed to join a
--   Microsoft Active Directory domain.</li>
--   <li><a>cfDisconnectTimeoutInSeconds</a> - The time after disconnection
--   when a session is considered to have ended, in seconds. If a user who
--   was disconnected reconnects within this time interval, the user is
--   connected to their previous session. Specify a value between 60 and
--   57600.</li>
--   <li><a>cfMaxUserDurationInSeconds</a> - The maximum time that a
--   streaming session can run, in seconds. Specify a value between 600 and
--   57600.</li>
--   <li><a>cfFleetType</a> - The fleet type. * ALWAYS_ON * Provides users
--   with instant-on access to their apps. You are charged for all running
--   instances in your fleet, even if no users are streaming apps. *
--   ON_DEMAND * Provide users with access to applications after they
--   connect, which takes one to two minutes. You are charged for instance
--   streaming when users are connected and a small hourly fee for
--   instances that are not streaming apps.</li>
--   <li><a>cfVPCConfig</a> - The VPC configuration for the fleet.</li>
--   <li><a>cfDisplayName</a> - The fleet name for display.</li>
--   <li><a>cfEnableDefaultInternetAccess</a> - Enables or disables default
--   internet access for the fleet.</li>
--   <li><a>cfDescription</a> - The description for display.</li>
--   <li><a>cfName</a> - A unique name for the fleet.</li>
--   <li><a>cfImageName</a> - The name of the image used to create the
--   fleet.</li>
--   <li><a>cfInstanceType</a> - The instance type to use when launching
--   fleet instances. The following instance types are available: *
--   stream.standard.medium * stream.standard.large * stream.compute.large
--   * stream.compute.xlarge * stream.compute.2xlarge *
--   stream.compute.4xlarge * stream.compute.8xlarge * stream.memory.large
--   * stream.memory.xlarge * stream.memory.2xlarge * stream.memory.4xlarge
--   * stream.memory.8xlarge * stream.graphics-design.large *
--   stream.graphics-design.xlarge * stream.graphics-design.2xlarge *
--   stream.graphics-design.4xlarge * stream.graphics-desktop.2xlarge *
--   stream.graphics-pro.4xlarge * stream.graphics-pro.8xlarge *
--   stream.graphics-pro.16xlarge</li>
--   <li><a>cfComputeCapacity</a> - The desired capacity for the
--   fleet.</li>
--   </ul>
createFleet :: Text -> Text -> Text -> ComputeCapacity -> CreateFleet

-- | <i>See:</i> <a>createFleet</a> smart constructor.
data CreateFleet

-- | The information needed to join a Microsoft Active Directory domain.
cfDomainJoinInfo :: Lens' CreateFleet (Maybe DomainJoinInfo)

-- | The time after disconnection when a session is considered to have
--   ended, in seconds. If a user who was disconnected reconnects within
--   this time interval, the user is connected to their previous session.
--   Specify a value between 60 and 57600.
cfDisconnectTimeoutInSeconds :: Lens' CreateFleet (Maybe Int)

-- | The maximum time that a streaming session can run, in seconds. Specify
--   a value between 600 and 57600.
cfMaxUserDurationInSeconds :: Lens' CreateFleet (Maybe Int)

-- | The fleet type. * ALWAYS_ON * Provides users with instant-on access to
--   their apps. You are charged for all running instances in your fleet,
--   even if no users are streaming apps. * ON_DEMAND * Provide users with
--   access to applications after they connect, which takes one to two
--   minutes. You are charged for instance streaming when users are
--   connected and a small hourly fee for instances that are not streaming
--   apps.
cfFleetType :: Lens' CreateFleet (Maybe FleetType)

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

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

-- | Enables or disables default internet access for the fleet.
cfEnableDefaultInternetAccess :: Lens' CreateFleet (Maybe Bool)

-- | The description for display.
cfDescription :: Lens' CreateFleet (Maybe Text)

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

-- | The name of the image used to create the fleet.
cfImageName :: Lens' CreateFleet Text

-- | The instance type to use when launching fleet instances. The following
--   instance types are available: * stream.standard.medium *
--   stream.standard.large * stream.compute.large * stream.compute.xlarge *
--   stream.compute.2xlarge * stream.compute.4xlarge *
--   stream.compute.8xlarge * stream.memory.large * stream.memory.xlarge *
--   stream.memory.2xlarge * stream.memory.4xlarge * stream.memory.8xlarge
--   * stream.graphics-design.large * stream.graphics-design.xlarge *
--   stream.graphics-design.2xlarge * stream.graphics-design.4xlarge *
--   stream.graphics-desktop.2xlarge * stream.graphics-pro.4xlarge *
--   stream.graphics-pro.8xlarge * stream.graphics-pro.16xlarge
cfInstanceType :: Lens' CreateFleet Text

-- | The desired capacity for 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> - Information about the 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

-- | Information about the 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 Control.DeepSeq.NFData Network.AWS.AppStream.CreateFleet.CreateFleetResponse
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


-- | Creates a directory configuration.
module Network.AWS.AppStream.CreateDirectoryConfig

-- | Creates a value of <a>CreateDirectoryConfig</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>cdcDirectoryName</a> - The fully qualified name of the
--   directory (for example, corp.example.com).</li>
--   <li><a>cdcOrganizationalUnitDistinguishedNames</a> - The distinguished
--   names of the organizational units for computer accounts.</li>
--   <li><a>cdcServiceAccountCredentials</a> - The credentials for the
--   service account used by the streaming instance to connect to the
--   directory.</li>
--   </ul>
createDirectoryConfig :: Text -> ServiceAccountCredentials -> CreateDirectoryConfig

-- | <i>See:</i> <a>createDirectoryConfig</a> smart constructor.
data CreateDirectoryConfig

-- | The fully qualified name of the directory (for example,
--   corp.example.com).
cdcDirectoryName :: Lens' CreateDirectoryConfig Text

-- | The distinguished names of the organizational units for computer
--   accounts.
cdcOrganizationalUnitDistinguishedNames :: Lens' CreateDirectoryConfig [Text]

-- | The credentials for the service account used by the streaming instance
--   to connect to the directory.
cdcServiceAccountCredentials :: Lens' CreateDirectoryConfig ServiceAccountCredentials

-- | Creates a value of <a>CreateDirectoryConfigResponse</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>cdcrsDirectoryConfig</a> - Information about the directory
--   configuration.</li>
--   <li><a>cdcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createDirectoryConfigResponse :: Int -> CreateDirectoryConfigResponse

-- | <i>See:</i> <a>createDirectoryConfigResponse</a> smart constructor.
data CreateDirectoryConfigResponse

-- | Information about the directory configuration.
cdcrsDirectoryConfig :: Lens' CreateDirectoryConfigResponse (Maybe DirectoryConfig)

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


-- | Copies the image within the same region or to a new region within the
--   same AWS account. Note that any tags you added to the image will not
--   be copied.
module Network.AWS.AppStream.CopyImage

-- | Creates a value of <a>CopyImage</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>ciDestinationImageDescription</a> - The description that the
--   image will have when it is copied to the destination.</li>
--   <li><a>ciSourceImageName</a> - The name of the image to copy.</li>
--   <li><a>ciDestinationImageName</a> - The name that the image will have
--   when it is copied to the destination.</li>
--   <li><a>ciDestinationRegion</a> - The destination region to which the
--   image will be copied. This parameter is required, even if you are
--   copying an image within the same region.</li>
--   </ul>
copyImage :: Text -> Text -> Text -> CopyImage

-- | <i>See:</i> <a>copyImage</a> smart constructor.
data CopyImage

-- | The description that the image will have when it is copied to the
--   destination.
ciDestinationImageDescription :: Lens' CopyImage (Maybe Text)

-- | The name of the image to copy.
ciSourceImageName :: Lens' CopyImage Text

-- | The name that the image will have when it is copied to the
--   destination.
ciDestinationImageName :: Lens' CopyImage Text

-- | The destination region to which the image will be copied. This
--   parameter is required, even if you are copying an image within the
--   same region.
ciDestinationRegion :: Lens' CopyImage Text

-- | Creates a value of <a>CopyImageResponse</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>cirsDestinationImageName</a> - The name of the destination
--   image.</li>
--   <li><a>cirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
copyImageResponse :: Int -> CopyImageResponse

-- | <i>See:</i> <a>copyImageResponse</a> smart constructor.
data CopyImageResponse

-- | The name of the destination image.
cirsDestinationImageName :: Lens' CopyImageResponse (Maybe Text)

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


-- | Associates the specified fleet with the specified 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.</li>
--   <li><a>afStackName</a> - The name of the stack.</li>
--   </ul>
associateFleet :: Text -> Text -> AssociateFleet

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

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

-- | The name of the stack.
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 Control.DeepSeq.NFData Network.AWS.AppStream.AssociateFleet.AssociateFleetResponse
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


-- | Disassociates the specified tags from the specified AppStream 2.0
--   resource.
--   
--   To list the current tags for your resources, use
--   <tt>ListTagsForResource</tt> .
--   
--   For more information about tags, see <a>Tagging Your Resources</a> in
--   the <i>Amazon AppStream 2.0 Developer Guide</i> .
module Network.AWS.AppStream.UntagResource

-- | Creates a value of <a>UntagResource</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>urResourceARN</a> - The Amazon Resource Name (ARN) of the
--   resource.</li>
--   <li><a>urTagKeys</a> - The tag keys for the tags to disassociate.</li>
--   </ul>
untagResource :: Text -> NonEmpty Text -> UntagResource

-- | <i>See:</i> <a>untagResource</a> smart constructor.
data UntagResource

-- | The Amazon Resource Name (ARN) of the resource.
urResourceARN :: Lens' UntagResource Text

-- | The tag keys for the tags to disassociate.
urTagKeys :: Lens' UntagResource (NonEmpty Text)

-- | Creates a value of <a>UntagResourceResponse</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>urrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
untagResourceResponse :: Int -> UntagResourceResponse

-- | <i>See:</i> <a>untagResourceResponse</a> smart constructor.
data UntagResourceResponse

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


-- | Updates the specified directory configuration.
module Network.AWS.AppStream.UpdateDirectoryConfig

-- | Creates a value of <a>UpdateDirectoryConfig</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>udcServiceAccountCredentials</a> - The credentials for the
--   service account used by the streaming instance to connect to the
--   directory.</li>
--   <li><a>udcOrganizationalUnitDistinguishedNames</a> - The distinguished
--   names of the organizational units for computer accounts.</li>
--   <li><a>udcDirectoryName</a> - The name of the directory
--   configuration.</li>
--   </ul>
updateDirectoryConfig :: Text -> UpdateDirectoryConfig

-- | <i>See:</i> <a>updateDirectoryConfig</a> smart constructor.
data UpdateDirectoryConfig

-- | The credentials for the service account used by the streaming instance
--   to connect to the directory.
udcServiceAccountCredentials :: Lens' UpdateDirectoryConfig (Maybe ServiceAccountCredentials)

-- | The distinguished names of the organizational units for computer
--   accounts.
udcOrganizationalUnitDistinguishedNames :: Lens' UpdateDirectoryConfig [Text]

-- | The name of the directory configuration.
udcDirectoryName :: Lens' UpdateDirectoryConfig Text

-- | Creates a value of <a>UpdateDirectoryConfigResponse</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>udcrsDirectoryConfig</a> - Information about the directory
--   configuration.</li>
--   <li><a>udcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateDirectoryConfigResponse :: Int -> UpdateDirectoryConfigResponse

-- | <i>See:</i> <a>updateDirectoryConfigResponse</a> smart constructor.
data UpdateDirectoryConfigResponse

-- | Information about the directory configuration.
udcrsDirectoryConfig :: Lens' UpdateDirectoryConfigResponse (Maybe DirectoryConfig)

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


-- | Updates the specified fleet.
--   
--   If the fleet is in the <tt>STOPPED</tt> state, you can update any
--   attribute except the fleet name. If the fleet is in the
--   <tt>RUNNING</tt> state, you can update the <tt>DisplayName</tt> and
--   <tt>ComputeCapacity</tt> attributes. If the fleet is in the
--   <tt>STARTING</tt> or <tt>STOPPING</tt> state, you can't update it.
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>ufDomainJoinInfo</a> - The information needed to join a
--   Microsoft Active Directory domain.</li>
--   <li><a>ufDisconnectTimeoutInSeconds</a> - The time after disconnection
--   when a session is considered to have ended, in seconds. If a user who
--   was disconnected reconnects within this time interval, the user is
--   connected to their previous session. Specify a value between 60 and
--   57600.</li>
--   <li><a>ufMaxUserDurationInSeconds</a> - The maximum time that a
--   streaming session can run, in seconds. Specify a value between 600 and
--   57600.</li>
--   <li><a>ufAttributesToDelete</a> - The fleet attributes to delete.</li>
--   <li><a>ufDeleteVPCConfig</a> - Deletes the VPC association for the
--   specified fleet.</li>
--   <li><a>ufInstanceType</a> - The instance type to use when launching
--   fleet instances. The following instance types are available: *
--   stream.standard.medium * stream.standard.large * stream.compute.large
--   * stream.compute.xlarge * stream.compute.2xlarge *
--   stream.compute.4xlarge * stream.compute.8xlarge * stream.memory.large
--   * stream.memory.xlarge * stream.memory.2xlarge * stream.memory.4xlarge
--   * stream.memory.8xlarge * stream.graphics-design.large *
--   stream.graphics-design.xlarge * stream.graphics-design.2xlarge *
--   stream.graphics-design.4xlarge * stream.graphics-desktop.2xlarge *
--   stream.graphics-pro.4xlarge * stream.graphics-pro.8xlarge *
--   stream.graphics-pro.16xlarge</li>
--   <li><a>ufVPCConfig</a> - The VPC configuration for the fleet.</li>
--   <li><a>ufDisplayName</a> - The fleet name for display.</li>
--   <li><a>ufEnableDefaultInternetAccess</a> - Enables or disables default
--   internet access for the fleet.</li>
--   <li><a>ufImageName</a> - The name of the image used to create the
--   fleet.</li>
--   <li><a>ufDescription</a> - The description for display.</li>
--   <li><a>ufComputeCapacity</a> - The desired capacity for the
--   fleet.</li>
--   <li><a>ufName</a> - A unique name for the fleet.</li>
--   </ul>
updateFleet :: Text -> UpdateFleet

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

-- | The information needed to join a Microsoft Active Directory domain.
ufDomainJoinInfo :: Lens' UpdateFleet (Maybe DomainJoinInfo)

-- | The time after disconnection when a session is considered to have
--   ended, in seconds. If a user who was disconnected reconnects within
--   this time interval, the user is connected to their previous session.
--   Specify a value between 60 and 57600.
ufDisconnectTimeoutInSeconds :: Lens' UpdateFleet (Maybe Int)

-- | The maximum time that a streaming session can run, in seconds. Specify
--   a value between 600 and 57600.
ufMaxUserDurationInSeconds :: Lens' UpdateFleet (Maybe Int)

-- | The fleet attributes to delete.
ufAttributesToDelete :: Lens' UpdateFleet [FleetAttribute]

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

-- | The instance type to use when launching fleet instances. The following
--   instance types are available: * stream.standard.medium *
--   stream.standard.large * stream.compute.large * stream.compute.xlarge *
--   stream.compute.2xlarge * stream.compute.4xlarge *
--   stream.compute.8xlarge * stream.memory.large * stream.memory.xlarge *
--   stream.memory.2xlarge * stream.memory.4xlarge * stream.memory.8xlarge
--   * stream.graphics-design.large * stream.graphics-design.xlarge *
--   stream.graphics-design.2xlarge * stream.graphics-design.4xlarge *
--   stream.graphics-desktop.2xlarge * stream.graphics-pro.4xlarge *
--   stream.graphics-pro.8xlarge * stream.graphics-pro.16xlarge
ufInstanceType :: Lens' UpdateFleet (Maybe Text)

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

-- | The fleet name for display.
ufDisplayName :: Lens' UpdateFleet (Maybe Text)

-- | Enables or disables default internet access for the fleet.
ufEnableDefaultInternetAccess :: Lens' UpdateFleet (Maybe Bool)

-- | The name of the image used to create the fleet.
ufImageName :: Lens' UpdateFleet (Maybe Text)

-- | The description for display.
ufDescription :: Lens' UpdateFleet (Maybe Text)

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

-- | A unique name for 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> - Information about the fleet.</li>
--   <li><a>ufrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateFleetResponse :: Int -> UpdateFleetResponse

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

-- | Information about the fleet.
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 Control.DeepSeq.NFData Network.AWS.AppStream.UpdateFleet.UpdateFleetResponse
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


-- | Updates the specified stack.
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>usFeedbackURL</a> - The URL that users are redirected to after
--   they click the Send Feedback link. If no URL is specified, no Send
--   Feedback link is displayed.</li>
--   <li><a>usAttributesToDelete</a> - The stack attributes to delete.</li>
--   <li><a>usDeleteStorageConnectors</a> - Deletes the storage connectors
--   currently enabled for the stack.</li>
--   <li><a>usStorageConnectors</a> - The storage connectors to
--   enable.</li>
--   <li><a>usDisplayName</a> - The stack name for display.</li>
--   <li><a>usDescription</a> - The description for display.</li>
--   <li><a>usRedirectURL</a> - The URL that users are redirected to after
--   their streaming session ends.</li>
--   <li><a>usName</a> - The name of the stack.</li>
--   </ul>
updateStack :: Text -> UpdateStack

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

-- | The URL that users are redirected to after they click the Send
--   Feedback link. If no URL is specified, no Send Feedback link is
--   displayed.
usFeedbackURL :: Lens' UpdateStack (Maybe Text)

-- | The stack attributes to delete.
usAttributesToDelete :: Lens' UpdateStack [StackAttribute]

-- | Deletes the storage connectors currently enabled for the stack.
usDeleteStorageConnectors :: Lens' UpdateStack (Maybe Bool)

-- | The storage connectors to enable.
usStorageConnectors :: Lens' UpdateStack [StorageConnector]

-- | The stack name for display.
usDisplayName :: Lens' UpdateStack (Maybe Text)

-- | The description for display.
usDescription :: Lens' UpdateStack (Maybe Text)

-- | The URL that users are redirected to after their streaming session
--   ends.
usRedirectURL :: Lens' UpdateStack (Maybe Text)

-- | The name of the stack.
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> - Information about the stack.</li>
--   <li><a>usrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateStackResponse :: Int -> UpdateStackResponse

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

-- | Information about the stack.
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 Control.DeepSeq.NFData Network.AWS.AppStream.UpdateStack.UpdateStackResponse
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


module Network.AWS.AppStream.Waiters

-- | Polls <a>DescribeFleets</a> every 30 seconds until a successful state
--   is reached. An error is returned after 40 failed checks.
fleetStopped :: Wait DescribeFleets

-- | Polls <a>DescribeFleets</a> every 30 seconds until a successful state
--   is reached. An error is returned after 40 failed checks.
fleetStarted :: Wait DescribeFleets


-- | <b>Amazon AppStream 2.0</b>
--   
--   You can use Amazon AppStream 2.0 to stream desktop applications to any
--   device running a web browser, without rewriting them.
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 image does not support storage connectors.
_IncompatibleImageException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An API error occurred. Wait a few minutes and try again.
_ConcurrentModificationException :: AsError a => Getting (First ServiceError) a ServiceError

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

-- | The resource cannot be created because your AWS account is suspended.
--   For assistance, contact AWS Support.
_InvalidAccountStatusException :: AsError a => Getting (First ServiceError) a ServiceError

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

-- | Indicates an incorrect combination of parameters, or a missing
--   parameter.
_InvalidParameterCombinationException :: 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

-- | Polls <a>DescribeFleets</a> every 30 seconds until a successful state
--   is reached. An error is returned after 40 failed checks.
fleetStopped :: Wait DescribeFleets

-- | Polls <a>DescribeFleets</a> every 30 seconds until a successful state
--   is reached. An error is returned after 40 failed checks.
fleetStarted :: Wait DescribeFleets
data AuthenticationType
API :: AuthenticationType
Saml :: AuthenticationType
Userpool :: AuthenticationType

-- | The fleet attribute.
data FleetAttribute
DomainJoinInfo :: FleetAttribute
VPCConfiguration :: FleetAttribute
VPCConfigurationSecurityGroupIds :: FleetAttribute
data FleetErrorCode
DomainJoinErrorAccessDenied :: FleetErrorCode
DomainJoinErrorDsMachineAccountQuotaExceeded :: FleetErrorCode
DomainJoinErrorFileNotFound :: FleetErrorCode
DomainJoinErrorInvalidParameter :: FleetErrorCode
DomainJoinErrorLogonFailure :: FleetErrorCode
DomainJoinErrorMoreData :: FleetErrorCode
DomainJoinErrorNoSuchDomain :: FleetErrorCode
DomainJoinErrorNotSupported :: FleetErrorCode
DomainJoinInternalServiceError :: FleetErrorCode
DomainJoinNerrInvalidWorkgroupName :: FleetErrorCode
DomainJoinNerrPasswordExpired :: FleetErrorCode
DomainJoinNerrWorkstationNotStarted :: FleetErrorCode
IAMServiceRoleIsMissing :: FleetErrorCode
IAMServiceRoleMissingDescribeSecurityGroupsAction :: FleetErrorCode
IAMServiceRoleMissingDescribeSubnetAction :: FleetErrorCode
IAMServiceRoleMissingEniCreateAction :: FleetErrorCode
IAMServiceRoleMissingEniDeleteAction :: FleetErrorCode
IAMServiceRoleMissingEniDescribeAction :: FleetErrorCode
IgwNotAttached :: FleetErrorCode
ImageNotFound :: FleetErrorCode
InternalServiceError :: FleetErrorCode
InvalidSubnetConfiguration :: FleetErrorCode
NetworkInterfaceLimitExceeded :: FleetErrorCode
SecurityGroupsNotFound :: FleetErrorCode
SubnetHasInsufficientIPAddresses :: FleetErrorCode
SubnetNotFound :: FleetErrorCode
data FleetState
Running :: FleetState
Starting :: FleetState
Stopped :: FleetState
Stopping :: FleetState
data FleetType
AlwaysOn :: FleetType
OnDemand :: FleetType
data ImageBuilderState
IBSDeleting :: ImageBuilderState
IBSFailed :: ImageBuilderState
IBSPending :: ImageBuilderState
IBSRebooting :: ImageBuilderState
IBSRunning :: ImageBuilderState
IBSSnapshotting :: ImageBuilderState
IBSStopped :: ImageBuilderState
IBSStopping :: ImageBuilderState
IBSUpdatingAgent :: ImageBuilderState
data ImageBuilderStateChangeReasonCode
ImageUnavailable :: ImageBuilderStateChangeReasonCode
InternalError :: ImageBuilderStateChangeReasonCode
data ImageState
ISAvailable :: ImageState
ISCopying :: ImageState
ISDeleting :: ImageState
ISFailed :: ImageState
ISPending :: ImageState
data ImageStateChangeReasonCode
ISCRCImageBuilderNotAvailable :: ImageStateChangeReasonCode
ISCRCImageCopyFailure :: ImageStateChangeReasonCode
ISCRCInternalError :: ImageStateChangeReasonCode
data PlatformType
Windows :: PlatformType

-- | Possible values for the state of a streaming session.
data SessionState
Active :: SessionState
Expired :: SessionState
Pending :: SessionState
data StackAttribute
FeedbackURL :: StackAttribute
RedirectURL :: StackAttribute
StorageConnectors :: StackAttribute
ThemeName :: StackAttribute
data StackErrorCode
SECInternalServiceError :: StackErrorCode
SECStorageConnectorError :: StackErrorCode

-- | The type of storage connector.
data StorageConnectorType
Homefolders :: StorageConnectorType
data VisibilityType
Private :: VisibilityType
Public :: VisibilityType

-- | Describes an 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> - If there is a problem, the application can be
--   disabled after image creation.</li>
--   <li><a>aLaunchPath</a> - The path to the application executable in the
--   instance.</li>
--   <li><a>aLaunchParameters</a> - The arguments that are passed to the
--   application at launch.</li>
--   <li><a>aName</a> - The name of the application.</li>
--   <li><a>aDisplayName</a> - The application name for display.</li>
--   <li><a>aMetadata</a> - Additional attributes that describe the
--   application.</li>
--   <li><a>aIconURL</a> - The URL for the application icon. This URL might
--   be time-limited.</li>
--   </ul>
application :: Application

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

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

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

-- | The name of the application.
aName :: Lens' Application (Maybe Text)

-- | The application name for display.
aDisplayName :: Lens' Application (Maybe Text)

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

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

-- | Describes the capacity for a 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

-- | Describes the capacity status for a 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 in use 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 in use 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

-- | Configuration information for the directory used to join domains.
--   
--   <i>See:</i> <a>directoryConfig</a> smart constructor.
data DirectoryConfig

-- | Creates a value of <a>DirectoryConfig</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>dcCreatedTime</a> - The time the directory configuration was
--   created.</li>
--   <li><a>dcServiceAccountCredentials</a> - The credentials for the
--   service account used by the streaming instance to connect to the
--   directory.</li>
--   <li><a>dcOrganizationalUnitDistinguishedNames</a> - The distinguished
--   names of the organizational units for computer accounts.</li>
--   <li><a>dcDirectoryName</a> - The fully qualified name of the directory
--   (for example, corp.example.com).</li>
--   </ul>
directoryConfig :: Text -> DirectoryConfig

-- | The time the directory configuration was created.
dcCreatedTime :: Lens' DirectoryConfig (Maybe UTCTime)

-- | The credentials for the service account used by the streaming instance
--   to connect to the directory.
dcServiceAccountCredentials :: Lens' DirectoryConfig (Maybe ServiceAccountCredentials)

-- | The distinguished names of the organizational units for computer
--   accounts.
dcOrganizationalUnitDistinguishedNames :: Lens' DirectoryConfig [Text]

-- | The fully qualified name of the directory (for example,
--   corp.example.com).
dcDirectoryName :: Lens' DirectoryConfig Text

-- | Contains the information needed to join a Microsoft Active Directory
--   domain.
--   
--   <i>See:</i> <a>domainJoinInfo</a> smart constructor.
data DomainJoinInfo

-- | Creates a value of <a>DomainJoinInfo</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>djiOrganizationalUnitDistinguishedName</a> - The distinguished
--   name of the organizational unit for computer accounts.</li>
--   <li><a>djiDirectoryName</a> - The fully qualified name of the
--   directory (for example, corp.example.com).</li>
--   </ul>
domainJoinInfo :: DomainJoinInfo

-- | The distinguished name of the organizational unit for computer
--   accounts.
djiOrganizationalUnitDistinguishedName :: Lens' DomainJoinInfo (Maybe Text)

-- | The fully qualified name of the directory (for example,
--   corp.example.com).
djiDirectoryName :: Lens' DomainJoinInfo (Maybe Text)

-- | 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>fDomainJoinInfo</a> - The information needed to join a
--   Microsoft Active Directory domain.</li>
--   <li><a>fDisconnectTimeoutInSeconds</a> - The time after disconnection
--   when a session is considered to have ended, in seconds. If a user who
--   was disconnected reconnects within this time interval, the user is
--   connected to their previous session. Specify a value between 60 and
--   57600.</li>
--   <li><a>fMaxUserDurationInSeconds</a> - The maximum time that a
--   streaming session can run, in seconds. Specify a value between 600 and
--   57600.</li>
--   <li><a>fCreatedTime</a> - The time the fleet was created.</li>
--   <li><a>fFleetType</a> - The fleet type. * ALWAYS_ON * Provides users
--   with instant-on access to their apps. You are charged for all running
--   instances in your fleet, even if no users are streaming apps. *
--   ON_DEMAND * Provide users with access to applications after they
--   connect, which takes one to two minutes. You are charged for instance
--   streaming when users are connected and a small hourly fee for
--   instances that are not streaming apps.</li>
--   <li><a>fVPCConfig</a> - The VPC configuration for the fleet.</li>
--   <li><a>fFleetErrors</a> - The fleet errors.</li>
--   <li><a>fDisplayName</a> - The fleet name for display.</li>
--   <li><a>fEnableDefaultInternetAccess</a> - Indicates whether default
--   internet access is enabled for the fleet.</li>
--   <li><a>fDescription</a> - The description for display.</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 name of the image used to create the
--   fleet.</li>
--   <li><a>fInstanceType</a> - The instance type to use when launching
--   fleet instances.</li>
--   <li><a>fComputeCapacityStatus</a> - The capacity status 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 information needed to join a Microsoft Active Directory domain.
fDomainJoinInfo :: Lens' Fleet (Maybe DomainJoinInfo)

-- | The time after disconnection when a session is considered to have
--   ended, in seconds. If a user who was disconnected reconnects within
--   this time interval, the user is connected to their previous session.
--   Specify a value between 60 and 57600.
fDisconnectTimeoutInSeconds :: Lens' Fleet (Maybe Int)

-- | The maximum time that a streaming session can run, in seconds. Specify
--   a value between 600 and 57600.
fMaxUserDurationInSeconds :: Lens' Fleet (Maybe Int)

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

-- | The fleet type. * ALWAYS_ON * Provides users with instant-on access to
--   their apps. You are charged for all running instances in your fleet,
--   even if no users are streaming apps. * ON_DEMAND * Provide users with
--   access to applications after they connect, which takes one to two
--   minutes. You are charged for instance streaming when users are
--   connected and a small hourly fee for instances that are not streaming
--   apps.
fFleetType :: Lens' Fleet (Maybe FleetType)

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

-- | The fleet errors.
fFleetErrors :: Lens' Fleet [FleetError]

-- | The fleet name for display.
fDisplayName :: Lens' Fleet (Maybe Text)

-- | Indicates whether default internet access is enabled for the fleet.
fEnableDefaultInternetAccess :: Lens' Fleet (Maybe Bool)

-- | The description for display.
fDescription :: Lens' Fleet (Maybe Text)

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

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

-- | The name of the image used to create the fleet.
fImageName :: Lens' Fleet Text

-- | The instance type to use when launching fleet instances.
fInstanceType :: Lens' Fleet Text

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

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

-- | Describes a 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.</li>
--   <li><a>feErrorMessage</a> - The error message.</li>
--   </ul>
fleetError :: FleetError

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

-- | The error message.
feErrorMessage :: Lens' FleetError (Maybe Text)

-- | Describes an image.
--   
--   <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 <tt>PENDING</tt> state. If
--   image creation succeeds, the state is <tt>AVAILABLE</tt> . If image
--   creation fails, the state is <tt>FAILED</tt> .</li>
--   <li><a>iPlatform</a> - The operating system platform of the
--   image.</li>
--   <li><a>iPublicBaseImageReleasedDate</a> - The release date of the
--   public base image. For private images, this date is the release date
--   of the base image from which the image was created.</li>
--   <li><a>iStateChangeReason</a> - The reason why the last state change
--   occurred.</li>
--   <li><a>iARN</a> - The ARN of the image.</li>
--   <li><a>iCreatedTime</a> - The time the image was created.</li>
--   <li><a>iImageBuilderSupported</a> - Indicates whether an image builder
--   can be launched from this image.</li>
--   <li><a>iVisibility</a> - Indicates whether the image is public or
--   private.</li>
--   <li><a>iBaseImageARN</a> - The ARN of the image from which this image
--   was created.</li>
--   <li><a>iDisplayName</a> - The image name for display.</li>
--   <li><a>iDescription</a> - The description for display.</li>
--   <li><a>iAppstreamAgentVersion</a> - The version of the AppStream 2.0
--   agent to use for instances that are launched from this image.</li>
--   <li><a>iApplications</a> - The applications associated with the
--   image.</li>
--   <li><a>iName</a> - The name of the image.</li>
--   </ul>
image :: Text -> Image

-- | The image starts in the <tt>PENDING</tt> state. If image creation
--   succeeds, the state is <tt>AVAILABLE</tt> . If image creation fails,
--   the state is <tt>FAILED</tt> .
iState :: Lens' Image (Maybe ImageState)

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

-- | The release date of the public base image. For private images, this
--   date is the release date of the base image from which the image was
--   created.
iPublicBaseImageReleasedDate :: Lens' Image (Maybe UTCTime)

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

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

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

-- | Indicates whether an image builder can be launched from this image.
iImageBuilderSupported :: Lens' Image (Maybe Bool)

-- | Indicates whether the image is public or private.
iVisibility :: Lens' Image (Maybe VisibilityType)

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

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

-- | The description for display.
iDescription :: Lens' Image (Maybe Text)

-- | The version of the AppStream 2.0 agent to use for instances that are
--   launched from this image.
iAppstreamAgentVersion :: Lens' Image (Maybe Text)

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

-- | The name of the image.
iName :: Lens' Image Text

-- | Describes a streaming instance used for editing an image. New images
--   are created from a snapshot through an image builder.
--   
--   <i>See:</i> <a>imageBuilder</a> smart constructor.
data ImageBuilder

-- | Creates a value of <a>ImageBuilder</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>ibDomainJoinInfo</a> - The information needed to join a
--   Microsoft Active Directory domain.</li>
--   <li><a>ibState</a> - The state of the image builder.</li>
--   <li><a>ibPlatform</a> - The operating system platform of the image
--   builder.</li>
--   <li><a>ibStateChangeReason</a> - The reason why the last state change
--   occurred.</li>
--   <li><a>ibARN</a> - The ARN for the image builder.</li>
--   <li><a>ibCreatedTime</a> - The time stamp when the image builder was
--   created.</li>
--   <li><a>ibImageBuilderErrors</a> - The image builder errors.</li>
--   <li><a>ibInstanceType</a> - The instance type for the image
--   builder.</li>
--   <li><a>ibVPCConfig</a> - The VPC configuration of the image
--   builder.</li>
--   <li><a>ibImageARN</a> - The ARN of the image from which this builder
--   was created.</li>
--   <li><a>ibDisplayName</a> - The image builder name for display.</li>
--   <li><a>ibEnableDefaultInternetAccess</a> - Enables or disables default
--   internet access for the image builder.</li>
--   <li><a>ibDescription</a> - The description for display.</li>
--   <li><a>ibAppstreamAgentVersion</a> - The version of the AppStream 2.0
--   agent that is currently being used by this image builder.</li>
--   <li><a>ibName</a> - The name of the image builder.</li>
--   </ul>
imageBuilder :: Text -> ImageBuilder

-- | The information needed to join a Microsoft Active Directory domain.
ibDomainJoinInfo :: Lens' ImageBuilder (Maybe DomainJoinInfo)

-- | The state of the image builder.
ibState :: Lens' ImageBuilder (Maybe ImageBuilderState)

-- | The operating system platform of the image builder.
ibPlatform :: Lens' ImageBuilder (Maybe PlatformType)

-- | The reason why the last state change occurred.
ibStateChangeReason :: Lens' ImageBuilder (Maybe ImageBuilderStateChangeReason)

-- | The ARN for the image builder.
ibARN :: Lens' ImageBuilder (Maybe Text)

-- | The time stamp when the image builder was created.
ibCreatedTime :: Lens' ImageBuilder (Maybe UTCTime)

-- | The image builder errors.
ibImageBuilderErrors :: Lens' ImageBuilder [ResourceError]

-- | The instance type for the image builder.
ibInstanceType :: Lens' ImageBuilder (Maybe Text)

-- | The VPC configuration of the image builder.
ibVPCConfig :: Lens' ImageBuilder (Maybe VPCConfig)

-- | The ARN of the image from which this builder was created.
ibImageARN :: Lens' ImageBuilder (Maybe Text)

-- | The image builder name for display.
ibDisplayName :: Lens' ImageBuilder (Maybe Text)

-- | Enables or disables default internet access for the image builder.
ibEnableDefaultInternetAccess :: Lens' ImageBuilder (Maybe Bool)

-- | The description for display.
ibDescription :: Lens' ImageBuilder (Maybe Text)

-- | The version of the AppStream 2.0 agent that is currently being used by
--   this image builder.
ibAppstreamAgentVersion :: Lens' ImageBuilder (Maybe Text)

-- | The name of the image builder.
ibName :: Lens' ImageBuilder Text

-- | Describes the reason why the last image builder state change occurred.
--   
--   <i>See:</i> <a>imageBuilderStateChangeReason</a> smart constructor.
data ImageBuilderStateChangeReason

-- | Creates a value of <a>ImageBuilderStateChangeReason</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>ibscrCode</a> - The state change reason code.</li>
--   <li><a>ibscrMessage</a> - The state change reason message.</li>
--   </ul>
imageBuilderStateChangeReason :: ImageBuilderStateChangeReason

-- | The state change reason code.
ibscrCode :: Lens' ImageBuilderStateChangeReason (Maybe ImageBuilderStateChangeReasonCode)

-- | The state change reason message.
ibscrMessage :: Lens' ImageBuilderStateChangeReason (Maybe Text)

-- | Describes the reason why the last image 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.</li>
--   <li><a>iscrMessage</a> - The state change reason message.</li>
--   </ul>
imageStateChangeReason :: ImageStateChangeReason

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

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

-- | Describes a resource error.
--   
--   <i>See:</i> <a>resourceError</a> smart constructor.
data ResourceError

-- | Creates a value of <a>ResourceError</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>reErrorCode</a> - The error code.</li>
--   <li><a>reErrorMessage</a> - The error message.</li>
--   <li><a>reErrorTimestamp</a> - The time the error occurred.</li>
--   </ul>
resourceError :: ResourceError

-- | The error code.
reErrorCode :: Lens' ResourceError (Maybe FleetErrorCode)

-- | The error message.
reErrorMessage :: Lens' ResourceError (Maybe Text)

-- | The time the error occurred.
reErrorTimestamp :: Lens' ResourceError (Maybe UTCTime)

-- | Describes the credentials for the service account used by the
--   streaming instance to connect to the directory.
--   
--   <i>See:</i> <a>serviceAccountCredentials</a> smart constructor.
data ServiceAccountCredentials

-- | Creates a value of <a>ServiceAccountCredentials</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>sacAccountName</a> - The user name of the account. This account
--   must have the following privileges: create computer objects, join
--   computers to the domain, and change/reset the password on descendant
--   computer objects for the organizational units specified.</li>
--   <li><a>sacAccountPassword</a> - The password for the account.</li>
--   </ul>
serviceAccountCredentials :: Text -> Text -> ServiceAccountCredentials

-- | The user name of the account. This account must have the following
--   privileges: create computer objects, join computers to the domain, and
--   change/reset the password on descendant computer objects for the
--   organizational units specified.
sacAccountName :: Lens' ServiceAccountCredentials Text

-- | The password for the account.
sacAccountPassword :: Lens' ServiceAccountCredentials Text

-- | Describes 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>sAuthenticationType</a> - The authentication method. The user
--   is authenticated using a streaming URL (<tt>API</tt> ) or SAML
--   federation (<tt>SAML</tt> ).</li>
--   <li><a>sId</a> - The ID of the 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 the streaming
--   session.</li>
--   <li><a>sFleetName</a> - The name of the fleet for the streaming
--   session.</li>
--   <li><a>sState</a> - The current state of the streaming session.</li>
--   </ul>
session :: Text -> Text -> Text -> Text -> SessionState -> Session

-- | The authentication method. The user is authenticated using a streaming
--   URL (<tt>API</tt> ) or SAML federation (<tt>SAML</tt> ).
sAuthenticationType :: Lens' Session (Maybe AuthenticationType)

-- | The ID of the 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 the streaming session.
sStackName :: Lens' Session Text

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

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

-- | Describes 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>sFeedbackURL</a> - The URL that users are redirected to after
--   they click the Send Feedback link. If no URL is specified, no Send
--   Feedback link is displayed.</li>
--   <li><a>sARN</a> - The ARN of the stack.</li>
--   <li><a>sCreatedTime</a> - The time the stack was created.</li>
--   <li><a>sStorageConnectors</a> - The storage connectors to enable.</li>
--   <li><a>sDisplayName</a> - The stack name for display.</li>
--   <li><a>sStackErrors</a> - The errors for the stack.</li>
--   <li><a>sDescription</a> - The description for display.</li>
--   <li><a>sRedirectURL</a> - The URL that users are redirected to after
--   their streaming session ends.</li>
--   <li><a>sName</a> - The name of the stack.</li>
--   </ul>
stack :: Text -> Stack

-- | The URL that users are redirected to after they click the Send
--   Feedback link. If no URL is specified, no Send Feedback link is
--   displayed.
sFeedbackURL :: Lens' Stack (Maybe Text)

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

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

-- | The storage connectors to enable.
sStorageConnectors :: Lens' Stack [StorageConnector]

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

-- | The errors for the stack.
sStackErrors :: Lens' Stack [StackError]

-- | The description for display.
sDescription :: Lens' Stack (Maybe Text)

-- | The URL that users are redirected to after their streaming session
--   ends.
sRedirectURL :: Lens' Stack (Maybe Text)

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

-- | Describes a stack error.
--   
--   <i>See:</i> <a>stackError</a> smart constructor.
data StackError

-- | Creates a value of <a>StackError</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>seErrorCode</a> - The error code.</li>
--   <li><a>seErrorMessage</a> - The error message.</li>
--   </ul>
stackError :: StackError

-- | The error code.
seErrorCode :: Lens' StackError (Maybe StackErrorCode)

-- | The error message.
seErrorMessage :: Lens' StackError (Maybe Text)

-- | Describes a storage connector.
--   
--   <i>See:</i> <a>storageConnector</a> smart constructor.
data StorageConnector

-- | Creates a value of <a>StorageConnector</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>scResourceIdentifier</a> - The ARN of the storage
--   connector.</li>
--   <li><a>scConnectorType</a> - The type of storage connector.</li>
--   </ul>
storageConnector :: StorageConnectorType -> StorageConnector

-- | The ARN of the storage connector.
scResourceIdentifier :: Lens' StorageConnector (Maybe Text)

-- | The type of storage connector.
scConnectorType :: Lens' StorageConnector StorageConnectorType

-- | Describes VPC configuration information.
--   
--   <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>vcSecurityGroupIds</a> - The security groups for the
--   fleet.</li>
--   <li><a>vcSubnetIds</a> - The subnets to which a network interface is
--   established from the fleet instance.</li>
--   </ul>
vpcConfig :: VPCConfig

-- | The security groups for the fleet.
vcSecurityGroupIds :: Lens' VPCConfig [Text]

-- | The subnets to which a network interface is established from the fleet
--   instance.
vcSubnetIds :: Lens' VPCConfig [Text]
