packages feed

amazonka-devicefarm 1.4.5 → 1.5.0

raw patch · 70 files changed

+5972/−3838 lines, 70 filesdep ~amazonka-coredep ~amazonka-devicefarmdep ~amazonka-testPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: amazonka-core, amazonka-devicefarm, amazonka-test

API changes (from Hackage documentation)

+ Network.AWS.DeviceFarm: AppiumVersion :: DeviceAttribute
+ Network.AWS.DeviceFarm: Contains :: RuleOperator
+ Network.AWS.DeviceFarm: CustomerArtifact :: ArtifactType
+ Network.AWS.DeviceFarm: CustomerArtifactLog :: ArtifactType
+ Network.AWS.DeviceFarm: DPTCurated :: DevicePoolType
+ Network.AWS.DeviceFarm: DPTPrivate :: DevicePoolType
+ Network.AWS.DeviceFarm: ParsingFailed :: ExecutionResultCode
+ Network.AWS.DeviceFarm: RemoteDebugEnabled :: DeviceAttribute
+ Network.AWS.DeviceFarm: asDefaultJobTimeoutMinutes :: Lens' AccountSettings (Maybe Int)
+ Network.AWS.DeviceFarm: asMaxJobTimeoutMinutes :: Lens' AccountSettings (Maybe Int)
+ Network.AWS.DeviceFarm: asMaxSlots :: Lens' AccountSettings (HashMap Text Int)
+ Network.AWS.DeviceFarm: asTrialMinutes :: Lens' AccountSettings (Maybe TrialMinutes)
+ Network.AWS.DeviceFarm: capAndroidPaths :: Lens' CustomerArtifactPaths [Text]
+ Network.AWS.DeviceFarm: capDeviceHostPaths :: Lens' CustomerArtifactPaths [Text]
+ Network.AWS.DeviceFarm: capIosPaths :: Lens' CustomerArtifactPaths [Text]
+ Network.AWS.DeviceFarm: customerArtifactPaths :: CustomerArtifactPaths
+ Network.AWS.DeviceFarm: data CustomerArtifactPaths
+ Network.AWS.DeviceFarm: data ExecutionConfiguration
+ Network.AWS.DeviceFarm: data ExecutionResultCode
+ Network.AWS.DeviceFarm: data NetworkProfile
+ Network.AWS.DeviceFarm: data NetworkProfileType
+ Network.AWS.DeviceFarm: data OfferingPromotion
+ Network.AWS.DeviceFarm: data TrialMinutes
+ Network.AWS.DeviceFarm: devRemoteDebugEnabled :: Lens' Device (Maybe Bool)
+ Network.AWS.DeviceFarm: ecAccountsCleanup :: Lens' ExecutionConfiguration (Maybe Bool)
+ Network.AWS.DeviceFarm: ecAppPackagesCleanup :: Lens' ExecutionConfiguration (Maybe Bool)
+ Network.AWS.DeviceFarm: ecJobTimeoutMinutes :: Lens' ExecutionConfiguration (Maybe Int)
+ Network.AWS.DeviceFarm: executionConfiguration :: ExecutionConfiguration
+ Network.AWS.DeviceFarm: networkProfile :: NetworkProfile
+ Network.AWS.DeviceFarm: npArn :: Lens' NetworkProfile (Maybe Text)
+ Network.AWS.DeviceFarm: npDescription :: Lens' NetworkProfile (Maybe Text)
+ Network.AWS.DeviceFarm: npDownlinkBandwidthBits :: Lens' NetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm: npDownlinkDelayMs :: Lens' NetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm: npDownlinkJitterMs :: Lens' NetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm: npDownlinkLossPercent :: Lens' NetworkProfile (Maybe Natural)
+ Network.AWS.DeviceFarm: npName :: Lens' NetworkProfile (Maybe Text)
+ Network.AWS.DeviceFarm: npType :: Lens' NetworkProfile (Maybe NetworkProfileType)
+ Network.AWS.DeviceFarm: npUplinkBandwidthBits :: Lens' NetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm: npUplinkDelayMs :: Lens' NetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm: npUplinkJitterMs :: Lens' NetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm: npUplinkLossPercent :: Lens' NetworkProfile (Maybe Natural)
+ Network.AWS.DeviceFarm: offeringPromotion :: OfferingPromotion
+ Network.AWS.DeviceFarm: opDescription :: Lens' OfferingPromotion (Maybe Text)
+ Network.AWS.DeviceFarm: opId :: Lens' OfferingPromotion (Maybe Text)
+ Network.AWS.DeviceFarm: otOfferingPromotionId :: Lens' OfferingTransaction (Maybe Text)
+ Network.AWS.DeviceFarm: pDefaultJobTimeoutMinutes :: Lens' Project (Maybe Int)
+ Network.AWS.DeviceFarm: rasClientId :: Lens' RemoteAccessSession (Maybe Text)
+ Network.AWS.DeviceFarm: rasDeviceUdid :: Lens' RemoteAccessSession (Maybe Text)
+ Network.AWS.DeviceFarm: rasHostAddress :: Lens' RemoteAccessSession (Maybe Text)
+ Network.AWS.DeviceFarm: rasRemoteDebugEnabled :: Lens' RemoteAccessSession (Maybe Bool)
+ Network.AWS.DeviceFarm: runCustomerArtifactPaths :: Lens' Run (Maybe CustomerArtifactPaths)
+ Network.AWS.DeviceFarm: runNetworkProfile :: Lens' Run (Maybe NetworkProfile)
+ Network.AWS.DeviceFarm: runParsingResultURL :: Lens' Run (Maybe Text)
+ Network.AWS.DeviceFarm: runResultCode :: Lens' Run (Maybe ExecutionResultCode)
+ Network.AWS.DeviceFarm: srcCustomerArtifactPaths :: Lens' ScheduleRunConfiguration (Maybe CustomerArtifactPaths)
+ Network.AWS.DeviceFarm: tmRemaining :: Lens' TrialMinutes (Maybe Double)
+ Network.AWS.DeviceFarm: tmTotal :: Lens' TrialMinutes (Maybe Double)
+ Network.AWS.DeviceFarm: trialMinutes :: TrialMinutes
+ Network.AWS.DeviceFarm.CreateNetworkProfile: cnpDescription :: Lens' CreateNetworkProfile (Maybe Text)
+ Network.AWS.DeviceFarm.CreateNetworkProfile: cnpDownlinkBandwidthBits :: Lens' CreateNetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm.CreateNetworkProfile: cnpDownlinkDelayMs :: Lens' CreateNetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm.CreateNetworkProfile: cnpDownlinkJitterMs :: Lens' CreateNetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm.CreateNetworkProfile: cnpDownlinkLossPercent :: Lens' CreateNetworkProfile (Maybe Natural)
+ Network.AWS.DeviceFarm.CreateNetworkProfile: cnpName :: Lens' CreateNetworkProfile Text
+ Network.AWS.DeviceFarm.CreateNetworkProfile: cnpProjectARN :: Lens' CreateNetworkProfile Text
+ Network.AWS.DeviceFarm.CreateNetworkProfile: cnpType :: Lens' CreateNetworkProfile (Maybe NetworkProfileType)
+ Network.AWS.DeviceFarm.CreateNetworkProfile: cnpUplinkBandwidthBits :: Lens' CreateNetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm.CreateNetworkProfile: cnpUplinkDelayMs :: Lens' CreateNetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm.CreateNetworkProfile: cnpUplinkJitterMs :: Lens' CreateNetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm.CreateNetworkProfile: cnpUplinkLossPercent :: Lens' CreateNetworkProfile (Maybe Natural)
+ Network.AWS.DeviceFarm.CreateNetworkProfile: cnprsNetworkProfile :: Lens' CreateNetworkProfileResponse (Maybe NetworkProfile)
+ Network.AWS.DeviceFarm.CreateNetworkProfile: cnprsResponseStatus :: Lens' CreateNetworkProfileResponse Int
+ Network.AWS.DeviceFarm.CreateNetworkProfile: createNetworkProfile :: Text -> Text -> CreateNetworkProfile
+ Network.AWS.DeviceFarm.CreateNetworkProfile: createNetworkProfileResponse :: Int -> CreateNetworkProfileResponse
+ Network.AWS.DeviceFarm.CreateNetworkProfile: data CreateNetworkProfile
+ Network.AWS.DeviceFarm.CreateNetworkProfile: data CreateNetworkProfileResponse
+ Network.AWS.DeviceFarm.CreateNetworkProfile: instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.CreateNetworkProfile.CreateNetworkProfile
+ Network.AWS.DeviceFarm.CreateNetworkProfile: instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.CreateNetworkProfile.CreateNetworkProfileResponse
+ Network.AWS.DeviceFarm.CreateNetworkProfile: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.CreateNetworkProfile.CreateNetworkProfile
+ Network.AWS.DeviceFarm.CreateNetworkProfile: instance Data.Data.Data Network.AWS.DeviceFarm.CreateNetworkProfile.CreateNetworkProfile
+ Network.AWS.DeviceFarm.CreateNetworkProfile: instance Data.Data.Data Network.AWS.DeviceFarm.CreateNetworkProfile.CreateNetworkProfileResponse
+ Network.AWS.DeviceFarm.CreateNetworkProfile: instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.CreateNetworkProfile.CreateNetworkProfile
+ Network.AWS.DeviceFarm.CreateNetworkProfile: instance GHC.Classes.Eq Network.AWS.DeviceFarm.CreateNetworkProfile.CreateNetworkProfile
+ Network.AWS.DeviceFarm.CreateNetworkProfile: instance GHC.Classes.Eq Network.AWS.DeviceFarm.CreateNetworkProfile.CreateNetworkProfileResponse
+ Network.AWS.DeviceFarm.CreateNetworkProfile: instance GHC.Generics.Generic Network.AWS.DeviceFarm.CreateNetworkProfile.CreateNetworkProfile
+ Network.AWS.DeviceFarm.CreateNetworkProfile: instance GHC.Generics.Generic Network.AWS.DeviceFarm.CreateNetworkProfile.CreateNetworkProfileResponse
+ Network.AWS.DeviceFarm.CreateNetworkProfile: instance GHC.Read.Read Network.AWS.DeviceFarm.CreateNetworkProfile.CreateNetworkProfile
+ Network.AWS.DeviceFarm.CreateNetworkProfile: instance GHC.Read.Read Network.AWS.DeviceFarm.CreateNetworkProfile.CreateNetworkProfileResponse
+ Network.AWS.DeviceFarm.CreateNetworkProfile: instance GHC.Show.Show Network.AWS.DeviceFarm.CreateNetworkProfile.CreateNetworkProfile
+ Network.AWS.DeviceFarm.CreateNetworkProfile: instance GHC.Show.Show Network.AWS.DeviceFarm.CreateNetworkProfile.CreateNetworkProfileResponse
+ Network.AWS.DeviceFarm.CreateNetworkProfile: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.CreateNetworkProfile.CreateNetworkProfile
+ Network.AWS.DeviceFarm.CreateNetworkProfile: instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.CreateNetworkProfile.CreateNetworkProfile
+ Network.AWS.DeviceFarm.CreateNetworkProfile: instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.CreateNetworkProfile.CreateNetworkProfile
+ Network.AWS.DeviceFarm.CreateNetworkProfile: instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.CreateNetworkProfile.CreateNetworkProfile
+ Network.AWS.DeviceFarm.CreateProject: cpDefaultJobTimeoutMinutes :: Lens' CreateProject (Maybe Int)
+ Network.AWS.DeviceFarm.CreateRemoteAccessSession: crasClientId :: Lens' CreateRemoteAccessSession (Maybe Text)
+ Network.AWS.DeviceFarm.CreateRemoteAccessSession: crasRemoteDebugEnabled :: Lens' CreateRemoteAccessSession (Maybe Bool)
+ Network.AWS.DeviceFarm.CreateRemoteAccessSession: crasSshPublicKey :: Lens' CreateRemoteAccessSession (Maybe Text)
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: data DeleteNetworkProfile
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: data DeleteNetworkProfileResponse
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: deleteNetworkProfile :: Text -> DeleteNetworkProfile
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: deleteNetworkProfileResponse :: Int -> DeleteNetworkProfileResponse
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: dnpArn :: Lens' DeleteNetworkProfile Text
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: dnprsResponseStatus :: Lens' DeleteNetworkProfileResponse Int
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.DeleteNetworkProfile.DeleteNetworkProfile
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.DeleteNetworkProfile.DeleteNetworkProfileResponse
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.DeleteNetworkProfile.DeleteNetworkProfile
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: instance Data.Data.Data Network.AWS.DeviceFarm.DeleteNetworkProfile.DeleteNetworkProfile
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: instance Data.Data.Data Network.AWS.DeviceFarm.DeleteNetworkProfile.DeleteNetworkProfileResponse
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.DeleteNetworkProfile.DeleteNetworkProfile
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: instance GHC.Classes.Eq Network.AWS.DeviceFarm.DeleteNetworkProfile.DeleteNetworkProfile
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: instance GHC.Classes.Eq Network.AWS.DeviceFarm.DeleteNetworkProfile.DeleteNetworkProfileResponse
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: instance GHC.Generics.Generic Network.AWS.DeviceFarm.DeleteNetworkProfile.DeleteNetworkProfile
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: instance GHC.Generics.Generic Network.AWS.DeviceFarm.DeleteNetworkProfile.DeleteNetworkProfileResponse
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: instance GHC.Read.Read Network.AWS.DeviceFarm.DeleteNetworkProfile.DeleteNetworkProfile
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: instance GHC.Read.Read Network.AWS.DeviceFarm.DeleteNetworkProfile.DeleteNetworkProfileResponse
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: instance GHC.Show.Show Network.AWS.DeviceFarm.DeleteNetworkProfile.DeleteNetworkProfile
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: instance GHC.Show.Show Network.AWS.DeviceFarm.DeleteNetworkProfile.DeleteNetworkProfileResponse
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.DeleteNetworkProfile.DeleteNetworkProfile
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.DeleteNetworkProfile.DeleteNetworkProfile
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.DeleteNetworkProfile.DeleteNetworkProfile
+ Network.AWS.DeviceFarm.DeleteNetworkProfile: instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.DeleteNetworkProfile.DeleteNetworkProfile
+ Network.AWS.DeviceFarm.GetDevicePoolCompatibility: gdpcTest :: Lens' GetDevicePoolCompatibility (Maybe ScheduleRunTest)
+ Network.AWS.DeviceFarm.GetNetworkProfile: data GetNetworkProfile
+ Network.AWS.DeviceFarm.GetNetworkProfile: data GetNetworkProfileResponse
+ Network.AWS.DeviceFarm.GetNetworkProfile: getNetworkProfile :: Text -> GetNetworkProfile
+ Network.AWS.DeviceFarm.GetNetworkProfile: getNetworkProfileResponse :: Int -> GetNetworkProfileResponse
+ Network.AWS.DeviceFarm.GetNetworkProfile: gnpArn :: Lens' GetNetworkProfile Text
+ Network.AWS.DeviceFarm.GetNetworkProfile: gnprsNetworkProfile :: Lens' GetNetworkProfileResponse (Maybe NetworkProfile)
+ Network.AWS.DeviceFarm.GetNetworkProfile: gnprsResponseStatus :: Lens' GetNetworkProfileResponse Int
+ Network.AWS.DeviceFarm.GetNetworkProfile: instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetNetworkProfile.GetNetworkProfile
+ Network.AWS.DeviceFarm.GetNetworkProfile: instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.GetNetworkProfile.GetNetworkProfileResponse
+ Network.AWS.DeviceFarm.GetNetworkProfile: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.GetNetworkProfile.GetNetworkProfile
+ Network.AWS.DeviceFarm.GetNetworkProfile: instance Data.Data.Data Network.AWS.DeviceFarm.GetNetworkProfile.GetNetworkProfile
+ Network.AWS.DeviceFarm.GetNetworkProfile: instance Data.Data.Data Network.AWS.DeviceFarm.GetNetworkProfile.GetNetworkProfileResponse
+ Network.AWS.DeviceFarm.GetNetworkProfile: instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.GetNetworkProfile.GetNetworkProfile
+ Network.AWS.DeviceFarm.GetNetworkProfile: instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetNetworkProfile.GetNetworkProfile
+ Network.AWS.DeviceFarm.GetNetworkProfile: instance GHC.Classes.Eq Network.AWS.DeviceFarm.GetNetworkProfile.GetNetworkProfileResponse
+ Network.AWS.DeviceFarm.GetNetworkProfile: instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetNetworkProfile.GetNetworkProfile
+ Network.AWS.DeviceFarm.GetNetworkProfile: instance GHC.Generics.Generic Network.AWS.DeviceFarm.GetNetworkProfile.GetNetworkProfileResponse
+ Network.AWS.DeviceFarm.GetNetworkProfile: instance GHC.Read.Read Network.AWS.DeviceFarm.GetNetworkProfile.GetNetworkProfile
+ Network.AWS.DeviceFarm.GetNetworkProfile: instance GHC.Read.Read Network.AWS.DeviceFarm.GetNetworkProfile.GetNetworkProfileResponse
+ Network.AWS.DeviceFarm.GetNetworkProfile: instance GHC.Show.Show Network.AWS.DeviceFarm.GetNetworkProfile.GetNetworkProfile
+ Network.AWS.DeviceFarm.GetNetworkProfile: instance GHC.Show.Show Network.AWS.DeviceFarm.GetNetworkProfile.GetNetworkProfileResponse
+ Network.AWS.DeviceFarm.GetNetworkProfile: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.GetNetworkProfile.GetNetworkProfile
+ Network.AWS.DeviceFarm.GetNetworkProfile: instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.GetNetworkProfile.GetNetworkProfile
+ Network.AWS.DeviceFarm.GetNetworkProfile: instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.GetNetworkProfile.GetNetworkProfile
+ Network.AWS.DeviceFarm.GetNetworkProfile: instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.GetNetworkProfile.GetNetworkProfile
+ Network.AWS.DeviceFarm.GetOfferingStatus: instance Network.AWS.Pager.AWSPager Network.AWS.DeviceFarm.GetOfferingStatus.GetOfferingStatus
+ Network.AWS.DeviceFarm.ListNetworkProfiles: data ListNetworkProfiles
+ Network.AWS.DeviceFarm.ListNetworkProfiles: data ListNetworkProfilesResponse
+ Network.AWS.DeviceFarm.ListNetworkProfiles: instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListNetworkProfiles.ListNetworkProfiles
+ Network.AWS.DeviceFarm.ListNetworkProfiles: instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListNetworkProfiles.ListNetworkProfilesResponse
+ Network.AWS.DeviceFarm.ListNetworkProfiles: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.ListNetworkProfiles.ListNetworkProfiles
+ Network.AWS.DeviceFarm.ListNetworkProfiles: instance Data.Data.Data Network.AWS.DeviceFarm.ListNetworkProfiles.ListNetworkProfiles
+ Network.AWS.DeviceFarm.ListNetworkProfiles: instance Data.Data.Data Network.AWS.DeviceFarm.ListNetworkProfiles.ListNetworkProfilesResponse
+ Network.AWS.DeviceFarm.ListNetworkProfiles: instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.ListNetworkProfiles.ListNetworkProfiles
+ Network.AWS.DeviceFarm.ListNetworkProfiles: instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListNetworkProfiles.ListNetworkProfiles
+ Network.AWS.DeviceFarm.ListNetworkProfiles: instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListNetworkProfiles.ListNetworkProfilesResponse
+ Network.AWS.DeviceFarm.ListNetworkProfiles: instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListNetworkProfiles.ListNetworkProfiles
+ Network.AWS.DeviceFarm.ListNetworkProfiles: instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListNetworkProfiles.ListNetworkProfilesResponse
+ Network.AWS.DeviceFarm.ListNetworkProfiles: instance GHC.Read.Read Network.AWS.DeviceFarm.ListNetworkProfiles.ListNetworkProfiles
+ Network.AWS.DeviceFarm.ListNetworkProfiles: instance GHC.Read.Read Network.AWS.DeviceFarm.ListNetworkProfiles.ListNetworkProfilesResponse
+ Network.AWS.DeviceFarm.ListNetworkProfiles: instance GHC.Show.Show Network.AWS.DeviceFarm.ListNetworkProfiles.ListNetworkProfiles
+ Network.AWS.DeviceFarm.ListNetworkProfiles: instance GHC.Show.Show Network.AWS.DeviceFarm.ListNetworkProfiles.ListNetworkProfilesResponse
+ Network.AWS.DeviceFarm.ListNetworkProfiles: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.ListNetworkProfiles.ListNetworkProfiles
+ Network.AWS.DeviceFarm.ListNetworkProfiles: instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.ListNetworkProfiles.ListNetworkProfiles
+ Network.AWS.DeviceFarm.ListNetworkProfiles: instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.ListNetworkProfiles.ListNetworkProfiles
+ Network.AWS.DeviceFarm.ListNetworkProfiles: instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.ListNetworkProfiles.ListNetworkProfiles
+ Network.AWS.DeviceFarm.ListNetworkProfiles: listNetworkProfiles :: Text -> ListNetworkProfiles
+ Network.AWS.DeviceFarm.ListNetworkProfiles: listNetworkProfilesResponse :: Int -> ListNetworkProfilesResponse
+ Network.AWS.DeviceFarm.ListNetworkProfiles: lnpArn :: Lens' ListNetworkProfiles Text
+ Network.AWS.DeviceFarm.ListNetworkProfiles: lnpNextToken :: Lens' ListNetworkProfiles (Maybe Text)
+ Network.AWS.DeviceFarm.ListNetworkProfiles: lnpType :: Lens' ListNetworkProfiles (Maybe NetworkProfileType)
+ Network.AWS.DeviceFarm.ListNetworkProfiles: lnprsNetworkProfiles :: Lens' ListNetworkProfilesResponse [NetworkProfile]
+ Network.AWS.DeviceFarm.ListNetworkProfiles: lnprsNextToken :: Lens' ListNetworkProfilesResponse (Maybe Text)
+ Network.AWS.DeviceFarm.ListNetworkProfiles: lnprsResponseStatus :: Lens' ListNetworkProfilesResponse Int
+ Network.AWS.DeviceFarm.ListOfferingPromotions: data ListOfferingPromotions
+ Network.AWS.DeviceFarm.ListOfferingPromotions: data ListOfferingPromotionsResponse
+ Network.AWS.DeviceFarm.ListOfferingPromotions: instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListOfferingPromotions.ListOfferingPromotions
+ Network.AWS.DeviceFarm.ListOfferingPromotions: instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.ListOfferingPromotions.ListOfferingPromotionsResponse
+ Network.AWS.DeviceFarm.ListOfferingPromotions: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.ListOfferingPromotions.ListOfferingPromotions
+ Network.AWS.DeviceFarm.ListOfferingPromotions: instance Data.Data.Data Network.AWS.DeviceFarm.ListOfferingPromotions.ListOfferingPromotions
+ Network.AWS.DeviceFarm.ListOfferingPromotions: instance Data.Data.Data Network.AWS.DeviceFarm.ListOfferingPromotions.ListOfferingPromotionsResponse
+ Network.AWS.DeviceFarm.ListOfferingPromotions: instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.ListOfferingPromotions.ListOfferingPromotions
+ Network.AWS.DeviceFarm.ListOfferingPromotions: instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListOfferingPromotions.ListOfferingPromotions
+ Network.AWS.DeviceFarm.ListOfferingPromotions: instance GHC.Classes.Eq Network.AWS.DeviceFarm.ListOfferingPromotions.ListOfferingPromotionsResponse
+ Network.AWS.DeviceFarm.ListOfferingPromotions: instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListOfferingPromotions.ListOfferingPromotions
+ Network.AWS.DeviceFarm.ListOfferingPromotions: instance GHC.Generics.Generic Network.AWS.DeviceFarm.ListOfferingPromotions.ListOfferingPromotionsResponse
+ Network.AWS.DeviceFarm.ListOfferingPromotions: instance GHC.Read.Read Network.AWS.DeviceFarm.ListOfferingPromotions.ListOfferingPromotions
+ Network.AWS.DeviceFarm.ListOfferingPromotions: instance GHC.Read.Read Network.AWS.DeviceFarm.ListOfferingPromotions.ListOfferingPromotionsResponse
+ Network.AWS.DeviceFarm.ListOfferingPromotions: instance GHC.Show.Show Network.AWS.DeviceFarm.ListOfferingPromotions.ListOfferingPromotions
+ Network.AWS.DeviceFarm.ListOfferingPromotions: instance GHC.Show.Show Network.AWS.DeviceFarm.ListOfferingPromotions.ListOfferingPromotionsResponse
+ Network.AWS.DeviceFarm.ListOfferingPromotions: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.ListOfferingPromotions.ListOfferingPromotions
+ Network.AWS.DeviceFarm.ListOfferingPromotions: instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.ListOfferingPromotions.ListOfferingPromotions
+ Network.AWS.DeviceFarm.ListOfferingPromotions: instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.ListOfferingPromotions.ListOfferingPromotions
+ Network.AWS.DeviceFarm.ListOfferingPromotions: instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.ListOfferingPromotions.ListOfferingPromotions
+ Network.AWS.DeviceFarm.ListOfferingPromotions: listOfferingPromotions :: ListOfferingPromotions
+ Network.AWS.DeviceFarm.ListOfferingPromotions: listOfferingPromotionsResponse :: Int -> ListOfferingPromotionsResponse
+ Network.AWS.DeviceFarm.ListOfferingPromotions: lopNextToken :: Lens' ListOfferingPromotions (Maybe Text)
+ Network.AWS.DeviceFarm.ListOfferingPromotions: loprsNextToken :: Lens' ListOfferingPromotionsResponse (Maybe Text)
+ Network.AWS.DeviceFarm.ListOfferingPromotions: loprsOfferingPromotions :: Lens' ListOfferingPromotionsResponse [OfferingPromotion]
+ Network.AWS.DeviceFarm.ListOfferingPromotions: loprsResponseStatus :: Lens' ListOfferingPromotionsResponse Int
+ Network.AWS.DeviceFarm.ListOfferingTransactions: instance Network.AWS.Pager.AWSPager Network.AWS.DeviceFarm.ListOfferingTransactions.ListOfferingTransactions
+ Network.AWS.DeviceFarm.ListOfferings: instance Network.AWS.Pager.AWSPager Network.AWS.DeviceFarm.ListOfferings.ListOfferings
+ Network.AWS.DeviceFarm.PurchaseOffering: poOfferingPromotionId :: Lens' PurchaseOffering (Maybe Text)
+ Network.AWS.DeviceFarm.ScheduleRun: srExecutionConfiguration :: Lens' ScheduleRun (Maybe ExecutionConfiguration)
+ Network.AWS.DeviceFarm.Types: AppiumVersion :: DeviceAttribute
+ Network.AWS.DeviceFarm.Types: Contains :: RuleOperator
+ Network.AWS.DeviceFarm.Types: CustomerArtifact :: ArtifactType
+ Network.AWS.DeviceFarm.Types: CustomerArtifactLog :: ArtifactType
+ Network.AWS.DeviceFarm.Types: DPTCurated :: DevicePoolType
+ Network.AWS.DeviceFarm.Types: DPTPrivate :: DevicePoolType
+ Network.AWS.DeviceFarm.Types: ParsingFailed :: ExecutionResultCode
+ Network.AWS.DeviceFarm.Types: RemoteDebugEnabled :: DeviceAttribute
+ Network.AWS.DeviceFarm.Types: asDefaultJobTimeoutMinutes :: Lens' AccountSettings (Maybe Int)
+ Network.AWS.DeviceFarm.Types: asMaxJobTimeoutMinutes :: Lens' AccountSettings (Maybe Int)
+ Network.AWS.DeviceFarm.Types: asMaxSlots :: Lens' AccountSettings (HashMap Text Int)
+ Network.AWS.DeviceFarm.Types: asTrialMinutes :: Lens' AccountSettings (Maybe TrialMinutes)
+ Network.AWS.DeviceFarm.Types: capAndroidPaths :: Lens' CustomerArtifactPaths [Text]
+ Network.AWS.DeviceFarm.Types: capDeviceHostPaths :: Lens' CustomerArtifactPaths [Text]
+ Network.AWS.DeviceFarm.Types: capIosPaths :: Lens' CustomerArtifactPaths [Text]
+ Network.AWS.DeviceFarm.Types: customerArtifactPaths :: CustomerArtifactPaths
+ Network.AWS.DeviceFarm.Types: data CustomerArtifactPaths
+ Network.AWS.DeviceFarm.Types: data ExecutionConfiguration
+ Network.AWS.DeviceFarm.Types: data ExecutionResultCode
+ Network.AWS.DeviceFarm.Types: data NetworkProfile
+ Network.AWS.DeviceFarm.Types: data NetworkProfileType
+ Network.AWS.DeviceFarm.Types: data OfferingPromotion
+ Network.AWS.DeviceFarm.Types: data TrialMinutes
+ Network.AWS.DeviceFarm.Types: devRemoteDebugEnabled :: Lens' Device (Maybe Bool)
+ Network.AWS.DeviceFarm.Types: ecAccountsCleanup :: Lens' ExecutionConfiguration (Maybe Bool)
+ Network.AWS.DeviceFarm.Types: ecAppPackagesCleanup :: Lens' ExecutionConfiguration (Maybe Bool)
+ Network.AWS.DeviceFarm.Types: ecJobTimeoutMinutes :: Lens' ExecutionConfiguration (Maybe Int)
+ Network.AWS.DeviceFarm.Types: executionConfiguration :: ExecutionConfiguration
+ Network.AWS.DeviceFarm.Types: networkProfile :: NetworkProfile
+ Network.AWS.DeviceFarm.Types: npArn :: Lens' NetworkProfile (Maybe Text)
+ Network.AWS.DeviceFarm.Types: npDescription :: Lens' NetworkProfile (Maybe Text)
+ Network.AWS.DeviceFarm.Types: npDownlinkBandwidthBits :: Lens' NetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm.Types: npDownlinkDelayMs :: Lens' NetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm.Types: npDownlinkJitterMs :: Lens' NetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm.Types: npDownlinkLossPercent :: Lens' NetworkProfile (Maybe Natural)
+ Network.AWS.DeviceFarm.Types: npName :: Lens' NetworkProfile (Maybe Text)
+ Network.AWS.DeviceFarm.Types: npType :: Lens' NetworkProfile (Maybe NetworkProfileType)
+ Network.AWS.DeviceFarm.Types: npUplinkBandwidthBits :: Lens' NetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm.Types: npUplinkDelayMs :: Lens' NetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm.Types: npUplinkJitterMs :: Lens' NetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm.Types: npUplinkLossPercent :: Lens' NetworkProfile (Maybe Natural)
+ Network.AWS.DeviceFarm.Types: offeringPromotion :: OfferingPromotion
+ Network.AWS.DeviceFarm.Types: opDescription :: Lens' OfferingPromotion (Maybe Text)
+ Network.AWS.DeviceFarm.Types: opId :: Lens' OfferingPromotion (Maybe Text)
+ Network.AWS.DeviceFarm.Types: otOfferingPromotionId :: Lens' OfferingTransaction (Maybe Text)
+ Network.AWS.DeviceFarm.Types: pDefaultJobTimeoutMinutes :: Lens' Project (Maybe Int)
+ Network.AWS.DeviceFarm.Types: rasClientId :: Lens' RemoteAccessSession (Maybe Text)
+ Network.AWS.DeviceFarm.Types: rasDeviceUdid :: Lens' RemoteAccessSession (Maybe Text)
+ Network.AWS.DeviceFarm.Types: rasHostAddress :: Lens' RemoteAccessSession (Maybe Text)
+ Network.AWS.DeviceFarm.Types: rasRemoteDebugEnabled :: Lens' RemoteAccessSession (Maybe Bool)
+ Network.AWS.DeviceFarm.Types: runCustomerArtifactPaths :: Lens' Run (Maybe CustomerArtifactPaths)
+ Network.AWS.DeviceFarm.Types: runNetworkProfile :: Lens' Run (Maybe NetworkProfile)
+ Network.AWS.DeviceFarm.Types: runParsingResultURL :: Lens' Run (Maybe Text)
+ Network.AWS.DeviceFarm.Types: runResultCode :: Lens' Run (Maybe ExecutionResultCode)
+ Network.AWS.DeviceFarm.Types: srcCustomerArtifactPaths :: Lens' ScheduleRunConfiguration (Maybe CustomerArtifactPaths)
+ Network.AWS.DeviceFarm.Types: tmRemaining :: Lens' TrialMinutes (Maybe Double)
+ Network.AWS.DeviceFarm.Types: tmTotal :: Lens' TrialMinutes (Maybe Double)
+ Network.AWS.DeviceFarm.Types: trialMinutes :: TrialMinutes
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: data UpdateNetworkProfile
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: data UpdateNetworkProfileResponse
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.UpdateNetworkProfile.UpdateNetworkProfile
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: instance Control.DeepSeq.NFData Network.AWS.DeviceFarm.UpdateNetworkProfile.UpdateNetworkProfileResponse
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DeviceFarm.UpdateNetworkProfile.UpdateNetworkProfile
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: instance Data.Data.Data Network.AWS.DeviceFarm.UpdateNetworkProfile.UpdateNetworkProfile
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: instance Data.Data.Data Network.AWS.DeviceFarm.UpdateNetworkProfile.UpdateNetworkProfileResponse
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: instance Data.Hashable.Class.Hashable Network.AWS.DeviceFarm.UpdateNetworkProfile.UpdateNetworkProfile
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: instance GHC.Classes.Eq Network.AWS.DeviceFarm.UpdateNetworkProfile.UpdateNetworkProfile
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: instance GHC.Classes.Eq Network.AWS.DeviceFarm.UpdateNetworkProfile.UpdateNetworkProfileResponse
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: instance GHC.Generics.Generic Network.AWS.DeviceFarm.UpdateNetworkProfile.UpdateNetworkProfile
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: instance GHC.Generics.Generic Network.AWS.DeviceFarm.UpdateNetworkProfile.UpdateNetworkProfileResponse
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: instance GHC.Read.Read Network.AWS.DeviceFarm.UpdateNetworkProfile.UpdateNetworkProfile
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: instance GHC.Read.Read Network.AWS.DeviceFarm.UpdateNetworkProfile.UpdateNetworkProfileResponse
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: instance GHC.Show.Show Network.AWS.DeviceFarm.UpdateNetworkProfile.UpdateNetworkProfile
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: instance GHC.Show.Show Network.AWS.DeviceFarm.UpdateNetworkProfile.UpdateNetworkProfileResponse
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DeviceFarm.UpdateNetworkProfile.UpdateNetworkProfile
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: instance Network.AWS.Data.Path.ToPath Network.AWS.DeviceFarm.UpdateNetworkProfile.UpdateNetworkProfile
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: instance Network.AWS.Data.Query.ToQuery Network.AWS.DeviceFarm.UpdateNetworkProfile.UpdateNetworkProfile
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: instance Network.AWS.Types.AWSRequest Network.AWS.DeviceFarm.UpdateNetworkProfile.UpdateNetworkProfile
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: unpArn :: Lens' UpdateNetworkProfile Text
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: unpDescription :: Lens' UpdateNetworkProfile (Maybe Text)
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: unpDownlinkBandwidthBits :: Lens' UpdateNetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: unpDownlinkDelayMs :: Lens' UpdateNetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: unpDownlinkJitterMs :: Lens' UpdateNetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: unpDownlinkLossPercent :: Lens' UpdateNetworkProfile (Maybe Natural)
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: unpName :: Lens' UpdateNetworkProfile (Maybe Text)
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: unpType :: Lens' UpdateNetworkProfile (Maybe NetworkProfileType)
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: unpUplinkBandwidthBits :: Lens' UpdateNetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: unpUplinkDelayMs :: Lens' UpdateNetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: unpUplinkJitterMs :: Lens' UpdateNetworkProfile (Maybe Integer)
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: unpUplinkLossPercent :: Lens' UpdateNetworkProfile (Maybe Natural)
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: unprsNetworkProfile :: Lens' UpdateNetworkProfileResponse (Maybe NetworkProfile)
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: unprsResponseStatus :: Lens' UpdateNetworkProfileResponse Int
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: updateNetworkProfile :: Text -> UpdateNetworkProfile
+ Network.AWS.DeviceFarm.UpdateNetworkProfile: updateNetworkProfileResponse :: Int -> UpdateNetworkProfileResponse
+ Network.AWS.DeviceFarm.UpdateProject: upDefaultJobTimeoutMinutes :: Lens' UpdateProject (Maybe Int)
- Network.AWS.DeviceFarm: Curated :: DevicePoolType
+ Network.AWS.DeviceFarm: Curated :: NetworkProfileType
- Network.AWS.DeviceFarm: Private :: DevicePoolType
+ Network.AWS.DeviceFarm: Private :: NetworkProfileType
- Network.AWS.DeviceFarm.Types: Curated :: DevicePoolType
+ Network.AWS.DeviceFarm.Types: Curated :: NetworkProfileType
- Network.AWS.DeviceFarm.Types: Private :: DevicePoolType
+ Network.AWS.DeviceFarm.Types: Private :: NetworkProfileType

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`1.4.5`+`1.5.0`   ## Description
amazonka-devicefarm.cabal view
@@ -1,13 +1,13 @@ name:                  amazonka-devicefarm-version:               1.4.5+version:               1.5.0 synopsis:              Amazon Device Farm SDK. homepage:              https://github.com/brendanhay/amazonka bug-reports:           https://github.com/brendanhay/amazonka/issues-license:               OtherLicense+license:               MPL-2.0 license-file:          LICENSE author:                Brendan Hay-maintainer:            Brendan Hay <brendan.g.hay@gmail.com>-copyright:             Copyright (c) 2013-2016 Brendan Hay+maintainer:            Brendan Hay <brendan.g.hay+amazonka@gmail.com>+copyright:             Copyright (c) 2013-2017 Brendan Hay category:              Network, AWS, Cloud, Distributed Computing build-type:            Simple cabal-version:         >= 1.10@@ -29,22 +29,29 @@     to get started.  source-repository head-    type:     git-    location: git://github.com/brendanhay/amazonka.git+    type:              git+    location:          git://github.com/brendanhay/amazonka.git+    subdir:            amazonka-devicefarm  library     default-language:  Haskell2010     hs-source-dirs:    src gen -    ghc-options:       -Wall+    ghc-options:+        -Wall+        -fwarn-incomplete-uni-patterns+        -fwarn-incomplete-record-updates+        -funbox-strict-fields      exposed-modules:           Network.AWS.DeviceFarm         , Network.AWS.DeviceFarm.CreateDevicePool+        , Network.AWS.DeviceFarm.CreateNetworkProfile         , Network.AWS.DeviceFarm.CreateProject         , Network.AWS.DeviceFarm.CreateRemoteAccessSession         , Network.AWS.DeviceFarm.CreateUpload         , Network.AWS.DeviceFarm.DeleteDevicePool+        , Network.AWS.DeviceFarm.DeleteNetworkProfile         , Network.AWS.DeviceFarm.DeleteProject         , Network.AWS.DeviceFarm.DeleteRemoteAccessSession         , Network.AWS.DeviceFarm.DeleteRun@@ -54,6 +61,7 @@         , Network.AWS.DeviceFarm.GetDevicePool         , Network.AWS.DeviceFarm.GetDevicePoolCompatibility         , Network.AWS.DeviceFarm.GetJob+        , Network.AWS.DeviceFarm.GetNetworkProfile         , Network.AWS.DeviceFarm.GetOfferingStatus         , Network.AWS.DeviceFarm.GetProject         , Network.AWS.DeviceFarm.GetRemoteAccessSession@@ -66,6 +74,8 @@         , Network.AWS.DeviceFarm.ListDevicePools         , Network.AWS.DeviceFarm.ListDevices         , Network.AWS.DeviceFarm.ListJobs+        , Network.AWS.DeviceFarm.ListNetworkProfiles+        , Network.AWS.DeviceFarm.ListOfferingPromotions         , Network.AWS.DeviceFarm.ListOfferingTransactions         , Network.AWS.DeviceFarm.ListOfferings         , Network.AWS.DeviceFarm.ListProjects@@ -83,6 +93,7 @@         , Network.AWS.DeviceFarm.StopRun         , Network.AWS.DeviceFarm.Types         , Network.AWS.DeviceFarm.UpdateDevicePool+        , Network.AWS.DeviceFarm.UpdateNetworkProfile         , Network.AWS.DeviceFarm.UpdateProject         , Network.AWS.DeviceFarm.Waiters @@ -91,7 +102,7 @@         , Network.AWS.DeviceFarm.Types.Sum      build-depends:-          amazonka-core == 1.4.5.*+          amazonka-core == 1.5.0.*         , base          >= 4.7     && < 5  test-suite amazonka-devicefarm-test@@ -111,9 +122,9 @@         , Test.AWS.DeviceFarm.Internal      build-depends:-          amazonka-core == 1.4.5.*-        , amazonka-test == 1.4.5.*-        , amazonka-devicefarm == 1.4.5.*+          amazonka-core == 1.5.0.*+        , amazonka-test == 1.5.0.*+        , amazonka-devicefarm         , base         , bytestring         , tasty
+ fixture/CreateNetworkProfile.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/devicefarm/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  devicefarm.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/CreateNetworkProfileResponse.proto view
+ fixture/DeleteNetworkProfile.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/devicefarm/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  devicefarm.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteNetworkProfileResponse.proto view
+ fixture/GetNetworkProfile.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/devicefarm/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  devicefarm.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetNetworkProfileResponse.proto view
+ fixture/ListNetworkProfiles.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/devicefarm/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  devicefarm.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListNetworkProfilesResponse.proto view
+ fixture/ListOfferingPromotions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/devicefarm/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  devicefarm.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListOfferingPromotionsResponse.proto view
+ fixture/UpdateNetworkProfile.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/devicefarm/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  devicefarm.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateNetworkProfileResponse.proto view
gen/Network/AWS/DeviceFarm.hs view
@@ -5,9 +5,9 @@  -- | -- Module      : Network.AWS.DeviceFarm--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -55,6 +55,12 @@     -- ** UpdateProject     , module Network.AWS.DeviceFarm.UpdateProject +    -- ** UpdateNetworkProfile+    , module Network.AWS.DeviceFarm.UpdateNetworkProfile++    -- ** DeleteNetworkProfile+    , module Network.AWS.DeviceFarm.DeleteNetworkProfile+     -- ** GetDevicePoolCompatibility     , module Network.AWS.DeviceFarm.GetDevicePoolCompatibility @@ -91,7 +97,7 @@     -- ** GetUpload     , module Network.AWS.DeviceFarm.GetUpload -    -- ** ListOfferingTransactions+    -- ** ListOfferingTransactions (Paginated)     , module Network.AWS.DeviceFarm.ListOfferingTransactions      -- ** CreateDevicePool@@ -106,6 +112,9 @@     -- ** GetTest     , module Network.AWS.DeviceFarm.GetTest +    -- ** GetNetworkProfile+    , module Network.AWS.DeviceFarm.GetNetworkProfile+     -- ** RenewOffering     , module Network.AWS.DeviceFarm.RenewOffering @@ -118,9 +127,15 @@     -- ** StopRemoteAccessSession     , module Network.AWS.DeviceFarm.StopRemoteAccessSession +    -- ** CreateNetworkProfile+    , module Network.AWS.DeviceFarm.CreateNetworkProfile+     -- ** GetJob     , module Network.AWS.DeviceFarm.GetJob +    -- ** ListNetworkProfiles+    , module Network.AWS.DeviceFarm.ListNetworkProfiles+     -- ** ScheduleRun     , module Network.AWS.DeviceFarm.ScheduleRun @@ -142,7 +157,10 @@     -- ** CreateRemoteAccessSession     , module Network.AWS.DeviceFarm.CreateRemoteAccessSession -    -- ** GetOfferingStatus+    -- ** ListOfferingPromotions+    , module Network.AWS.DeviceFarm.ListOfferingPromotions++    -- ** GetOfferingStatus (Paginated)     , module Network.AWS.DeviceFarm.GetOfferingStatus      -- ** ListUploads (Paginated)@@ -172,7 +190,7 @@     -- ** CreateProject     , module Network.AWS.DeviceFarm.CreateProject -    -- ** ListOfferings+    -- ** ListOfferings (Paginated)     , module Network.AWS.DeviceFarm.ListOfferings      -- * Types@@ -204,9 +222,15 @@     -- ** ExecutionResult     , ExecutionResult (..) +    -- ** ExecutionResultCode+    , ExecutionResultCode (..)+     -- ** ExecutionStatus     , ExecutionStatus (..) +    -- ** NetworkProfileType+    , NetworkProfileType (..)+     -- ** OfferingTransactionType     , OfferingTransactionType (..) @@ -235,8 +259,12 @@     , AccountSettings     , accountSettings     , asAwsAccountNumber+    , asMaxJobTimeoutMinutes+    , asMaxSlots+    , asTrialMinutes     , asUnmeteredDevices     , asUnmeteredRemoteAccessDevices+    , asDefaultJobTimeoutMinutes      -- ** Artifact     , Artifact@@ -270,6 +298,13 @@     , createRemoteAccessSessionConfiguration     , crascBillingMethod +    -- ** CustomerArtifactPaths+    , CustomerArtifactPaths+    , customerArtifactPaths+    , capAndroidPaths+    , capDeviceHostPaths+    , capIosPaths+     -- ** Device     , Device     , device@@ -287,6 +322,7 @@     , devOs     , devName     , devModel+    , devRemoteDebugEnabled     , devCpu     , devHeapSize     , devFleetName@@ -314,6 +350,13 @@     , dpcrCompatible     , dpcrIncompatibilityMessages +    -- ** ExecutionConfiguration+    , ExecutionConfiguration+    , executionConfiguration+    , ecAccountsCleanup+    , ecAppPackagesCleanup+    , ecJobTimeoutMinutes+     -- ** IncompatibilityMessage     , IncompatibilityMessage     , incompatibilityMessage@@ -348,6 +391,22 @@     , maAmount     , maCurrencyCode +    -- ** NetworkProfile+    , NetworkProfile+    , networkProfile+    , npUplinkJitterMs+    , npArn+    , npUplinkLossPercent+    , npDownlinkJitterMs+    , npName+    , npDownlinkLossPercent+    , npType+    , npUplinkDelayMs+    , npUplinkBandwidthBits+    , npDescription+    , npDownlinkDelayMs+    , npDownlinkBandwidthBits+     -- ** Offering     , Offering     , offering@@ -357,6 +416,12 @@     , oType     , oDescription +    -- ** OfferingPromotion+    , OfferingPromotion+    , offeringPromotion+    , opId+    , opDescription+     -- ** OfferingStatus     , OfferingStatus     , offeringStatus@@ -371,6 +436,7 @@     , otOfferingStatus     , otCost     , otTransactionId+    , otOfferingPromotionId     , otCreatedOn      -- ** Problem@@ -396,6 +462,7 @@     , pArn     , pCreated     , pName+    , pDefaultJobTimeoutMinutes      -- ** Radios     , Radios@@ -415,6 +482,8 @@     , RemoteAccessSession     , remoteAccessSession     , rasBillingMethod+    , rasClientId+    , rasDeviceUdid     , rasStatus     , rasArn     , rasCreated@@ -423,8 +492,10 @@     , rasResult     , rasName     , rasDeviceMinutes+    , rasRemoteDebugEnabled     , rasEndpoint     , rasMessage+    , rasHostAddress     , rasStarted      -- ** Resolution@@ -445,6 +516,7 @@     , run     , runBillingMethod     , runStatus+    , runCustomerArtifactPaths     , runCounters     , runPlatform     , runArn@@ -452,7 +524,10 @@     , runStopped     , runResult     , runCompletedJobs+    , runResultCode     , runName+    , runParsingResultURL+    , runNetworkProfile     , runDeviceMinutes     , runType     , runMessage@@ -470,6 +545,7 @@     , ScheduleRunConfiguration     , scheduleRunConfiguration     , srcBillingMethod+    , srcCustomerArtifactPaths     , srcRadios     , srcLocation     , srcLocale@@ -515,6 +591,12 @@     , tMessage     , tStarted +    -- ** TrialMinutes+    , TrialMinutes+    , trialMinutes+    , tmRemaining+    , tmTotal+     -- ** UniqueProblem     , UniqueProblem     , uniqueProblem@@ -535,51 +617,57 @@     , uContentType     ) where -import           Network.AWS.DeviceFarm.CreateDevicePool-import           Network.AWS.DeviceFarm.CreateProject-import           Network.AWS.DeviceFarm.CreateRemoteAccessSession-import           Network.AWS.DeviceFarm.CreateUpload-import           Network.AWS.DeviceFarm.DeleteDevicePool-import           Network.AWS.DeviceFarm.DeleteProject-import           Network.AWS.DeviceFarm.DeleteRemoteAccessSession-import           Network.AWS.DeviceFarm.DeleteRun-import           Network.AWS.DeviceFarm.DeleteUpload-import           Network.AWS.DeviceFarm.GetAccountSettings-import           Network.AWS.DeviceFarm.GetDevice-import           Network.AWS.DeviceFarm.GetDevicePool-import           Network.AWS.DeviceFarm.GetDevicePoolCompatibility-import           Network.AWS.DeviceFarm.GetJob-import           Network.AWS.DeviceFarm.GetOfferingStatus-import           Network.AWS.DeviceFarm.GetProject-import           Network.AWS.DeviceFarm.GetRemoteAccessSession-import           Network.AWS.DeviceFarm.GetRun-import           Network.AWS.DeviceFarm.GetSuite-import           Network.AWS.DeviceFarm.GetTest-import           Network.AWS.DeviceFarm.GetUpload-import           Network.AWS.DeviceFarm.InstallToRemoteAccessSession-import           Network.AWS.DeviceFarm.ListArtifacts-import           Network.AWS.DeviceFarm.ListDevicePools-import           Network.AWS.DeviceFarm.ListDevices-import           Network.AWS.DeviceFarm.ListJobs-import           Network.AWS.DeviceFarm.ListOfferings-import           Network.AWS.DeviceFarm.ListOfferingTransactions-import           Network.AWS.DeviceFarm.ListProjects-import           Network.AWS.DeviceFarm.ListRemoteAccessSessions-import           Network.AWS.DeviceFarm.ListRuns-import           Network.AWS.DeviceFarm.ListSamples-import           Network.AWS.DeviceFarm.ListSuites-import           Network.AWS.DeviceFarm.ListTests-import           Network.AWS.DeviceFarm.ListUniqueProblems-import           Network.AWS.DeviceFarm.ListUploads-import           Network.AWS.DeviceFarm.PurchaseOffering-import           Network.AWS.DeviceFarm.RenewOffering-import           Network.AWS.DeviceFarm.ScheduleRun-import           Network.AWS.DeviceFarm.StopRemoteAccessSession-import           Network.AWS.DeviceFarm.StopRun-import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.UpdateDevicePool-import           Network.AWS.DeviceFarm.UpdateProject-import           Network.AWS.DeviceFarm.Waiters+import Network.AWS.DeviceFarm.CreateDevicePool+import Network.AWS.DeviceFarm.CreateNetworkProfile+import Network.AWS.DeviceFarm.CreateProject+import Network.AWS.DeviceFarm.CreateRemoteAccessSession+import Network.AWS.DeviceFarm.CreateUpload+import Network.AWS.DeviceFarm.DeleteDevicePool+import Network.AWS.DeviceFarm.DeleteNetworkProfile+import Network.AWS.DeviceFarm.DeleteProject+import Network.AWS.DeviceFarm.DeleteRemoteAccessSession+import Network.AWS.DeviceFarm.DeleteRun+import Network.AWS.DeviceFarm.DeleteUpload+import Network.AWS.DeviceFarm.GetAccountSettings+import Network.AWS.DeviceFarm.GetDevice+import Network.AWS.DeviceFarm.GetDevicePool+import Network.AWS.DeviceFarm.GetDevicePoolCompatibility+import Network.AWS.DeviceFarm.GetJob+import Network.AWS.DeviceFarm.GetNetworkProfile+import Network.AWS.DeviceFarm.GetOfferingStatus+import Network.AWS.DeviceFarm.GetProject+import Network.AWS.DeviceFarm.GetRemoteAccessSession+import Network.AWS.DeviceFarm.GetRun+import Network.AWS.DeviceFarm.GetSuite+import Network.AWS.DeviceFarm.GetTest+import Network.AWS.DeviceFarm.GetUpload+import Network.AWS.DeviceFarm.InstallToRemoteAccessSession+import Network.AWS.DeviceFarm.ListArtifacts+import Network.AWS.DeviceFarm.ListDevicePools+import Network.AWS.DeviceFarm.ListDevices+import Network.AWS.DeviceFarm.ListJobs+import Network.AWS.DeviceFarm.ListNetworkProfiles+import Network.AWS.DeviceFarm.ListOfferingPromotions+import Network.AWS.DeviceFarm.ListOfferings+import Network.AWS.DeviceFarm.ListOfferingTransactions+import Network.AWS.DeviceFarm.ListProjects+import Network.AWS.DeviceFarm.ListRemoteAccessSessions+import Network.AWS.DeviceFarm.ListRuns+import Network.AWS.DeviceFarm.ListSamples+import Network.AWS.DeviceFarm.ListSuites+import Network.AWS.DeviceFarm.ListTests+import Network.AWS.DeviceFarm.ListUniqueProblems+import Network.AWS.DeviceFarm.ListUploads+import Network.AWS.DeviceFarm.PurchaseOffering+import Network.AWS.DeviceFarm.RenewOffering+import Network.AWS.DeviceFarm.ScheduleRun+import Network.AWS.DeviceFarm.StopRemoteAccessSession+import Network.AWS.DeviceFarm.StopRun+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.UpdateDevicePool+import Network.AWS.DeviceFarm.UpdateNetworkProfile+import Network.AWS.DeviceFarm.UpdateProject+import Network.AWS.DeviceFarm.Waiters  {- $errors Error matchers are designed for use with the functions provided by
gen/Network/AWS/DeviceFarm/CreateDevicePool.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.CreateDevicePool--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -40,12 +40,12 @@     , cdprsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the create device pool operation. --@@ -53,12 +53,13 @@ -- -- /See:/ 'createDevicePool' smart constructor. data CreateDevicePool = CreateDevicePool'-    { _cdpDescription :: !(Maybe Text)-    , _cdpProjectARN  :: !Text-    , _cdpName        :: !Text-    , _cdpRules       :: ![Rule]-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cdpDescription :: !(Maybe Text)+  , _cdpProjectARN  :: !Text+  , _cdpName        :: !Text+  , _cdpRules       :: ![Rule]+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateDevicePool' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -75,13 +76,14 @@     -> Text -- ^ 'cdpName'     -> CreateDevicePool createDevicePool pProjectARN_ pName_ =-    CreateDevicePool'-    { _cdpDescription = Nothing-    , _cdpProjectARN = pProjectARN_-    , _cdpName = pName_-    , _cdpRules = mempty-    }+  CreateDevicePool'+  { _cdpDescription = Nothing+  , _cdpProjectARN = pProjectARN_+  , _cdpName = pName_+  , _cdpRules = mempty+  } + -- | The device pool's description. cdpDescription :: Lens' CreateDevicePool (Maybe Text) cdpDescription = lens _cdpDescription (\ s a -> s{_cdpDescription = a});@@ -107,9 +109,9 @@                  CreateDevicePoolResponse' <$>                    (x .?> "devicePool") <*> (pure (fromEnum s))) -instance Hashable CreateDevicePool+instance Hashable CreateDevicePool where -instance NFData CreateDevicePool+instance NFData CreateDevicePool where  instance ToHeaders CreateDevicePool where         toHeaders@@ -142,10 +144,11 @@ -- -- /See:/ 'createDevicePoolResponse' smart constructor. data CreateDevicePoolResponse = CreateDevicePoolResponse'-    { _cdprsDevicePool     :: !(Maybe DevicePool)-    , _cdprsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cdprsDevicePool     :: !(Maybe DevicePool)+  , _cdprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateDevicePoolResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -157,11 +160,10 @@     :: Int -- ^ 'cdprsResponseStatus'     -> CreateDevicePoolResponse createDevicePoolResponse pResponseStatus_ =-    CreateDevicePoolResponse'-    { _cdprsDevicePool = Nothing-    , _cdprsResponseStatus = pResponseStatus_-    }+  CreateDevicePoolResponse'+  {_cdprsDevicePool = Nothing, _cdprsResponseStatus = pResponseStatus_} + -- | The newly created device pool. cdprsDevicePool :: Lens' CreateDevicePoolResponse (Maybe DevicePool) cdprsDevicePool = lens _cdprsDevicePool (\ s a -> s{_cdprsDevicePool = a});@@ -170,4 +172,4 @@ cdprsResponseStatus :: Lens' CreateDevicePoolResponse Int cdprsResponseStatus = lens _cdprsResponseStatus (\ s a -> s{_cdprsResponseStatus = a}); -instance NFData CreateDevicePoolResponse+instance NFData CreateDevicePoolResponse where
+ gen/Network/AWS/DeviceFarm/CreateNetworkProfile.hs view
@@ -0,0 +1,251 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.DeviceFarm.CreateNetworkProfile+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a network profile.+--+--+module Network.AWS.DeviceFarm.CreateNetworkProfile+    (+    -- * Creating a Request+      createNetworkProfile+    , CreateNetworkProfile+    -- * Request Lenses+    , cnpUplinkJitterMs+    , cnpUplinkLossPercent+    , cnpDownlinkJitterMs+    , cnpDownlinkLossPercent+    , cnpType+    , cnpUplinkDelayMs+    , cnpUplinkBandwidthBits+    , cnpDescription+    , cnpDownlinkDelayMs+    , cnpDownlinkBandwidthBits+    , cnpProjectARN+    , cnpName++    -- * Destructuring the Response+    , createNetworkProfileResponse+    , CreateNetworkProfileResponse+    -- * Response Lenses+    , cnprsNetworkProfile+    , cnprsResponseStatus+    ) where++import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createNetworkProfile' smart constructor.+data CreateNetworkProfile = CreateNetworkProfile'+  { _cnpUplinkJitterMs        :: !(Maybe Integer)+  , _cnpUplinkLossPercent     :: !(Maybe Nat)+  , _cnpDownlinkJitterMs      :: !(Maybe Integer)+  , _cnpDownlinkLossPercent   :: !(Maybe Nat)+  , _cnpType                  :: !(Maybe NetworkProfileType)+  , _cnpUplinkDelayMs         :: !(Maybe Integer)+  , _cnpUplinkBandwidthBits   :: !(Maybe Integer)+  , _cnpDescription           :: !(Maybe Text)+  , _cnpDownlinkDelayMs       :: !(Maybe Integer)+  , _cnpDownlinkBandwidthBits :: !(Maybe Integer)+  , _cnpProjectARN            :: !Text+  , _cnpName                  :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateNetworkProfile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cnpUplinkJitterMs' - Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.+--+-- * 'cnpUplinkLossPercent' - Proportion of transmitted packets that fail to arrive from 0 to 100 percent.+--+-- * 'cnpDownlinkJitterMs' - Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.+--+-- * 'cnpDownlinkLossPercent' - Proportion of received packets that fail to arrive from 0 to 100 percent.+--+-- * 'cnpType' - The type of network profile you wish to create. Valid values are listed below.+--+-- * 'cnpUplinkDelayMs' - Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.+--+-- * 'cnpUplinkBandwidthBits' - The data throughput rate in bits per second, as an integer from 0 to 104857600.+--+-- * 'cnpDescription' - The description of the network profile.+--+-- * 'cnpDownlinkDelayMs' - Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.+--+-- * 'cnpDownlinkBandwidthBits' - The data throughput rate in bits per second, as an integer from 0 to 104857600.+--+-- * 'cnpProjectARN' - The Amazon Resource Name (ARN) of the project for which you want to create a network profile.+--+-- * 'cnpName' - The name you wish to specify for the new network profile.+createNetworkProfile+    :: Text -- ^ 'cnpProjectARN'+    -> Text -- ^ 'cnpName'+    -> CreateNetworkProfile+createNetworkProfile pProjectARN_ pName_ =+  CreateNetworkProfile'+  { _cnpUplinkJitterMs = Nothing+  , _cnpUplinkLossPercent = Nothing+  , _cnpDownlinkJitterMs = Nothing+  , _cnpDownlinkLossPercent = Nothing+  , _cnpType = Nothing+  , _cnpUplinkDelayMs = Nothing+  , _cnpUplinkBandwidthBits = Nothing+  , _cnpDescription = Nothing+  , _cnpDownlinkDelayMs = Nothing+  , _cnpDownlinkBandwidthBits = Nothing+  , _cnpProjectARN = pProjectARN_+  , _cnpName = pName_+  }+++-- | Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.+cnpUplinkJitterMs :: Lens' CreateNetworkProfile (Maybe Integer)+cnpUplinkJitterMs = lens _cnpUplinkJitterMs (\ s a -> s{_cnpUplinkJitterMs = a});++-- | Proportion of transmitted packets that fail to arrive from 0 to 100 percent.+cnpUplinkLossPercent :: Lens' CreateNetworkProfile (Maybe Natural)+cnpUplinkLossPercent = lens _cnpUplinkLossPercent (\ s a -> s{_cnpUplinkLossPercent = a}) . mapping _Nat;++-- | Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.+cnpDownlinkJitterMs :: Lens' CreateNetworkProfile (Maybe Integer)+cnpDownlinkJitterMs = lens _cnpDownlinkJitterMs (\ s a -> s{_cnpDownlinkJitterMs = a});++-- | Proportion of received packets that fail to arrive from 0 to 100 percent.+cnpDownlinkLossPercent :: Lens' CreateNetworkProfile (Maybe Natural)+cnpDownlinkLossPercent = lens _cnpDownlinkLossPercent (\ s a -> s{_cnpDownlinkLossPercent = a}) . mapping _Nat;++-- | The type of network profile you wish to create. Valid values are listed below.+cnpType :: Lens' CreateNetworkProfile (Maybe NetworkProfileType)+cnpType = lens _cnpType (\ s a -> s{_cnpType = a});++-- | Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.+cnpUplinkDelayMs :: Lens' CreateNetworkProfile (Maybe Integer)+cnpUplinkDelayMs = lens _cnpUplinkDelayMs (\ s a -> s{_cnpUplinkDelayMs = a});++-- | The data throughput rate in bits per second, as an integer from 0 to 104857600.+cnpUplinkBandwidthBits :: Lens' CreateNetworkProfile (Maybe Integer)+cnpUplinkBandwidthBits = lens _cnpUplinkBandwidthBits (\ s a -> s{_cnpUplinkBandwidthBits = a});++-- | The description of the network profile.+cnpDescription :: Lens' CreateNetworkProfile (Maybe Text)+cnpDescription = lens _cnpDescription (\ s a -> s{_cnpDescription = a});++-- | Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.+cnpDownlinkDelayMs :: Lens' CreateNetworkProfile (Maybe Integer)+cnpDownlinkDelayMs = lens _cnpDownlinkDelayMs (\ s a -> s{_cnpDownlinkDelayMs = a});++-- | The data throughput rate in bits per second, as an integer from 0 to 104857600.+cnpDownlinkBandwidthBits :: Lens' CreateNetworkProfile (Maybe Integer)+cnpDownlinkBandwidthBits = lens _cnpDownlinkBandwidthBits (\ s a -> s{_cnpDownlinkBandwidthBits = a});++-- | The Amazon Resource Name (ARN) of the project for which you want to create a network profile.+cnpProjectARN :: Lens' CreateNetworkProfile Text+cnpProjectARN = lens _cnpProjectARN (\ s a -> s{_cnpProjectARN = a});++-- | The name you wish to specify for the new network profile.+cnpName :: Lens' CreateNetworkProfile Text+cnpName = lens _cnpName (\ s a -> s{_cnpName = a});++instance AWSRequest CreateNetworkProfile where+        type Rs CreateNetworkProfile =+             CreateNetworkProfileResponse+        request = postJSON deviceFarm+        response+          = receiveJSON+              (\ s h x ->+                 CreateNetworkProfileResponse' <$>+                   (x .?> "networkProfile") <*> (pure (fromEnum s)))++instance Hashable CreateNetworkProfile where++instance NFData CreateNetworkProfile where++instance ToHeaders CreateNetworkProfile where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("DeviceFarm_20150623.CreateNetworkProfile" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateNetworkProfile where+        toJSON CreateNetworkProfile'{..}+          = object+              (catMaybes+                 [("uplinkJitterMs" .=) <$> _cnpUplinkJitterMs,+                  ("uplinkLossPercent" .=) <$> _cnpUplinkLossPercent,+                  ("downlinkJitterMs" .=) <$> _cnpDownlinkJitterMs,+                  ("downlinkLossPercent" .=) <$>+                    _cnpDownlinkLossPercent,+                  ("type" .=) <$> _cnpType,+                  ("uplinkDelayMs" .=) <$> _cnpUplinkDelayMs,+                  ("uplinkBandwidthBits" .=) <$>+                    _cnpUplinkBandwidthBits,+                  ("description" .=) <$> _cnpDescription,+                  ("downlinkDelayMs" .=) <$> _cnpDownlinkDelayMs,+                  ("downlinkBandwidthBits" .=) <$>+                    _cnpDownlinkBandwidthBits,+                  Just ("projectArn" .= _cnpProjectARN),+                  Just ("name" .= _cnpName)])++instance ToPath CreateNetworkProfile where+        toPath = const "/"++instance ToQuery CreateNetworkProfile where+        toQuery = const mempty++-- | /See:/ 'createNetworkProfileResponse' smart constructor.+data CreateNetworkProfileResponse = CreateNetworkProfileResponse'+  { _cnprsNetworkProfile :: !(Maybe NetworkProfile)+  , _cnprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateNetworkProfileResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cnprsNetworkProfile' - The network profile that is returned by the create network profile request.+--+-- * 'cnprsResponseStatus' - -- | The response status code.+createNetworkProfileResponse+    :: Int -- ^ 'cnprsResponseStatus'+    -> CreateNetworkProfileResponse+createNetworkProfileResponse pResponseStatus_ =+  CreateNetworkProfileResponse'+  {_cnprsNetworkProfile = Nothing, _cnprsResponseStatus = pResponseStatus_}+++-- | The network profile that is returned by the create network profile request.+cnprsNetworkProfile :: Lens' CreateNetworkProfileResponse (Maybe NetworkProfile)+cnprsNetworkProfile = lens _cnprsNetworkProfile (\ s a -> s{_cnprsNetworkProfile = a});++-- | -- | The response status code.+cnprsResponseStatus :: Lens' CreateNetworkProfileResponse Int+cnprsResponseStatus = lens _cnprsResponseStatus (\ s a -> s{_cnprsResponseStatus = a});++instance NFData CreateNetworkProfileResponse where
gen/Network/AWS/DeviceFarm/CreateProject.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.CreateProject--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -27,6 +27,7 @@       createProject     , CreateProject     -- * Request Lenses+    , cpDefaultJobTimeoutMinutes     , cpName      -- * Destructuring the Response@@ -37,35 +38,42 @@     , cprsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the create project operation. -- -- -- -- /See:/ 'createProject' smart constructor.-newtype CreateProject = CreateProject'-    { _cpName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+data CreateProject = CreateProject'+  { _cpDefaultJobTimeoutMinutes :: !(Maybe Int)+  , _cpName                     :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateProject' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'cpDefaultJobTimeoutMinutes' - Sets the execution timeout value (in minutes) for a project. All test runs in this project will use the specified execution timeout value unless overridden when scheduling a run.+-- -- * 'cpName' - The project's name. createProject     :: Text -- ^ 'cpName'     -> CreateProject createProject pName_ =-    CreateProject'-    { _cpName = pName_-    }+  CreateProject' {_cpDefaultJobTimeoutMinutes = Nothing, _cpName = pName_} ++-- | Sets the execution timeout value (in minutes) for a project. All test runs in this project will use the specified execution timeout value unless overridden when scheduling a run.+cpDefaultJobTimeoutMinutes :: Lens' CreateProject (Maybe Int)+cpDefaultJobTimeoutMinutes = lens _cpDefaultJobTimeoutMinutes (\ s a -> s{_cpDefaultJobTimeoutMinutes = a});+ -- | The project's name. cpName :: Lens' CreateProject Text cpName = lens _cpName (\ s a -> s{_cpName = a});@@ -79,9 +87,9 @@                  CreateProjectResponse' <$>                    (x .?> "project") <*> (pure (fromEnum s))) -instance Hashable CreateProject+instance Hashable CreateProject where -instance NFData CreateProject+instance NFData CreateProject where  instance ToHeaders CreateProject where         toHeaders@@ -94,7 +102,11 @@  instance ToJSON CreateProject where         toJSON CreateProject'{..}-          = object (catMaybes [Just ("name" .= _cpName)])+          = object+              (catMaybes+                 [("defaultJobTimeoutMinutes" .=) <$>+                    _cpDefaultJobTimeoutMinutes,+                  Just ("name" .= _cpName)])  instance ToPath CreateProject where         toPath = const "/"@@ -108,10 +120,11 @@ -- -- /See:/ 'createProjectResponse' smart constructor. data CreateProjectResponse = CreateProjectResponse'-    { _cprsProject        :: !(Maybe Project)-    , _cprsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cprsProject        :: !(Maybe Project)+  , _cprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateProjectResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -123,11 +136,10 @@     :: Int -- ^ 'cprsResponseStatus'     -> CreateProjectResponse createProjectResponse pResponseStatus_ =-    CreateProjectResponse'-    { _cprsProject = Nothing-    , _cprsResponseStatus = pResponseStatus_-    }+  CreateProjectResponse'+  {_cprsProject = Nothing, _cprsResponseStatus = pResponseStatus_} + -- | The newly created project. cprsProject :: Lens' CreateProjectResponse (Maybe Project) cprsProject = lens _cprsProject (\ s a -> s{_cprsProject = a});@@ -136,4 +148,4 @@ cprsResponseStatus :: Lens' CreateProjectResponse Int cprsResponseStatus = lens _cprsResponseStatus (\ s a -> s{_cprsResponseStatus = a}); -instance NFData CreateProjectResponse+instance NFData CreateProjectResponse where
gen/Network/AWS/DeviceFarm/CreateRemoteAccessSession.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.CreateRemoteAccessSession--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -27,7 +27,10 @@       createRemoteAccessSession     , CreateRemoteAccessSession     -- * Request Lenses+    , crasClientId+    , crasSshPublicKey     , crasName+    , crasRemoteDebugEnabled     , crasConfiguration     , crasProjectARN     , crasDeviceARN@@ -40,12 +43,12 @@     , crasrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Creates and submits a request to start a remote access session. --@@ -53,18 +56,28 @@ -- -- /See:/ 'createRemoteAccessSession' smart constructor. data CreateRemoteAccessSession = CreateRemoteAccessSession'-    { _crasName          :: !(Maybe Text)-    , _crasConfiguration :: !(Maybe CreateRemoteAccessSessionConfiguration)-    , _crasProjectARN    :: !Text-    , _crasDeviceARN     :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _crasClientId           :: !(Maybe Text)+  , _crasSshPublicKey       :: !(Maybe Text)+  , _crasName               :: !(Maybe Text)+  , _crasRemoteDebugEnabled :: !(Maybe Bool)+  , _crasConfiguration      :: !(Maybe CreateRemoteAccessSessionConfiguration)+  , _crasProjectARN         :: !Text+  , _crasDeviceARN          :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateRemoteAccessSession' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'crasClientId' - Unique identifier for the client. If you want access to multiple devices on the same client, you should pass the same @clientId@ value in each call to @CreateRemoteAccessSession@ . This is required only if @remoteDebugEnabled@ is set to true @true@ .+--+-- * 'crasSshPublicKey' - The public key of the @ssh@ key pair you want to use for connecting to remote devices in your remote debugging session. This is only required if @remoteDebugEnabled@ is set to @true@ .+-- -- * 'crasName' - The name of the remote access session that you wish to create. --+-- * 'crasRemoteDebugEnabled' - Set to @true@ if you want to access devices remotely for debugging in your remote access session.+-- -- * 'crasConfiguration' - The configuration information for the remote access session request. -- -- * 'crasProjectARN' - The Amazon Resource Name (ARN) of the project for which you want to create a remote access session.@@ -75,17 +88,33 @@     -> Text -- ^ 'crasDeviceARN'     -> CreateRemoteAccessSession createRemoteAccessSession pProjectARN_ pDeviceARN_ =-    CreateRemoteAccessSession'-    { _crasName = Nothing-    , _crasConfiguration = Nothing-    , _crasProjectARN = pProjectARN_-    , _crasDeviceARN = pDeviceARN_-    }+  CreateRemoteAccessSession'+  { _crasClientId = Nothing+  , _crasSshPublicKey = Nothing+  , _crasName = Nothing+  , _crasRemoteDebugEnabled = Nothing+  , _crasConfiguration = Nothing+  , _crasProjectARN = pProjectARN_+  , _crasDeviceARN = pDeviceARN_+  } ++-- | Unique identifier for the client. If you want access to multiple devices on the same client, you should pass the same @clientId@ value in each call to @CreateRemoteAccessSession@ . This is required only if @remoteDebugEnabled@ is set to true @true@ .+crasClientId :: Lens' CreateRemoteAccessSession (Maybe Text)+crasClientId = lens _crasClientId (\ s a -> s{_crasClientId = a});++-- | The public key of the @ssh@ key pair you want to use for connecting to remote devices in your remote debugging session. This is only required if @remoteDebugEnabled@ is set to @true@ .+crasSshPublicKey :: Lens' CreateRemoteAccessSession (Maybe Text)+crasSshPublicKey = lens _crasSshPublicKey (\ s a -> s{_crasSshPublicKey = a});+ -- | The name of the remote access session that you wish to create. crasName :: Lens' CreateRemoteAccessSession (Maybe Text) crasName = lens _crasName (\ s a -> s{_crasName = a}); +-- | Set to @true@ if you want to access devices remotely for debugging in your remote access session.+crasRemoteDebugEnabled :: Lens' CreateRemoteAccessSession (Maybe Bool)+crasRemoteDebugEnabled = lens _crasRemoteDebugEnabled (\ s a -> s{_crasRemoteDebugEnabled = a});+ -- | The configuration information for the remote access session request. crasConfiguration :: Lens' CreateRemoteAccessSession (Maybe CreateRemoteAccessSessionConfiguration) crasConfiguration = lens _crasConfiguration (\ s a -> s{_crasConfiguration = a});@@ -109,9 +138,9 @@                    (x .?> "remoteAccessSession") <*>                      (pure (fromEnum s))) -instance Hashable CreateRemoteAccessSession+instance Hashable CreateRemoteAccessSession where -instance NFData CreateRemoteAccessSession+instance NFData CreateRemoteAccessSession where  instance ToHeaders CreateRemoteAccessSession where         toHeaders@@ -127,7 +156,11 @@         toJSON CreateRemoteAccessSession'{..}           = object               (catMaybes-                 [("name" .=) <$> _crasName,+                 [("clientId" .=) <$> _crasClientId,+                  ("sshPublicKey" .=) <$> _crasSshPublicKey,+                  ("name" .=) <$> _crasName,+                  ("remoteDebugEnabled" .=) <$>+                    _crasRemoteDebugEnabled,                   ("configuration" .=) <$> _crasConfiguration,                   Just ("projectArn" .= _crasProjectARN),                   Just ("deviceArn" .= _crasDeviceARN)])@@ -144,10 +177,11 @@ -- -- /See:/ 'createRemoteAccessSessionResponse' smart constructor. data CreateRemoteAccessSessionResponse = CreateRemoteAccessSessionResponse'-    { _crasrsRemoteAccessSession :: !(Maybe RemoteAccessSession)-    , _crasrsResponseStatus      :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _crasrsRemoteAccessSession :: !(Maybe RemoteAccessSession)+  , _crasrsResponseStatus      :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateRemoteAccessSessionResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -159,11 +193,12 @@     :: Int -- ^ 'crasrsResponseStatus'     -> CreateRemoteAccessSessionResponse createRemoteAccessSessionResponse pResponseStatus_ =-    CreateRemoteAccessSessionResponse'-    { _crasrsRemoteAccessSession = Nothing-    , _crasrsResponseStatus = pResponseStatus_-    }+  CreateRemoteAccessSessionResponse'+  { _crasrsRemoteAccessSession = Nothing+  , _crasrsResponseStatus = pResponseStatus_+  } + -- | A container that describes the remote access session when the request to create a remote access session is sent. crasrsRemoteAccessSession :: Lens' CreateRemoteAccessSessionResponse (Maybe RemoteAccessSession) crasrsRemoteAccessSession = lens _crasrsRemoteAccessSession (\ s a -> s{_crasrsRemoteAccessSession = a});@@ -173,3 +208,4 @@ crasrsResponseStatus = lens _crasrsResponseStatus (\ s a -> s{_crasrsResponseStatus = a});  instance NFData CreateRemoteAccessSessionResponse+         where
gen/Network/AWS/DeviceFarm/CreateUpload.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.CreateUpload--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -40,12 +40,12 @@     , cursResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the create upload operation. --@@ -53,12 +53,13 @@ -- -- /See:/ 'createUpload' smart constructor. data CreateUpload = CreateUpload'-    { _cuContentType :: !(Maybe Text)-    , _cuProjectARN  :: !Text-    , _cuName        :: !Text-    , _cuType        :: !UploadType-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cuContentType :: !(Maybe Text)+  , _cuProjectARN  :: !Text+  , _cuName        :: !Text+  , _cuType        :: !UploadType+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateUpload' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -76,13 +77,14 @@     -> UploadType -- ^ 'cuType'     -> CreateUpload createUpload pProjectARN_ pName_ pType_ =-    CreateUpload'-    { _cuContentType = Nothing-    , _cuProjectARN = pProjectARN_-    , _cuName = pName_-    , _cuType = pType_-    }+  CreateUpload'+  { _cuContentType = Nothing+  , _cuProjectARN = pProjectARN_+  , _cuName = pName_+  , _cuType = pType_+  } + -- | The upload's content type (for example, "application/octet-stream"). cuContentType :: Lens' CreateUpload (Maybe Text) cuContentType = lens _cuContentType (\ s a -> s{_cuContentType = a});@@ -108,9 +110,9 @@                  CreateUploadResponse' <$>                    (x .?> "upload") <*> (pure (fromEnum s))) -instance Hashable CreateUpload+instance Hashable CreateUpload where -instance NFData CreateUpload+instance NFData CreateUpload where  instance ToHeaders CreateUpload where         toHeaders@@ -141,10 +143,11 @@ -- -- /See:/ 'createUploadResponse' smart constructor. data CreateUploadResponse = CreateUploadResponse'-    { _cursUpload         :: !(Maybe Upload)-    , _cursResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cursUpload         :: !(Maybe Upload)+  , _cursResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateUploadResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -156,11 +159,10 @@     :: Int -- ^ 'cursResponseStatus'     -> CreateUploadResponse createUploadResponse pResponseStatus_ =-    CreateUploadResponse'-    { _cursUpload = Nothing-    , _cursResponseStatus = pResponseStatus_-    }+  CreateUploadResponse'+  {_cursUpload = Nothing, _cursResponseStatus = pResponseStatus_} + -- | The newly created upload. cursUpload :: Lens' CreateUploadResponse (Maybe Upload) cursUpload = lens _cursUpload (\ s a -> s{_cursUpload = a});@@ -169,4 +171,4 @@ cursResponseStatus :: Lens' CreateUploadResponse Int cursResponseStatus = lens _cursResponseStatus (\ s a -> s{_cursResponseStatus = a}); -instance NFData CreateUploadResponse+instance NFData CreateUploadResponse where
gen/Network/AWS/DeviceFarm/DeleteDevicePool.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.DeleteDevicePool--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -36,12 +36,12 @@     , ddprsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the delete device pool operation. --@@ -49,9 +49,10 @@ -- -- /See:/ 'deleteDevicePool' smart constructor. newtype DeleteDevicePool = DeleteDevicePool'-    { _ddpArn :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ddpArn :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteDevicePool' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -60,11 +61,9 @@ deleteDevicePool     :: Text -- ^ 'ddpArn'     -> DeleteDevicePool-deleteDevicePool pArn_ =-    DeleteDevicePool'-    { _ddpArn = pArn_-    }+deleteDevicePool pArn_ = DeleteDevicePool' {_ddpArn = pArn_} + -- | Represents the Amazon Resource Name (ARN) of the Device Farm device pool you wish to delete. ddpArn :: Lens' DeleteDevicePool Text ddpArn = lens _ddpArn (\ s a -> s{_ddpArn = a});@@ -77,9 +76,9 @@               (\ s h x ->                  DeleteDevicePoolResponse' <$> (pure (fromEnum s))) -instance Hashable DeleteDevicePool+instance Hashable DeleteDevicePool where -instance NFData DeleteDevicePool+instance NFData DeleteDevicePool where  instance ToHeaders DeleteDevicePool where         toHeaders@@ -107,9 +106,10 @@ -- -- /See:/ 'deleteDevicePoolResponse' smart constructor. newtype DeleteDevicePoolResponse = DeleteDevicePoolResponse'-    { _ddprsResponseStatus :: Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ddprsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteDevicePoolResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -119,12 +119,11 @@     :: Int -- ^ 'ddprsResponseStatus'     -> DeleteDevicePoolResponse deleteDevicePoolResponse pResponseStatus_ =-    DeleteDevicePoolResponse'-    { _ddprsResponseStatus = pResponseStatus_-    }+  DeleteDevicePoolResponse' {_ddprsResponseStatus = pResponseStatus_} + -- | -- | The response status code. ddprsResponseStatus :: Lens' DeleteDevicePoolResponse Int ddprsResponseStatus = lens _ddprsResponseStatus (\ s a -> s{_ddprsResponseStatus = a}); -instance NFData DeleteDevicePoolResponse+instance NFData DeleteDevicePoolResponse where
+ gen/Network/AWS/DeviceFarm/DeleteNetworkProfile.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.DeviceFarm.DeleteNetworkProfile+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a network profile.+--+--+module Network.AWS.DeviceFarm.DeleteNetworkProfile+    (+    -- * Creating a Request+      deleteNetworkProfile+    , DeleteNetworkProfile+    -- * Request Lenses+    , dnpArn++    -- * Destructuring the Response+    , deleteNetworkProfileResponse+    , DeleteNetworkProfileResponse+    -- * Response Lenses+    , dnprsResponseStatus+    ) where++import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteNetworkProfile' smart constructor.+newtype DeleteNetworkProfile = DeleteNetworkProfile'+  { _dnpArn :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteNetworkProfile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dnpArn' - The Amazon Resource Name (ARN) of the network profile you want to delete.+deleteNetworkProfile+    :: Text -- ^ 'dnpArn'+    -> DeleteNetworkProfile+deleteNetworkProfile pArn_ = DeleteNetworkProfile' {_dnpArn = pArn_}+++-- | The Amazon Resource Name (ARN) of the network profile you want to delete.+dnpArn :: Lens' DeleteNetworkProfile Text+dnpArn = lens _dnpArn (\ s a -> s{_dnpArn = a});++instance AWSRequest DeleteNetworkProfile where+        type Rs DeleteNetworkProfile =+             DeleteNetworkProfileResponse+        request = postJSON deviceFarm+        response+          = receiveEmpty+              (\ s h x ->+                 DeleteNetworkProfileResponse' <$>+                   (pure (fromEnum s)))++instance Hashable DeleteNetworkProfile where++instance NFData DeleteNetworkProfile where++instance ToHeaders DeleteNetworkProfile where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("DeviceFarm_20150623.DeleteNetworkProfile" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteNetworkProfile where+        toJSON DeleteNetworkProfile'{..}+          = object (catMaybes [Just ("arn" .= _dnpArn)])++instance ToPath DeleteNetworkProfile where+        toPath = const "/"++instance ToQuery DeleteNetworkProfile where+        toQuery = const mempty++-- | /See:/ 'deleteNetworkProfileResponse' smart constructor.+newtype DeleteNetworkProfileResponse = DeleteNetworkProfileResponse'+  { _dnprsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteNetworkProfileResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dnprsResponseStatus' - -- | The response status code.+deleteNetworkProfileResponse+    :: Int -- ^ 'dnprsResponseStatus'+    -> DeleteNetworkProfileResponse+deleteNetworkProfileResponse pResponseStatus_ =+  DeleteNetworkProfileResponse' {_dnprsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+dnprsResponseStatus :: Lens' DeleteNetworkProfileResponse Int+dnprsResponseStatus = lens _dnprsResponseStatus (\ s a -> s{_dnprsResponseStatus = a});++instance NFData DeleteNetworkProfileResponse where
gen/Network/AWS/DeviceFarm/DeleteProject.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.DeleteProject--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -38,12 +38,12 @@     , dprsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the delete project operation. --@@ -51,9 +51,10 @@ -- -- /See:/ 'deleteProject' smart constructor. newtype DeleteProject = DeleteProject'-    { _dpArn :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dpArn :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteProject' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -62,11 +63,9 @@ deleteProject     :: Text -- ^ 'dpArn'     -> DeleteProject-deleteProject pArn_ =-    DeleteProject'-    { _dpArn = pArn_-    }+deleteProject pArn_ = DeleteProject' {_dpArn = pArn_} + -- | Represents the Amazon Resource Name (ARN) of the Device Farm project you wish to delete. dpArn :: Lens' DeleteProject Text dpArn = lens _dpArn (\ s a -> s{_dpArn = a});@@ -79,9 +78,9 @@               (\ s h x ->                  DeleteProjectResponse' <$> (pure (fromEnum s))) -instance Hashable DeleteProject+instance Hashable DeleteProject where -instance NFData DeleteProject+instance NFData DeleteProject where  instance ToHeaders DeleteProject where         toHeaders@@ -108,9 +107,10 @@ -- -- /See:/ 'deleteProjectResponse' smart constructor. newtype DeleteProjectResponse = DeleteProjectResponse'-    { _dprsResponseStatus :: Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dprsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteProjectResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -120,12 +120,11 @@     :: Int -- ^ 'dprsResponseStatus'     -> DeleteProjectResponse deleteProjectResponse pResponseStatus_ =-    DeleteProjectResponse'-    { _dprsResponseStatus = pResponseStatus_-    }+  DeleteProjectResponse' {_dprsResponseStatus = pResponseStatus_} + -- | -- | The response status code. dprsResponseStatus :: Lens' DeleteProjectResponse Int dprsResponseStatus = lens _dprsResponseStatus (\ s a -> s{_dprsResponseStatus = a}); -instance NFData DeleteProjectResponse+instance NFData DeleteProjectResponse where
gen/Network/AWS/DeviceFarm/DeleteRemoteAccessSession.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.DeleteRemoteAccessSession--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -36,12 +36,12 @@     , drasrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents the request to delete the specified remote access session. --@@ -49,9 +49,10 @@ -- -- /See:/ 'deleteRemoteAccessSession' smart constructor. newtype DeleteRemoteAccessSession = DeleteRemoteAccessSession'-    { _drasArn :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _drasArn :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteRemoteAccessSession' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -60,11 +61,9 @@ deleteRemoteAccessSession     :: Text -- ^ 'drasArn'     -> DeleteRemoteAccessSession-deleteRemoteAccessSession pArn_ =-    DeleteRemoteAccessSession'-    { _drasArn = pArn_-    }+deleteRemoteAccessSession pArn_ = DeleteRemoteAccessSession' {_drasArn = pArn_} + -- | The Amazon Resource Name (ARN) of the sesssion for which you want to delete remote access. drasArn :: Lens' DeleteRemoteAccessSession Text drasArn = lens _drasArn (\ s a -> s{_drasArn = a});@@ -79,9 +78,9 @@                  DeleteRemoteAccessSessionResponse' <$>                    (pure (fromEnum s))) -instance Hashable DeleteRemoteAccessSession+instance Hashable DeleteRemoteAccessSession where -instance NFData DeleteRemoteAccessSession+instance NFData DeleteRemoteAccessSession where  instance ToHeaders DeleteRemoteAccessSession where         toHeaders@@ -109,9 +108,10 @@ -- -- /See:/ 'deleteRemoteAccessSessionResponse' smart constructor. newtype DeleteRemoteAccessSessionResponse = DeleteRemoteAccessSessionResponse'-    { _drasrsResponseStatus :: Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _drasrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteRemoteAccessSessionResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -121,12 +121,12 @@     :: Int -- ^ 'drasrsResponseStatus'     -> DeleteRemoteAccessSessionResponse deleteRemoteAccessSessionResponse pResponseStatus_ =-    DeleteRemoteAccessSessionResponse'-    { _drasrsResponseStatus = pResponseStatus_-    }+  DeleteRemoteAccessSessionResponse' {_drasrsResponseStatus = pResponseStatus_} + -- | -- | The response status code. drasrsResponseStatus :: Lens' DeleteRemoteAccessSessionResponse Int drasrsResponseStatus = lens _drasrsResponseStatus (\ s a -> s{_drasrsResponseStatus = a});  instance NFData DeleteRemoteAccessSessionResponse+         where
gen/Network/AWS/DeviceFarm/DeleteRun.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.DeleteRun--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -38,12 +38,12 @@     , drrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the delete run operation. --@@ -51,9 +51,10 @@ -- -- /See:/ 'deleteRun' smart constructor. newtype DeleteRun = DeleteRun'-    { _drArn :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _drArn :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteRun' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -62,11 +63,9 @@ deleteRun     :: Text -- ^ 'drArn'     -> DeleteRun-deleteRun pArn_ =-    DeleteRun'-    { _drArn = pArn_-    }+deleteRun pArn_ = DeleteRun' {_drArn = pArn_} + -- | The Amazon Resource Name (ARN) for the run you wish to delete. drArn :: Lens' DeleteRun Text drArn = lens _drArn (\ s a -> s{_drArn = a});@@ -79,9 +78,9 @@               (\ s h x ->                  DeleteRunResponse' <$> (pure (fromEnum s))) -instance Hashable DeleteRun+instance Hashable DeleteRun where -instance NFData DeleteRun+instance NFData DeleteRun where  instance ToHeaders DeleteRun where         toHeaders@@ -108,9 +107,10 @@ -- -- /See:/ 'deleteRunResponse' smart constructor. newtype DeleteRunResponse = DeleteRunResponse'-    { _drrsResponseStatus :: Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _drrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteRunResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -120,12 +120,11 @@     :: Int -- ^ 'drrsResponseStatus'     -> DeleteRunResponse deleteRunResponse pResponseStatus_ =-    DeleteRunResponse'-    { _drrsResponseStatus = pResponseStatus_-    }+  DeleteRunResponse' {_drrsResponseStatus = pResponseStatus_} + -- | -- | The response status code. drrsResponseStatus :: Lens' DeleteRunResponse Int drrsResponseStatus = lens _drrsResponseStatus (\ s a -> s{_drrsResponseStatus = a}); -instance NFData DeleteRunResponse+instance NFData DeleteRunResponse where
gen/Network/AWS/DeviceFarm/DeleteUpload.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.DeleteUpload--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -36,12 +36,12 @@     , dursResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the delete upload operation. --@@ -49,9 +49,10 @@ -- -- /See:/ 'deleteUpload' smart constructor. newtype DeleteUpload = DeleteUpload'-    { _duArn :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _duArn :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteUpload' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -60,11 +61,9 @@ deleteUpload     :: Text -- ^ 'duArn'     -> DeleteUpload-deleteUpload pArn_ =-    DeleteUpload'-    { _duArn = pArn_-    }+deleteUpload pArn_ = DeleteUpload' {_duArn = pArn_} + -- | Represents the Amazon Resource Name (ARN) of the Device Farm upload you wish to delete. duArn :: Lens' DeleteUpload Text duArn = lens _duArn (\ s a -> s{_duArn = a});@@ -77,9 +76,9 @@               (\ s h x ->                  DeleteUploadResponse' <$> (pure (fromEnum s))) -instance Hashable DeleteUpload+instance Hashable DeleteUpload where -instance NFData DeleteUpload+instance NFData DeleteUpload where  instance ToHeaders DeleteUpload where         toHeaders@@ -106,9 +105,10 @@ -- -- /See:/ 'deleteUploadResponse' smart constructor. newtype DeleteUploadResponse = DeleteUploadResponse'-    { _dursResponseStatus :: Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dursResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteUploadResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -118,12 +118,11 @@     :: Int -- ^ 'dursResponseStatus'     -> DeleteUploadResponse deleteUploadResponse pResponseStatus_ =-    DeleteUploadResponse'-    { _dursResponseStatus = pResponseStatus_-    }+  DeleteUploadResponse' {_dursResponseStatus = pResponseStatus_} + -- | -- | The response status code. dursResponseStatus :: Lens' DeleteUploadResponse Int dursResponseStatus = lens _dursResponseStatus (\ s a -> s{_dursResponseStatus = a}); -instance NFData DeleteUploadResponse+instance NFData DeleteUploadResponse where
gen/Network/AWS/DeviceFarm/GetAccountSettings.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.GetAccountSettings--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -35,12 +35,12 @@     , gasrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents the request sent to retrieve the account settings. --@@ -48,15 +48,17 @@ -- -- /See:/ 'getAccountSettings' smart constructor. data GetAccountSettings =-    GetAccountSettings'-    deriving (Eq,Read,Show,Data,Typeable,Generic)+  GetAccountSettings'+  deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetAccountSettings' with the minimum fields required to make a request. -- getAccountSettings     :: GetAccountSettings getAccountSettings = GetAccountSettings' + instance AWSRequest GetAccountSettings where         type Rs GetAccountSettings =              GetAccountSettingsResponse@@ -67,9 +69,9 @@                  GetAccountSettingsResponse' <$>                    (x .?> "accountSettings") <*> (pure (fromEnum s))) -instance Hashable GetAccountSettings+instance Hashable GetAccountSettings where -instance NFData GetAccountSettings+instance NFData GetAccountSettings where  instance ToHeaders GetAccountSettings where         toHeaders@@ -96,27 +98,27 @@ -- -- /See:/ 'getAccountSettingsResponse' smart constructor. data GetAccountSettingsResponse = GetAccountSettingsResponse'-    { _gasrsAccountSettings :: !(Maybe AccountSettings)-    , _gasrsResponseStatus  :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gasrsAccountSettings :: !(Maybe AccountSettings)+  , _gasrsResponseStatus  :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetAccountSettingsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gasrsAccountSettings' - Undocumented member.+-- * 'gasrsAccountSettings' - The account settings. -- -- * 'gasrsResponseStatus' - -- | The response status code. getAccountSettingsResponse     :: Int -- ^ 'gasrsResponseStatus'     -> GetAccountSettingsResponse getAccountSettingsResponse pResponseStatus_ =-    GetAccountSettingsResponse'-    { _gasrsAccountSettings = Nothing-    , _gasrsResponseStatus = pResponseStatus_-    }+  GetAccountSettingsResponse'+  {_gasrsAccountSettings = Nothing, _gasrsResponseStatus = pResponseStatus_} --- | Undocumented member.++-- | The account settings. gasrsAccountSettings :: Lens' GetAccountSettingsResponse (Maybe AccountSettings) gasrsAccountSettings = lens _gasrsAccountSettings (\ s a -> s{_gasrsAccountSettings = a}); @@ -124,4 +126,4 @@ gasrsResponseStatus :: Lens' GetAccountSettingsResponse Int gasrsResponseStatus = lens _gasrsResponseStatus (\ s a -> s{_gasrsResponseStatus = a}); -instance NFData GetAccountSettingsResponse+instance NFData GetAccountSettingsResponse where
gen/Network/AWS/DeviceFarm/GetDevice.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.GetDevice--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,12 +37,12 @@     , gdrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the get device request. --@@ -50,9 +50,10 @@ -- -- /See:/ 'getDevice' smart constructor. newtype GetDevice = GetDevice'-    { _gdArn :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gdArn :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetDevice' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -61,11 +62,9 @@ getDevice     :: Text -- ^ 'gdArn'     -> GetDevice-getDevice pArn_ =-    GetDevice'-    { _gdArn = pArn_-    }+getDevice pArn_ = GetDevice' {_gdArn = pArn_} + -- | The device type's ARN. gdArn :: Lens' GetDevice Text gdArn = lens _gdArn (\ s a -> s{_gdArn = a});@@ -79,9 +78,9 @@                  GetDeviceResponse' <$>                    (x .?> "device") <*> (pure (fromEnum s))) -instance Hashable GetDevice+instance Hashable GetDevice where -instance NFData GetDevice+instance NFData GetDevice where  instance ToHeaders GetDevice where         toHeaders@@ -108,27 +107,27 @@ -- -- /See:/ 'getDeviceResponse' smart constructor. data GetDeviceResponse = GetDeviceResponse'-    { _gdrsDevice         :: !(Maybe Device)-    , _gdrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gdrsDevice         :: !(Maybe Device)+  , _gdrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetDeviceResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gdrsDevice' - Undocumented member.+-- * 'gdrsDevice' - An object containing information about the requested device. -- -- * 'gdrsResponseStatus' - -- | The response status code. getDeviceResponse     :: Int -- ^ 'gdrsResponseStatus'     -> GetDeviceResponse getDeviceResponse pResponseStatus_ =-    GetDeviceResponse'-    { _gdrsDevice = Nothing-    , _gdrsResponseStatus = pResponseStatus_-    }+  GetDeviceResponse'+  {_gdrsDevice = Nothing, _gdrsResponseStatus = pResponseStatus_} --- | Undocumented member.++-- | An object containing information about the requested device. gdrsDevice :: Lens' GetDeviceResponse (Maybe Device) gdrsDevice = lens _gdrsDevice (\ s a -> s{_gdrsDevice = a}); @@ -136,4 +135,4 @@ gdrsResponseStatus :: Lens' GetDeviceResponse Int gdrsResponseStatus = lens _gdrsResponseStatus (\ s a -> s{_gdrsResponseStatus = a}); -instance NFData GetDeviceResponse+instance NFData GetDeviceResponse where
gen/Network/AWS/DeviceFarm/GetDevicePool.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.GetDevicePool--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,12 +37,12 @@     , gdprsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the get device pool operation. --@@ -50,9 +50,10 @@ -- -- /See:/ 'getDevicePool' smart constructor. newtype GetDevicePool = GetDevicePool'-    { _gdpArn :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gdpArn :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetDevicePool' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -61,11 +62,9 @@ getDevicePool     :: Text -- ^ 'gdpArn'     -> GetDevicePool-getDevicePool pArn_ =-    GetDevicePool'-    { _gdpArn = pArn_-    }+getDevicePool pArn_ = GetDevicePool' {_gdpArn = pArn_} + -- | The device pool's ARN. gdpArn :: Lens' GetDevicePool Text gdpArn = lens _gdpArn (\ s a -> s{_gdpArn = a});@@ -79,9 +78,9 @@                  GetDevicePoolResponse' <$>                    (x .?> "devicePool") <*> (pure (fromEnum s))) -instance Hashable GetDevicePool+instance Hashable GetDevicePool where -instance NFData GetDevicePool+instance NFData GetDevicePool where  instance ToHeaders GetDevicePool where         toHeaders@@ -108,27 +107,27 @@ -- -- /See:/ 'getDevicePoolResponse' smart constructor. data GetDevicePoolResponse = GetDevicePoolResponse'-    { _gdprsDevicePool     :: !(Maybe DevicePool)-    , _gdprsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gdprsDevicePool     :: !(Maybe DevicePool)+  , _gdprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetDevicePoolResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gdprsDevicePool' - Undocumented member.+-- * 'gdprsDevicePool' - An object containing information about the requested device pool. -- -- * 'gdprsResponseStatus' - -- | The response status code. getDevicePoolResponse     :: Int -- ^ 'gdprsResponseStatus'     -> GetDevicePoolResponse getDevicePoolResponse pResponseStatus_ =-    GetDevicePoolResponse'-    { _gdprsDevicePool = Nothing-    , _gdprsResponseStatus = pResponseStatus_-    }+  GetDevicePoolResponse'+  {_gdprsDevicePool = Nothing, _gdprsResponseStatus = pResponseStatus_} --- | Undocumented member.++-- | An object containing information about the requested device pool. gdprsDevicePool :: Lens' GetDevicePoolResponse (Maybe DevicePool) gdprsDevicePool = lens _gdprsDevicePool (\ s a -> s{_gdprsDevicePool = a}); @@ -136,4 +135,4 @@ gdprsResponseStatus :: Lens' GetDevicePoolResponse Int gdprsResponseStatus = lens _gdprsResponseStatus (\ s a -> s{_gdprsResponseStatus = a}); -instance NFData GetDevicePoolResponse+instance NFData GetDevicePoolResponse where
gen/Network/AWS/DeviceFarm/GetDevicePoolCompatibility.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.GetDevicePoolCompatibility--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -27,6 +27,7 @@       getDevicePoolCompatibility     , GetDevicePoolCompatibility     -- * Request Lenses+    , gdpcTest     , gdpcAppARN     , gdpcTestType     , gdpcDevicePoolARN@@ -40,12 +41,12 @@     , gdpcrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the get device pool compatibility operation. --@@ -53,15 +54,19 @@ -- -- /See:/ 'getDevicePoolCompatibility' smart constructor. data GetDevicePoolCompatibility = GetDevicePoolCompatibility'-    { _gdpcAppARN        :: !(Maybe Text)-    , _gdpcTestType      :: !(Maybe TestType)-    , _gdpcDevicePoolARN :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gdpcTest          :: !(Maybe ScheduleRunTest)+  , _gdpcAppARN        :: !(Maybe Text)+  , _gdpcTestType      :: !(Maybe TestType)+  , _gdpcDevicePoolARN :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetDevicePoolCompatibility' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'gdpcTest' - Information about the uploaded test to be run against the device pool.+-- -- * 'gdpcAppARN' - The ARN of the app that is associated with the specified device pool. -- -- * 'gdpcTestType' - The test type for the specified device pool. Allowed values include the following:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.@@ -71,12 +76,18 @@     :: Text -- ^ 'gdpcDevicePoolARN'     -> GetDevicePoolCompatibility getDevicePoolCompatibility pDevicePoolARN_ =-    GetDevicePoolCompatibility'-    { _gdpcAppARN = Nothing-    , _gdpcTestType = Nothing-    , _gdpcDevicePoolARN = pDevicePoolARN_-    }+  GetDevicePoolCompatibility'+  { _gdpcTest = Nothing+  , _gdpcAppARN = Nothing+  , _gdpcTestType = Nothing+  , _gdpcDevicePoolARN = pDevicePoolARN_+  } ++-- | Information about the uploaded test to be run against the device pool.+gdpcTest :: Lens' GetDevicePoolCompatibility (Maybe ScheduleRunTest)+gdpcTest = lens _gdpcTest (\ s a -> s{_gdpcTest = a});+ -- | The ARN of the app that is associated with the specified device pool. gdpcAppARN :: Lens' GetDevicePoolCompatibility (Maybe Text) gdpcAppARN = lens _gdpcAppARN (\ s a -> s{_gdpcAppARN = a});@@ -101,9 +112,9 @@                      (x .?> "compatibleDevices" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable GetDevicePoolCompatibility+instance Hashable GetDevicePoolCompatibility where -instance NFData GetDevicePoolCompatibility+instance NFData GetDevicePoolCompatibility where  instance ToHeaders GetDevicePoolCompatibility where         toHeaders@@ -119,7 +130,8 @@         toJSON GetDevicePoolCompatibility'{..}           = object               (catMaybes-                 [("appArn" .=) <$> _gdpcAppARN,+                 [("test" .=) <$> _gdpcTest,+                  ("appArn" .=) <$> _gdpcAppARN,                   ("testType" .=) <$> _gdpcTestType,                   Just ("devicePoolArn" .= _gdpcDevicePoolARN)]) @@ -135,11 +147,12 @@ -- -- /See:/ 'getDevicePoolCompatibilityResponse' smart constructor. data GetDevicePoolCompatibilityResponse = GetDevicePoolCompatibilityResponse'-    { _gdpcrsIncompatibleDevices :: !(Maybe [DevicePoolCompatibilityResult])-    , _gdpcrsCompatibleDevices   :: !(Maybe [DevicePoolCompatibilityResult])-    , _gdpcrsResponseStatus      :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gdpcrsIncompatibleDevices :: !(Maybe [DevicePoolCompatibilityResult])+  , _gdpcrsCompatibleDevices   :: !(Maybe [DevicePoolCompatibilityResult])+  , _gdpcrsResponseStatus      :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetDevicePoolCompatibilityResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -153,12 +166,13 @@     :: Int -- ^ 'gdpcrsResponseStatus'     -> GetDevicePoolCompatibilityResponse getDevicePoolCompatibilityResponse pResponseStatus_ =-    GetDevicePoolCompatibilityResponse'-    { _gdpcrsIncompatibleDevices = Nothing-    , _gdpcrsCompatibleDevices = Nothing-    , _gdpcrsResponseStatus = pResponseStatus_-    }+  GetDevicePoolCompatibilityResponse'+  { _gdpcrsIncompatibleDevices = Nothing+  , _gdpcrsCompatibleDevices = Nothing+  , _gdpcrsResponseStatus = pResponseStatus_+  } + -- | Information about incompatible devices. gdpcrsIncompatibleDevices :: Lens' GetDevicePoolCompatibilityResponse [DevicePoolCompatibilityResult] gdpcrsIncompatibleDevices = lens _gdpcrsIncompatibleDevices (\ s a -> s{_gdpcrsIncompatibleDevices = a}) . _Default . _Coerce;@@ -172,3 +186,4 @@ gdpcrsResponseStatus = lens _gdpcrsResponseStatus (\ s a -> s{_gdpcrsResponseStatus = a});  instance NFData GetDevicePoolCompatibilityResponse+         where
gen/Network/AWS/DeviceFarm/GetJob.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.GetJob--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,12 +37,12 @@     , gjrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the get job operation. --@@ -50,9 +50,10 @@ -- -- /See:/ 'getJob' smart constructor. newtype GetJob = GetJob'-    { _gjArn :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gjArn :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetJob' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -61,11 +62,9 @@ getJob     :: Text -- ^ 'gjArn'     -> GetJob-getJob pArn_ =-    GetJob'-    { _gjArn = pArn_-    }+getJob pArn_ = GetJob' {_gjArn = pArn_} + -- | The job's ARN. gjArn :: Lens' GetJob Text gjArn = lens _gjArn (\ s a -> s{_gjArn = a});@@ -79,9 +78,9 @@                  GetJobResponse' <$>                    (x .?> "job") <*> (pure (fromEnum s))) -instance Hashable GetJob+instance Hashable GetJob where -instance NFData GetJob+instance NFData GetJob where  instance ToHeaders GetJob where         toHeaders@@ -108,27 +107,26 @@ -- -- /See:/ 'getJobResponse' smart constructor. data GetJobResponse = GetJobResponse'-    { _gjrsJob            :: !(Maybe Job)-    , _gjrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gjrsJob            :: !(Maybe Job)+  , _gjrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetJobResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gjrsJob' - Undocumented member.+-- * 'gjrsJob' - An object containing information about the requested job. -- -- * 'gjrsResponseStatus' - -- | The response status code. getJobResponse     :: Int -- ^ 'gjrsResponseStatus'     -> GetJobResponse getJobResponse pResponseStatus_ =-    GetJobResponse'-    { _gjrsJob = Nothing-    , _gjrsResponseStatus = pResponseStatus_-    }+  GetJobResponse' {_gjrsJob = Nothing, _gjrsResponseStatus = pResponseStatus_} --- | Undocumented member.++-- | An object containing information about the requested job. gjrsJob :: Lens' GetJobResponse (Maybe Job) gjrsJob = lens _gjrsJob (\ s a -> s{_gjrsJob = a}); @@ -136,4 +134,4 @@ gjrsResponseStatus :: Lens' GetJobResponse Int gjrsResponseStatus = lens _gjrsResponseStatus (\ s a -> s{_gjrsResponseStatus = a}); -instance NFData GetJobResponse+instance NFData GetJobResponse where
+ gen/Network/AWS/DeviceFarm/GetNetworkProfile.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.DeviceFarm.GetNetworkProfile+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a network profile.+--+--+module Network.AWS.DeviceFarm.GetNetworkProfile+    (+    -- * Creating a Request+      getNetworkProfile+    , GetNetworkProfile+    -- * Request Lenses+    , gnpArn++    -- * Destructuring the Response+    , getNetworkProfileResponse+    , GetNetworkProfileResponse+    -- * Response Lenses+    , gnprsNetworkProfile+    , gnprsResponseStatus+    ) where++import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getNetworkProfile' smart constructor.+newtype GetNetworkProfile = GetNetworkProfile'+  { _gnpArn :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetNetworkProfile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gnpArn' - The Amazon Resource Name (ARN) of the network profile you want to return information about.+getNetworkProfile+    :: Text -- ^ 'gnpArn'+    -> GetNetworkProfile+getNetworkProfile pArn_ = GetNetworkProfile' {_gnpArn = pArn_}+++-- | The Amazon Resource Name (ARN) of the network profile you want to return information about.+gnpArn :: Lens' GetNetworkProfile Text+gnpArn = lens _gnpArn (\ s a -> s{_gnpArn = a});++instance AWSRequest GetNetworkProfile where+        type Rs GetNetworkProfile = GetNetworkProfileResponse+        request = postJSON deviceFarm+        response+          = receiveJSON+              (\ s h x ->+                 GetNetworkProfileResponse' <$>+                   (x .?> "networkProfile") <*> (pure (fromEnum s)))++instance Hashable GetNetworkProfile where++instance NFData GetNetworkProfile where++instance ToHeaders GetNetworkProfile where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("DeviceFarm_20150623.GetNetworkProfile" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetNetworkProfile where+        toJSON GetNetworkProfile'{..}+          = object (catMaybes [Just ("arn" .= _gnpArn)])++instance ToPath GetNetworkProfile where+        toPath = const "/"++instance ToQuery GetNetworkProfile where+        toQuery = const mempty++-- | /See:/ 'getNetworkProfileResponse' smart constructor.+data GetNetworkProfileResponse = GetNetworkProfileResponse'+  { _gnprsNetworkProfile :: !(Maybe NetworkProfile)+  , _gnprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetNetworkProfileResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gnprsNetworkProfile' - The network profile.+--+-- * 'gnprsResponseStatus' - -- | The response status code.+getNetworkProfileResponse+    :: Int -- ^ 'gnprsResponseStatus'+    -> GetNetworkProfileResponse+getNetworkProfileResponse pResponseStatus_ =+  GetNetworkProfileResponse'+  {_gnprsNetworkProfile = Nothing, _gnprsResponseStatus = pResponseStatus_}+++-- | The network profile.+gnprsNetworkProfile :: Lens' GetNetworkProfileResponse (Maybe NetworkProfile)+gnprsNetworkProfile = lens _gnprsNetworkProfile (\ s a -> s{_gnprsNetworkProfile = a});++-- | -- | The response status code.+gnprsResponseStatus :: Lens' GetNetworkProfileResponse Int+gnprsResponseStatus = lens _gnprsResponseStatus (\ s a -> s{_gnprsResponseStatus = a});++instance NFData GetNetworkProfileResponse where
gen/Network/AWS/DeviceFarm/GetOfferingStatus.hs view
@@ -12,15 +12,17 @@  -- | -- Module      : Network.AWS.DeviceFarm.GetOfferingStatus--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- -- Gets the current status and future status of all offerings purchased by an AWS account. The response indicates how many offerings are currently available and the offerings that will be available in the next period. The API returns a @NotEligible@ error if the user is not permitted to invoke the operation. Please contact <mailto:aws-devicefarm-support@amazon.com aws-devicefarm-support@amazon.com> if you believe that you should be able to invoke this operation. -- --+--+-- This operation returns paginated results. module Network.AWS.DeviceFarm.GetOfferingStatus     (     -- * Creating a Request@@ -39,12 +41,13 @@     , gosrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents the request to retrieve the offering status for the specified customer or account. --@@ -52,9 +55,10 @@ -- -- /See:/ 'getOfferingStatus' smart constructor. newtype GetOfferingStatus = GetOfferingStatus'-    { _gosNextToken :: Maybe Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gosNextToken :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetOfferingStatus' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -62,15 +66,21 @@ -- * 'gosNextToken' - An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. getOfferingStatus     :: GetOfferingStatus-getOfferingStatus =-    GetOfferingStatus'-    { _gosNextToken = Nothing-    }+getOfferingStatus = GetOfferingStatus' {_gosNextToken = Nothing} + -- | An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. gosNextToken :: Lens' GetOfferingStatus (Maybe Text) gosNextToken = lens _gosNextToken (\ s a -> s{_gosNextToken = a}); +instance AWSPager GetOfferingStatus where+        page rq rs+          | stop (rs ^. gosrsNextToken) = Nothing+          | stop (rs ^. gosrsCurrent) = Nothing+          | stop (rs ^. gosrsNextPeriod) = Nothing+          | otherwise =+            Just $ rq & gosNextToken .~ rs ^. gosrsNextToken+ instance AWSRequest GetOfferingStatus where         type Rs GetOfferingStatus = GetOfferingStatusResponse         request = postJSON deviceFarm@@ -83,9 +93,9 @@                      <*> (x .?> "nextToken")                      <*> (pure (fromEnum s))) -instance Hashable GetOfferingStatus+instance Hashable GetOfferingStatus where -instance NFData GetOfferingStatus+instance NFData GetOfferingStatus where  instance ToHeaders GetOfferingStatus where         toHeaders@@ -114,12 +124,13 @@ -- -- /See:/ 'getOfferingStatusResponse' smart constructor. data GetOfferingStatusResponse = GetOfferingStatusResponse'-    { _gosrsNextPeriod     :: !(Maybe (Map Text OfferingStatus))-    , _gosrsCurrent        :: !(Maybe (Map Text OfferingStatus))-    , _gosrsNextToken      :: !(Maybe Text)-    , _gosrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gosrsNextPeriod     :: !(Maybe (Map Text OfferingStatus))+  , _gosrsCurrent        :: !(Maybe (Map Text OfferingStatus))+  , _gosrsNextToken      :: !(Maybe Text)+  , _gosrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetOfferingStatusResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -135,13 +146,14 @@     :: Int -- ^ 'gosrsResponseStatus'     -> GetOfferingStatusResponse getOfferingStatusResponse pResponseStatus_ =-    GetOfferingStatusResponse'-    { _gosrsNextPeriod = Nothing-    , _gosrsCurrent = Nothing-    , _gosrsNextToken = Nothing-    , _gosrsResponseStatus = pResponseStatus_-    }+  GetOfferingStatusResponse'+  { _gosrsNextPeriod = Nothing+  , _gosrsCurrent = Nothing+  , _gosrsNextToken = Nothing+  , _gosrsResponseStatus = pResponseStatus_+  } + -- | When specified, gets the offering status for the next period. gosrsNextPeriod :: Lens' GetOfferingStatusResponse (HashMap Text OfferingStatus) gosrsNextPeriod = lens _gosrsNextPeriod (\ s a -> s{_gosrsNextPeriod = a}) . _Default . _Map;@@ -158,4 +170,4 @@ gosrsResponseStatus :: Lens' GetOfferingStatusResponse Int gosrsResponseStatus = lens _gosrsResponseStatus (\ s a -> s{_gosrsResponseStatus = a}); -instance NFData GetOfferingStatusResponse+instance NFData GetOfferingStatusResponse where
gen/Network/AWS/DeviceFarm/GetProject.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.GetProject--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,12 +37,12 @@     , gprsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the get project operation. --@@ -50,9 +50,10 @@ -- -- /See:/ 'getProject' smart constructor. newtype GetProject = GetProject'-    { _gpArn :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gpArn :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetProject' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -61,11 +62,9 @@ getProject     :: Text -- ^ 'gpArn'     -> GetProject-getProject pArn_ =-    GetProject'-    { _gpArn = pArn_-    }+getProject pArn_ = GetProject' {_gpArn = pArn_} + -- | The project's ARN. gpArn :: Lens' GetProject Text gpArn = lens _gpArn (\ s a -> s{_gpArn = a});@@ -79,9 +78,9 @@                  GetProjectResponse' <$>                    (x .?> "project") <*> (pure (fromEnum s))) -instance Hashable GetProject+instance Hashable GetProject where -instance NFData GetProject+instance NFData GetProject where  instance ToHeaders GetProject where         toHeaders@@ -108,27 +107,27 @@ -- -- /See:/ 'getProjectResponse' smart constructor. data GetProjectResponse = GetProjectResponse'-    { _gprsProject        :: !(Maybe Project)-    , _gprsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gprsProject        :: !(Maybe Project)+  , _gprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetProjectResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gprsProject' - Undocumented member.+-- * 'gprsProject' - The project you wish to get information about. -- -- * 'gprsResponseStatus' - -- | The response status code. getProjectResponse     :: Int -- ^ 'gprsResponseStatus'     -> GetProjectResponse getProjectResponse pResponseStatus_ =-    GetProjectResponse'-    { _gprsProject = Nothing-    , _gprsResponseStatus = pResponseStatus_-    }+  GetProjectResponse'+  {_gprsProject = Nothing, _gprsResponseStatus = pResponseStatus_} --- | Undocumented member.++-- | The project you wish to get information about. gprsProject :: Lens' GetProjectResponse (Maybe Project) gprsProject = lens _gprsProject (\ s a -> s{_gprsProject = a}); @@ -136,4 +135,4 @@ gprsResponseStatus :: Lens' GetProjectResponse Int gprsResponseStatus = lens _gprsResponseStatus (\ s a -> s{_gprsResponseStatus = a}); -instance NFData GetProjectResponse+instance NFData GetProjectResponse where
gen/Network/AWS/DeviceFarm/GetRemoteAccessSession.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.GetRemoteAccessSession--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,12 +37,12 @@     , grasrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents the request to get information about the specified remote access session. --@@ -50,9 +50,10 @@ -- -- /See:/ 'getRemoteAccessSession' smart constructor. newtype GetRemoteAccessSession = GetRemoteAccessSession'-    { _grasArn :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _grasArn :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetRemoteAccessSession' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -61,11 +62,9 @@ getRemoteAccessSession     :: Text -- ^ 'grasArn'     -> GetRemoteAccessSession-getRemoteAccessSession pArn_ =-    GetRemoteAccessSession'-    { _grasArn = pArn_-    }+getRemoteAccessSession pArn_ = GetRemoteAccessSession' {_grasArn = pArn_} + -- | The Amazon Resource Name (ARN) of the remote access session about which you want to get session information. grasArn :: Lens' GetRemoteAccessSession Text grasArn = lens _grasArn (\ s a -> s{_grasArn = a});@@ -81,9 +80,9 @@                    (x .?> "remoteAccessSession") <*>                      (pure (fromEnum s))) -instance Hashable GetRemoteAccessSession+instance Hashable GetRemoteAccessSession where -instance NFData GetRemoteAccessSession+instance NFData GetRemoteAccessSession where  instance ToHeaders GetRemoteAccessSession where         toHeaders@@ -111,10 +110,11 @@ -- -- /See:/ 'getRemoteAccessSessionResponse' smart constructor. data GetRemoteAccessSessionResponse = GetRemoteAccessSessionResponse'-    { _grasrsRemoteAccessSession :: !(Maybe RemoteAccessSession)-    , _grasrsResponseStatus      :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _grasrsRemoteAccessSession :: !(Maybe RemoteAccessSession)+  , _grasrsResponseStatus      :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetRemoteAccessSessionResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -126,11 +126,12 @@     :: Int -- ^ 'grasrsResponseStatus'     -> GetRemoteAccessSessionResponse getRemoteAccessSessionResponse pResponseStatus_ =-    GetRemoteAccessSessionResponse'-    { _grasrsRemoteAccessSession = Nothing-    , _grasrsResponseStatus = pResponseStatus_-    }+  GetRemoteAccessSessionResponse'+  { _grasrsRemoteAccessSession = Nothing+  , _grasrsResponseStatus = pResponseStatus_+  } + -- | A container that lists detailed information about the remote access session. grasrsRemoteAccessSession :: Lens' GetRemoteAccessSessionResponse (Maybe RemoteAccessSession) grasrsRemoteAccessSession = lens _grasrsRemoteAccessSession (\ s a -> s{_grasrsRemoteAccessSession = a});@@ -139,4 +140,4 @@ grasrsResponseStatus :: Lens' GetRemoteAccessSessionResponse Int grasrsResponseStatus = lens _grasrsResponseStatus (\ s a -> s{_grasrsResponseStatus = a}); -instance NFData GetRemoteAccessSessionResponse+instance NFData GetRemoteAccessSessionResponse where
gen/Network/AWS/DeviceFarm/GetRun.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.GetRun--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,12 +37,12 @@     , grrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the get run operation. --@@ -50,9 +50,10 @@ -- -- /See:/ 'getRun' smart constructor. newtype GetRun = GetRun'-    { _grArn :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _grArn :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetRun' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -61,11 +62,9 @@ getRun     :: Text -- ^ 'grArn'     -> GetRun-getRun pArn_ =-    GetRun'-    { _grArn = pArn_-    }+getRun pArn_ = GetRun' {_grArn = pArn_} + -- | The run's ARN. grArn :: Lens' GetRun Text grArn = lens _grArn (\ s a -> s{_grArn = a});@@ -79,9 +78,9 @@                  GetRunResponse' <$>                    (x .?> "run") <*> (pure (fromEnum s))) -instance Hashable GetRun+instance Hashable GetRun where -instance NFData GetRun+instance NFData GetRun where  instance ToHeaders GetRun where         toHeaders@@ -108,27 +107,26 @@ -- -- /See:/ 'getRunResponse' smart constructor. data GetRunResponse = GetRunResponse'-    { _grrsRun            :: !(Maybe Run)-    , _grrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _grrsRun            :: !(Maybe Run)+  , _grrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetRunResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'grrsRun' - Undocumented member.+-- * 'grrsRun' - The run you wish to get results from. -- -- * 'grrsResponseStatus' - -- | The response status code. getRunResponse     :: Int -- ^ 'grrsResponseStatus'     -> GetRunResponse getRunResponse pResponseStatus_ =-    GetRunResponse'-    { _grrsRun = Nothing-    , _grrsResponseStatus = pResponseStatus_-    }+  GetRunResponse' {_grrsRun = Nothing, _grrsResponseStatus = pResponseStatus_} --- | Undocumented member.++-- | The run you wish to get results from. grrsRun :: Lens' GetRunResponse (Maybe Run) grrsRun = lens _grrsRun (\ s a -> s{_grrsRun = a}); @@ -136,4 +134,4 @@ grrsResponseStatus :: Lens' GetRunResponse Int grrsResponseStatus = lens _grrsResponseStatus (\ s a -> s{_grrsResponseStatus = a}); -instance NFData GetRunResponse+instance NFData GetRunResponse where
gen/Network/AWS/DeviceFarm/GetSuite.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.GetSuite--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,12 +37,12 @@     , gsrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the get suite operation. --@@ -50,9 +50,10 @@ -- -- /See:/ 'getSuite' smart constructor. newtype GetSuite = GetSuite'-    { _gsArn :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gsArn :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetSuite' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -61,11 +62,9 @@ getSuite     :: Text -- ^ 'gsArn'     -> GetSuite-getSuite pArn_ =-    GetSuite'-    { _gsArn = pArn_-    }+getSuite pArn_ = GetSuite' {_gsArn = pArn_} + -- | The suite's ARN. gsArn :: Lens' GetSuite Text gsArn = lens _gsArn (\ s a -> s{_gsArn = a});@@ -79,9 +78,9 @@                  GetSuiteResponse' <$>                    (x .?> "suite") <*> (pure (fromEnum s))) -instance Hashable GetSuite+instance Hashable GetSuite where -instance NFData GetSuite+instance NFData GetSuite where  instance ToHeaders GetSuite where         toHeaders@@ -108,27 +107,27 @@ -- -- /See:/ 'getSuiteResponse' smart constructor. data GetSuiteResponse = GetSuiteResponse'-    { _gsrsSuite          :: !(Maybe Suite)-    , _gsrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gsrsSuite          :: !(Maybe Suite)+  , _gsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetSuiteResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gsrsSuite' - Undocumented member.+-- * 'gsrsSuite' - A collection of one or more tests. -- -- * 'gsrsResponseStatus' - -- | The response status code. getSuiteResponse     :: Int -- ^ 'gsrsResponseStatus'     -> GetSuiteResponse getSuiteResponse pResponseStatus_ =-    GetSuiteResponse'-    { _gsrsSuite = Nothing-    , _gsrsResponseStatus = pResponseStatus_-    }+  GetSuiteResponse'+  {_gsrsSuite = Nothing, _gsrsResponseStatus = pResponseStatus_} --- | Undocumented member.++-- | A collection of one or more tests. gsrsSuite :: Lens' GetSuiteResponse (Maybe Suite) gsrsSuite = lens _gsrsSuite (\ s a -> s{_gsrsSuite = a}); @@ -136,4 +135,4 @@ gsrsResponseStatus :: Lens' GetSuiteResponse Int gsrsResponseStatus = lens _gsrsResponseStatus (\ s a -> s{_gsrsResponseStatus = a}); -instance NFData GetSuiteResponse+instance NFData GetSuiteResponse where
gen/Network/AWS/DeviceFarm/GetTest.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.GetTest--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,12 +37,12 @@     , gtrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the get test operation. --@@ -50,9 +50,10 @@ -- -- /See:/ 'getTest' smart constructor. newtype GetTest = GetTest'-    { _gtArn :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gtArn :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetTest' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -61,11 +62,9 @@ getTest     :: Text -- ^ 'gtArn'     -> GetTest-getTest pArn_ =-    GetTest'-    { _gtArn = pArn_-    }+getTest pArn_ = GetTest' {_gtArn = pArn_} + -- | The test's ARN. gtArn :: Lens' GetTest Text gtArn = lens _gtArn (\ s a -> s{_gtArn = a});@@ -79,9 +78,9 @@                  GetTestResponse' <$>                    (x .?> "test") <*> (pure (fromEnum s))) -instance Hashable GetTest+instance Hashable GetTest where -instance NFData GetTest+instance NFData GetTest where  instance ToHeaders GetTest where         toHeaders@@ -108,27 +107,26 @@ -- -- /See:/ 'getTestResponse' smart constructor. data GetTestResponse = GetTestResponse'-    { _gtrsTest           :: !(Maybe Test)-    , _gtrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gtrsTest           :: !(Maybe Test)+  , _gtrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetTestResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gtrsTest' - Undocumented member.+-- * 'gtrsTest' - A test condition that is evaluated. -- -- * 'gtrsResponseStatus' - -- | The response status code. getTestResponse     :: Int -- ^ 'gtrsResponseStatus'     -> GetTestResponse getTestResponse pResponseStatus_ =-    GetTestResponse'-    { _gtrsTest = Nothing-    , _gtrsResponseStatus = pResponseStatus_-    }+  GetTestResponse' {_gtrsTest = Nothing, _gtrsResponseStatus = pResponseStatus_} --- | Undocumented member.++-- | A test condition that is evaluated. gtrsTest :: Lens' GetTestResponse (Maybe Test) gtrsTest = lens _gtrsTest (\ s a -> s{_gtrsTest = a}); @@ -136,4 +134,4 @@ gtrsResponseStatus :: Lens' GetTestResponse Int gtrsResponseStatus = lens _gtrsResponseStatus (\ s a -> s{_gtrsResponseStatus = a}); -instance NFData GetTestResponse+instance NFData GetTestResponse where
gen/Network/AWS/DeviceFarm/GetUpload.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.GetUpload--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,12 +37,12 @@     , gursResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the get upload operation. --@@ -50,9 +50,10 @@ -- -- /See:/ 'getUpload' smart constructor. newtype GetUpload = GetUpload'-    { _guArn :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _guArn :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetUpload' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -61,11 +62,9 @@ getUpload     :: Text -- ^ 'guArn'     -> GetUpload-getUpload pArn_ =-    GetUpload'-    { _guArn = pArn_-    }+getUpload pArn_ = GetUpload' {_guArn = pArn_} + -- | The upload's ARN. guArn :: Lens' GetUpload Text guArn = lens _guArn (\ s a -> s{_guArn = a});@@ -79,9 +78,9 @@                  GetUploadResponse' <$>                    (x .?> "upload") <*> (pure (fromEnum s))) -instance Hashable GetUpload+instance Hashable GetUpload where -instance NFData GetUpload+instance NFData GetUpload where  instance ToHeaders GetUpload where         toHeaders@@ -108,27 +107,27 @@ -- -- /See:/ 'getUploadResponse' smart constructor. data GetUploadResponse = GetUploadResponse'-    { _gursUpload         :: !(Maybe Upload)-    , _gursResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gursUpload         :: !(Maybe Upload)+  , _gursResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetUploadResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gursUpload' - Undocumented member.+-- * 'gursUpload' - An app or a set of one or more tests to upload or that have been uploaded. -- -- * 'gursResponseStatus' - -- | The response status code. getUploadResponse     :: Int -- ^ 'gursResponseStatus'     -> GetUploadResponse getUploadResponse pResponseStatus_ =-    GetUploadResponse'-    { _gursUpload = Nothing-    , _gursResponseStatus = pResponseStatus_-    }+  GetUploadResponse'+  {_gursUpload = Nothing, _gursResponseStatus = pResponseStatus_} --- | Undocumented member.++-- | An app or a set of one or more tests to upload or that have been uploaded. gursUpload :: Lens' GetUploadResponse (Maybe Upload) gursUpload = lens _gursUpload (\ s a -> s{_gursUpload = a}); @@ -136,4 +135,4 @@ gursResponseStatus :: Lens' GetUploadResponse Int gursResponseStatus = lens _gursResponseStatus (\ s a -> s{_gursResponseStatus = a}); -instance NFData GetUploadResponse+instance NFData GetUploadResponse where
gen/Network/AWS/DeviceFarm/InstallToRemoteAccessSession.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.InstallToRemoteAccessSession--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -38,12 +38,12 @@     , itrasrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents the request to install an Android application (in .apk format) or an iOS application (in .ipa format) as part of a remote access session. --@@ -51,10 +51,11 @@ -- -- /See:/ 'installToRemoteAccessSession' smart constructor. data InstallToRemoteAccessSession = InstallToRemoteAccessSession'-    { _itrasRemoteAccessSessionARN :: !Text-    , _itrasAppARN                 :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _itrasRemoteAccessSessionARN :: !Text+  , _itrasAppARN                 :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'InstallToRemoteAccessSession' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -67,11 +68,12 @@     -> Text -- ^ 'itrasAppARN'     -> InstallToRemoteAccessSession installToRemoteAccessSession pRemoteAccessSessionARN_ pAppARN_ =-    InstallToRemoteAccessSession'-    { _itrasRemoteAccessSessionARN = pRemoteAccessSessionARN_-    , _itrasAppARN = pAppARN_-    }+  InstallToRemoteAccessSession'+  { _itrasRemoteAccessSessionARN = pRemoteAccessSessionARN_+  , _itrasAppARN = pAppARN_+  } + -- | The Amazon Resource Name (ARN) of the remote access session about which you are requesting information. itrasRemoteAccessSessionARN :: Lens' InstallToRemoteAccessSession Text itrasRemoteAccessSessionARN = lens _itrasRemoteAccessSessionARN (\ s a -> s{_itrasRemoteAccessSessionARN = a});@@ -91,9 +93,9 @@                  InstallToRemoteAccessSessionResponse' <$>                    (x .?> "appUpload") <*> (pure (fromEnum s))) -instance Hashable InstallToRemoteAccessSession+instance Hashable InstallToRemoteAccessSession where -instance NFData InstallToRemoteAccessSession+instance NFData InstallToRemoteAccessSession where  instance ToHeaders InstallToRemoteAccessSession where         toHeaders@@ -126,27 +128,27 @@ -- -- /See:/ 'installToRemoteAccessSessionResponse' smart constructor. data InstallToRemoteAccessSessionResponse = InstallToRemoteAccessSessionResponse'-    { _itrasrsAppUpload      :: !(Maybe Upload)-    , _itrasrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _itrasrsAppUpload      :: !(Maybe Upload)+  , _itrasrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'InstallToRemoteAccessSessionResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'itrasrsAppUpload' - Undocumented member.+-- * 'itrasrsAppUpload' - An app to upload or that has been uploaded. -- -- * 'itrasrsResponseStatus' - -- | The response status code. installToRemoteAccessSessionResponse     :: Int -- ^ 'itrasrsResponseStatus'     -> InstallToRemoteAccessSessionResponse installToRemoteAccessSessionResponse pResponseStatus_ =-    InstallToRemoteAccessSessionResponse'-    { _itrasrsAppUpload = Nothing-    , _itrasrsResponseStatus = pResponseStatus_-    }+  InstallToRemoteAccessSessionResponse'+  {_itrasrsAppUpload = Nothing, _itrasrsResponseStatus = pResponseStatus_} --- | Undocumented member.++-- | An app to upload or that has been uploaded. itrasrsAppUpload :: Lens' InstallToRemoteAccessSessionResponse (Maybe Upload) itrasrsAppUpload = lens _itrasrsAppUpload (\ s a -> s{_itrasrsAppUpload = a}); @@ -155,3 +157,4 @@ itrasrsResponseStatus = lens _itrasrsResponseStatus (\ s a -> s{_itrasrsResponseStatus = a});  instance NFData InstallToRemoteAccessSessionResponse+         where
gen/Network/AWS/DeviceFarm/ListArtifacts.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.ListArtifacts--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -42,13 +42,13 @@     , larsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Pager-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the list artifacts operation. --@@ -56,11 +56,12 @@ -- -- /See:/ 'listArtifacts' smart constructor. data ListArtifacts = ListArtifacts'-    { _laNextToken :: !(Maybe Text)-    , _laArn       :: !Text-    , _laType      :: !ArtifactCategory-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _laNextToken :: !(Maybe Text)+  , _laArn       :: !Text+  , _laType      :: !ArtifactCategory+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListArtifacts' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -75,12 +76,9 @@     -> ArtifactCategory -- ^ 'laType'     -> ListArtifacts listArtifacts pArn_ pType_ =-    ListArtifacts'-    { _laNextToken = Nothing-    , _laArn = pArn_-    , _laType = pType_-    }+  ListArtifacts' {_laNextToken = Nothing, _laArn = pArn_, _laType = pType_} + -- | An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. laNextToken :: Lens' ListArtifacts (Maybe Text) laNextToken = lens _laNextToken (\ s a -> s{_laNextToken = a});@@ -111,9 +109,9 @@                      (x .?> "nextToken")                      <*> (pure (fromEnum s))) -instance Hashable ListArtifacts+instance Hashable ListArtifacts where -instance NFData ListArtifacts+instance NFData ListArtifacts where  instance ToHeaders ListArtifacts where         toHeaders@@ -143,11 +141,12 @@ -- -- /See:/ 'listArtifactsResponse' smart constructor. data ListArtifactsResponse = ListArtifactsResponse'-    { _larsArtifacts      :: !(Maybe [Artifact])-    , _larsNextToken      :: !(Maybe Text)-    , _larsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _larsArtifacts      :: !(Maybe [Artifact])+  , _larsNextToken      :: !(Maybe Text)+  , _larsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListArtifactsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -161,12 +160,13 @@     :: Int -- ^ 'larsResponseStatus'     -> ListArtifactsResponse listArtifactsResponse pResponseStatus_ =-    ListArtifactsResponse'-    { _larsArtifacts = Nothing-    , _larsNextToken = Nothing-    , _larsResponseStatus = pResponseStatus_-    }+  ListArtifactsResponse'+  { _larsArtifacts = Nothing+  , _larsNextToken = Nothing+  , _larsResponseStatus = pResponseStatus_+  } + -- | Information about the artifacts. larsArtifacts :: Lens' ListArtifactsResponse [Artifact] larsArtifacts = lens _larsArtifacts (\ s a -> s{_larsArtifacts = a}) . _Default . _Coerce;@@ -179,4 +179,4 @@ larsResponseStatus :: Lens' ListArtifactsResponse Int larsResponseStatus = lens _larsResponseStatus (\ s a -> s{_larsResponseStatus = a}); -instance NFData ListArtifactsResponse+instance NFData ListArtifactsResponse where
gen/Network/AWS/DeviceFarm/ListDevicePools.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.ListDevicePools--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -42,13 +42,13 @@     , ldprsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Pager-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents the result of a list device pools request. --@@ -56,11 +56,12 @@ -- -- /See:/ 'listDevicePools' smart constructor. data ListDevicePools = ListDevicePools'-    { _ldpNextToken :: !(Maybe Text)-    , _ldpType      :: !(Maybe DevicePoolType)-    , _ldpArn       :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ldpNextToken :: !(Maybe Text)+  , _ldpType      :: !(Maybe DevicePoolType)+  , _ldpArn       :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListDevicePools' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -74,12 +75,10 @@     :: Text -- ^ 'ldpArn'     -> ListDevicePools listDevicePools pArn_ =-    ListDevicePools'-    { _ldpNextToken = Nothing-    , _ldpType = Nothing-    , _ldpArn = pArn_-    }+  ListDevicePools'+  {_ldpNextToken = Nothing, _ldpType = Nothing, _ldpArn = pArn_} + -- | An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. ldpNextToken :: Lens' ListDevicePools (Maybe Text) ldpNextToken = lens _ldpNextToken (\ s a -> s{_ldpNextToken = a});@@ -110,9 +109,9 @@                      (x .?> "nextToken")                      <*> (pure (fromEnum s))) -instance Hashable ListDevicePools+instance Hashable ListDevicePools where -instance NFData ListDevicePools+instance NFData ListDevicePools where  instance ToHeaders ListDevicePools where         toHeaders@@ -143,11 +142,12 @@ -- -- /See:/ 'listDevicePoolsResponse' smart constructor. data ListDevicePoolsResponse = ListDevicePoolsResponse'-    { _ldprsDevicePools    :: !(Maybe [DevicePool])-    , _ldprsNextToken      :: !(Maybe Text)-    , _ldprsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ldprsDevicePools    :: !(Maybe [DevicePool])+  , _ldprsNextToken      :: !(Maybe Text)+  , _ldprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListDevicePoolsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -161,12 +161,13 @@     :: Int -- ^ 'ldprsResponseStatus'     -> ListDevicePoolsResponse listDevicePoolsResponse pResponseStatus_ =-    ListDevicePoolsResponse'-    { _ldprsDevicePools = Nothing-    , _ldprsNextToken = Nothing-    , _ldprsResponseStatus = pResponseStatus_-    }+  ListDevicePoolsResponse'+  { _ldprsDevicePools = Nothing+  , _ldprsNextToken = Nothing+  , _ldprsResponseStatus = pResponseStatus_+  } + -- | Information about the device pools. ldprsDevicePools :: Lens' ListDevicePoolsResponse [DevicePool] ldprsDevicePools = lens _ldprsDevicePools (\ s a -> s{_ldprsDevicePools = a}) . _Default . _Coerce;@@ -179,4 +180,4 @@ ldprsResponseStatus :: Lens' ListDevicePoolsResponse Int ldprsResponseStatus = lens _ldprsResponseStatus (\ s a -> s{_ldprsResponseStatus = a}); -instance NFData ListDevicePoolsResponse+instance NFData ListDevicePoolsResponse where
gen/Network/AWS/DeviceFarm/ListDevices.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.ListDevices--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -41,13 +41,13 @@     , ldrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Pager-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents the result of a list devices request. --@@ -55,10 +55,11 @@ -- -- /See:/ 'listDevices' smart constructor. data ListDevices = ListDevices'-    { _ldArn       :: !(Maybe Text)-    , _ldNextToken :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ldArn       :: !(Maybe Text)+  , _ldNextToken :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListDevices' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -68,12 +69,9 @@ -- * 'ldNextToken' - An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. listDevices     :: ListDevices-listDevices =-    ListDevices'-    { _ldArn = Nothing-    , _ldNextToken = Nothing-    }+listDevices = ListDevices' {_ldArn = Nothing, _ldNextToken = Nothing} + -- | The Amazon Resource Name (ARN) of the project. ldArn :: Lens' ListDevices (Maybe Text) ldArn = lens _ldArn (\ s a -> s{_ldArn = a});@@ -99,9 +97,9 @@                    (x .?> "nextToken") <*> (x .?> "devices" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable ListDevices+instance Hashable ListDevices where -instance NFData ListDevices+instance NFData ListDevices where  instance ToHeaders ListDevices where         toHeaders@@ -131,11 +129,12 @@ -- -- /See:/ 'listDevicesResponse' smart constructor. data ListDevicesResponse = ListDevicesResponse'-    { _ldrsNextToken      :: !(Maybe Text)-    , _ldrsDevices        :: !(Maybe [Device])-    , _ldrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ldrsNextToken      :: !(Maybe Text)+  , _ldrsDevices        :: !(Maybe [Device])+  , _ldrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListDevicesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -149,12 +148,13 @@     :: Int -- ^ 'ldrsResponseStatus'     -> ListDevicesResponse listDevicesResponse pResponseStatus_ =-    ListDevicesResponse'-    { _ldrsNextToken = Nothing-    , _ldrsDevices = Nothing-    , _ldrsResponseStatus = pResponseStatus_-    }+  ListDevicesResponse'+  { _ldrsNextToken = Nothing+  , _ldrsDevices = Nothing+  , _ldrsResponseStatus = pResponseStatus_+  } + -- | If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list. ldrsNextToken :: Lens' ListDevicesResponse (Maybe Text) ldrsNextToken = lens _ldrsNextToken (\ s a -> s{_ldrsNextToken = a});@@ -167,4 +167,4 @@ ldrsResponseStatus :: Lens' ListDevicesResponse Int ldrsResponseStatus = lens _ldrsResponseStatus (\ s a -> s{_ldrsResponseStatus = a}); -instance NFData ListDevicesResponse+instance NFData ListDevicesResponse where
gen/Network/AWS/DeviceFarm/ListJobs.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.ListJobs--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -41,13 +41,13 @@     , ljrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Pager-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the list jobs operation. --@@ -55,10 +55,11 @@ -- -- /See:/ 'listJobs' smart constructor. data ListJobs = ListJobs'-    { _ljNextToken :: !(Maybe Text)-    , _ljArn       :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ljNextToken :: !(Maybe Text)+  , _ljArn       :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListJobs' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -69,12 +70,9 @@ listJobs     :: Text -- ^ 'ljArn'     -> ListJobs-listJobs pArn_ =-    ListJobs'-    { _ljNextToken = Nothing-    , _ljArn = pArn_-    }+listJobs pArn_ = ListJobs' {_ljNextToken = Nothing, _ljArn = pArn_} + -- | An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. ljNextToken :: Lens' ListJobs (Maybe Text) ljNextToken = lens _ljNextToken (\ s a -> s{_ljNextToken = a});@@ -100,9 +98,9 @@                    (x .?> "jobs" .!@ mempty) <*> (x .?> "nextToken") <*>                      (pure (fromEnum s))) -instance Hashable ListJobs+instance Hashable ListJobs where -instance NFData ListJobs+instance NFData ListJobs where  instance ToHeaders ListJobs where         toHeaders@@ -132,11 +130,12 @@ -- -- /See:/ 'listJobsResponse' smart constructor. data ListJobsResponse = ListJobsResponse'-    { _ljrsJobs           :: !(Maybe [Job])-    , _ljrsNextToken      :: !(Maybe Text)-    , _ljrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ljrsJobs           :: !(Maybe [Job])+  , _ljrsNextToken      :: !(Maybe Text)+  , _ljrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListJobsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -150,12 +149,13 @@     :: Int -- ^ 'ljrsResponseStatus'     -> ListJobsResponse listJobsResponse pResponseStatus_ =-    ListJobsResponse'-    { _ljrsJobs = Nothing-    , _ljrsNextToken = Nothing-    , _ljrsResponseStatus = pResponseStatus_-    }+  ListJobsResponse'+  { _ljrsJobs = Nothing+  , _ljrsNextToken = Nothing+  , _ljrsResponseStatus = pResponseStatus_+  } + -- | Information about the jobs. ljrsJobs :: Lens' ListJobsResponse [Job] ljrsJobs = lens _ljrsJobs (\ s a -> s{_ljrsJobs = a}) . _Default . _Coerce;@@ -168,4 +168,4 @@ ljrsResponseStatus :: Lens' ListJobsResponse Int ljrsResponseStatus = lens _ljrsResponseStatus (\ s a -> s{_ljrsResponseStatus = a}); -instance NFData ListJobsResponse+instance NFData ListJobsResponse where
+ gen/Network/AWS/DeviceFarm/ListNetworkProfiles.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.DeviceFarm.ListNetworkProfiles+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the list of available network profiles.+--+--+module Network.AWS.DeviceFarm.ListNetworkProfiles+    (+    -- * Creating a Request+      listNetworkProfiles+    , ListNetworkProfiles+    -- * Request Lenses+    , lnpNextToken+    , lnpType+    , lnpArn++    -- * Destructuring the Response+    , listNetworkProfilesResponse+    , ListNetworkProfilesResponse+    -- * Response Lenses+    , lnprsNetworkProfiles+    , lnprsNextToken+    , lnprsResponseStatus+    ) where++import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listNetworkProfiles' smart constructor.+data ListNetworkProfiles = ListNetworkProfiles'+  { _lnpNextToken :: !(Maybe Text)+  , _lnpType      :: !(Maybe NetworkProfileType)+  , _lnpArn       :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListNetworkProfiles' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lnpNextToken' - An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.+--+-- * 'lnpType' - The type of network profile you wish to return information about. Valid values are listed below.+--+-- * 'lnpArn' - The Amazon Resource Name (ARN) of the project for which you want to list network profiles.+listNetworkProfiles+    :: Text -- ^ 'lnpArn'+    -> ListNetworkProfiles+listNetworkProfiles pArn_ =+  ListNetworkProfiles'+  {_lnpNextToken = Nothing, _lnpType = Nothing, _lnpArn = pArn_}+++-- | An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.+lnpNextToken :: Lens' ListNetworkProfiles (Maybe Text)+lnpNextToken = lens _lnpNextToken (\ s a -> s{_lnpNextToken = a});++-- | The type of network profile you wish to return information about. Valid values are listed below.+lnpType :: Lens' ListNetworkProfiles (Maybe NetworkProfileType)+lnpType = lens _lnpType (\ s a -> s{_lnpType = a});++-- | The Amazon Resource Name (ARN) of the project for which you want to list network profiles.+lnpArn :: Lens' ListNetworkProfiles Text+lnpArn = lens _lnpArn (\ s a -> s{_lnpArn = a});++instance AWSRequest ListNetworkProfiles where+        type Rs ListNetworkProfiles =+             ListNetworkProfilesResponse+        request = postJSON deviceFarm+        response+          = receiveJSON+              (\ s h x ->+                 ListNetworkProfilesResponse' <$>+                   (x .?> "networkProfiles" .!@ mempty) <*>+                     (x .?> "nextToken")+                     <*> (pure (fromEnum s)))++instance Hashable ListNetworkProfiles where++instance NFData ListNetworkProfiles where++instance ToHeaders ListNetworkProfiles where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("DeviceFarm_20150623.ListNetworkProfiles" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ListNetworkProfiles where+        toJSON ListNetworkProfiles'{..}+          = object+              (catMaybes+                 [("nextToken" .=) <$> _lnpNextToken,+                  ("type" .=) <$> _lnpType, Just ("arn" .= _lnpArn)])++instance ToPath ListNetworkProfiles where+        toPath = const "/"++instance ToQuery ListNetworkProfiles where+        toQuery = const mempty++-- | /See:/ 'listNetworkProfilesResponse' smart constructor.+data ListNetworkProfilesResponse = ListNetworkProfilesResponse'+  { _lnprsNetworkProfiles :: !(Maybe [NetworkProfile])+  , _lnprsNextToken       :: !(Maybe Text)+  , _lnprsResponseStatus  :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListNetworkProfilesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lnprsNetworkProfiles' - A list of the available network profiles.+--+-- * 'lnprsNextToken' - An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.+--+-- * 'lnprsResponseStatus' - -- | The response status code.+listNetworkProfilesResponse+    :: Int -- ^ 'lnprsResponseStatus'+    -> ListNetworkProfilesResponse+listNetworkProfilesResponse pResponseStatus_ =+  ListNetworkProfilesResponse'+  { _lnprsNetworkProfiles = Nothing+  , _lnprsNextToken = Nothing+  , _lnprsResponseStatus = pResponseStatus_+  }+++-- | A list of the available network profiles.+lnprsNetworkProfiles :: Lens' ListNetworkProfilesResponse [NetworkProfile]+lnprsNetworkProfiles = lens _lnprsNetworkProfiles (\ s a -> s{_lnprsNetworkProfiles = a}) . _Default . _Coerce;++-- | An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.+lnprsNextToken :: Lens' ListNetworkProfilesResponse (Maybe Text)+lnprsNextToken = lens _lnprsNextToken (\ s a -> s{_lnprsNextToken = a});++-- | -- | The response status code.+lnprsResponseStatus :: Lens' ListNetworkProfilesResponse Int+lnprsResponseStatus = lens _lnprsResponseStatus (\ s a -> s{_lnprsResponseStatus = a});++instance NFData ListNetworkProfilesResponse where
+ gen/Network/AWS/DeviceFarm/ListOfferingPromotions.hs view
@@ -0,0 +1,145 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.DeviceFarm.ListOfferingPromotions+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of offering promotions. Each offering promotion record contains the ID and description of the promotion. The API returns a @NotEligible@ error if the caller is not permitted to invoke the operation. Contact <mailto:aws-devicefarm-support@amazon.com aws-devicefarm-support@amazon.com> if you believe that you should be able to invoke this operation.+--+--+module Network.AWS.DeviceFarm.ListOfferingPromotions+    (+    -- * Creating a Request+      listOfferingPromotions+    , ListOfferingPromotions+    -- * Request Lenses+    , lopNextToken++    -- * Destructuring the Response+    , listOfferingPromotionsResponse+    , ListOfferingPromotionsResponse+    -- * Response Lenses+    , loprsNextToken+    , loprsOfferingPromotions+    , loprsResponseStatus+    ) where++import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listOfferingPromotions' smart constructor.+newtype ListOfferingPromotions = ListOfferingPromotions'+  { _lopNextToken :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListOfferingPromotions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lopNextToken' - An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.+listOfferingPromotions+    :: ListOfferingPromotions+listOfferingPromotions = ListOfferingPromotions' {_lopNextToken = Nothing}+++-- | An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.+lopNextToken :: Lens' ListOfferingPromotions (Maybe Text)+lopNextToken = lens _lopNextToken (\ s a -> s{_lopNextToken = a});++instance AWSRequest ListOfferingPromotions where+        type Rs ListOfferingPromotions =+             ListOfferingPromotionsResponse+        request = postJSON deviceFarm+        response+          = receiveJSON+              (\ s h x ->+                 ListOfferingPromotionsResponse' <$>+                   (x .?> "nextToken") <*>+                     (x .?> "offeringPromotions" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable ListOfferingPromotions where++instance NFData ListOfferingPromotions where++instance ToHeaders ListOfferingPromotions where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("DeviceFarm_20150623.ListOfferingPromotions" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ListOfferingPromotions where+        toJSON ListOfferingPromotions'{..}+          = object+              (catMaybes [("nextToken" .=) <$> _lopNextToken])++instance ToPath ListOfferingPromotions where+        toPath = const "/"++instance ToQuery ListOfferingPromotions where+        toQuery = const mempty++-- | /See:/ 'listOfferingPromotionsResponse' smart constructor.+data ListOfferingPromotionsResponse = ListOfferingPromotionsResponse'+  { _loprsNextToken          :: !(Maybe Text)+  , _loprsOfferingPromotions :: !(Maybe [OfferingPromotion])+  , _loprsResponseStatus     :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListOfferingPromotionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'loprsNextToken' - An identifier to be used in the next call to this operation, to return the next set of items in the list.+--+-- * 'loprsOfferingPromotions' - Information about the offering promotions.+--+-- * 'loprsResponseStatus' - -- | The response status code.+listOfferingPromotionsResponse+    :: Int -- ^ 'loprsResponseStatus'+    -> ListOfferingPromotionsResponse+listOfferingPromotionsResponse pResponseStatus_ =+  ListOfferingPromotionsResponse'+  { _loprsNextToken = Nothing+  , _loprsOfferingPromotions = Nothing+  , _loprsResponseStatus = pResponseStatus_+  }+++-- | An identifier to be used in the next call to this operation, to return the next set of items in the list.+loprsNextToken :: Lens' ListOfferingPromotionsResponse (Maybe Text)+loprsNextToken = lens _loprsNextToken (\ s a -> s{_loprsNextToken = a});++-- | Information about the offering promotions.+loprsOfferingPromotions :: Lens' ListOfferingPromotionsResponse [OfferingPromotion]+loprsOfferingPromotions = lens _loprsOfferingPromotions (\ s a -> s{_loprsOfferingPromotions = a}) . _Default . _Coerce;++-- | -- | The response status code.+loprsResponseStatus :: Lens' ListOfferingPromotionsResponse Int+loprsResponseStatus = lens _loprsResponseStatus (\ s a -> s{_loprsResponseStatus = a});++instance NFData ListOfferingPromotionsResponse where
gen/Network/AWS/DeviceFarm/ListOfferingTransactions.hs view
@@ -12,15 +12,17 @@  -- | -- Module      : Network.AWS.DeviceFarm.ListOfferingTransactions--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- -- Returns a list of all historical purchases, renewals, and system renewal transactions for an AWS account. The list is paginated and ordered by a descending timestamp (most recent transactions are first). The API returns a @NotEligible@ error if the user is not permitted to invoke the operation. Please contact <mailto:aws-devicefarm-support@amazon.com aws-devicefarm-support@amazon.com> if you believe that you should be able to invoke this operation. -- --+--+-- This operation returns paginated results. module Network.AWS.DeviceFarm.ListOfferingTransactions     (     -- * Creating a Request@@ -38,12 +40,13 @@     , lotrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents the request to list the offering transaction history. --@@ -51,9 +54,10 @@ -- -- /See:/ 'listOfferingTransactions' smart constructor. newtype ListOfferingTransactions = ListOfferingTransactions'-    { _lotNextToken :: Maybe Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lotNextToken :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListOfferingTransactions' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -61,15 +65,20 @@ -- * 'lotNextToken' - An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. listOfferingTransactions     :: ListOfferingTransactions-listOfferingTransactions =-    ListOfferingTransactions'-    { _lotNextToken = Nothing-    }+listOfferingTransactions = ListOfferingTransactions' {_lotNextToken = Nothing} + -- | An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. lotNextToken :: Lens' ListOfferingTransactions (Maybe Text) lotNextToken = lens _lotNextToken (\ s a -> s{_lotNextToken = a}); +instance AWSPager ListOfferingTransactions where+        page rq rs+          | stop (rs ^. lotrsNextToken) = Nothing+          | stop (rs ^. lotrsOfferingTransactions) = Nothing+          | otherwise =+            Just $ rq & lotNextToken .~ rs ^. lotrsNextToken+ instance AWSRequest ListOfferingTransactions where         type Rs ListOfferingTransactions =              ListOfferingTransactionsResponse@@ -82,9 +91,9 @@                      (x .?> "nextToken")                      <*> (pure (fromEnum s))) -instance Hashable ListOfferingTransactions+instance Hashable ListOfferingTransactions where -instance NFData ListOfferingTransactions+instance NFData ListOfferingTransactions where  instance ToHeaders ListOfferingTransactions where         toHeaders@@ -113,11 +122,12 @@ -- -- /See:/ 'listOfferingTransactionsResponse' smart constructor. data ListOfferingTransactionsResponse = ListOfferingTransactionsResponse'-    { _lotrsOfferingTransactions :: !(Maybe [OfferingTransaction])-    , _lotrsNextToken            :: !(Maybe Text)-    , _lotrsResponseStatus       :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lotrsOfferingTransactions :: !(Maybe [OfferingTransaction])+  , _lotrsNextToken            :: !(Maybe Text)+  , _lotrsResponseStatus       :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListOfferingTransactionsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -131,12 +141,13 @@     :: Int -- ^ 'lotrsResponseStatus'     -> ListOfferingTransactionsResponse listOfferingTransactionsResponse pResponseStatus_ =-    ListOfferingTransactionsResponse'-    { _lotrsOfferingTransactions = Nothing-    , _lotrsNextToken = Nothing-    , _lotrsResponseStatus = pResponseStatus_-    }+  ListOfferingTransactionsResponse'+  { _lotrsOfferingTransactions = Nothing+  , _lotrsNextToken = Nothing+  , _lotrsResponseStatus = pResponseStatus_+  } + -- | The audit log of subscriptions you have purchased and modified through AWS Device Farm. lotrsOfferingTransactions :: Lens' ListOfferingTransactionsResponse [OfferingTransaction] lotrsOfferingTransactions = lens _lotrsOfferingTransactions (\ s a -> s{_lotrsOfferingTransactions = a}) . _Default . _Coerce;@@ -150,3 +161,4 @@ lotrsResponseStatus = lens _lotrsResponseStatus (\ s a -> s{_lotrsResponseStatus = a});  instance NFData ListOfferingTransactionsResponse+         where
gen/Network/AWS/DeviceFarm/ListOfferings.hs view
@@ -12,15 +12,17 @@  -- | -- Module      : Network.AWS.DeviceFarm.ListOfferings--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- -- Returns a list of products or offerings that the user can manage through the API. Each offering record indicates the recurring price per unit and the frequency for that offering. The API returns a @NotEligible@ error if the user is not permitted to invoke the operation. Please contact <mailto:aws-devicefarm-support@amazon.com aws-devicefarm-support@amazon.com> if you believe that you should be able to invoke this operation. -- --+--+-- This operation returns paginated results. module Network.AWS.DeviceFarm.ListOfferings     (     -- * Creating a Request@@ -38,12 +40,13 @@     , lorsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents the request to list all offerings. --@@ -51,9 +54,10 @@ -- -- /See:/ 'listOfferings' smart constructor. newtype ListOfferings = ListOfferings'-    { _loNextToken :: Maybe Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _loNextToken :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListOfferings' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -61,15 +65,20 @@ -- * 'loNextToken' - An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. listOfferings     :: ListOfferings-listOfferings =-    ListOfferings'-    { _loNextToken = Nothing-    }+listOfferings = ListOfferings' {_loNextToken = Nothing} + -- | An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. loNextToken :: Lens' ListOfferings (Maybe Text) loNextToken = lens _loNextToken (\ s a -> s{_loNextToken = a}); +instance AWSPager ListOfferings where+        page rq rs+          | stop (rs ^. lorsNextToken) = Nothing+          | stop (rs ^. lorsOfferings) = Nothing+          | otherwise =+            Just $ rq & loNextToken .~ rs ^. lorsNextToken+ instance AWSRequest ListOfferings where         type Rs ListOfferings = ListOfferingsResponse         request = postJSON deviceFarm@@ -81,9 +90,9 @@                      (x .?> "offerings" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable ListOfferings+instance Hashable ListOfferings where -instance NFData ListOfferings+instance NFData ListOfferings where  instance ToHeaders ListOfferings where         toHeaders@@ -111,11 +120,12 @@ -- -- /See:/ 'listOfferingsResponse' smart constructor. data ListOfferingsResponse = ListOfferingsResponse'-    { _lorsNextToken      :: !(Maybe Text)-    , _lorsOfferings      :: !(Maybe [Offering])-    , _lorsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lorsNextToken      :: !(Maybe Text)+  , _lorsOfferings      :: !(Maybe [Offering])+  , _lorsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListOfferingsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -129,12 +139,13 @@     :: Int -- ^ 'lorsResponseStatus'     -> ListOfferingsResponse listOfferingsResponse pResponseStatus_ =-    ListOfferingsResponse'-    { _lorsNextToken = Nothing-    , _lorsOfferings = Nothing-    , _lorsResponseStatus = pResponseStatus_-    }+  ListOfferingsResponse'+  { _lorsNextToken = Nothing+  , _lorsOfferings = Nothing+  , _lorsResponseStatus = pResponseStatus_+  } + -- | An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. lorsNextToken :: Lens' ListOfferingsResponse (Maybe Text) lorsNextToken = lens _lorsNextToken (\ s a -> s{_lorsNextToken = a});@@ -147,4 +158,4 @@ lorsResponseStatus :: Lens' ListOfferingsResponse Int lorsResponseStatus = lens _lorsResponseStatus (\ s a -> s{_lorsResponseStatus = a}); -instance NFData ListOfferingsResponse+instance NFData ListOfferingsResponse where
gen/Network/AWS/DeviceFarm/ListProjects.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.ListProjects--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -41,13 +41,13 @@     , lprsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Pager-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the list projects operation. --@@ -55,10 +55,11 @@ -- -- /See:/ 'listProjects' smart constructor. data ListProjects = ListProjects'-    { _lpArn       :: !(Maybe Text)-    , _lpNextToken :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lpArn       :: !(Maybe Text)+  , _lpNextToken :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListProjects' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -68,12 +69,9 @@ -- * 'lpNextToken' - An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. listProjects     :: ListProjects-listProjects =-    ListProjects'-    { _lpArn = Nothing-    , _lpNextToken = Nothing-    }+listProjects = ListProjects' {_lpArn = Nothing, _lpNextToken = Nothing} + -- | Optional. If no Amazon Resource Name (ARN) is specified, then AWS Device Farm returns a list of all projects for the AWS account. You can also specify a project ARN. lpArn :: Lens' ListProjects (Maybe Text) lpArn = lens _lpArn (\ s a -> s{_lpArn = a});@@ -99,9 +97,9 @@                    (x .?> "nextToken") <*> (x .?> "projects" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable ListProjects+instance Hashable ListProjects where -instance NFData ListProjects+instance NFData ListProjects where  instance ToHeaders ListProjects where         toHeaders@@ -131,11 +129,12 @@ -- -- /See:/ 'listProjectsResponse' smart constructor. data ListProjectsResponse = ListProjectsResponse'-    { _lprsNextToken      :: !(Maybe Text)-    , _lprsProjects       :: !(Maybe [Project])-    , _lprsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lprsNextToken      :: !(Maybe Text)+  , _lprsProjects       :: !(Maybe [Project])+  , _lprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListProjectsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -149,12 +148,13 @@     :: Int -- ^ 'lprsResponseStatus'     -> ListProjectsResponse listProjectsResponse pResponseStatus_ =-    ListProjectsResponse'-    { _lprsNextToken = Nothing-    , _lprsProjects = Nothing-    , _lprsResponseStatus = pResponseStatus_-    }+  ListProjectsResponse'+  { _lprsNextToken = Nothing+  , _lprsProjects = Nothing+  , _lprsResponseStatus = pResponseStatus_+  } + -- | If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list. lprsNextToken :: Lens' ListProjectsResponse (Maybe Text) lprsNextToken = lens _lprsNextToken (\ s a -> s{_lprsNextToken = a});@@ -167,4 +167,4 @@ lprsResponseStatus :: Lens' ListProjectsResponse Int lprsResponseStatus = lens _lprsResponseStatus (\ s a -> s{_lprsResponseStatus = a}); -instance NFData ListProjectsResponse+instance NFData ListProjectsResponse where
gen/Network/AWS/DeviceFarm/ListRemoteAccessSessions.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.ListRemoteAccessSessions--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -39,12 +39,12 @@     , lrasrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents the request to return information about the remote access session. --@@ -52,10 +52,11 @@ -- -- /See:/ 'listRemoteAccessSessions' smart constructor. data ListRemoteAccessSessions = ListRemoteAccessSessions'-    { _lrasNextToken :: !(Maybe Text)-    , _lrasArn       :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lrasNextToken :: !(Maybe Text)+  , _lrasArn       :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListRemoteAccessSessions' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -67,11 +68,9 @@     :: Text -- ^ 'lrasArn'     -> ListRemoteAccessSessions listRemoteAccessSessions pArn_ =-    ListRemoteAccessSessions'-    { _lrasNextToken = Nothing-    , _lrasArn = pArn_-    }+  ListRemoteAccessSessions' {_lrasNextToken = Nothing, _lrasArn = pArn_} + -- | An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. lrasNextToken :: Lens' ListRemoteAccessSessions (Maybe Text) lrasNextToken = lens _lrasNextToken (\ s a -> s{_lrasNextToken = a});@@ -92,9 +91,9 @@                      (x .?> "remoteAccessSessions" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable ListRemoteAccessSessions+instance Hashable ListRemoteAccessSessions where -instance NFData ListRemoteAccessSessions+instance NFData ListRemoteAccessSessions where  instance ToHeaders ListRemoteAccessSessions where         toHeaders@@ -125,11 +124,12 @@ -- -- /See:/ 'listRemoteAccessSessionsResponse' smart constructor. data ListRemoteAccessSessionsResponse = ListRemoteAccessSessionsResponse'-    { _lrasrsNextToken            :: !(Maybe Text)-    , _lrasrsRemoteAccessSessions :: !(Maybe [RemoteAccessSession])-    , _lrasrsResponseStatus       :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lrasrsNextToken            :: !(Maybe Text)+  , _lrasrsRemoteAccessSessions :: !(Maybe [RemoteAccessSession])+  , _lrasrsResponseStatus       :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListRemoteAccessSessionsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -143,12 +143,13 @@     :: Int -- ^ 'lrasrsResponseStatus'     -> ListRemoteAccessSessionsResponse listRemoteAccessSessionsResponse pResponseStatus_ =-    ListRemoteAccessSessionsResponse'-    { _lrasrsNextToken = Nothing-    , _lrasrsRemoteAccessSessions = Nothing-    , _lrasrsResponseStatus = pResponseStatus_-    }+  ListRemoteAccessSessionsResponse'+  { _lrasrsNextToken = Nothing+  , _lrasrsRemoteAccessSessions = Nothing+  , _lrasrsResponseStatus = pResponseStatus_+  } + -- | An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. lrasrsNextToken :: Lens' ListRemoteAccessSessionsResponse (Maybe Text) lrasrsNextToken = lens _lrasrsNextToken (\ s a -> s{_lrasrsNextToken = a});@@ -162,3 +163,4 @@ lrasrsResponseStatus = lens _lrasrsResponseStatus (\ s a -> s{_lrasrsResponseStatus = a});  instance NFData ListRemoteAccessSessionsResponse+         where
gen/Network/AWS/DeviceFarm/ListRuns.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.ListRuns--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -41,13 +41,13 @@     , lrrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Pager-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the list runs operation. --@@ -55,10 +55,11 @@ -- -- /See:/ 'listRuns' smart constructor. data ListRuns = ListRuns'-    { _lrNextToken :: !(Maybe Text)-    , _lrArn       :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lrNextToken :: !(Maybe Text)+  , _lrArn       :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListRuns' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -69,12 +70,9 @@ listRuns     :: Text -- ^ 'lrArn'     -> ListRuns-listRuns pArn_ =-    ListRuns'-    { _lrNextToken = Nothing-    , _lrArn = pArn_-    }+listRuns pArn_ = ListRuns' {_lrNextToken = Nothing, _lrArn = pArn_} + -- | An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. lrNextToken :: Lens' ListRuns (Maybe Text) lrNextToken = lens _lrNextToken (\ s a -> s{_lrNextToken = a});@@ -100,9 +98,9 @@                    (x .?> "runs" .!@ mempty) <*> (x .?> "nextToken") <*>                      (pure (fromEnum s))) -instance Hashable ListRuns+instance Hashable ListRuns where -instance NFData ListRuns+instance NFData ListRuns where  instance ToHeaders ListRuns where         toHeaders@@ -132,11 +130,12 @@ -- -- /See:/ 'listRunsResponse' smart constructor. data ListRunsResponse = ListRunsResponse'-    { _lrrsRuns           :: !(Maybe [Run])-    , _lrrsNextToken      :: !(Maybe Text)-    , _lrrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lrrsRuns           :: !(Maybe [Run])+  , _lrrsNextToken      :: !(Maybe Text)+  , _lrrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListRunsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -150,12 +149,13 @@     :: Int -- ^ 'lrrsResponseStatus'     -> ListRunsResponse listRunsResponse pResponseStatus_ =-    ListRunsResponse'-    { _lrrsRuns = Nothing-    , _lrrsNextToken = Nothing-    , _lrrsResponseStatus = pResponseStatus_-    }+  ListRunsResponse'+  { _lrrsRuns = Nothing+  , _lrrsNextToken = Nothing+  , _lrrsResponseStatus = pResponseStatus_+  } + -- | Information about the runs. lrrsRuns :: Lens' ListRunsResponse [Run] lrrsRuns = lens _lrrsRuns (\ s a -> s{_lrrsRuns = a}) . _Default . _Coerce;@@ -168,4 +168,4 @@ lrrsResponseStatus :: Lens' ListRunsResponse Int lrrsResponseStatus = lens _lrrsResponseStatus (\ s a -> s{_lrrsResponseStatus = a}); -instance NFData ListRunsResponse+instance NFData ListRunsResponse where
gen/Network/AWS/DeviceFarm/ListSamples.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.ListSamples--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -41,13 +41,13 @@     , lrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Pager-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the list samples operation. --@@ -55,10 +55,11 @@ -- -- /See:/ 'listSamples' smart constructor. data ListSamples = ListSamples'-    { _lsNextToken :: !(Maybe Text)-    , _lsArn       :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lsNextToken :: !(Maybe Text)+  , _lsArn       :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListSamples' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -69,12 +70,9 @@ listSamples     :: Text -- ^ 'lsArn'     -> ListSamples-listSamples pArn_ =-    ListSamples'-    { _lsNextToken = Nothing-    , _lsArn = pArn_-    }+listSamples pArn_ = ListSamples' {_lsNextToken = Nothing, _lsArn = pArn_} + -- | An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. lsNextToken :: Lens' ListSamples (Maybe Text) lsNextToken = lens _lsNextToken (\ s a -> s{_lsNextToken = a});@@ -100,9 +98,9 @@                    (x .?> "nextToken") <*> (x .?> "samples" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable ListSamples+instance Hashable ListSamples where -instance NFData ListSamples+instance NFData ListSamples where  instance ToHeaders ListSamples where         toHeaders@@ -132,11 +130,12 @@ -- -- /See:/ 'listSamplesResponse' smart constructor. data ListSamplesResponse = ListSamplesResponse'-    { _lrsNextToken      :: !(Maybe Text)-    , _lrsSamples        :: !(Maybe [Sample])-    , _lrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lrsNextToken      :: !(Maybe Text)+  , _lrsSamples        :: !(Maybe [Sample])+  , _lrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListSamplesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -150,12 +149,13 @@     :: Int -- ^ 'lrsResponseStatus'     -> ListSamplesResponse listSamplesResponse pResponseStatus_ =-    ListSamplesResponse'-    { _lrsNextToken = Nothing-    , _lrsSamples = Nothing-    , _lrsResponseStatus = pResponseStatus_-    }+  ListSamplesResponse'+  { _lrsNextToken = Nothing+  , _lrsSamples = Nothing+  , _lrsResponseStatus = pResponseStatus_+  } + -- | If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list. lrsNextToken :: Lens' ListSamplesResponse (Maybe Text) lrsNextToken = lens _lrsNextToken (\ s a -> s{_lrsNextToken = a});@@ -168,4 +168,4 @@ lrsResponseStatus :: Lens' ListSamplesResponse Int lrsResponseStatus = lens _lrsResponseStatus (\ s a -> s{_lrsResponseStatus = a}); -instance NFData ListSamplesResponse+instance NFData ListSamplesResponse where
gen/Network/AWS/DeviceFarm/ListSuites.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.ListSuites--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -41,13 +41,13 @@     , lsrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Pager-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the list suites operation. --@@ -55,10 +55,11 @@ -- -- /See:/ 'listSuites' smart constructor. data ListSuites = ListSuites'-    { _lNextToken :: !(Maybe Text)-    , _lArn       :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lNextToken :: !(Maybe Text)+  , _lArn       :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListSuites' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -69,12 +70,9 @@ listSuites     :: Text -- ^ 'lArn'     -> ListSuites-listSuites pArn_ =-    ListSuites'-    { _lNextToken = Nothing-    , _lArn = pArn_-    }+listSuites pArn_ = ListSuites' {_lNextToken = Nothing, _lArn = pArn_} + -- | An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. lNextToken :: Lens' ListSuites (Maybe Text) lNextToken = lens _lNextToken (\ s a -> s{_lNextToken = a});@@ -100,9 +98,9 @@                    (x .?> "nextToken") <*> (x .?> "suites" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable ListSuites+instance Hashable ListSuites where -instance NFData ListSuites+instance NFData ListSuites where  instance ToHeaders ListSuites where         toHeaders@@ -132,11 +130,12 @@ -- -- /See:/ 'listSuitesResponse' smart constructor. data ListSuitesResponse = ListSuitesResponse'-    { _lsrsNextToken      :: !(Maybe Text)-    , _lsrsSuites         :: !(Maybe [Suite])-    , _lsrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lsrsNextToken      :: !(Maybe Text)+  , _lsrsSuites         :: !(Maybe [Suite])+  , _lsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListSuitesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -150,12 +149,13 @@     :: Int -- ^ 'lsrsResponseStatus'     -> ListSuitesResponse listSuitesResponse pResponseStatus_ =-    ListSuitesResponse'-    { _lsrsNextToken = Nothing-    , _lsrsSuites = Nothing-    , _lsrsResponseStatus = pResponseStatus_-    }+  ListSuitesResponse'+  { _lsrsNextToken = Nothing+  , _lsrsSuites = Nothing+  , _lsrsResponseStatus = pResponseStatus_+  } + -- | If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list. lsrsNextToken :: Lens' ListSuitesResponse (Maybe Text) lsrsNextToken = lens _lsrsNextToken (\ s a -> s{_lsrsNextToken = a});@@ -168,4 +168,4 @@ lsrsResponseStatus :: Lens' ListSuitesResponse Int lsrsResponseStatus = lens _lsrsResponseStatus (\ s a -> s{_lsrsResponseStatus = a}); -instance NFData ListSuitesResponse+instance NFData ListSuitesResponse where
gen/Network/AWS/DeviceFarm/ListTests.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.ListTests--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -41,13 +41,13 @@     , ltrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Pager-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the list tests operation. --@@ -55,10 +55,11 @@ -- -- /See:/ 'listTests' smart constructor. data ListTests = ListTests'-    { _ltNextToken :: !(Maybe Text)-    , _ltArn       :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ltNextToken :: !(Maybe Text)+  , _ltArn       :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListTests' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -69,12 +70,9 @@ listTests     :: Text -- ^ 'ltArn'     -> ListTests-listTests pArn_ =-    ListTests'-    { _ltNextToken = Nothing-    , _ltArn = pArn_-    }+listTests pArn_ = ListTests' {_ltNextToken = Nothing, _ltArn = pArn_} + -- | An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. ltNextToken :: Lens' ListTests (Maybe Text) ltNextToken = lens _ltNextToken (\ s a -> s{_ltNextToken = a});@@ -100,9 +98,9 @@                    (x .?> "tests" .!@ mempty) <*> (x .?> "nextToken")                      <*> (pure (fromEnum s))) -instance Hashable ListTests+instance Hashable ListTests where -instance NFData ListTests+instance NFData ListTests where  instance ToHeaders ListTests where         toHeaders@@ -132,11 +130,12 @@ -- -- /See:/ 'listTestsResponse' smart constructor. data ListTestsResponse = ListTestsResponse'-    { _ltrsTests          :: !(Maybe [Test])-    , _ltrsNextToken      :: !(Maybe Text)-    , _ltrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ltrsTests          :: !(Maybe [Test])+  , _ltrsNextToken      :: !(Maybe Text)+  , _ltrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListTestsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -150,12 +149,13 @@     :: Int -- ^ 'ltrsResponseStatus'     -> ListTestsResponse listTestsResponse pResponseStatus_ =-    ListTestsResponse'-    { _ltrsTests = Nothing-    , _ltrsNextToken = Nothing-    , _ltrsResponseStatus = pResponseStatus_-    }+  ListTestsResponse'+  { _ltrsTests = Nothing+  , _ltrsNextToken = Nothing+  , _ltrsResponseStatus = pResponseStatus_+  } + -- | Information about the tests. ltrsTests :: Lens' ListTestsResponse [Test] ltrsTests = lens _ltrsTests (\ s a -> s{_ltrsTests = a}) . _Default . _Coerce;@@ -168,4 +168,4 @@ ltrsResponseStatus :: Lens' ListTestsResponse Int ltrsResponseStatus = lens _ltrsResponseStatus (\ s a -> s{_ltrsResponseStatus = a}); -instance NFData ListTestsResponse+instance NFData ListTestsResponse where
gen/Network/AWS/DeviceFarm/ListUniqueProblems.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.ListUniqueProblems--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -41,13 +41,13 @@     , luprsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Pager-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the list unique problems operation. --@@ -55,10 +55,11 @@ -- -- /See:/ 'listUniqueProblems' smart constructor. data ListUniqueProblems = ListUniqueProblems'-    { _lupNextToken :: !(Maybe Text)-    , _lupArn       :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lupNextToken :: !(Maybe Text)+  , _lupArn       :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListUniqueProblems' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -70,11 +71,9 @@     :: Text -- ^ 'lupArn'     -> ListUniqueProblems listUniqueProblems pArn_ =-    ListUniqueProblems'-    { _lupNextToken = Nothing-    , _lupArn = pArn_-    }+  ListUniqueProblems' {_lupNextToken = Nothing, _lupArn = pArn_} + -- | An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. lupNextToken :: Lens' ListUniqueProblems (Maybe Text) lupNextToken = lens _lupNextToken (\ s a -> s{_lupNextToken = a});@@ -102,9 +101,9 @@                      (x .?> "uniqueProblems" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable ListUniqueProblems+instance Hashable ListUniqueProblems where -instance NFData ListUniqueProblems+instance NFData ListUniqueProblems where  instance ToHeaders ListUniqueProblems where         toHeaders@@ -135,11 +134,12 @@ -- -- /See:/ 'listUniqueProblemsResponse' smart constructor. data ListUniqueProblemsResponse = ListUniqueProblemsResponse'-    { _luprsNextToken      :: !(Maybe Text)-    , _luprsUniqueProblems :: !(Maybe (Map ExecutionResult [UniqueProblem]))-    , _luprsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _luprsNextToken      :: !(Maybe Text)+  , _luprsUniqueProblems :: !(Maybe (Map ExecutionResult [UniqueProblem]))+  , _luprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListUniqueProblemsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -153,12 +153,13 @@     :: Int -- ^ 'luprsResponseStatus'     -> ListUniqueProblemsResponse listUniqueProblemsResponse pResponseStatus_ =-    ListUniqueProblemsResponse'-    { _luprsNextToken = Nothing-    , _luprsUniqueProblems = Nothing-    , _luprsResponseStatus = pResponseStatus_-    }+  ListUniqueProblemsResponse'+  { _luprsNextToken = Nothing+  , _luprsUniqueProblems = Nothing+  , _luprsResponseStatus = pResponseStatus_+  } + -- | If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list. luprsNextToken :: Lens' ListUniqueProblemsResponse (Maybe Text) luprsNextToken = lens _luprsNextToken (\ s a -> s{_luprsNextToken = a});@@ -171,4 +172,4 @@ luprsResponseStatus :: Lens' ListUniqueProblemsResponse Int luprsResponseStatus = lens _luprsResponseStatus (\ s a -> s{_luprsResponseStatus = a}); -instance NFData ListUniqueProblemsResponse+instance NFData ListUniqueProblemsResponse where
gen/Network/AWS/DeviceFarm/ListUploads.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.ListUploads--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -41,13 +41,13 @@     , lursResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Pager-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the list uploads operation. --@@ -55,10 +55,11 @@ -- -- /See:/ 'listUploads' smart constructor. data ListUploads = ListUploads'-    { _luNextToken :: !(Maybe Text)-    , _luArn       :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _luNextToken :: !(Maybe Text)+  , _luArn       :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListUploads' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -69,12 +70,9 @@ listUploads     :: Text -- ^ 'luArn'     -> ListUploads-listUploads pArn_ =-    ListUploads'-    { _luNextToken = Nothing-    , _luArn = pArn_-    }+listUploads pArn_ = ListUploads' {_luNextToken = Nothing, _luArn = pArn_} + -- | An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list. luNextToken :: Lens' ListUploads (Maybe Text) luNextToken = lens _luNextToken (\ s a -> s{_luNextToken = a});@@ -100,9 +98,9 @@                    (x .?> "nextToken") <*> (x .?> "uploads" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable ListUploads+instance Hashable ListUploads where -instance NFData ListUploads+instance NFData ListUploads where  instance ToHeaders ListUploads where         toHeaders@@ -132,11 +130,12 @@ -- -- /See:/ 'listUploadsResponse' smart constructor. data ListUploadsResponse = ListUploadsResponse'-    { _lursNextToken      :: !(Maybe Text)-    , _lursUploads        :: !(Maybe [Upload])-    , _lursResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lursNextToken      :: !(Maybe Text)+  , _lursUploads        :: !(Maybe [Upload])+  , _lursResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListUploadsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -150,12 +149,13 @@     :: Int -- ^ 'lursResponseStatus'     -> ListUploadsResponse listUploadsResponse pResponseStatus_ =-    ListUploadsResponse'-    { _lursNextToken = Nothing-    , _lursUploads = Nothing-    , _lursResponseStatus = pResponseStatus_-    }+  ListUploadsResponse'+  { _lursNextToken = Nothing+  , _lursUploads = Nothing+  , _lursResponseStatus = pResponseStatus_+  } + -- | If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list. lursNextToken :: Lens' ListUploadsResponse (Maybe Text) lursNextToken = lens _lursNextToken (\ s a -> s{_lursNextToken = a});@@ -168,4 +168,4 @@ lursResponseStatus :: Lens' ListUploadsResponse Int lursResponseStatus = lens _lursResponseStatus (\ s a -> s{_lursResponseStatus = a}); -instance NFData ListUploadsResponse+instance NFData ListUploadsResponse where
gen/Network/AWS/DeviceFarm/PurchaseOffering.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.PurchaseOffering--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -29,6 +29,7 @@     -- * Request Lenses     , poQuantity     , poOfferingId+    , poOfferingPromotionId      -- * Destructuring the Response     , purchaseOfferingResponse@@ -38,12 +39,12 @@     , porsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request for a purchase offering. --@@ -51,10 +52,12 @@ -- -- /See:/ 'purchaseOffering' smart constructor. data PurchaseOffering = PurchaseOffering'-    { _poQuantity   :: !(Maybe Int)-    , _poOfferingId :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _poQuantity            :: !(Maybe Int)+  , _poOfferingId          :: !(Maybe Text)+  , _poOfferingPromotionId :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'PurchaseOffering' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -62,14 +65,18 @@ -- * 'poQuantity' - The number of device slots you wish to purchase in an offering request. -- -- * 'poOfferingId' - The ID of the offering.+--+-- * 'poOfferingPromotionId' - The ID of the offering promotion to be applied to the purchase. purchaseOffering     :: PurchaseOffering purchaseOffering =-    PurchaseOffering'-    { _poQuantity = Nothing-    , _poOfferingId = Nothing-    }+  PurchaseOffering'+  { _poQuantity = Nothing+  , _poOfferingId = Nothing+  , _poOfferingPromotionId = Nothing+  } + -- | The number of device slots you wish to purchase in an offering request. poQuantity :: Lens' PurchaseOffering (Maybe Int) poQuantity = lens _poQuantity (\ s a -> s{_poQuantity = a});@@ -78,6 +85,10 @@ poOfferingId :: Lens' PurchaseOffering (Maybe Text) poOfferingId = lens _poOfferingId (\ s a -> s{_poOfferingId = a}); +-- | The ID of the offering promotion to be applied to the purchase.+poOfferingPromotionId :: Lens' PurchaseOffering (Maybe Text)+poOfferingPromotionId = lens _poOfferingPromotionId (\ s a -> s{_poOfferingPromotionId = a});+ instance AWSRequest PurchaseOffering where         type Rs PurchaseOffering = PurchaseOfferingResponse         request = postJSON deviceFarm@@ -88,9 +99,9 @@                    (x .?> "offeringTransaction") <*>                      (pure (fromEnum s))) -instance Hashable PurchaseOffering+instance Hashable PurchaseOffering where -instance NFData PurchaseOffering+instance NFData PurchaseOffering where  instance ToHeaders PurchaseOffering where         toHeaders@@ -107,7 +118,9 @@           = object               (catMaybes                  [("quantity" .=) <$> _poQuantity,-                  ("offeringId" .=) <$> _poOfferingId])+                  ("offeringId" .=) <$> _poOfferingId,+                  ("offeringPromotionId" .=) <$>+                    _poOfferingPromotionId])  instance ToPath PurchaseOffering where         toPath = const "/"@@ -121,10 +134,11 @@ -- -- /See:/ 'purchaseOfferingResponse' smart constructor. data PurchaseOfferingResponse = PurchaseOfferingResponse'-    { _porsOfferingTransaction :: !(Maybe OfferingTransaction)-    , _porsResponseStatus      :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _porsOfferingTransaction :: !(Maybe OfferingTransaction)+  , _porsResponseStatus      :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'PurchaseOfferingResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -136,11 +150,10 @@     :: Int -- ^ 'porsResponseStatus'     -> PurchaseOfferingResponse purchaseOfferingResponse pResponseStatus_ =-    PurchaseOfferingResponse'-    { _porsOfferingTransaction = Nothing-    , _porsResponseStatus = pResponseStatus_-    }+  PurchaseOfferingResponse'+  {_porsOfferingTransaction = Nothing, _porsResponseStatus = pResponseStatus_} + -- | Represents the offering transaction for the purchase result. porsOfferingTransaction :: Lens' PurchaseOfferingResponse (Maybe OfferingTransaction) porsOfferingTransaction = lens _porsOfferingTransaction (\ s a -> s{_porsOfferingTransaction = a});@@ -149,4 +162,4 @@ porsResponseStatus :: Lens' PurchaseOfferingResponse Int porsResponseStatus = lens _porsResponseStatus (\ s a -> s{_porsResponseStatus = a}); -instance NFData PurchaseOfferingResponse+instance NFData PurchaseOfferingResponse where
gen/Network/AWS/DeviceFarm/RenewOffering.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.RenewOffering--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -38,12 +38,12 @@     , rorsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | A request representing an offering renewal. --@@ -51,10 +51,11 @@ -- -- /See:/ 'renewOffering' smart constructor. data RenewOffering = RenewOffering'-    { _roQuantity   :: !(Maybe Int)-    , _roOfferingId :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _roQuantity   :: !(Maybe Int)+  , _roOfferingId :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'RenewOffering' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -64,12 +65,9 @@ -- * 'roOfferingId' - The ID of a request to renew an offering. renewOffering     :: RenewOffering-renewOffering =-    RenewOffering'-    { _roQuantity = Nothing-    , _roOfferingId = Nothing-    }+renewOffering = RenewOffering' {_roQuantity = Nothing, _roOfferingId = Nothing} + -- | The quantity requested in an offering renewal. roQuantity :: Lens' RenewOffering (Maybe Int) roQuantity = lens _roQuantity (\ s a -> s{_roQuantity = a});@@ -88,9 +86,9 @@                    (x .?> "offeringTransaction") <*>                      (pure (fromEnum s))) -instance Hashable RenewOffering+instance Hashable RenewOffering where -instance NFData RenewOffering+instance NFData RenewOffering where  instance ToHeaders RenewOffering where         toHeaders@@ -120,10 +118,11 @@ -- -- /See:/ 'renewOfferingResponse' smart constructor. data RenewOfferingResponse = RenewOfferingResponse'-    { _rorsOfferingTransaction :: !(Maybe OfferingTransaction)-    , _rorsResponseStatus      :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _rorsOfferingTransaction :: !(Maybe OfferingTransaction)+  , _rorsResponseStatus      :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'RenewOfferingResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -135,11 +134,10 @@     :: Int -- ^ 'rorsResponseStatus'     -> RenewOfferingResponse renewOfferingResponse pResponseStatus_ =-    RenewOfferingResponse'-    { _rorsOfferingTransaction = Nothing-    , _rorsResponseStatus = pResponseStatus_-    }+  RenewOfferingResponse'+  {_rorsOfferingTransaction = Nothing, _rorsResponseStatus = pResponseStatus_} + -- | Represents the status of the offering transaction for the renewal. rorsOfferingTransaction :: Lens' RenewOfferingResponse (Maybe OfferingTransaction) rorsOfferingTransaction = lens _rorsOfferingTransaction (\ s a -> s{_rorsOfferingTransaction = a});@@ -148,4 +146,4 @@ rorsResponseStatus :: Lens' RenewOfferingResponse Int rorsResponseStatus = lens _rorsResponseStatus (\ s a -> s{_rorsResponseStatus = a}); -instance NFData RenewOfferingResponse+instance NFData RenewOfferingResponse where
gen/Network/AWS/DeviceFarm/ScheduleRun.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.ScheduleRun--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -27,6 +27,7 @@       scheduleRun     , ScheduleRun     -- * Request Lenses+    , srExecutionConfiguration     , srAppARN     , srName     , srConfiguration@@ -42,12 +43,12 @@     , srrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the schedule run operation. --@@ -55,18 +56,22 @@ -- -- /See:/ 'scheduleRun' smart constructor. data ScheduleRun = ScheduleRun'-    { _srAppARN        :: !(Maybe Text)-    , _srName          :: !(Maybe Text)-    , _srConfiguration :: !(Maybe ScheduleRunConfiguration)-    , _srProjectARN    :: !Text-    , _srDevicePoolARN :: !Text-    , _srTest          :: !ScheduleRunTest-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _srExecutionConfiguration :: !(Maybe ExecutionConfiguration)+  , _srAppARN                 :: !(Maybe Text)+  , _srName                   :: !(Maybe Text)+  , _srConfiguration          :: !(Maybe ScheduleRunConfiguration)+  , _srProjectARN             :: !Text+  , _srDevicePoolARN          :: !Text+  , _srTest                   :: !ScheduleRunTest+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ScheduleRun' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'srExecutionConfiguration' - Specifies configuration information about a test run, such as the execution timeout (in minutes).+-- -- * 'srAppARN' - The ARN of the app to schedule a run. -- -- * 'srName' - The name for the run to be scheduled.@@ -84,15 +89,21 @@     -> ScheduleRunTest -- ^ 'srTest'     -> ScheduleRun scheduleRun pProjectARN_ pDevicePoolARN_ pTest_ =-    ScheduleRun'-    { _srAppARN = Nothing-    , _srName = Nothing-    , _srConfiguration = Nothing-    , _srProjectARN = pProjectARN_-    , _srDevicePoolARN = pDevicePoolARN_-    , _srTest = pTest_-    }+  ScheduleRun'+  { _srExecutionConfiguration = Nothing+  , _srAppARN = Nothing+  , _srName = Nothing+  , _srConfiguration = Nothing+  , _srProjectARN = pProjectARN_+  , _srDevicePoolARN = pDevicePoolARN_+  , _srTest = pTest_+  } ++-- | Specifies configuration information about a test run, such as the execution timeout (in minutes).+srExecutionConfiguration :: Lens' ScheduleRun (Maybe ExecutionConfiguration)+srExecutionConfiguration = lens _srExecutionConfiguration (\ s a -> s{_srExecutionConfiguration = a});+ -- | The ARN of the app to schedule a run. srAppARN :: Lens' ScheduleRun (Maybe Text) srAppARN = lens _srAppARN (\ s a -> s{_srAppARN = a});@@ -126,9 +137,9 @@                  ScheduleRunResponse' <$>                    (x .?> "run") <*> (pure (fromEnum s))) -instance Hashable ScheduleRun+instance Hashable ScheduleRun where -instance NFData ScheduleRun+instance NFData ScheduleRun where  instance ToHeaders ScheduleRun where         toHeaders@@ -143,8 +154,9 @@         toJSON ScheduleRun'{..}           = object               (catMaybes-                 [("appArn" .=) <$> _srAppARN,-                  ("name" .=) <$> _srName,+                 [("executionConfiguration" .=) <$>+                    _srExecutionConfiguration,+                  ("appArn" .=) <$> _srAppARN, ("name" .=) <$> _srName,                   ("configuration" .=) <$> _srConfiguration,                   Just ("projectArn" .= _srProjectARN),                   Just ("devicePoolArn" .= _srDevicePoolARN),@@ -162,10 +174,11 @@ -- -- /See:/ 'scheduleRunResponse' smart constructor. data ScheduleRunResponse = ScheduleRunResponse'-    { _srrsRun            :: !(Maybe Run)-    , _srrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _srrsRun            :: !(Maybe Run)+  , _srrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ScheduleRunResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -177,11 +190,10 @@     :: Int -- ^ 'srrsResponseStatus'     -> ScheduleRunResponse scheduleRunResponse pResponseStatus_ =-    ScheduleRunResponse'-    { _srrsRun = Nothing-    , _srrsResponseStatus = pResponseStatus_-    }+  ScheduleRunResponse'+  {_srrsRun = Nothing, _srrsResponseStatus = pResponseStatus_} + -- | Information about the scheduled run. srrsRun :: Lens' ScheduleRunResponse (Maybe Run) srrsRun = lens _srrsRun (\ s a -> s{_srrsRun = a});@@ -190,4 +202,4 @@ srrsResponseStatus :: Lens' ScheduleRunResponse Int srrsResponseStatus = lens _srrsResponseStatus (\ s a -> s{_srrsResponseStatus = a}); -instance NFData ScheduleRunResponse+instance NFData ScheduleRunResponse where
gen/Network/AWS/DeviceFarm/StopRemoteAccessSession.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.StopRemoteAccessSession--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,12 +37,12 @@     , srasrsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents the request to stop the remote access session. --@@ -50,9 +50,10 @@ -- -- /See:/ 'stopRemoteAccessSession' smart constructor. newtype StopRemoteAccessSession = StopRemoteAccessSession'-    { _srasArn :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _srasArn :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'StopRemoteAccessSession' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -61,11 +62,9 @@ stopRemoteAccessSession     :: Text -- ^ 'srasArn'     -> StopRemoteAccessSession-stopRemoteAccessSession pArn_ =-    StopRemoteAccessSession'-    { _srasArn = pArn_-    }+stopRemoteAccessSession pArn_ = StopRemoteAccessSession' {_srasArn = pArn_} + -- | The Amazon Resource Name (ARN) of the remote access session you wish to stop. srasArn :: Lens' StopRemoteAccessSession Text srasArn = lens _srasArn (\ s a -> s{_srasArn = a});@@ -81,9 +80,9 @@                    (x .?> "remoteAccessSession") <*>                      (pure (fromEnum s))) -instance Hashable StopRemoteAccessSession+instance Hashable StopRemoteAccessSession where -instance NFData StopRemoteAccessSession+instance NFData StopRemoteAccessSession where  instance ToHeaders StopRemoteAccessSession where         toHeaders@@ -111,10 +110,11 @@ -- -- /See:/ 'stopRemoteAccessSessionResponse' smart constructor. data StopRemoteAccessSessionResponse = StopRemoteAccessSessionResponse'-    { _srasrsRemoteAccessSession :: !(Maybe RemoteAccessSession)-    , _srasrsResponseStatus      :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _srasrsRemoteAccessSession :: !(Maybe RemoteAccessSession)+  , _srasrsResponseStatus      :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'StopRemoteAccessSessionResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -126,11 +126,12 @@     :: Int -- ^ 'srasrsResponseStatus'     -> StopRemoteAccessSessionResponse stopRemoteAccessSessionResponse pResponseStatus_ =-    StopRemoteAccessSessionResponse'-    { _srasrsRemoteAccessSession = Nothing-    , _srasrsResponseStatus = pResponseStatus_-    }+  StopRemoteAccessSessionResponse'+  { _srasrsRemoteAccessSession = Nothing+  , _srasrsResponseStatus = pResponseStatus_+  } + -- | A container representing the metadata from the service about the remote access session you are stopping. srasrsRemoteAccessSession :: Lens' StopRemoteAccessSessionResponse (Maybe RemoteAccessSession) srasrsRemoteAccessSession = lens _srasrsRemoteAccessSession (\ s a -> s{_srasrsRemoteAccessSession = a});@@ -139,4 +140,4 @@ srasrsResponseStatus :: Lens' StopRemoteAccessSessionResponse Int srasrsResponseStatus = lens _srasrsResponseStatus (\ s a -> s{_srasrsResponseStatus = a}); -instance NFData StopRemoteAccessSessionResponse+instance NFData StopRemoteAccessSessionResponse where
gen/Network/AWS/DeviceFarm/StopRun.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.StopRun--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,12 +37,12 @@     , srsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents the request to stop a specific run. --@@ -50,9 +50,10 @@ -- -- /See:/ 'stopRun' smart constructor. newtype StopRun = StopRun'-    { _srArn :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _srArn :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'StopRun' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -61,11 +62,9 @@ stopRun     :: Text -- ^ 'srArn'     -> StopRun-stopRun pArn_ =-    StopRun'-    { _srArn = pArn_-    }+stopRun pArn_ = StopRun' {_srArn = pArn_} + -- | Represents the Amazon Resource Name (ARN) of the Device Farm run you wish to stop. srArn :: Lens' StopRun Text srArn = lens _srArn (\ s a -> s{_srArn = a});@@ -79,9 +78,9 @@                  StopRunResponse' <$>                    (x .?> "run") <*> (pure (fromEnum s))) -instance Hashable StopRun+instance Hashable StopRun where -instance NFData StopRun+instance NFData StopRun where  instance ToHeaders StopRun where         toHeaders@@ -108,27 +107,26 @@ -- -- /See:/ 'stopRunResponse' smart constructor. data StopRunResponse = StopRunResponse'-    { _srsRun            :: !(Maybe Run)-    , _srsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _srsRun            :: !(Maybe Run)+  , _srsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'StopRunResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'srsRun' - Undocumented member.+-- * 'srsRun' - The run that was stopped. -- -- * 'srsResponseStatus' - -- | The response status code. stopRunResponse     :: Int -- ^ 'srsResponseStatus'     -> StopRunResponse stopRunResponse pResponseStatus_ =-    StopRunResponse'-    { _srsRun = Nothing-    , _srsResponseStatus = pResponseStatus_-    }+  StopRunResponse' {_srsRun = Nothing, _srsResponseStatus = pResponseStatus_} --- | Undocumented member.++-- | The run that was stopped. srsRun :: Lens' StopRunResponse (Maybe Run) srsRun = lens _srsRun (\ s a -> s{_srsRun = a}); @@ -136,4 +134,4 @@ srsResponseStatus :: Lens' StopRunResponse Int srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a}); -instance NFData StopRunResponse+instance NFData StopRunResponse where
gen/Network/AWS/DeviceFarm/Types.hs view
@@ -4,9 +4,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.Types--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -50,9 +50,15 @@     -- * ExecutionResult     , ExecutionResult (..) +    -- * ExecutionResultCode+    , ExecutionResultCode (..)+     -- * ExecutionStatus     , ExecutionStatus (..) +    -- * NetworkProfileType+    , NetworkProfileType (..)+     -- * OfferingTransactionType     , OfferingTransactionType (..) @@ -81,8 +87,12 @@     , AccountSettings     , accountSettings     , asAwsAccountNumber+    , asMaxJobTimeoutMinutes+    , asMaxSlots+    , asTrialMinutes     , asUnmeteredDevices     , asUnmeteredRemoteAccessDevices+    , asDefaultJobTimeoutMinutes      -- * Artifact     , Artifact@@ -116,6 +126,13 @@     , createRemoteAccessSessionConfiguration     , crascBillingMethod +    -- * CustomerArtifactPaths+    , CustomerArtifactPaths+    , customerArtifactPaths+    , capAndroidPaths+    , capDeviceHostPaths+    , capIosPaths+     -- * Device     , Device     , device@@ -133,6 +150,7 @@     , devOs     , devName     , devModel+    , devRemoteDebugEnabled     , devCpu     , devHeapSize     , devFleetName@@ -160,6 +178,13 @@     , dpcrCompatible     , dpcrIncompatibilityMessages +    -- * ExecutionConfiguration+    , ExecutionConfiguration+    , executionConfiguration+    , ecAccountsCleanup+    , ecAppPackagesCleanup+    , ecJobTimeoutMinutes+     -- * IncompatibilityMessage     , IncompatibilityMessage     , incompatibilityMessage@@ -194,6 +219,22 @@     , maAmount     , maCurrencyCode +    -- * NetworkProfile+    , NetworkProfile+    , networkProfile+    , npUplinkJitterMs+    , npArn+    , npUplinkLossPercent+    , npDownlinkJitterMs+    , npName+    , npDownlinkLossPercent+    , npType+    , npUplinkDelayMs+    , npUplinkBandwidthBits+    , npDescription+    , npDownlinkDelayMs+    , npDownlinkBandwidthBits+     -- * Offering     , Offering     , offering@@ -203,6 +244,12 @@     , oType     , oDescription +    -- * OfferingPromotion+    , OfferingPromotion+    , offeringPromotion+    , opId+    , opDescription+     -- * OfferingStatus     , OfferingStatus     , offeringStatus@@ -217,6 +264,7 @@     , otOfferingStatus     , otCost     , otTransactionId+    , otOfferingPromotionId     , otCreatedOn      -- * Problem@@ -242,6 +290,7 @@     , pArn     , pCreated     , pName+    , pDefaultJobTimeoutMinutes      -- * Radios     , Radios@@ -261,6 +310,8 @@     , RemoteAccessSession     , remoteAccessSession     , rasBillingMethod+    , rasClientId+    , rasDeviceUdid     , rasStatus     , rasArn     , rasCreated@@ -269,8 +320,10 @@     , rasResult     , rasName     , rasDeviceMinutes+    , rasRemoteDebugEnabled     , rasEndpoint     , rasMessage+    , rasHostAddress     , rasStarted      -- * Resolution@@ -291,6 +344,7 @@     , run     , runBillingMethod     , runStatus+    , runCustomerArtifactPaths     , runCounters     , runPlatform     , runArn@@ -298,7 +352,10 @@     , runStopped     , runResult     , runCompletedJobs+    , runResultCode     , runName+    , runParsingResultURL+    , runNetworkProfile     , runDeviceMinutes     , runType     , runMessage@@ -316,6 +373,7 @@     , ScheduleRunConfiguration     , scheduleRunConfiguration     , srcBillingMethod+    , srcCustomerArtifactPaths     , srcRadios     , srcLocation     , srcLocale@@ -361,6 +419,12 @@     , tMessage     , tStarted +    -- * TrialMinutes+    , TrialMinutes+    , trialMinutes+    , tmRemaining+    , tmTotal+     -- * UniqueProblem     , UniqueProblem     , uniqueProblem@@ -381,38 +445,40 @@     , uContentType     ) where -import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.DeviceFarm.Types.Sum-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Sign.V4+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.DeviceFarm.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Sign.V4  -- | API version @2015-06-23@ of the Amazon Device Farm SDK configuration. deviceFarm :: Service deviceFarm =-    Service-    { _svcAbbrev = "DeviceFarm"-    , _svcSigner = v4-    , _svcPrefix = "devicefarm"-    , _svcVersion = "2015-06-23"-    , _svcEndpoint = defaultEndpoint deviceFarm-    , _svcTimeout = Just 70-    , _svcCheck = statusSuccess-    , _svcError = parseJSONError "DeviceFarm"-    , _svcRetry = retry-    }+  Service+  { _svcAbbrev = "DeviceFarm"+  , _svcSigner = v4+  , _svcPrefix = "devicefarm"+  , _svcVersion = "2015-06-23"+  , _svcEndpoint = defaultEndpoint deviceFarm+  , _svcTimeout = Just 70+  , _svcCheck = statusSuccess+  , _svcError = parseJSONError "DeviceFarm"+  , _svcRetry = retry+  }   where     retry =-        Exponential-        { _retryBase = 5.0e-2-        , _retryGrowth = 2-        , _retryAttempts = 5-        , _retryCheck = check-        }+      Exponential+      { _retryBase = 5.0e-2+      , _retryGrowth = 2+      , _retryAttempts = 5+      , _retryCheck = check+      }     check e+      | has (hasCode "ThrottledException" . hasStatus 400) e =+        Just "throttled_exception"       | has (hasStatus 429) e = Just "too_many_requests"       | has (hasCode "ThrottlingException" . hasStatus 400) e =-          Just "throttling_exception"+        Just "throttling_exception"       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"       | has (hasStatus 504) e = Just "gateway_timeout"       | has (hasStatus 502) e = Just "bad_gateway"@@ -421,38 +487,46 @@       | has (hasStatus 509) e = Just "limit_exceeded"       | otherwise = Nothing + -- | Exception gets thrown when a user is not eligible to perform the specified transaction. -- -- _NotEligibleException :: AsError a => Getting (First ServiceError) a ServiceError-_NotEligibleException = _ServiceError . hasCode "NotEligibleException"+_NotEligibleException = _MatchServiceError deviceFarm "NotEligibleException" + -- | An entity with the same name already exists. -- -- _IdempotencyException :: AsError a => Getting (First ServiceError) a ServiceError-_IdempotencyException = _ServiceError . hasCode "IdempotencyException"+_IdempotencyException = _MatchServiceError deviceFarm "IdempotencyException" + -- | An invalid argument was specified. -- -- _ArgumentException :: AsError a => Getting (First ServiceError) a ServiceError-_ArgumentException = _ServiceError . hasCode "ArgumentException"+_ArgumentException = _MatchServiceError deviceFarm "ArgumentException" + -- | The specified entity was not found. -- -- _NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError-_NotFoundException = _ServiceError . hasCode "NotFoundException"+_NotFoundException = _MatchServiceError deviceFarm "NotFoundException" + -- | There was a problem with the service account. -- -- _ServiceAccountException :: AsError a => Getting (First ServiceError) a ServiceError-_ServiceAccountException = _ServiceError . hasCode "ServiceAccountException"+_ServiceAccountException =+  _MatchServiceError deviceFarm "ServiceAccountException" + -- | A limit was exceeded. -- -- _LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError-_LimitExceededException = _ServiceError . hasCode "LimitExceededException"+_LimitExceededException = _MatchServiceError deviceFarm "LimitExceededException"+
gen/Network/AWS/DeviceFarm/Types/Product.hs view
@@ -9,2438 +9,2946 @@  -- | -- Module      : Network.AWS.DeviceFarm.Types.Product--- Copyright   : (c) 2013-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.DeviceFarm.Types.Product where--import           Network.AWS.DeviceFarm.Types.Sum-import           Network.AWS.Lens-import           Network.AWS.Prelude---- | A container for account-level settings within AWS Device Farm.------------ /See:/ 'accountSettings' smart constructor.-data AccountSettings = AccountSettings'-    { _asAwsAccountNumber             :: !(Maybe Text)-    , _asUnmeteredDevices             :: !(Maybe (Map DevicePlatform Int))-    , _asUnmeteredRemoteAccessDevices :: !(Maybe (Map DevicePlatform Int))-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'AccountSettings' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'asAwsAccountNumber' - The AWS account number specified in the @AccountSettings@ container.------ * 'asUnmeteredDevices' - Returns the unmetered devices you have purchased or want to purchase.------ * 'asUnmeteredRemoteAccessDevices' - Returns the unmetered remote access devices you have purchased or want to purchase.-accountSettings-    :: AccountSettings-accountSettings =-    AccountSettings'-    { _asAwsAccountNumber = Nothing-    , _asUnmeteredDevices = Nothing-    , _asUnmeteredRemoteAccessDevices = Nothing-    }---- | The AWS account number specified in the @AccountSettings@ container.-asAwsAccountNumber :: Lens' AccountSettings (Maybe Text)-asAwsAccountNumber = lens _asAwsAccountNumber (\ s a -> s{_asAwsAccountNumber = a});---- | Returns the unmetered devices you have purchased or want to purchase.-asUnmeteredDevices :: Lens' AccountSettings (HashMap DevicePlatform Int)-asUnmeteredDevices = lens _asUnmeteredDevices (\ s a -> s{_asUnmeteredDevices = a}) . _Default . _Map;---- | Returns the unmetered remote access devices you have purchased or want to purchase.-asUnmeteredRemoteAccessDevices :: Lens' AccountSettings (HashMap DevicePlatform Int)-asUnmeteredRemoteAccessDevices = lens _asUnmeteredRemoteAccessDevices (\ s a -> s{_asUnmeteredRemoteAccessDevices = a}) . _Default . _Map;--instance FromJSON AccountSettings where-        parseJSON-          = withObject "AccountSettings"-              (\ x ->-                 AccountSettings' <$>-                   (x .:? "awsAccountNumber") <*>-                     (x .:? "unmeteredDevices" .!= mempty)-                     <*>-                     (x .:? "unmeteredRemoteAccessDevices" .!= mempty))--instance Hashable AccountSettings--instance NFData AccountSettings---- | Represents the output of a test. Examples of artifacts include logs and screenshots.------------ /See:/ 'artifact' smart constructor.-data Artifact = Artifact'-    { _aArn       :: !(Maybe Text)-    , _aUrl       :: !(Maybe Text)-    , _aExtension :: !(Maybe Text)-    , _aName      :: !(Maybe Text)-    , _aType      :: !(Maybe ArtifactType)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Artifact' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aArn' - The artifact's ARN.------ * 'aUrl' - The pre-signed Amazon S3 URL that can be used with a corresponding GET request to download the artifact's file.------ * 'aExtension' - The artifact's file extension.------ * 'aName' - The artifact's name.------ * 'aType' - The artifact's type. Allowed values include the following:     * UNKNOWN: An unknown type.     * SCREENSHOT: The screenshot type.     * DEVICE_LOG: The device log type.     * MESSAGE_LOG: The message log type.     * RESULT_LOG: The result log type.     * SERVICE_LOG: The service log type.     * WEBKIT_LOG: The web kit log type.     * INSTRUMENTATION_OUTPUT: The instrumentation type.     * EXERCISER_MONKEY_OUTPUT: For Android, the artifact (log) generated by an Android fuzz test.     * CALABASH_JSON_OUTPUT: The Calabash JSON output type.     * CALABASH_PRETTY_OUTPUT: The Calabash pretty output type.     * CALABASH_STANDARD_OUTPUT: The Calabash standard output type.     * CALABASH_JAVA_XML_OUTPUT: The Calabash Java XML output type.     * AUTOMATION_OUTPUT: The automation output type.     * APPIUM_SERVER_OUTPUT: The Appium server output type.     * APPIUM_JAVA_OUTPUT: The Appium Java output type.     * APPIUM_JAVA_XML_OUTPUT: The Appium Java XML output type.     * APPIUM_PYTHON_OUTPUT: The Appium Python output type.     * APPIUM_PYTHON_XML_OUTPUT: The Appium Python XML output type.     * EXPLORER_EVENT_LOG: The Explorer event log output type.     * EXPLORER_SUMMARY_LOG: The Explorer summary log output type.     * APPLICATION_CRASH_REPORT: The application crash report output type.     * XCTEST_LOG: The XCode test output type.-artifact-    :: Artifact-artifact =-    Artifact'-    { _aArn = Nothing-    , _aUrl = Nothing-    , _aExtension = Nothing-    , _aName = Nothing-    , _aType = Nothing-    }---- | The artifact's ARN.-aArn :: Lens' Artifact (Maybe Text)-aArn = lens _aArn (\ s a -> s{_aArn = a});---- | The pre-signed Amazon S3 URL that can be used with a corresponding GET request to download the artifact's file.-aUrl :: Lens' Artifact (Maybe Text)-aUrl = lens _aUrl (\ s a -> s{_aUrl = a});---- | The artifact's file extension.-aExtension :: Lens' Artifact (Maybe Text)-aExtension = lens _aExtension (\ s a -> s{_aExtension = a});---- | The artifact's name.-aName :: Lens' Artifact (Maybe Text)-aName = lens _aName (\ s a -> s{_aName = a});---- | The artifact's type. Allowed values include the following:     * UNKNOWN: An unknown type.     * SCREENSHOT: The screenshot type.     * DEVICE_LOG: The device log type.     * MESSAGE_LOG: The message log type.     * RESULT_LOG: The result log type.     * SERVICE_LOG: The service log type.     * WEBKIT_LOG: The web kit log type.     * INSTRUMENTATION_OUTPUT: The instrumentation type.     * EXERCISER_MONKEY_OUTPUT: For Android, the artifact (log) generated by an Android fuzz test.     * CALABASH_JSON_OUTPUT: The Calabash JSON output type.     * CALABASH_PRETTY_OUTPUT: The Calabash pretty output type.     * CALABASH_STANDARD_OUTPUT: The Calabash standard output type.     * CALABASH_JAVA_XML_OUTPUT: The Calabash Java XML output type.     * AUTOMATION_OUTPUT: The automation output type.     * APPIUM_SERVER_OUTPUT: The Appium server output type.     * APPIUM_JAVA_OUTPUT: The Appium Java output type.     * APPIUM_JAVA_XML_OUTPUT: The Appium Java XML output type.     * APPIUM_PYTHON_OUTPUT: The Appium Python output type.     * APPIUM_PYTHON_XML_OUTPUT: The Appium Python XML output type.     * EXPLORER_EVENT_LOG: The Explorer event log output type.     * EXPLORER_SUMMARY_LOG: The Explorer summary log output type.     * APPLICATION_CRASH_REPORT: The application crash report output type.     * XCTEST_LOG: The XCode test output type.-aType :: Lens' Artifact (Maybe ArtifactType)-aType = lens _aType (\ s a -> s{_aType = a});--instance FromJSON Artifact where-        parseJSON-          = withObject "Artifact"-              (\ x ->-                 Artifact' <$>-                   (x .:? "arn") <*> (x .:? "url") <*>-                     (x .:? "extension")-                     <*> (x .:? "name")-                     <*> (x .:? "type"))--instance Hashable Artifact--instance NFData Artifact---- | Represents the amount of CPU that an app is using on a physical device.--------- Note that this does not represent system-wide CPU usage.--------- /See:/ 'cpu' smart constructor.-data CPU = CPU'-    { _cpuFrequency    :: !(Maybe Text)-    , _cpuClock        :: !(Maybe Double)-    , _cpuArchitecture :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'CPU' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cpuFrequency' - The CPU's frequency.------ * 'cpuClock' - The clock speed of the device's CPU, expressed in hertz (Hz). For example, a 1.2 GHz CPU is expressed as 1200000000.------ * 'cpuArchitecture' - The CPU's architecture, for example x86 or ARM.-cpu-    :: CPU-cpu =-    CPU'-    { _cpuFrequency = Nothing-    , _cpuClock = Nothing-    , _cpuArchitecture = Nothing-    }---- | The CPU's frequency.-cpuFrequency :: Lens' CPU (Maybe Text)-cpuFrequency = lens _cpuFrequency (\ s a -> s{_cpuFrequency = a});---- | The clock speed of the device's CPU, expressed in hertz (Hz). For example, a 1.2 GHz CPU is expressed as 1200000000.-cpuClock :: Lens' CPU (Maybe Double)-cpuClock = lens _cpuClock (\ s a -> s{_cpuClock = a});---- | The CPU's architecture, for example x86 or ARM.-cpuArchitecture :: Lens' CPU (Maybe Text)-cpuArchitecture = lens _cpuArchitecture (\ s a -> s{_cpuArchitecture = a});--instance FromJSON CPU where-        parseJSON-          = withObject "CPU"-              (\ x ->-                 CPU' <$>-                   (x .:? "frequency") <*> (x .:? "clock") <*>-                     (x .:? "architecture"))--instance Hashable CPU--instance NFData CPU---- | Represents entity counters.------------ /See:/ 'counters' smart constructor.-data Counters = Counters'-    { _cPassed  :: !(Maybe Int)-    , _cSkipped :: !(Maybe Int)-    , _cWarned  :: !(Maybe Int)-    , _cStopped :: !(Maybe Int)-    , _cTotal   :: !(Maybe Int)-    , _cFailed  :: !(Maybe Int)-    , _cErrored :: !(Maybe Int)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Counters' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cPassed' - The number of passed entities.------ * 'cSkipped' - The number of skipped entities.------ * 'cWarned' - The number of warned entities.------ * 'cStopped' - The number of stopped entities.------ * 'cTotal' - The total number of entities.------ * 'cFailed' - The number of failed entities.------ * 'cErrored' - The number of errored entities.-counters-    :: Counters-counters =-    Counters'-    { _cPassed = Nothing-    , _cSkipped = Nothing-    , _cWarned = Nothing-    , _cStopped = Nothing-    , _cTotal = Nothing-    , _cFailed = Nothing-    , _cErrored = Nothing-    }---- | The number of passed entities.-cPassed :: Lens' Counters (Maybe Int)-cPassed = lens _cPassed (\ s a -> s{_cPassed = a});---- | The number of skipped entities.-cSkipped :: Lens' Counters (Maybe Int)-cSkipped = lens _cSkipped (\ s a -> s{_cSkipped = a});---- | The number of warned entities.-cWarned :: Lens' Counters (Maybe Int)-cWarned = lens _cWarned (\ s a -> s{_cWarned = a});---- | The number of stopped entities.-cStopped :: Lens' Counters (Maybe Int)-cStopped = lens _cStopped (\ s a -> s{_cStopped = a});---- | The total number of entities.-cTotal :: Lens' Counters (Maybe Int)-cTotal = lens _cTotal (\ s a -> s{_cTotal = a});---- | The number of failed entities.-cFailed :: Lens' Counters (Maybe Int)-cFailed = lens _cFailed (\ s a -> s{_cFailed = a});---- | The number of errored entities.-cErrored :: Lens' Counters (Maybe Int)-cErrored = lens _cErrored (\ s a -> s{_cErrored = a});--instance FromJSON Counters where-        parseJSON-          = withObject "Counters"-              (\ x ->-                 Counters' <$>-                   (x .:? "passed") <*> (x .:? "skipped") <*>-                     (x .:? "warned")-                     <*> (x .:? "stopped")-                     <*> (x .:? "total")-                     <*> (x .:? "failed")-                     <*> (x .:? "errored"))--instance Hashable Counters--instance NFData Counters---- | Creates the configuration settings for a remote access session, including the device model and type.------------ /See:/ 'createRemoteAccessSessionConfiguration' smart constructor.-newtype CreateRemoteAccessSessionConfiguration = CreateRemoteAccessSessionConfiguration'-    { _crascBillingMethod :: Maybe BillingMethod-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'CreateRemoteAccessSessionConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'crascBillingMethod' - Returns the billing method for purposes of configuring a remote access session.-createRemoteAccessSessionConfiguration-    :: CreateRemoteAccessSessionConfiguration-createRemoteAccessSessionConfiguration =-    CreateRemoteAccessSessionConfiguration'-    { _crascBillingMethod = Nothing-    }---- | Returns the billing method for purposes of configuring a remote access session.-crascBillingMethod :: Lens' CreateRemoteAccessSessionConfiguration (Maybe BillingMethod)-crascBillingMethod = lens _crascBillingMethod (\ s a -> s{_crascBillingMethod = a});--instance Hashable-         CreateRemoteAccessSessionConfiguration--instance NFData-         CreateRemoteAccessSessionConfiguration--instance ToJSON-         CreateRemoteAccessSessionConfiguration where-        toJSON CreateRemoteAccessSessionConfiguration'{..}-          = object-              (catMaybes-                 [("billingMethod" .=) <$> _crascBillingMethod])---- | Represents a device type that an app is tested against.------------ /See:/ 'device' smart constructor.-data Device = Device'-    { _devCarrier             :: !(Maybe Text)-    , _devImage               :: !(Maybe Text)-    , _devManufacturer        :: !(Maybe Text)-    , _devPlatform            :: !(Maybe DevicePlatform)-    , _devRemoteAccessEnabled :: !(Maybe Bool)-    , _devArn                 :: !(Maybe Text)-    , _devFormFactor          :: !(Maybe DeviceFormFactor)-    , _devFleetType           :: !(Maybe Text)-    , _devResolution          :: !(Maybe Resolution)-    , _devMemory              :: !(Maybe Integer)-    , _devRadio               :: !(Maybe Text)-    , _devOs                  :: !(Maybe Text)-    , _devName                :: !(Maybe Text)-    , _devModel               :: !(Maybe Text)-    , _devCpu                 :: !(Maybe CPU)-    , _devHeapSize            :: !(Maybe Integer)-    , _devFleetName           :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Device' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'devCarrier' - The device's carrier.------ * 'devImage' - The device's image name.------ * 'devManufacturer' - The device's manufacturer name.------ * 'devPlatform' - The device's platform. Allowed values include:     * ANDROID: The Android platform.     * IOS: The iOS platform.------ * 'devRemoteAccessEnabled' - Specifies whether remote access has been enabled for the specified device.------ * 'devArn' - The device's ARN.------ * 'devFormFactor' - The device's form factor. Allowed values include:     * PHONE: The phone form factor.     * TABLET: The tablet form factor.------ * 'devFleetType' - The type of fleet to which this device belongs. Possible values for fleet type are PRIVATE and PUBLIC.------ * 'devResolution' - Undocumented member.------ * 'devMemory' - The device's total memory size, expressed in bytes.------ * 'devRadio' - The device's radio.------ * 'devOs' - The device's operating system type.------ * 'devName' - The device's display name.------ * 'devModel' - The device's model name.------ * 'devCpu' - Information about the device's CPU.------ * 'devHeapSize' - The device's heap size, expressed in bytes.------ * 'devFleetName' - The name of the fleet to which this device belongs.-device-    :: Device-device =-    Device'-    { _devCarrier = Nothing-    , _devImage = Nothing-    , _devManufacturer = Nothing-    , _devPlatform = Nothing-    , _devRemoteAccessEnabled = Nothing-    , _devArn = Nothing-    , _devFormFactor = Nothing-    , _devFleetType = Nothing-    , _devResolution = Nothing-    , _devMemory = Nothing-    , _devRadio = Nothing-    , _devOs = Nothing-    , _devName = Nothing-    , _devModel = Nothing-    , _devCpu = Nothing-    , _devHeapSize = Nothing-    , _devFleetName = Nothing-    }---- | The device's carrier.-devCarrier :: Lens' Device (Maybe Text)-devCarrier = lens _devCarrier (\ s a -> s{_devCarrier = a});---- | The device's image name.-devImage :: Lens' Device (Maybe Text)-devImage = lens _devImage (\ s a -> s{_devImage = a});---- | The device's manufacturer name.-devManufacturer :: Lens' Device (Maybe Text)-devManufacturer = lens _devManufacturer (\ s a -> s{_devManufacturer = a});---- | The device's platform. Allowed values include:     * ANDROID: The Android platform.     * IOS: The iOS platform.-devPlatform :: Lens' Device (Maybe DevicePlatform)-devPlatform = lens _devPlatform (\ s a -> s{_devPlatform = a});---- | Specifies whether remote access has been enabled for the specified device.-devRemoteAccessEnabled :: Lens' Device (Maybe Bool)-devRemoteAccessEnabled = lens _devRemoteAccessEnabled (\ s a -> s{_devRemoteAccessEnabled = a});---- | The device's ARN.-devArn :: Lens' Device (Maybe Text)-devArn = lens _devArn (\ s a -> s{_devArn = a});---- | The device's form factor. Allowed values include:     * PHONE: The phone form factor.     * TABLET: The tablet form factor.-devFormFactor :: Lens' Device (Maybe DeviceFormFactor)-devFormFactor = lens _devFormFactor (\ s a -> s{_devFormFactor = a});---- | The type of fleet to which this device belongs. Possible values for fleet type are PRIVATE and PUBLIC.-devFleetType :: Lens' Device (Maybe Text)-devFleetType = lens _devFleetType (\ s a -> s{_devFleetType = a});---- | Undocumented member.-devResolution :: Lens' Device (Maybe Resolution)-devResolution = lens _devResolution (\ s a -> s{_devResolution = a});---- | The device's total memory size, expressed in bytes.-devMemory :: Lens' Device (Maybe Integer)-devMemory = lens _devMemory (\ s a -> s{_devMemory = a});---- | The device's radio.-devRadio :: Lens' Device (Maybe Text)-devRadio = lens _devRadio (\ s a -> s{_devRadio = a});---- | The device's operating system type.-devOs :: Lens' Device (Maybe Text)-devOs = lens _devOs (\ s a -> s{_devOs = a});---- | The device's display name.-devName :: Lens' Device (Maybe Text)-devName = lens _devName (\ s a -> s{_devName = a});---- | The device's model name.-devModel :: Lens' Device (Maybe Text)-devModel = lens _devModel (\ s a -> s{_devModel = a});---- | Information about the device's CPU.-devCpu :: Lens' Device (Maybe CPU)-devCpu = lens _devCpu (\ s a -> s{_devCpu = a});---- | The device's heap size, expressed in bytes.-devHeapSize :: Lens' Device (Maybe Integer)-devHeapSize = lens _devHeapSize (\ s a -> s{_devHeapSize = a});---- | The name of the fleet to which this device belongs.-devFleetName :: Lens' Device (Maybe Text)-devFleetName = lens _devFleetName (\ s a -> s{_devFleetName = a});--instance FromJSON Device where-        parseJSON-          = withObject "Device"-              (\ x ->-                 Device' <$>-                   (x .:? "carrier") <*> (x .:? "image") <*>-                     (x .:? "manufacturer")-                     <*> (x .:? "platform")-                     <*> (x .:? "remoteAccessEnabled")-                     <*> (x .:? "arn")-                     <*> (x .:? "formFactor")-                     <*> (x .:? "fleetType")-                     <*> (x .:? "resolution")-                     <*> (x .:? "memory")-                     <*> (x .:? "radio")-                     <*> (x .:? "os")-                     <*> (x .:? "name")-                     <*> (x .:? "model")-                     <*> (x .:? "cpu")-                     <*> (x .:? "heapSize")-                     <*> (x .:? "fleetName"))--instance Hashable Device--instance NFData Device---- | Represents the total (metered or unmetered) minutes used by the resource to run tests. Contains the sum of minutes consumed by all children.------------ /See:/ 'deviceMinutes' smart constructor.-data DeviceMinutes = DeviceMinutes'-    { _dmMetered   :: !(Maybe Double)-    , _dmTotal     :: !(Maybe Double)-    , _dmUnmetered :: !(Maybe Double)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'DeviceMinutes' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dmMetered' - When specified, represents only the sum of metered minutes used by the resource to run tests.------ * 'dmTotal' - When specified, represents the total minutes used by the resource to run tests.------ * 'dmUnmetered' - When specified, represents only the sum of unmetered minutes used by the resource to run tests.-deviceMinutes-    :: DeviceMinutes-deviceMinutes =-    DeviceMinutes'-    { _dmMetered = Nothing-    , _dmTotal = Nothing-    , _dmUnmetered = Nothing-    }---- | When specified, represents only the sum of metered minutes used by the resource to run tests.-dmMetered :: Lens' DeviceMinutes (Maybe Double)-dmMetered = lens _dmMetered (\ s a -> s{_dmMetered = a});---- | When specified, represents the total minutes used by the resource to run tests.-dmTotal :: Lens' DeviceMinutes (Maybe Double)-dmTotal = lens _dmTotal (\ s a -> s{_dmTotal = a});---- | When specified, represents only the sum of unmetered minutes used by the resource to run tests.-dmUnmetered :: Lens' DeviceMinutes (Maybe Double)-dmUnmetered = lens _dmUnmetered (\ s a -> s{_dmUnmetered = a});--instance FromJSON DeviceMinutes where-        parseJSON-          = withObject "DeviceMinutes"-              (\ x ->-                 DeviceMinutes' <$>-                   (x .:? "metered") <*> (x .:? "total") <*>-                     (x .:? "unmetered"))--instance Hashable DeviceMinutes--instance NFData DeviceMinutes---- | Represents a collection of device types.------------ /See:/ 'devicePool' smart constructor.-data DevicePool = DevicePool'-    { _dArn         :: !(Maybe Text)-    , _dRules       :: !(Maybe [Rule])-    , _dName        :: !(Maybe Text)-    , _dType        :: !(Maybe DevicePoolType)-    , _dDescription :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'DevicePool' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dArn' - The device pool's ARN.------ * 'dRules' - Information about the device pool's rules.------ * 'dName' - The device pool's name.------ * 'dType' - The device pool's type. Allowed values include:     * CURATED: A device pool that is created and managed by AWS Device Farm.     * PRIVATE: A device pool that is created and managed by the device pool developer.------ * 'dDescription' - The device pool's description.-devicePool-    :: DevicePool-devicePool =-    DevicePool'-    { _dArn = Nothing-    , _dRules = Nothing-    , _dName = Nothing-    , _dType = Nothing-    , _dDescription = Nothing-    }---- | The device pool's ARN.-dArn :: Lens' DevicePool (Maybe Text)-dArn = lens _dArn (\ s a -> s{_dArn = a});---- | Information about the device pool's rules.-dRules :: Lens' DevicePool [Rule]-dRules = lens _dRules (\ s a -> s{_dRules = a}) . _Default . _Coerce;---- | The device pool's name.-dName :: Lens' DevicePool (Maybe Text)-dName = lens _dName (\ s a -> s{_dName = a});---- | The device pool's type. Allowed values include:     * CURATED: A device pool that is created and managed by AWS Device Farm.     * PRIVATE: A device pool that is created and managed by the device pool developer.-dType :: Lens' DevicePool (Maybe DevicePoolType)-dType = lens _dType (\ s a -> s{_dType = a});---- | The device pool's description.-dDescription :: Lens' DevicePool (Maybe Text)-dDescription = lens _dDescription (\ s a -> s{_dDescription = a});--instance FromJSON DevicePool where-        parseJSON-          = withObject "DevicePool"-              (\ x ->-                 DevicePool' <$>-                   (x .:? "arn") <*> (x .:? "rules" .!= mempty) <*>-                     (x .:? "name")-                     <*> (x .:? "type")-                     <*> (x .:? "description"))--instance Hashable DevicePool--instance NFData DevicePool---- | Represents a device pool compatibility result.------------ /See:/ 'devicePoolCompatibilityResult' smart constructor.-data DevicePoolCompatibilityResult = DevicePoolCompatibilityResult'-    { _dpcrDevice                  :: !(Maybe Device)-    , _dpcrCompatible              :: !(Maybe Bool)-    , _dpcrIncompatibilityMessages :: !(Maybe [IncompatibilityMessage])-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'DevicePoolCompatibilityResult' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dpcrDevice' - Undocumented member.------ * 'dpcrCompatible' - Whether the result was compatible with the device pool.------ * 'dpcrIncompatibilityMessages' - Information about the compatibility.-devicePoolCompatibilityResult-    :: DevicePoolCompatibilityResult-devicePoolCompatibilityResult =-    DevicePoolCompatibilityResult'-    { _dpcrDevice = Nothing-    , _dpcrCompatible = Nothing-    , _dpcrIncompatibilityMessages = Nothing-    }---- | Undocumented member.-dpcrDevice :: Lens' DevicePoolCompatibilityResult (Maybe Device)-dpcrDevice = lens _dpcrDevice (\ s a -> s{_dpcrDevice = a});---- | Whether the result was compatible with the device pool.-dpcrCompatible :: Lens' DevicePoolCompatibilityResult (Maybe Bool)-dpcrCompatible = lens _dpcrCompatible (\ s a -> s{_dpcrCompatible = a});---- | Information about the compatibility.-dpcrIncompatibilityMessages :: Lens' DevicePoolCompatibilityResult [IncompatibilityMessage]-dpcrIncompatibilityMessages = lens _dpcrIncompatibilityMessages (\ s a -> s{_dpcrIncompatibilityMessages = a}) . _Default . _Coerce;--instance FromJSON DevicePoolCompatibilityResult where-        parseJSON-          = withObject "DevicePoolCompatibilityResult"-              (\ x ->-                 DevicePoolCompatibilityResult' <$>-                   (x .:? "device") <*> (x .:? "compatible") <*>-                     (x .:? "incompatibilityMessages" .!= mempty))--instance Hashable DevicePoolCompatibilityResult--instance NFData DevicePoolCompatibilityResult---- | Represents information about incompatibility.------------ /See:/ 'incompatibilityMessage' smart constructor.-data IncompatibilityMessage = IncompatibilityMessage'-    { _imType    :: !(Maybe DeviceAttribute)-    , _imMessage :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'IncompatibilityMessage' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'imType' - The type of incompatibility. Allowed values include:     * ARN: The ARN.     * FORM_FACTOR: The form factor (for example, phone or tablet).     * MANUFACTURER: The manufacturer.     * PLATFORM: The platform (for example, Android or iOS).------ * 'imMessage' - A message about the incompatibility.-incompatibilityMessage-    :: IncompatibilityMessage-incompatibilityMessage =-    IncompatibilityMessage'-    { _imType = Nothing-    , _imMessage = Nothing-    }---- | The type of incompatibility. Allowed values include:     * ARN: The ARN.     * FORM_FACTOR: The form factor (for example, phone or tablet).     * MANUFACTURER: The manufacturer.     * PLATFORM: The platform (for example, Android or iOS).-imType :: Lens' IncompatibilityMessage (Maybe DeviceAttribute)-imType = lens _imType (\ s a -> s{_imType = a});---- | A message about the incompatibility.-imMessage :: Lens' IncompatibilityMessage (Maybe Text)-imMessage = lens _imMessage (\ s a -> s{_imMessage = a});--instance FromJSON IncompatibilityMessage where-        parseJSON-          = withObject "IncompatibilityMessage"-              (\ x ->-                 IncompatibilityMessage' <$>-                   (x .:? "type") <*> (x .:? "message"))--instance Hashable IncompatibilityMessage--instance NFData IncompatibilityMessage---- | Represents a device.------------ /See:/ 'job' smart constructor.-data Job = Job'-    { _jobStatus        :: !(Maybe ExecutionStatus)-    , _jobCounters      :: !(Maybe Counters)-    , _jobArn           :: !(Maybe Text)-    , _jobCreated       :: !(Maybe POSIX)-    , _jobDevice        :: !(Maybe Device)-    , _jobStopped       :: !(Maybe POSIX)-    , _jobResult        :: !(Maybe ExecutionResult)-    , _jobName          :: !(Maybe Text)-    , _jobDeviceMinutes :: !(Maybe DeviceMinutes)-    , _jobType          :: !(Maybe TestType)-    , _jobMessage       :: !(Maybe Text)-    , _jobStarted       :: !(Maybe POSIX)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Job' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'jobStatus' - The job's status. Allowed values include:     * PENDING: A pending status.     * PENDING_CONCURRENCY: A pending concurrency status.     * PENDING_DEVICE: A pending device status.     * PROCESSING: A processing status.     * SCHEDULING: A scheduling status.     * PREPARING: A preparing status.     * RUNNING: A running status.     * COMPLETED: A completed status.     * STOPPING: A stopping status.------ * 'jobCounters' - The job's result counters.------ * 'jobArn' - The job's ARN.------ * 'jobCreated' - When the job was created.------ * 'jobDevice' - Undocumented member.------ * 'jobStopped' - The job's stop time.------ * 'jobResult' - The job's result. Allowed values include:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.------ * 'jobName' - The job's name.------ * 'jobDeviceMinutes' - Represents the total (metered or unmetered) minutes used by the job.------ * 'jobType' - The job's type. Allowed values include the following:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.------ * 'jobMessage' - A message about the job's result.------ * 'jobStarted' - The job's start time.-job-    :: Job-job =-    Job'-    { _jobStatus = Nothing-    , _jobCounters = Nothing-    , _jobArn = Nothing-    , _jobCreated = Nothing-    , _jobDevice = Nothing-    , _jobStopped = Nothing-    , _jobResult = Nothing-    , _jobName = Nothing-    , _jobDeviceMinutes = Nothing-    , _jobType = Nothing-    , _jobMessage = Nothing-    , _jobStarted = Nothing-    }---- | The job's status. Allowed values include:     * PENDING: A pending status.     * PENDING_CONCURRENCY: A pending concurrency status.     * PENDING_DEVICE: A pending device status.     * PROCESSING: A processing status.     * SCHEDULING: A scheduling status.     * PREPARING: A preparing status.     * RUNNING: A running status.     * COMPLETED: A completed status.     * STOPPING: A stopping status.-jobStatus :: Lens' Job (Maybe ExecutionStatus)-jobStatus = lens _jobStatus (\ s a -> s{_jobStatus = a});---- | The job's result counters.-jobCounters :: Lens' Job (Maybe Counters)-jobCounters = lens _jobCounters (\ s a -> s{_jobCounters = a});---- | The job's ARN.-jobArn :: Lens' Job (Maybe Text)-jobArn = lens _jobArn (\ s a -> s{_jobArn = a});---- | When the job was created.-jobCreated :: Lens' Job (Maybe UTCTime)-jobCreated = lens _jobCreated (\ s a -> s{_jobCreated = a}) . mapping _Time;---- | Undocumented member.-jobDevice :: Lens' Job (Maybe Device)-jobDevice = lens _jobDevice (\ s a -> s{_jobDevice = a});---- | The job's stop time.-jobStopped :: Lens' Job (Maybe UTCTime)-jobStopped = lens _jobStopped (\ s a -> s{_jobStopped = a}) . mapping _Time;---- | The job's result. Allowed values include:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.-jobResult :: Lens' Job (Maybe ExecutionResult)-jobResult = lens _jobResult (\ s a -> s{_jobResult = a});---- | The job's name.-jobName :: Lens' Job (Maybe Text)-jobName = lens _jobName (\ s a -> s{_jobName = a});---- | Represents the total (metered or unmetered) minutes used by the job.-jobDeviceMinutes :: Lens' Job (Maybe DeviceMinutes)-jobDeviceMinutes = lens _jobDeviceMinutes (\ s a -> s{_jobDeviceMinutes = a});---- | The job's type. Allowed values include the following:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.-jobType :: Lens' Job (Maybe TestType)-jobType = lens _jobType (\ s a -> s{_jobType = a});---- | A message about the job's result.-jobMessage :: Lens' Job (Maybe Text)-jobMessage = lens _jobMessage (\ s a -> s{_jobMessage = a});---- | The job's start time.-jobStarted :: Lens' Job (Maybe UTCTime)-jobStarted = lens _jobStarted (\ s a -> s{_jobStarted = a}) . mapping _Time;--instance FromJSON Job where-        parseJSON-          = withObject "Job"-              (\ x ->-                 Job' <$>-                   (x .:? "status") <*> (x .:? "counters") <*>-                     (x .:? "arn")-                     <*> (x .:? "created")-                     <*> (x .:? "device")-                     <*> (x .:? "stopped")-                     <*> (x .:? "result")-                     <*> (x .:? "name")-                     <*> (x .:? "deviceMinutes")-                     <*> (x .:? "type")-                     <*> (x .:? "message")-                     <*> (x .:? "started"))--instance Hashable Job--instance NFData Job---- | Represents a latitude and longitude pair, expressed in geographic coordinate system degrees (for example 47.6204, -122.3491).--------- Elevation is currently not supported.--------- /See:/ 'location' smart constructor.-data Location = Location'-    { _lLatitude  :: !Double-    , _lLongitude :: !Double-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Location' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lLatitude' - The latitude.------ * 'lLongitude' - The longitude.-location-    :: Double -- ^ 'lLatitude'-    -> Double -- ^ 'lLongitude'-    -> Location-location pLatitude_ pLongitude_ =-    Location'-    { _lLatitude = pLatitude_-    , _lLongitude = pLongitude_-    }---- | The latitude.-lLatitude :: Lens' Location Double-lLatitude = lens _lLatitude (\ s a -> s{_lLatitude = a});---- | The longitude.-lLongitude :: Lens' Location Double-lLongitude = lens _lLongitude (\ s a -> s{_lLongitude = a});--instance Hashable Location--instance NFData Location--instance ToJSON Location where-        toJSON Location'{..}-          = object-              (catMaybes-                 [Just ("latitude" .= _lLatitude),-                  Just ("longitude" .= _lLongitude)])---- | A number representing the monetary amount for an offering or transaction.------------ /See:/ 'monetaryAmount' smart constructor.-data MonetaryAmount = MonetaryAmount'-    { _maAmount       :: !(Maybe Double)-    , _maCurrencyCode :: !(Maybe CurrencyCode)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'MonetaryAmount' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'maAmount' - The numerical amount of an offering or transaction.------ * 'maCurrencyCode' - The currency code of a monetary amount. For example, @USD@ means "U.S. dollars."-monetaryAmount-    :: MonetaryAmount-monetaryAmount =-    MonetaryAmount'-    { _maAmount = Nothing-    , _maCurrencyCode = Nothing-    }---- | The numerical amount of an offering or transaction.-maAmount :: Lens' MonetaryAmount (Maybe Double)-maAmount = lens _maAmount (\ s a -> s{_maAmount = a});---- | The currency code of a monetary amount. For example, @USD@ means "U.S. dollars."-maCurrencyCode :: Lens' MonetaryAmount (Maybe CurrencyCode)-maCurrencyCode = lens _maCurrencyCode (\ s a -> s{_maCurrencyCode = a});--instance FromJSON MonetaryAmount where-        parseJSON-          = withObject "MonetaryAmount"-              (\ x ->-                 MonetaryAmount' <$>-                   (x .:? "amount") <*> (x .:? "currencyCode"))--instance Hashable MonetaryAmount--instance NFData MonetaryAmount---- | Represents the metadata of a device offering.------------ /See:/ 'offering' smart constructor.-data Offering = Offering'-    { _oPlatform         :: !(Maybe DevicePlatform)-    , _oId               :: !(Maybe Text)-    , _oRecurringCharges :: !(Maybe [RecurringCharge])-    , _oType             :: !(Maybe OfferingType)-    , _oDescription      :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Offering' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oPlatform' - The platform of the device (e.g., ANDROID or IOS).------ * 'oId' - The ID that corresponds to a device offering.------ * 'oRecurringCharges' - Specifies whether there are recurring charges for the offering.------ * 'oType' - The type of offering (e.g., "RECURRING") for a device.------ * 'oDescription' - A string describing the offering.-offering-    :: Offering-offering =-    Offering'-    { _oPlatform = Nothing-    , _oId = Nothing-    , _oRecurringCharges = Nothing-    , _oType = Nothing-    , _oDescription = Nothing-    }---- | The platform of the device (e.g., ANDROID or IOS).-oPlatform :: Lens' Offering (Maybe DevicePlatform)-oPlatform = lens _oPlatform (\ s a -> s{_oPlatform = a});---- | The ID that corresponds to a device offering.-oId :: Lens' Offering (Maybe Text)-oId = lens _oId (\ s a -> s{_oId = a});---- | Specifies whether there are recurring charges for the offering.-oRecurringCharges :: Lens' Offering [RecurringCharge]-oRecurringCharges = lens _oRecurringCharges (\ s a -> s{_oRecurringCharges = a}) . _Default . _Coerce;---- | The type of offering (e.g., "RECURRING") for a device.-oType :: Lens' Offering (Maybe OfferingType)-oType = lens _oType (\ s a -> s{_oType = a});---- | A string describing the offering.-oDescription :: Lens' Offering (Maybe Text)-oDescription = lens _oDescription (\ s a -> s{_oDescription = a});--instance FromJSON Offering where-        parseJSON-          = withObject "Offering"-              (\ x ->-                 Offering' <$>-                   (x .:? "platform") <*> (x .:? "id") <*>-                     (x .:? "recurringCharges" .!= mempty)-                     <*> (x .:? "type")-                     <*> (x .:? "description"))--instance Hashable Offering--instance NFData Offering---- | The status of the offering.------------ /See:/ 'offeringStatus' smart constructor.-data OfferingStatus = OfferingStatus'-    { _osEffectiveOn :: !(Maybe POSIX)-    , _osOffering    :: !(Maybe Offering)-    , _osQuantity    :: !(Maybe Int)-    , _osType        :: !(Maybe OfferingTransactionType)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'OfferingStatus' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'osEffectiveOn' - The date on which the offering is effective.------ * 'osOffering' - Represents the metadata of an offering status.------ * 'osQuantity' - The number of available devices in the offering.------ * 'osType' - The type specified for the offering status.-offeringStatus-    :: OfferingStatus-offeringStatus =-    OfferingStatus'-    { _osEffectiveOn = Nothing-    , _osOffering = Nothing-    , _osQuantity = Nothing-    , _osType = Nothing-    }---- | The date on which the offering is effective.-osEffectiveOn :: Lens' OfferingStatus (Maybe UTCTime)-osEffectiveOn = lens _osEffectiveOn (\ s a -> s{_osEffectiveOn = a}) . mapping _Time;---- | Represents the metadata of an offering status.-osOffering :: Lens' OfferingStatus (Maybe Offering)-osOffering = lens _osOffering (\ s a -> s{_osOffering = a});---- | The number of available devices in the offering.-osQuantity :: Lens' OfferingStatus (Maybe Int)-osQuantity = lens _osQuantity (\ s a -> s{_osQuantity = a});---- | The type specified for the offering status.-osType :: Lens' OfferingStatus (Maybe OfferingTransactionType)-osType = lens _osType (\ s a -> s{_osType = a});--instance FromJSON OfferingStatus where-        parseJSON-          = withObject "OfferingStatus"-              (\ x ->-                 OfferingStatus' <$>-                   (x .:? "effectiveOn") <*> (x .:? "offering") <*>-                     (x .:? "quantity")-                     <*> (x .:? "type"))--instance Hashable OfferingStatus--instance NFData OfferingStatus---- | Represents the metadata of an offering transaction.------------ /See:/ 'offeringTransaction' smart constructor.-data OfferingTransaction = OfferingTransaction'-    { _otOfferingStatus :: !(Maybe OfferingStatus)-    , _otCost           :: !(Maybe MonetaryAmount)-    , _otTransactionId  :: !(Maybe Text)-    , _otCreatedOn      :: !(Maybe POSIX)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'OfferingTransaction' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'otOfferingStatus' - The status of an offering transaction.------ * 'otCost' - The cost of an offering transaction.------ * 'otTransactionId' - The transaction ID of the offering transaction.------ * 'otCreatedOn' - The date on which an offering transaction was created.-offeringTransaction-    :: OfferingTransaction-offeringTransaction =-    OfferingTransaction'-    { _otOfferingStatus = Nothing-    , _otCost = Nothing-    , _otTransactionId = Nothing-    , _otCreatedOn = Nothing-    }---- | The status of an offering transaction.-otOfferingStatus :: Lens' OfferingTransaction (Maybe OfferingStatus)-otOfferingStatus = lens _otOfferingStatus (\ s a -> s{_otOfferingStatus = a});---- | The cost of an offering transaction.-otCost :: Lens' OfferingTransaction (Maybe MonetaryAmount)-otCost = lens _otCost (\ s a -> s{_otCost = a});---- | The transaction ID of the offering transaction.-otTransactionId :: Lens' OfferingTransaction (Maybe Text)-otTransactionId = lens _otTransactionId (\ s a -> s{_otTransactionId = a});---- | The date on which an offering transaction was created.-otCreatedOn :: Lens' OfferingTransaction (Maybe UTCTime)-otCreatedOn = lens _otCreatedOn (\ s a -> s{_otCreatedOn = a}) . mapping _Time;--instance FromJSON OfferingTransaction where-        parseJSON-          = withObject "OfferingTransaction"-              (\ x ->-                 OfferingTransaction' <$>-                   (x .:? "offeringStatus") <*> (x .:? "cost") <*>-                     (x .:? "transactionId")-                     <*> (x .:? "createdOn"))--instance Hashable OfferingTransaction--instance NFData OfferingTransaction---- | Represents a specific warning or failure.------------ /See:/ 'problem' smart constructor.-data Problem = Problem'-    { _pDevice  :: !(Maybe Device)-    , _pTest    :: !(Maybe ProblemDetail)-    , _pResult  :: !(Maybe ExecutionResult)-    , _pRun     :: !(Maybe ProblemDetail)-    , _pJob     :: !(Maybe ProblemDetail)-    , _pMessage :: !(Maybe Text)-    , _pSuite   :: !(Maybe ProblemDetail)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Problem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pDevice' - Information about the associated device.------ * 'pTest' - Information about the associated test.------ * 'pResult' - The problem's result. Allowed values include:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.------ * 'pRun' - Information about the associated run.------ * 'pJob' - Information about the associated job.------ * 'pMessage' - A message about the problem's result.------ * 'pSuite' - Information about the associated suite.-problem-    :: Problem-problem =-    Problem'-    { _pDevice = Nothing-    , _pTest = Nothing-    , _pResult = Nothing-    , _pRun = Nothing-    , _pJob = Nothing-    , _pMessage = Nothing-    , _pSuite = Nothing-    }---- | Information about the associated device.-pDevice :: Lens' Problem (Maybe Device)-pDevice = lens _pDevice (\ s a -> s{_pDevice = a});---- | Information about the associated test.-pTest :: Lens' Problem (Maybe ProblemDetail)-pTest = lens _pTest (\ s a -> s{_pTest = a});---- | The problem's result. Allowed values include:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.-pResult :: Lens' Problem (Maybe ExecutionResult)-pResult = lens _pResult (\ s a -> s{_pResult = a});---- | Information about the associated run.-pRun :: Lens' Problem (Maybe ProblemDetail)-pRun = lens _pRun (\ s a -> s{_pRun = a});---- | Information about the associated job.-pJob :: Lens' Problem (Maybe ProblemDetail)-pJob = lens _pJob (\ s a -> s{_pJob = a});---- | A message about the problem's result.-pMessage :: Lens' Problem (Maybe Text)-pMessage = lens _pMessage (\ s a -> s{_pMessage = a});---- | Information about the associated suite.-pSuite :: Lens' Problem (Maybe ProblemDetail)-pSuite = lens _pSuite (\ s a -> s{_pSuite = a});--instance FromJSON Problem where-        parseJSON-          = withObject "Problem"-              (\ x ->-                 Problem' <$>-                   (x .:? "device") <*> (x .:? "test") <*>-                     (x .:? "result")-                     <*> (x .:? "run")-                     <*> (x .:? "job")-                     <*> (x .:? "message")-                     <*> (x .:? "suite"))--instance Hashable Problem--instance NFData Problem---- | Information about a problem detail.------------ /See:/ 'problemDetail' smart constructor.-data ProblemDetail = ProblemDetail'-    { _pdArn  :: !(Maybe Text)-    , _pdName :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ProblemDetail' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pdArn' - The problem detail's ARN.------ * 'pdName' - The problem detail's name.-problemDetail-    :: ProblemDetail-problemDetail =-    ProblemDetail'-    { _pdArn = Nothing-    , _pdName = Nothing-    }---- | The problem detail's ARN.-pdArn :: Lens' ProblemDetail (Maybe Text)-pdArn = lens _pdArn (\ s a -> s{_pdArn = a});---- | The problem detail's name.-pdName :: Lens' ProblemDetail (Maybe Text)-pdName = lens _pdName (\ s a -> s{_pdName = a});--instance FromJSON ProblemDetail where-        parseJSON-          = withObject "ProblemDetail"-              (\ x ->-                 ProblemDetail' <$> (x .:? "arn") <*> (x .:? "name"))--instance Hashable ProblemDetail--instance NFData ProblemDetail---- | Represents an operating-system neutral workspace for running and managing tests.------------ /See:/ 'project' smart constructor.-data Project = Project'-    { _pArn     :: !(Maybe Text)-    , _pCreated :: !(Maybe POSIX)-    , _pName    :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Project' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pArn' - The project's ARN.------ * 'pCreated' - When the project was created.------ * 'pName' - The project's name.-project-    :: Project-project =-    Project'-    { _pArn = Nothing-    , _pCreated = Nothing-    , _pName = Nothing-    }---- | The project's ARN.-pArn :: Lens' Project (Maybe Text)-pArn = lens _pArn (\ s a -> s{_pArn = a});---- | When the project was created.-pCreated :: Lens' Project (Maybe UTCTime)-pCreated = lens _pCreated (\ s a -> s{_pCreated = a}) . mapping _Time;---- | The project's name.-pName :: Lens' Project (Maybe Text)-pName = lens _pName (\ s a -> s{_pName = a});--instance FromJSON Project where-        parseJSON-          = withObject "Project"-              (\ x ->-                 Project' <$>-                   (x .:? "arn") <*> (x .:? "created") <*>-                     (x .:? "name"))--instance Hashable Project--instance NFData Project---- | Represents the set of radios and their states on a device. Examples of radios include Wi-Fi, GPS, Bluetooth, and NFC.------------ /See:/ 'radios' smart constructor.-data Radios = Radios'-    { _rNfc       :: !(Maybe Bool)-    , _rGps       :: !(Maybe Bool)-    , _rBluetooth :: !(Maybe Bool)-    , _rWifi      :: !(Maybe Bool)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Radios' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rNfc' - True if NFC is enabled at the beginning of the test; otherwise, false.------ * 'rGps' - True if GPS is enabled at the beginning of the test; otherwise, false.------ * 'rBluetooth' - True if Bluetooth is enabled at the beginning of the test; otherwise, false.------ * 'rWifi' - True if Wi-Fi is enabled at the beginning of the test; otherwise, false.-radios-    :: Radios-radios =-    Radios'-    { _rNfc = Nothing-    , _rGps = Nothing-    , _rBluetooth = Nothing-    , _rWifi = Nothing-    }---- | True if NFC is enabled at the beginning of the test; otherwise, false.-rNfc :: Lens' Radios (Maybe Bool)-rNfc = lens _rNfc (\ s a -> s{_rNfc = a});---- | True if GPS is enabled at the beginning of the test; otherwise, false.-rGps :: Lens' Radios (Maybe Bool)-rGps = lens _rGps (\ s a -> s{_rGps = a});---- | True if Bluetooth is enabled at the beginning of the test; otherwise, false.-rBluetooth :: Lens' Radios (Maybe Bool)-rBluetooth = lens _rBluetooth (\ s a -> s{_rBluetooth = a});---- | True if Wi-Fi is enabled at the beginning of the test; otherwise, false.-rWifi :: Lens' Radios (Maybe Bool)-rWifi = lens _rWifi (\ s a -> s{_rWifi = a});--instance Hashable Radios--instance NFData Radios--instance ToJSON Radios where-        toJSON Radios'{..}-          = object-              (catMaybes-                 [("nfc" .=) <$> _rNfc, ("gps" .=) <$> _rGps,-                  ("bluetooth" .=) <$> _rBluetooth,-                  ("wifi" .=) <$> _rWifi])---- | Specifies whether charges for devices will be recurring.------------ /See:/ 'recurringCharge' smart constructor.-data RecurringCharge = RecurringCharge'-    { _rcFrequency :: !(Maybe RecurringChargeFrequency)-    , _rcCost      :: !(Maybe MonetaryAmount)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'RecurringCharge' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rcFrequency' - The frequency in which charges will recur.------ * 'rcCost' - The cost of the recurring charge.-recurringCharge-    :: RecurringCharge-recurringCharge =-    RecurringCharge'-    { _rcFrequency = Nothing-    , _rcCost = Nothing-    }---- | The frequency in which charges will recur.-rcFrequency :: Lens' RecurringCharge (Maybe RecurringChargeFrequency)-rcFrequency = lens _rcFrequency (\ s a -> s{_rcFrequency = a});---- | The cost of the recurring charge.-rcCost :: Lens' RecurringCharge (Maybe MonetaryAmount)-rcCost = lens _rcCost (\ s a -> s{_rcCost = a});--instance FromJSON RecurringCharge where-        parseJSON-          = withObject "RecurringCharge"-              (\ x ->-                 RecurringCharge' <$>-                   (x .:? "frequency") <*> (x .:? "cost"))--instance Hashable RecurringCharge--instance NFData RecurringCharge---- | Represents information about the remote access session.------------ /See:/ 'remoteAccessSession' smart constructor.-data RemoteAccessSession = RemoteAccessSession'-    { _rasBillingMethod :: !(Maybe BillingMethod)-    , _rasStatus        :: !(Maybe ExecutionStatus)-    , _rasArn           :: !(Maybe Text)-    , _rasCreated       :: !(Maybe POSIX)-    , _rasDevice        :: !(Maybe Device)-    , _rasStopped       :: !(Maybe POSIX)-    , _rasResult        :: !(Maybe ExecutionResult)-    , _rasName          :: !(Maybe Text)-    , _rasDeviceMinutes :: !(Maybe DeviceMinutes)-    , _rasEndpoint      :: !(Maybe Text)-    , _rasMessage       :: !(Maybe Text)-    , _rasStarted       :: !(Maybe POSIX)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'RemoteAccessSession' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rasBillingMethod' - The billing method of the remote access session. Possible values include @METERED@ or @UNMETERED@ . For more information about metered devices, see <http://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html#welcome-terminology AWS Device Farm terminology> ."------ * 'rasStatus' - The status of the remote access session. Can be any of the following:     * PENDING: A pending status.     * PENDING_CONCURRENCY: A pending concurrency status.     * PENDING_DEVICE: A pending device status.     * PROCESSING: A processing status.     * SCHEDULING: A scheduling status.     * PREPARING: A preparing status.     * RUNNING: A running status.     * COMPLETED: A completed status.     * STOPPING: A stopping status.------ * 'rasArn' - The Amazon Resource Name (ARN) of the remote access session.------ * 'rasCreated' - The date and time the remote access session was created.------ * 'rasDevice' - Undocumented member.------ * 'rasStopped' - The date and time the remote access session was stopped.------ * 'rasResult' - The result of the remote access session. Can be any of the following:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.------ * 'rasName' - The name of the remote access session.------ * 'rasDeviceMinutes' - Undocumented member.------ * 'rasEndpoint' - The endpoint for the remote access sesssion.------ * 'rasMessage' - A message about the remote access session.------ * 'rasStarted' - The date and time the remote access session was started.-remoteAccessSession-    :: RemoteAccessSession-remoteAccessSession =-    RemoteAccessSession'-    { _rasBillingMethod = Nothing-    , _rasStatus = Nothing-    , _rasArn = Nothing-    , _rasCreated = Nothing-    , _rasDevice = Nothing-    , _rasStopped = Nothing-    , _rasResult = Nothing-    , _rasName = Nothing-    , _rasDeviceMinutes = Nothing-    , _rasEndpoint = Nothing-    , _rasMessage = Nothing-    , _rasStarted = Nothing-    }---- | The billing method of the remote access session. Possible values include @METERED@ or @UNMETERED@ . For more information about metered devices, see <http://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html#welcome-terminology AWS Device Farm terminology> ."-rasBillingMethod :: Lens' RemoteAccessSession (Maybe BillingMethod)-rasBillingMethod = lens _rasBillingMethod (\ s a -> s{_rasBillingMethod = a});---- | The status of the remote access session. Can be any of the following:     * PENDING: A pending status.     * PENDING_CONCURRENCY: A pending concurrency status.     * PENDING_DEVICE: A pending device status.     * PROCESSING: A processing status.     * SCHEDULING: A scheduling status.     * PREPARING: A preparing status.     * RUNNING: A running status.     * COMPLETED: A completed status.     * STOPPING: A stopping status.-rasStatus :: Lens' RemoteAccessSession (Maybe ExecutionStatus)-rasStatus = lens _rasStatus (\ s a -> s{_rasStatus = a});---- | The Amazon Resource Name (ARN) of the remote access session.-rasArn :: Lens' RemoteAccessSession (Maybe Text)-rasArn = lens _rasArn (\ s a -> s{_rasArn = a});---- | The date and time the remote access session was created.-rasCreated :: Lens' RemoteAccessSession (Maybe UTCTime)-rasCreated = lens _rasCreated (\ s a -> s{_rasCreated = a}) . mapping _Time;---- | Undocumented member.-rasDevice :: Lens' RemoteAccessSession (Maybe Device)-rasDevice = lens _rasDevice (\ s a -> s{_rasDevice = a});---- | The date and time the remote access session was stopped.-rasStopped :: Lens' RemoteAccessSession (Maybe UTCTime)-rasStopped = lens _rasStopped (\ s a -> s{_rasStopped = a}) . mapping _Time;---- | The result of the remote access session. Can be any of the following:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.-rasResult :: Lens' RemoteAccessSession (Maybe ExecutionResult)-rasResult = lens _rasResult (\ s a -> s{_rasResult = a});---- | The name of the remote access session.-rasName :: Lens' RemoteAccessSession (Maybe Text)-rasName = lens _rasName (\ s a -> s{_rasName = a});---- | Undocumented member.-rasDeviceMinutes :: Lens' RemoteAccessSession (Maybe DeviceMinutes)-rasDeviceMinutes = lens _rasDeviceMinutes (\ s a -> s{_rasDeviceMinutes = a});---- | The endpoint for the remote access sesssion.-rasEndpoint :: Lens' RemoteAccessSession (Maybe Text)-rasEndpoint = lens _rasEndpoint (\ s a -> s{_rasEndpoint = a});---- | A message about the remote access session.-rasMessage :: Lens' RemoteAccessSession (Maybe Text)-rasMessage = lens _rasMessage (\ s a -> s{_rasMessage = a});---- | The date and time the remote access session was started.-rasStarted :: Lens' RemoteAccessSession (Maybe UTCTime)-rasStarted = lens _rasStarted (\ s a -> s{_rasStarted = a}) . mapping _Time;--instance FromJSON RemoteAccessSession where-        parseJSON-          = withObject "RemoteAccessSession"-              (\ x ->-                 RemoteAccessSession' <$>-                   (x .:? "billingMethod") <*> (x .:? "status") <*>-                     (x .:? "arn")-                     <*> (x .:? "created")-                     <*> (x .:? "device")-                     <*> (x .:? "stopped")-                     <*> (x .:? "result")-                     <*> (x .:? "name")-                     <*> (x .:? "deviceMinutes")-                     <*> (x .:? "endpoint")-                     <*> (x .:? "message")-                     <*> (x .:? "started"))--instance Hashable RemoteAccessSession--instance NFData RemoteAccessSession---- | Represents the screen resolution of a device in height and width, expressed in pixels.------------ /See:/ 'resolution' smart constructor.-data Resolution = Resolution'-    { _rHeight :: !(Maybe Int)-    , _rWidth  :: !(Maybe Int)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Resolution' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rHeight' - The screen resolution's height, expressed in pixels.------ * 'rWidth' - The screen resolution's width, expressed in pixels.-resolution-    :: Resolution-resolution =-    Resolution'-    { _rHeight = Nothing-    , _rWidth = Nothing-    }---- | The screen resolution's height, expressed in pixels.-rHeight :: Lens' Resolution (Maybe Int)-rHeight = lens _rHeight (\ s a -> s{_rHeight = a});---- | The screen resolution's width, expressed in pixels.-rWidth :: Lens' Resolution (Maybe Int)-rWidth = lens _rWidth (\ s a -> s{_rWidth = a});--instance FromJSON Resolution where-        parseJSON-          = withObject "Resolution"-              (\ x ->-                 Resolution' <$> (x .:? "height") <*> (x .:? "width"))--instance Hashable Resolution--instance NFData Resolution---- | Represents a condition for a device pool.------------ /See:/ 'rule' smart constructor.-data Rule = Rule'-    { _rAttribute :: !(Maybe DeviceAttribute)-    , _rOperator  :: !(Maybe RuleOperator)-    , _rValue     :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Rule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rAttribute' - The rule's stringified attribute. For example, specify the value as @"\"abc\""@ . Allowed values include:     * ARN: The ARN.     * FORM_FACTOR: The form factor (for example, phone or tablet).     * MANUFACTURER: The manufacturer.     * PLATFORM: The platform (for example, Android or iOS).------ * 'rOperator' - The rule's operator.     * EQUALS: The equals operator.     * GREATER_THAN: The greater-than operator.     * IN: The in operator.     * LESS_THAN: The less-than operator.     * NOT_IN: The not-in operator.------ * 'rValue' - The rule's value.-rule-    :: Rule-rule =-    Rule'-    { _rAttribute = Nothing-    , _rOperator = Nothing-    , _rValue = Nothing-    }---- | The rule's stringified attribute. For example, specify the value as @"\"abc\""@ . Allowed values include:     * ARN: The ARN.     * FORM_FACTOR: The form factor (for example, phone or tablet).     * MANUFACTURER: The manufacturer.     * PLATFORM: The platform (for example, Android or iOS).-rAttribute :: Lens' Rule (Maybe DeviceAttribute)-rAttribute = lens _rAttribute (\ s a -> s{_rAttribute = a});---- | The rule's operator.     * EQUALS: The equals operator.     * GREATER_THAN: The greater-than operator.     * IN: The in operator.     * LESS_THAN: The less-than operator.     * NOT_IN: The not-in operator.-rOperator :: Lens' Rule (Maybe RuleOperator)-rOperator = lens _rOperator (\ s a -> s{_rOperator = a});---- | The rule's value.-rValue :: Lens' Rule (Maybe Text)-rValue = lens _rValue (\ s a -> s{_rValue = a});--instance FromJSON Rule where-        parseJSON-          = withObject "Rule"-              (\ x ->-                 Rule' <$>-                   (x .:? "attribute") <*> (x .:? "operator") <*>-                     (x .:? "value"))--instance Hashable Rule--instance NFData Rule--instance ToJSON Rule where-        toJSON Rule'{..}-          = object-              (catMaybes-                 [("attribute" .=) <$> _rAttribute,-                  ("operator" .=) <$> _rOperator,-                  ("value" .=) <$> _rValue])---- | Represents an app on a set of devices with a specific test and configuration.------------ /See:/ 'run' smart constructor.-data Run = Run'-    { _runBillingMethod :: !(Maybe BillingMethod)-    , _runStatus        :: !(Maybe ExecutionStatus)-    , _runCounters      :: !(Maybe Counters)-    , _runPlatform      :: !(Maybe DevicePlatform)-    , _runArn           :: !(Maybe Text)-    , _runCreated       :: !(Maybe POSIX)-    , _runStopped       :: !(Maybe POSIX)-    , _runResult        :: !(Maybe ExecutionResult)-    , _runCompletedJobs :: !(Maybe Int)-    , _runName          :: !(Maybe Text)-    , _runDeviceMinutes :: !(Maybe DeviceMinutes)-    , _runType          :: !(Maybe TestType)-    , _runMessage       :: !(Maybe Text)-    , _runTotalJobs     :: !(Maybe Int)-    , _runStarted       :: !(Maybe POSIX)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Run' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'runBillingMethod' - Specifies the billing method for a test run: @metered@ or @unmetered@ . If the parameter is not specified, the default value is @metered@ .------ * 'runStatus' - The run's status. Allowed values include:     * PENDING: A pending status.     * PENDING_CONCURRENCY: A pending concurrency status.     * PENDING_DEVICE: A pending device status.     * PROCESSING: A processing status.     * SCHEDULING: A scheduling status.     * PREPARING: A preparing status.     * RUNNING: A running status.     * COMPLETED: A completed status.     * STOPPING: A stopping status.------ * 'runCounters' - The run's result counters.------ * 'runPlatform' - The run's platform. Allowed values include:     * ANDROID: The Android platform.     * IOS: The iOS platform.------ * 'runArn' - The run's ARN.------ * 'runCreated' - When the run was created.------ * 'runStopped' - The run's stop time.------ * 'runResult' - The run's result. Allowed values include:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.------ * 'runCompletedJobs' - The total number of completed jobs.------ * 'runName' - The run's name.------ * 'runDeviceMinutes' - Represents the total (metered or unmetered) minutes used by the test run.------ * 'runType' - The run's type. Must be one of the following values:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.------ * 'runMessage' - A message about the run's result.------ * 'runTotalJobs' - The total number of jobs for the run.------ * 'runStarted' - The run's start time.-run-    :: Run-run =-    Run'-    { _runBillingMethod = Nothing-    , _runStatus = Nothing-    , _runCounters = Nothing-    , _runPlatform = Nothing-    , _runArn = Nothing-    , _runCreated = Nothing-    , _runStopped = Nothing-    , _runResult = Nothing-    , _runCompletedJobs = Nothing-    , _runName = Nothing-    , _runDeviceMinutes = Nothing-    , _runType = Nothing-    , _runMessage = Nothing-    , _runTotalJobs = Nothing-    , _runStarted = Nothing-    }---- | Specifies the billing method for a test run: @metered@ or @unmetered@ . If the parameter is not specified, the default value is @metered@ .-runBillingMethod :: Lens' Run (Maybe BillingMethod)-runBillingMethod = lens _runBillingMethod (\ s a -> s{_runBillingMethod = a});---- | The run's status. Allowed values include:     * PENDING: A pending status.     * PENDING_CONCURRENCY: A pending concurrency status.     * PENDING_DEVICE: A pending device status.     * PROCESSING: A processing status.     * SCHEDULING: A scheduling status.     * PREPARING: A preparing status.     * RUNNING: A running status.     * COMPLETED: A completed status.     * STOPPING: A stopping status.-runStatus :: Lens' Run (Maybe ExecutionStatus)-runStatus = lens _runStatus (\ s a -> s{_runStatus = a});---- | The run's result counters.-runCounters :: Lens' Run (Maybe Counters)-runCounters = lens _runCounters (\ s a -> s{_runCounters = a});---- | The run's platform. Allowed values include:     * ANDROID: The Android platform.     * IOS: The iOS platform.-runPlatform :: Lens' Run (Maybe DevicePlatform)-runPlatform = lens _runPlatform (\ s a -> s{_runPlatform = a});---- | The run's ARN.-runArn :: Lens' Run (Maybe Text)-runArn = lens _runArn (\ s a -> s{_runArn = a});---- | When the run was created.-runCreated :: Lens' Run (Maybe UTCTime)-runCreated = lens _runCreated (\ s a -> s{_runCreated = a}) . mapping _Time;---- | The run's stop time.-runStopped :: Lens' Run (Maybe UTCTime)-runStopped = lens _runStopped (\ s a -> s{_runStopped = a}) . mapping _Time;---- | The run's result. Allowed values include:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.-runResult :: Lens' Run (Maybe ExecutionResult)-runResult = lens _runResult (\ s a -> s{_runResult = a});---- | The total number of completed jobs.-runCompletedJobs :: Lens' Run (Maybe Int)-runCompletedJobs = lens _runCompletedJobs (\ s a -> s{_runCompletedJobs = a});---- | The run's name.-runName :: Lens' Run (Maybe Text)-runName = lens _runName (\ s a -> s{_runName = a});---- | Represents the total (metered or unmetered) minutes used by the test run.-runDeviceMinutes :: Lens' Run (Maybe DeviceMinutes)-runDeviceMinutes = lens _runDeviceMinutes (\ s a -> s{_runDeviceMinutes = a});---- | The run's type. Must be one of the following values:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.-runType :: Lens' Run (Maybe TestType)-runType = lens _runType (\ s a -> s{_runType = a});---- | A message about the run's result.-runMessage :: Lens' Run (Maybe Text)-runMessage = lens _runMessage (\ s a -> s{_runMessage = a});---- | The total number of jobs for the run.-runTotalJobs :: Lens' Run (Maybe Int)-runTotalJobs = lens _runTotalJobs (\ s a -> s{_runTotalJobs = a});---- | The run's start time.-runStarted :: Lens' Run (Maybe UTCTime)-runStarted = lens _runStarted (\ s a -> s{_runStarted = a}) . mapping _Time;--instance FromJSON Run where-        parseJSON-          = withObject "Run"-              (\ x ->-                 Run' <$>-                   (x .:? "billingMethod") <*> (x .:? "status") <*>-                     (x .:? "counters")-                     <*> (x .:? "platform")-                     <*> (x .:? "arn")-                     <*> (x .:? "created")-                     <*> (x .:? "stopped")-                     <*> (x .:? "result")-                     <*> (x .:? "completedJobs")-                     <*> (x .:? "name")-                     <*> (x .:? "deviceMinutes")-                     <*> (x .:? "type")-                     <*> (x .:? "message")-                     <*> (x .:? "totalJobs")-                     <*> (x .:? "started"))--instance Hashable Run--instance NFData Run---- | Represents a sample of performance data.------------ /See:/ 'sample' smart constructor.-data Sample = Sample'-    { _samArn  :: !(Maybe Text)-    , _samUrl  :: !(Maybe Text)-    , _samType :: !(Maybe SampleType)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Sample' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'samArn' - The sample's ARN.------ * 'samUrl' - The pre-signed Amazon S3 URL that can be used with a corresponding GET request to download the sample's file.------ * 'samType' - The sample's type. Must be one of the following values:     * CPU: A CPU sample type. This is expressed as the app processing CPU time (including child processes) as reported by process, as a percentage.     * MEMORY: A memory usage sample type. This is expressed as the total proportional set size of an app process, in kilobytes.     * NATIVE_AVG_DRAWTIME     * NATIVE_FPS     * NATIVE_FRAMES     * NATIVE_MAX_DRAWTIME     * NATIVE_MIN_DRAWTIME     * OPENGL_AVG_DRAWTIME     * OPENGL_FPS     * OPENGL_FRAMES     * OPENGL_MAX_DRAWTIME     * OPENGL_MIN_DRAWTIME     * RX     * RX_RATE: The total number of bytes per second (TCP and UDP) that are sent, by app process.     * THREADS: A threads sample type. This is expressed as the total number of threads per app process.     * TX     * TX_RATE: The total number of bytes per second (TCP and UDP) that are received, by app process.-sample-    :: Sample-sample =-    Sample'-    { _samArn = Nothing-    , _samUrl = Nothing-    , _samType = Nothing-    }---- | The sample's ARN.-samArn :: Lens' Sample (Maybe Text)-samArn = lens _samArn (\ s a -> s{_samArn = a});---- | The pre-signed Amazon S3 URL that can be used with a corresponding GET request to download the sample's file.-samUrl :: Lens' Sample (Maybe Text)-samUrl = lens _samUrl (\ s a -> s{_samUrl = a});---- | The sample's type. Must be one of the following values:     * CPU: A CPU sample type. This is expressed as the app processing CPU time (including child processes) as reported by process, as a percentage.     * MEMORY: A memory usage sample type. This is expressed as the total proportional set size of an app process, in kilobytes.     * NATIVE_AVG_DRAWTIME     * NATIVE_FPS     * NATIVE_FRAMES     * NATIVE_MAX_DRAWTIME     * NATIVE_MIN_DRAWTIME     * OPENGL_AVG_DRAWTIME     * OPENGL_FPS     * OPENGL_FRAMES     * OPENGL_MAX_DRAWTIME     * OPENGL_MIN_DRAWTIME     * RX     * RX_RATE: The total number of bytes per second (TCP and UDP) that are sent, by app process.     * THREADS: A threads sample type. This is expressed as the total number of threads per app process.     * TX     * TX_RATE: The total number of bytes per second (TCP and UDP) that are received, by app process.-samType :: Lens' Sample (Maybe SampleType)-samType = lens _samType (\ s a -> s{_samType = a});--instance FromJSON Sample where-        parseJSON-          = withObject "Sample"-              (\ x ->-                 Sample' <$>-                   (x .:? "arn") <*> (x .:? "url") <*> (x .:? "type"))--instance Hashable Sample--instance NFData Sample---- | Represents the settings for a run. Includes things like location, radio states, auxiliary apps, and network profiles.------------ /See:/ 'scheduleRunConfiguration' smart constructor.-data ScheduleRunConfiguration = ScheduleRunConfiguration'-    { _srcBillingMethod       :: !(Maybe BillingMethod)-    , _srcRadios              :: !(Maybe Radios)-    , _srcLocation            :: !(Maybe Location)-    , _srcLocale              :: !(Maybe Text)-    , _srcNetworkProfileARN   :: !(Maybe Text)-    , _srcExtraDataPackageARN :: !(Maybe Text)-    , _srcAuxiliaryApps       :: !(Maybe [Text])-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ScheduleRunConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'srcBillingMethod' - Specifies the billing method for a test run: @metered@ or @unmetered@ . If the parameter is not specified, the default value is @metered@ .------ * 'srcRadios' - Information about the radio states for the run.------ * 'srcLocation' - Information about the location that is used for the run.------ * 'srcLocale' - Information about the locale that is used for the run.------ * 'srcNetworkProfileARN' - Reserved for internal use.------ * 'srcExtraDataPackageARN' - The ARN of the extra data for the run. The extra data is a .zip file that AWS Device Farm will extract to external data for Android or the app's sandbox for iOS.------ * 'srcAuxiliaryApps' - A list of auxiliary apps for the run.-scheduleRunConfiguration-    :: ScheduleRunConfiguration-scheduleRunConfiguration =-    ScheduleRunConfiguration'-    { _srcBillingMethod = Nothing-    , _srcRadios = Nothing-    , _srcLocation = Nothing-    , _srcLocale = Nothing-    , _srcNetworkProfileARN = Nothing-    , _srcExtraDataPackageARN = Nothing-    , _srcAuxiliaryApps = Nothing-    }---- | Specifies the billing method for a test run: @metered@ or @unmetered@ . If the parameter is not specified, the default value is @metered@ .-srcBillingMethod :: Lens' ScheduleRunConfiguration (Maybe BillingMethod)-srcBillingMethod = lens _srcBillingMethod (\ s a -> s{_srcBillingMethod = a});---- | Information about the radio states for the run.-srcRadios :: Lens' ScheduleRunConfiguration (Maybe Radios)-srcRadios = lens _srcRadios (\ s a -> s{_srcRadios = a});---- | Information about the location that is used for the run.-srcLocation :: Lens' ScheduleRunConfiguration (Maybe Location)-srcLocation = lens _srcLocation (\ s a -> s{_srcLocation = a});---- | Information about the locale that is used for the run.-srcLocale :: Lens' ScheduleRunConfiguration (Maybe Text)-srcLocale = lens _srcLocale (\ s a -> s{_srcLocale = a});---- | Reserved for internal use.-srcNetworkProfileARN :: Lens' ScheduleRunConfiguration (Maybe Text)-srcNetworkProfileARN = lens _srcNetworkProfileARN (\ s a -> s{_srcNetworkProfileARN = a});---- | The ARN of the extra data for the run. The extra data is a .zip file that AWS Device Farm will extract to external data for Android or the app's sandbox for iOS.-srcExtraDataPackageARN :: Lens' ScheduleRunConfiguration (Maybe Text)-srcExtraDataPackageARN = lens _srcExtraDataPackageARN (\ s a -> s{_srcExtraDataPackageARN = a});---- | A list of auxiliary apps for the run.-srcAuxiliaryApps :: Lens' ScheduleRunConfiguration [Text]-srcAuxiliaryApps = lens _srcAuxiliaryApps (\ s a -> s{_srcAuxiliaryApps = a}) . _Default . _Coerce;--instance Hashable ScheduleRunConfiguration--instance NFData ScheduleRunConfiguration--instance ToJSON ScheduleRunConfiguration where-        toJSON ScheduleRunConfiguration'{..}-          = object-              (catMaybes-                 [("billingMethod" .=) <$> _srcBillingMethod,-                  ("radios" .=) <$> _srcRadios,-                  ("location" .=) <$> _srcLocation,-                  ("locale" .=) <$> _srcLocale,-                  ("networkProfileArn" .=) <$> _srcNetworkProfileARN,-                  ("extraDataPackageArn" .=) <$>-                    _srcExtraDataPackageARN,-                  ("auxiliaryApps" .=) <$> _srcAuxiliaryApps])---- | Represents additional test settings.------------ /See:/ 'scheduleRunTest' smart constructor.-data ScheduleRunTest = ScheduleRunTest'-    { _srtTestPackageARN :: !(Maybe Text)-    , _srtParameters     :: !(Maybe (Map Text Text))-    , _srtFilter         :: !(Maybe Text)-    , _srtType           :: !TestType-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ScheduleRunTest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'srtTestPackageARN' - The ARN of the uploaded test that will be run.------ * 'srtParameters' - The test's parameters, such as test framework parameters and fixture settings.------ * 'srtFilter' - The test's filter.------ * 'srtType' - The test's type. Must be one of the following values:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.-scheduleRunTest-    :: TestType -- ^ 'srtType'-    -> ScheduleRunTest-scheduleRunTest pType_ =-    ScheduleRunTest'-    { _srtTestPackageARN = Nothing-    , _srtParameters = Nothing-    , _srtFilter = Nothing-    , _srtType = pType_-    }---- | The ARN of the uploaded test that will be run.-srtTestPackageARN :: Lens' ScheduleRunTest (Maybe Text)-srtTestPackageARN = lens _srtTestPackageARN (\ s a -> s{_srtTestPackageARN = a});---- | The test's parameters, such as test framework parameters and fixture settings.-srtParameters :: Lens' ScheduleRunTest (HashMap Text Text)-srtParameters = lens _srtParameters (\ s a -> s{_srtParameters = a}) . _Default . _Map;---- | The test's filter.-srtFilter :: Lens' ScheduleRunTest (Maybe Text)-srtFilter = lens _srtFilter (\ s a -> s{_srtFilter = a});---- | The test's type. Must be one of the following values:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.-srtType :: Lens' ScheduleRunTest TestType-srtType = lens _srtType (\ s a -> s{_srtType = a});--instance Hashable ScheduleRunTest--instance NFData ScheduleRunTest--instance ToJSON ScheduleRunTest where-        toJSON ScheduleRunTest'{..}-          = object-              (catMaybes-                 [("testPackageArn" .=) <$> _srtTestPackageARN,-                  ("parameters" .=) <$> _srtParameters,-                  ("filter" .=) <$> _srtFilter,-                  Just ("type" .= _srtType)])---- | Represents a collection of one or more tests.------------ /See:/ 'suite' smart constructor.-data Suite = Suite'-    { _sStatus        :: !(Maybe ExecutionStatus)-    , _sCounters      :: !(Maybe Counters)-    , _sArn           :: !(Maybe Text)-    , _sCreated       :: !(Maybe POSIX)-    , _sStopped       :: !(Maybe POSIX)-    , _sResult        :: !(Maybe ExecutionResult)-    , _sName          :: !(Maybe Text)-    , _sDeviceMinutes :: !(Maybe DeviceMinutes)-    , _sType          :: !(Maybe TestType)-    , _sMessage       :: !(Maybe Text)-    , _sStarted       :: !(Maybe POSIX)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Suite' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sStatus' - The suite's status. Allowed values include:     * PENDING: A pending status.     * PENDING_CONCURRENCY: A pending concurrency status.     * PENDING_DEVICE: A pending device status.     * PROCESSING: A processing status.     * SCHEDULING: A scheduling status.     * PREPARING: A preparing status.     * RUNNING: A running status.     * COMPLETED: A completed status.     * STOPPING: A stopping status.------ * 'sCounters' - The suite's result counters.------ * 'sArn' - The suite's ARN.------ * 'sCreated' - When the suite was created.------ * 'sStopped' - The suite's stop time.------ * 'sResult' - The suite's result. Allowed values include:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.------ * 'sName' - The suite's name.------ * 'sDeviceMinutes' - Represents the total (metered or unmetered) minutes used by the test suite.------ * 'sType' - The suite's type. Must be one of the following values:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.------ * 'sMessage' - A message about the suite's result.------ * 'sStarted' - The suite's start time.-suite-    :: Suite-suite =-    Suite'-    { _sStatus = Nothing-    , _sCounters = Nothing-    , _sArn = Nothing-    , _sCreated = Nothing-    , _sStopped = Nothing-    , _sResult = Nothing-    , _sName = Nothing-    , _sDeviceMinutes = Nothing-    , _sType = Nothing-    , _sMessage = Nothing-    , _sStarted = Nothing-    }---- | The suite's status. Allowed values include:     * PENDING: A pending status.     * PENDING_CONCURRENCY: A pending concurrency status.     * PENDING_DEVICE: A pending device status.     * PROCESSING: A processing status.     * SCHEDULING: A scheduling status.     * PREPARING: A preparing status.     * RUNNING: A running status.     * COMPLETED: A completed status.     * STOPPING: A stopping status.-sStatus :: Lens' Suite (Maybe ExecutionStatus)-sStatus = lens _sStatus (\ s a -> s{_sStatus = a});---- | The suite's result counters.-sCounters :: Lens' Suite (Maybe Counters)-sCounters = lens _sCounters (\ s a -> s{_sCounters = a});---- | The suite's ARN.-sArn :: Lens' Suite (Maybe Text)-sArn = lens _sArn (\ s a -> s{_sArn = a});---- | When the suite was created.-sCreated :: Lens' Suite (Maybe UTCTime)-sCreated = lens _sCreated (\ s a -> s{_sCreated = a}) . mapping _Time;---- | The suite's stop time.-sStopped :: Lens' Suite (Maybe UTCTime)-sStopped = lens _sStopped (\ s a -> s{_sStopped = a}) . mapping _Time;---- | The suite's result. Allowed values include:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.-sResult :: Lens' Suite (Maybe ExecutionResult)-sResult = lens _sResult (\ s a -> s{_sResult = a});---- | The suite's name.-sName :: Lens' Suite (Maybe Text)-sName = lens _sName (\ s a -> s{_sName = a});---- | Represents the total (metered or unmetered) minutes used by the test suite.-sDeviceMinutes :: Lens' Suite (Maybe DeviceMinutes)-sDeviceMinutes = lens _sDeviceMinutes (\ s a -> s{_sDeviceMinutes = a});---- | The suite's type. Must be one of the following values:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.-sType :: Lens' Suite (Maybe TestType)-sType = lens _sType (\ s a -> s{_sType = a});---- | A message about the suite's result.-sMessage :: Lens' Suite (Maybe Text)-sMessage = lens _sMessage (\ s a -> s{_sMessage = a});---- | The suite's start time.-sStarted :: Lens' Suite (Maybe UTCTime)-sStarted = lens _sStarted (\ s a -> s{_sStarted = a}) . mapping _Time;--instance FromJSON Suite where-        parseJSON-          = withObject "Suite"-              (\ x ->-                 Suite' <$>-                   (x .:? "status") <*> (x .:? "counters") <*>-                     (x .:? "arn")-                     <*> (x .:? "created")-                     <*> (x .:? "stopped")-                     <*> (x .:? "result")-                     <*> (x .:? "name")-                     <*> (x .:? "deviceMinutes")-                     <*> (x .:? "type")-                     <*> (x .:? "message")-                     <*> (x .:? "started"))--instance Hashable Suite--instance NFData Suite---- | Represents a condition that is evaluated.------------ /See:/ 'test' smart constructor.-data Test = Test'-    { _tStatus        :: !(Maybe ExecutionStatus)-    , _tCounters      :: !(Maybe Counters)-    , _tArn           :: !(Maybe Text)-    , _tCreated       :: !(Maybe POSIX)-    , _tStopped       :: !(Maybe POSIX)-    , _tResult        :: !(Maybe ExecutionResult)-    , _tName          :: !(Maybe Text)-    , _tDeviceMinutes :: !(Maybe DeviceMinutes)-    , _tType          :: !(Maybe TestType)-    , _tMessage       :: !(Maybe Text)-    , _tStarted       :: !(Maybe POSIX)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Test' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tStatus' - The test's status. Allowed values include:     * PENDING: A pending status.     * PENDING_CONCURRENCY: A pending concurrency status.     * PENDING_DEVICE: A pending device status.     * PROCESSING: A processing status.     * SCHEDULING: A scheduling status.     * PREPARING: A preparing status.     * RUNNING: A running status.     * COMPLETED: A completed status.     * STOPPING: A stopping status.------ * 'tCounters' - The test's result counters.------ * 'tArn' - The test's ARN.------ * 'tCreated' - When the test was created.------ * 'tStopped' - The test's stop time.------ * 'tResult' - The test's result. Allowed values include:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.------ * 'tName' - The test's name.------ * 'tDeviceMinutes' - Represents the total (metered or unmetered) minutes used by the test.------ * 'tType' - The test's type. Must be one of the following values:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.------ * 'tMessage' - A message about the test's result.------ * 'tStarted' - The test's start time.-test-    :: Test-test =-    Test'-    { _tStatus = Nothing-    , _tCounters = Nothing-    , _tArn = Nothing-    , _tCreated = Nothing-    , _tStopped = Nothing-    , _tResult = Nothing-    , _tName = Nothing-    , _tDeviceMinutes = Nothing-    , _tType = Nothing-    , _tMessage = Nothing-    , _tStarted = Nothing-    }---- | The test's status. Allowed values include:     * PENDING: A pending status.     * PENDING_CONCURRENCY: A pending concurrency status.     * PENDING_DEVICE: A pending device status.     * PROCESSING: A processing status.     * SCHEDULING: A scheduling status.     * PREPARING: A preparing status.     * RUNNING: A running status.     * COMPLETED: A completed status.     * STOPPING: A stopping status.-tStatus :: Lens' Test (Maybe ExecutionStatus)-tStatus = lens _tStatus (\ s a -> s{_tStatus = a});---- | The test's result counters.-tCounters :: Lens' Test (Maybe Counters)-tCounters = lens _tCounters (\ s a -> s{_tCounters = a});---- | The test's ARN.-tArn :: Lens' Test (Maybe Text)-tArn = lens _tArn (\ s a -> s{_tArn = a});---- | When the test was created.-tCreated :: Lens' Test (Maybe UTCTime)-tCreated = lens _tCreated (\ s a -> s{_tCreated = a}) . mapping _Time;---- | The test's stop time.-tStopped :: Lens' Test (Maybe UTCTime)-tStopped = lens _tStopped (\ s a -> s{_tStopped = a}) . mapping _Time;---- | The test's result. Allowed values include:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.-tResult :: Lens' Test (Maybe ExecutionResult)-tResult = lens _tResult (\ s a -> s{_tResult = a});---- | The test's name.-tName :: Lens' Test (Maybe Text)-tName = lens _tName (\ s a -> s{_tName = a});---- | Represents the total (metered or unmetered) minutes used by the test.-tDeviceMinutes :: Lens' Test (Maybe DeviceMinutes)-tDeviceMinutes = lens _tDeviceMinutes (\ s a -> s{_tDeviceMinutes = a});---- | The test's type. Must be one of the following values:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.-tType :: Lens' Test (Maybe TestType)-tType = lens _tType (\ s a -> s{_tType = a});---- | A message about the test's result.-tMessage :: Lens' Test (Maybe Text)-tMessage = lens _tMessage (\ s a -> s{_tMessage = a});---- | The test's start time.-tStarted :: Lens' Test (Maybe UTCTime)-tStarted = lens _tStarted (\ s a -> s{_tStarted = a}) . mapping _Time;--instance FromJSON Test where-        parseJSON-          = withObject "Test"-              (\ x ->-                 Test' <$>-                   (x .:? "status") <*> (x .:? "counters") <*>-                     (x .:? "arn")-                     <*> (x .:? "created")-                     <*> (x .:? "stopped")-                     <*> (x .:? "result")-                     <*> (x .:? "name")-                     <*> (x .:? "deviceMinutes")-                     <*> (x .:? "type")-                     <*> (x .:? "message")-                     <*> (x .:? "started"))--instance Hashable Test--instance NFData Test---- | A collection of one or more problems, grouped by their result.------------ /See:/ 'uniqueProblem' smart constructor.-data UniqueProblem = UniqueProblem'-    { _upProblems :: !(Maybe [Problem])-    , _upMessage  :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'UniqueProblem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'upProblems' - Information about the problems.------ * 'upMessage' - A message about the unique problems' result.-uniqueProblem-    :: UniqueProblem-uniqueProblem =-    UniqueProblem'-    { _upProblems = Nothing-    , _upMessage = Nothing-    }---- | Information about the problems.-upProblems :: Lens' UniqueProblem [Problem]-upProblems = lens _upProblems (\ s a -> s{_upProblems = a}) . _Default . _Coerce;---- | A message about the unique problems' result.-upMessage :: Lens' UniqueProblem (Maybe Text)-upMessage = lens _upMessage (\ s a -> s{_upMessage = a});--instance FromJSON UniqueProblem where-        parseJSON-          = withObject "UniqueProblem"-              (\ x ->-                 UniqueProblem' <$>-                   (x .:? "problems" .!= mempty) <*> (x .:? "message"))--instance Hashable UniqueProblem--instance NFData UniqueProblem---- | An app or a set of one or more tests to upload or that have been uploaded.------------ /See:/ 'upload' smart constructor.-data Upload = Upload'-    { _uStatus      :: !(Maybe UploadStatus)-    , _uArn         :: !(Maybe Text)-    , _uCreated     :: !(Maybe POSIX)-    , _uUrl         :: !(Maybe Text)-    , _uName        :: !(Maybe Text)-    , _uMetadata    :: !(Maybe Text)-    , _uType        :: !(Maybe UploadType)-    , _uMessage     :: !(Maybe Text)-    , _uContentType :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Upload' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uStatus' - The upload's status. Must be one of the following values:     * FAILED: A failed status.     * INITIALIZED: An initialized status.     * PROCESSING: A processing status.     * SUCCEEDED: A succeeded status.------ * 'uArn' - The upload's ARN.------ * 'uCreated' - When the upload was created.------ * 'uUrl' - The pre-signed Amazon S3 URL that was used to store a file through a corresponding PUT request.------ * 'uName' - The upload's file name.------ * 'uMetadata' - The upload's metadata. For example, for Android, this contains information that is parsed from the manifest and is displayed in the AWS Device Farm console after the associated app is uploaded.------ * 'uType' - The upload's type. Must be one of the following values:     * ANDROID_APP: An Android upload.     * IOS_APP: An iOS upload.     * WEB_APP: A web appliction upload.     * EXTERNAL_DATA: An external data upload.     * APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.     * APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.     * APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload.     * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.     * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.     * APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload.     * CALABASH_TEST_PACKAGE: A Calabash test package upload.     * INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.     * UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload.     * UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.     * XCTEST_TEST_PACKAGE: An XCode test package upload.     * XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.------ * 'uMessage' - A message about the upload's result.------ * 'uContentType' - The upload's content type (for example, "application/octet-stream").-upload-    :: Upload-upload =-    Upload'-    { _uStatus = Nothing-    , _uArn = Nothing-    , _uCreated = Nothing-    , _uUrl = Nothing-    , _uName = Nothing-    , _uMetadata = Nothing-    , _uType = Nothing-    , _uMessage = Nothing-    , _uContentType = Nothing-    }---- | The upload's status. Must be one of the following values:     * FAILED: A failed status.     * INITIALIZED: An initialized status.     * PROCESSING: A processing status.     * SUCCEEDED: A succeeded status.-uStatus :: Lens' Upload (Maybe UploadStatus)-uStatus = lens _uStatus (\ s a -> s{_uStatus = a});---- | The upload's ARN.-uArn :: Lens' Upload (Maybe Text)-uArn = lens _uArn (\ s a -> s{_uArn = a});---- | When the upload was created.-uCreated :: Lens' Upload (Maybe UTCTime)-uCreated = lens _uCreated (\ s a -> s{_uCreated = a}) . mapping _Time;---- | The pre-signed Amazon S3 URL that was used to store a file through a corresponding PUT request.-uUrl :: Lens' Upload (Maybe Text)-uUrl = lens _uUrl (\ s a -> s{_uUrl = a});---- | The upload's file name.-uName :: Lens' Upload (Maybe Text)-uName = lens _uName (\ s a -> s{_uName = a});---- | The upload's metadata. For example, for Android, this contains information that is parsed from the manifest and is displayed in the AWS Device Farm console after the associated app is uploaded.-uMetadata :: Lens' Upload (Maybe Text)-uMetadata = lens _uMetadata (\ s a -> s{_uMetadata = a});---- | The upload's type. Must be one of the following values:     * ANDROID_APP: An Android upload.     * IOS_APP: An iOS upload.     * WEB_APP: A web appliction upload.     * EXTERNAL_DATA: An external data upload.     * APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.     * APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.     * APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload.     * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.     * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.     * APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload.     * CALABASH_TEST_PACKAGE: A Calabash test package upload.     * INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.     * UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload.     * UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.     * XCTEST_TEST_PACKAGE: An XCode test package upload.     * XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.-uType :: Lens' Upload (Maybe UploadType)-uType = lens _uType (\ s a -> s{_uType = a});---- | A message about the upload's result.-uMessage :: Lens' Upload (Maybe Text)-uMessage = lens _uMessage (\ s a -> s{_uMessage = a});---- | The upload's content type (for example, "application/octet-stream").-uContentType :: Lens' Upload (Maybe Text)-uContentType = lens _uContentType (\ s a -> s{_uContentType = a});--instance FromJSON Upload where-        parseJSON-          = withObject "Upload"-              (\ x ->-                 Upload' <$>-                   (x .:? "status") <*> (x .:? "arn") <*>-                     (x .:? "created")-                     <*> (x .:? "url")-                     <*> (x .:? "name")-                     <*> (x .:? "metadata")-                     <*> (x .:? "type")-                     <*> (x .:? "message")-                     <*> (x .:? "contentType"))--instance Hashable Upload--instance NFData Upload+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.DeviceFarm.Types.Product where++import Network.AWS.DeviceFarm.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude++-- | A container for account-level settings within AWS Device Farm.+--+--+--+-- /See:/ 'accountSettings' smart constructor.+data AccountSettings = AccountSettings'+  { _asAwsAccountNumber             :: !(Maybe Text)+  , _asMaxJobTimeoutMinutes         :: !(Maybe Int)+  , _asMaxSlots                     :: !(Maybe (Map Text Int))+  , _asTrialMinutes                 :: !(Maybe TrialMinutes)+  , _asUnmeteredDevices             :: !(Maybe (Map DevicePlatform Int))+  , _asUnmeteredRemoteAccessDevices :: !(Maybe (Map DevicePlatform Int))+  , _asDefaultJobTimeoutMinutes     :: !(Maybe Int)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AccountSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asAwsAccountNumber' - The AWS account number specified in the @AccountSettings@ container.+--+-- * 'asMaxJobTimeoutMinutes' - The maximum number of minutes a test run will execute before it times out.+--+-- * 'asMaxSlots' - The maximum number of device slots that the AWS account can purchase. Each maximum is expressed as an @offering-id:number@ pair, where the @offering-id@ represents one of the IDs returned by the @ListOfferings@ command.+--+-- * 'asTrialMinutes' - Information about an AWS account's usage of free trial device minutes.+--+-- * 'asUnmeteredDevices' - Returns the unmetered devices you have purchased or want to purchase.+--+-- * 'asUnmeteredRemoteAccessDevices' - Returns the unmetered remote access devices you have purchased or want to purchase.+--+-- * 'asDefaultJobTimeoutMinutes' - The default number of minutes (at the account level) a test run will execute before it times out. Default value is 60 minutes.+accountSettings+    :: AccountSettings+accountSettings =+  AccountSettings'+  { _asAwsAccountNumber = Nothing+  , _asMaxJobTimeoutMinutes = Nothing+  , _asMaxSlots = Nothing+  , _asTrialMinutes = Nothing+  , _asUnmeteredDevices = Nothing+  , _asUnmeteredRemoteAccessDevices = Nothing+  , _asDefaultJobTimeoutMinutes = Nothing+  }+++-- | The AWS account number specified in the @AccountSettings@ container.+asAwsAccountNumber :: Lens' AccountSettings (Maybe Text)+asAwsAccountNumber = lens _asAwsAccountNumber (\ s a -> s{_asAwsAccountNumber = a});++-- | The maximum number of minutes a test run will execute before it times out.+asMaxJobTimeoutMinutes :: Lens' AccountSettings (Maybe Int)+asMaxJobTimeoutMinutes = lens _asMaxJobTimeoutMinutes (\ s a -> s{_asMaxJobTimeoutMinutes = a});++-- | The maximum number of device slots that the AWS account can purchase. Each maximum is expressed as an @offering-id:number@ pair, where the @offering-id@ represents one of the IDs returned by the @ListOfferings@ command.+asMaxSlots :: Lens' AccountSettings (HashMap Text Int)+asMaxSlots = lens _asMaxSlots (\ s a -> s{_asMaxSlots = a}) . _Default . _Map;++-- | Information about an AWS account's usage of free trial device minutes.+asTrialMinutes :: Lens' AccountSettings (Maybe TrialMinutes)+asTrialMinutes = lens _asTrialMinutes (\ s a -> s{_asTrialMinutes = a});++-- | Returns the unmetered devices you have purchased or want to purchase.+asUnmeteredDevices :: Lens' AccountSettings (HashMap DevicePlatform Int)+asUnmeteredDevices = lens _asUnmeteredDevices (\ s a -> s{_asUnmeteredDevices = a}) . _Default . _Map;++-- | Returns the unmetered remote access devices you have purchased or want to purchase.+asUnmeteredRemoteAccessDevices :: Lens' AccountSettings (HashMap DevicePlatform Int)+asUnmeteredRemoteAccessDevices = lens _asUnmeteredRemoteAccessDevices (\ s a -> s{_asUnmeteredRemoteAccessDevices = a}) . _Default . _Map;++-- | The default number of minutes (at the account level) a test run will execute before it times out. Default value is 60 minutes.+asDefaultJobTimeoutMinutes :: Lens' AccountSettings (Maybe Int)+asDefaultJobTimeoutMinutes = lens _asDefaultJobTimeoutMinutes (\ s a -> s{_asDefaultJobTimeoutMinutes = a});++instance FromJSON AccountSettings where+        parseJSON+          = withObject "AccountSettings"+              (\ x ->+                 AccountSettings' <$>+                   (x .:? "awsAccountNumber") <*>+                     (x .:? "maxJobTimeoutMinutes")+                     <*> (x .:? "maxSlots" .!= mempty)+                     <*> (x .:? "trialMinutes")+                     <*> (x .:? "unmeteredDevices" .!= mempty)+                     <*> (x .:? "unmeteredRemoteAccessDevices" .!= mempty)+                     <*> (x .:? "defaultJobTimeoutMinutes"))++instance Hashable AccountSettings where++instance NFData AccountSettings where++-- | Represents the output of a test. Examples of artifacts include logs and screenshots.+--+--+--+-- /See:/ 'artifact' smart constructor.+data Artifact = Artifact'+  { _aArn       :: !(Maybe Text)+  , _aUrl       :: !(Maybe Text)+  , _aExtension :: !(Maybe Text)+  , _aName      :: !(Maybe Text)+  , _aType      :: !(Maybe ArtifactType)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Artifact' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aArn' - The artifact's ARN.+--+-- * 'aUrl' - The pre-signed Amazon S3 URL that can be used with a corresponding GET request to download the artifact's file.+--+-- * 'aExtension' - The artifact's file extension.+--+-- * 'aName' - The artifact's name.+--+-- * 'aType' - The artifact's type. Allowed values include the following:     * UNKNOWN: An unknown type.     * SCREENSHOT: The screenshot type.     * DEVICE_LOG: The device log type.     * MESSAGE_LOG: The message log type.     * RESULT_LOG: The result log type.     * SERVICE_LOG: The service log type.     * WEBKIT_LOG: The web kit log type.     * INSTRUMENTATION_OUTPUT: The instrumentation type.     * EXERCISER_MONKEY_OUTPUT: For Android, the artifact (log) generated by an Android fuzz test.     * CALABASH_JSON_OUTPUT: The Calabash JSON output type.     * CALABASH_PRETTY_OUTPUT: The Calabash pretty output type.     * CALABASH_STANDARD_OUTPUT: The Calabash standard output type.     * CALABASH_JAVA_XML_OUTPUT: The Calabash Java XML output type.     * AUTOMATION_OUTPUT: The automation output type.     * APPIUM_SERVER_OUTPUT: The Appium server output type.     * APPIUM_JAVA_OUTPUT: The Appium Java output type.     * APPIUM_JAVA_XML_OUTPUT: The Appium Java XML output type.     * APPIUM_PYTHON_OUTPUT: The Appium Python output type.     * APPIUM_PYTHON_XML_OUTPUT: The Appium Python XML output type.     * EXPLORER_EVENT_LOG: The Explorer event log output type.     * EXPLORER_SUMMARY_LOG: The Explorer summary log output type.     * APPLICATION_CRASH_REPORT: The application crash report output type.     * XCTEST_LOG: The XCode test output type.+artifact+    :: Artifact+artifact =+  Artifact'+  { _aArn = Nothing+  , _aUrl = Nothing+  , _aExtension = Nothing+  , _aName = Nothing+  , _aType = Nothing+  }+++-- | The artifact's ARN.+aArn :: Lens' Artifact (Maybe Text)+aArn = lens _aArn (\ s a -> s{_aArn = a});++-- | The pre-signed Amazon S3 URL that can be used with a corresponding GET request to download the artifact's file.+aUrl :: Lens' Artifact (Maybe Text)+aUrl = lens _aUrl (\ s a -> s{_aUrl = a});++-- | The artifact's file extension.+aExtension :: Lens' Artifact (Maybe Text)+aExtension = lens _aExtension (\ s a -> s{_aExtension = a});++-- | The artifact's name.+aName :: Lens' Artifact (Maybe Text)+aName = lens _aName (\ s a -> s{_aName = a});++-- | The artifact's type. Allowed values include the following:     * UNKNOWN: An unknown type.     * SCREENSHOT: The screenshot type.     * DEVICE_LOG: The device log type.     * MESSAGE_LOG: The message log type.     * RESULT_LOG: The result log type.     * SERVICE_LOG: The service log type.     * WEBKIT_LOG: The web kit log type.     * INSTRUMENTATION_OUTPUT: The instrumentation type.     * EXERCISER_MONKEY_OUTPUT: For Android, the artifact (log) generated by an Android fuzz test.     * CALABASH_JSON_OUTPUT: The Calabash JSON output type.     * CALABASH_PRETTY_OUTPUT: The Calabash pretty output type.     * CALABASH_STANDARD_OUTPUT: The Calabash standard output type.     * CALABASH_JAVA_XML_OUTPUT: The Calabash Java XML output type.     * AUTOMATION_OUTPUT: The automation output type.     * APPIUM_SERVER_OUTPUT: The Appium server output type.     * APPIUM_JAVA_OUTPUT: The Appium Java output type.     * APPIUM_JAVA_XML_OUTPUT: The Appium Java XML output type.     * APPIUM_PYTHON_OUTPUT: The Appium Python output type.     * APPIUM_PYTHON_XML_OUTPUT: The Appium Python XML output type.     * EXPLORER_EVENT_LOG: The Explorer event log output type.     * EXPLORER_SUMMARY_LOG: The Explorer summary log output type.     * APPLICATION_CRASH_REPORT: The application crash report output type.     * XCTEST_LOG: The XCode test output type.+aType :: Lens' Artifact (Maybe ArtifactType)+aType = lens _aType (\ s a -> s{_aType = a});++instance FromJSON Artifact where+        parseJSON+          = withObject "Artifact"+              (\ x ->+                 Artifact' <$>+                   (x .:? "arn") <*> (x .:? "url") <*>+                     (x .:? "extension")+                     <*> (x .:? "name")+                     <*> (x .:? "type"))++instance Hashable Artifact where++instance NFData Artifact where++-- | Represents the amount of CPU that an app is using on a physical device.+--+--+-- Note that this does not represent system-wide CPU usage.+--+--+-- /See:/ 'cpu' smart constructor.+data CPU = CPU'+  { _cpuFrequency    :: !(Maybe Text)+  , _cpuClock        :: !(Maybe Double)+  , _cpuArchitecture :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CPU' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpuFrequency' - The CPU's frequency.+--+-- * 'cpuClock' - The clock speed of the device's CPU, expressed in hertz (Hz). For example, a 1.2 GHz CPU is expressed as 1200000000.+--+-- * 'cpuArchitecture' - The CPU's architecture, for example x86 or ARM.+cpu+    :: CPU+cpu =+  CPU'+  {_cpuFrequency = Nothing, _cpuClock = Nothing, _cpuArchitecture = Nothing}+++-- | The CPU's frequency.+cpuFrequency :: Lens' CPU (Maybe Text)+cpuFrequency = lens _cpuFrequency (\ s a -> s{_cpuFrequency = a});++-- | The clock speed of the device's CPU, expressed in hertz (Hz). For example, a 1.2 GHz CPU is expressed as 1200000000.+cpuClock :: Lens' CPU (Maybe Double)+cpuClock = lens _cpuClock (\ s a -> s{_cpuClock = a});++-- | The CPU's architecture, for example x86 or ARM.+cpuArchitecture :: Lens' CPU (Maybe Text)+cpuArchitecture = lens _cpuArchitecture (\ s a -> s{_cpuArchitecture = a});++instance FromJSON CPU where+        parseJSON+          = withObject "CPU"+              (\ x ->+                 CPU' <$>+                   (x .:? "frequency") <*> (x .:? "clock") <*>+                     (x .:? "architecture"))++instance Hashable CPU where++instance NFData CPU where++-- | Represents entity counters.+--+--+--+-- /See:/ 'counters' smart constructor.+data Counters = Counters'+  { _cPassed  :: !(Maybe Int)+  , _cSkipped :: !(Maybe Int)+  , _cWarned  :: !(Maybe Int)+  , _cStopped :: !(Maybe Int)+  , _cTotal   :: !(Maybe Int)+  , _cFailed  :: !(Maybe Int)+  , _cErrored :: !(Maybe Int)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Counters' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cPassed' - The number of passed entities.+--+-- * 'cSkipped' - The number of skipped entities.+--+-- * 'cWarned' - The number of warned entities.+--+-- * 'cStopped' - The number of stopped entities.+--+-- * 'cTotal' - The total number of entities.+--+-- * 'cFailed' - The number of failed entities.+--+-- * 'cErrored' - The number of errored entities.+counters+    :: Counters+counters =+  Counters'+  { _cPassed = Nothing+  , _cSkipped = Nothing+  , _cWarned = Nothing+  , _cStopped = Nothing+  , _cTotal = Nothing+  , _cFailed = Nothing+  , _cErrored = Nothing+  }+++-- | The number of passed entities.+cPassed :: Lens' Counters (Maybe Int)+cPassed = lens _cPassed (\ s a -> s{_cPassed = a});++-- | The number of skipped entities.+cSkipped :: Lens' Counters (Maybe Int)+cSkipped = lens _cSkipped (\ s a -> s{_cSkipped = a});++-- | The number of warned entities.+cWarned :: Lens' Counters (Maybe Int)+cWarned = lens _cWarned (\ s a -> s{_cWarned = a});++-- | The number of stopped entities.+cStopped :: Lens' Counters (Maybe Int)+cStopped = lens _cStopped (\ s a -> s{_cStopped = a});++-- | The total number of entities.+cTotal :: Lens' Counters (Maybe Int)+cTotal = lens _cTotal (\ s a -> s{_cTotal = a});++-- | The number of failed entities.+cFailed :: Lens' Counters (Maybe Int)+cFailed = lens _cFailed (\ s a -> s{_cFailed = a});++-- | The number of errored entities.+cErrored :: Lens' Counters (Maybe Int)+cErrored = lens _cErrored (\ s a -> s{_cErrored = a});++instance FromJSON Counters where+        parseJSON+          = withObject "Counters"+              (\ x ->+                 Counters' <$>+                   (x .:? "passed") <*> (x .:? "skipped") <*>+                     (x .:? "warned")+                     <*> (x .:? "stopped")+                     <*> (x .:? "total")+                     <*> (x .:? "failed")+                     <*> (x .:? "errored"))++instance Hashable Counters where++instance NFData Counters where++-- | Creates the configuration settings for a remote access session, including the device model and type.+--+--+--+-- /See:/ 'createRemoteAccessSessionConfiguration' smart constructor.+newtype CreateRemoteAccessSessionConfiguration = CreateRemoteAccessSessionConfiguration'+  { _crascBillingMethod :: Maybe BillingMethod+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateRemoteAccessSessionConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crascBillingMethod' - Returns the billing method for purposes of configuring a remote access session.+createRemoteAccessSessionConfiguration+    :: CreateRemoteAccessSessionConfiguration+createRemoteAccessSessionConfiguration =+  CreateRemoteAccessSessionConfiguration' {_crascBillingMethod = Nothing}+++-- | Returns the billing method for purposes of configuring a remote access session.+crascBillingMethod :: Lens' CreateRemoteAccessSessionConfiguration (Maybe BillingMethod)+crascBillingMethod = lens _crascBillingMethod (\ s a -> s{_crascBillingMethod = a});++instance Hashable+           CreateRemoteAccessSessionConfiguration+         where++instance NFData+           CreateRemoteAccessSessionConfiguration+         where++instance ToJSON+           CreateRemoteAccessSessionConfiguration+         where+        toJSON CreateRemoteAccessSessionConfiguration'{..}+          = object+              (catMaybes+                 [("billingMethod" .=) <$> _crascBillingMethod])++-- | A JSON object specifying the paths where the artifacts generated by the customer's tests, on the device or in the test environment, will be pulled from.+--+--+-- Specify @deviceHostPaths@ and optionally specify either @iosPaths@ or @androidPaths@ .+--+-- For web app tests, you can specify both @iosPaths@ and @androidPaths@ .+--+--+-- /See:/ 'customerArtifactPaths' smart constructor.+data CustomerArtifactPaths = CustomerArtifactPaths'+  { _capAndroidPaths    :: !(Maybe [Text])+  , _capDeviceHostPaths :: !(Maybe [Text])+  , _capIosPaths        :: !(Maybe [Text])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CustomerArtifactPaths' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'capAndroidPaths' - Comma-separated list of paths on the Android device where the artifacts generated by the customer's tests will be pulled from.+--+-- * 'capDeviceHostPaths' - Comma-separated list of paths in the test execution environment where the artifacts generated by the customer's tests will be pulled from.+--+-- * 'capIosPaths' - Comma-separated list of paths on the iOS device where the artifacts generated by the customer's tests will be pulled from.+customerArtifactPaths+    :: CustomerArtifactPaths+customerArtifactPaths =+  CustomerArtifactPaths'+  { _capAndroidPaths = Nothing+  , _capDeviceHostPaths = Nothing+  , _capIosPaths = Nothing+  }+++-- | Comma-separated list of paths on the Android device where the artifacts generated by the customer's tests will be pulled from.+capAndroidPaths :: Lens' CustomerArtifactPaths [Text]+capAndroidPaths = lens _capAndroidPaths (\ s a -> s{_capAndroidPaths = a}) . _Default . _Coerce;++-- | Comma-separated list of paths in the test execution environment where the artifacts generated by the customer's tests will be pulled from.+capDeviceHostPaths :: Lens' CustomerArtifactPaths [Text]+capDeviceHostPaths = lens _capDeviceHostPaths (\ s a -> s{_capDeviceHostPaths = a}) . _Default . _Coerce;++-- | Comma-separated list of paths on the iOS device where the artifacts generated by the customer's tests will be pulled from.+capIosPaths :: Lens' CustomerArtifactPaths [Text]+capIosPaths = lens _capIosPaths (\ s a -> s{_capIosPaths = a}) . _Default . _Coerce;++instance FromJSON CustomerArtifactPaths where+        parseJSON+          = withObject "CustomerArtifactPaths"+              (\ x ->+                 CustomerArtifactPaths' <$>+                   (x .:? "androidPaths" .!= mempty) <*>+                     (x .:? "deviceHostPaths" .!= mempty)+                     <*> (x .:? "iosPaths" .!= mempty))++instance Hashable CustomerArtifactPaths where++instance NFData CustomerArtifactPaths where++instance ToJSON CustomerArtifactPaths where+        toJSON CustomerArtifactPaths'{..}+          = object+              (catMaybes+                 [("androidPaths" .=) <$> _capAndroidPaths,+                  ("deviceHostPaths" .=) <$> _capDeviceHostPaths,+                  ("iosPaths" .=) <$> _capIosPaths])++-- | Represents a device type that an app is tested against.+--+--+--+-- /See:/ 'device' smart constructor.+data Device = Device'+  { _devCarrier             :: !(Maybe Text)+  , _devImage               :: !(Maybe Text)+  , _devManufacturer        :: !(Maybe Text)+  , _devPlatform            :: !(Maybe DevicePlatform)+  , _devRemoteAccessEnabled :: !(Maybe Bool)+  , _devArn                 :: !(Maybe Text)+  , _devFormFactor          :: !(Maybe DeviceFormFactor)+  , _devFleetType           :: !(Maybe Text)+  , _devResolution          :: !(Maybe Resolution)+  , _devMemory              :: !(Maybe Integer)+  , _devRadio               :: !(Maybe Text)+  , _devOs                  :: !(Maybe Text)+  , _devName                :: !(Maybe Text)+  , _devModel               :: !(Maybe Text)+  , _devRemoteDebugEnabled  :: !(Maybe Bool)+  , _devCpu                 :: !(Maybe CPU)+  , _devHeapSize            :: !(Maybe Integer)+  , _devFleetName           :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Device' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'devCarrier' - The device's carrier.+--+-- * 'devImage' - The device's image name.+--+-- * 'devManufacturer' - The device's manufacturer name.+--+-- * 'devPlatform' - The device's platform. Allowed values include:     * ANDROID: The Android platform.     * IOS: The iOS platform.+--+-- * 'devRemoteAccessEnabled' - Specifies whether remote access has been enabled for the specified device.+--+-- * 'devArn' - The device's ARN.+--+-- * 'devFormFactor' - The device's form factor. Allowed values include:     * PHONE: The phone form factor.     * TABLET: The tablet form factor.+--+-- * 'devFleetType' - The type of fleet to which this device belongs. Possible values for fleet type are PRIVATE and PUBLIC.+--+-- * 'devResolution' - The resolution of the device.+--+-- * 'devMemory' - The device's total memory size, expressed in bytes.+--+-- * 'devRadio' - The device's radio.+--+-- * 'devOs' - The device's operating system type.+--+-- * 'devName' - The device's display name.+--+-- * 'devModel' - The device's model name.+--+-- * 'devRemoteDebugEnabled' - This flag is set to @true@ if remote debugging is enabled for the device.+--+-- * 'devCpu' - Information about the device's CPU.+--+-- * 'devHeapSize' - The device's heap size, expressed in bytes.+--+-- * 'devFleetName' - The name of the fleet to which this device belongs.+device+    :: Device+device =+  Device'+  { _devCarrier = Nothing+  , _devImage = Nothing+  , _devManufacturer = Nothing+  , _devPlatform = Nothing+  , _devRemoteAccessEnabled = Nothing+  , _devArn = Nothing+  , _devFormFactor = Nothing+  , _devFleetType = Nothing+  , _devResolution = Nothing+  , _devMemory = Nothing+  , _devRadio = Nothing+  , _devOs = Nothing+  , _devName = Nothing+  , _devModel = Nothing+  , _devRemoteDebugEnabled = Nothing+  , _devCpu = Nothing+  , _devHeapSize = Nothing+  , _devFleetName = Nothing+  }+++-- | The device's carrier.+devCarrier :: Lens' Device (Maybe Text)+devCarrier = lens _devCarrier (\ s a -> s{_devCarrier = a});++-- | The device's image name.+devImage :: Lens' Device (Maybe Text)+devImage = lens _devImage (\ s a -> s{_devImage = a});++-- | The device's manufacturer name.+devManufacturer :: Lens' Device (Maybe Text)+devManufacturer = lens _devManufacturer (\ s a -> s{_devManufacturer = a});++-- | The device's platform. Allowed values include:     * ANDROID: The Android platform.     * IOS: The iOS platform.+devPlatform :: Lens' Device (Maybe DevicePlatform)+devPlatform = lens _devPlatform (\ s a -> s{_devPlatform = a});++-- | Specifies whether remote access has been enabled for the specified device.+devRemoteAccessEnabled :: Lens' Device (Maybe Bool)+devRemoteAccessEnabled = lens _devRemoteAccessEnabled (\ s a -> s{_devRemoteAccessEnabled = a});++-- | The device's ARN.+devArn :: Lens' Device (Maybe Text)+devArn = lens _devArn (\ s a -> s{_devArn = a});++-- | The device's form factor. Allowed values include:     * PHONE: The phone form factor.     * TABLET: The tablet form factor.+devFormFactor :: Lens' Device (Maybe DeviceFormFactor)+devFormFactor = lens _devFormFactor (\ s a -> s{_devFormFactor = a});++-- | The type of fleet to which this device belongs. Possible values for fleet type are PRIVATE and PUBLIC.+devFleetType :: Lens' Device (Maybe Text)+devFleetType = lens _devFleetType (\ s a -> s{_devFleetType = a});++-- | The resolution of the device.+devResolution :: Lens' Device (Maybe Resolution)+devResolution = lens _devResolution (\ s a -> s{_devResolution = a});++-- | The device's total memory size, expressed in bytes.+devMemory :: Lens' Device (Maybe Integer)+devMemory = lens _devMemory (\ s a -> s{_devMemory = a});++-- | The device's radio.+devRadio :: Lens' Device (Maybe Text)+devRadio = lens _devRadio (\ s a -> s{_devRadio = a});++-- | The device's operating system type.+devOs :: Lens' Device (Maybe Text)+devOs = lens _devOs (\ s a -> s{_devOs = a});++-- | The device's display name.+devName :: Lens' Device (Maybe Text)+devName = lens _devName (\ s a -> s{_devName = a});++-- | The device's model name.+devModel :: Lens' Device (Maybe Text)+devModel = lens _devModel (\ s a -> s{_devModel = a});++-- | This flag is set to @true@ if remote debugging is enabled for the device.+devRemoteDebugEnabled :: Lens' Device (Maybe Bool)+devRemoteDebugEnabled = lens _devRemoteDebugEnabled (\ s a -> s{_devRemoteDebugEnabled = a});++-- | Information about the device's CPU.+devCpu :: Lens' Device (Maybe CPU)+devCpu = lens _devCpu (\ s a -> s{_devCpu = a});++-- | The device's heap size, expressed in bytes.+devHeapSize :: Lens' Device (Maybe Integer)+devHeapSize = lens _devHeapSize (\ s a -> s{_devHeapSize = a});++-- | The name of the fleet to which this device belongs.+devFleetName :: Lens' Device (Maybe Text)+devFleetName = lens _devFleetName (\ s a -> s{_devFleetName = a});++instance FromJSON Device where+        parseJSON+          = withObject "Device"+              (\ x ->+                 Device' <$>+                   (x .:? "carrier") <*> (x .:? "image") <*>+                     (x .:? "manufacturer")+                     <*> (x .:? "platform")+                     <*> (x .:? "remoteAccessEnabled")+                     <*> (x .:? "arn")+                     <*> (x .:? "formFactor")+                     <*> (x .:? "fleetType")+                     <*> (x .:? "resolution")+                     <*> (x .:? "memory")+                     <*> (x .:? "radio")+                     <*> (x .:? "os")+                     <*> (x .:? "name")+                     <*> (x .:? "model")+                     <*> (x .:? "remoteDebugEnabled")+                     <*> (x .:? "cpu")+                     <*> (x .:? "heapSize")+                     <*> (x .:? "fleetName"))++instance Hashable Device where++instance NFData Device where++-- | Represents the total (metered or unmetered) minutes used by the resource to run tests. Contains the sum of minutes consumed by all children.+--+--+--+-- /See:/ 'deviceMinutes' smart constructor.+data DeviceMinutes = DeviceMinutes'+  { _dmMetered   :: !(Maybe Double)+  , _dmTotal     :: !(Maybe Double)+  , _dmUnmetered :: !(Maybe Double)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeviceMinutes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dmMetered' - When specified, represents only the sum of metered minutes used by the resource to run tests.+--+-- * 'dmTotal' - When specified, represents the total minutes used by the resource to run tests.+--+-- * 'dmUnmetered' - When specified, represents only the sum of unmetered minutes used by the resource to run tests.+deviceMinutes+    :: DeviceMinutes+deviceMinutes =+  DeviceMinutes'+  {_dmMetered = Nothing, _dmTotal = Nothing, _dmUnmetered = Nothing}+++-- | When specified, represents only the sum of metered minutes used by the resource to run tests.+dmMetered :: Lens' DeviceMinutes (Maybe Double)+dmMetered = lens _dmMetered (\ s a -> s{_dmMetered = a});++-- | When specified, represents the total minutes used by the resource to run tests.+dmTotal :: Lens' DeviceMinutes (Maybe Double)+dmTotal = lens _dmTotal (\ s a -> s{_dmTotal = a});++-- | When specified, represents only the sum of unmetered minutes used by the resource to run tests.+dmUnmetered :: Lens' DeviceMinutes (Maybe Double)+dmUnmetered = lens _dmUnmetered (\ s a -> s{_dmUnmetered = a});++instance FromJSON DeviceMinutes where+        parseJSON+          = withObject "DeviceMinutes"+              (\ x ->+                 DeviceMinutes' <$>+                   (x .:? "metered") <*> (x .:? "total") <*>+                     (x .:? "unmetered"))++instance Hashable DeviceMinutes where++instance NFData DeviceMinutes where++-- | Represents a collection of device types.+--+--+--+-- /See:/ 'devicePool' smart constructor.+data DevicePool = DevicePool'+  { _dArn         :: !(Maybe Text)+  , _dRules       :: !(Maybe [Rule])+  , _dName        :: !(Maybe Text)+  , _dType        :: !(Maybe DevicePoolType)+  , _dDescription :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DevicePool' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dArn' - The device pool's ARN.+--+-- * 'dRules' - Information about the device pool's rules.+--+-- * 'dName' - The device pool's name.+--+-- * 'dType' - The device pool's type. Allowed values include:     * CURATED: A device pool that is created and managed by AWS Device Farm.     * PRIVATE: A device pool that is created and managed by the device pool developer.+--+-- * 'dDescription' - The device pool's description.+devicePool+    :: DevicePool+devicePool =+  DevicePool'+  { _dArn = Nothing+  , _dRules = Nothing+  , _dName = Nothing+  , _dType = Nothing+  , _dDescription = Nothing+  }+++-- | The device pool's ARN.+dArn :: Lens' DevicePool (Maybe Text)+dArn = lens _dArn (\ s a -> s{_dArn = a});++-- | Information about the device pool's rules.+dRules :: Lens' DevicePool [Rule]+dRules = lens _dRules (\ s a -> s{_dRules = a}) . _Default . _Coerce;++-- | The device pool's name.+dName :: Lens' DevicePool (Maybe Text)+dName = lens _dName (\ s a -> s{_dName = a});++-- | The device pool's type. Allowed values include:     * CURATED: A device pool that is created and managed by AWS Device Farm.     * PRIVATE: A device pool that is created and managed by the device pool developer.+dType :: Lens' DevicePool (Maybe DevicePoolType)+dType = lens _dType (\ s a -> s{_dType = a});++-- | The device pool's description.+dDescription :: Lens' DevicePool (Maybe Text)+dDescription = lens _dDescription (\ s a -> s{_dDescription = a});++instance FromJSON DevicePool where+        parseJSON+          = withObject "DevicePool"+              (\ x ->+                 DevicePool' <$>+                   (x .:? "arn") <*> (x .:? "rules" .!= mempty) <*>+                     (x .:? "name")+                     <*> (x .:? "type")+                     <*> (x .:? "description"))++instance Hashable DevicePool where++instance NFData DevicePool where++-- | Represents a device pool compatibility result.+--+--+--+-- /See:/ 'devicePoolCompatibilityResult' smart constructor.+data DevicePoolCompatibilityResult = DevicePoolCompatibilityResult'+  { _dpcrDevice                  :: !(Maybe Device)+  , _dpcrCompatible              :: !(Maybe Bool)+  , _dpcrIncompatibilityMessages :: !(Maybe [IncompatibilityMessage])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DevicePoolCompatibilityResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dpcrDevice' - The device (phone or tablet) that you wish to return information about.+--+-- * 'dpcrCompatible' - Whether the result was compatible with the device pool.+--+-- * 'dpcrIncompatibilityMessages' - Information about the compatibility.+devicePoolCompatibilityResult+    :: DevicePoolCompatibilityResult+devicePoolCompatibilityResult =+  DevicePoolCompatibilityResult'+  { _dpcrDevice = Nothing+  , _dpcrCompatible = Nothing+  , _dpcrIncompatibilityMessages = Nothing+  }+++-- | The device (phone or tablet) that you wish to return information about.+dpcrDevice :: Lens' DevicePoolCompatibilityResult (Maybe Device)+dpcrDevice = lens _dpcrDevice (\ s a -> s{_dpcrDevice = a});++-- | Whether the result was compatible with the device pool.+dpcrCompatible :: Lens' DevicePoolCompatibilityResult (Maybe Bool)+dpcrCompatible = lens _dpcrCompatible (\ s a -> s{_dpcrCompatible = a});++-- | Information about the compatibility.+dpcrIncompatibilityMessages :: Lens' DevicePoolCompatibilityResult [IncompatibilityMessage]+dpcrIncompatibilityMessages = lens _dpcrIncompatibilityMessages (\ s a -> s{_dpcrIncompatibilityMessages = a}) . _Default . _Coerce;++instance FromJSON DevicePoolCompatibilityResult where+        parseJSON+          = withObject "DevicePoolCompatibilityResult"+              (\ x ->+                 DevicePoolCompatibilityResult' <$>+                   (x .:? "device") <*> (x .:? "compatible") <*>+                     (x .:? "incompatibilityMessages" .!= mempty))++instance Hashable DevicePoolCompatibilityResult where++instance NFData DevicePoolCompatibilityResult where++-- | Represents configuration information about a test run, such as the execution timeout (in minutes).+--+--+--+-- /See:/ 'executionConfiguration' smart constructor.+data ExecutionConfiguration = ExecutionConfiguration'+  { _ecAccountsCleanup    :: !(Maybe Bool)+  , _ecAppPackagesCleanup :: !(Maybe Bool)+  , _ecJobTimeoutMinutes  :: !(Maybe Int)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ExecutionConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ecAccountsCleanup' - True if account cleanup is enabled at the beginning of the test; otherwise, false.+--+-- * 'ecAppPackagesCleanup' - True if app package cleanup is enabled at the beginning of the test; otherwise, false.+--+-- * 'ecJobTimeoutMinutes' - The number of minutes a test run will execute before it times out.+executionConfiguration+    :: ExecutionConfiguration+executionConfiguration =+  ExecutionConfiguration'+  { _ecAccountsCleanup = Nothing+  , _ecAppPackagesCleanup = Nothing+  , _ecJobTimeoutMinutes = Nothing+  }+++-- | True if account cleanup is enabled at the beginning of the test; otherwise, false.+ecAccountsCleanup :: Lens' ExecutionConfiguration (Maybe Bool)+ecAccountsCleanup = lens _ecAccountsCleanup (\ s a -> s{_ecAccountsCleanup = a});++-- | True if app package cleanup is enabled at the beginning of the test; otherwise, false.+ecAppPackagesCleanup :: Lens' ExecutionConfiguration (Maybe Bool)+ecAppPackagesCleanup = lens _ecAppPackagesCleanup (\ s a -> s{_ecAppPackagesCleanup = a});++-- | The number of minutes a test run will execute before it times out.+ecJobTimeoutMinutes :: Lens' ExecutionConfiguration (Maybe Int)+ecJobTimeoutMinutes = lens _ecJobTimeoutMinutes (\ s a -> s{_ecJobTimeoutMinutes = a});++instance Hashable ExecutionConfiguration where++instance NFData ExecutionConfiguration where++instance ToJSON ExecutionConfiguration where+        toJSON ExecutionConfiguration'{..}+          = object+              (catMaybes+                 [("accountsCleanup" .=) <$> _ecAccountsCleanup,+                  ("appPackagesCleanup" .=) <$> _ecAppPackagesCleanup,+                  ("jobTimeoutMinutes" .=) <$> _ecJobTimeoutMinutes])++-- | Represents information about incompatibility.+--+--+--+-- /See:/ 'incompatibilityMessage' smart constructor.+data IncompatibilityMessage = IncompatibilityMessage'+  { _imType    :: !(Maybe DeviceAttribute)+  , _imMessage :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'IncompatibilityMessage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'imType' - The type of incompatibility. Allowed values include:     * ARN: The ARN.     * FORM_FACTOR: The form factor (for example, phone or tablet).     * MANUFACTURER: The manufacturer.     * PLATFORM: The platform (for example, Android or iOS).     * REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access.     * APPIUM_VERSION: The Appium version for the test.+--+-- * 'imMessage' - A message about the incompatibility.+incompatibilityMessage+    :: IncompatibilityMessage+incompatibilityMessage =+  IncompatibilityMessage' {_imType = Nothing, _imMessage = Nothing}+++-- | The type of incompatibility. Allowed values include:     * ARN: The ARN.     * FORM_FACTOR: The form factor (for example, phone or tablet).     * MANUFACTURER: The manufacturer.     * PLATFORM: The platform (for example, Android or iOS).     * REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access.     * APPIUM_VERSION: The Appium version for the test.+imType :: Lens' IncompatibilityMessage (Maybe DeviceAttribute)+imType = lens _imType (\ s a -> s{_imType = a});++-- | A message about the incompatibility.+imMessage :: Lens' IncompatibilityMessage (Maybe Text)+imMessage = lens _imMessage (\ s a -> s{_imMessage = a});++instance FromJSON IncompatibilityMessage where+        parseJSON+          = withObject "IncompatibilityMessage"+              (\ x ->+                 IncompatibilityMessage' <$>+                   (x .:? "type") <*> (x .:? "message"))++instance Hashable IncompatibilityMessage where++instance NFData IncompatibilityMessage where++-- | Represents a device.+--+--+--+-- /See:/ 'job' smart constructor.+data Job = Job'+  { _jobStatus        :: !(Maybe ExecutionStatus)+  , _jobCounters      :: !(Maybe Counters)+  , _jobArn           :: !(Maybe Text)+  , _jobCreated       :: !(Maybe POSIX)+  , _jobDevice        :: !(Maybe Device)+  , _jobStopped       :: !(Maybe POSIX)+  , _jobResult        :: !(Maybe ExecutionResult)+  , _jobName          :: !(Maybe Text)+  , _jobDeviceMinutes :: !(Maybe DeviceMinutes)+  , _jobType          :: !(Maybe TestType)+  , _jobMessage       :: !(Maybe Text)+  , _jobStarted       :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Job' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jobStatus' - The job's status. Allowed values include:     * PENDING: A pending status.     * PENDING_CONCURRENCY: A pending concurrency status.     * PENDING_DEVICE: A pending device status.     * PROCESSING: A processing status.     * SCHEDULING: A scheduling status.     * PREPARING: A preparing status.     * RUNNING: A running status.     * COMPLETED: A completed status.     * STOPPING: A stopping status.+--+-- * 'jobCounters' - The job's result counters.+--+-- * 'jobArn' - The job's ARN.+--+-- * 'jobCreated' - When the job was created.+--+-- * 'jobDevice' - The device (phone or tablet).+--+-- * 'jobStopped' - The job's stop time.+--+-- * 'jobResult' - The job's result. Allowed values include:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.+--+-- * 'jobName' - The job's name.+--+-- * 'jobDeviceMinutes' - Represents the total (metered or unmetered) minutes used by the job.+--+-- * 'jobType' - The job's type. Allowed values include the following:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.+--+-- * 'jobMessage' - A message about the job's result.+--+-- * 'jobStarted' - The job's start time.+job+    :: Job+job =+  Job'+  { _jobStatus = Nothing+  , _jobCounters = Nothing+  , _jobArn = Nothing+  , _jobCreated = Nothing+  , _jobDevice = Nothing+  , _jobStopped = Nothing+  , _jobResult = Nothing+  , _jobName = Nothing+  , _jobDeviceMinutes = Nothing+  , _jobType = Nothing+  , _jobMessage = Nothing+  , _jobStarted = Nothing+  }+++-- | The job's status. Allowed values include:     * PENDING: A pending status.     * PENDING_CONCURRENCY: A pending concurrency status.     * PENDING_DEVICE: A pending device status.     * PROCESSING: A processing status.     * SCHEDULING: A scheduling status.     * PREPARING: A preparing status.     * RUNNING: A running status.     * COMPLETED: A completed status.     * STOPPING: A stopping status.+jobStatus :: Lens' Job (Maybe ExecutionStatus)+jobStatus = lens _jobStatus (\ s a -> s{_jobStatus = a});++-- | The job's result counters.+jobCounters :: Lens' Job (Maybe Counters)+jobCounters = lens _jobCounters (\ s a -> s{_jobCounters = a});++-- | The job's ARN.+jobArn :: Lens' Job (Maybe Text)+jobArn = lens _jobArn (\ s a -> s{_jobArn = a});++-- | When the job was created.+jobCreated :: Lens' Job (Maybe UTCTime)+jobCreated = lens _jobCreated (\ s a -> s{_jobCreated = a}) . mapping _Time;++-- | The device (phone or tablet).+jobDevice :: Lens' Job (Maybe Device)+jobDevice = lens _jobDevice (\ s a -> s{_jobDevice = a});++-- | The job's stop time.+jobStopped :: Lens' Job (Maybe UTCTime)+jobStopped = lens _jobStopped (\ s a -> s{_jobStopped = a}) . mapping _Time;++-- | The job's result. Allowed values include:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.+jobResult :: Lens' Job (Maybe ExecutionResult)+jobResult = lens _jobResult (\ s a -> s{_jobResult = a});++-- | The job's name.+jobName :: Lens' Job (Maybe Text)+jobName = lens _jobName (\ s a -> s{_jobName = a});++-- | Represents the total (metered or unmetered) minutes used by the job.+jobDeviceMinutes :: Lens' Job (Maybe DeviceMinutes)+jobDeviceMinutes = lens _jobDeviceMinutes (\ s a -> s{_jobDeviceMinutes = a});++-- | The job's type. Allowed values include the following:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.+jobType :: Lens' Job (Maybe TestType)+jobType = lens _jobType (\ s a -> s{_jobType = a});++-- | A message about the job's result.+jobMessage :: Lens' Job (Maybe Text)+jobMessage = lens _jobMessage (\ s a -> s{_jobMessage = a});++-- | The job's start time.+jobStarted :: Lens' Job (Maybe UTCTime)+jobStarted = lens _jobStarted (\ s a -> s{_jobStarted = a}) . mapping _Time;++instance FromJSON Job where+        parseJSON+          = withObject "Job"+              (\ x ->+                 Job' <$>+                   (x .:? "status") <*> (x .:? "counters") <*>+                     (x .:? "arn")+                     <*> (x .:? "created")+                     <*> (x .:? "device")+                     <*> (x .:? "stopped")+                     <*> (x .:? "result")+                     <*> (x .:? "name")+                     <*> (x .:? "deviceMinutes")+                     <*> (x .:? "type")+                     <*> (x .:? "message")+                     <*> (x .:? "started"))++instance Hashable Job where++instance NFData Job where++-- | Represents a latitude and longitude pair, expressed in geographic coordinate system degrees (for example 47.6204, -122.3491).+--+--+-- Elevation is currently not supported.+--+--+-- /See:/ 'location' smart constructor.+data Location = Location'+  { _lLatitude  :: !Double+  , _lLongitude :: !Double+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Location' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lLatitude' - The latitude.+--+-- * 'lLongitude' - The longitude.+location+    :: Double -- ^ 'lLatitude'+    -> Double -- ^ 'lLongitude'+    -> Location+location pLatitude_ pLongitude_ =+  Location' {_lLatitude = pLatitude_, _lLongitude = pLongitude_}+++-- | The latitude.+lLatitude :: Lens' Location Double+lLatitude = lens _lLatitude (\ s a -> s{_lLatitude = a});++-- | The longitude.+lLongitude :: Lens' Location Double+lLongitude = lens _lLongitude (\ s a -> s{_lLongitude = a});++instance Hashable Location where++instance NFData Location where++instance ToJSON Location where+        toJSON Location'{..}+          = object+              (catMaybes+                 [Just ("latitude" .= _lLatitude),+                  Just ("longitude" .= _lLongitude)])++-- | A number representing the monetary amount for an offering or transaction.+--+--+--+-- /See:/ 'monetaryAmount' smart constructor.+data MonetaryAmount = MonetaryAmount'+  { _maAmount       :: !(Maybe Double)+  , _maCurrencyCode :: !(Maybe CurrencyCode)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MonetaryAmount' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'maAmount' - The numerical amount of an offering or transaction.+--+-- * 'maCurrencyCode' - The currency code of a monetary amount. For example, @USD@ means "U.S. dollars."+monetaryAmount+    :: MonetaryAmount+monetaryAmount =+  MonetaryAmount' {_maAmount = Nothing, _maCurrencyCode = Nothing}+++-- | The numerical amount of an offering or transaction.+maAmount :: Lens' MonetaryAmount (Maybe Double)+maAmount = lens _maAmount (\ s a -> s{_maAmount = a});++-- | The currency code of a monetary amount. For example, @USD@ means "U.S. dollars."+maCurrencyCode :: Lens' MonetaryAmount (Maybe CurrencyCode)+maCurrencyCode = lens _maCurrencyCode (\ s a -> s{_maCurrencyCode = a});++instance FromJSON MonetaryAmount where+        parseJSON+          = withObject "MonetaryAmount"+              (\ x ->+                 MonetaryAmount' <$>+                   (x .:? "amount") <*> (x .:? "currencyCode"))++instance Hashable MonetaryAmount where++instance NFData MonetaryAmount where++-- | An array of settings that describes characteristics of a network profile.+--+--+--+-- /See:/ 'networkProfile' smart constructor.+data NetworkProfile = NetworkProfile'+  { _npUplinkJitterMs        :: !(Maybe Integer)+  , _npArn                   :: !(Maybe Text)+  , _npUplinkLossPercent     :: !(Maybe Nat)+  , _npDownlinkJitterMs      :: !(Maybe Integer)+  , _npName                  :: !(Maybe Text)+  , _npDownlinkLossPercent   :: !(Maybe Nat)+  , _npType                  :: !(Maybe NetworkProfileType)+  , _npUplinkDelayMs         :: !(Maybe Integer)+  , _npUplinkBandwidthBits   :: !(Maybe Integer)+  , _npDescription           :: !(Maybe Text)+  , _npDownlinkDelayMs       :: !(Maybe Integer)+  , _npDownlinkBandwidthBits :: !(Maybe Integer)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NetworkProfile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'npUplinkJitterMs' - Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.+--+-- * 'npArn' - The Amazon Resource Name (ARN) of the network profile.+--+-- * 'npUplinkLossPercent' - Proportion of transmitted packets that fail to arrive from 0 to 100 percent.+--+-- * 'npDownlinkJitterMs' - Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.+--+-- * 'npName' - The name of the network profile.+--+-- * 'npDownlinkLossPercent' - Proportion of received packets that fail to arrive from 0 to 100 percent.+--+-- * 'npType' - The type of network profile. Valid values are listed below.+--+-- * 'npUplinkDelayMs' - Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.+--+-- * 'npUplinkBandwidthBits' - The data throughput rate in bits per second, as an integer from 0 to 104857600.+--+-- * 'npDescription' - The description of the network profile.+--+-- * 'npDownlinkDelayMs' - Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.+--+-- * 'npDownlinkBandwidthBits' - The data throughput rate in bits per second, as an integer from 0 to 104857600.+networkProfile+    :: NetworkProfile+networkProfile =+  NetworkProfile'+  { _npUplinkJitterMs = Nothing+  , _npArn = Nothing+  , _npUplinkLossPercent = Nothing+  , _npDownlinkJitterMs = Nothing+  , _npName = Nothing+  , _npDownlinkLossPercent = Nothing+  , _npType = Nothing+  , _npUplinkDelayMs = Nothing+  , _npUplinkBandwidthBits = Nothing+  , _npDescription = Nothing+  , _npDownlinkDelayMs = Nothing+  , _npDownlinkBandwidthBits = Nothing+  }+++-- | Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.+npUplinkJitterMs :: Lens' NetworkProfile (Maybe Integer)+npUplinkJitterMs = lens _npUplinkJitterMs (\ s a -> s{_npUplinkJitterMs = a});++-- | The Amazon Resource Name (ARN) of the network profile.+npArn :: Lens' NetworkProfile (Maybe Text)+npArn = lens _npArn (\ s a -> s{_npArn = a});++-- | Proportion of transmitted packets that fail to arrive from 0 to 100 percent.+npUplinkLossPercent :: Lens' NetworkProfile (Maybe Natural)+npUplinkLossPercent = lens _npUplinkLossPercent (\ s a -> s{_npUplinkLossPercent = a}) . mapping _Nat;++-- | Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.+npDownlinkJitterMs :: Lens' NetworkProfile (Maybe Integer)+npDownlinkJitterMs = lens _npDownlinkJitterMs (\ s a -> s{_npDownlinkJitterMs = a});++-- | The name of the network profile.+npName :: Lens' NetworkProfile (Maybe Text)+npName = lens _npName (\ s a -> s{_npName = a});++-- | Proportion of received packets that fail to arrive from 0 to 100 percent.+npDownlinkLossPercent :: Lens' NetworkProfile (Maybe Natural)+npDownlinkLossPercent = lens _npDownlinkLossPercent (\ s a -> s{_npDownlinkLossPercent = a}) . mapping _Nat;++-- | The type of network profile. Valid values are listed below.+npType :: Lens' NetworkProfile (Maybe NetworkProfileType)+npType = lens _npType (\ s a -> s{_npType = a});++-- | Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.+npUplinkDelayMs :: Lens' NetworkProfile (Maybe Integer)+npUplinkDelayMs = lens _npUplinkDelayMs (\ s a -> s{_npUplinkDelayMs = a});++-- | The data throughput rate in bits per second, as an integer from 0 to 104857600.+npUplinkBandwidthBits :: Lens' NetworkProfile (Maybe Integer)+npUplinkBandwidthBits = lens _npUplinkBandwidthBits (\ s a -> s{_npUplinkBandwidthBits = a});++-- | The description of the network profile.+npDescription :: Lens' NetworkProfile (Maybe Text)+npDescription = lens _npDescription (\ s a -> s{_npDescription = a});++-- | Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.+npDownlinkDelayMs :: Lens' NetworkProfile (Maybe Integer)+npDownlinkDelayMs = lens _npDownlinkDelayMs (\ s a -> s{_npDownlinkDelayMs = a});++-- | The data throughput rate in bits per second, as an integer from 0 to 104857600.+npDownlinkBandwidthBits :: Lens' NetworkProfile (Maybe Integer)+npDownlinkBandwidthBits = lens _npDownlinkBandwidthBits (\ s a -> s{_npDownlinkBandwidthBits = a});++instance FromJSON NetworkProfile where+        parseJSON+          = withObject "NetworkProfile"+              (\ x ->+                 NetworkProfile' <$>+                   (x .:? "uplinkJitterMs") <*> (x .:? "arn") <*>+                     (x .:? "uplinkLossPercent")+                     <*> (x .:? "downlinkJitterMs")+                     <*> (x .:? "name")+                     <*> (x .:? "downlinkLossPercent")+                     <*> (x .:? "type")+                     <*> (x .:? "uplinkDelayMs")+                     <*> (x .:? "uplinkBandwidthBits")+                     <*> (x .:? "description")+                     <*> (x .:? "downlinkDelayMs")+                     <*> (x .:? "downlinkBandwidthBits"))++instance Hashable NetworkProfile where++instance NFData NetworkProfile where++-- | Represents the metadata of a device offering.+--+--+--+-- /See:/ 'offering' smart constructor.+data Offering = Offering'+  { _oPlatform         :: !(Maybe DevicePlatform)+  , _oId               :: !(Maybe Text)+  , _oRecurringCharges :: !(Maybe [RecurringCharge])+  , _oType             :: !(Maybe OfferingType)+  , _oDescription      :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Offering' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oPlatform' - The platform of the device (e.g., ANDROID or IOS).+--+-- * 'oId' - The ID that corresponds to a device offering.+--+-- * 'oRecurringCharges' - Specifies whether there are recurring charges for the offering.+--+-- * 'oType' - The type of offering (e.g., "RECURRING") for a device.+--+-- * 'oDescription' - A string describing the offering.+offering+    :: Offering+offering =+  Offering'+  { _oPlatform = Nothing+  , _oId = Nothing+  , _oRecurringCharges = Nothing+  , _oType = Nothing+  , _oDescription = Nothing+  }+++-- | The platform of the device (e.g., ANDROID or IOS).+oPlatform :: Lens' Offering (Maybe DevicePlatform)+oPlatform = lens _oPlatform (\ s a -> s{_oPlatform = a});++-- | The ID that corresponds to a device offering.+oId :: Lens' Offering (Maybe Text)+oId = lens _oId (\ s a -> s{_oId = a});++-- | Specifies whether there are recurring charges for the offering.+oRecurringCharges :: Lens' Offering [RecurringCharge]+oRecurringCharges = lens _oRecurringCharges (\ s a -> s{_oRecurringCharges = a}) . _Default . _Coerce;++-- | The type of offering (e.g., "RECURRING") for a device.+oType :: Lens' Offering (Maybe OfferingType)+oType = lens _oType (\ s a -> s{_oType = a});++-- | A string describing the offering.+oDescription :: Lens' Offering (Maybe Text)+oDescription = lens _oDescription (\ s a -> s{_oDescription = a});++instance FromJSON Offering where+        parseJSON+          = withObject "Offering"+              (\ x ->+                 Offering' <$>+                   (x .:? "platform") <*> (x .:? "id") <*>+                     (x .:? "recurringCharges" .!= mempty)+                     <*> (x .:? "type")+                     <*> (x .:? "description"))++instance Hashable Offering where++instance NFData Offering where++-- | Represents information about an offering promotion.+--+--+--+-- /See:/ 'offeringPromotion' smart constructor.+data OfferingPromotion = OfferingPromotion'+  { _opId          :: !(Maybe Text)+  , _opDescription :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'OfferingPromotion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'opId' - The ID of the offering promotion.+--+-- * 'opDescription' - A string describing the offering promotion.+offeringPromotion+    :: OfferingPromotion+offeringPromotion =+  OfferingPromotion' {_opId = Nothing, _opDescription = Nothing}+++-- | The ID of the offering promotion.+opId :: Lens' OfferingPromotion (Maybe Text)+opId = lens _opId (\ s a -> s{_opId = a});++-- | A string describing the offering promotion.+opDescription :: Lens' OfferingPromotion (Maybe Text)+opDescription = lens _opDescription (\ s a -> s{_opDescription = a});++instance FromJSON OfferingPromotion where+        parseJSON+          = withObject "OfferingPromotion"+              (\ x ->+                 OfferingPromotion' <$>+                   (x .:? "id") <*> (x .:? "description"))++instance Hashable OfferingPromotion where++instance NFData OfferingPromotion where++-- | The status of the offering.+--+--+--+-- /See:/ 'offeringStatus' smart constructor.+data OfferingStatus = OfferingStatus'+  { _osEffectiveOn :: !(Maybe POSIX)+  , _osOffering    :: !(Maybe Offering)+  , _osQuantity    :: !(Maybe Int)+  , _osType        :: !(Maybe OfferingTransactionType)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'OfferingStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'osEffectiveOn' - The date on which the offering is effective.+--+-- * 'osOffering' - Represents the metadata of an offering status.+--+-- * 'osQuantity' - The number of available devices in the offering.+--+-- * 'osType' - The type specified for the offering status.+offeringStatus+    :: OfferingStatus+offeringStatus =+  OfferingStatus'+  { _osEffectiveOn = Nothing+  , _osOffering = Nothing+  , _osQuantity = Nothing+  , _osType = Nothing+  }+++-- | The date on which the offering is effective.+osEffectiveOn :: Lens' OfferingStatus (Maybe UTCTime)+osEffectiveOn = lens _osEffectiveOn (\ s a -> s{_osEffectiveOn = a}) . mapping _Time;++-- | Represents the metadata of an offering status.+osOffering :: Lens' OfferingStatus (Maybe Offering)+osOffering = lens _osOffering (\ s a -> s{_osOffering = a});++-- | The number of available devices in the offering.+osQuantity :: Lens' OfferingStatus (Maybe Int)+osQuantity = lens _osQuantity (\ s a -> s{_osQuantity = a});++-- | The type specified for the offering status.+osType :: Lens' OfferingStatus (Maybe OfferingTransactionType)+osType = lens _osType (\ s a -> s{_osType = a});++instance FromJSON OfferingStatus where+        parseJSON+          = withObject "OfferingStatus"+              (\ x ->+                 OfferingStatus' <$>+                   (x .:? "effectiveOn") <*> (x .:? "offering") <*>+                     (x .:? "quantity")+                     <*> (x .:? "type"))++instance Hashable OfferingStatus where++instance NFData OfferingStatus where++-- | Represents the metadata of an offering transaction.+--+--+--+-- /See:/ 'offeringTransaction' smart constructor.+data OfferingTransaction = OfferingTransaction'+  { _otOfferingStatus      :: !(Maybe OfferingStatus)+  , _otCost                :: !(Maybe MonetaryAmount)+  , _otTransactionId       :: !(Maybe Text)+  , _otOfferingPromotionId :: !(Maybe Text)+  , _otCreatedOn           :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'OfferingTransaction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'otOfferingStatus' - The status of an offering transaction.+--+-- * 'otCost' - The cost of an offering transaction.+--+-- * 'otTransactionId' - The transaction ID of the offering transaction.+--+-- * 'otOfferingPromotionId' - The ID that corresponds to a device offering promotion.+--+-- * 'otCreatedOn' - The date on which an offering transaction was created.+offeringTransaction+    :: OfferingTransaction+offeringTransaction =+  OfferingTransaction'+  { _otOfferingStatus = Nothing+  , _otCost = Nothing+  , _otTransactionId = Nothing+  , _otOfferingPromotionId = Nothing+  , _otCreatedOn = Nothing+  }+++-- | The status of an offering transaction.+otOfferingStatus :: Lens' OfferingTransaction (Maybe OfferingStatus)+otOfferingStatus = lens _otOfferingStatus (\ s a -> s{_otOfferingStatus = a});++-- | The cost of an offering transaction.+otCost :: Lens' OfferingTransaction (Maybe MonetaryAmount)+otCost = lens _otCost (\ s a -> s{_otCost = a});++-- | The transaction ID of the offering transaction.+otTransactionId :: Lens' OfferingTransaction (Maybe Text)+otTransactionId = lens _otTransactionId (\ s a -> s{_otTransactionId = a});++-- | The ID that corresponds to a device offering promotion.+otOfferingPromotionId :: Lens' OfferingTransaction (Maybe Text)+otOfferingPromotionId = lens _otOfferingPromotionId (\ s a -> s{_otOfferingPromotionId = a});++-- | The date on which an offering transaction was created.+otCreatedOn :: Lens' OfferingTransaction (Maybe UTCTime)+otCreatedOn = lens _otCreatedOn (\ s a -> s{_otCreatedOn = a}) . mapping _Time;++instance FromJSON OfferingTransaction where+        parseJSON+          = withObject "OfferingTransaction"+              (\ x ->+                 OfferingTransaction' <$>+                   (x .:? "offeringStatus") <*> (x .:? "cost") <*>+                     (x .:? "transactionId")+                     <*> (x .:? "offeringPromotionId")+                     <*> (x .:? "createdOn"))++instance Hashable OfferingTransaction where++instance NFData OfferingTransaction where++-- | Represents a specific warning or failure.+--+--+--+-- /See:/ 'problem' smart constructor.+data Problem = Problem'+  { _pDevice  :: !(Maybe Device)+  , _pTest    :: !(Maybe ProblemDetail)+  , _pResult  :: !(Maybe ExecutionResult)+  , _pRun     :: !(Maybe ProblemDetail)+  , _pJob     :: !(Maybe ProblemDetail)+  , _pMessage :: !(Maybe Text)+  , _pSuite   :: !(Maybe ProblemDetail)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Problem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pDevice' - Information about the associated device.+--+-- * 'pTest' - Information about the associated test.+--+-- * 'pResult' - The problem's result. Allowed values include:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.+--+-- * 'pRun' - Information about the associated run.+--+-- * 'pJob' - Information about the associated job.+--+-- * 'pMessage' - A message about the problem's result.+--+-- * 'pSuite' - Information about the associated suite.+problem+    :: Problem+problem =+  Problem'+  { _pDevice = Nothing+  , _pTest = Nothing+  , _pResult = Nothing+  , _pRun = Nothing+  , _pJob = Nothing+  , _pMessage = Nothing+  , _pSuite = Nothing+  }+++-- | Information about the associated device.+pDevice :: Lens' Problem (Maybe Device)+pDevice = lens _pDevice (\ s a -> s{_pDevice = a});++-- | Information about the associated test.+pTest :: Lens' Problem (Maybe ProblemDetail)+pTest = lens _pTest (\ s a -> s{_pTest = a});++-- | The problem's result. Allowed values include:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.+pResult :: Lens' Problem (Maybe ExecutionResult)+pResult = lens _pResult (\ s a -> s{_pResult = a});++-- | Information about the associated run.+pRun :: Lens' Problem (Maybe ProblemDetail)+pRun = lens _pRun (\ s a -> s{_pRun = a});++-- | Information about the associated job.+pJob :: Lens' Problem (Maybe ProblemDetail)+pJob = lens _pJob (\ s a -> s{_pJob = a});++-- | A message about the problem's result.+pMessage :: Lens' Problem (Maybe Text)+pMessage = lens _pMessage (\ s a -> s{_pMessage = a});++-- | Information about the associated suite.+pSuite :: Lens' Problem (Maybe ProblemDetail)+pSuite = lens _pSuite (\ s a -> s{_pSuite = a});++instance FromJSON Problem where+        parseJSON+          = withObject "Problem"+              (\ x ->+                 Problem' <$>+                   (x .:? "device") <*> (x .:? "test") <*>+                     (x .:? "result")+                     <*> (x .:? "run")+                     <*> (x .:? "job")+                     <*> (x .:? "message")+                     <*> (x .:? "suite"))++instance Hashable Problem where++instance NFData Problem where++-- | Information about a problem detail.+--+--+--+-- /See:/ 'problemDetail' smart constructor.+data ProblemDetail = ProblemDetail'+  { _pdArn  :: !(Maybe Text)+  , _pdName :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProblemDetail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdArn' - The problem detail's ARN.+--+-- * 'pdName' - The problem detail's name.+problemDetail+    :: ProblemDetail+problemDetail = ProblemDetail' {_pdArn = Nothing, _pdName = Nothing}+++-- | The problem detail's ARN.+pdArn :: Lens' ProblemDetail (Maybe Text)+pdArn = lens _pdArn (\ s a -> s{_pdArn = a});++-- | The problem detail's name.+pdName :: Lens' ProblemDetail (Maybe Text)+pdName = lens _pdName (\ s a -> s{_pdName = a});++instance FromJSON ProblemDetail where+        parseJSON+          = withObject "ProblemDetail"+              (\ x ->+                 ProblemDetail' <$> (x .:? "arn") <*> (x .:? "name"))++instance Hashable ProblemDetail where++instance NFData ProblemDetail where++-- | Represents an operating-system neutral workspace for running and managing tests.+--+--+--+-- /See:/ 'project' smart constructor.+data Project = Project'+  { _pArn                      :: !(Maybe Text)+  , _pCreated                  :: !(Maybe POSIX)+  , _pName                     :: !(Maybe Text)+  , _pDefaultJobTimeoutMinutes :: !(Maybe Int)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Project' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pArn' - The project's ARN.+--+-- * 'pCreated' - When the project was created.+--+-- * 'pName' - The project's name.+--+-- * 'pDefaultJobTimeoutMinutes' - The default number of minutes (at the project level) a test run will execute before it times out. Default value is 60 minutes.+project+    :: Project+project =+  Project'+  { _pArn = Nothing+  , _pCreated = Nothing+  , _pName = Nothing+  , _pDefaultJobTimeoutMinutes = Nothing+  }+++-- | The project's ARN.+pArn :: Lens' Project (Maybe Text)+pArn = lens _pArn (\ s a -> s{_pArn = a});++-- | When the project was created.+pCreated :: Lens' Project (Maybe UTCTime)+pCreated = lens _pCreated (\ s a -> s{_pCreated = a}) . mapping _Time;++-- | The project's name.+pName :: Lens' Project (Maybe Text)+pName = lens _pName (\ s a -> s{_pName = a});++-- | The default number of minutes (at the project level) a test run will execute before it times out. Default value is 60 minutes.+pDefaultJobTimeoutMinutes :: Lens' Project (Maybe Int)+pDefaultJobTimeoutMinutes = lens _pDefaultJobTimeoutMinutes (\ s a -> s{_pDefaultJobTimeoutMinutes = a});++instance FromJSON Project where+        parseJSON+          = withObject "Project"+              (\ x ->+                 Project' <$>+                   (x .:? "arn") <*> (x .:? "created") <*>+                     (x .:? "name")+                     <*> (x .:? "defaultJobTimeoutMinutes"))++instance Hashable Project where++instance NFData Project where++-- | Represents the set of radios and their states on a device. Examples of radios include Wi-Fi, GPS, Bluetooth, and NFC.+--+--+--+-- /See:/ 'radios' smart constructor.+data Radios = Radios'+  { _rNfc       :: !(Maybe Bool)+  , _rGps       :: !(Maybe Bool)+  , _rBluetooth :: !(Maybe Bool)+  , _rWifi      :: !(Maybe Bool)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Radios' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rNfc' - True if NFC is enabled at the beginning of the test; otherwise, false.+--+-- * 'rGps' - True if GPS is enabled at the beginning of the test; otherwise, false.+--+-- * 'rBluetooth' - True if Bluetooth is enabled at the beginning of the test; otherwise, false.+--+-- * 'rWifi' - True if Wi-Fi is enabled at the beginning of the test; otherwise, false.+radios+    :: Radios+radios =+  Radios'+  {_rNfc = Nothing, _rGps = Nothing, _rBluetooth = Nothing, _rWifi = Nothing}+++-- | True if NFC is enabled at the beginning of the test; otherwise, false.+rNfc :: Lens' Radios (Maybe Bool)+rNfc = lens _rNfc (\ s a -> s{_rNfc = a});++-- | True if GPS is enabled at the beginning of the test; otherwise, false.+rGps :: Lens' Radios (Maybe Bool)+rGps = lens _rGps (\ s a -> s{_rGps = a});++-- | True if Bluetooth is enabled at the beginning of the test; otherwise, false.+rBluetooth :: Lens' Radios (Maybe Bool)+rBluetooth = lens _rBluetooth (\ s a -> s{_rBluetooth = a});++-- | True if Wi-Fi is enabled at the beginning of the test; otherwise, false.+rWifi :: Lens' Radios (Maybe Bool)+rWifi = lens _rWifi (\ s a -> s{_rWifi = a});++instance Hashable Radios where++instance NFData Radios where++instance ToJSON Radios where+        toJSON Radios'{..}+          = object+              (catMaybes+                 [("nfc" .=) <$> _rNfc, ("gps" .=) <$> _rGps,+                  ("bluetooth" .=) <$> _rBluetooth,+                  ("wifi" .=) <$> _rWifi])++-- | Specifies whether charges for devices will be recurring.+--+--+--+-- /See:/ 'recurringCharge' smart constructor.+data RecurringCharge = RecurringCharge'+  { _rcFrequency :: !(Maybe RecurringChargeFrequency)+  , _rcCost      :: !(Maybe MonetaryAmount)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RecurringCharge' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcFrequency' - The frequency in which charges will recur.+--+-- * 'rcCost' - The cost of the recurring charge.+recurringCharge+    :: RecurringCharge+recurringCharge = RecurringCharge' {_rcFrequency = Nothing, _rcCost = Nothing}+++-- | The frequency in which charges will recur.+rcFrequency :: Lens' RecurringCharge (Maybe RecurringChargeFrequency)+rcFrequency = lens _rcFrequency (\ s a -> s{_rcFrequency = a});++-- | The cost of the recurring charge.+rcCost :: Lens' RecurringCharge (Maybe MonetaryAmount)+rcCost = lens _rcCost (\ s a -> s{_rcCost = a});++instance FromJSON RecurringCharge where+        parseJSON+          = withObject "RecurringCharge"+              (\ x ->+                 RecurringCharge' <$>+                   (x .:? "frequency") <*> (x .:? "cost"))++instance Hashable RecurringCharge where++instance NFData RecurringCharge where++-- | Represents information about the remote access session.+--+--+--+-- /See:/ 'remoteAccessSession' smart constructor.+data RemoteAccessSession = RemoteAccessSession'+  { _rasBillingMethod      :: !(Maybe BillingMethod)+  , _rasClientId           :: !(Maybe Text)+  , _rasDeviceUdid         :: !(Maybe Text)+  , _rasStatus             :: !(Maybe ExecutionStatus)+  , _rasArn                :: !(Maybe Text)+  , _rasCreated            :: !(Maybe POSIX)+  , _rasDevice             :: !(Maybe Device)+  , _rasStopped            :: !(Maybe POSIX)+  , _rasResult             :: !(Maybe ExecutionResult)+  , _rasName               :: !(Maybe Text)+  , _rasDeviceMinutes      :: !(Maybe DeviceMinutes)+  , _rasRemoteDebugEnabled :: !(Maybe Bool)+  , _rasEndpoint           :: !(Maybe Text)+  , _rasMessage            :: !(Maybe Text)+  , _rasHostAddress        :: !(Maybe Text)+  , _rasStarted            :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RemoteAccessSession' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rasBillingMethod' - The billing method of the remote access session. Possible values include @METERED@ or @UNMETERED@ . For more information about metered devices, see <http://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html#welcome-terminology AWS Device Farm terminology> ."+--+-- * 'rasClientId' - Unique identifier of your client for the remote access session. Only returned if remote debugging is enabled for the remote access session.+--+-- * 'rasDeviceUdid' - Unique device identifier for the remote device. Only returned if remote debugging is enabled for the remote access session.+--+-- * 'rasStatus' - The status of the remote access session. Can be any of the following:     * PENDING: A pending status.     * PENDING_CONCURRENCY: A pending concurrency status.     * PENDING_DEVICE: A pending device status.     * PROCESSING: A processing status.     * SCHEDULING: A scheduling status.     * PREPARING: A preparing status.     * RUNNING: A running status.     * COMPLETED: A completed status.     * STOPPING: A stopping status.+--+-- * 'rasArn' - The Amazon Resource Name (ARN) of the remote access session.+--+-- * 'rasCreated' - The date and time the remote access session was created.+--+-- * 'rasDevice' - The device (phone or tablet) used in the remote access session.+--+-- * 'rasStopped' - The date and time the remote access session was stopped.+--+-- * 'rasResult' - The result of the remote access session. Can be any of the following:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.+--+-- * 'rasName' - The name of the remote access session.+--+-- * 'rasDeviceMinutes' - The number of minutes a device is used in a remote access sesssion (including setup and teardown minutes).+--+-- * 'rasRemoteDebugEnabled' - This flag is set to @true@ if remote debugging is enabled for the remote access session.+--+-- * 'rasEndpoint' - The endpoint for the remote access sesssion.+--+-- * 'rasMessage' - A message about the remote access session.+--+-- * 'rasHostAddress' - IP address of the EC2 host where you need to connect to remotely debug devices. Only returned if remote debugging is enabled for the remote access session.+--+-- * 'rasStarted' - The date and time the remote access session was started.+remoteAccessSession+    :: RemoteAccessSession+remoteAccessSession =+  RemoteAccessSession'+  { _rasBillingMethod = Nothing+  , _rasClientId = Nothing+  , _rasDeviceUdid = Nothing+  , _rasStatus = Nothing+  , _rasArn = Nothing+  , _rasCreated = Nothing+  , _rasDevice = Nothing+  , _rasStopped = Nothing+  , _rasResult = Nothing+  , _rasName = Nothing+  , _rasDeviceMinutes = Nothing+  , _rasRemoteDebugEnabled = Nothing+  , _rasEndpoint = Nothing+  , _rasMessage = Nothing+  , _rasHostAddress = Nothing+  , _rasStarted = Nothing+  }+++-- | The billing method of the remote access session. Possible values include @METERED@ or @UNMETERED@ . For more information about metered devices, see <http://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html#welcome-terminology AWS Device Farm terminology> ."+rasBillingMethod :: Lens' RemoteAccessSession (Maybe BillingMethod)+rasBillingMethod = lens _rasBillingMethod (\ s a -> s{_rasBillingMethod = a});++-- | Unique identifier of your client for the remote access session. Only returned if remote debugging is enabled for the remote access session.+rasClientId :: Lens' RemoteAccessSession (Maybe Text)+rasClientId = lens _rasClientId (\ s a -> s{_rasClientId = a});++-- | Unique device identifier for the remote device. Only returned if remote debugging is enabled for the remote access session.+rasDeviceUdid :: Lens' RemoteAccessSession (Maybe Text)+rasDeviceUdid = lens _rasDeviceUdid (\ s a -> s{_rasDeviceUdid = a});++-- | The status of the remote access session. Can be any of the following:     * PENDING: A pending status.     * PENDING_CONCURRENCY: A pending concurrency status.     * PENDING_DEVICE: A pending device status.     * PROCESSING: A processing status.     * SCHEDULING: A scheduling status.     * PREPARING: A preparing status.     * RUNNING: A running status.     * COMPLETED: A completed status.     * STOPPING: A stopping status.+rasStatus :: Lens' RemoteAccessSession (Maybe ExecutionStatus)+rasStatus = lens _rasStatus (\ s a -> s{_rasStatus = a});++-- | The Amazon Resource Name (ARN) of the remote access session.+rasArn :: Lens' RemoteAccessSession (Maybe Text)+rasArn = lens _rasArn (\ s a -> s{_rasArn = a});++-- | The date and time the remote access session was created.+rasCreated :: Lens' RemoteAccessSession (Maybe UTCTime)+rasCreated = lens _rasCreated (\ s a -> s{_rasCreated = a}) . mapping _Time;++-- | The device (phone or tablet) used in the remote access session.+rasDevice :: Lens' RemoteAccessSession (Maybe Device)+rasDevice = lens _rasDevice (\ s a -> s{_rasDevice = a});++-- | The date and time the remote access session was stopped.+rasStopped :: Lens' RemoteAccessSession (Maybe UTCTime)+rasStopped = lens _rasStopped (\ s a -> s{_rasStopped = a}) . mapping _Time;++-- | The result of the remote access session. Can be any of the following:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.+rasResult :: Lens' RemoteAccessSession (Maybe ExecutionResult)+rasResult = lens _rasResult (\ s a -> s{_rasResult = a});++-- | The name of the remote access session.+rasName :: Lens' RemoteAccessSession (Maybe Text)+rasName = lens _rasName (\ s a -> s{_rasName = a});++-- | The number of minutes a device is used in a remote access sesssion (including setup and teardown minutes).+rasDeviceMinutes :: Lens' RemoteAccessSession (Maybe DeviceMinutes)+rasDeviceMinutes = lens _rasDeviceMinutes (\ s a -> s{_rasDeviceMinutes = a});++-- | This flag is set to @true@ if remote debugging is enabled for the remote access session.+rasRemoteDebugEnabled :: Lens' RemoteAccessSession (Maybe Bool)+rasRemoteDebugEnabled = lens _rasRemoteDebugEnabled (\ s a -> s{_rasRemoteDebugEnabled = a});++-- | The endpoint for the remote access sesssion.+rasEndpoint :: Lens' RemoteAccessSession (Maybe Text)+rasEndpoint = lens _rasEndpoint (\ s a -> s{_rasEndpoint = a});++-- | A message about the remote access session.+rasMessage :: Lens' RemoteAccessSession (Maybe Text)+rasMessage = lens _rasMessage (\ s a -> s{_rasMessage = a});++-- | IP address of the EC2 host where you need to connect to remotely debug devices. Only returned if remote debugging is enabled for the remote access session.+rasHostAddress :: Lens' RemoteAccessSession (Maybe Text)+rasHostAddress = lens _rasHostAddress (\ s a -> s{_rasHostAddress = a});++-- | The date and time the remote access session was started.+rasStarted :: Lens' RemoteAccessSession (Maybe UTCTime)+rasStarted = lens _rasStarted (\ s a -> s{_rasStarted = a}) . mapping _Time;++instance FromJSON RemoteAccessSession where+        parseJSON+          = withObject "RemoteAccessSession"+              (\ x ->+                 RemoteAccessSession' <$>+                   (x .:? "billingMethod") <*> (x .:? "clientId") <*>+                     (x .:? "deviceUdid")+                     <*> (x .:? "status")+                     <*> (x .:? "arn")+                     <*> (x .:? "created")+                     <*> (x .:? "device")+                     <*> (x .:? "stopped")+                     <*> (x .:? "result")+                     <*> (x .:? "name")+                     <*> (x .:? "deviceMinutes")+                     <*> (x .:? "remoteDebugEnabled")+                     <*> (x .:? "endpoint")+                     <*> (x .:? "message")+                     <*> (x .:? "hostAddress")+                     <*> (x .:? "started"))++instance Hashable RemoteAccessSession where++instance NFData RemoteAccessSession where++-- | Represents the screen resolution of a device in height and width, expressed in pixels.+--+--+--+-- /See:/ 'resolution' smart constructor.+data Resolution = Resolution'+  { _rHeight :: !(Maybe Int)+  , _rWidth  :: !(Maybe Int)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Resolution' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rHeight' - The screen resolution's height, expressed in pixels.+--+-- * 'rWidth' - The screen resolution's width, expressed in pixels.+resolution+    :: Resolution+resolution = Resolution' {_rHeight = Nothing, _rWidth = Nothing}+++-- | The screen resolution's height, expressed in pixels.+rHeight :: Lens' Resolution (Maybe Int)+rHeight = lens _rHeight (\ s a -> s{_rHeight = a});++-- | The screen resolution's width, expressed in pixels.+rWidth :: Lens' Resolution (Maybe Int)+rWidth = lens _rWidth (\ s a -> s{_rWidth = a});++instance FromJSON Resolution where+        parseJSON+          = withObject "Resolution"+              (\ x ->+                 Resolution' <$> (x .:? "height") <*> (x .:? "width"))++instance Hashable Resolution where++instance NFData Resolution where++-- | Represents a condition for a device pool.+--+--+--+-- /See:/ 'rule' smart constructor.+data Rule = Rule'+  { _rAttribute :: !(Maybe DeviceAttribute)+  , _rOperator  :: !(Maybe RuleOperator)+  , _rValue     :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Rule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rAttribute' - The rule's stringified attribute. For example, specify the value as @"\"abc\""@ . Allowed values include:     * ARN: The ARN.     * FORM_FACTOR: The form factor (for example, phone or tablet).     * MANUFACTURER: The manufacturer.     * PLATFORM: The platform (for example, Android or iOS).     * REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access.     * APPIUM_VERSION: The Appium version for the test.+--+-- * 'rOperator' - The rule's operator.     * EQUALS: The equals operator.     * GREATER_THAN: The greater-than operator.     * IN: The in operator.     * LESS_THAN: The less-than operator.     * NOT_IN: The not-in operator.     * CONTAINS: The contains operator.+--+-- * 'rValue' - The rule's value.+rule+    :: Rule+rule = Rule' {_rAttribute = Nothing, _rOperator = Nothing, _rValue = Nothing}+++-- | The rule's stringified attribute. For example, specify the value as @"\"abc\""@ . Allowed values include:     * ARN: The ARN.     * FORM_FACTOR: The form factor (for example, phone or tablet).     * MANUFACTURER: The manufacturer.     * PLATFORM: The platform (for example, Android or iOS).     * REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access.     * APPIUM_VERSION: The Appium version for the test.+rAttribute :: Lens' Rule (Maybe DeviceAttribute)+rAttribute = lens _rAttribute (\ s a -> s{_rAttribute = a});++-- | The rule's operator.     * EQUALS: The equals operator.     * GREATER_THAN: The greater-than operator.     * IN: The in operator.     * LESS_THAN: The less-than operator.     * NOT_IN: The not-in operator.     * CONTAINS: The contains operator.+rOperator :: Lens' Rule (Maybe RuleOperator)+rOperator = lens _rOperator (\ s a -> s{_rOperator = a});++-- | The rule's value.+rValue :: Lens' Rule (Maybe Text)+rValue = lens _rValue (\ s a -> s{_rValue = a});++instance FromJSON Rule where+        parseJSON+          = withObject "Rule"+              (\ x ->+                 Rule' <$>+                   (x .:? "attribute") <*> (x .:? "operator") <*>+                     (x .:? "value"))++instance Hashable Rule where++instance NFData Rule where++instance ToJSON Rule where+        toJSON Rule'{..}+          = object+              (catMaybes+                 [("attribute" .=) <$> _rAttribute,+                  ("operator" .=) <$> _rOperator,+                  ("value" .=) <$> _rValue])++-- | Represents a test run on a set of devices with a given app package, test parameters, etc.+--+--+--+-- /See:/ 'run' smart constructor.+data Run = Run'+  { _runBillingMethod         :: !(Maybe BillingMethod)+  , _runStatus                :: !(Maybe ExecutionStatus)+  , _runCustomerArtifactPaths :: !(Maybe CustomerArtifactPaths)+  , _runCounters              :: !(Maybe Counters)+  , _runPlatform              :: !(Maybe DevicePlatform)+  , _runArn                   :: !(Maybe Text)+  , _runCreated               :: !(Maybe POSIX)+  , _runStopped               :: !(Maybe POSIX)+  , _runResult                :: !(Maybe ExecutionResult)+  , _runCompletedJobs         :: !(Maybe Int)+  , _runResultCode            :: !(Maybe ExecutionResultCode)+  , _runName                  :: !(Maybe Text)+  , _runParsingResultURL      :: !(Maybe Text)+  , _runNetworkProfile        :: !(Maybe NetworkProfile)+  , _runDeviceMinutes         :: !(Maybe DeviceMinutes)+  , _runType                  :: !(Maybe TestType)+  , _runMessage               :: !(Maybe Text)+  , _runTotalJobs             :: !(Maybe Int)+  , _runStarted               :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Run' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'runBillingMethod' - Specifies the billing method for a test run: @metered@ or @unmetered@ . If the parameter is not specified, the default value is @metered@ .+--+-- * 'runStatus' - The run's status. Allowed values include:     * PENDING: A pending status.     * PENDING_CONCURRENCY: A pending concurrency status.     * PENDING_DEVICE: A pending device status.     * PROCESSING: A processing status.     * SCHEDULING: A scheduling status.     * PREPARING: A preparing status.     * RUNNING: A running status.     * COMPLETED: A completed status.     * STOPPING: A stopping status.+--+-- * 'runCustomerArtifactPaths' - Output @CustomerArtifactPaths@ object for the test run.+--+-- * 'runCounters' - The run's result counters.+--+-- * 'runPlatform' - The run's platform. Allowed values include:     * ANDROID: The Android platform.     * IOS: The iOS platform.+--+-- * 'runArn' - The run's ARN.+--+-- * 'runCreated' - When the run was created.+--+-- * 'runStopped' - The run's stop time.+--+-- * 'runResult' - The run's result. Allowed values include:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.+--+-- * 'runCompletedJobs' - The total number of completed jobs.+--+-- * 'runResultCode' - Supporting field for the result field. Set only if @result@ is @SKIPPED@ . @PARSING_FAILED@ if the result is skipped because of test package parsing failure.+--+-- * 'runName' - The run's name.+--+-- * 'runParsingResultURL' - Read-only URL for an object in S3 bucket where you can get the parsing results of the test package. If the test package doesn't parse, the reason why it doesn't parse appears in the file that this URL points to.+--+-- * 'runNetworkProfile' - The network profile being used for a test run.+--+-- * 'runDeviceMinutes' - Represents the total (metered or unmetered) minutes used by the test run.+--+-- * 'runType' - The run's type. Must be one of the following values:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.+--+-- * 'runMessage' - A message about the run's result.+--+-- * 'runTotalJobs' - The total number of jobs for the run.+--+-- * 'runStarted' - The run's start time.+run+    :: Run+run =+  Run'+  { _runBillingMethod = Nothing+  , _runStatus = Nothing+  , _runCustomerArtifactPaths = Nothing+  , _runCounters = Nothing+  , _runPlatform = Nothing+  , _runArn = Nothing+  , _runCreated = Nothing+  , _runStopped = Nothing+  , _runResult = Nothing+  , _runCompletedJobs = Nothing+  , _runResultCode = Nothing+  , _runName = Nothing+  , _runParsingResultURL = Nothing+  , _runNetworkProfile = Nothing+  , _runDeviceMinutes = Nothing+  , _runType = Nothing+  , _runMessage = Nothing+  , _runTotalJobs = Nothing+  , _runStarted = Nothing+  }+++-- | Specifies the billing method for a test run: @metered@ or @unmetered@ . If the parameter is not specified, the default value is @metered@ .+runBillingMethod :: Lens' Run (Maybe BillingMethod)+runBillingMethod = lens _runBillingMethod (\ s a -> s{_runBillingMethod = a});++-- | The run's status. Allowed values include:     * PENDING: A pending status.     * PENDING_CONCURRENCY: A pending concurrency status.     * PENDING_DEVICE: A pending device status.     * PROCESSING: A processing status.     * SCHEDULING: A scheduling status.     * PREPARING: A preparing status.     * RUNNING: A running status.     * COMPLETED: A completed status.     * STOPPING: A stopping status.+runStatus :: Lens' Run (Maybe ExecutionStatus)+runStatus = lens _runStatus (\ s a -> s{_runStatus = a});++-- | Output @CustomerArtifactPaths@ object for the test run.+runCustomerArtifactPaths :: Lens' Run (Maybe CustomerArtifactPaths)+runCustomerArtifactPaths = lens _runCustomerArtifactPaths (\ s a -> s{_runCustomerArtifactPaths = a});++-- | The run's result counters.+runCounters :: Lens' Run (Maybe Counters)+runCounters = lens _runCounters (\ s a -> s{_runCounters = a});++-- | The run's platform. Allowed values include:     * ANDROID: The Android platform.     * IOS: The iOS platform.+runPlatform :: Lens' Run (Maybe DevicePlatform)+runPlatform = lens _runPlatform (\ s a -> s{_runPlatform = a});++-- | The run's ARN.+runArn :: Lens' Run (Maybe Text)+runArn = lens _runArn (\ s a -> s{_runArn = a});++-- | When the run was created.+runCreated :: Lens' Run (Maybe UTCTime)+runCreated = lens _runCreated (\ s a -> s{_runCreated = a}) . mapping _Time;++-- | The run's stop time.+runStopped :: Lens' Run (Maybe UTCTime)+runStopped = lens _runStopped (\ s a -> s{_runStopped = a}) . mapping _Time;++-- | The run's result. Allowed values include:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.+runResult :: Lens' Run (Maybe ExecutionResult)+runResult = lens _runResult (\ s a -> s{_runResult = a});++-- | The total number of completed jobs.+runCompletedJobs :: Lens' Run (Maybe Int)+runCompletedJobs = lens _runCompletedJobs (\ s a -> s{_runCompletedJobs = a});++-- | Supporting field for the result field. Set only if @result@ is @SKIPPED@ . @PARSING_FAILED@ if the result is skipped because of test package parsing failure.+runResultCode :: Lens' Run (Maybe ExecutionResultCode)+runResultCode = lens _runResultCode (\ s a -> s{_runResultCode = a});++-- | The run's name.+runName :: Lens' Run (Maybe Text)+runName = lens _runName (\ s a -> s{_runName = a});++-- | Read-only URL for an object in S3 bucket where you can get the parsing results of the test package. If the test package doesn't parse, the reason why it doesn't parse appears in the file that this URL points to.+runParsingResultURL :: Lens' Run (Maybe Text)+runParsingResultURL = lens _runParsingResultURL (\ s a -> s{_runParsingResultURL = a});++-- | The network profile being used for a test run.+runNetworkProfile :: Lens' Run (Maybe NetworkProfile)+runNetworkProfile = lens _runNetworkProfile (\ s a -> s{_runNetworkProfile = a});++-- | Represents the total (metered or unmetered) minutes used by the test run.+runDeviceMinutes :: Lens' Run (Maybe DeviceMinutes)+runDeviceMinutes = lens _runDeviceMinutes (\ s a -> s{_runDeviceMinutes = a});++-- | The run's type. Must be one of the following values:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.+runType :: Lens' Run (Maybe TestType)+runType = lens _runType (\ s a -> s{_runType = a});++-- | A message about the run's result.+runMessage :: Lens' Run (Maybe Text)+runMessage = lens _runMessage (\ s a -> s{_runMessage = a});++-- | The total number of jobs for the run.+runTotalJobs :: Lens' Run (Maybe Int)+runTotalJobs = lens _runTotalJobs (\ s a -> s{_runTotalJobs = a});++-- | The run's start time.+runStarted :: Lens' Run (Maybe UTCTime)+runStarted = lens _runStarted (\ s a -> s{_runStarted = a}) . mapping _Time;++instance FromJSON Run where+        parseJSON+          = withObject "Run"+              (\ x ->+                 Run' <$>+                   (x .:? "billingMethod") <*> (x .:? "status") <*>+                     (x .:? "customerArtifactPaths")+                     <*> (x .:? "counters")+                     <*> (x .:? "platform")+                     <*> (x .:? "arn")+                     <*> (x .:? "created")+                     <*> (x .:? "stopped")+                     <*> (x .:? "result")+                     <*> (x .:? "completedJobs")+                     <*> (x .:? "resultCode")+                     <*> (x .:? "name")+                     <*> (x .:? "parsingResultUrl")+                     <*> (x .:? "networkProfile")+                     <*> (x .:? "deviceMinutes")+                     <*> (x .:? "type")+                     <*> (x .:? "message")+                     <*> (x .:? "totalJobs")+                     <*> (x .:? "started"))++instance Hashable Run where++instance NFData Run where++-- | Represents a sample of performance data.+--+--+--+-- /See:/ 'sample' smart constructor.+data Sample = Sample'+  { _samArn  :: !(Maybe Text)+  , _samUrl  :: !(Maybe Text)+  , _samType :: !(Maybe SampleType)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Sample' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'samArn' - The sample's ARN.+--+-- * 'samUrl' - The pre-signed Amazon S3 URL that can be used with a corresponding GET request to download the sample's file.+--+-- * 'samType' - The sample's type. Must be one of the following values:     * CPU: A CPU sample type. This is expressed as the app processing CPU time (including child processes) as reported by process, as a percentage.     * MEMORY: A memory usage sample type. This is expressed as the total proportional set size of an app process, in kilobytes.     * NATIVE_AVG_DRAWTIME     * NATIVE_FPS     * NATIVE_FRAMES     * NATIVE_MAX_DRAWTIME     * NATIVE_MIN_DRAWTIME     * OPENGL_AVG_DRAWTIME     * OPENGL_FPS     * OPENGL_FRAMES     * OPENGL_MAX_DRAWTIME     * OPENGL_MIN_DRAWTIME     * RX     * RX_RATE: The total number of bytes per second (TCP and UDP) that are sent, by app process.     * THREADS: A threads sample type. This is expressed as the total number of threads per app process.     * TX     * TX_RATE: The total number of bytes per second (TCP and UDP) that are received, by app process.+sample+    :: Sample+sample = Sample' {_samArn = Nothing, _samUrl = Nothing, _samType = Nothing}+++-- | The sample's ARN.+samArn :: Lens' Sample (Maybe Text)+samArn = lens _samArn (\ s a -> s{_samArn = a});++-- | The pre-signed Amazon S3 URL that can be used with a corresponding GET request to download the sample's file.+samUrl :: Lens' Sample (Maybe Text)+samUrl = lens _samUrl (\ s a -> s{_samUrl = a});++-- | The sample's type. Must be one of the following values:     * CPU: A CPU sample type. This is expressed as the app processing CPU time (including child processes) as reported by process, as a percentage.     * MEMORY: A memory usage sample type. This is expressed as the total proportional set size of an app process, in kilobytes.     * NATIVE_AVG_DRAWTIME     * NATIVE_FPS     * NATIVE_FRAMES     * NATIVE_MAX_DRAWTIME     * NATIVE_MIN_DRAWTIME     * OPENGL_AVG_DRAWTIME     * OPENGL_FPS     * OPENGL_FRAMES     * OPENGL_MAX_DRAWTIME     * OPENGL_MIN_DRAWTIME     * RX     * RX_RATE: The total number of bytes per second (TCP and UDP) that are sent, by app process.     * THREADS: A threads sample type. This is expressed as the total number of threads per app process.     * TX     * TX_RATE: The total number of bytes per second (TCP and UDP) that are received, by app process.+samType :: Lens' Sample (Maybe SampleType)+samType = lens _samType (\ s a -> s{_samType = a});++instance FromJSON Sample where+        parseJSON+          = withObject "Sample"+              (\ x ->+                 Sample' <$>+                   (x .:? "arn") <*> (x .:? "url") <*> (x .:? "type"))++instance Hashable Sample where++instance NFData Sample where++-- | Represents the settings for a run. Includes things like location, radio states, auxiliary apps, and network profiles.+--+--+--+-- /See:/ 'scheduleRunConfiguration' smart constructor.+data ScheduleRunConfiguration = ScheduleRunConfiguration'+  { _srcBillingMethod         :: !(Maybe BillingMethod)+  , _srcCustomerArtifactPaths :: !(Maybe CustomerArtifactPaths)+  , _srcRadios                :: !(Maybe Radios)+  , _srcLocation              :: !(Maybe Location)+  , _srcLocale                :: !(Maybe Text)+  , _srcNetworkProfileARN     :: !(Maybe Text)+  , _srcExtraDataPackageARN   :: !(Maybe Text)+  , _srcAuxiliaryApps         :: !(Maybe [Text])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ScheduleRunConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srcBillingMethod' - Specifies the billing method for a test run: @metered@ or @unmetered@ . If the parameter is not specified, the default value is @metered@ .+--+-- * 'srcCustomerArtifactPaths' - Input @CustomerArtifactPaths@ object for the scheduled run configuration.+--+-- * 'srcRadios' - Information about the radio states for the run.+--+-- * 'srcLocation' - Information about the location that is used for the run.+--+-- * 'srcLocale' - Information about the locale that is used for the run.+--+-- * 'srcNetworkProfileARN' - Reserved for internal use.+--+-- * 'srcExtraDataPackageARN' - The ARN of the extra data for the run. The extra data is a .zip file that AWS Device Farm will extract to external data for Android or the app's sandbox for iOS.+--+-- * 'srcAuxiliaryApps' - A list of auxiliary apps for the run.+scheduleRunConfiguration+    :: ScheduleRunConfiguration+scheduleRunConfiguration =+  ScheduleRunConfiguration'+  { _srcBillingMethod = Nothing+  , _srcCustomerArtifactPaths = Nothing+  , _srcRadios = Nothing+  , _srcLocation = Nothing+  , _srcLocale = Nothing+  , _srcNetworkProfileARN = Nothing+  , _srcExtraDataPackageARN = Nothing+  , _srcAuxiliaryApps = Nothing+  }+++-- | Specifies the billing method for a test run: @metered@ or @unmetered@ . If the parameter is not specified, the default value is @metered@ .+srcBillingMethod :: Lens' ScheduleRunConfiguration (Maybe BillingMethod)+srcBillingMethod = lens _srcBillingMethod (\ s a -> s{_srcBillingMethod = a});++-- | Input @CustomerArtifactPaths@ object for the scheduled run configuration.+srcCustomerArtifactPaths :: Lens' ScheduleRunConfiguration (Maybe CustomerArtifactPaths)+srcCustomerArtifactPaths = lens _srcCustomerArtifactPaths (\ s a -> s{_srcCustomerArtifactPaths = a});++-- | Information about the radio states for the run.+srcRadios :: Lens' ScheduleRunConfiguration (Maybe Radios)+srcRadios = lens _srcRadios (\ s a -> s{_srcRadios = a});++-- | Information about the location that is used for the run.+srcLocation :: Lens' ScheduleRunConfiguration (Maybe Location)+srcLocation = lens _srcLocation (\ s a -> s{_srcLocation = a});++-- | Information about the locale that is used for the run.+srcLocale :: Lens' ScheduleRunConfiguration (Maybe Text)+srcLocale = lens _srcLocale (\ s a -> s{_srcLocale = a});++-- | Reserved for internal use.+srcNetworkProfileARN :: Lens' ScheduleRunConfiguration (Maybe Text)+srcNetworkProfileARN = lens _srcNetworkProfileARN (\ s a -> s{_srcNetworkProfileARN = a});++-- | The ARN of the extra data for the run. The extra data is a .zip file that AWS Device Farm will extract to external data for Android or the app's sandbox for iOS.+srcExtraDataPackageARN :: Lens' ScheduleRunConfiguration (Maybe Text)+srcExtraDataPackageARN = lens _srcExtraDataPackageARN (\ s a -> s{_srcExtraDataPackageARN = a});++-- | A list of auxiliary apps for the run.+srcAuxiliaryApps :: Lens' ScheduleRunConfiguration [Text]+srcAuxiliaryApps = lens _srcAuxiliaryApps (\ s a -> s{_srcAuxiliaryApps = a}) . _Default . _Coerce;++instance Hashable ScheduleRunConfiguration where++instance NFData ScheduleRunConfiguration where++instance ToJSON ScheduleRunConfiguration where+        toJSON ScheduleRunConfiguration'{..}+          = object+              (catMaybes+                 [("billingMethod" .=) <$> _srcBillingMethod,+                  ("customerArtifactPaths" .=) <$>+                    _srcCustomerArtifactPaths,+                  ("radios" .=) <$> _srcRadios,+                  ("location" .=) <$> _srcLocation,+                  ("locale" .=) <$> _srcLocale,+                  ("networkProfileArn" .=) <$> _srcNetworkProfileARN,+                  ("extraDataPackageArn" .=) <$>+                    _srcExtraDataPackageARN,+                  ("auxiliaryApps" .=) <$> _srcAuxiliaryApps])++-- | Represents additional test settings.+--+--+--+-- /See:/ 'scheduleRunTest' smart constructor.+data ScheduleRunTest = ScheduleRunTest'+  { _srtTestPackageARN :: !(Maybe Text)+  , _srtParameters     :: !(Maybe (Map Text Text))+  , _srtFilter         :: !(Maybe Text)+  , _srtType           :: !TestType+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ScheduleRunTest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srtTestPackageARN' - The ARN of the uploaded test that will be run.+--+-- * 'srtParameters' - The test's parameters, such as the following test framework parameters and fixture settings: For Calabash tests:     * profile: A cucumber profile, for example, "my_profile_name".     * tags: You can limit execution to features or scenarios that have (or don't have) certain tags, for example, "@smoke" or "@smoke,~@wip". For Appium tests (all types):     * appium_version: The Appium version. Currently supported values are "1.4.16", "1.6.3", "latest", and "default".     * “latest” will run the latest Appium version supported by Device Farm (1.6.3).     * For “default”, Device Farm will choose a compatible version of Appium for the device. The current behavior is to run 1.4.16 on Android devices and iOS 9 and earlier, 1.6.3 for iOS 10 and later.     * This behavior is subject to change. For Fuzz tests (Android only):     * event_count: The number of events, between 1 and 10000, that the UI fuzz test should perform.     * throttle: The time, in ms, between 0 and 1000, that the UI fuzz test should wait between events.     * seed: A seed to use for randomizing the UI fuzz test. Using the same seed value between tests ensures identical event sequences. For Explorer tests:     * username: A username to use if the Explorer encounters a login form. If not supplied, no username will be inserted.     * password: A password to use if the Explorer encounters a login form. If not supplied, no password will be inserted. For Instrumentation:     * filter: A test filter string. Examples:     * Running a single test case: "com.android.abc.Test1"     * Running a single test: "com.android.abc.Test1#smoke"     * Running multiple tests: "com.android.abc.Test1,com.android.abc.Test2" For XCTest and XCTestUI:     * filter: A test filter string. Examples:     * Running a single test class: "LoginTests"     * Running a multiple test classes: "LoginTests,SmokeTests"     * Running a single test: "LoginTests/testValid"     * Running multiple tests: "LoginTests/testValid,LoginTests/testInvalid" For UIAutomator:     * filter: A test filter string. Examples:     * Running a single test case: "com.android.abc.Test1"     * Running a single test: "com.android.abc.Test1#smoke"     * Running multiple tests: "com.android.abc.Test1,com.android.abc.Test2"+--+-- * 'srtFilter' - The test's filter.+--+-- * 'srtType' - The test's type. Must be one of the following values:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.+scheduleRunTest+    :: TestType -- ^ 'srtType'+    -> ScheduleRunTest+scheduleRunTest pType_ =+  ScheduleRunTest'+  { _srtTestPackageARN = Nothing+  , _srtParameters = Nothing+  , _srtFilter = Nothing+  , _srtType = pType_+  }+++-- | The ARN of the uploaded test that will be run.+srtTestPackageARN :: Lens' ScheduleRunTest (Maybe Text)+srtTestPackageARN = lens _srtTestPackageARN (\ s a -> s{_srtTestPackageARN = a});++-- | The test's parameters, such as the following test framework parameters and fixture settings: For Calabash tests:     * profile: A cucumber profile, for example, "my_profile_name".     * tags: You can limit execution to features or scenarios that have (or don't have) certain tags, for example, "@smoke" or "@smoke,~@wip". For Appium tests (all types):     * appium_version: The Appium version. Currently supported values are "1.4.16", "1.6.3", "latest", and "default".     * “latest” will run the latest Appium version supported by Device Farm (1.6.3).     * For “default”, Device Farm will choose a compatible version of Appium for the device. The current behavior is to run 1.4.16 on Android devices and iOS 9 and earlier, 1.6.3 for iOS 10 and later.     * This behavior is subject to change. For Fuzz tests (Android only):     * event_count: The number of events, between 1 and 10000, that the UI fuzz test should perform.     * throttle: The time, in ms, between 0 and 1000, that the UI fuzz test should wait between events.     * seed: A seed to use for randomizing the UI fuzz test. Using the same seed value between tests ensures identical event sequences. For Explorer tests:     * username: A username to use if the Explorer encounters a login form. If not supplied, no username will be inserted.     * password: A password to use if the Explorer encounters a login form. If not supplied, no password will be inserted. For Instrumentation:     * filter: A test filter string. Examples:     * Running a single test case: "com.android.abc.Test1"     * Running a single test: "com.android.abc.Test1#smoke"     * Running multiple tests: "com.android.abc.Test1,com.android.abc.Test2" For XCTest and XCTestUI:     * filter: A test filter string. Examples:     * Running a single test class: "LoginTests"     * Running a multiple test classes: "LoginTests,SmokeTests"     * Running a single test: "LoginTests/testValid"     * Running multiple tests: "LoginTests/testValid,LoginTests/testInvalid" For UIAutomator:     * filter: A test filter string. Examples:     * Running a single test case: "com.android.abc.Test1"     * Running a single test: "com.android.abc.Test1#smoke"     * Running multiple tests: "com.android.abc.Test1,com.android.abc.Test2"+srtParameters :: Lens' ScheduleRunTest (HashMap Text Text)+srtParameters = lens _srtParameters (\ s a -> s{_srtParameters = a}) . _Default . _Map;++-- | The test's filter.+srtFilter :: Lens' ScheduleRunTest (Maybe Text)+srtFilter = lens _srtFilter (\ s a -> s{_srtFilter = a});++-- | The test's type. Must be one of the following values:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.+srtType :: Lens' ScheduleRunTest TestType+srtType = lens _srtType (\ s a -> s{_srtType = a});++instance Hashable ScheduleRunTest where++instance NFData ScheduleRunTest where++instance ToJSON ScheduleRunTest where+        toJSON ScheduleRunTest'{..}+          = object+              (catMaybes+                 [("testPackageArn" .=) <$> _srtTestPackageARN,+                  ("parameters" .=) <$> _srtParameters,+                  ("filter" .=) <$> _srtFilter,+                  Just ("type" .= _srtType)])++-- | Represents a collection of one or more tests.+--+--+--+-- /See:/ 'suite' smart constructor.+data Suite = Suite'+  { _sStatus        :: !(Maybe ExecutionStatus)+  , _sCounters      :: !(Maybe Counters)+  , _sArn           :: !(Maybe Text)+  , _sCreated       :: !(Maybe POSIX)+  , _sStopped       :: !(Maybe POSIX)+  , _sResult        :: !(Maybe ExecutionResult)+  , _sName          :: !(Maybe Text)+  , _sDeviceMinutes :: !(Maybe DeviceMinutes)+  , _sType          :: !(Maybe TestType)+  , _sMessage       :: !(Maybe Text)+  , _sStarted       :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Suite' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sStatus' - The suite's status. Allowed values include:     * PENDING: A pending status.     * PENDING_CONCURRENCY: A pending concurrency status.     * PENDING_DEVICE: A pending device status.     * PROCESSING: A processing status.     * SCHEDULING: A scheduling status.     * PREPARING: A preparing status.     * RUNNING: A running status.     * COMPLETED: A completed status.     * STOPPING: A stopping status.+--+-- * 'sCounters' - The suite's result counters.+--+-- * 'sArn' - The suite's ARN.+--+-- * 'sCreated' - When the suite was created.+--+-- * 'sStopped' - The suite's stop time.+--+-- * 'sResult' - The suite's result. Allowed values include:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.+--+-- * 'sName' - The suite's name.+--+-- * 'sDeviceMinutes' - Represents the total (metered or unmetered) minutes used by the test suite.+--+-- * 'sType' - The suite's type. Must be one of the following values:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.+--+-- * 'sMessage' - A message about the suite's result.+--+-- * 'sStarted' - The suite's start time.+suite+    :: Suite+suite =+  Suite'+  { _sStatus = Nothing+  , _sCounters = Nothing+  , _sArn = Nothing+  , _sCreated = Nothing+  , _sStopped = Nothing+  , _sResult = Nothing+  , _sName = Nothing+  , _sDeviceMinutes = Nothing+  , _sType = Nothing+  , _sMessage = Nothing+  , _sStarted = Nothing+  }+++-- | The suite's status. Allowed values include:     * PENDING: A pending status.     * PENDING_CONCURRENCY: A pending concurrency status.     * PENDING_DEVICE: A pending device status.     * PROCESSING: A processing status.     * SCHEDULING: A scheduling status.     * PREPARING: A preparing status.     * RUNNING: A running status.     * COMPLETED: A completed status.     * STOPPING: A stopping status.+sStatus :: Lens' Suite (Maybe ExecutionStatus)+sStatus = lens _sStatus (\ s a -> s{_sStatus = a});++-- | The suite's result counters.+sCounters :: Lens' Suite (Maybe Counters)+sCounters = lens _sCounters (\ s a -> s{_sCounters = a});++-- | The suite's ARN.+sArn :: Lens' Suite (Maybe Text)+sArn = lens _sArn (\ s a -> s{_sArn = a});++-- | When the suite was created.+sCreated :: Lens' Suite (Maybe UTCTime)+sCreated = lens _sCreated (\ s a -> s{_sCreated = a}) . mapping _Time;++-- | The suite's stop time.+sStopped :: Lens' Suite (Maybe UTCTime)+sStopped = lens _sStopped (\ s a -> s{_sStopped = a}) . mapping _Time;++-- | The suite's result. Allowed values include:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.+sResult :: Lens' Suite (Maybe ExecutionResult)+sResult = lens _sResult (\ s a -> s{_sResult = a});++-- | The suite's name.+sName :: Lens' Suite (Maybe Text)+sName = lens _sName (\ s a -> s{_sName = a});++-- | Represents the total (metered or unmetered) minutes used by the test suite.+sDeviceMinutes :: Lens' Suite (Maybe DeviceMinutes)+sDeviceMinutes = lens _sDeviceMinutes (\ s a -> s{_sDeviceMinutes = a});++-- | The suite's type. Must be one of the following values:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.+sType :: Lens' Suite (Maybe TestType)+sType = lens _sType (\ s a -> s{_sType = a});++-- | A message about the suite's result.+sMessage :: Lens' Suite (Maybe Text)+sMessage = lens _sMessage (\ s a -> s{_sMessage = a});++-- | The suite's start time.+sStarted :: Lens' Suite (Maybe UTCTime)+sStarted = lens _sStarted (\ s a -> s{_sStarted = a}) . mapping _Time;++instance FromJSON Suite where+        parseJSON+          = withObject "Suite"+              (\ x ->+                 Suite' <$>+                   (x .:? "status") <*> (x .:? "counters") <*>+                     (x .:? "arn")+                     <*> (x .:? "created")+                     <*> (x .:? "stopped")+                     <*> (x .:? "result")+                     <*> (x .:? "name")+                     <*> (x .:? "deviceMinutes")+                     <*> (x .:? "type")+                     <*> (x .:? "message")+                     <*> (x .:? "started"))++instance Hashable Suite where++instance NFData Suite where++-- | Represents a condition that is evaluated.+--+--+--+-- /See:/ 'test' smart constructor.+data Test = Test'+  { _tStatus        :: !(Maybe ExecutionStatus)+  , _tCounters      :: !(Maybe Counters)+  , _tArn           :: !(Maybe Text)+  , _tCreated       :: !(Maybe POSIX)+  , _tStopped       :: !(Maybe POSIX)+  , _tResult        :: !(Maybe ExecutionResult)+  , _tName          :: !(Maybe Text)+  , _tDeviceMinutes :: !(Maybe DeviceMinutes)+  , _tType          :: !(Maybe TestType)+  , _tMessage       :: !(Maybe Text)+  , _tStarted       :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Test' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tStatus' - The test's status. Allowed values include:     * PENDING: A pending status.     * PENDING_CONCURRENCY: A pending concurrency status.     * PENDING_DEVICE: A pending device status.     * PROCESSING: A processing status.     * SCHEDULING: A scheduling status.     * PREPARING: A preparing status.     * RUNNING: A running status.     * COMPLETED: A completed status.     * STOPPING: A stopping status.+--+-- * 'tCounters' - The test's result counters.+--+-- * 'tArn' - The test's ARN.+--+-- * 'tCreated' - When the test was created.+--+-- * 'tStopped' - The test's stop time.+--+-- * 'tResult' - The test's result. Allowed values include:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.+--+-- * 'tName' - The test's name.+--+-- * 'tDeviceMinutes' - Represents the total (metered or unmetered) minutes used by the test.+--+-- * 'tType' - The test's type. Must be one of the following values:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.+--+-- * 'tMessage' - A message about the test's result.+--+-- * 'tStarted' - The test's start time.+test+    :: Test+test =+  Test'+  { _tStatus = Nothing+  , _tCounters = Nothing+  , _tArn = Nothing+  , _tCreated = Nothing+  , _tStopped = Nothing+  , _tResult = Nothing+  , _tName = Nothing+  , _tDeviceMinutes = Nothing+  , _tType = Nothing+  , _tMessage = Nothing+  , _tStarted = Nothing+  }+++-- | The test's status. Allowed values include:     * PENDING: A pending status.     * PENDING_CONCURRENCY: A pending concurrency status.     * PENDING_DEVICE: A pending device status.     * PROCESSING: A processing status.     * SCHEDULING: A scheduling status.     * PREPARING: A preparing status.     * RUNNING: A running status.     * COMPLETED: A completed status.     * STOPPING: A stopping status.+tStatus :: Lens' Test (Maybe ExecutionStatus)+tStatus = lens _tStatus (\ s a -> s{_tStatus = a});++-- | The test's result counters.+tCounters :: Lens' Test (Maybe Counters)+tCounters = lens _tCounters (\ s a -> s{_tCounters = a});++-- | The test's ARN.+tArn :: Lens' Test (Maybe Text)+tArn = lens _tArn (\ s a -> s{_tArn = a});++-- | When the test was created.+tCreated :: Lens' Test (Maybe UTCTime)+tCreated = lens _tCreated (\ s a -> s{_tCreated = a}) . mapping _Time;++-- | The test's stop time.+tStopped :: Lens' Test (Maybe UTCTime)+tStopped = lens _tStopped (\ s a -> s{_tStopped = a}) . mapping _Time;++-- | The test's result. Allowed values include:     * PENDING: A pending condition.     * PASSED: A passing condition.     * WARNED: A warning condition.     * FAILED: A failed condition.     * SKIPPED: A skipped condition.     * ERRORED: An error condition.     * STOPPED: A stopped condition.+tResult :: Lens' Test (Maybe ExecutionResult)+tResult = lens _tResult (\ s a -> s{_tResult = a});++-- | The test's name.+tName :: Lens' Test (Maybe Text)+tName = lens _tName (\ s a -> s{_tName = a});++-- | Represents the total (metered or unmetered) minutes used by the test.+tDeviceMinutes :: Lens' Test (Maybe DeviceMinutes)+tDeviceMinutes = lens _tDeviceMinutes (\ s a -> s{_tDeviceMinutes = a});++-- | The test's type. Must be one of the following values:     * BUILTIN_FUZZ: The built-in fuzz type.     * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.     * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.     * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.     * APPIUM_PYTHON: The Appium Python type.     * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.     * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.     * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.     * CALABASH: The Calabash type.     * INSTRUMENTATION: The Instrumentation type.     * UIAUTOMATION: The uiautomation type.     * UIAUTOMATOR: The uiautomator type.     * XCTEST: The XCode test type.     * XCTEST_UI: The XCode UI test type.+tType :: Lens' Test (Maybe TestType)+tType = lens _tType (\ s a -> s{_tType = a});++-- | A message about the test's result.+tMessage :: Lens' Test (Maybe Text)+tMessage = lens _tMessage (\ s a -> s{_tMessage = a});++-- | The test's start time.+tStarted :: Lens' Test (Maybe UTCTime)+tStarted = lens _tStarted (\ s a -> s{_tStarted = a}) . mapping _Time;++instance FromJSON Test where+        parseJSON+          = withObject "Test"+              (\ x ->+                 Test' <$>+                   (x .:? "status") <*> (x .:? "counters") <*>+                     (x .:? "arn")+                     <*> (x .:? "created")+                     <*> (x .:? "stopped")+                     <*> (x .:? "result")+                     <*> (x .:? "name")+                     <*> (x .:? "deviceMinutes")+                     <*> (x .:? "type")+                     <*> (x .:? "message")+                     <*> (x .:? "started"))++instance Hashable Test where++instance NFData Test where++-- | Represents information about free trial device minutes for an AWS account.+--+--+--+-- /See:/ 'trialMinutes' smart constructor.+data TrialMinutes = TrialMinutes'+  { _tmRemaining :: !(Maybe Double)+  , _tmTotal     :: !(Maybe Double)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TrialMinutes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tmRemaining' - The number of free trial minutes remaining in the account.+--+-- * 'tmTotal' - The total number of free trial minutes that the account started with.+trialMinutes+    :: TrialMinutes+trialMinutes = TrialMinutes' {_tmRemaining = Nothing, _tmTotal = Nothing}+++-- | The number of free trial minutes remaining in the account.+tmRemaining :: Lens' TrialMinutes (Maybe Double)+tmRemaining = lens _tmRemaining (\ s a -> s{_tmRemaining = a});++-- | The total number of free trial minutes that the account started with.+tmTotal :: Lens' TrialMinutes (Maybe Double)+tmTotal = lens _tmTotal (\ s a -> s{_tmTotal = a});++instance FromJSON TrialMinutes where+        parseJSON+          = withObject "TrialMinutes"+              (\ x ->+                 TrialMinutes' <$>+                   (x .:? "remaining") <*> (x .:? "total"))++instance Hashable TrialMinutes where++instance NFData TrialMinutes where++-- | A collection of one or more problems, grouped by their result.+--+--+--+-- /See:/ 'uniqueProblem' smart constructor.+data UniqueProblem = UniqueProblem'+  { _upProblems :: !(Maybe [Problem])+  , _upMessage  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UniqueProblem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'upProblems' - Information about the problems.+--+-- * 'upMessage' - A message about the unique problems' result.+uniqueProblem+    :: UniqueProblem+uniqueProblem = UniqueProblem' {_upProblems = Nothing, _upMessage = Nothing}+++-- | Information about the problems.+upProblems :: Lens' UniqueProblem [Problem]+upProblems = lens _upProblems (\ s a -> s{_upProblems = a}) . _Default . _Coerce;++-- | A message about the unique problems' result.+upMessage :: Lens' UniqueProblem (Maybe Text)+upMessage = lens _upMessage (\ s a -> s{_upMessage = a});++instance FromJSON UniqueProblem where+        parseJSON+          = withObject "UniqueProblem"+              (\ x ->+                 UniqueProblem' <$>+                   (x .:? "problems" .!= mempty) <*> (x .:? "message"))++instance Hashable UniqueProblem where++instance NFData UniqueProblem where++-- | An app or a set of one or more tests to upload or that have been uploaded.+--+--+--+-- /See:/ 'upload' smart constructor.+data Upload = Upload'+  { _uStatus      :: !(Maybe UploadStatus)+  , _uArn         :: !(Maybe Text)+  , _uCreated     :: !(Maybe POSIX)+  , _uUrl         :: !(Maybe Text)+  , _uName        :: !(Maybe Text)+  , _uMetadata    :: !(Maybe Text)+  , _uType        :: !(Maybe UploadType)+  , _uMessage     :: !(Maybe Text)+  , _uContentType :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Upload' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uStatus' - The upload's status. Must be one of the following values:     * FAILED: A failed status.     * INITIALIZED: An initialized status.     * PROCESSING: A processing status.     * SUCCEEDED: A succeeded status.+--+-- * 'uArn' - The upload's ARN.+--+-- * 'uCreated' - When the upload was created.+--+-- * 'uUrl' - The pre-signed Amazon S3 URL that was used to store a file through a corresponding PUT request.+--+-- * 'uName' - The upload's file name.+--+-- * 'uMetadata' - The upload's metadata. For example, for Android, this contains information that is parsed from the manifest and is displayed in the AWS Device Farm console after the associated app is uploaded.+--+-- * 'uType' - The upload's type. Must be one of the following values:     * ANDROID_APP: An Android upload.     * IOS_APP: An iOS upload.     * WEB_APP: A web appliction upload.     * EXTERNAL_DATA: An external data upload.     * APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.     * APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.     * APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload.     * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.     * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.     * APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload.     * CALABASH_TEST_PACKAGE: A Calabash test package upload.     * INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.     * UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload.     * UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.     * XCTEST_TEST_PACKAGE: An XCode test package upload.     * XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.+--+-- * 'uMessage' - A message about the upload's result.+--+-- * 'uContentType' - The upload's content type (for example, "application/octet-stream").+upload+    :: Upload+upload =+  Upload'+  { _uStatus = Nothing+  , _uArn = Nothing+  , _uCreated = Nothing+  , _uUrl = Nothing+  , _uName = Nothing+  , _uMetadata = Nothing+  , _uType = Nothing+  , _uMessage = Nothing+  , _uContentType = Nothing+  }+++-- | The upload's status. Must be one of the following values:     * FAILED: A failed status.     * INITIALIZED: An initialized status.     * PROCESSING: A processing status.     * SUCCEEDED: A succeeded status.+uStatus :: Lens' Upload (Maybe UploadStatus)+uStatus = lens _uStatus (\ s a -> s{_uStatus = a});++-- | The upload's ARN.+uArn :: Lens' Upload (Maybe Text)+uArn = lens _uArn (\ s a -> s{_uArn = a});++-- | When the upload was created.+uCreated :: Lens' Upload (Maybe UTCTime)+uCreated = lens _uCreated (\ s a -> s{_uCreated = a}) . mapping _Time;++-- | The pre-signed Amazon S3 URL that was used to store a file through a corresponding PUT request.+uUrl :: Lens' Upload (Maybe Text)+uUrl = lens _uUrl (\ s a -> s{_uUrl = a});++-- | The upload's file name.+uName :: Lens' Upload (Maybe Text)+uName = lens _uName (\ s a -> s{_uName = a});++-- | The upload's metadata. For example, for Android, this contains information that is parsed from the manifest and is displayed in the AWS Device Farm console after the associated app is uploaded.+uMetadata :: Lens' Upload (Maybe Text)+uMetadata = lens _uMetadata (\ s a -> s{_uMetadata = a});++-- | The upload's type. Must be one of the following values:     * ANDROID_APP: An Android upload.     * IOS_APP: An iOS upload.     * WEB_APP: A web appliction upload.     * EXTERNAL_DATA: An external data upload.     * APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.     * APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.     * APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload.     * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.     * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.     * APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload.     * CALABASH_TEST_PACKAGE: A Calabash test package upload.     * INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.     * UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload.     * UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.     * XCTEST_TEST_PACKAGE: An XCode test package upload.     * XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.+uType :: Lens' Upload (Maybe UploadType)+uType = lens _uType (\ s a -> s{_uType = a});++-- | A message about the upload's result.+uMessage :: Lens' Upload (Maybe Text)+uMessage = lens _uMessage (\ s a -> s{_uMessage = a});++-- | The upload's content type (for example, "application/octet-stream").+uContentType :: Lens' Upload (Maybe Text)+uContentType = lens _uContentType (\ s a -> s{_uContentType = a});++instance FromJSON Upload where+        parseJSON+          = withObject "Upload"+              (\ x ->+                 Upload' <$>+                   (x .:? "status") <*> (x .:? "arn") <*>+                     (x .:? "created")+                     <*> (x .:? "url")+                     <*> (x .:? "name")+                     <*> (x .:? "metadata")+                     <*> (x .:? "type")+                     <*> (x .:? "message")+                     <*> (x .:? "contentType"))++instance Hashable Upload where++instance NFData Upload where
gen/Network/AWS/DeviceFarm/Types/Sum.hs view
@@ -9,22 +9,23 @@  -- | -- Module      : Network.AWS.DeviceFarm.Types.Sum--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.AWS.DeviceFarm.Types.Sum where -import           Network.AWS.Prelude+import Network.AWS.Prelude  data ArtifactCategory-    = ACFile-    | ACLog-    | ACScreenshot-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = ACFile+  | ACLog+  | ACScreenshot+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText ArtifactCategory where     parser = takeLowerText >>= \case         "file" -> pure ACFile@@ -49,33 +50,36 @@     toJSON = toJSONText  data ArtifactType-    = AppiumJavaOutput-    | AppiumJavaXMLOutput-    | AppiumPythonOutput-    | AppiumPythonXMLOutput-    | AppiumServerOutput-    | ApplicationCrashReport-    | AutomationOutput-    | CalabashJSONOutput-    | CalabashJavaXMLOutput-    | CalabashPrettyOutput-    | CalabashStandardOutput-    | DeviceLog-    | ExerciserMonkeyOutput-    | ExplorerEventLog-    | ExplorerSummaryLog-    | InstrumentationOutput-    | MessageLog-    | ResultLog-    | Screenshot-    | ServiceLog-    | Unknown-    | Video-    | VideoLog-    | WebkitLog-    | XctestLog-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = AppiumJavaOutput+  | AppiumJavaXMLOutput+  | AppiumPythonOutput+  | AppiumPythonXMLOutput+  | AppiumServerOutput+  | ApplicationCrashReport+  | AutomationOutput+  | CalabashJSONOutput+  | CalabashJavaXMLOutput+  | CalabashPrettyOutput+  | CalabashStandardOutput+  | CustomerArtifact+  | CustomerArtifactLog+  | DeviceLog+  | ExerciserMonkeyOutput+  | ExplorerEventLog+  | ExplorerSummaryLog+  | InstrumentationOutput+  | MessageLog+  | ResultLog+  | Screenshot+  | ServiceLog+  | Unknown+  | Video+  | VideoLog+  | WebkitLog+  | XctestLog+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText ArtifactType where     parser = takeLowerText >>= \case         "appium_java_output" -> pure AppiumJavaOutput@@ -89,6 +93,8 @@         "calabash_java_xml_output" -> pure CalabashJavaXMLOutput         "calabash_pretty_output" -> pure CalabashPrettyOutput         "calabash_standard_output" -> pure CalabashStandardOutput+        "customer_artifact" -> pure CustomerArtifact+        "customer_artifact_log" -> pure CustomerArtifactLog         "device_log" -> pure DeviceLog         "exerciser_monkey_output" -> pure ExerciserMonkeyOutput         "explorer_event_log" -> pure ExplorerEventLog@@ -104,7 +110,7 @@         "webkit_log" -> pure WebkitLog         "xctest_log" -> pure XctestLog         e -> fromTextError $ "Failure parsing ArtifactType from value: '" <> e-           <> "'. Accepted values: appium_java_output, appium_java_xml_output, appium_python_output, appium_python_xml_output, appium_server_output, application_crash_report, automation_output, calabash_json_output, calabash_java_xml_output, calabash_pretty_output, calabash_standard_output, device_log, exerciser_monkey_output, explorer_event_log, explorer_summary_log, instrumentation_output, message_log, result_log, screenshot, service_log, unknown, video, video_log, webkit_log, xctest_log"+           <> "'. Accepted values: appium_java_output, appium_java_xml_output, appium_python_output, appium_python_xml_output, appium_server_output, application_crash_report, automation_output, calabash_json_output, calabash_java_xml_output, calabash_pretty_output, calabash_standard_output, customer_artifact, customer_artifact_log, device_log, exerciser_monkey_output, explorer_event_log, explorer_summary_log, instrumentation_output, message_log, result_log, screenshot, service_log, unknown, video, video_log, webkit_log, xctest_log"  instance ToText ArtifactType where     toText = \case@@ -119,6 +125,8 @@         CalabashJavaXMLOutput -> "CALABASH_JAVA_XML_OUTPUT"         CalabashPrettyOutput -> "CALABASH_PRETTY_OUTPUT"         CalabashStandardOutput -> "CALABASH_STANDARD_OUTPUT"+        CustomerArtifact -> "CUSTOMER_ARTIFACT"+        CustomerArtifactLog -> "CUSTOMER_ARTIFACT_LOG"         DeviceLog -> "DEVICE_LOG"         ExerciserMonkeyOutput -> "EXERCISER_MONKEY_OUTPUT"         ExplorerEventLog -> "EXPLORER_EVENT_LOG"@@ -144,10 +152,11 @@     parseJSON = parseJSONText "ArtifactType"  data BillingMethod-    = Metered-    | Unmetered-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Metered+  | Unmetered+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText BillingMethod where     parser = takeLowerText >>= \case         "metered" -> pure Metered@@ -173,9 +182,10 @@     parseJSON = parseJSONText "BillingMethod"  data CurrencyCode =-    Usd-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  Usd+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText CurrencyCode where     parser = takeLowerText >>= \case         "usd" -> pure Usd@@ -196,30 +206,37 @@     parseJSON = parseJSONText "CurrencyCode"  data DeviceAttribute-    = ARN-    | FormFactor-    | Manufacturer-    | Platform-    | RemoteAccessEnabled-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = ARN+  | AppiumVersion+  | FormFactor+  | Manufacturer+  | Platform+  | RemoteAccessEnabled+  | RemoteDebugEnabled+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText DeviceAttribute where     parser = takeLowerText >>= \case         "arn" -> pure ARN+        "appium_version" -> pure AppiumVersion         "form_factor" -> pure FormFactor         "manufacturer" -> pure Manufacturer         "platform" -> pure Platform         "remote_access_enabled" -> pure RemoteAccessEnabled+        "remote_debug_enabled" -> pure RemoteDebugEnabled         e -> fromTextError $ "Failure parsing DeviceAttribute from value: '" <> e-           <> "'. Accepted values: arn, form_factor, manufacturer, platform, remote_access_enabled"+           <> "'. Accepted values: arn, appium_version, form_factor, manufacturer, platform, remote_access_enabled, remote_debug_enabled"  instance ToText DeviceAttribute where     toText = \case         ARN -> "ARN"+        AppiumVersion -> "APPIUM_VERSION"         FormFactor -> "FORM_FACTOR"         Manufacturer -> "MANUFACTURER"         Platform -> "PLATFORM"         RemoteAccessEnabled -> "REMOTE_ACCESS_ENABLED"+        RemoteDebugEnabled -> "REMOTE_DEBUG_ENABLED"  instance Hashable     DeviceAttribute instance NFData       DeviceAttribute@@ -234,10 +251,11 @@     parseJSON = parseJSONText "DeviceAttribute"  data DeviceFormFactor-    = Phone-    | Tablet-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Phone+  | Tablet+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText DeviceFormFactor where     parser = takeLowerText >>= \case         "phone" -> pure Phone@@ -260,10 +278,11 @@     parseJSON = parseJSONText "DeviceFormFactor"  data DevicePlatform-    = Android-    | Ios-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Android+  | Ios+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText DevicePlatform where     parser = takeLowerText >>= \case         "android" -> pure Android@@ -286,21 +305,22 @@     parseJSON = parseJSONText "DevicePlatform"  data DevicePoolType-    = Curated-    | Private-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = DPTCurated+  | DPTPrivate+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText DevicePoolType where     parser = takeLowerText >>= \case-        "curated" -> pure Curated-        "private" -> pure Private+        "curated" -> pure DPTCurated+        "private" -> pure DPTPrivate         e -> fromTextError $ "Failure parsing DevicePoolType from value: '" <> e            <> "'. Accepted values: curated, private"  instance ToText DevicePoolType where     toText = \case-        Curated -> "CURATED"-        Private -> "PRIVATE"+        DPTCurated -> "CURATED"+        DPTPrivate -> "PRIVATE"  instance Hashable     DevicePoolType instance NFData       DevicePoolType@@ -315,15 +335,16 @@     parseJSON = parseJSONText "DevicePoolType"  data ExecutionResult-    = ERErrored-    | ERFailed-    | ERPassed-    | ERPending-    | ERSkipped-    | ERStopped-    | ERWarned-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = ERErrored+  | ERFailed+  | ERPassed+  | ERPending+  | ERSkipped+  | ERStopped+  | ERWarned+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText ExecutionResult where     parser = takeLowerText >>= \case         "errored" -> pure ERErrored@@ -355,18 +376,43 @@ instance FromJSON ExecutionResult where     parseJSON = parseJSONText "ExecutionResult" +data ExecutionResultCode =+  ParsingFailed+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText ExecutionResultCode where+    parser = takeLowerText >>= \case+        "parsing_failed" -> pure ParsingFailed+        e -> fromTextError $ "Failure parsing ExecutionResultCode from value: '" <> e+           <> "'. Accepted values: parsing_failed"++instance ToText ExecutionResultCode where+    toText = \case+        ParsingFailed -> "PARSING_FAILED"++instance Hashable     ExecutionResultCode+instance NFData       ExecutionResultCode+instance ToByteString ExecutionResultCode+instance ToQuery      ExecutionResultCode+instance ToHeader     ExecutionResultCode++instance FromJSON ExecutionResultCode where+    parseJSON = parseJSONText "ExecutionResultCode"+ data ExecutionStatus-    = Completed-    | Pending-    | PendingConcurrency-    | PendingDevice-    | Preparing-    | Processing-    | Running-    | Scheduling-    | Stopping-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Completed+  | Pending+  | PendingConcurrency+  | PendingDevice+  | Preparing+  | Processing+  | Running+  | Scheduling+  | Stopping+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText ExecutionStatus where     parser = takeLowerText >>= \case         "completed" -> pure Completed@@ -402,12 +448,43 @@ instance FromJSON ExecutionStatus where     parseJSON = parseJSONText "ExecutionStatus" +data NetworkProfileType+  = Curated+  | Private+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText NetworkProfileType where+    parser = takeLowerText >>= \case+        "curated" -> pure Curated+        "private" -> pure Private+        e -> fromTextError $ "Failure parsing NetworkProfileType from value: '" <> e+           <> "'. Accepted values: curated, private"++instance ToText NetworkProfileType where+    toText = \case+        Curated -> "CURATED"+        Private -> "PRIVATE"++instance Hashable     NetworkProfileType+instance NFData       NetworkProfileType+instance ToByteString NetworkProfileType+instance ToQuery      NetworkProfileType+instance ToHeader     NetworkProfileType++instance ToJSON NetworkProfileType where+    toJSON = toJSONText++instance FromJSON NetworkProfileType where+    parseJSON = parseJSONText "NetworkProfileType"+ data OfferingTransactionType-    = Purchase-    | Renew-    | System-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Purchase+  | Renew+  | System+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText OfferingTransactionType where     parser = takeLowerText >>= \case         "purchase" -> pure Purchase@@ -432,9 +509,10 @@     parseJSON = parseJSONText "OfferingTransactionType"  data OfferingType =-    Recurring-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  Recurring+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText OfferingType where     parser = takeLowerText >>= \case         "recurring" -> pure Recurring@@ -455,9 +533,10 @@     parseJSON = parseJSONText "OfferingType"  data RecurringChargeFrequency =-    Monthly-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  Monthly+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText RecurringChargeFrequency where     parser = takeLowerText >>= \case         "monthly" -> pure Monthly@@ -478,25 +557,29 @@     parseJSON = parseJSONText "RecurringChargeFrequency"  data RuleOperator-    = Equals-    | GreaterThan-    | IN-    | LessThan-    | NotIn-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Contains+  | Equals+  | GreaterThan+  | IN+  | LessThan+  | NotIn+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText RuleOperator where     parser = takeLowerText >>= \case+        "contains" -> pure Contains         "equals" -> pure Equals         "greater_than" -> pure GreaterThan         "in" -> pure IN         "less_than" -> pure LessThan         "not_in" -> pure NotIn         e -> fromTextError $ "Failure parsing RuleOperator from value: '" <> e-           <> "'. Accepted values: equals, greater_than, in, less_than, not_in"+           <> "'. Accepted values: contains, equals, greater_than, in, less_than, not_in"  instance ToText RuleOperator where     toText = \case+        Contains -> "CONTAINS"         Equals -> "EQUALS"         GreaterThan -> "GREATER_THAN"         IN -> "IN"@@ -516,25 +599,26 @@     parseJSON = parseJSONText "RuleOperator"  data SampleType-    = CPU-    | Memory-    | NativeAvgDrawtime-    | NativeFps-    | NativeFrames-    | NativeMaxDrawtime-    | NativeMinDrawtime-    | OpenglAvgDrawtime-    | OpenglFps-    | OpenglFrames-    | OpenglMaxDrawtime-    | OpenglMinDrawtime-    | RX-    | RxRate-    | TX-    | Threads-    | TxRate-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = CPU+  | Memory+  | NativeAvgDrawtime+  | NativeFps+  | NativeFrames+  | NativeMaxDrawtime+  | NativeMinDrawtime+  | OpenglAvgDrawtime+  | OpenglFps+  | OpenglFrames+  | OpenglMaxDrawtime+  | OpenglMinDrawtime+  | RX+  | RxRate+  | TX+  | Threads+  | TxRate+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText SampleType where     parser = takeLowerText >>= \case         "cpu" -> pure CPU@@ -587,22 +671,23 @@     parseJSON = parseJSONText "SampleType"  data TestType-    = AppiumJavaJunit-    | AppiumJavaTestng-    | AppiumPython-    | AppiumWebJavaJunit-    | AppiumWebJavaTestng-    | AppiumWebPython-    | BuiltinExplorer-    | BuiltinFuzz-    | Calabash-    | Instrumentation-    | Uiautomation-    | Uiautomator-    | Xctest-    | XctestUi-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = AppiumJavaJunit+  | AppiumJavaTestng+  | AppiumPython+  | AppiumWebJavaJunit+  | AppiumWebJavaTestng+  | AppiumWebPython+  | BuiltinExplorer+  | BuiltinFuzz+  | Calabash+  | Instrumentation+  | Uiautomation+  | Uiautomator+  | Xctest+  | XctestUi+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText TestType where     parser = takeLowerText >>= \case         "appium_java_junit" -> pure AppiumJavaJunit@@ -652,12 +737,13 @@     parseJSON = parseJSONText "TestType"  data UploadStatus-    = USFailed-    | USInitialized-    | USProcessing-    | USSucceeded-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = USFailed+  | USInitialized+  | USProcessing+  | USSucceeded+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText UploadStatus where     parser = takeLowerText >>= \case         "failed" -> pure USFailed@@ -684,23 +770,24 @@     parseJSON = parseJSONText "UploadStatus"  data UploadType-    = AndroidApp-    | AppiumJavaJunitTestPackage-    | AppiumJavaTestngTestPackage-    | AppiumPythonTestPackage-    | AppiumWebJavaJunitTestPackage-    | AppiumWebJavaTestngTestPackage-    | AppiumWebPythonTestPackage-    | CalabashTestPackage-    | ExternalData-    | InstrumentationTestPackage-    | IosApp-    | UiautomationTestPackage-    | UiautomatorTestPackage-    | WebApp-    | XctestTestPackage-    | XctestUiTestPackage-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = AndroidApp+  | AppiumJavaJunitTestPackage+  | AppiumJavaTestngTestPackage+  | AppiumPythonTestPackage+  | AppiumWebJavaJunitTestPackage+  | AppiumWebJavaTestngTestPackage+  | AppiumWebPythonTestPackage+  | CalabashTestPackage+  | ExternalData+  | InstrumentationTestPackage+  | IosApp+  | UiautomationTestPackage+  | UiautomatorTestPackage+  | WebApp+  | XctestTestPackage+  | XctestUiTestPackage+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+  instance FromText UploadType where     parser = takeLowerText >>= \case
gen/Network/AWS/DeviceFarm/UpdateDevicePool.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.UpdateDevicePool--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -40,12 +40,12 @@     , udprsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the update device pool operation. --@@ -53,12 +53,13 @@ -- -- /See:/ 'updateDevicePool' smart constructor. data UpdateDevicePool = UpdateDevicePool'-    { _udpRules       :: !(Maybe [Rule])-    , _udpName        :: !(Maybe Text)-    , _udpDescription :: !(Maybe Text)-    , _udpArn         :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _udpRules       :: !(Maybe [Rule])+  , _udpName        :: !(Maybe Text)+  , _udpDescription :: !(Maybe Text)+  , _udpArn         :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'UpdateDevicePool' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -74,13 +75,14 @@     :: Text -- ^ 'udpArn'     -> UpdateDevicePool updateDevicePool pArn_ =-    UpdateDevicePool'-    { _udpRules = Nothing-    , _udpName = Nothing-    , _udpDescription = Nothing-    , _udpArn = pArn_-    }+  UpdateDevicePool'+  { _udpRules = Nothing+  , _udpName = Nothing+  , _udpDescription = Nothing+  , _udpArn = pArn_+  } + -- | Represents the rules you wish to modify for the device pool. Updating rules is optional; however, if you choose to update rules for your request, the update will replace the existing rules. udpRules :: Lens' UpdateDevicePool [Rule] udpRules = lens _udpRules (\ s a -> s{_udpRules = a}) . _Default . _Coerce;@@ -106,9 +108,9 @@                  UpdateDevicePoolResponse' <$>                    (x .?> "devicePool") <*> (pure (fromEnum s))) -instance Hashable UpdateDevicePool+instance Hashable UpdateDevicePool where -instance NFData UpdateDevicePool+instance NFData UpdateDevicePool where  instance ToHeaders UpdateDevicePool where         toHeaders@@ -141,27 +143,27 @@ -- -- /See:/ 'updateDevicePoolResponse' smart constructor. data UpdateDevicePoolResponse = UpdateDevicePoolResponse'-    { _udprsDevicePool     :: !(Maybe DevicePool)-    , _udprsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _udprsDevicePool     :: !(Maybe DevicePool)+  , _udprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'UpdateDevicePoolResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'udprsDevicePool' - Undocumented member.+-- * 'udprsDevicePool' - The device pool you just updated. -- -- * 'udprsResponseStatus' - -- | The response status code. updateDevicePoolResponse     :: Int -- ^ 'udprsResponseStatus'     -> UpdateDevicePoolResponse updateDevicePoolResponse pResponseStatus_ =-    UpdateDevicePoolResponse'-    { _udprsDevicePool = Nothing-    , _udprsResponseStatus = pResponseStatus_-    }+  UpdateDevicePoolResponse'+  {_udprsDevicePool = Nothing, _udprsResponseStatus = pResponseStatus_} --- | Undocumented member.++-- | The device pool you just updated. udprsDevicePool :: Lens' UpdateDevicePoolResponse (Maybe DevicePool) udprsDevicePool = lens _udprsDevicePool (\ s a -> s{_udprsDevicePool = a}); @@ -169,4 +171,4 @@ udprsResponseStatus :: Lens' UpdateDevicePoolResponse Int udprsResponseStatus = lens _udprsResponseStatus (\ s a -> s{_udprsResponseStatus = a}); -instance NFData UpdateDevicePoolResponse+instance NFData UpdateDevicePoolResponse where
+ gen/Network/AWS/DeviceFarm/UpdateNetworkProfile.hs view
@@ -0,0 +1,250 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.DeviceFarm.UpdateNetworkProfile+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the network profile with specific settings.+--+--+module Network.AWS.DeviceFarm.UpdateNetworkProfile+    (+    -- * Creating a Request+      updateNetworkProfile+    , UpdateNetworkProfile+    -- * Request Lenses+    , unpUplinkJitterMs+    , unpUplinkLossPercent+    , unpDownlinkJitterMs+    , unpName+    , unpDownlinkLossPercent+    , unpType+    , unpUplinkDelayMs+    , unpUplinkBandwidthBits+    , unpDescription+    , unpDownlinkDelayMs+    , unpDownlinkBandwidthBits+    , unpArn++    -- * Destructuring the Response+    , updateNetworkProfileResponse+    , UpdateNetworkProfileResponse+    -- * Response Lenses+    , unprsNetworkProfile+    , unprsResponseStatus+    ) where++import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateNetworkProfile' smart constructor.+data UpdateNetworkProfile = UpdateNetworkProfile'+  { _unpUplinkJitterMs        :: !(Maybe Integer)+  , _unpUplinkLossPercent     :: !(Maybe Nat)+  , _unpDownlinkJitterMs      :: !(Maybe Integer)+  , _unpName                  :: !(Maybe Text)+  , _unpDownlinkLossPercent   :: !(Maybe Nat)+  , _unpType                  :: !(Maybe NetworkProfileType)+  , _unpUplinkDelayMs         :: !(Maybe Integer)+  , _unpUplinkBandwidthBits   :: !(Maybe Integer)+  , _unpDescription           :: !(Maybe Text)+  , _unpDownlinkDelayMs       :: !(Maybe Integer)+  , _unpDownlinkBandwidthBits :: !(Maybe Integer)+  , _unpArn                   :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateNetworkProfile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'unpUplinkJitterMs' - Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.+--+-- * 'unpUplinkLossPercent' - Proportion of transmitted packets that fail to arrive from 0 to 100 percent.+--+-- * 'unpDownlinkJitterMs' - Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.+--+-- * 'unpName' - The name of the network profile about which you are returning information.+--+-- * 'unpDownlinkLossPercent' - Proportion of received packets that fail to arrive from 0 to 100 percent.+--+-- * 'unpType' - The type of network profile you wish to return information about. Valid values are listed below.+--+-- * 'unpUplinkDelayMs' - Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.+--+-- * 'unpUplinkBandwidthBits' - The data throughput rate in bits per second, as an integer from 0 to 104857600.+--+-- * 'unpDescription' - The descriptoin of the network profile about which you are returning information.+--+-- * 'unpDownlinkDelayMs' - Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.+--+-- * 'unpDownlinkBandwidthBits' - The data throughput rate in bits per second, as an integer from 0 to 104857600.+--+-- * 'unpArn' - The Amazon Resource Name (ARN) of the project that you wish to update network profile settings.+updateNetworkProfile+    :: Text -- ^ 'unpArn'+    -> UpdateNetworkProfile+updateNetworkProfile pArn_ =+  UpdateNetworkProfile'+  { _unpUplinkJitterMs = Nothing+  , _unpUplinkLossPercent = Nothing+  , _unpDownlinkJitterMs = Nothing+  , _unpName = Nothing+  , _unpDownlinkLossPercent = Nothing+  , _unpType = Nothing+  , _unpUplinkDelayMs = Nothing+  , _unpUplinkBandwidthBits = Nothing+  , _unpDescription = Nothing+  , _unpDownlinkDelayMs = Nothing+  , _unpDownlinkBandwidthBits = Nothing+  , _unpArn = pArn_+  }+++-- | Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.+unpUplinkJitterMs :: Lens' UpdateNetworkProfile (Maybe Integer)+unpUplinkJitterMs = lens _unpUplinkJitterMs (\ s a -> s{_unpUplinkJitterMs = a});++-- | Proportion of transmitted packets that fail to arrive from 0 to 100 percent.+unpUplinkLossPercent :: Lens' UpdateNetworkProfile (Maybe Natural)+unpUplinkLossPercent = lens _unpUplinkLossPercent (\ s a -> s{_unpUplinkLossPercent = a}) . mapping _Nat;++-- | Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.+unpDownlinkJitterMs :: Lens' UpdateNetworkProfile (Maybe Integer)+unpDownlinkJitterMs = lens _unpDownlinkJitterMs (\ s a -> s{_unpDownlinkJitterMs = a});++-- | The name of the network profile about which you are returning information.+unpName :: Lens' UpdateNetworkProfile (Maybe Text)+unpName = lens _unpName (\ s a -> s{_unpName = a});++-- | Proportion of received packets that fail to arrive from 0 to 100 percent.+unpDownlinkLossPercent :: Lens' UpdateNetworkProfile (Maybe Natural)+unpDownlinkLossPercent = lens _unpDownlinkLossPercent (\ s a -> s{_unpDownlinkLossPercent = a}) . mapping _Nat;++-- | The type of network profile you wish to return information about. Valid values are listed below.+unpType :: Lens' UpdateNetworkProfile (Maybe NetworkProfileType)+unpType = lens _unpType (\ s a -> s{_unpType = a});++-- | Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.+unpUplinkDelayMs :: Lens' UpdateNetworkProfile (Maybe Integer)+unpUplinkDelayMs = lens _unpUplinkDelayMs (\ s a -> s{_unpUplinkDelayMs = a});++-- | The data throughput rate in bits per second, as an integer from 0 to 104857600.+unpUplinkBandwidthBits :: Lens' UpdateNetworkProfile (Maybe Integer)+unpUplinkBandwidthBits = lens _unpUplinkBandwidthBits (\ s a -> s{_unpUplinkBandwidthBits = a});++-- | The descriptoin of the network profile about which you are returning information.+unpDescription :: Lens' UpdateNetworkProfile (Maybe Text)+unpDescription = lens _unpDescription (\ s a -> s{_unpDescription = a});++-- | Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.+unpDownlinkDelayMs :: Lens' UpdateNetworkProfile (Maybe Integer)+unpDownlinkDelayMs = lens _unpDownlinkDelayMs (\ s a -> s{_unpDownlinkDelayMs = a});++-- | The data throughput rate in bits per second, as an integer from 0 to 104857600.+unpDownlinkBandwidthBits :: Lens' UpdateNetworkProfile (Maybe Integer)+unpDownlinkBandwidthBits = lens _unpDownlinkBandwidthBits (\ s a -> s{_unpDownlinkBandwidthBits = a});++-- | The Amazon Resource Name (ARN) of the project that you wish to update network profile settings.+unpArn :: Lens' UpdateNetworkProfile Text+unpArn = lens _unpArn (\ s a -> s{_unpArn = a});++instance AWSRequest UpdateNetworkProfile where+        type Rs UpdateNetworkProfile =+             UpdateNetworkProfileResponse+        request = postJSON deviceFarm+        response+          = receiveJSON+              (\ s h x ->+                 UpdateNetworkProfileResponse' <$>+                   (x .?> "networkProfile") <*> (pure (fromEnum s)))++instance Hashable UpdateNetworkProfile where++instance NFData UpdateNetworkProfile where++instance ToHeaders UpdateNetworkProfile where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("DeviceFarm_20150623.UpdateNetworkProfile" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateNetworkProfile where+        toJSON UpdateNetworkProfile'{..}+          = object+              (catMaybes+                 [("uplinkJitterMs" .=) <$> _unpUplinkJitterMs,+                  ("uplinkLossPercent" .=) <$> _unpUplinkLossPercent,+                  ("downlinkJitterMs" .=) <$> _unpDownlinkJitterMs,+                  ("name" .=) <$> _unpName,+                  ("downlinkLossPercent" .=) <$>+                    _unpDownlinkLossPercent,+                  ("type" .=) <$> _unpType,+                  ("uplinkDelayMs" .=) <$> _unpUplinkDelayMs,+                  ("uplinkBandwidthBits" .=) <$>+                    _unpUplinkBandwidthBits,+                  ("description" .=) <$> _unpDescription,+                  ("downlinkDelayMs" .=) <$> _unpDownlinkDelayMs,+                  ("downlinkBandwidthBits" .=) <$>+                    _unpDownlinkBandwidthBits,+                  Just ("arn" .= _unpArn)])++instance ToPath UpdateNetworkProfile where+        toPath = const "/"++instance ToQuery UpdateNetworkProfile where+        toQuery = const mempty++-- | /See:/ 'updateNetworkProfileResponse' smart constructor.+data UpdateNetworkProfileResponse = UpdateNetworkProfileResponse'+  { _unprsNetworkProfile :: !(Maybe NetworkProfile)+  , _unprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateNetworkProfileResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'unprsNetworkProfile' - A list of the available network profiles.+--+-- * 'unprsResponseStatus' - -- | The response status code.+updateNetworkProfileResponse+    :: Int -- ^ 'unprsResponseStatus'+    -> UpdateNetworkProfileResponse+updateNetworkProfileResponse pResponseStatus_ =+  UpdateNetworkProfileResponse'+  {_unprsNetworkProfile = Nothing, _unprsResponseStatus = pResponseStatus_}+++-- | A list of the available network profiles.+unprsNetworkProfile :: Lens' UpdateNetworkProfileResponse (Maybe NetworkProfile)+unprsNetworkProfile = lens _unprsNetworkProfile (\ s a -> s{_unprsNetworkProfile = a});++-- | -- | The response status code.+unprsResponseStatus :: Lens' UpdateNetworkProfileResponse Int+unprsResponseStatus = lens _unprsResponseStatus (\ s a -> s{_unprsResponseStatus = a});++instance NFData UpdateNetworkProfileResponse where
gen/Network/AWS/DeviceFarm/UpdateProject.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.DeviceFarm.UpdateProject--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -28,6 +28,7 @@     , UpdateProject     -- * Request Lenses     , upName+    , upDefaultJobTimeoutMinutes     , upArn      -- * Destructuring the Response@@ -38,12 +39,12 @@     , uprsResponseStatus     ) where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.DeviceFarm.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.DeviceFarm.Types+import Network.AWS.DeviceFarm.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | Represents a request to the update project operation. --@@ -51,30 +52,37 @@ -- -- /See:/ 'updateProject' smart constructor. data UpdateProject = UpdateProject'-    { _upName :: !(Maybe Text)-    , _upArn  :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _upName                     :: !(Maybe Text)+  , _upDefaultJobTimeoutMinutes :: !(Maybe Int)+  , _upArn                      :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'UpdateProject' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'upName' - A string representing the new name of the project that you are updating. --+-- * 'upDefaultJobTimeoutMinutes' - The number of minutes a test run in the project will execute before it times out.+-- -- * 'upArn' - The Amazon Resource Name (ARN) of the project whose name you wish to update. updateProject     :: Text -- ^ 'upArn'     -> UpdateProject updateProject pArn_ =-    UpdateProject'-    { _upName = Nothing-    , _upArn = pArn_-    }+  UpdateProject'+  {_upName = Nothing, _upDefaultJobTimeoutMinutes = Nothing, _upArn = pArn_} + -- | A string representing the new name of the project that you are updating. upName :: Lens' UpdateProject (Maybe Text) upName = lens _upName (\ s a -> s{_upName = a}); +-- | The number of minutes a test run in the project will execute before it times out.+upDefaultJobTimeoutMinutes :: Lens' UpdateProject (Maybe Int)+upDefaultJobTimeoutMinutes = lens _upDefaultJobTimeoutMinutes (\ s a -> s{_upDefaultJobTimeoutMinutes = a});+ -- | The Amazon Resource Name (ARN) of the project whose name you wish to update. upArn :: Lens' UpdateProject Text upArn = lens _upArn (\ s a -> s{_upArn = a});@@ -88,9 +96,9 @@                  UpdateProjectResponse' <$>                    (x .?> "project") <*> (pure (fromEnum s))) -instance Hashable UpdateProject+instance Hashable UpdateProject where -instance NFData UpdateProject+instance NFData UpdateProject where  instance ToHeaders UpdateProject where         toHeaders@@ -105,7 +113,10 @@         toJSON UpdateProject'{..}           = object               (catMaybes-                 [("name" .=) <$> _upName, Just ("arn" .= _upArn)])+                 [("name" .=) <$> _upName,+                  ("defaultJobTimeoutMinutes" .=) <$>+                    _upDefaultJobTimeoutMinutes,+                  Just ("arn" .= _upArn)])  instance ToPath UpdateProject where         toPath = const "/"@@ -119,27 +130,27 @@ -- -- /See:/ 'updateProjectResponse' smart constructor. data UpdateProjectResponse = UpdateProjectResponse'-    { _uprsProject        :: !(Maybe Project)-    , _uprsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _uprsProject        :: !(Maybe Project)+  , _uprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'UpdateProjectResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'uprsProject' - Undocumented member.+-- * 'uprsProject' - The project you wish to update. -- -- * 'uprsResponseStatus' - -- | The response status code. updateProjectResponse     :: Int -- ^ 'uprsResponseStatus'     -> UpdateProjectResponse updateProjectResponse pResponseStatus_ =-    UpdateProjectResponse'-    { _uprsProject = Nothing-    , _uprsResponseStatus = pResponseStatus_-    }+  UpdateProjectResponse'+  {_uprsProject = Nothing, _uprsResponseStatus = pResponseStatus_} --- | Undocumented member.++-- | The project you wish to update. uprsProject :: Lens' UpdateProjectResponse (Maybe Project) uprsProject = lens _uprsProject (\ s a -> s{_uprsProject = a}); @@ -147,4 +158,4 @@ uprsResponseStatus :: Lens' UpdateProjectResponse Int uprsResponseStatus = lens _uprsResponseStatus (\ s a -> s{_uprsResponseStatus = a}); -instance NFData UpdateProjectResponse+instance NFData UpdateProjectResponse where
gen/Network/AWS/DeviceFarm/Waiters.hs view
@@ -7,15 +7,15 @@  -- | -- Module      : Network.AWS.DeviceFarm.Waiters--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.AWS.DeviceFarm.Waiters where -import           Network.AWS.DeviceFarm.Types-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Waiter+import Network.AWS.DeviceFarm.Types+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Waiter
test/Main.hs view
@@ -2,9 +2,9 @@  -- | -- Module      : Main--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --
test/Test/AWS/Gen/DeviceFarm.hs view
@@ -5,20 +5,20 @@  -- | -- Module      : Test.AWS.Gen.DeviceFarm--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- module Test.AWS.Gen.DeviceFarm where  import Data.Proxy+import Network.AWS.DeviceFarm+import Test.AWS.DeviceFarm.Internal import Test.AWS.Fixture import Test.AWS.Prelude import Test.Tasty-import Network.AWS.DeviceFarm-import Test.AWS.DeviceFarm.Internal  -- Auto-generated: the actual test selection needs to be manually placed into -- the top-level so that real test data can be incrementally added.@@ -37,6 +37,12 @@ --         , requestUpdateProject $ --             updateProject --+--         , requestUpdateNetworkProfile $+--             updateNetworkProfile+--+--         , requestDeleteNetworkProfile $+--             deleteNetworkProfile+-- --         , requestGetDevicePoolCompatibility $ --             getDevicePoolCompatibility --@@ -88,6 +94,9 @@ --         , requestGetTest $ --             getTest --+--         , requestGetNetworkProfile $+--             getNetworkProfile+-- --         , requestRenewOffering $ --             renewOffering --@@ -100,9 +109,15 @@ --         , requestStopRemoteAccessSession $ --             stopRemoteAccessSession --+--         , requestCreateNetworkProfile $+--             createNetworkProfile+-- --         , requestGetJob $ --             getJob --+--         , requestListNetworkProfiles $+--             listNetworkProfiles+-- --         , requestScheduleRun $ --             scheduleRun --@@ -124,6 +139,9 @@ --         , requestCreateRemoteAccessSession $ --             createRemoteAccessSession --+--         , requestListOfferingPromotions $+--             listOfferingPromotions+-- --         , requestGetOfferingStatus $ --             getOfferingStatus --@@ -169,6 +187,12 @@ --         , responseUpdateProject $ --             updateProjectResponse --+--         , responseUpdateNetworkProfile $+--             updateNetworkProfileResponse+--+--         , responseDeleteNetworkProfile $+--             deleteNetworkProfileResponse+-- --         , responseGetDevicePoolCompatibility $ --             getDevicePoolCompatibilityResponse --@@ -220,6 +244,9 @@ --         , responseGetTest $ --             getTestResponse --+--         , responseGetNetworkProfile $+--             getNetworkProfileResponse+-- --         , responseRenewOffering $ --             renewOfferingResponse --@@ -232,9 +259,15 @@ --         , responseStopRemoteAccessSession $ --             stopRemoteAccessSessionResponse --+--         , responseCreateNetworkProfile $+--             createNetworkProfileResponse+-- --         , responseGetJob $ --             getJobResponse --+--         , responseListNetworkProfiles $+--             listNetworkProfilesResponse+-- --         , responseScheduleRun $ --             scheduleRunResponse --@@ -256,6 +289,9 @@ --         , responseCreateRemoteAccessSession $ --             createRemoteAccessSessionResponse --+--         , responseListOfferingPromotions $+--             listOfferingPromotionsResponse+-- --         , responseGetOfferingStatus $ --             getOfferingStatusResponse --@@ -309,6 +345,16 @@     "UpdateProject"     "fixture/UpdateProject.yaml" +requestUpdateNetworkProfile :: UpdateNetworkProfile -> TestTree+requestUpdateNetworkProfile = req+    "UpdateNetworkProfile"+    "fixture/UpdateNetworkProfile.yaml"++requestDeleteNetworkProfile :: DeleteNetworkProfile -> TestTree+requestDeleteNetworkProfile = req+    "DeleteNetworkProfile"+    "fixture/DeleteNetworkProfile.yaml"+ requestGetDevicePoolCompatibility :: GetDevicePoolCompatibility -> TestTree requestGetDevicePoolCompatibility = req     "GetDevicePoolCompatibility"@@ -394,6 +440,11 @@     "GetTest"     "fixture/GetTest.yaml" +requestGetNetworkProfile :: GetNetworkProfile -> TestTree+requestGetNetworkProfile = req+    "GetNetworkProfile"+    "fixture/GetNetworkProfile.yaml"+ requestRenewOffering :: RenewOffering -> TestTree requestRenewOffering = req     "RenewOffering"@@ -414,11 +465,21 @@     "StopRemoteAccessSession"     "fixture/StopRemoteAccessSession.yaml" +requestCreateNetworkProfile :: CreateNetworkProfile -> TestTree+requestCreateNetworkProfile = req+    "CreateNetworkProfile"+    "fixture/CreateNetworkProfile.yaml"+ requestGetJob :: GetJob -> TestTree requestGetJob = req     "GetJob"     "fixture/GetJob.yaml" +requestListNetworkProfiles :: ListNetworkProfiles -> TestTree+requestListNetworkProfiles = req+    "ListNetworkProfiles"+    "fixture/ListNetworkProfiles.yaml"+ requestScheduleRun :: ScheduleRun -> TestTree requestScheduleRun = req     "ScheduleRun"@@ -454,6 +515,11 @@     "CreateRemoteAccessSession"     "fixture/CreateRemoteAccessSession.yaml" +requestListOfferingPromotions :: ListOfferingPromotions -> TestTree+requestListOfferingPromotions = req+    "ListOfferingPromotions"+    "fixture/ListOfferingPromotions.yaml"+ requestGetOfferingStatus :: GetOfferingStatus -> TestTree requestGetOfferingStatus = req     "GetOfferingStatus"@@ -532,6 +598,20 @@     deviceFarm     (Proxy :: Proxy UpdateProject) +responseUpdateNetworkProfile :: UpdateNetworkProfileResponse -> TestTree+responseUpdateNetworkProfile = res+    "UpdateNetworkProfileResponse"+    "fixture/UpdateNetworkProfileResponse.proto"+    deviceFarm+    (Proxy :: Proxy UpdateNetworkProfile)++responseDeleteNetworkProfile :: DeleteNetworkProfileResponse -> TestTree+responseDeleteNetworkProfile = res+    "DeleteNetworkProfileResponse"+    "fixture/DeleteNetworkProfileResponse.proto"+    deviceFarm+    (Proxy :: Proxy DeleteNetworkProfile)+ responseGetDevicePoolCompatibility :: GetDevicePoolCompatibilityResponse -> TestTree responseGetDevicePoolCompatibility = res     "GetDevicePoolCompatibilityResponse"@@ -651,6 +731,13 @@     deviceFarm     (Proxy :: Proxy GetTest) +responseGetNetworkProfile :: GetNetworkProfileResponse -> TestTree+responseGetNetworkProfile = res+    "GetNetworkProfileResponse"+    "fixture/GetNetworkProfileResponse.proto"+    deviceFarm+    (Proxy :: Proxy GetNetworkProfile)+ responseRenewOffering :: RenewOfferingResponse -> TestTree responseRenewOffering = res     "RenewOfferingResponse"@@ -679,6 +766,13 @@     deviceFarm     (Proxy :: Proxy StopRemoteAccessSession) +responseCreateNetworkProfile :: CreateNetworkProfileResponse -> TestTree+responseCreateNetworkProfile = res+    "CreateNetworkProfileResponse"+    "fixture/CreateNetworkProfileResponse.proto"+    deviceFarm+    (Proxy :: Proxy CreateNetworkProfile)+ responseGetJob :: GetJobResponse -> TestTree responseGetJob = res     "GetJobResponse"@@ -686,6 +780,13 @@     deviceFarm     (Proxy :: Proxy GetJob) +responseListNetworkProfiles :: ListNetworkProfilesResponse -> TestTree+responseListNetworkProfiles = res+    "ListNetworkProfilesResponse"+    "fixture/ListNetworkProfilesResponse.proto"+    deviceFarm+    (Proxy :: Proxy ListNetworkProfiles)+ responseScheduleRun :: ScheduleRunResponse -> TestTree responseScheduleRun = res     "ScheduleRunResponse"@@ -734,6 +835,13 @@     "fixture/CreateRemoteAccessSessionResponse.proto"     deviceFarm     (Proxy :: Proxy CreateRemoteAccessSession)++responseListOfferingPromotions :: ListOfferingPromotionsResponse -> TestTree+responseListOfferingPromotions = res+    "ListOfferingPromotionsResponse"+    "fixture/ListOfferingPromotionsResponse.proto"+    deviceFarm+    (Proxy :: Proxy ListOfferingPromotions)  responseGetOfferingStatus :: GetOfferingStatusResponse -> TestTree responseGetOfferingStatus = res